|
Blender V4.3
|
#include "BLI_assert.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 | |
| typedef struct BMHeader | BMHeader |
| typedef struct BMVert | BMVert |
| typedef struct BMVert_OFlag | BMVert_OFlag |
| typedef struct BMDiskLink | BMDiskLink |
| typedef struct BMEdge | BMEdge |
| typedef struct BMEdge_OFlag | BMEdge_OFlag |
| typedef struct BMLoop | BMLoop |
| typedef struct BMElemF | BMElemF |
| typedef struct BMElem | BMElem |
| typedef struct BMFace | BMFace |
| typedef struct BMFace_OFlag | BMFace_OFlag |
| typedef struct BMFlagLayer | BMFlagLayer |
| typedef struct BMesh | BMesh |
| typedef struct BMLoopNorEditData | BMLoopNorEditData |
| typedef struct BMLoopNorEditDataArray | BMLoopNorEditDataArray |
| typedef bool(* | BMElemFilterFunc) (const BMElem *, void *user_data) |
| typedef bool(* | BMVertFilterFunc) (const BMVert *, void *user_data) |
| typedef bool(* | BMEdgeFilterFunc) (const BMEdge *, void *user_data) |
| typedef bool(* | BMFaceFilterFunc) (const BMFace *, void *user_data) |
| typedef bool(* | BMLoopFilterFunc) (const BMLoop *, void *user_data) |
| typedef bool(* | BMLoopPairFilterFunc) (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_DRAW = (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 450 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_EDGE_NONCONST BMEdge *, BMEdge_OFlag * |
Definition at line 449 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_ELEM_CONST |
Definition at line 429 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_ELEM_NONCONST |
Definition at line 425 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_FACE_CONST const BMFace *, const BMFace_OFlag * |
Definition at line 457 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_FACE_NONCONST BMFace *, BMFace_OFlag * |
Definition at line 456 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_VERT_CONST const BMVert *, const BMVert_OFlag * |
Definition at line 443 of file bmesh_class.hh.
| #define _BM_GENERIC_TYPE_VERT_NONCONST BMVert *, BMVert_OFlag * |
Definition at line 442 of file bmesh_class.hh.
Definition at line 414 of file bmesh_class.hh.
Referenced by BM_mesh_decimate_collapse(), BM_mesh_validate(), and mesh_separate_arrays().
Definition at line 415 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_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 | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_EDGE_NONCONST, _BM_GENERIC_TYPE_EDGE_CONST) |
Definition at line 453 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_EDGE_CONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_EDGE_CONST) |
Definition at line 451 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_EDGE_NONCONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_ELEM_NONCONST) |
Definition at line 452 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_ELEM | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_ELEM_NONCONST, _BM_GENERIC_TYPE_ELEM_CONST) |
Definition at line 438 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_ELEM_ASSIGN | ( | ele | ) | (BM_CHECK_TYPE_ELEM(ele)), *((void **)&ele) |
Definition at line 466 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_ELEM_CONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPES_CONST) |
Definition at line 434 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_ELEM_NONCONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_ELEM_NONCONST) |
Definition at line 436 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_FACE | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_FACE_NONCONST, _BM_GENERIC_TYPE_FACE_CONST) |
Definition at line 460 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_FACE_CONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_FACE_CONST) |
Definition at line 458 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_FACE_NONCONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_ELEM_NONCONST) |
Definition at line 459 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_VERT | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_VERT_NONCONST, _BM_GENERIC_TYPE_VERT_CONST) |
Definition at line 446 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_VERT_CONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_VERT_CONST) |
Definition at line 444 of file bmesh_class.hh.
| #define BM_CHECK_TYPE_VERT_NONCONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_ELEM_NONCONST) |
Definition at line 445 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 655 of file bmesh_class.hh.
Referenced by bevel_rebuild_existing_polygons().
| #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 649 of file bmesh_class.hh.
Referenced by solidify_add_thickness().
Definition at line 634 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(), bmo_dissolve_verts_exec(), bmo_extrude_face_region_exec(), 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_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 639 of file bmesh_class.hh.
| #define BM_ELEM_CD_GET_BOOL | ( | ele, | |
| offset ) (BLI_assert(offset != -1), *((bool *)((char *)(ele)->head.data + (offset)))) |
Definition at line 526 of file bmesh_class.hh.
Referenced by blender::bm_face_loop_table_build(), construct_param_handle_face_add(), ED_uvedit_selected_verts(), ED_uvedit_selectmode_flush(), edbm_select_by_attribute_exec(), get_uv_edge_needle(), get_uv_face_needle(), get_uv_vert_needle(), island_has_pins(), blender::draw::mesh_render_data_loop_flag(), texface_from_original_index(), uv_box_select_exec(), uv_pin_exec(), uv_rip_object(), uv_sculpt_stroke_init(), uv_select_flush_from_loop_edge_flag(), uv_select_invert(), uv_select_more_less(), uv_select_pinned_exec(), uv_select_split_exec(), uvedit_deselect_flush(), uvedit_edge_select_disable(), uvedit_edge_select_shared_vert(), uvedit_edge_select_test_ex(), uvedit_face_select_test_ex(), uvedit_prepare_pinned_indices(), uvedit_select_flush(), uvedit_select_is_any_selected(), uvedit_uv_select_test_ex(), and uvedit_uv_straighten_elements().
| #define BM_ELEM_CD_GET_BOOL_P | ( | ele, | |
| offset ) (BLI_assert(offset != -1), (bool *)((char *)(ele)->head.data + (offset))) |
Definition at line 538 of file bmesh_class.hh.
Referenced by BPy_BMLoopUV_CreatePyObject().
| #define BM_ELEM_CD_GET_FLOAT | ( | ele, | |
| offset ) (BLI_assert(offset != -1), *((float *)((char *)(ele)->head.data + (offset)))) |
Definition at line 562 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 ) (BLI_assert(offset != -1), (float(*)[2])((char *)(ele)->head.data + (offset))) |
Definition at line 596 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 ) (BLI_assert(offset != -1), (float(*)[3])((char *)(ele)->head.data + (offset))) |
Definition at line 599 of file bmesh_class.hh.
| #define BM_ELEM_CD_GET_FLOAT_AS_UCHAR | ( | ele, | |
| offset ) (BLI_assert(offset != -1), (uchar)(BM_ELEM_CD_GET_FLOAT(ele, offset) * 255.0f)) |
Definition at line 623 of file bmesh_class.hh.
| #define BM_ELEM_CD_GET_FLOAT_P | ( | ele, | |
| offset ) (BLI_assert(offset != -1), (float *)((char *)(ele)->head.data + (offset))) |
Definition at line 593 of file bmesh_class.hh.
Referenced by UV_ClipboardBuffer::append(), bev_merge_edge_uvs(), bev_merge_uvs(), BM_edge_uv_share_vert_check(), BM_face_calc_area_uv_signed(), bm_face_reverse_uvs(), BM_face_uv_calc_center_median(), BM_face_uv_minmax(), bm_loop_calc_uv_angle_from_dir(), 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(), 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(), createTransUVs(), 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(), UVGroups::init(), isect_face_dst(), island_uv_transform(), loop_uv_match(), 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(), transform_mesh_uv_edge_slide_data_create(), transform_mesh_uv_vert_slide_data_create(), uv_aspect(), uv_box_select_exec(), uv_circle_select_exec(), 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(), 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_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 ) (BLI_assert(offset != -1), *((int *)((char *)(ele)->head.data + (offset)))) |
Definition at line 515 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 ) (BLI_assert(offset != -1), (void *)((char *)(ele)->head.data + (offset))) |
Definition at line 550 of file bmesh_class.hh.
Referenced by alter_co(), 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(), createTransEdge(), createTransMeshVertCData(), curve_deform_coords_impl(), deformVerts_do(), ED_mesh_active_dvert_get_em(), blender::ed::object::ED_mesh_defvert_mirror_update_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::draw::mesh_render_data_edge_flag(), blender::draw::mesh_render_data_face_flag(), mesh_uv_reset_bmface(), normals_split(), object_defgroup_remove_edit_mode(), 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 518 of file bmesh_class.hh.
Referenced by bm_clear_uv_vert_selection(), BPy_BMLoopUV_AssignPyObject(), ED_uvedit_ensure_uvs(), ED_uvedit_select_all(), ED_uvedit_selectmode_flush(), uv_isolate_selected_islands(), uv_pin_exec(), uv_reveal_exec(), uv_rip_object(), uv_select_all(), uv_select_flush_from_loop_edge_flag(), uv_select_flush_from_tag_face(), uv_select_invert(), uv_select_split_exec(), uvedit_deselect_flush(), uvedit_edge_select_disable(), uvedit_edge_select_enable(), uvedit_edge_select_set_noflush(), uvedit_face_select_disable(), uvedit_face_select_enable(), uvedit_face_select_shared_vert(), uvedit_select_flush(), uvedit_uv_select_disable(), and uvedit_uv_select_enable().
| #define BM_ELEM_CD_SET_FLOAT | ( | ele, | |
| offset, | |||
| f ) |
Definition at line 554 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 604 of file bmesh_class.hh.
| #define BM_ELEM_CD_SET_FLOAT3 | ( | ele, | |
| offset, | |||
| f ) |
Definition at line 613 of file bmesh_class.hh.
| #define BM_ELEM_CD_SET_INT | ( | ele, | |
| offset, | |||
| f ) |
Definition at line 507 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_FACE_FIRST_LOOP | ( | p | ) | ((p)->l_first) |
Definition at line 631 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_edge_diagonal(), BM_face_calc_tangent_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(), 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_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_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(), BM_mesh_select_mode_clean_ex(), bm_mesh_select_mode_flush_edge_to_face_iter_fn(), BM_mesh_separate_faces(), BM_mesh_validate(), 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_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(), mesh_customdatacorrect_face_substitute_set(), 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_seams_from_islands_exec(), uvedit_nearest_uv(), view3d_preselect_mesh_elem_update_from_face(), and view3d_preselect_update_preview_triangle_from_face().
| #define BM_LOOP_RADIAL_MAX 10000 |
Definition at line 659 of file bmesh_class.hh.
Referenced by bmesh_radial_length(), and bmesh_radial_validate().
| #define BM_NGON_MAX 100000 |
Definition at line 660 of file bmesh_class.hh.
Referenced by bmesh_elem_check().
| #define BM_THREAD_LIMIT 10000 |
Definition at line 663 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().
| typedef struct BMDiskLink BMDiskLink |
| typedef struct BMEdge BMEdge |
| typedef struct BMEdge_OFlag BMEdge_OFlag |
| typedef bool(* BMEdgeFilterFunc) (const BMEdge *, void *user_data) |
Definition at line 501 of file bmesh_class.hh.
| typedef struct BMElem BMElem |
| typedef struct BMElemF BMElemF |
| typedef bool(* BMElemFilterFunc) (const BMElem *, void *user_data) |
Definition at line 499 of file bmesh_class.hh.
| typedef struct BMesh BMesh |
| typedef struct BMFace BMFace |
| typedef struct BMFace_OFlag BMFace_OFlag |
| typedef bool(* BMFaceFilterFunc) (const BMFace *, void *user_data) |
Definition at line 502 of file bmesh_class.hh.
| typedef struct BMFlagLayer BMFlagLayer |
| typedef struct BMHeader BMHeader |
All mesh elements begin with a BMHeader. This structure hold several types of data
1: The type of the element (vert, edge, loop or face) 2: Persistent "header" flags/markings (smooth, seam, select, hidden, etc) note that this is different from the "tool" flags. 3: Unique ID in the BMesh. 4: some elements for internal record keeping.
| typedef struct BMLoop BMLoop |
| typedef bool(* BMLoopFilterFunc) (const BMLoop *, void *user_data) |
Definition at line 503 of file bmesh_class.hh.
| typedef struct BMLoopNorEditData BMLoopNorEditData |
| typedef struct BMLoopNorEditDataArray BMLoopNorEditDataArray |
Definition at line 504 of file bmesh_class.hh.
| typedef struct BMVert BMVert |
| typedef struct BMVert_OFlag BMVert_OFlag |
| typedef bool(* BMVertFilterFunc) (const BMVert *, void *user_data) |
Definition at line 500 of file bmesh_class.hh.
| anonymous enum |
BMHeader.htype (char)
| Enumerator | |
|---|---|
| BM_VERT | |
| BM_EDGE | |
| BM_LOOP | |
| BM_FACE | |
Definition at line 386 of file bmesh_class.hh.
| anonymous enum |
| Enumerator | |
|---|---|
| BM_SPACEARR_DIRTY | |
| BM_SPACEARR_DIRTY_ALL | |
| BM_SPACEARR_BMO_SET | |
Definition at line 418 of file bmesh_class.hh.
| anonymous enum |
BMHeader.hflag (char)
Definition at line 469 of file bmesh_class.hh.
| BLI_STATIC_ASSERT | ( | (sizeof(BMHeader)<=16) | , |
| "BMHeader size has grown!" | ) |
|
extern |
Definition at line 749 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().