Blender V5.0
BMEdge Struct Reference

#include <bmesh_class.hh>

Public Attributes

BMHeader head
BMVertv1
BMVertv2
struct BMLoopl
BMDiskLink v1_disk_link
BMDiskLink v2_disk_link

Detailed Description

Definition at line 120 of file bmesh_class.hh.

Member Data Documentation

◆ head

◆ l

struct BMLoop* BMEdge::l

The list of loops around the edge, see doc-string for BMLoop.radial_next for an example of using this to loop over all faces used by an edge.

Definition at line 138 of file bmesh_class.hh.

Referenced by bm_edge_collapse(), bm_edge_collapse_is_degenerate_topology(), BM_edge_ordered_verts(), BM_edge_pair_share_face_by_len(), BM_edge_rotate(), BM_edge_share_face_check(), BM_edge_share_quad_check(), BM_edge_splice(), BM_edge_split(), BM_editselection_plane(), bm_extrude_region_edge_flag(), BM_face_exists(), BM_face_split_n(), bm_face_triangulate(), bm_loop_region_count__clear(), BM_loop_vert_uvselect_check_other_edge(), BM_loop_vert_uvselect_check_other_face(), BM_loop_vert_uvselect_check_other_loop_edge(), BM_loop_vert_uvselect_check_other_loop_vert(), BM_loop_vert_uvselect_set_shared(), BM_mesh_calc_edge_groups_as_arrays(), BM_mesh_decimate_dissolve_ex(), bm_mesh_loops_calc_normals_for_vert_with_clnors(), bm_mesh_loops_calc_normals_for_vert_without_clnors(), BM_mesh_partial_create_from_verts(), BM_mesh_separate_faces(), bm_rotate_edges_shared(), bm_vert_calc_normals_impl(), bm_vert_calc_normals_with_coords(), BM_vert_collapse_faces(), bm_vert_collapse_is_degenerate(), BM_vert_edge_count_nonwire(), BM_vert_face_check(), BM_vert_hide_set(), bm_vert_in_faces_radial(), BM_vert_is_manifold(), BM_vert_is_wire(), BM_vert_other_disk_edge(), bm_vert_uvselect_set_pick(), bmesh_disk_faceedge_find_first(), bmesh_disk_faceedge_find_next(), bmesh_disk_faceloop_find_first(), bmesh_disk_faceloop_find_first_visible(), bmesh_disk_facevert_count(), bmesh_disk_facevert_count_at_most(), bmesh_find_doubles_by_distance_connected_impl(), bmesh_kernel_edge_separate(), bmesh_kernel_join_edge_kill_vert(), bmesh_kernel_join_vert_kill_edge(), bmesh_kernel_loop_reverse(), bmesh_kernel_split_edge_make_vert(), bmesh_kernel_unglue_region_make_vert_multi(), blender::ed::transform::bmesh_test_loose_edge(), bmiter__face_of_edge_begin(), bmiter__face_of_vert_step(), bmiter__loop_of_edge_begin(), bmiter__loop_of_vert_step(), bmo_edge_copy(), bmo_extrude_face_region_exec(), bmo_inset_region_exec(), bmw_EdgeLoopWalker_step(), edbm_edge_split_selected_verts(), edbm_extrude_edge_exclude_mirror(), edbm_polybuild_face_at_cursor_invoke(), edbm_rip_edge_invoke(), edbm_rip_invoke__edge(), edbm_rip_invoke__vert(), edbm_ripsel_edge_uid_step(), edgering_find_order(), edgetag_add_adjacent(), edgetag_add_adjacent_uv(), blender::draw::extract_lines_bm(), fast_bevel_edge_order(), blender::ed::transform::getTransformOrientation_ex(), blender::draw::mesh_render_data_loose_edges_bm(), reprioritize_join(), uvedit_uv_select_flush_from_tag_sticky_loc_internal(), uvedit_uv_select_shared_vert(), uvedit_vert_is_edge_select_any_other(), and blender::ed::sculpt_paint::hide::vert_all_faces_visible_get().

◆ v1

BMVert* BMEdge::v1

Vertices (unordered),

Although the order can be used at times, when extruding a face from a wire-edge for example.

