Blender
V3.3
|
#include "MEM_guardedalloc.h"
#include "DNA_listBase.h"
#include "DNA_scene_types.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BKE_customdata.h"
#include "BKE_mesh.h"
#include "bmesh.h"
Go to the source code of this file.
Macros | |
#define | MAP_VERT(ele) vtable_dst[BM_elem_index_get(ele)] |
#define | MAP_EDGE(ele) etable_dst[BM_elem_index_get(ele)] |
#define | MAP_LOOP(ele) ltable_dst[BM_elem_index_get(ele)] |
#define | MAP_FACE(ele) ftable_dst[BM_elem_index_get(ele)] |
#define | REMAP_VERT(ele) |
#define | REMAP_EDGE(ele) |
#define | REMAP_LOOP(ele) |
#define | REMAP_FACE(ele) |
Variables | |
const BMAllocTemplate | bm_mesh_allocsize_default = {512, 1024, 2048, 512} |
const BMAllocTemplate | bm_mesh_chunksize_default = {512, 1024, 2048, 512} |
BM mesh level functions.
Definition in file bmesh_mesh.cc.
#define MAP_EDGE | ( | ele | ) | etable_dst[BM_elem_index_get(ele)] |
#define MAP_FACE | ( | ele | ) | ftable_dst[BM_elem_index_get(ele)] |
#define MAP_LOOP | ( | ele | ) | ltable_dst[BM_elem_index_get(ele)] |
#define MAP_VERT | ( | ele | ) | vtable_dst[BM_elem_index_get(ele)] |
#define REMAP_EDGE | ( | ele | ) |
#define REMAP_FACE | ( | ele | ) |
#define REMAP_LOOP | ( | ele | ) |
#define REMAP_VERT | ( | ele | ) |
Definition at line 653 of file bmesh_mesh.cc.
References BLI_mempool_findelem(), bm, and BMesh::epool.
Referenced by BM_edge_at_index_find_or_table(), and ED_view3d_gizmo_mesh_preselect_get_active().
Definition at line 692 of file bmesh_mesh.cc.
References bm, BM_EDGE, BM_edge_at_index_find(), BMesh::elem_table_dirty, and BMesh::etable.
Referenced by EDBM_edge_find_nearest_ex(), EDBM_elem_from_index_any(), and edbm_select_id_bm_elem_get().
Definition at line 658 of file bmesh_mesh.cc.
References BLI_mempool_findelem(), bm, and BMesh::fpool.
Referenced by BM_face_at_index_find_or_table(), and ED_view3d_gizmo_mesh_preselect_get_active().
Definition at line 700 of file bmesh_mesh.cc.
References bm, BM_FACE, BM_face_at_index_find(), BMesh::elem_table_dirty, and BMesh::ftable.
Referenced by EDBM_elem_from_index_any(), EDBM_face_find_nearest_ex(), edbm_select_id_bm_elem_get(), and uv_shortest_path_pick_exec().
Definition at line 663 of file bmesh_mesh.cc.
References bm, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, BMFace::len, len, and BMLoop::next.
Referenced by uv_shortest_path_pick_exec().
|
static |
Definition at line 66 of file bmesh_mesh.cc.
References BLI_mempool_create(), BLI_MEMPOOL_NOP, bm, bm_mempool_init_ex(), BMesh::epool, BMesh::fpool, BMesh::lpool, and BMesh::vpool.
Referenced by BM_mesh_clear(), and BM_mesh_create().
|
static |
Definition at line 26 of file bmesh_mesh.cc.
References BLI_MEMPOOL_ALLOW_ITER, BLI_mempool_create(), BLI_MEMPOOL_NOP, bm_mesh_chunksize_default, BMAllocTemplate::totedge, BMAllocTemplate::totface, BMAllocTemplate::totloop, and BMAllocTemplate::totvert.
Referenced by bm_mempool_init(), and BM_mesh_toolflags_set().
Clear all data in bm
Definition at line 237 of file bmesh_mesh.cc.
References bm, bm_mempool_init(), bm_mesh_allocsize_default, BM_mesh_data_free(), CustomData_reset(), BMesh::edata, BMesh::ldata, BMesh::pdata, BMesh::toolflag_index, BMesh::totflags, BMesh::use_toolflags, and BMesh::vdata.
Referenced by bpy_bmesh_clear(), and EDBM_mesh_clear().
BMesh* BM_mesh_create | ( | const BMAllocTemplate * | allocsize, |
const struct BMeshCreateParams * | params | ||
) |
Definition at line 125 of file bmesh_mesh.cc.
References bm, bm_mempool_init(), CustomData_reset(), BMesh::edata, BMesh::ldata, MEM_callocN, params, BMesh::pdata, BMesh::toolflag_index, BMesh::totflags, BMesh::use_toolflags, and BMesh::vdata.
Referenced by bc_triangulate_mesh(), BKE_mesh_remesh_voxel_fix_poles(), BKE_mesh_to_bmesh_ex(), BM_mesh_copy(), BMD_mesh_bm_create(), bpy_bm_new(), build_skin(), blender::nodes::node_geo_mesh_primitive_ico_sphere_cc::create_ico_sphere_mesh(), ED_uvedit_add_simple_uvs(), edbm_separate_exec(), geometry_extract_apply(), get_bmesh_from_mesh(), blender::nodes::node_geo_edge_split_cc::mesh_edge_split(), mesh_separate_arrays(), mesh_separate_tagged(), paint_mask_slice_exec(), SCULPT_dynamic_topology_enable_ex(), sculpt_face_set_create_exec(), sculpt_face_set_delete_geometry(), sculpt_face_sets_init_flood_fill(), sculpt_face_sets_init_loop(), sculpt_gesture_apply_trim(), sculpt_gesture_trim_normals_update(), sculpt_undo_bmesh_enable(), tc_mesh_customdatacorrect_init_container_generic(), TEST(), and undomesh_to_editmesh().
Frees a BMesh structure.
Definition at line 146 of file bmesh_mesh.cc.
References BKE_lnor_spacearr_free(), BLI_freelistN(), BLI_mempool_destroy(), bm, BM_EDGES_OF_MESH, BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_LOOPS_OF_FACE, BM_mesh_elem_toolflags_clear(), BM_VERTS_OF_MESH, BMO_error_clear(), CustomData_bmesh_free_block(), CustomData_bmesh_has_free(), CustomData_free(), BMHeader::data, e, BMesh::edata, BMesh::epool, BMesh::etable, BMesh::fpool, BMesh::ftable, BMVert::head, BMLoop::head, BMFace::head, l, BMesh::ldata, BMesh::lnor_spacearr, BMesh::lpool, MEM_freeN, BMesh::pdata, CustomData::pool, BMesh::selected, CustomData::totlayer, v, BMesh::vdata, BMesh::vpool, and BMesh::vtable.
Referenced by BM_mesh_clear(), BM_mesh_free(), EDBM_redo_state_free(), EDBM_redo_state_restore(), and EDBM_redo_state_restore_and_free().
int BM_mesh_elem_count | ( | BMesh * | bm, |
char | htype | ||
) |
Return the amount of element of type 'type' in a given bmesh.
Definition at line 708 of file bmesh_mesh.cc.
References BLI_assert, bm, BM_ALL_NOLOOP, BM_EDGE, BM_FACE, BM_VERT, BMesh::totedge, BMesh::totface, and BMesh::totvert.
Referenced by SCULPT_vertex_count_get(), and TEST().
Definition at line 446 of file bmesh_mesh.cc.
References bm, and BM_mesh_elem_index_ensure_ex().
Referenced by armature_deform_coords_impl(), BKE_bmbvh_new_ex(), BKE_editmesh_cache_ensure_poly_centers(), BKE_editmesh_cache_ensure_poly_normals(), BKE_editmesh_cache_ensure_vert_normals(), BKE_editmesh_loop_tangent_calc(), BKE_mesh_foreach_mapped_edge(), BKE_mesh_foreach_mapped_loop(), BKE_pbvh_node_raycast(), bm_decim_triangulate_begin(), bm_edge_info_average_length_fallback(), BM_lnorspace_invalidate(), BM_lnorspace_rebuild(), BM_loop_normal_editdata_array_init(), bm_loop_normal_mark_indiv(), BM_mesh_calc_path_edge(), bm_mesh_calc_tessellation__multi_threaded(), BM_mesh_calc_tessellation_with_partial_ex(), BM_mesh_decimate_dissolve_ex(), BM_mesh_edgenet(), bm_mesh_edges_sharp_tag(), BM_mesh_intersect(), bm_mesh_loops_calc_normals__multi_threaded(), bm_mesh_loops_calc_normals__single_threaded(), bm_mesh_loops_calc_normals_no_autosmooth(), BM_mesh_partial_create_from_verts(), BM_mesh_region_match(), bm_mesh_verts_calc_normals(), BM_uv_element_map_create(), BM_uv_vert_map_create(), BMeshFairingContext::BMeshFairingContext(), bmo_offset_edgeloops_exec(), bmo_smooth_laplacian_vert_exec(), bpy_bmelemseq_index_update(), calc_solidify_normals(), construct_param_handle(), construct_param_handle_subsurfed(), DRW_text_edit_mesh_measure_stats(), ED_mesh_mirrtopo_init(), edbm_face_split_by_edges_exec(), edbm_mod_weighted_strength_exec(), EDBM_preselect_edgering_update_from_edge(), EDBM_preselect_elem_update_from_single(), edbm_select_linked_pick_invoke(), edbm_shortest_path_pick_invoke(), EDBM_unified_findnearest_from_raycast(), EDBM_verts_mirror_cache_begin_ex(), gizmo_preselect_edgering_test_select(), gizmo_preselect_elem_test_select(), knifetool_init_obinfo(), lattice_deform_coords_impl(), loopcut_finish(), math_layer_info_init(), mesh_calc_path_region_elem(), mesh_render_data_create(), SCULPT_stroke_get_location(), SCULPT_vertex_random_access_ensure(), snap_mesh_polygon(), snapEditMesh(), solidify_add_thickness(), blender::draw::statvis_calc_distort(), blender::draw::statvis_calc_intersect(), blender::draw::statvis_calc_thickness(), stitch_process_data(), tc_mesh_partial_ensure(), transform_convert_mesh_islands_calc(), uv_find_nearest_edge(), uv_find_nearest_vert(), uv_select_overlap(), uv_set_connectivity_distance(), uv_shortest_path_pick_invoke(), and vgroup_smooth_subset().
Definition at line 332 of file bmesh_mesh.cc.
References BLI_assert, bm, BM_EDGE, BM_EDGES_OF_MESH, BM_elem_index_set, BM_ELEM_INDEX_VALIDATE, BM_FACE, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, BM_LOOP, BM_VERT, BM_VERTS_OF_MESH, BMesh::elem_index_dirty, elem_offset(), BMLoop::next, BMesh::totedge, BMesh::totface, BMesh::totloop, and BMesh::totvert.
Referenced by BM_mesh_elem_index_ensure(), and EDBM_mesh_elem_index_ensure_multi().
void BM_mesh_elem_index_validate | ( | BMesh * | bm, |
const char * | location, | ||
const char * | func, | ||
const char * | msg_a, | ||
const char * | msg_b | ||
) |
Array checking/setting macros.
Currently vert/edge/loop/face index data is being abused, in a few areas of the code.
To avoid correcting them afterwards, set 'bm->elem_index_dirty' however its possible this flag is set incorrectly which could crash blender.
Functions that calls this function may depend on dirty indices on being set.
This is read-only, so it can be used for assertions that don't impact behavior.
Definition at line 451 of file bmesh_mesh.cc.
References bm, BM_EDGE, BM_EDGES_OF_MESH, BM_elem_index_get, BM_FACE, BM_FACES_OF_MESH, BM_ITER_MESH, BM_VERT, BM_VERTS_OF_MESH, BMesh::elem_index_dirty, and void.
Definition at line 524 of file bmesh_mesh.cc.
References bm, BM_EDGE, BM_EDGES_OF_MESH, BM_FACE, BM_FACES_OF_MESH, BM_ITER_MESH_INDEX, BM_VERT, BM_VERTS_OF_MESH, BMesh::elem_table_dirty, BMesh::etable, BMesh::ftable, and BMesh::vtable.
Referenced by BM_mesh_elem_table_ensure(), and EDBM_update().
Definition at line 558 of file bmesh_mesh.cc.
References BLI_assert, bm, BM_ALL_NOLOOP, BM_EDGE, BM_EDGES_OF_MESH, BM_FACE, BM_FACES_OF_MESH, BM_iter_as_array(), BM_mesh_elem_table_check(), BM_VERT, BM_VERTS_OF_MESH, BMesh::elem_table_dirty, BMesh::etable, BMesh::etable_tot, BMesh::ftable, BMesh::ftable_tot, MEM_freeN, MEM_mallocN, BMesh::totedge, BMesh::totface, BMesh::totvert, BMesh::vtable, and BMesh::vtable_tot.
Referenced by blender::ed::spreadsheet::GeometryDataSource::apply_selection_filter(), bm_mesh_calc_uv_islands(), BM_mesh_elem_table_init(), BM_mesh_intersect(), BM_mesh_intersect_edges(), BM_mesh_remap(), BMeshFairingContext::BMeshFairingContext(), bmo_recalc_face_normals_exec(), bpy_bmelemseq_ensure_lookup_table(), bvhtree_from_editmesh_edges_create_tree(), bvhtree_from_editmesh_verts_create_tree(), construct_param_handle_subsurfed(), draw_select_id_edit_mesh(), ED_mesh_mirror_spatial_table_begin(), ED_mesh_mirrtopo_init(), ED_transverts_create_from_obedit(), ED_vgroup_parray_mirror_assign(), ED_vgroup_parray_mirror_sync(), edbm_face_split_by_edges_exec(), EDBM_select_interior_faces(), edbm_select_similar_region_exec(), EDBM_verts_mirror_cache_begin_ex(), get_vert_def_nr(), give_parvert(), loopcut_init(), math_layer_info_init(), blender::nodes::node_geo_edge_split_cc::mesh_edge_split(), mesh_foreachScreenEdge(), mesh_foreachScreenEdge_clip_bb_segment(), mesh_foreachScreenFace(), mesh_foreachScreenVert(), mesh_render_data_create(), mesh_symmetry_snap_exec(), multires_unsubdivide_extract_grids(), multires_unsubdivide_prepare_original_bmesh_for_extract(), multires_unsubdivide_single_level(), sculpt_face_set_delete_geometry(), sculpt_face_sets_init_flood_fill(), SCULPT_stroke_get_location(), SCULPT_vertex_random_access_ensure(), snap_mesh_polygon(), snapEditMesh(), stitch_init(), transform_convert_mesh_islands_calc(), blender::nodes::node_geo_triangulate_cc::triangulate_mesh_selection(), uv_select_flush_from_loop_edge_flag(), uv_select_flush_from_tag_face(), uv_select_flush_from_tag_loop(), uv_select_linked_multi(), uv_select_overlap(), and vgroup_smooth_subset().
Definition at line 633 of file bmesh_mesh.cc.
References bm, BM_EDGE, BM_FACE, BM_VERT, BMesh::etable, BMesh::ftable, MEM_SAFE_FREE, and BMesh::vtable.
Referenced by BM_mesh_elem_table_init().
Definition at line 624 of file bmesh_mesh.cc.
References BLI_assert, bm, BM_ALL_NOLOOP, BM_mesh_elem_table_ensure(), and BM_mesh_elem_table_free().
Referenced by multires_unsubdivide_single_level(), sculpt_face_set_delete_geometry(), and sculpt_face_sets_init_flood_fill().
Definition at line 109 of file bmesh_mesh.cc.
References BLI_mempool_destroy(), bm, BMesh::etoolflagpool, BMesh::ftoolflagpool, and BMesh::vtoolflagpool.
Referenced by BM_mesh_data_free(), and select_linked_delimit_end().
Definition at line 75 of file bmesh_mesh.cc.
References BLI_assert, BLI_mempool_calloc(), BLI_mempool_create(), BLI_MEMPOOL_NOP, bm, BM_EDGES_OF_MESH, BM_FACES_OF_MESH, BM_ITER_MESH, BM_VERTS_OF_MESH, BMesh::etoolflagpool, BMesh::ftoolflagpool, BMVert_OFlag::oflags, BMEdge_OFlag::oflags, BMFace_OFlag::oflags, BMesh::totedge, BMesh::totface, BMesh::totflags, BMesh::totvert, BMesh::use_toolflags, and BMesh::vtoolflagpool.
Referenced by BMO_op_exec(), build_skin(), mesh_separate_tagged(), select_linked_delimit_begin(), and walker_deselect_nth().
Frees a BMesh data and its structure.
Definition at line 258 of file bmesh_mesh.cc.
References bm, BM_mesh_data_free(), bpy_bm_generic_invalidate(), MEM_freeN, and BMesh::py_handle.
Referenced by base_skin(), bc_triangulate_mesh(), BKE_editmesh_free_data(), BKE_mesh_mirror_apply_mirror_on_axis(), BKE_mesh_mirror_bisect_on_mirror_plane_for_modifier(), BKE_mesh_remesh_voxel_fix_poles(), BKE_sculptsession_free(), bpy_bmesh_dealloc(), bpy_bmesh_free(), blender::nodes::node_geo_mesh_primitive_ico_sphere_cc::create_ico_sphere_mesh(), blender::io::alembic::ABCGenericMeshWriter::do_write(), doEdgeSplit(), ED_uvedit_add_simple_uvs(), EDBM_automerge_and_split(), edbm_separate_exec(), blender::nodes::node_geo_edge_split_cc::mesh_edge_split(), mesh_separate_arrays(), mesh_separate_tagged(), modifyMesh(), multires_unsubdivide_extract_grids(), multires_unsubdivide_private_extract_data_free(), multires_unsubdivide_to_basemesh(), blender::io::obj::CustomBMeshDeleter::operator()(), paint_mask_slice_exec(), SCULPT_dynamic_topology_disable_ex(), sculpt_face_set_create_exec(), sculpt_face_set_delete_geometry(), sculpt_face_sets_init_flood_fill(), sculpt_face_sets_init_loop(), sculpt_gesture_apply_trim(), sculpt_gesture_trim_normals_update(), tc_mesh_customdatacorrect_free(), TEST(), triangulate_mesh(), blender::nodes::node_geo_triangulate_cc::triangulate_mesh_selection(), and WireframeModifier_do().
void BM_mesh_rebuild | ( | BMesh * | bm, |
const struct BMeshCreateParams * | params, | ||
struct BLI_mempool * | vpool, | ||
struct BLI_mempool * | epool, | ||
struct BLI_mempool * | lpool, | ||
struct BLI_mempool * | fpool | ||
) |
Use new memory pools for this mesh.
Definition at line 1020 of file bmesh_mesh.cc.
References BMesh::act_face, BLI_mempool_alloc(), BLI_mempool_calloc(), BLI_mempool_destroy(), bm, BM_EDGE, BM_EDGES_OF_MESH, BM_elem_index_set, BM_FACE, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH_INDEX, BM_LOOP, BM_VERT, BM_VERTS_OF_MESH, BMVert::e, BMLoop::e, e, BMesh::elem_table_dirty, BMesh::epool, BMesh::etable, BMesh::etable_tot, BMesh::etoolflagpool, BMLoop::f, BMesh::fpool, BMesh::ftable, BMesh::ftable_tot, BMesh::ftoolflagpool, BMFace::l_first, LISTBASE_FOREACH, BMesh::lpool, MAP_EDGE, MAP_FACE, MAP_VERT, MEM_freeN, MEM_mallocN, BMLoop::next, params, BMLoop::prev, BMLoop::radial_next, BMLoop::radial_prev, REMAP_EDGE, REMAP_FACE, REMAP_LOOP, REMAP_VERT, BMesh::selected, SWAP, BMesh::totedge, BMesh::totface, BMesh::totloop, BMesh::totvert, BMLoop::v, v, BMesh::vpool, BMesh::vtable, BMesh::vtable_tot, and BMesh::vtoolflagpool.
Referenced by BM_mesh_toolflags_set().
void BM_mesh_remap | ( | BMesh * | bm, |
const uint * | vert_idx, | ||
const uint * | edge_idx, | ||
const uint * | face_idx | ||
) |
Remaps the vertices, edges and/or faces of the bmesh as indicated by vert/edge/face_idx arrays (xxx_idx[org_index] = new_index).
A NULL array means no changes.
Definition at line 726 of file bmesh_mesh.cc.
References BMesh::act_face, BLI_assert, BLI_ghash_free(), BLI_ghash_insert(), BLI_ghash_lookup(), BLI_ghash_ptr_new_ex(), bm, BM_EDGE, BM_EDGES_OF_MESH, BM_ELEM_CD_GET_VOID_P, BM_FACE, BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_LOOP, BM_LOOPS_OF_FACE, BM_mesh_elem_table_ensure(), BM_VERT, BM_VERTS_OF_MESH, CD_BM_ELEM_PYPTR, CustomData_get_offset(), BMVert::e, BMLoop::e, BMesh::edata, BMEditSelection::ele, BMesh::elem_index_dirty, BMesh::elem_table_dirty, BMesh::etable, BMLoop::f, ListBase::first, BMesh::ftable, BMEditSelection::htype, MEM_freeN, MEM_mallocN, BMDiskLink::next, BMEditSelection::next, BMesh::pdata, BMDiskLink::prev, BMesh::selected, BMesh::totedge, BMesh::totface, BMesh::totvert, BMLoop::v, BMEdge::v1, BMEdge::v1_disk_link, BMEdge::v2, BMEdge::v2_disk_link, BMesh::vdata, and BMesh::vtable.
Referenced by BM_log_mesh_elems_reorder(), and sort_bmelem_flag().
Re-allocates mesh data with/without toolflags.
Definition at line 1275 of file bmesh_mesh.cc.
References BLI_mempool_destroy(), bm, bm_mempool_init_ex(), BM_mesh_rebuild(), BMALLOC_TEMPLATE_FROM_BM, BMesh::etoolflagpool, BMesh::ftoolflagpool, params, BMesh::use_toolflags, BMeshCreateParams::use_toolflags, and BMesh::vtoolflagpool.
Referenced by sculpt_symmetrize_exec().
Definition at line 1320 of file bmesh_mesh.cc.
References bm, BM_mesh_vert_coords_get(), float(), MEM_mallocN, and BMesh::totvert.
Referenced by BKE_editmesh_vert_coords_alloc_orco().
Definition at line 1328 of file bmesh_mesh.cc.
References bm, BM_ITER_MESH_INDEX, BM_VERTS_OF_MESH, BMVert::co, copy_v3_v3(), and v.
Referenced by ED_object_data_xform_restore().
void BM_mesh_vert_coords_apply_with_mat4 | ( | BMesh * | bm, |
const float(*) | vert_coords[3], | ||
const float | mat[4][4] | ||
) |
Definition at line 1338 of file bmesh_mesh.cc.
References bm, BM_ITER_MESH_INDEX, BM_VERTS_OF_MESH, BMVert::co, mul_v3_m4v3(), and v.
Referenced by ED_object_data_xform_by_mat4().
Definition at line 1310 of file bmesh_mesh.cc.
References bm, BM_ITER_MESH_INDEX, BM_VERTS_OF_MESH, BMVert::co, copy_v3_v3(), and v.
Referenced by BM_mesh_vert_coords_alloc(), and ED_object_data_xform_create_ex().
Definition at line 648 of file bmesh_mesh.cc.
References BLI_mempool_findelem(), bm, and BMesh::vpool.
Referenced by BM_vert_at_index_find_or_table(), and ED_view3d_gizmo_mesh_preselect_get_active().
Use lookup table when available, else use slower find functions.
Definition at line 684 of file bmesh_mesh.cc.
References bm, BM_VERT, BM_vert_at_index_find(), BMesh::elem_table_dirty, and BMesh::vtable.
Referenced by EDBM_elem_from_index_any(), edbm_select_id_bm_elem_get(), and EDBM_vert_find_nearest_ex().
void bmesh_edit_begin | ( | BMesh * | UNUSEDbm, |
BMOpTypeFlag | UNUSEDtype_flag | ||
) |
Definition at line 272 of file bmesh_mesh.cc.
References bm, BM_mesh_normals_update(), BMO_OPTYPE_FLAG_UNTAN_MULTIRES, CD_MDISPS, CustomData_has_layer(), and BMesh::ldata.
Referenced by BMO_op_exec(), build_skin(), and tc_mesh_customdatacorrect_init_container_generic().
void bmesh_edit_end | ( | BMesh * | bm, |
BMOpTypeFlag | type_flag | ||
) |
BMesh End Edit.
Definition at line 292 of file bmesh_mesh.cc.
References BLI_listbase_clear(), bm, BM_mesh_normals_update(), BM_mesh_select_mode_flush(), BM_SPACEARR_DIRTY_ALL, BMO_OPTYPE_FLAG_INVALIDATE_CLNOR_ALL, BMO_OPTYPE_FLAG_NORMALS_CALC, BMO_OPTYPE_FLAG_SELECT_FLUSH, BMO_OPTYPE_FLAG_SELECT_VALIDATE, BMO_OPTYPE_FLAG_UNTAN_MULTIRES, CD_MDISPS, CustomData_has_layer(), BMesh::ldata, BMesh::selected, and BMesh::spacearr_dirty.
Referenced by BMO_op_exec(), build_skin(), and tc_mesh_customdatacorrect_free().
const BMAllocTemplate bm_mesh_allocsize_default = {512, 1024, 2048, 512} |
Definition at line 23 of file bmesh_mesh.cc.
Referenced by bc_triangulate_mesh(), BM_mesh_clear(), BM_mesh_copy_init_customdata(), BM_mesh_copy_init_customdata_all_layers(), BM_mesh_copy_init_customdata_from_mesh_array(), bpy_bm_new(), build_skin(), ED_uvedit_add_simple_uvs(), edbm_separate_exec(), mesh_separate_tagged(), sculpt_undo_bmesh_enable(), tc_mesh_customdatacorrect_init_container_generic(), and TEST().
const BMAllocTemplate bm_mesh_chunksize_default = {512, 1024, 2048, 512} |
Definition at line 24 of file bmesh_mesh.cc.
Referenced by bm_mempool_init_ex(), and CustomData_bmesh_init_pool().