|
Blender V4.3
|
#include <BKE_editmesh.hh>
Public Attributes | |
| BMesh * | bm |
| blender::Array< std::array< BMLoop *, 3 > > | looptris |
| short | selectmode |
| short | mat_nr |
| int | mirror_cdlayer |
| char | needs_flush_to_id |
This structure is used for mesh edit-mode.
Through this, you get access to both the edit BMesh, its tessellation, and various data that doesn't belong in the BMesh struct itself (mostly related to mesh evaluation).
#Mesh.runtime.edit_mesh stores a pointer to this structure.
Definition at line 42 of file BKE_editmesh.hh.
| BMesh* BMEditMesh::bm |
Definition at line 44 of file BKE_editmesh.hh.
Referenced by applyNormalRotation(), armature_deform_coords_impl(), average_islands_scale_exec(), BKE_bmbvh_new_from_editmesh(), BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_crazyspace_get_mapped_editverts(), BKE_crazyspace_set_quats_editmesh(), BKE_editmesh_cache_calc_minmax(), BKE_editmesh_cache_ensure_face_centers(), BKE_editmesh_cache_ensure_face_normals(), BKE_editmesh_cache_ensure_vert_normals(), BKE_editmesh_copy(), BKE_editmesh_create(), BKE_editmesh_free_data(), BKE_editmesh_lnorspace_update(), BKE_editmesh_loop_tangent_calc(), BKE_editmesh_looptris_and_normals_calc(), BKE_editmesh_looptris_and_normals_calc_with_partial(), BKE_editmesh_looptris_calc_ex(), BKE_editmesh_looptris_calc_with_partial_ex(), BKE_editmesh_vert_coords_alloc(), BKE_editmesh_vert_coords_alloc_orco(), BKE_editmesh_vert_coords_when_deformed(), BKE_mesh_foreach_mapped_edge(), BKE_mesh_foreach_mapped_face_center(), BKE_mesh_foreach_mapped_loop(), BKE_mesh_foreach_mapped_vert(), BKE_mesh_wrapper_ensure_mdata(), blender::ed::mesh::set_attribute::bmesh_loop_layer_selected_values_set(), blender::ed::object::calc_active_center_for_editmode(), calc_ortho_extent(), construct_param_handle_multi(), construct_param_handle_subsurfed(), contarget_get_mesh_mat(), correct_uv_aspect(), correct_uv_aspect_per_face(), correctivesmooth_modifier_do(), create_mesh(), blender::bke::create_orco_mesh(), createTransEdge(), createTransEditVerts(), createTransMeshSkin(), createTransMeshVertCData(), createTransUVs(), cube_project_exec(), curve_deform_coords_impl(), cylinder_project_exec(), deform_verts(), deformVerts_do(), deselect_nth_active(), do_lasso_select_mesh(), do_lasso_select_mesh_uv(), do_mesh_box_select(), draw_select_id_edit_mesh(), DRW_text_edit_mesh_measure_stats(), ED_mesh_mirror_spatial_table_begin(), ED_mesh_mirrtopo_init(), ED_mesh_mirrtopo_recalc_check(), ED_operator_uvmap(), ED_space_image_auto_set(), ED_transverts_create_from_obedit(), ED_transverts_update_obedit(), ED_uvedit_ensure_uvs(), ED_uvedit_foreach_uv_multi(), ED_uvedit_get_aspect(), ED_uvedit_live_unwrap_begin(), ED_uvedit_select_sync_flush(), ED_uvedit_selectmode_clean(), ED_uvedit_selectmode_flush(), ED_view3d_gizmo_mesh_preselect_get_active(), edbm_add_edge_face_exec(), EDBM_automerge(), EDBM_automerge_and_split(), edbm_average_normals_exec(), edbm_backbuf_check_and_select_edges(), edbm_backbuf_check_and_select_faces(), edbm_backbuf_check_and_select_verts(), edbm_beautify_fill_exec(), edbm_bevel_calc(), edbm_bevel_init(), edbm_blend_from_shape_exec(), edbm_bridge_edge_loops_exec(), edbm_bridge_edge_loops_for_single_editmesh(), edbm_collapse_edge_exec(), edbm_connect_vert_pair(), edbm_decimate_exec(), edbm_delete_edgeloop_exec(), edbm_delete_exec(), edbm_delete_loose_exec(), EDBM_deselect_by_material(), EDBM_deselect_flush(), edbm_dissolve_degenerate_exec(), edbm_dissolve_edges_exec(), edbm_dissolve_faces_exec(), edbm_dissolve_limited_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_edge_find_nearest_ex(), edbm_edge_rotate_selected_exec(), edbm_edge_split_selected_edges(), edbm_edge_split_selected_verts(), EDBM_elem_from_index_any(), EDBM_elem_to_index_any(), edbm_extrude_context_exec(), edbm_extrude_discrete_faces(), edbm_extrude_edge_exclude_mirror(), edbm_extrude_edges_exec(), edbm_extrude_edges_indiv(), edbm_extrude_ex(), edbm_extrude_faces_exec(), edbm_extrude_htype_from_em_select(), edbm_extrude_mesh(), edbm_extrude_region_exec(), edbm_extrude_repeat_exec(), edbm_extrude_verts_exec(), edbm_extrude_verts_indiv(), EDBM_face_find_nearest_ex(), edbm_face_make_planar_exec(), edbm_face_split_by_edges_exec(), edbm_faces_shade_flat_exec(), edbm_faces_shade_smooth_exec(), edbm_fill_exec(), edbm_fill_grid_exec(), edbm_fill_holes_exec(), EDBM_flag_disable_all(), edbm_flag_disable_all_multi(), EDBM_flag_enable_all(), edbm_flip_normals_custom_loop_normals(), edbm_flip_normals_exec(), edbm_flip_normals_face_winding(), edbm_flip_quad_tessellation_exec(), edbm_hide_exec(), edbm_inset_calc(), edbm_inset_init(), edbm_intersect_boolean_exec(), edbm_intersect_exec(), edbm_intersect_select(), edbm_loop_multiselect_exec(), edbm_loop_to_region_exec(), edbm_mark_seam_exec(), edbm_mark_sharp_exec(), edbm_merge_exec(), EDBM_mesh_deselect_all_multi_ex(), EDBM_mesh_elem_index_ensure_multi(), EDBM_mesh_hide(), EDBM_mesh_knife(), EDBM_mesh_normals_update_ex(), EDBM_mesh_reveal(), EDBM_mesh_stats_multi(), edbm_mod_weighted_strength_exec(), edbm_normals_make_consistent_exec(), edbm_normals_tools_exec(), edbm_offset_edgeloop_exec(), EDBM_op_call_and_selectf(), EDBM_op_call_silentf(), EDBM_op_callf(), EDBM_op_finish(), EDBM_op_init(), edbm_point_normals_modal(), edbm_poke_face_exec(), edbm_polybuild_delete_at_cursor_invoke(), edbm_polybuild_dissolve_at_cursor_invoke(), edbm_polybuild_face_at_cursor_invoke(), edbm_polybuild_split_at_cursor_invoke(), edbm_polybuild_transform_at_cursor_invoke(), edbm_preselect_or_active(), EDBM_project_snap_verts(), edbm_quads_convert_to_tris_exec(), EDBM_redo_state_restore(), EDBM_redo_state_restore_and_free(), EDBM_redo_state_store(), edbm_region_to_loop_exec(), edbm_remove_doubles_exec(), edbm_reverse_colors_exec(), edbm_reverse_uvs_exec(), edbm_rip_edge_invoke(), edbm_rip_invoke(), edbm_rip_invoke__edge(), edbm_rip_invoke__vert(), edbm_rotate_colors_exec(), edbm_rotate_uvs_exec(), edbm_screw_exec(), edbm_select_all_exec(), edbm_select_axis_exec(), edbm_select_by_attribute_exec(), edbm_select_face_by_sides_exec(), EDBM_select_flush(), edbm_select_id_bm_elem_get(), EDBM_select_interior_faces(), EDBM_select_less(), edbm_select_less_exec(), edbm_select_linked_exec(), edbm_select_linked_flat_faces_exec(), edbm_select_linked_pick_ex(), edbm_select_linked_pick_invoke(), edbm_select_loose_exec(), edbm_select_mirror_exec(), EDBM_select_mirrored(), EDBM_select_more(), edbm_select_more_exec(), edbm_select_non_manifold_exec(), edbm_select_nth_exec(), EDBM_select_pick(), edbm_select_random_exec(), edbm_select_sharp_edges_exec(), edbm_select_similar_region_exec(), EDBM_select_swap(), EDBM_select_toggle_all(), edbm_select_ungrouped_exec(), edbm_select_ungrouped_poll(), EDBM_selectmode_convert(), EDBM_selectmode_flush_ex(), EDBM_selectmode_set(), edbm_separate_exec(), edbm_set_normals_from_faces_exec(), edbm_shape_propagate_to_all_exec(), edbm_shortest_path_pick_exec(), edbm_shortest_path_pick_invoke(), edbm_shortest_path_select_exec(), edbm_smooth_normals_exec(), edbm_solidify_exec(), edbm_sort_elements_exec(), edbm_spin_exec(), edbm_split_exec(), EDBM_stats_update(), edbm_strip_selections(), edbm_subdivide_edge_ring_exec(), edbm_subdivide_exec(), edbm_tris_convert_to_quads_exec(), EDBM_unified_findnearest_from_raycast(), edbm_unsubdivide_exec(), EDBM_update(), EDBM_uv_active_face_get(), EDBM_uv_check(), EDBM_vert_color_check(), edbm_vert_connect_concave_exec(), edbm_vert_connect_nonplaner_exec(), edbm_vert_connect_path_exec(), EDBM_vert_find_nearest_ex(), EDBM_verts_mirror_apply(), EDBM_verts_mirror_cache_begin_ex(), EDBM_verts_mirror_cache_clear(), EDBM_verts_mirror_get(), edbm_wireframe_exec(), edgering_select(), blender::bke::editbmesh_calc_modifiers(), editbmesh_get_x_mirror_vert_spatial(), editbmesh_get_x_mirror_vert_topo(), editmesh_partial_update_begin_fn(), editmesh_snapdata_init(), freeCustomNormalArray(), blender::bke::get_orco_coords(), get_weights_array(), getTransformOrientation_ex(), give_parvert(), gizmo_3d_foreach_selected(), gizmo_mesh_spin_init_refresh(), gizmo_preselect_edgering_test_select(), gizmo_preselect_elem_test_select(), initNormalRotation(), initTransform(), knife_make_cuts(), knifeproject_exec(), knifetool_init_obinfo(), knifetool_invoke(), lattice_deform_coords_impl(), loop_find_regions(), loopcut_finish(), loopcut_init(), make_child_duplis_faces_from_editmesh(), make_child_duplis_verts_from_editmesh(), make_duplis_faces(), material_slot_assign_exec(), merge_firstlast(), merge_target(), merge_type_itemf(), mesh_bisect_exec(), mesh_bisect_invoke(), mesh_circle_select(), mesh_customdatacorrect_create_impl(), mesh_foreachScreenEdge(), mesh_foreachScreenEdge_clip_bb_segment(), mesh_foreachScreenFace(), mesh_foreachScreenVert(), mesh_partial_ensure(), mesh_partial_update(), blender::ed::mesh::set_attribute::mesh_set_attribute_exec(), mesh_set_smooth_faces(), mesh_skin_transdata_create(), mesh_symmetrize_exec(), mesh_symmetry_snap_exec(), minimize_stretch_exit(), minimize_stretch_iteration(), mouse_mesh_loop(), mouse_mesh_shortest_path_edge(), mouse_mesh_shortest_path_face(), mouse_mesh_shortest_path_vert(), mouse_mesh_uv_shortest_path_edge(), mouse_mesh_uv_shortest_path_face(), mouse_mesh_uv_shortest_path_vert(), normals_split_merge(), object_defgroup_remove_edit_mode(), blender::ed::object::object_origin_set_exec(), point_normals_apply(), point_normals_init(), reset_exec(), blender::ed::object::return_editmesh_indexar(), blender::ed::object::return_editmesh_vgroup(), ringsel_find_edge(), ringsel_finish(), blender::ed::object::select_editbmesh_hook(), select_linked_delimit_end(), set_mapped_co(), blender::ed::mesh::set_sharpness_by_angle_exec(), shape_itemf(), shape_propagate(), similar_edge_select_exec(), similar_face_select_exec(), similar_vert_select_exec(), blender::ed::object::skin_loose_mark_clear_exec(), blender::ed::object::skin_radii_equalize_exec(), blender::ed::object::skin_root_mark_exec(), smart_project_exec(), snap_curs_to_sel_ex(), snap_sel_to_grid_exec(), snap_selected_to_location(), sort_bmelem_flag(), special_aftertrans_update__mesh(), sphere_project_exec(), stats_object_edit(), blender::draw::statvis_calc_distort(), blender::draw::statvis_calc_intersect(), blender::draw::statvis_calc_overhang(), blender::draw::statvis_calc_sharp(), blender::draw::statvis_calc_thickness(), stitch_exit(), stitch_init(), stitch_invoke(), subdivide_edit_mesh(), transform_convert_mesh_crazyspace_detect(), transform_convert_mesh_islands_calc(), transform_convert_mesh_mirrordata_calc(), transform_mesh_edge_slide_data_create(), transform_mesh_uv_edge_slide_data_create(), transform_mesh_uv_vert_slide_data_create(), transformEnd(), undomesh_from_editmesh(), undomesh_to_editmesh(), uv_box_select_exec(), uv_circle_select_exec(), uv_copy_exec(), uv_find_nearest_edge(), uv_find_nearest_face_ex(), uv_find_nearest_loop_from_edge(), uv_find_nearest_loop_from_vert(), uv_find_nearest_vert(), uv_from_view_exec(), uv_hide_exec(), uv_isolate_selected_islands(), uv_map_clip_correct(), uv_map_transform_calc_bounds(), uv_map_transform_calc_center_median(), uv_map_transform_center(), uv_mark_seam_exec(), uv_mouse_select_multi(), uv_paste_exec(), uv_pin_exec(), uv_remove_doubles_to_selected(), uv_remove_doubles_to_selected_shared_vertex(), uv_remove_doubles_to_unselected(), uv_reveal_exec(), uv_rip_object(), uv_sculpt_stroke_apply(), uv_sculpt_stroke_init(), uv_seams_from_islands_exec(), uv_select_all(), uv_select_edgeloop(), uv_select_edgeloop_double_side_tag(), uv_select_edgeloop_single_side_tag(), uv_select_edgering(), uv_select_faceloop(), uv_select_flush_from_loop_edge_flag(), uv_select_flush_from_tag_face(), uv_select_flush_from_tag_loop(), uv_select_flush_from_tag_sticky_loc_internal(), uv_select_invert(), uv_select_linked_multi(), uv_select_more_less(), uv_select_overlap(), uv_select_pinned_exec(), uv_select_similar_edge_exec(), uv_select_similar_face_exec(), uv_select_similar_island_exec(), uv_select_similar_vert_exec(), uv_select_split_exec(), uv_shortest_path_pick_exec(), uv_shortest_path_pick_invoke(), uv_shortest_path_select_exec(), uv_snap_selection_exec(), uv_snap_uvs_offset(), uv_snap_uvs_to_adjacent_unselected(), uv_snap_uvs_to_cursor(), uv_snap_uvs_to_pixels(), uv_weld_align(), uvedit_center(), uvedit_deselect_flush(), uvedit_edge_select_set_with_sticky(), uvedit_face_select_set_with_sticky(), uvedit_have_selection(), uvedit_nearest_uv(), uvedit_pack_islands_multi(), uvedit_select_flush(), uvedit_select_is_any_selected(), uvedit_translate(), uvedit_unwrap(), uvedit_uv_select_set_with_sticky(), uvedit_uv_select_shared_vert(), uvedit_vertex_select_tagged(), v3d_editvertex_buts(), blender::ed::object::vertex_parent_set_exec(), verttag_set_cb(), blender::ed::object::vgroup_assign_verts(), blender::ed::object::vgroup_do_remap(), blender::ed::object::vgroup_normalize_active_vertex(), blender::ed::object::vgroup_parray_mirror_assign(), blender::ed::object::vgroup_parray_mirror_sync(), blender::ed::object::vgroup_smooth_subset(), blender::ed::object::vgroup_vert_active_mirror(), view3d_circle_select_recalc(), walker_deselect_nth(), walker_select(), and walker_select_count().
| blender::Array<std::array<BMLoop *, 3> > BMEditMesh::looptris |
Face triangulation (tessellation) is stored as triplets of three loops, which each define a triangle.
Definition at line 52 of file BKE_editmesh.hh.
Referenced by BKE_bmbvh_new_from_editmesh(), BKE_editmesh_copy(), BKE_editmesh_free_data(), BKE_editmesh_loop_tangent_calc(), BKE_editmesh_looptris_calc_ex(), BKE_editmesh_looptris_calc_with_partial_ex(), blender::draw::calc_adjacency_bm(), createTransEditVerts(), DRW_text_edit_mesh_measure_stats(), edbm_face_split_by_edges_exec(), edbm_intersect_boolean_exec(), edbm_intersect_exec(), blender::draw::extract_edituv_tris_bm(), blender::draw::extract_tris_bmesh(), knife_bm_tri_index_get(), knife_bvh_init(), knife_bvh_raycast_cb(), knife_find_line_hits(), knife_ray_intersect_face(), knifetool_init_obinfo(), set_lowest_face_tri(), stats_object_edit(), blender::draw::statvis_calc_intersect(), and blender::draw::statvis_calc_thickness().
| short BMEditMesh::mat_nr |
The active material (assigned to newly created faces).
Definition at line 57 of file BKE_editmesh.hh.
Referenced by BKE_editmesh_copy(), edbm_add_edge_face_exec(), edbm_fill_grid_exec(), and EDBM_select_pick().
| int BMEditMesh::mirror_cdlayer |
Temp variables for x-mirror editing (-1 when the layer does not exist).
Definition at line 60 of file BKE_editmesh.hh.
Referenced by EDBM_verts_mirror_cache_begin_ex(), EDBM_verts_mirror_cache_clear(), EDBM_verts_mirror_cache_end(), and EDBM_verts_mirror_get().
| char BMEditMesh::needs_flush_to_id |
ID data is older than edit-mode data. Set Main.is_memfile_undo_flush_needed when enabling.
Definition at line 66 of file BKE_editmesh.hh.
Referenced by mesh_undosys_step_decode(), and mesh_undosys_step_encode().
| short BMEditMesh::selectmode |
Selection mode (SCE_SELECT_VERTEX, SCE_SELECT_EDGE & SCE_SELECT_FACE).
Definition at line 55 of file BKE_editmesh.hh.
Referenced by BKE_editmesh_copy(), blender::ed::mesh::set_attribute::bmesh_loop_layer_selected_values_set(), createTransEditVerts(), createTransMeshSkin(), createTransMeshVertCData(), deselect_nth_active(), DRW_text_edit_mesh_measure_stats(), ED_transverts_create_from_obedit(), edbm_bevel_exit(), edbm_decimate_exec(), EDBM_deselect_flush(), edbm_dissolve_limited_exec(), edbm_dissolve_mode_exec(), edbm_elem_find_nearest(), EDBM_elem_from_selectmode(), edbm_extrude_htype_from_em_select(), edbm_extrude_mesh(), edbm_hide_exec(), edbm_merge_exec(), EDBM_mesh_hide(), EDBM_mesh_reveal(), edbm_region_to_loop_exec(), edbm_remove_doubles_exec(), EDBM_select_flush(), EDBM_select_less(), edbm_select_linked_exec(), edbm_select_linked_pick_exec(), edbm_select_loose_exec(), EDBM_select_mirrored(), EDBM_select_more(), edbm_select_random_exec(), EDBM_select_swap(), edbm_select_ungrouped_poll(), EDBM_selectmode_disable(), edbm_selectmode_ensure(), EDBM_selectmode_flush(), EDBM_selectmode_set(), EDBM_selectmode_set_multi(), edbm_selectmode_sync_multi_ex(), EDBM_selectmode_to_scene(), EDBM_selectmode_toggle_multi(), edbm_shortest_path_pick_invoke(), edbm_shortest_path_select_exec(), edbm_sort_elements_exec(), edbm_strip_selections(), edbm_unsubdivide_exec(), edbm_vert_or_edge_select_mode_poll(), knifetool_init(), merge_type_itemf(), mesh_circle_select(), mouse_mesh_loop(), ringsel_finish(), select_similar_type_itemf(), special_aftertrans_update__mesh(), stitch_init(), transform_convert_mesh_islands_calc(), uiTemplateEditModeSelection(), undomesh_from_editmesh(), undomesh_to_editmesh(), unified_findnearest(), uv_hide_exec(), uv_reveal_exec(), VertsToTransData(), and view3d_circle_select_recalc().