Operations that create/subdivide edges shouldn't flip the order unless there is a good reason to do so.

Definition at line 132 of file bmesh_class.hh.

Referenced by bev_create_ngon(), bevel_build_edge_polygons(), BKE_mesh_foreach_mapped_edge(), bm_edge_collapse_is_degenerate_topology(), bm_edge_copy_with_arrays(), bm_edge_length_cmp(), BM_edge_share_vert(), BM_edge_share_vert_check(), BM_edge_splice(), bm_edge_symmetry_check_cb(), bm_edgenet_path_calc(), bm_edges_form_cyclic_chain(), bm_edgexedge_isect_cb(), bm_edgexedge_isect_impl(), BM_editselection_center(), BM_editselection_normal(), BM_editselection_plane(), bm_face_copy_impl(), bm_face_region_pivot_edge_use_best(), bm_face_split_edge_find(), BM_face_split_edgenet_connect_islands(), bm_face_split_edgenet_find_connection(), BM_faces_join(), BM_mesh_decimate_dissolve_ex(), BM_mesh_intersect_edges(), BM_mesh_remap(), bm_subdivide_edge_addvert(), bm_subdivide_multicut(), bm_vert_calc_normals_accum_loop(), bm_vert_calc_normals_impl(), bm_vert_calc_normals_with_coords(), bm_vert_collapse_edge_and_merge(), bm_vert_connect_select_history_edge_to_vert_path(), bm_vert_pair_share_best_splittable_face_cb(), bmesh_kernel_join_face_kill_edge(), bmesh_kernel_vert_separate__cleanup(), bmiter__vert_of_edge_step(), bmo_edge_copy(), bmo_extrude_edge_only_exec(), bmo_extrude_face_region_exec(), bmo_inset_region_exec(), bmo_subdivide_edges_exec(), bpy_bm_utils_edge_split(), bpy_bm_utils_vert_collapse_edge(), bpy_bm_utils_vert_collapse_faces(), coinciding_edges(), collapse_face_corners(), blender::ed::transform::createTransEdge(), DRW_text_edit_mesh_measure_stats(), ED_mesh_mirrtopo_init(), ED_transverts_create_from_obedit(), edbm_dupli_extrude_cursor_invoke(), edbm_edge_split_selected_verts(), edbm_extrude_edge_exclude_mirror(), edbm_face_split_by_edges_exec(), edbm_fill_grid_split_join_init(), edbm_mark_sharp_exec(), edbm_polybuild_face_at_cursor_invoke(), edbm_polybuild_split_at_cursor_invoke(), edbm_ripsel_looptag_helper(), edbm_select_linked_exec(), edbm_tagged_loop_pairs_do_fill_faces(), edbm_tagged_loop_pairs_to_fill(), edge_edge_angle_less_than_180(), edge_length_squared_worldspace_get(), edge_pos_direction_worldspace_get(), edgering_find_order(), edgetag_cut_cost_face(), find_closer_edge(), find_nearest_edge__doClosest(), geometry_collide_offset(), get_initial_edge_y(), get_uv_edge_needle(), blender::ed::transform::getTransformOrientation_ex(), blender::bke::pbvh::is_edge_adjacent_to_boundary(), blender::bke::pbvh::merge_flap_edge_data(), blender::draw::mesh_render_data_edge_flag(), mouse_mesh_loop(), multires_unsubdivide_extract_single_grid_from_face_edge(), multires_unsubdivide_get_grid_corners_on_base_mesh(), next_edgehalf_bev(), projected_boundary_area(), regularize_profile_orientation(), ringsel_finish(), seam_connected_recursive(), sort_bmelem_flag(), square_out_adj_vmesh(), tri_3edge_subdivide(), uv_select_edgeloop_double_side_tag(), uv_select_edgeloop_single_side_tag(), view3d_preselect_mesh_edgering_update_edges_from_edge(), view3d_preselect_mesh_edgering_update_verts_from_edge(), view3d_preselect_mesh_elem_update_from_edge(), view3d_preselect_mesh_elem_update_from_face(), view3d_preselect_update_preview_triangle_from_edge(), view3d_preselect_update_preview_triangle_from_face(), view3d_preselect_update_preview_triangle_from_vert(), and walker_deselect_nth_edge_chain().

