|
Blender V5.0
|
#include "BLI_assert.h"#include "BLI_sys_types.h"#include "DNA_customdata_types.h"#include "DNA_listBase.h"Go to the source code of this file.
Classes | |
| struct | BMHeader |
| struct | BMVert |
| struct | BMVert_OFlag |
| struct | BMDiskLink |
| struct | BMEdge |
| struct | BMEdge_OFlag |
| struct | BMLoop |
| struct | BMElemF |
| struct | BMElem |
| struct | BMFace |
| struct | BMFace_OFlag |
| struct | BMFlagLayer |
| struct | BMesh |
| struct | BMLoopNorEditData |
| struct | BMLoopNorEditDataArray |
Typedefs | |
| using | BMElemFilterFunc = bool (*)(const BMElem *, void *user_data) |
| using | BMVertFilterFunc = bool (*)(const BMVert *, void *user_data) |
| using | BMEdgeFilterFunc = bool (*)(const BMEdge *, void *user_data) |
| using | BMFaceFilterFunc = bool (*)(const BMFace *, void *user_data) |
| using | BMLoopFilterFunc = bool (*)(const BMLoop *, void *user_data) |
| using | BMLoopPairFilterFunc = bool (*)(const BMLoop *, const BMLoop *, void *user_data) |
Enumerations | |
| enum | { BM_VERT = 1 , BM_EDGE = 2 , BM_LOOP = 4 , BM_FACE = 8 } |
| enum | { BM_SPACEARR_DIRTY = 1 << 0 , BM_SPACEARR_DIRTY_ALL = 1 << 1 , BM_SPACEARR_BMO_SET = 1 << 2 } |
| enum | { BM_ELEM_SELECT = (1 << 0) , BM_ELEM_HIDDEN = (1 << 1) , BM_ELEM_SEAM = (1 << 2) , BM_ELEM_SMOOTH = (1 << 3) , BM_ELEM_TAG = (1 << 4) , BM_ELEM_SELECT_UV = (1 << 5) , BM_ELEM_TAG_ALT = (1 << 6) , BM_ELEM_INTERNAL_TAG = (1 << 7) } |
Functions | |
| BLI_STATIC_ASSERT ((sizeof(BMHeader)<=16), "BMHeader size has grown!") | |
| void | bpy_bm_generic_invalidate (struct BPy_BMGeneric *self) |
BMesh data structures, used for mesh editing operations that benefit from accessing connectivity information.
Definition in file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_EDGE_CONST const BMEdge *, const BMEdge_OFlag * |
Definition at line 489 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_EDGE_NONCONST BMEdge *, BMEdge_OFlag * |
Definition at line 488 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_ELEM_CONST |
Definition at line 468 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_ELEM_NONCONST |
Definition at line 464 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_FACE_CONST const BMFace *, const BMFace_OFlag * |
Definition at line 496 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_FACE_NONCONST BMFace *, BMFace_OFlag * |
Definition at line 495 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_VERT_CONST const BMVert *, const BMVert_OFlag * |
Definition at line 482 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_VERT_NONCONST BMVert *, BMVert_OFlag * |
Definition at line 481 of file bmesh_class.hh.
Definition at line 453 of file bmesh_class.hh.
Referenced by BM_mesh_decimate_collapse(), BM_mesh_is_valid(), and mesh_separate_arrays().
Definition at line 454 of file bmesh_class.hh.
Referenced by _bmo_slot_copy(), BM_mesh_delete_hflag_context(), BM_mesh_elem_count(), BM_mesh_elem_hflag_disable_test(), BM_mesh_elem_hflag_enable_test(), BM_mesh_elem_table_ensure(), BM_mesh_elem_table_init(), BM_mesh_esubdivide(), bm_mesh_flag_count(), bmo_bisect_edges_exec(), bmo_bisect_plane_exec(), bmo_delete_exec(), bmo_duplicate_exec(), bmo_extrude_edge_only_exec(), BMO_mesh_delete_oflag_context(), bmo_mirror_exec(), bmo_region_extend_exec(), BMO_slot_buffer_flag_disable(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_all(), bmo_slot_buffer_from_flag(), bmo_slot_buffer_from_hflag(), BMO_slot_buffer_hflag_disable(), BMO_slot_buffer_hflag_enable(), bmo_split_exec(), bmo_subdivide_edges_exec(), bmo_symmetrize_exec(), bpy_slot_from_py(), build_hull(), edbm_duplicate_exec(), edbm_extrude_ex(), edbm_extrude_htype_from_em_select(), edbm_extrude_repeat_exec(), edbm_fill_grid_split_join_finish(), EDBM_op_call_and_selectf(), edbm_screw_exec(), EDBM_select_less(), EDBM_select_more(), edbm_spin_exec(), edbm_split_exec(), and mesh_symmetrize_exec().
| #define BM_CHECK_TYPE_EDGE | ( | ele | ) |
Definition at line 492 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_EDGE_CONST | ( | ele | ) |
Definition at line 490 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_EDGE_NONCONST | ( | ele | ) |
Definition at line 491 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_ELEM | ( | ele | ) |
Definition at line 477 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_ELEM_ASSIGN | ( | ele | ) |
Assignment from a void* to a typed pointer is not allowed in C++, casting the LHS to void works fine though.
Definition at line 506 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_ELEM_CONST | ( | ele | ) |
Definition at line 473 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_ELEM_NONCONST | ( | ele | ) |
Definition at line 475 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_FACE | ( | ele | ) |
Definition at line 499 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_FACE_CONST | ( | ele | ) |
Definition at line 497 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_FACE_NONCONST | ( | ele | ) |
Definition at line 498 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_VERT | ( | ele | ) |
Definition at line 485 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_VERT_CONST | ( | ele | ) |
Definition at line 483 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_VERT_NONCONST | ( | ele | ) |
Definition at line 484 of file bmesh_class.hh.
| #define BM_DEFAULT_ITER_STACK_SIZE 16 |
Size to use for stack arrays dealing with connected mesh data verts of faces, edges of vert - etc. often used with BM_iter_as_arrayN().
Definition at line 703 of file bmesh_class.hh.
| #define BM_DEFAULT_NGON_STACK_SIZE 32 |
Size to use for stack arrays when dealing with NGons, allocate after this limit is reached. this value is rather arbitrary.
Definition at line 697 of file bmesh_class.hh.
Definition at line 682 of file bmesh_class.hh.
Referenced by bevel_extend_edge_data_ex(), bm_extrude_region_edge_flag(), BM_face_exists(), bm_face_split_edge_find(), BM_face_split_edgenet_connect_islands(), bm_face_split_edgenet_find_loop_pair(), bm_face_split_edgenet_find_loop_pair_exists(), bm_face_split_edgenet_find_loop_walk(), bm_face_split_edgenet_partial_connect(), bm_loop_region_count__clear(), BM_mesh_calc_edge_groups_as_arrays(), BM_mesh_intersect(), BM_mesh_intersect_edges(), 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_vert_calc_normals_impl(), bm_vert_calc_normals_with_coords(), BM_vert_edge_pair(), bm_vert_is_delimiter(), BM_vert_is_edge_pair(), BM_vert_is_edge_pair_manifold(), bm_vert_other_edge(), bm_vert_pair_ends(), BM_vert_separate_hflag(), BM_vert_separate_tested_edges(), BM_vert_splice_check_double(), bmesh_find_doubles_by_distance_connected_impl(), bmo_dissolve_verts_exec(), bmo_extrude_face_region_exec(), bmo_find_end_of_chain(), bmw_LoopShellWireWalker_visitVert(), edbm_edge_split_selected_verts(), edbm_polybuild_face_at_cursor_invoke(), blender::bke::pbvh::is_boundary_vert(), mesh_calc_path_region_elem(), uvedit_uv_select_flush_from_tag_sticky_loc_internal(), uvedit_uv_select_shared_vert(), uvedit_vert_is_edge_select_any_other(), blender::ed::sculpt_paint::hide::vert_all_faces_visible_get(), and view3d_preselect_update_preview_triangle_from_vert().
Definition at line 687 of file bmesh_class.hh.
| #define BM_ELEM_CD_GET_BOOL | ( | ele, | |
| offset ) |
Definition at line 573 of file bmesh_class.hh.
Referenced by blender::bm_face_loop_table_build(), construct_param_handle_face_add(), edbm_select_by_attribute_exec(), edgetag_test_cb(), get_uv_edge_needle(), get_uv_face_needle(), get_uv_vert_needle(), island_has_pins(), blender::draw::mesh_render_data_edge_flag(), blender::draw::mesh_render_data_face_flag(), blender::draw::mesh_render_data_loop_flag(), similar_edge_select_exec(), similar_face_select_exec(), texface_from_original_index(), uv_box_select_exec(), uv_pin_exec(), uv_sculpt_stroke_init(), uv_select_pinned_exec(), uvedit_prepare_pinned_indices(), and uvedit_uv_straighten_elements().
| #define BM_ELEM_CD_GET_BOOL_P | ( | ele, | |
| offset ) |
| #define BM_ELEM_CD_GET_FLOAT | ( | ele, | |
| offset ) |
Definition at line 610 of file bmesh_class.hh.
Referenced by blender::ed::sculpt_paint::expand::any_nonzero_mask(), blender::ed::sculpt_paint::mask::average_masks(), bevel_vert_construct(), blender::bke::pbvh::check_mask(), blender::ed::sculpt_paint::mask::copy_old_hidden_mask_bmesh(), blender::ed::sculpt_paint::mask::duplicate_mask(), edgetag_test_cb(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::ed::sculpt_paint::mask::fill_mask_bmesh(), blender::ed::sculpt_paint::mask::gather_mask_bmesh(), geometry_extract_tag_masked_faces(), blender::ed::sculpt_paint::mask::gesture_apply_for_symmetry_pass(), blender::ed::sculpt_paint::mask::grow_mask_bmesh(), blender::ed::sculpt_paint::boundary::init_falloff_bmesh(), blender::ed::sculpt_paint::mask::invert_mask_bmesh(), blender::ed::sculpt_paint::mask::mask_equals_array_bmesh(), blender::draw::mesh_render_data_edge_flag(), blender::draw::mesh_render_data_vert_flag(), modify_mesh(), blender::bke::pbvh::node_update_mask_bmesh(), offset_meet_lines_percent_or_absolute(), offset_on_edge_between(), blender::ed::sculpt_paint::hide::partialvis_masked_update_bmesh(), blender::bke::pbvh::pbvh_bmesh_collapse_edge(), blender::ed::sculpt_paint::mask::shrink_mask_bmesh(), slice_paint_mask(), blender::ed::sculpt_paint::expand::update_mask_bmesh(), v3d_editvertex_buts(), and vert_mask_get().
| #define BM_ELEM_CD_GET_FLOAT2_P | ( | ele, | |
| offset ) |
Definition at line 644 of file bmesh_class.hh.
Referenced by BM_face_uv_calc_cross(), BM_face_uv_point_inside_test(), blender::draw::extract_uv_stretch_angle_bm(), HC_relaxation_iteration_uv(), laplacian_relaxation_iteration_uv(), relaxation_iteration_uv(), uv_sculpt_stroke_apply(), and uv_sculpt_stroke_init().
| #define BM_ELEM_CD_GET_FLOAT3_P | ( | ele, | |
| offset ) |
Definition at line 647 of file bmesh_class.hh.
| #define BM_ELEM_CD_GET_FLOAT_AS_UCHAR | ( | ele, | |
| offset ) |
Definition at line 671 of file bmesh_class.hh.
| #define BM_ELEM_CD_GET_FLOAT_P | ( | ele, | |
| offset ) |
Definition at line 641 of file bmesh_class.hh.
Referenced by UV_ClipboardBuffer::append(), bevel_merge_uvs(), BM_edge_uv_share_vert_check(), BM_face_calc_area_uv_signed(), blender::draw::bm_face_no_get(), bm_face_reverse_uvs(), BM_face_uv_calc_center_median(), BM_face_uv_minmax(), bm_lnorspace_ensure_from_free_normals(), bm_loop_calc_uv_angle_from_dir(), blender::ed::transform::bm_loop_uv_calc_opposite_co(), bm_loop_uv_select_single_vert_validate(), BM_loop_uv_share_edge_check(), BM_loop_uv_share_vert_check(), BM_mesh_calc_uvs_circle(), BM_mesh_calc_uvs_cone(), BM_mesh_calc_uvs_cube(), BM_mesh_calc_uvs_grid(), BM_mesh_calc_uvs_sphere(), bm_mesh_calc_uvs_sphere_face(), BM_uv_element_map_create(), BM_uv_vert_map_create(), blender::draw::bm_vert_no_get(), bmo_create_icosphere_exec(), bmo_create_monkey_exec(), bmo_rotate_uvs_exec(), BPy_BMLoopUV_AssignPyObject(), BPy_BMLoopUV_CreatePyObject(), construct_param_edge_set_seams(), construct_param_handle_face_add(), blender::ed::transform::createTransUVs(), determine_uv_vert_connectivity(), do_lasso_select_mesh_uv(), ED_uvedit_foreach_uv(), edgetag_cut_cost_face_uv(), edgetag_cut_cost_vert_uv(), facetag_cut_cost_edge_uv(), facetag_cut_cost_vert_uv(), get_uv_edge_needle(), blender::ed::transform::UVGroups::init(), blender::ed::transform::isect_face_dst(), island_uv_transform(), loop_uv_match(), blender::ed::transform::mesh_uv_group_is_inner(), seam_connected(), seam_connected_recursive(), shrink_loop_uv_by_aspect_ratio(), similar_edge_select_exec(), similar_vert_select_exec(), smart_project_exec(), stitch_calculate_edge_normal(), stitch_calculate_island_snapping(), stitch_check_edges_stitchable(), stitch_check_uvs_stitchable(), stitch_island_calculate_edge_rotation(), stitch_process_data(), stitch_propagate_uv_final_position(), texface_from_original_index(), blender::ed::transform::transform_mesh_uv_edge_slide_data_create(), blender::ed::transform::transform_mesh_uv_vert_slide_data_create(), uv_aspect(), uv_box_select_exec(), uv_circle_select_exec(), uv_copy_mirrored_faces(), uv_cylinder_project(), uv_find_nearest_edge(), uv_find_nearest_loop_from_edge(), uv_find_nearest_loop_from_vert(), uv_find_nearest_vert(), uv_from_view_exec(), uv_map_clip_correct(), uv_map_mirror(), uv_nearest_between(), uv_remove_doubles_to_selected_shared_vertex(), uv_rip_pairs_calc_center_and_direction(), uv_rip_pairs_calc_uv_angle(), uv_rip_pairs_loop_count_on_side(), uv_rip_single_from_loop(), uv_select_overlap(), blender::ed::transform::uv_set_connectivity_distance(), uv_snap_uvs_to_adjacent_unselected(), uv_sphere_project(), uvedit_center(), uvedit_first_selected_uv_from_vertex(), uvedit_nearest_uv(), uvedit_pack_islands_multi(), uvedit_prepare_pinned_indices(), uvedit_translate(), uvedit_unwrap_cube_project(), uvedit_uv_islands_arrange(), uvedit_uv_straighten_elements(), verttag_add_adjacent_uv(), verttag_set_cb(), verttag_test_cb(), and UV_ClipboardBuffer::write_uvs().
| #define BM_ELEM_CD_GET_INT | ( | ele, | |
| offset ) |
Definition at line 562 of file bmesh_class.hh.
Referenced by bm_to_mesh_shape(), bm_to_mesh_vertex_map(), geometry_extract_tag_face_set(), multires_unsubdivide_extract_grids(), blender::bke::pbvh::pbvh_bmesh_collapse_short_edges(), blender::bke::pbvh::pbvh_bmesh_create_nodes_fast_recursive(), blender::bke::pbvh::pbvh_bmesh_node_finalize(), blender::bke::pbvh::pbvh_bmesh_node_index_from_face(), blender::bke::pbvh::pbvh_bmesh_node_index_from_vert(), blender::bke::pbvh::pbvh_bmesh_split_edge(), blender::bke::pbvh::pbvh_bmesh_subdivide_long_edges(), and blender::ed::sculpt_paint::face_set::vert_has_face_set().
| #define BM_ELEM_CD_GET_VOID_P | ( | ele, | |
| offset ) |
Definition at line 598 of file bmesh_class.hh.
Referenced by alter_co(), blender::bke::armature_vert_task_editmesh(), blender::ed::object::bake_targets_output_vertex_colors(), bevel_harden_normals(), bevel_set_weighted_normal_face_strength(), BKE_object_defgroup_clear(), BM_custom_loop_normals_to_vector_layer(), BM_edge_is_contiguous_loop_cd(), BM_face_multires_bounds_smooth(), bm_face_reverse_colors(), BM_lnorspace_rebuild(), bm_loop_customdata_merge(), BM_loop_interp_multires_ex(), bm_loop_walk_add(), bm_loop_walk_data(), BM_mesh_bm_from_me(), bm_mesh_loops_assign_normal_data(), bm_mesh_loops_calc_normals_for_loop(), bm_mesh_loops_custom_normals_set(), BM_mesh_remap(), BM_mesh_wireframe(), bm_to_mesh_shape(), BM_uv_element_map_create(), BM_vert_loop_groups_data_layer_create(), bmesh_kernel_loop_reverse(), bmo_average_vert_facedata_exec(), bmo_collapsecon_do_layer(), bmo_pointmerge_facedata_exec(), bmo_rotate_colors_exec(), bmo_subdivide_edges_exec(), bmo_transform_exec(), bmw_UVEdgeWalker_step(), construct_param_handle_face_add(), blender::ed::transform::createTransEdge(), blender::ed::transform::createTransMeshVertCData(), curve_deform_coords_impl(), deformVerts_do(), ED_mesh_active_dvert_get_em(), edbm_average_normals_exec(), edbm_decimate_exec(), edbm_mod_weighted_strength_exec(), edbm_select_ungrouped_exec(), edbm_set_normals_from_faces_exec(), edbm_smooth_normals_exec(), blender::draw::extract_skin_roots(), blender::ed::sculpt_paint::fill_bm_face_or_corner_attribute(), blender::ed::object::get_vert_def_nr(), get_weights_array(), SGLSLEditMeshToTangent::GetTexCoord(), lattice_vert_task_editmesh(), loop_interp_multires_cb(), loop_normal_editdata_init(), blender::ed::object::mesh_defvert_mirror_update_em(), normals_split(), object_defgroup_remove_edit_mode(), reset_uvs_bmesh(), blender::ed::object::return_editmesh_vgroup(), similar_vert_select_exec(), blender::ed::object::skin_root_clear(), blender::ed::object::skin_root_mark_exec(), v3d_editvertex_buts(), blender::ed::object::vgroup_assign_verts(), blender::ed::object::vgroup_copy_active_to_sel(), blender::ed::object::vgroup_copy_active_to_sel_single(), blender::ed::object::vgroup_do_remap(), blender::ed::object::vgroup_mirror(), blender::ed::object::vgroup_parray_alloc(), and blender::ed::object::vgroup_select_verts().
| #define BM_ELEM_CD_SET_BOOL | ( | ele, | |
| offset, | |||
| f ) |
Definition at line 565 of file bmesh_class.hh.
Referenced by BPy_BMLoopUV_AssignPyObject(), edgetag_set_cb(), and uv_pin_exec().
| #define BM_ELEM_CD_SET_FLOAT | ( | ele, | |
| offset, | |||
| f ) |
Definition at line 602 of file bmesh_class.hh.
Referenced by BM_mesh_wireframe(), edgetag_set_cb(), blender::ed::sculpt_paint::mask::fill_mask_bmesh(), blender::ed::sculpt_paint::mask::gesture_apply_for_symmetry_pass(), blender::ed::sculpt_paint::mask::invert_mask_bmesh(), blender::ed::sculpt_paint::undo::restore_mask_from_undo_step(), blender::ed::sculpt_paint::mask::scatter_mask_bmesh(), blender::ed::sculpt_paint::mask::sculpt_mask_init_exec(), blender::ed::sculpt_paint::expand::update_mask_bmesh(), vert_mask_set(), and blender::ed::sculpt_paint::expand::write_mask_data().
| #define BM_ELEM_CD_SET_FLOAT2 | ( | ele, | |
| offset, | |||
| f ) |
Definition at line 652 of file bmesh_class.hh.
| #define BM_ELEM_CD_SET_FLOAT3 | ( | ele, | |
| offset, | |||
| f ) |
Definition at line 661 of file bmesh_class.hh.
| #define BM_ELEM_CD_SET_INT | ( | ele, | |
| offset, | |||
| f ) |
Definition at line 554 of file bmesh_class.hh.
Referenced by bm_log_faces_restore(), BM_mesh_bm_from_me(), blender::ed::sculpt_paint::face_set::ensure_face_sets_bmesh(), blender::bke::pbvh::Tree::from_bmesh(), blender::ed::sculpt_paint::face_set::gesture_apply_bmesh(), blender::bke::pbvh::pbvh_bmesh_create_nodes_fast_recursive(), blender::bke::pbvh::pbvh_bmesh_face_create(), blender::bke::pbvh::pbvh_bmesh_face_remove(), blender::bke::pbvh::pbvh_bmesh_node_finalize(), blender::bke::pbvh::pbvh_bmesh_node_split(), blender::bke::pbvh::pbvh_bmesh_vert_create(), blender::bke::pbvh::pbvh_bmesh_vert_ownership_transfer(), and blender::bke::pbvh::pbvh_bmesh_vert_remove().
| #define BM_ELEM_SELECT_UV_EDGE BM_ELEM_SEAM |
Definition at line 541 of file bmesh_class.hh.
Referenced by bm_edge_uvselect_set_pick(), BM_elem_attrs_copy(), BM_elem_attrs_copy(), BM_face_uvselect_check_edges_all(), BM_loop_edge_uvselect_check_other_loop_edge(), BM_loop_edge_uvselect_set_noflush(), BM_loop_edge_uvselect_set_shared(), BM_loop_edge_uvselect_test(), bm_loop_select_edge_check_internal(), BM_loop_vert_uvselect_check_other_loop_edge(), BM_mesh_bm_from_me(), bm_mesh_uvselect_check_contiguous(), bm_mesh_uvselect_check_flush(), bm_mesh_uvselect_check_flush_and_contiguous(), bm_mesh_uvselect_check_viewport_sync(), bm_mesh_uvselect_disable_all(), BM_mesh_uvselect_flush_from_loop_edges(), BM_mesh_uvselect_flush_from_loop_edges_only_deselect(), BM_mesh_uvselect_flush_from_loop_edges_only_select(), bm_mesh_uvselect_flush_from_mesh_sticky_location_for_edge_mode(), bm_mesh_uvselect_flush_from_mesh_sticky_location_for_face_mode(), bm_mesh_uvselect_flush_from_mesh_sticky_vert_for_edge_mode(), bm_mesh_uvselect_flush_from_mesh_sticky_vert_for_face_mode(), bm_mesh_uvselect_flush_from_mesh_sticky_vert_for_vert_mode(), BM_mesh_uvselect_flush_post_subdivide(), BM_mesh_uvselect_flush_shared_only_deselect(), BM_mesh_uvselect_flush_shared_only_select(), bm_mesh_uvselect_mode_flush_down_deselect_only(), BM_mesh_uvselect_mode_flush_update(), BM_mesh_uvselect_set_elem_shared(), BM_mesh_uvselect_sync_to_mesh(), blender::bm_to_mesh_loops(), ED_uvedit_active_edge_loop_get(), uv_mesh_hide_sync_select(), uv_select_invert(), uvedit_edge_select_disable(), uvedit_edge_select_get_no_sync(), uvedit_edge_select_set_no_sync(), uvedit_edge_select_test_ex(), uvedit_ensure_uvs(), uvedit_face_select_test_ex(), uvedit_loop_edge_select_get(), and uvedit_loop_edge_select_set().
| #define BM_FACE_FIRST_LOOP | ( | p | ) |
Definition at line 679 of file bmesh_class.hh.
Referenced by bevel_build_trifan(), BKE_crazyspace_set_quats_editmesh(), BKE_mesh_foreach_mapped_loop(), bm_decim_build_quadrics(), bm_decim_triangulate_begin(), bm_edgering_pair_subdiv(), bm_extrude_copy_face_loop_attributes(), bm_face_array_visit(), blender::bke::pbvh::bm_face_as_array(), BM_face_as_array_loop_quad(), BM_face_as_array_loop_tri(), BM_face_as_array_vert_quad(), BM_face_as_array_vert_tri(), bm_face_bisect_verts(), BM_face_calc_area(), BM_face_calc_area_uv_signed(), BM_face_calc_area_with_mat3(), BM_face_calc_bounds_expand(), BM_face_calc_center_bounds(), BM_face_calc_center_bounds_vcos(), BM_face_calc_center_median(), BM_face_calc_center_median_weighted(), BM_face_calc_normal(), BM_face_calc_normal_vcos(), BM_face_calc_perimeter(), BM_face_calc_perimeter_with_mat3(), BM_face_calc_point_in_face(), bm_face_calc_poly_center_median_vertex_cos(), bm_face_calc_poly_normal(), bm_face_calc_poly_normal_vertex_cos(), BM_face_calc_tangent_from_edge_diagonal(), BM_face_calc_tangent_from_vert_diagonal(), BM_face_calc_tessellation(), bm_face_connect_verts(), bm_face_convex_tag_verts(), BM_face_copy(), BM_face_copy(), bm_face_copy_impl(), BM_face_copy_shared(), bm_face_copy_with_arrays(), BM_face_edges_kill(), bm_face_edges_tag_out(), BM_face_exists_overlap_subset(), BM_face_find_double(), BM_face_find_longest_loop(), BM_face_find_shortest_loop(), BM_face_hide_set(), BM_face_interp_from_face(), BM_face_interp_from_face_ex(), BM_face_interp_multires_ex(), bm_face_is_all_uv_sel(), BM_face_is_any_edge_flag_test(), BM_face_is_any_vert_flag_test(), bm_face_is_loose(), blender::ed::transform::bm_face_is_snap_target(), blender::bm_face_loop_table_build(), BM_face_point_inside_test(), bm_face_region_pivot_edge_find(), BM_face_select_set(), BM_face_share_edge_check(), BM_face_share_edge_count(), BM_face_share_vert_check(), BM_face_share_vert_count(), bm_face_split_by_edges(), bm_face_split_edge_find(), BM_face_split_edgenet(), BM_face_split_edgenet_connect_islands(), bm_face_split_find(), BM_face_splits_check_legal(), BM_face_triangulate(), BM_face_uv_calc_center_median(), BM_face_uv_calc_center_median_weighted(), BM_face_uv_calc_cross(), BM_face_uv_minmax(), BM_face_uv_point_inside_test(), BM_face_uvselect_check_edges_all(), BM_face_uvselect_set(), bm_face_uvselect_set_pick(), BM_face_uvselect_set_shared(), BM_face_vert_share_loop(), BM_face_verts_kill(), BM_faces_join(), bm_grid_fill_array(), bm_interior_face_group_calc_cost(), bm_interp_face_store(), bm_log_faces_unmake(), BM_loop_at_index_find(), BM_loop_interp_from_face(), BM_loop_interp_multires_ex(), BM_mesh_bm_from_me(), BM_mesh_calc_face_groups(), BM_mesh_calc_path_region_face(), BM_mesh_calc_path_uv_edge(), BM_mesh_calc_path_uv_region_face(), BM_mesh_calc_path_uv_vert(), bm_mesh_calc_tessellation_with_partial__single_threaded(), bm_mesh_copy_new_face(), BM_mesh_decimate_dissolve_ex(), BM_mesh_delete_hflag_context(), BM_mesh_edgenet(), BM_mesh_elem_index_ensure_ex(), BM_mesh_is_valid(), bm_mesh_loop_clear_tag(), bm_mesh_loops_calc_normals__single_threaded(), bm_mesh_loops_calc_normals_no_autosmooth(), BM_mesh_partial_create_from_verts(), BM_mesh_partial_create_from_verts_group_multi(), BM_mesh_partial_create_from_verts_group_single(), BM_mesh_rebuild(), BM_mesh_select_flush_from_verts(), BM_mesh_select_mode_clean_ex(), bm_mesh_select_mode_flush_edge_to_face_iter_fn(), bm_mesh_select_mode_flush_face_to_vert_and_edge(), BM_mesh_separate_faces(), bm_mesh_uvselect_check_contiguous(), bm_mesh_uvselect_check_flush(), bm_mesh_uvselect_check_flush_and_contiguous(), bm_mesh_uvselect_check_viewport_sync(), bm_mesh_uvselect_disable_all(), BM_mesh_uvselect_flush_from_faces(), BM_mesh_uvselect_flush_from_faces_only_deselect(), BM_mesh_uvselect_flush_from_faces_only_select(), BM_mesh_uvselect_flush_from_loop_edges(), BM_mesh_uvselect_flush_from_loop_edges_only_deselect(), BM_mesh_uvselect_flush_from_loop_edges_only_select(), BM_mesh_uvselect_flush_from_loop_verts(), BM_mesh_uvselect_flush_from_loop_verts_only_deselect(), BM_mesh_uvselect_flush_from_loop_verts_only_select(), bm_mesh_uvselect_flush_from_mesh_sticky_location_for_edge_mode(), bm_mesh_uvselect_flush_from_mesh_sticky_location_for_face_mode(), bm_mesh_uvselect_flush_from_mesh_sticky_vert_for_edge_mode(), bm_mesh_uvselect_flush_from_mesh_sticky_vert_for_face_mode(), bm_mesh_uvselect_flush_from_mesh_sticky_vert_for_vert_mode(), BM_mesh_uvselect_flush_post_subdivide(), BM_mesh_uvselect_flush_shared_only_deselect(), BM_mesh_uvselect_flush_shared_only_select(), bm_mesh_uvselect_mode_flush_down_deselect_only(), BM_mesh_uvselect_mode_flush_update(), BM_mesh_uvselect_set_elem_shared(), BM_mesh_uvselect_sync_to_mesh(), BM_mesh_wireframe(), BM_normals_loops_edges_tag(), bm_uidwalk_calc_face_uid(), bm_uidwalk_pass_add(), BM_vert_interp_from_face(), bmesh_calc_tessellation_for_face_beauty(), bmesh_calc_tessellation_for_face_fn(), bmesh_calc_tessellation_for_face_impl(), bmesh_calc_tessellation_for_face_partial_fn(), bmesh_calc_tessellation_for_face_partial_with_normals_fn(), bmesh_calc_tessellation_for_face_with_normals_fn(), bmesh_elem_check(), bmesh_face_attribute_fill(), bmesh_face_swap_data(), bmesh_kernel_join_edge_kill_vert(), bmesh_kernel_join_face_kill_edge(), bmesh_kernel_join_vert_kill_edge(), bmesh_kernel_split_face_make_edge(), bmesh_loop_validate(), bmiter__edge_of_face_begin(), bmiter__loop_of_face_begin(), bmiter__vert_of_face_begin(), bmo_create_cone_exec(), bmo_dissolve_edges_exec(), bmo_extrude_discrete_faces_exec(), bmo_face_copy(), bmo_face_flag_set_flush(), bmo_face_inset_individual(), bmo_face_is_vert_tag_all(), bmo_inset_region_exec(), BMO_mesh_delete_oflag_context(), bmo_planar_faces_exec(), bmo_poke_exec(), bmo_recalc_face_normals_array(), bmw_IslandWalker_step_ex(), bmw_LoopShellWalker_begin(), bridge_loop_pair(), do_lasso_select_mesh_uv(), edbm_average_normals_exec(), edbm_decimate_exec(), EDBM_mesh_knife(), EDBM_mesh_reveal(), EDBM_select_interior_faces(), edbm_tagged_loop_pairs_do_fill_faces(), EDBM_verts_mirror_get_face(), blender::draw::extract_data_bmesh_edge(), blender::draw::extract_data_bmesh_loop(), blender::draw::extract_data_bmesh_vert(), blender::draw::extract_edituv_lines_bm(), blender::draw::extract_edituv_points_bm(), blender::draw::extract_uv_stretch_angle_bm(), face_dupli_from_editmesh(), face_to_plane(), fill_laplacian_matrix(), flip_custom_normals(), blender::bke::pbvh::Tree::from_bmesh(), SGLSLEditMeshToTangent::GetLoop(), init_laplacian_matrix(), blender::bke::pbvh::long_edge_queue_face_add(), make_child_duplis_faces_from_editmesh(), mesh_calc_path_region_elem(), mesh_calc_path_region_elem(), blender::ed::transform::mesh_customdatacorrect_face_substitute_set(), blender::ed::transform::mesh_customdatacorrect_restore(), mesh_separate_material(), normals_split(), paint_is_bmesh_face_hidden(), blender::bke::pbvh::pbvh_bmesh_collapse_edge(), blender::bke::pbvh::pbvh_bmesh_create_nodes_fast_recursive(), blender::bke::pbvh::pbvh_bmesh_face_remove(), blender::bke::pbvh::pbvh_bmesh_node_finalize(), blender::bke::pbvh::pbvh_bmesh_node_limit_ensure(), recalc_face_normals_find_index(), remdoubles_createface(), blender::bke::pbvh::short_edge_queue_face_add(), blender::draw::statvis_calc_distort(), blender::draw::statvis_calc_intersect(), blender::draw::statvis_calc_sharp(), stitch_init(), stitch_process_data(), uv_box_select_exec(), uv_circle_select_exec(), uv_mesh_hide_sync_select(), uv_seams_from_islands_exec(), uvedit_face_select_test_ex(), uvedit_nearest_uv(), view3d_preselect_mesh_elem_update_from_face(), and view3d_preselect_update_preview_triangle_from_face().
| #define BM_LOOP_RADIAL_MAX 10000 |
Avoid an eternal loop, this value is arbitrary but should not error on valid cases.
Definition at line 706 of file bmesh_class.hh.
Referenced by bmesh_radial_length(), and bmesh_radial_validate().
| #define BM_NGON_MAX 100000 |
Definition at line 707 of file bmesh_class.hh.
Referenced by bmesh_elem_check().
| #define BM_THREAD_LIMIT 10000 |
Minimum number of elements before using threading.
Definition at line 710 of file bmesh_class.hh.
Referenced by bm_mesh_loops_calc_normals(), BM_mesh_normals_update_ex(), bm_mesh_select_mode_flush_edge_to_face(), bm_mesh_select_mode_flush_vert_to_edge(), and bm_mesh_verts_calc_normals().
| using BMEdgeFilterFunc = bool (*)(const BMEdge *, void *user_data) |
Definition at line 548 of file bmesh_class.hh.
| using BMElemFilterFunc = bool (*)(const BMElem *, void *user_data) |
Definition at line 546 of file bmesh_class.hh.
| using BMFaceFilterFunc = bool (*)(const BMFace *, void *user_data) |
Definition at line 549 of file bmesh_class.hh.
| using BMLoopFilterFunc = bool (*)(const BMLoop *, void *user_data) |
Definition at line 550 of file bmesh_class.hh.
| using BMLoopPairFilterFunc = bool (*)(const BMLoop *, const BMLoop *, void *user_data) |
Definition at line 551 of file bmesh_class.hh.
| using BMVertFilterFunc = bool (*)(const BMVert *, void *user_data) |
Definition at line 547 of file bmesh_class.hh.
| anonymous enum |
BMHeader.htype (char)
| Enumerator | |
|---|---|
| BM_VERT | |
| BM_EDGE | |
| BM_LOOP | |
| BM_FACE | |
Definition at line 425 of file bmesh_class.hh.
| anonymous enum |
| Enumerator | |
|---|---|
| BM_SPACEARR_DIRTY | |
| BM_SPACEARR_DIRTY_ALL | |
| BM_SPACEARR_BMO_SET | |
Definition at line 457 of file bmesh_class.hh.
| anonymous enum |
BMHeader.hflag (char)
| Enumerator | |
|---|---|
| BM_ELEM_SELECT | |
| BM_ELEM_HIDDEN | |
| BM_ELEM_SEAM | |
| BM_ELEM_SMOOTH | Used for faces and edges, note from the user POV, this is a sharp edge when disabled. |
| BM_ELEM_TAG | Internal flag, used for ensuring correct normals during multi-resolution interpolation, and any other time when temp tagging is handy. always assume dirty & clear before use. |
| BM_ELEM_SELECT_UV | Used for BMLoop for loop-vertex selection & BMFace when the face is selected. The BMLoop also stores edge selection: BM_ELEM_SELECT_UV_EDGE. |
| BM_ELEM_TAG_ALT | Spare tag, assumed dirty, use define in each function to name based on use. |
| BM_ELEM_INTERNAL_TAG | For low level internal API tagging, since tools may want to tag verts and not have functions clobber them. Leave cleared! |
Definition at line 509 of file bmesh_class.hh.
|
extern |
Definition at line 727 of file customdata.cc.
References self.
Referenced by BM_mesh_free(), bpy_bmedgeseq_remove(), bpy_bmesh_free(), bpy_bmfaceseq_remove(), bpy_bmvertseq_remove(), and layerFree_bmesh_elem_py_ptr().