|
Blender
V2.93
|
#include <BKE_editmesh.h>
Public Attributes | |
| struct BMesh * | bm |
| struct BMEditMesh * | emcopy |
| int | emcopyusers |
| struct BMLoop *(* | looptris )[3] |
| int | tottri |
| struct Mesh * | mesh_eval_final |
| struct Mesh * | mesh_eval_cage |
| struct BoundBox * | bb_cage |
| CustomData_MeshMasks | lastDataMask |
| 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 stuff that doesn't belong in the BMesh struct itself.
the entire derivedmesh and modifier system works with this structure, and not BMesh. Mesh->edit_bmesh stores a pointer to this structure.
Definition at line 51 of file BKE_editmesh.h.
| struct BoundBox* BMEditMesh::bb_cage |
Cached cage bounding box for selection.
Definition at line 66 of file BKE_editmesh.h.
Referenced by BKE_editmesh_cage_boundbox_get(), BKE_editmesh_copy(), and BKE_editmesh_free_derivedmesh().
| struct BMesh* BMEditMesh::bm |
Definition at line 52 of file BKE_editmesh.h.
Referenced by applyNormalRotation(), armature_deform_coords_impl(), average_islands_scale_exec(), BKE_bmbvh_new_from_editmesh(), BKE_crazyspace_get_mapped_editverts(), BKE_crazyspace_set_quats_editmesh(), BKE_editmesh_cache_calc_minmax(), BKE_editmesh_cache_ensure_poly_centers(), BKE_editmesh_cache_ensure_poly_normals(), BKE_editmesh_cache_ensure_vert_normals(), BKE_editmesh_copy(), BKE_editmesh_create(), BKE_editmesh_free(), BKE_editmesh_lnorspace_update(), BKE_editmesh_loop_tangent_calc(), BKE_mesh_clear_facemap_customdata(), BKE_mesh_count_selected_items(), BKE_mesh_ensure_facemap_customdata(), BKE_mesh_ensure_skin_customdata(), BKE_mesh_foreach_mapped_edge(), BKE_mesh_foreach_mapped_face_center(), BKE_mesh_foreach_mapped_loop(), BKE_mesh_foreach_mapped_vert(), BKE_mesh_has_custom_loop_normals(), BKE_mesh_material_remap(), BKE_mesh_wrapper_edge_len(), BKE_mesh_wrapper_ensure_mdata(), BKE_mesh_wrapper_loop_len(), 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_object_defgroup_clear(), BKE_view_layer_filter_edit_mesh_has_edges(), BKE_view_layer_filter_edit_mesh_has_uvs(), bpy_bm_from_edit_mesh(), bvhtree_from_editmesh_edges_create_tree(), bvhtree_from_editmesh_verts_create_tree(), calc_ortho_extent(), construct_param_handle_multi(), construct_param_handle_subsurfed(), contarget_get_mesh_mat(), correct_uv_aspect(), correctivesmooth_modifier_do(), create_orco_mesh(), createEdgeSlideVerts_double_side(), createEdgeSlideVerts_single_side(), createTransEdge(), createTransEditVerts(), createTransMeshSkin(), createTransUVs(), createVertSlideVerts(), cube_project_exec(), curve_deform_coords_impl(), cylinder_project_exec(), deformVerts(), deformVerts_do(), delete_customdata_layer(), 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_active_dvert_get_em(), ED_mesh_color_add(), ED_mesh_mirror_get_vert(), ED_mesh_mirror_spatial_table_begin(), ED_mesh_mirrtopo_init(), ED_mesh_mirrtopo_recalc_check(), ED_mesh_sculpt_color_add(), ED_mesh_uv_loop_reset_ex(), ED_mesh_uv_texture_add(), ED_mesh_uv_texture_ensure(), ED_object_calc_active_center_for_editmode(), ED_object_data_xform_by_mat4(), ED_object_data_xform_create_ex(), ED_object_data_xform_restore(), ED_object_editmode_load_free_ex(), ED_operator_uvmap(), ED_space_image_auto_set(), ED_transform_calc_gizmo_stats(), ED_transverts_create_from_obedit(), ED_transverts_update_obedit(), ED_uvedit_ensure_uvs(), ED_uvedit_get_aspect(), ED_uvedit_live_unwrap_begin(), ED_uvedit_median_multi(), ED_uvedit_minmax_multi(), ED_uvedit_nearest_uv(), ED_uvedit_pack_islands_multi(), ED_uvedit_select_sync_flush(), ED_vgroup_mirror(), ED_vgroup_parray_alloc(), ED_vgroup_parray_mirror_assign(), ED_vgroup_parray_mirror_sync(), ED_vgroup_vert_active_mirror(), 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_exec(), edbm_hide_exec(), edbm_inset_calc(), edbm_inset_init(), edbm_intersect_boolean_exec(), edbm_intersect_exec(), edbm_intersect_select(), edbm_knife_cut_exec(), edbm_loop_multiselect_exec(), edbm_loop_to_region_exec(), edbm_mark_seam_exec(), edbm_mark_sharp_exec(), edbm_merge_exec(), EDBM_mesh_clear(), EDBM_mesh_deselect_all_multi_ex(), EDBM_mesh_elem_index_ensure_multi(), EDBM_mesh_hide(), EDBM_mesh_knife(), EDBM_mesh_load_ex(), EDBM_mesh_make(), EDBM_mesh_normals_update(), 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_free(), EDBM_redo_state_restore(), 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_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_generic(), 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(), edgetag_ensure_cd_flag(), editbmesh_calc_modifiers(), editbmesh_get_x_mirror_vert_spatial(), editbmesh_get_x_mirror_vert_topo(), editmesh_tessface_calc_intern(), face_map_assign_exec(), face_map_remove_from_exec(), fmap_select(), freeCustomNormalArray(), blender::ed::spreadsheet::GeometryDataSource::get_selected_element_indices(), get_vert_def_nr(), get_weights_array(), getTransformOrientation_ex(), give_parvert(), gizmo_mesh_spin_init_refresh(), gizmo_preselect_edgering_test_select(), gizmo_preselect_elem_test_select(), HC_relaxation_iteration_uv(), initNormalRotation(), initTransform(), key_block_get_data(), knife_make_cuts(), knife_make_face_cuts(), knifeproject_exec(), knifetool_init_bmbvh(), knifetool_invoke(), laplacian_relaxation_iteration_uv(), lattice_deform_coords_impl(), lineart_geometry_object_load(), 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_cd_ldata_get_from_mesh(), mesh_cd_vdata_get_from_mesh(), mesh_circle_select(), mesh_customdata_clear_exec__internal(), mesh_customdata_custom_splitnormals_add_exec(), mesh_customdata_custom_splitnormals_clear_exec(), mesh_customdata_get_type(), mesh_customdatacorrect_init_container(), mesh_foreachScreenEdge(), mesh_foreachScreenEdge_clip_bb_segment(), mesh_foreachScreenFace(), mesh_foreachScreenVert(), mesh_render_data_create(), mesh_set_smooth_faces(), mesh_skin_transdata_create(), mesh_symmetrize_exec(), mesh_symmetry_snap_exec(), minimize_stretch_exit(), minimize_stretch_iteration(), modifier_skin_customdata_delete(), modwrap_dependsOnNormals(), mouse_mesh_loop(), mouse_mesh_shortest_path_edge(), mouse_mesh_shortest_path_face(), mouse_mesh_shortest_path_vert(), mouse_mesh_uv_shortest_path_face(), mouse_mesh_uv_shortest_path_vert(), multires_customdata_delete(), multiresModifier_set_levels_from_disps(), normals_split_merge(), object_defgroup_remove_edit_mode(), object_fmap_remap_edit_mode(), object_fmap_remove_edit_mode(), object_origin_set_exec(), overlay_edit_uv_cache_populate(), point_normals_apply(), point_normals_init(), prepare_mesh_for_viewport_render(), raycastEditMesh(), return_editmesh_indexar(), return_editmesh_vgroup(), ringsel_find_edge(), ringsel_finish(), select_editbmesh_hook(), select_linked_delimit_end(), set_mapped_co(), shape_itemf(), shape_propagate(), similar_edge_select_exec(), similar_face_select_exec(), similar_vert_select_exec(), skin_loose_mark_clear_exec(), skin_radii_equalize_exec(), skin_root_mark_exec(), smart_project_exec(), snap_curs_to_sel_ex(), snap_mesh_polygon(), snap_object_data_editmesh_get(), snap_sel_to_grid_exec(), snap_selected_to_location(), snapEditMesh(), sort_bmelem_flag(), special_aftertrans_update__mesh(), sphere_project_exec(), stats_object_edit(), statvis_calc_distort(), statvis_calc_intersect(), statvis_calc_overhang(), statvis_calc_sharp(), stitch_calculate_edge_normal(), stitch_exit(), stitch_init(), stitch_invoke(), transform_convert_mesh_crazyspace_detect(), transform_convert_mesh_islands_calc(), transform_convert_mesh_mirrordata_calc(), transformEnd(), undomesh_from_editmesh(), undomesh_to_editmesh(), uv_box_select_exec(), uv_circle_select_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_map_clip_correct_multi(), uv_map_mirror(), uv_map_transform_calc_bounds(), uv_map_transform_calc_center_median(), uv_map_transform_center(), uv_mouse_select_multi(), uv_pin_exec(), uv_remove_doubles_to_selected(), uv_remove_doubles_to_unselected(), uv_reveal_exec(), uv_sculpt_stroke_apply(), uv_sculpt_stroke_init(), uv_select_all_perform(), uv_select_edgeloop(), uv_select_edgeloop_double_side_tag(), uv_select_edgeloop_single_side_tag(), uv_select_edgering(), uv_select_flush_from_tag_face(), uv_select_flush_from_tag_loop(), uv_select_flush_from_tag_sticky_loc_internal(), uv_select_linked_multi(), uv_select_more_less(), uv_select_overlap(), uv_select_pinned_exec(), uv_select_split_exec(), uv_shortest_path_pick_ex(), 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_edge_select_disable(), uvedit_edge_select_enable(), uvedit_face_select_disable(), uvedit_face_select_enable(), uvedit_have_selection(), uvedit_select_is_any_selected(), uvedit_translate(), uvedit_unwrap(), uvedit_uv_select_disable(), uvedit_uv_select_enable(), uvedit_vertex_select_tagged(), v3d_editvertex_buts(), vertex_parent_set_exec(), vgroup_assign_verts(), vgroup_copy_active_to_sel(), vgroup_copy_active_to_sel_single(), vgroup_do_remap(), vgroup_normalize_active_vertex(), vgroup_select_verts(), vgroup_smooth_subset(), walker_deselect_nth(), walker_select(), and walker_select_count().
| struct BMEditMesh* BMEditMesh::emcopy |
Definition at line 55 of file BKE_editmesh.h.
Referenced by EDBM_op_call_and_selectf(), EDBM_op_call_silentf(), EDBM_op_callf(), EDBM_op_finish(), and EDBM_op_init().
| int BMEditMesh::emcopyusers |
Definition at line 56 of file BKE_editmesh.h.
Referenced by EDBM_op_call_and_selectf(), EDBM_op_call_silentf(), EDBM_op_callf(), EDBM_op_finish(), and EDBM_op_init().
| CustomData_MeshMasks BMEditMesh::lastDataMask |
Definition at line 69 of file BKE_editmesh.h.
Referenced by editbmesh_build_data(), editbmesh_get_eval_cage(), and editbmesh_get_eval_cage_and_final().
| struct BMLoop*(* BMEditMesh::looptris)[3] |
Definition at line 56 of file BKE_editmesh.h.
Referenced by BKE_bmbvh_new_from_editmesh(), BKE_editmesh_copy(), BKE_editmesh_free(), BKE_editmesh_loop_tangent_calc(), bvhtree_from_editmesh_looptri_create_tree(), DRW_text_edit_mesh_measure_stats(), edbm_face_split_by_edges_exec(), edbm_intersect_boolean_exec(), edbm_intersect_exec(), EDBM_mesh_clear(), EDBM_op_finish(), editmesh_looptri_nearest_point(), editmesh_looptri_raycast_backface_culling_cb(), editmesh_looptri_spherecast(), editmesh_tessface_calc_intern(), knife_find_line_hits(), knife_ray_intersect_face(), mesh_extract_iter(), mesh_render_data_update_looptris(), raycastEditMesh(), set_lowest_face_tri(), and statvis_calc_intersect().
| short BMEditMesh::mat_nr |
Definition at line 73 of file BKE_editmesh.h.
Referenced by BKE_editmesh_copy(), edbm_add_edge_face_exec(), edbm_fill_grid_exec(), EDBM_mesh_make(), and EDBM_select_pick().
| struct Mesh * BMEditMesh::mesh_eval_cage |
Definition at line 63 of file BKE_editmesh.h.
Referenced by BKE_editmesh_cage_boundbox_get(), BKE_editmesh_copy(), BKE_editmesh_free_derivedmesh(), BKE_editmesh_looptri_calc(), BKE_modifier_get_evaluated_mesh_from_evaluated_object(), DRW_mesh_batch_cache_create_requested(), ED_transverts_create_from_obedit(), editbmesh_build_data(), editbmesh_get_eval_cage(), editbmesh_get_eval_cage_and_final(), mesh_data_from_duplicator_object(), mesh_render_data_create(), OVERLAY_wireframe_cache_populate(), and snap_object_data_editmesh_runtime_get().
| struct Mesh* BMEditMesh::mesh_eval_final |
Definition at line 63 of file BKE_editmesh.h.
Referenced by BKE_editmesh_copy(), BKE_editmesh_free_derivedmesh(), BKE_editmesh_looptri_calc(), BKE_modifier_get_evaluated_mesh_from_evaluated_object(), DRW_mesh_batch_cache_create_requested(), editbmesh_build_data(), editbmesh_get_eval_cage_and_final(), editmesh_eval_final_is_bmesh(), editmesh_final_or_this(), give_parvert(), mesh_new_from_mesh_object(), mesh_render_data_create(), OVERLAY_wireframe_cache_populate(), raycast_obj_fn(), snap_obj_fn(), and snap_object_data_editmesh_runtime_get().
| int BMEditMesh::mirror_cdlayer |
Definition at line 76 of file BKE_editmesh.h.
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 82 of file BKE_editmesh.h.
Referenced by BKE_object_data_editmode_flush_ptr_get(), mesh_undosys_step_decode(), and mesh_undosys_step_encode().
| short BMEditMesh::selectmode |
Definition at line 72 of file BKE_editmesh.h.
Referenced by BKE_editmesh_copy(), createTransEditVerts(), createTransMeshSkin(), 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_make(), 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_non_manifold_exec(), 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_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(), knifetool_init(), merge_type_itemf(), mouse_mesh_loop(), ringsel_finish(), select_similar_type_itemf(), special_aftertrans_update__mesh(), transform_convert_mesh_islands_calc(), transformops_loopsel_hack(), uiTemplateEditModeSelection(), undomesh_to_editmesh(), unified_findnearest(), uv_hide_exec(), uv_reveal_exec(), and VertsToTransData().
| int BMEditMesh::tottri |
Definition at line 61 of file BKE_editmesh.h.
Referenced by BKE_bmbvh_new_from_editmesh(), BKE_editmesh_loop_tangent_calc(), bvhtree_from_editmesh_looptri_create_tree(), edbm_face_split_by_edges_exec(), edbm_intersect_boolean_exec(), edbm_intersect_exec(), EDBM_mesh_clear(), editmesh_tessface_calc_intern(), knife_ray_intersect_face(), raycastEditMesh(), and stats_object_edit().