◆ v1_disk_link

BMDiskLink BMEdge::v1_disk_link

Disk Cycle Pointers

relative data: d1 indicates the next/prev edge around vertex v1 and d2 does the same for v2.

Definition at line 146 of file bmesh_class.hh.

Referenced by BM_mesh_remap().

◆ v2

BMVert * BMEdge::v2

Definition at line 132 of file bmesh_class.hh.

Referenced by bev_create_ngon(), bevel_build_edge_polygons(), bevel_vert_construct(), BKE_mesh_foreach_mapped_edge(), bm_edge_collapse_is_degenerate_topology(), bm_edge_copy_with_arrays(), bm_edge_length_cmp(), BM_edge_share_vert(), BM_edge_share_vert_check(), BM_edge_splice(), bm_edge_symmetry_check_cb(), bm_edgenet_path_calc(), bm_edgexedge_isect_cb(), bm_edgexedge_isect_impl(), BM_editselection_center(), BM_editselection_normal(), BM_editselection_plane(), bm_face_region_pivot_edge_use_best(), bm_face_split_edge_find(), bm_face_split_edgenet_find_connection(), BM_faces_join(), BM_mesh_decimate_dissolve_ex(), BM_mesh_intersect_edges(), BM_mesh_remap(), bm_subdivide_edge_addvert(), bm_subdivide_multicut(), bm_vert_calc_normals_impl(), bm_vert_calc_normals_with_coords(), bm_vert_collapse_edge_and_merge(), bm_vert_connect_select_history_edge_to_vert_path(), bm_vert_pair_share_best_splittable_face_cb(), bmesh_kernel_join_face_kill_edge(), bmesh_kernel_vert_separate__cleanup(), bmiter__vert_of_edge_step(), bmo_edge_copy(), bmo_extrude_edge_only_exec(), bmo_extrude_face_region_exec(), bmo_inset_region_exec(), bmo_subdivide_edges_exec(), bpy_bm_utils_edge_split(), bpy_bm_utils_vert_collapse_edge(), bpy_bm_utils_vert_collapse_faces(), coinciding_edges(), collapse_face_corners(), blender::ed::transform::createTransEdge(), DRW_text_edit_mesh_measure_stats(), ED_mesh_mirrtopo_init(), ED_transverts_create_from_obedit(), edbm_dupli_extrude_cursor_invoke(), edbm_edge_split_selected_verts(), edbm_extrude_edge_exclude_mirror(), edbm_fill_grid_split_join_init(), edbm_mark_sharp_exec(), edbm_polybuild_face_at_cursor_invoke(), edbm_polybuild_split_at_cursor_invoke(), edbm_select_linked_exec(), edbm_tagged_loop_pairs_do_fill_faces(), edge_edge_angle_less_than_180(), edge_length_squared_worldspace_get(), edge_pos_direction_worldspace_get(), edgering_find_order(), find_closer_edge(), find_nearest_edge__doClosest(), geometry_collide_offset(), get_initial_edge_y(), get_uv_edge_needle(), blender::ed::transform::getTransformOrientation_ex(), blender::bke::pbvh::is_edge_adjacent_to_boundary(), blender::bke::pbvh::merge_flap_edge_data(), blender::draw::mesh_render_data_edge_flag(), mouse_mesh_loop(), multires_unsubdivide_extract_single_grid_from_face_edge(), multires_unsubdivide_get_grid_corners_on_base_mesh(), next_edgehalf_bev(), projected_boundary_area(), ringsel_finish(), seam_connected_recursive(), sort_bmelem_flag(), square_out_adj_vmesh(), tri_3edge_subdivide(), uv_select_edgeloop_double_side_tag(), uv_select_edgeloop_single_side_tag(), view3d_preselect_mesh_edgering_update_edges_from_edge(), view3d_preselect_update_preview_triangle_from_edge(), and view3d_preselect_update_preview_triangle_from_vert().

◆ v2_disk_link

BMDiskLink BMEdge::v2_disk_link

Definition at line 146 of file bmesh_class.hh.

Referenced by BM_mesh_remap().


The documentation for this struct was generated from the following file: