Blender
V3.3
|
#include <DNA_mesh_types.h>
Public Attributes | |
struct Mesh * | mesh_eval |
void * | eval_mutex |
void * | normals_mutex |
void * | render_mutex |
struct EditMeshData * | edit_data |
void * | batch_cache |
struct MLoopTri_Store | looptris |
struct BVHCache * | bvh_cache |
struct ShrinkwrapBoundaryData * | shrinkwrap_data |
CustomData_MeshMasks | cd_mask_extra |
struct SubdivCCG * | subdiv_ccg |
int | subdiv_ccg_tot_level |
char | deformed_only |
char | is_original |
char | wrapper_type |
char | wrapper_type_finalize |
struct SubsurfRuntimeData * | subsurf_runtime_data |
void * | _pad1 |
char | _pad2 [6] |
char | vert_normals_dirty |
char | poly_normals_dirty |
float(* | vert_normals )[3] |
float(* | poly_normals )[3] |
uint32_t * | subsurf_face_dot_tags |
Runtime data, not saved in files.
Definition at line 66 of file DNA_mesh_types.h.
void* Mesh_Runtime::_pad1 |
Definition at line 131 of file DNA_mesh_types.h.
char Mesh_Runtime::_pad2[6] |
Caches for lazily computed vertex and polygon normals. These are stored here rather than in CustomData because they can be calculated on a const mesh, and adding custom data layers on a const mesh is not thread-safe.
Definition at line 138 of file DNA_mesh_types.h.
void* Mesh_Runtime::batch_cache |
Data used to efficiently draw the mesh in the viewport, especially useful when the same mesh is used in many objects or instances. See draw_cache_impl_mesh.cc
.
Definition at line 89 of file DNA_mesh_types.h.
Referenced by BKE_mesh_batch_cache_dirty_tag(), BKE_mesh_batch_cache_free(), BKE_mesh_runtime_reset_on_copy(), DRW_mesh_batch_cache_dirty_tag(), DRW_mesh_batch_cache_free(), DRW_mesh_batch_cache_free_old(), mesh_batch_cache_clear(), mesh_batch_cache_get(), mesh_batch_cache_init(), and mesh_batch_cache_valid().
struct BVHCache* Mesh_Runtime::bvh_cache |
Cache for BVH trees generated for the mesh. Defined in 'BKE_bvhutil.c'
Definition at line 95 of file DNA_mesh_types.h.
Referenced by BKE_bvhtree_from_mesh_get(), BKE_mesh_runtime_reset_on_copy(), BKE_mesh_tag_coords_changed(), snap_object_data_editmesh_get(), snap_object_data_editmesh_treedata_get(), snap_object_data_mesh_get(), and snapEditMesh().
CustomData_MeshMasks Mesh_Runtime::cd_mask_extra |
Needed in case we need to lazily initialize the mesh.
Definition at line 101 of file DNA_mesh_types.h.
Referenced by BKE_mesh_wrapper_from_editmesh_with_coords().
char Mesh_Runtime::deformed_only |
Set by modifier stack if only deformed from original.
Definition at line 107 of file DNA_mesh_types.h.
Referenced by BKE_mesh_debug_info(), BKE_mesh_nomain_to_mesh(), BM_mesh_bm_to_me_for_eval(), brush_add(), brush_add_count_iter(), deformVerts(), mesh_calc_modifiers(), mesh_copy_data(), mesh_get_mapped_verts_coords(), MOD_deform_mesh_eval_get(), PE_mirror_x(), psys_calc_dmcache(), psys_map_index_on_dm(), psys_particle_dm_face_lookup(), psys_thread_context_init_distribute(), and remap_hair_emitter().
struct EditMeshData* Mesh_Runtime::edit_data |
Lazily initialized SoA data from the #edit_mesh field in Mesh.
Definition at line 83 of file DNA_mesh_types.h.
Referenced by BKE_editmesh_vert_coords_when_deformed(), BKE_mesh_ensure_normals_for_display(), BKE_mesh_foreach_mapped_edge(), BKE_mesh_foreach_mapped_face_center(), BKE_mesh_foreach_mapped_loop(), BKE_mesh_foreach_mapped_vert(), BKE_mesh_runtime_clear_edit_data(), BKE_mesh_runtime_ensure_edit_data(), BKE_mesh_runtime_reset_edit_data(), BKE_mesh_runtime_reset_on_copy(), BKE_mesh_wrapper_from_editmesh_with_coords(), BKE_mesh_wrapper_minmax(), BKE_mesh_wrapper_vert_coords_copy(), BKE_mesh_wrapper_vert_coords_copy_with_mat4(), deformVertsEM(), DRW_text_edit_mesh_measure_stats(), EDBM_unified_findnearest_from_raycast(), editbmesh_calc_modifiers(), gizmo_preselect_elem_test_select(), mesh_data_from_duplicator_object(), mesh_render_data_create(), and modwrap_dependsOnNormals().
void* Mesh_Runtime::eval_mutex |
Definition at line 73 of file DNA_mesh_types.h.
Referenced by BKE_bvhtree_from_mesh_get(), BKE_mesh_runtime_looptri_ensure(), BKE_mesh_wrapper_ensure_mdata(), BKE_mesh_wrapper_ensure_subdivision(), mesh_calc_modifiers(), mesh_runtime_free_mutexes(), mesh_runtime_init_mutexes(), snap_object_data_editmesh_treedata_get(), and snapEditMesh().
char Mesh_Runtime::is_original |
Copied from edit-mesh (hint, draw with edit-mesh data when true).
Modifiers that edit the mesh data in-place must set this to false (most eModifierTypeType_NonGeometrical modifiers). Otherwise the edit-mesh data will be used for drawing, missing changes from modifiers. See T79517.
Definition at line 115 of file DNA_mesh_types.h.
Referenced by BKE_mesh_debug_info(), BKE_mesh_wrapper_from_editmesh_with_coords(), DRW_mesh_batch_cache_create_requested(), mesh_copy_data(), mesh_render_data_create(), modifyMesh(), and uvprojectModifier_do().
struct MLoopTri_Store Mesh_Runtime::looptris |
Cache for derived triangulation of the mesh.
Definition at line 89 of file DNA_mesh_types.h.
Referenced by BKE_mesh_calc_loop_tangents(), BKE_mesh_remap_calc_loops_from_mesh(), BKE_mesh_runtime_looptri_ensure(), BKE_mesh_runtime_looptri_len(), BKE_mesh_runtime_looptri_recalc(), BKE_mesh_runtime_reset_on_copy(), BKE_mesh_tag_coords_changed(), cloth_from_mesh(), ED_draw_object_facemap(), imapaint_pick_uv(), lineart_build_edge_neighbor(), mesh_ensure_looptri_data(), proj_paint_state_mesh_eval_init(), and snap_object_data_mesh_get().
struct Mesh* Mesh_Runtime::mesh_eval |
Definition at line 72 of file DNA_mesh_types.h.
Referenced by BKE_mesh_eval_geometry(), BKE_mesh_runtime_clear_cache(), BKE_mesh_runtime_reset_on_copy(), BKE_mesh_wrapper_ensure_subdivision(), editbmesh_build_data(), mesh_build_data(), mesh_calc_modifiers(), and mesh_wrapper_ensure_subdivision().
void* Mesh_Runtime::normals_mutex |
Definition at line 77 of file DNA_mesh_types.h.
Referenced by BKE_mesh_poly_normals_ensure(), BKE_mesh_vertex_normals_ensure(), mesh_runtime_free_mutexes(), and mesh_runtime_init_mutexes().
float(* Mesh_Runtime::poly_normals)[3] |
Definition at line 142 of file DNA_mesh_types.h.
Referenced by BKE_mesh_assert_normals_dirty_or_calculated(), BKE_mesh_clear_derived_normals(), BKE_mesh_poly_normals_ensure(), BKE_mesh_poly_normals_for_write(), and BKE_mesh_runtime_reset_on_copy().
char Mesh_Runtime::poly_normals_dirty |
Definition at line 140 of file DNA_mesh_types.h.
Referenced by BKE_mesh_assert_normals_dirty_or_calculated(), BKE_mesh_clear_derived_normals(), BKE_mesh_normals_tag_dirty(), BKE_mesh_poly_normals_are_dirty(), BKE_mesh_poly_normals_clear_dirty(), and BKE_mesh_runtime_reset_on_copy().
void* Mesh_Runtime::render_mutex |
Needed to ensure some thread-safety during render data pre-processing.
Definition at line 80 of file DNA_mesh_types.h.
Referenced by DRW_mesh_batch_cache_create_requested(), DRW_mesh_batch_cache_get_surface_sculpt(), DRW_mesh_batch_cache_get_surface_shaded(), DRW_mesh_batch_cache_get_surface_vertpaint(), mesh_runtime_free_mutexes(), and mesh_runtime_init_mutexes().
struct ShrinkwrapBoundaryData* Mesh_Runtime::shrinkwrap_data |
Cache of non-manifold boundary data for Shrinkwrap Target Project.
Definition at line 98 of file DNA_mesh_types.h.
Referenced by BKE_mesh_runtime_reset_on_copy(), BKE_shrinkwrap_compute_boundary_data(), BKE_shrinkwrap_discard_boundary_data(), and BKE_shrinkwrap_init_tree().
struct SubdivCCG* Mesh_Runtime::subdiv_ccg |
Definition at line 103 of file DNA_mesh_types.h.
Referenced by BKE_mesh_runtime_clear_geometry(), BKE_mesh_runtime_reset_on_copy(), BKE_sculpt_object_pbvh_ensure(), DRW_mesh_batch_cache_create_requested(), drw_sculpt_generate_calls(), multires_mark_as_modified(), object_update_from_subsurf_ccg(), sculpt_update_object(), and stats_mesheval().
int Mesh_Runtime::subdiv_ccg_tot_level |
Definition at line 104 of file DNA_mesh_types.h.
Referenced by object_update_from_subsurf_ccg().
uint32_t* Mesh_Runtime::subsurf_face_dot_tags |
A BLI_bitmap containing tags for the center vertices of subdivided polygons, set by the subdivision surface modifier and used by drawing code instead of polygon center face dots.
Definition at line 148 of file DNA_mesh_types.h.
Referenced by BKE_mesh_foreach_mapped_subdiv_face_center(), BKE_mesh_runtime_clear_geometry(), BKE_mesh_runtime_reset_on_copy(), evaluate_vertex_and_apply_displacement_copy(), blender::draw::extract_edituv_fdots_iter_poly_mesh(), blender::draw::extract_fdots_iter_poly_mesh(), blender::draw::extract_fdots_pos_iter_poly_mesh(), blender::draw::extract_fdots_uv_iter_poly_mesh(), blender::draw::mesh_buffer_cache_create_requested(), mesh_copy_data(), mesh_foreachScreenFace(), subdiv_mesh_tag_center_vertex(), and subdiv_mesh_topology_info().
struct SubsurfRuntimeData* Mesh_Runtime::subsurf_runtime_data |
Settings for lazily evaluating the subdivision on the CPU if needed. These are set in the modifier when GPU subdivision can be performed, and owned by the by the modifier in the object.
Definition at line 130 of file DNA_mesh_types.h.
Referenced by BKE_subsurf_modifier_has_gpu_subdiv(), draw_subdiv_create_requested_buffers(), editbmesh_calc_modifier_final_normals(), mesh_calc_modifier_final_normals(), mesh_wrapper_ensure_subdivision(), stats_mesheval(), and subdiv_cache_mesh_wrapper_settings().
float(* Mesh_Runtime::vert_normals)[3] |
Definition at line 141 of file DNA_mesh_types.h.
Referenced by BKE_mesh_assert_normals_dirty_or_calculated(), BKE_mesh_clear_derived_normals(), BKE_mesh_runtime_reset_on_copy(), BKE_mesh_split_faces(), BKE_mesh_vertex_normals_ensure(), and BKE_mesh_vertex_normals_for_write().
char Mesh_Runtime::vert_normals_dirty |
Definition at line 139 of file DNA_mesh_types.h.
Referenced by BKE_mesh_assert_normals_dirty_or_calculated(), BKE_mesh_clear_derived_normals(), BKE_mesh_normals_tag_dirty(), BKE_mesh_runtime_reset_on_copy(), BKE_mesh_vertex_normals_are_dirty(), and BKE_mesh_vertex_normals_clear_dirty().
char Mesh_Runtime::wrapper_type |
eMeshWrapperType and others.
Definition at line 118 of file DNA_mesh_types.h.
Referenced by BKE_editmesh_vert_coords_when_deformed(), BKE_mesh_ensure_default_orig_index_customdata(), BKE_mesh_ensure_normals_for_display(), BKE_mesh_wrapper_edge_len(), BKE_mesh_wrapper_ensure_mdata(), BKE_mesh_wrapper_ensure_subdivision(), BKE_mesh_wrapper_from_editmesh_with_coords(), BKE_mesh_wrapper_loop_len(), BKE_mesh_wrapper_minmax(), BKE_mesh_wrapper_poly_len(), BKE_mesh_wrapper_vert_coords_copy(), BKE_mesh_wrapper_vert_coords_copy_with_mat4(), BKE_mesh_wrapper_vert_len(), BKE_modifier_modify_mesh(), deformVertsEM(), DRW_mesh_batch_cache_create_requested(), editbmesh_calc_modifier_final_normals_or_defer(), mesh_cd_edata_get_from_mesh(), mesh_cd_ldata_get_from_mesh(), mesh_cd_pdata_get_from_mesh(), mesh_cd_vdata_get_from_mesh(), mesh_data_from_duplicator_object(), mesh_for_snap(), mesh_new_from_mesh(), mesh_render_data_create(), mesh_wrapper_ensure_subdivision(), MOD_deform_mesh_eval_get(), modwrap_dependsOnNormals(), workbench_mesh_get_loop_custom_data(), and workbench_mesh_get_vert_custom_data().
char Mesh_Runtime::wrapper_type_finalize |
A type mask from wrapper_type, in case there are differences in finalizing logic between types.
Definition at line 123 of file DNA_mesh_types.h.
Referenced by BKE_mesh_wrapper_deferred_finalize_mdata(), and editbmesh_calc_modifier_final_normals_or_defer().