|
Blender V5.0
|
#include <bmesh_class.hh>
Public Attributes | |
| int | totvert |
| int | totedge |
| int | totloop |
| int | totface |
| int | totvertsel |
| int | totedgesel |
| int | totfacesel |
| char | elem_index_dirty |
| char | elem_table_dirty |
| struct BLI_mempool * | vpool |
| struct BLI_mempool * | epool |
| struct BLI_mempool * | lpool |
| struct BLI_mempool * | fpool |
| BMVert ** | vtable |
| BMEdge ** | etable |
| BMFace ** | ftable |
| int | vtable_tot |
| int | etable_tot |
| int | ftable_tot |
| struct BLI_mempool * | vtoolflagpool |
| struct BLI_mempool * | etoolflagpool |
| struct BLI_mempool * | ftoolflagpool |
| bool | use_toolflags |
| bool | uv_select_sync_valid |
| int | toolflag_index |
| CustomData | vdata |
| CustomData | edata |
| CustomData | ldata |
| CustomData | pdata |
| struct MLoopNorSpaceArray * | lnor_spacearr |
| char | spacearr_dirty |
| short | selectmode |
| int | shapenr |
| int | totflags |
| ListBase | selected |
| BMFace * | act_face |
| ListBase | errorstack |
| void * | py_handle |
Definition at line 316 of file bmesh_class.hh.
| BMFace* BMesh::act_face |
The active face. This is kept even when unselected, mainly so UV editing can keep showing the active faces image while the selection is being modified in the 3D viewport.
Without this the active image in the UV editor would flicker in a distracting way while changing selection in the 3D viewport.
Definition at line 407 of file bmesh_class.hh.
Referenced by BM_mesh_copy().
| CustomData BMesh::edata |
Definition at line 376 of file bmesh_class.hh.
Referenced by BM_mesh_copy(), BM_mesh_copy_arrays(), BM_mesh_copy_init_customdata(), BM_mesh_copy_init_customdata_all_layers(), BM_mesh_copy_init_customdata_from_mesh_array(), bmo_mesh_copy(), bpy_bm_elem_copy_from(), bpy_bmedgeseq_new(), blender::ed::transform::createTransEdge(), blender::bke::editbmesh_calc_modifiers(), and blender::draw::mesh_render_data_create().
| char BMesh::elem_index_dirty |
Flag index arrays as being dirty so we can check if they are clean and avoid looping over the entire vert/edge/face/loop array in those cases. valid flags are: (BM_VERT | BM_EDGE | BM_FACE | BM_LOOP)
Definition at line 325 of file bmesh_class.hh.
Referenced by BKE_bmbvh_find_face_closest(), BKE_bmbvh_find_vert_closest(), BKE_bmbvh_ray_cast(), BKE_bmbvh_ray_cast_filter(), BKE_crazyspace_set_quats_editmesh(), BM_mesh_copy(), BM_mesh_copy_arrays(), and make_child_duplis_faces_from_editmesh().
| char BMesh::elem_table_dirty |
Flag array table as being dirty so we know when its safe to use it, or when it needs to be re-created.
Definition at line 331 of file bmesh_class.hh.
Referenced by EDBM_verts_mirror_apply(), and give_parvert().
| struct BLI_mempool * BMesh::epool |
Definition at line 334 of file bmesh_class.hh.
| ListBase BMesh::errorstack |
List of BMOpError, used for operator error handling.
Definition at line 410 of file bmesh_class.hh.
| BMEdge** BMesh::etable |
Edge table.
Definition at line 344 of file bmesh_class.hh.
| int BMesh::etable_tot |
Definition at line 351 of file bmesh_class.hh.
| struct BLI_mempool * BMesh::etoolflagpool |
Definition at line 355 of file bmesh_class.hh.
| struct BLI_mempool * BMesh::fpool |
Definition at line 334 of file bmesh_class.hh.
| BMFace** BMesh::ftable |
Face table.
Definition at line 346 of file bmesh_class.hh.
Referenced by face_edges_add(), blender::ed::sculpt_paint::expand::is_face_in_active_component(), and uv_select_overlap().
| int BMesh::ftable_tot |
Definition at line 352 of file bmesh_class.hh.
| struct BLI_mempool * BMesh::ftoolflagpool |
Definition at line 355 of file bmesh_class.hh.
| CustomData BMesh::ldata |
Definition at line 376 of file bmesh_class.hh.
Referenced by BM_mesh_copy(), BM_mesh_copy_arrays(), BM_mesh_copy_init_customdata(), BM_mesh_copy_init_customdata_all_layers(), BM_mesh_copy_init_customdata_from_mesh_array(), bm_mesh_copy_new_face(), bmo_mesh_copy(), bmw_UVEdgeWalker_step(), bpy_bm_elem_copy_from(), correct_uv_aspect(), correct_uv_aspect_per_face(), edbm_flip_normals_custom_loop_normals(), EDBM_selectmode_set(), EDBM_uv_check(), EDBM_vert_color_check(), blender::draw::extract_edituv_stretch_angle_subdiv(), blender::draw::extract_tan_init_common(), blender::draw::extract_uv_maps(), make_duplis_faces(), blender::ed::transform::mesh_customdatacorrect_face_substitute_set(), blender::ed::transform::mesh_customdatacorrect_init_vert(), blender::ed::transform::mesh_customdatacorrect_restore(), blender::draw::mesh_render_data_create(), blender::draw::mesh_render_data_update_corner_normals(), multires_unsubdivide_extract_grids(), blender::draw::sculpt_batches_get(), undomesh_from_editmesh(), uv_copy_exec(), uv_from_view_exec(), uv_paste_exec(), uv_pin_exec(), uv_sculpt_stroke_apply(), uvedit_ensure_uvs(), and uvedit_unwrap().
| struct MLoopNorSpaceArray* BMesh::lnor_spacearr |
Definition at line 382 of file bmesh_class.hh.
Referenced by mesh_separate_arrays().
| struct BLI_mempool * BMesh::lpool |
Definition at line 334 of file bmesh_class.hh.
| CustomData BMesh::pdata |
Definition at line 376 of file bmesh_class.hh.
Referenced by BM_mesh_copy(), BM_mesh_copy_arrays(), BM_mesh_copy_init_customdata(), BM_mesh_copy_init_customdata_all_layers(), BM_mesh_copy_init_customdata_from_mesh_array(), bm_mesh_copy_new_face(), bmo_mesh_copy(), bpy_bm_elem_copy_from(), blender::bke::editbmesh_calc_modifiers(), blender::draw::extract_sculpt_data(), blender::ed::sculpt_paint::pose::ik_chain_init_face_sets_bmesh(), blender::ed::transform::mesh_customdatacorrect_face_substitute_set(), blender::ed::transform::mesh_customdatacorrect_init_vert(), and blender::draw::mesh_render_data_create().
| void* BMesh::py_handle |
Keep a single reference to the Python instance of this BMesh (if any exists).
This allows save invalidation of a BMesh when it's freed, so the Python object will report it as having been removed, instead of crashing on invalid memory access.
Doesn't hold a #PyObject reference, cleared when the last object is de-referenced.
Definition at line 421 of file bmesh_class.hh.
| ListBase BMesh::selected |
Definition at line 397 of file bmesh_class.hh.
Referenced by BM_mesh_copy(), edbm_strip_selections(), EDBM_update(), merge_firstlast(), and merge_type_itemf().
| short BMesh::selectmode |
Should be copy of scene select mode.
NOTE(@ideasman42): Stored in BMEditMesh too, a bit confusing, make sure they're in sync! Only use when the edit mesh can't be accessed.
Definition at line 391 of file bmesh_class.hh.
Referenced by BM_mesh_copy(), edbm_bevel_calc(), edbm_intersect_select(), EDBM_select_flush_from_verts(), edbm_select_mirror_exec(), edbm_select_sharp_edges_exec(), EDBM_select_swap(), and EDBM_selectmode_set().
| int BMesh::shapenr |
1-based index of the shape key's Key::block this BMesh came from.
Definition at line 394 of file bmesh_class.hh.
Referenced by BM_mesh_copy(), mesh_undosys_step_decode(), undomesh_from_editmesh(), and undomesh_to_editmesh().
| char BMesh::spacearr_dirty |
Definition at line 383 of file bmesh_class.hh.
Referenced by EDBM_update().
| int BMesh::toolflag_index |
Definition at line 374 of file bmesh_class.hh.
| int BMesh::totedge |
Definition at line 317 of file bmesh_class.hh.
Referenced by BM_mesh_copy(), ED_mesh_mirrtopo_init(), ED_mesh_mirrtopo_recalc_check(), edbm_add_edge_face_exec(), edbm_fill_grid_exec(), EDBM_op_finish(), edbm_select_linked_pick_invoke(), edbm_select_random_exec(), blender::draw::edit_select::Instance::edit_mesh_sync(), loopcut_init(), mesh_foreachScreenEdge(), mesh_foreachScreenEdge_clip_bb_segment(), mesh_separate_loose(), sort_bmelem_flag(), and stats_object_edit().
| int BMesh::totedgesel |
Definition at line 318 of file bmesh_class.hh.
Referenced by BM_mesh_copy(), edbm_add_edge_face_exec(), edbm_collapse_edge_exec(), edbm_delete_edgeloop_exec(), edbm_delete_exec(), edbm_dissolve_edges_exec(), edbm_edge_rotate_selected_exec(), edbm_extrude_edges_exec(), edbm_extrude_htype_from_em_select(), edbm_extrude_mesh(), edbm_fill_exec(), edbm_fill_grid_exec(), edbm_fill_holes_exec(), edbm_flip_normals_exec(), edbm_loop_multiselect_exec(), edbm_loop_to_region_exec(), edbm_offset_edgeloop_exec(), edbm_select_all_exec(), edbm_select_nth_exec(), EDBM_select_toggle_all(), EDBM_selectmode_set(), edbm_separate_exec(), edbm_shortest_path_select_exec(), edbm_split_exec(), EDBM_stats_update(), edbm_subdivide_edge_ring_exec(), edbm_subdivide_exec(), edbm_unsubdivide_exec(), blender::ed::transform::getTransformOrientation_ex(), loop_find_regions(), mesh_bisect_invoke(), mesh_circle_select(), similar_edge_select_exec(), and stats_object_edit().
| int BMesh::totface |
Definition at line 317 of file bmesh_class.hh.
Referenced by BKE_editmesh_looptris_calc_with_partial_ex(), BM_mesh_copy(), bm_mesh_copy_new_face(), blender::draw::draw_subdiv_cache_update_extra_coarse_face_data(), ED_operator_uvmap(), edbm_add_edge_face_exec(), edbm_fill_exec(), edbm_fill_grid_exec(), EDBM_op_finish(), edbm_select_random_exec(), EDBM_uv_check(), EDBM_vert_color_check(), blender::draw::edit_select::Instance::edit_mesh_sync(), blender::ed::sculpt_paint::dyntopo::enable_ex(), mesh_separate_loose(), mesh_separate_material(), smart_project_exec(), sort_bmelem_flag(), stats_object_edit(), stats_object_sculpt(), and uvedit_ensure_uvs().
| int BMesh::totfacesel |
Definition at line 318 of file bmesh_class.hh.
Referenced by BM_mesh_copy(), cube_project_exec(), cylinder_project_exec(), edbm_add_edge_face_exec(), edbm_beautify_fill_exec(), edbm_bridge_edge_loops_for_single_editmesh(), edbm_delete_exec(), edbm_dissolve_faces_exec(), edbm_extrude_faces_exec(), edbm_extrude_htype_from_em_select(), edbm_extrude_mesh(), edbm_face_make_planar_exec(), edbm_faces_shade_flat_exec(), edbm_faces_shade_smooth_exec(), edbm_fill_grid_exec(), edbm_flip_normals_exec(), edbm_flip_quad_tessellation_exec(), edbm_intersect_boolean_exec(), edbm_intersect_exec(), edbm_normals_make_consistent_exec(), edbm_poke_face_exec(), edbm_quads_convert_to_tris_exec(), edbm_region_to_loop_exec(), edbm_reverse_colors_exec(), edbm_reverse_uvs_exec(), edbm_rotate_colors_exec(), edbm_rotate_uvs_exec(), edbm_select_all_exec(), edbm_select_nth_exec(), EDBM_select_toggle_all(), EDBM_selectmode_set(), edbm_separate_exec(), edbm_shortest_path_select_exec(), edbm_solidify_exec(), edbm_split_exec(), EDBM_stats_update(), edbm_subdivide_exec(), edbm_tris_convert_to_quads_exec(), edbm_unsubdivide_exec(), edbm_vert_connect_concave_exec(), edbm_vert_connect_nonplaner_exec(), edbm_wireframe_exec(), blender::ed::transform::getTransformOrientation_ex(), knifetool_invoke(), mesh_circle_select(), minimize_stretch_exit(), minimize_stretch_iteration(), reset_exec(), similar_face_select_exec(), sphere_project_exec(), stats_object_edit(), and uvedit_have_selection().
| int BMesh::totflags |
Definition at line 396 of file bmesh_class.hh.
| int BMesh::totloop |
Definition at line 317 of file bmesh_class.hh.
Referenced by BKE_editmesh_looptris_calc_with_partial_ex(), blender::ed::transform::createTransUVs(), EDBM_op_finish(), uv_remove_doubles_to_selected(), and uv_remove_doubles_to_unselected().
| int BMesh::totvert |
Definition at line 317 of file bmesh_class.hh.
Referenced by BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_crazyspace_get_mapped_editverts(), BKE_editmesh_vert_coords_alloc(), BKE_editmesh_vert_coords_when_deformed(), BM_mesh_copy(), calc_ortho_extent(), correctivesmooth_modifier_do(), deformVerts_do(), ED_mesh_mirror_spatial_table_begin(), ED_mesh_mirrtopo_init(), ED_mesh_mirrtopo_recalc_check(), EDBM_op_finish(), edbm_remove_doubles_exec(), edbm_select_random_exec(), blender::draw::edit_select::Instance::edit_mesh_sync(), editbmesh_get_x_mirror_vert_topo(), editmesh_partial_update_begin_fn(), give_parvert(), blender::ed::transform::initTransform(), blender::ed::transform::mesh_partial_ensure(), blender::ed::transform::mesh_partial_update(), mesh_separate_loose(), multires_unsubdivide_extract_grids(), blender::ed::object::object_origin_set_exec(), sort_bmelem_flag(), stats_object_edit(), stats_object_sculpt(), stitch_init(), and blender::ed::transform::transform_convert_mesh_crazyspace_detect().
| int BMesh::totvertsel |
Definition at line 318 of file bmesh_class.hh.
Referenced by average_islands_scale_exec(), BM_mesh_copy(), do_lasso_select_mesh(), do_mesh_box_select(), edbm_add_edge_face_exec(), edbm_bevel_init(), edbm_blend_from_shape_exec(), edbm_bridge_edge_loops_exec(), edbm_delete_exec(), edbm_dissolve_verts_exec(), edbm_do_smooth_laplacian_vertex_exec(), edbm_do_smooth_vertex_exec(), edbm_dupli_extrude_cursor_invoke(), edbm_duplicate_exec(), edbm_extrude_context_exec(), edbm_extrude_mesh(), edbm_extrude_region_exec(), edbm_extrude_verts_exec(), edbm_flag_disable_all_multi(), edbm_flip_normals_exec(), edbm_inset_init(), edbm_merge_exec(), EDBM_mesh_deselect_all_multi_ex(), edbm_remove_doubles_exec(), edbm_rip_invoke(), edbm_select_all_exec(), edbm_select_mirror_exec(), edbm_select_nth_exec(), EDBM_select_toggle_all(), edbm_select_ungrouped_exec(), EDBM_selectmode_set(), edbm_separate_exec(), edbm_shape_propagate_to_all_exec(), edbm_shortest_path_pick_invoke(), edbm_shortest_path_select_exec(), edbm_split_exec(), EDBM_stats_update(), edbm_unsubdivide_exec(), edbm_vert_connect_path_exec(), blender::ed::transform::getTransformOrientation_ex(), blender::ed::transform::initTransform(), mesh_circle_select(), blender::ed::transform::mesh_partial_update(), mesh_symmetrize_exec(), mesh_symmetry_snap_exec(), mouse_mesh_loop(), similar_vert_select_exec(), snap_curs_to_sel_ex(), snap_sel_to_grid_exec(), snap_selected_to_location_rotation(), stats_object_edit(), stitch_exit(), stitch_invoke(), uv_align(), uv_arrange_islands_exec(), uv_move_on_axis_exec(), uv_pin_exec(), uv_remove_doubles_to_selected(), uv_snap_selection_exec(), and uv_weld().
| bool BMesh::use_toolflags |
Definition at line 357 of file bmesh_class.hh.
Referenced by BM_mesh_copy().
| bool BMesh::uv_select_sync_valid |
Used when the UV select sync tool-setting is enabled (see: UV_FLAG_SELECT_SYNC).
When true, UV selection flags are "valid" (see: BM_ELEM_SELECT_UV & BM_ELEM_SELECT_UV_EDGE). Otherwise UV selection is read from vertex/edge/face selection flags used in the viewport.
Notes:
See bmesh_uvselect.hh for a more comprehensive explanation.
Definition at line 372 of file bmesh_class.hh.
Referenced by ED_uvedit_deselect_all(), EDBM_mesh_reveal(), edbm_select_all_exec(), EDBM_selectmode_set(), undomesh_from_editmesh(), and uvedit_ensure_uvs().
| CustomData BMesh::vdata |
Definition at line 376 of file bmesh_class.hh.
Referenced by BKE_armature_deform_coords_with_editmesh(), BM_mesh_copy(), BM_mesh_copy_arrays(), BM_mesh_copy_init_customdata(), BM_mesh_copy_init_customdata_all_layers(), BM_mesh_copy_init_customdata_from_mesh_array(), blender::ed::sculpt_paint::undo::bmesh_enable(), blender::ed::sculpt_paint::undo::bmesh_push(), bmo_mesh_copy(), bpy_bm_elem_copy_from(), bpy_bmvertseq_new(), build_skin(), contarget_get_mesh_mat(), blender::ed::transform::createTransMeshSkin(), curve_deform_coords_impl(), deformVerts_do(), blender::ed::sculpt_paint::brushes::do_mask_brush(), blender::ed::sculpt_paint::brushes::do_smooth_mask_brush(), edbm_blend_from_shape_exec(), edbm_select_ungrouped_exec(), edbm_select_ungrouped_poll(), EDBM_verts_mirror_cache_clear(), EDBM_verts_mirror_get(), blender::ed::sculpt_paint::dyntopo::enable_ex(), blender::draw::extract_sculpt_data(), blender::draw::extract_skin_roots(), get_weights_array(), lattice_deform_coords_impl(), blender::draw::mesh_render_data_create(), blender::ed::transform::mesh_skin_transdata_create(), object_defgroup_remove_edit_mode(), blender::ed::sculpt_paint::undo::restore_mask_from_undo_step(), blender::ed::object::return_editmesh_vgroup(), blender::ed::sculpt_paint::mask::sculpt_mask_init_exec(), shape_itemf(), shape_propagate(), blender::ed::sculpt_paint::expand::update_for_vert(), blender::ed::object::vgroup_assign_verts(), blender::ed::object::vgroup_do_remap(), blender::ed::object::vgroup_normalize_active_vertex(), and blender::ed::object::vgroup_vert_active_mirror().
| struct BLI_mempool* BMesh::vpool |
Element pools.
Definition at line 334 of file bmesh_class.hh.
Referenced by blender::bke::armature_deform_editmesh(), and lattice_deform_coords_impl().
| BMVert** BMesh::vtable |
Vertex table.
Definition at line 342 of file bmesh_class.hh.
Referenced by ED_mesh_mirrtopo_init(), EDBM_verts_mirror_apply(), and EDBM_verts_mirror_get().
| int BMesh::vtable_tot |
Definition at line 350 of file bmesh_class.hh.
| struct BLI_mempool* BMesh::vtoolflagpool |
Operator API stuff (must be all null or all allocated).
Definition at line 355 of file bmesh_class.hh.