|
Blender V4.5
|
#include <optional>#include "MEM_guardedalloc.h"#include "DNA_defaults.h"#include "DNA_key_types.h"#include "DNA_material_types.h"#include "DNA_mesh_types.h"#include "DNA_meshdata_types.h"#include "DNA_object_types.h"#include "BLI_bounds.hh"#include "BLI_endian_switch.h"#include "BLI_hash.h"#include "BLI_implicit_sharing.hh"#include "BLI_index_range.hh"#include "BLI_listbase.h"#include "BLI_math_matrix.hh"#include "BLI_math_vector.hh"#include "BLI_memory_counter.hh"#include "BLI_resource_scope.hh"#include "BLI_set.hh"#include "BLI_span.hh"#include "BLI_string.h"#include "BLI_task.hh"#include "BLI_time.h"#include "BLI_utildefines.h"#include "BLI_vector.hh"#include "BLI_virtual_array.hh"#include "BLT_translation.hh"#include "BKE_anim_data.hh"#include "BKE_anonymous_attribute_id.hh"#include "BKE_attribute.hh"#include "BKE_attribute_legacy_convert.hh"#include "BKE_attribute_storage.hh"#include "BKE_attribute_storage_blend_write.hh"#include "BKE_bake_data_block_id.hh"#include "BKE_bpath.hh"#include "BKE_deform.hh"#include "BKE_editmesh.hh"#include "BKE_editmesh_cache.hh"#include "BKE_global.hh"#include "BKE_idtype.hh"#include "BKE_key.hh"#include "BKE_lib_id.hh"#include "BKE_lib_query.hh"#include "BKE_main.hh"#include "BKE_material.hh"#include "BKE_mesh.hh"#include "BKE_mesh_legacy_convert.hh"#include "BKE_mesh_runtime.hh"#include "BKE_mesh_wrapper.hh"#include "BKE_modifier.hh"#include "BKE_multires.hh"#include "BKE_object.hh"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_query.hh"#include "BLO_read_write.hh"Go to the source code of this file.
Namespaces | |
| namespace | blender |
| namespace | blender::bke |
Macros | |
| #define | DNA_DEPRECATED_ALLOW |
| #define | MAT_NR_REMAP(n) |
Variables | |
| IDTypeInfo | IDType_ID_ME |
| #define DNA_DEPRECATED_ALLOW |
Definition at line 14 of file blenkernel/intern/mesh.cc.
| #define MAT_NR_REMAP | ( | n | ) |
Referenced by BKE_mesh_material_remap().
Definition at line 722 of file blenkernel/intern/mesh.cc.
References BKE_id_new(), and name.
Referenced by BKE_mesh_new_from_object_to_bmain(), BKE_object_obdata_add_from_type(), BKE_pointcloud_to_mesh(), blender::io::usd::USDMeshReader::create_object(), blender::io::usd::USDShapeReader::create_object(), blender::io::ply::importer_main(), blender::io::stl::importer_main(), blender::bke::tests::MeshTestData::MeshTestData(), Freestyle::BlenderStrokeRenderer::NewMesh(), blender::io::alembic::AbcMeshReader::readObjectData(), blender::io::alembic::AbcSubDReader::readObjectData(), blender::animrig::tests::KeyframingTest::SetUp(), blender::bke::tests::TEST_F(), blender::bke::tests::TEST_F(), blender::bke::tests::TwoMeshesTestData::TwoMeshesTestData(), blender::bke::tests::WholeIDTestData::WholeIDTestData(), and MeshImporter::write_geometry().
Definition at line 1233 of file blenkernel/intern/mesh.cc.
References BKE_modifiers_test_object(), BKE_object_materials_sync_length(), Object::data, Mesh::id, id_us_min(), id_us_plus(), mesh, multires_force_sculpt_rebuild(), OB_MESH, and Object::type.
Referenced by MeshImporter::create_mesh_object(), blender::animrig::tests::KeyframingTest::SetUp(), and blender::animrig::tests::TEST_F().
| bool BKE_mesh_attribute_required | ( | const StringRef | name | ) |
Definition at line 539 of file blenkernel/intern/mesh.cc.
Referenced by BKE_attribute_required().
| void BKE_mesh_clear_geometry | ( | Mesh * | mesh | ) |
Remove all geometry and derived data like caches from the mesh.
Definition at line 697 of file blenkernel/intern/mesh.cc.
References BKE_mesh_runtime_clear_cache(), mesh, and mesh_clear_geometry().
Referenced by BM_mesh_bm_to_me(), ED_mesh_join_objects_exec(), and blender::ed::sculpt_paint::undo::restore_geometry_data().
| void BKE_mesh_clear_geometry_and_metadata | ( | Mesh * | mesh | ) |
Same as BKE_mesh_clear_geometry, but also clears attribute meta-data like active attribute names and vertex group names. Used when the geometry is entirely replaced.
Definition at line 703 of file blenkernel/intern/mesh.cc.
References BKE_mesh_runtime_clear_cache(), clear_attribute_names(), mesh, and mesh_clear_geometry().
Referenced by BKE_mesh_nomain_to_mesh().
Performs copy for use during evaluation.
Definition at line 1019 of file blenkernel/intern/mesh.cc.
References BKE_id_copy_ex(), Mesh::id, and LIB_ID_COPY_LOCALIZE.
Referenced by bc_get_mesh_copy(), BKE_crazyspace_build_sculpt(), BKE_multires_create_mesh(), BKE_sculpt_get_first_deform_matrices(), BKE_subdiv_to_ccg_mesh(), canvas_copyMesh(), cloth_make_rest_mesh(), blender::ed::object::convert_curves_to_mesh(), blender::ed::object::convert_mesh_to_mesh(), blender::bke::MeshComponent::copy(), blender::bke::create_orco_mesh(), deform_verts(), deform_verts(), dynamicPaint_brushMeshCalculateVelocity(), dynamicPaint_Modifier_apply(), dynamicPaint_paintMesh(), blender::bke::editbmesh_calc_modifiers(), blender::bke::MeshComponent::ensure_owns_direct_data(), blender::geometry::execute_realize_mesh_tasks(), blender::bke::MeshComponent::get_for_write(), blender::ed::geometry::get_original_geometry_eval_copy(), blender::io::usd::get_shape_key_basis_mesh(), blender::geometry::boolean::mesh_boolean_float(), blender::bke::mesh_calc_modifiers(), blender::ed::object::mesh_data_to_grease_pencil(), mesh_new_from_evaluated_curve_type_object(), mesh_new_from_mball_object(), blender::ed::object::quadriflow_start_job(), RE_bake_normal_world_to_tangent(), RE_bake_pixels_populate_from_objects(), and blender::ed::object::remesh_symmetry_bisect().
Copy user editable settings that we want to preserve when a new mesh is based on an existing mesh.
Definition at line 914 of file blenkernel/intern/mesh.cc.
References Mesh::attributes_active_index, copy_v3_v3(), Mesh::editflag, Mesh::face_sets_color_default, Mesh::face_sets_color_seed, Mesh::flag, Mesh::remesh_mode, Mesh::remesh_voxel_adaptivity, Mesh::remesh_voxel_size, Mesh::symmetry, Mesh::texspace_flag, Mesh::texspace_location, Mesh::texspace_size, and Mesh::vertex_group_active_index.
Referenced by BKE_id_eval_properties_copy(), BKE_mesh_copy_parameters_for_eval(), BKE_mesh_nomain_to_mesh(), BKE_mesh_remesh_voxel(), BKE_mesh_remesh_voxel(), and blender::ed::sculpt_paint::store_mesh_from_eval().
A version of BKE_mesh_copy_parameters that is intended for evaluated output (the modifier stack for example).
Definition at line 936 of file blenkernel/intern/mesh.cc.
References BKE_defgroup_copy_list(), BKE_mesh_copy_parameters(), BLI_assert, BLI_listbase_is_empty(), copy_attribute_names(), Mesh::id, ID_TAG_COPIED_ON_EVAL, ID_TAG_NO_MAIN, Mesh::mat, MEM_dupallocN(), MEM_freeN(), Mesh::runtime, ID::tag, Mesh::totcol, and Mesh::vertex_group_names.
Referenced by BKE_mesh_from_bmesh_for_eval_nomain(), BKE_mesh_from_bmesh_nomain(), BKE_mesh_new_nomain_from_template_ex(), BKE_mesh_wrapper_from_editmesh(), create_empty_mesh(), blender::geometry::execute_realize_mesh_tasks(), blender::geometry::extract_mesh_edges(), blender::geometry::extract_mesh_faces(), blender::geometry::extract_mesh_vertices(), blender::geometry::mesh_copy_selection(), blender::geometry::mesh_copy_selection_keep_edges(), blender::geometry::mesh_copy_selection_keep_verts(), blender::geometry::mesh_triangulate(), blender::bke::modifier_modify_mesh_and_geometry_set(), modify_mesh(), blender::geometry::reorder_mesh(), and blender::bke::subdiv::subdiv_mesh_topology_info().
| void BKE_mesh_count_selected_items | ( | const Mesh * | mesh, |
| int | r_count[3] ) |
Definition at line 1699 of file blenkernel/intern/mesh.cc.
References bm, mesh, Mesh::runtime, BMesh::totedgesel, BMesh::totfacesel, and BMesh::totvertsel.
| void BKE_mesh_ensure_default_orig_index_customdata | ( | Mesh * | mesh | ) |
Add original index (CD_ORIGINDEX) layers if they don't already exist. This is meant to be used when creating an evaluated mesh from an original edit mode mesh, to allow mapping from the evaluated vertices to the originals.
The mesh is expected to of a ME_WRAPPER_TYPE_MDATA wrapper type. This is asserted.
Definition at line 1081 of file blenkernel/intern/mesh.cc.
References BKE_mesh_ensure_default_orig_index_customdata_no_check(), BLI_assert, ME_WRAPPER_TYPE_MDATA, mesh, and Mesh::runtime.
Referenced by blender::bke::create_orco_mesh(), and subdivide_edit_mesh().
| void BKE_mesh_ensure_default_orig_index_customdata_no_check | ( | Mesh * | mesh | ) |
Same as BKE_mesh_ensure_default_orig_index_customdata but does not perform any checks: they must be done by the caller.
Definition at line 1087 of file blenkernel/intern/mesh.cc.
References Mesh::edge_data, Mesh::edges_num, ensure_orig_index_layer(), Mesh::face_data, Mesh::faces_num, mesh, Mesh::vert_data, and Mesh::verts_num.
Referenced by BKE_mesh_ensure_default_orig_index_customdata().
| void BKE_mesh_ensure_skin_customdata | ( | Mesh * | mesh | ) |
Definition at line 544 of file blenkernel/intern/mesh.cc.
References bm, BM_data_layer_add(), BM_ITER_MESH, BM_VERTS_OF_MESH, CD_MVERT_SKIN, CD_SET_DEFAULT, CustomData_add_layer(), CustomData_bmesh_get(), CustomData_has_layer(), BMHeader::data, MVertSkin::flag, BMVert::head, mesh, MVERT_SKIN_ROOT, Mesh::runtime, v, BMesh::vdata, Mesh::vert_data, and Mesh::verts_num.
Referenced by BKE_object_copy_modifier(), mesh_customdata_skin_add_exec(), blender::ed::object::modifier_add(), and blender::ed::object::skin_root_mark_exec().
| void BKE_mesh_eval_geometry | ( | Depsgraph * | depsgraph, |
| Mesh * | mesh ) |
Definition at line 1713 of file blenkernel/intern/mesh.cc.
References BKE_id_free(), BKE_mesh_texspace_calc(), copy_v3_v3(), DEG_debug_print_eval(), DEG_get_original(), DEG_is_active(), depsgraph, Mesh::id, ME_TEXSPACE_FLAG_AUTO_EVALUATED, mesh, ID::name, Mesh::runtime, Mesh::texspace_flag, Mesh::texspace_location, and Mesh::texspace_size.
Referenced by blender::deg::DepsgraphNodeBuilder::build_object_data_geometry_datablock().
| void BKE_mesh_face_offsets_ensure_alloc | ( | Mesh * | mesh | ) |
Add face offsets to describe faces to a new mesh.
Definition at line 727 of file blenkernel/intern/mesh.cc.
References BLI_assert, Mesh::corners_num, Mesh::face_offset_indices, Mesh::faces_num, blender::implicit_sharing::info_for_mem_free(), MEM_malloc_arrayN(), mesh, and Mesh::runtime.
Referenced by BKE_mesh_legacy_convert_polys_to_offsets(), BKE_mesh_new_nomain(), BKE_mesh_new_nomain_from_template_ex(), blender::bm_to_mesh_faces(), and Freestyle::BlenderStrokeRenderer::GenerateStrokeMesh().
| Mesh * BKE_mesh_from_bmesh_for_eval_nomain | ( | BMesh * | bm, |
| const CustomData_MeshMasks * | cd_mask_extra, | ||
| const Mesh * | me_settings ) |
Definition at line 1062 of file blenkernel/intern/mesh.cc.
References BKE_id_new_nomain(), BKE_mesh_copy_parameters_for_eval(), bm, BM_mesh_bm_to_me_for_eval(), and mesh.
Referenced by base_skin(), BKE_mesh_mirror_bisect_on_mirror_plane_for_modifier(), blender::bke::create_orco_mesh(), deform_verts(), blender::io::ply::do_triangulation(), blender::io::alembic::ABCGenericMeshWriter::do_write(), blender::io::usd::USDGenericMeshWriter::do_write(), doEdgeSplit(), blender::geometry::boolean::mesh_boolean_float(), modify_mesh(), modify_mesh(), modify_mesh(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_geo_exec(), subdivide_edit_mesh(), triangulate_mesh(), and WireframeModifier_do().
| Mesh * BKE_mesh_from_bmesh_nomain | ( | BMesh * | bm, |
| const BMeshToMeshParams * | params, | ||
| const Mesh * | me_settings ) |
Definition at line 1051 of file blenkernel/intern/mesh.cc.
References BKE_id_new_nomain(), BKE_mesh_copy_parameters_for_eval(), BLI_assert, bm, BM_mesh_bm_to_me(), mesh, and params.
Referenced by BKE_mesh_remesh_voxel_fix_poles(), geometry_extract_apply(), paint_mask_slice_exec(), and blender::ed::sculpt_paint::trim::update_normals().
Definition at line 1221 of file blenkernel/intern/mesh.cc.
References Object::data, OB_MESH, and Object::type.
Referenced by blender::bke::build_pbvh_from_ccg(), do_paintface_box_select(), ED_mesh_join_objects_exec(), ED_object_texture_paint_mode_enter_ex(), ED_object_texture_paint_mode_exit_ex(), ED_paint_proj_mesh_data_check(), ED_wpaint_ensure_data(), blender::ed::sculpt_paint::boundary::ensure_boundary_info(), blender::ed::sculpt_paint::fill_active_color(), blender::ed::sculpt_paint::vwpaint::mode_enter_generic(), blender::ed::sculpt_paint::vwpaint::mode_exit_generic(), multires_force_external_reload(), multiresModifier_del_levels(), blender::ed::sculpt_paint::object_sculpt_mode_enter(), blender::ed::sculpt_paint::object_sculpt_mode_exit(), paint_proj_new_stroke(), paint_select_less_exec(), paint_select_more_exec(), paintface_deselect_all_visible(), paintface_flush_flags(), paintface_hide(), paintface_minmax(), paintface_mouse_select(), paintface_reveal(), paintface_select_linked(), paintface_select_loop(), paintvert_deselect_all_visible(), paintvert_flush_flags(), paintvert_hide(), paintvert_reveal(), paintvert_select_less_exec(), paintvert_select_linked(), paintvert_select_linked_vertices(), paintvert_select_more_exec(), paintvert_select_ungrouped(), blender::ed::object::quadriflow_remesh_exec(), vertex_color_brightness_contrast_exec(), vertex_color_hsv_exec(), vertex_color_invert_exec(), vertex_color_levels_exec(), vertex_color_set_exec(), vertex_color_smooth(), vertex_paint_from_weight(), vertex_weight_paint_mode_poll(), blender::ed::object::vgroup_selected_get(), vpaint_mode_toggle_exec(), vpaint_stroke_test_start(), weight_sample_group_invoke(), weight_sample_invoke(), wpaint_mode_toggle_exec(), and wpaint_stroke_test_start().
| bool BKE_mesh_has_custom_loop_normals | ( | Mesh * | mesh | ) |
High-level custom normals functions.
Definition at line 577 of file blenkernel/intern/mesh.cc.
References Geometry::attributes, CD_PROP_INT16_2D, CustomData_has_layer_named(), mesh, and Mesh::runtime.
Referenced by mesh_customdata_custom_splitnormals_add_exec().
| void BKE_mesh_material_index_clear | ( | Mesh * | mesh | ) |
Definition at line 1296 of file blenkernel/intern/mesh.cc.
References BKE_mesh_tessface_clear(), mesh, and blender::bke::MutableAttributeAccessor::remove().
Referenced by material_data_index_clear_id().
| void BKE_mesh_material_index_remove | ( | Mesh * | mesh, |
| short | index ) |
Definition at line 1257 of file blenkernel/intern/mesh.cc.
References BKE_mesh_tessface_clear(), BLI_assert_unreachable, blender::bke::AttributeWriter< T >::domain, blender::bke::AttributeWriter< T >::finish(), blender::MutableSpan< T >::index_range(), blender::bke::MutableAttributeAccessor::lookup_for_write(), mesh, blender::MutableVArraySpan< T >::save(), and blender::bke::AttributeWriter< T >::varray.
Referenced by material_data_index_remove_id().
| bool BKE_mesh_material_index_used | ( | Mesh * | mesh, |
| short | index ) |
Definition at line 1282 of file blenkernel/intern/mesh.cc.
References Geometry::attributes, blender::Span< T >::contains(), blender::VArrayCommon< T >::get_internal_single(), blender::VArrayCommon< T >::is_single(), blender::bke::AttributeAccessor::lookup_or_default(), and mesh.
Referenced by BKE_object_material_slot_used().
Definition at line 1306 of file blenkernel/intern/mesh.cc.
References BM_FACES_OF_MESH, BM_ITER_MESH, blender::bke::SpanAttributeWriter< T >::finish(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), BMFace::mat_nr, MAT_NR_REMAP, mesh, Mesh::runtime, and blender::bke::SpanAttributeWriter< T >::span.
Referenced by BKE_object_material_remap().
| int BKE_mesh_mselect_active_get | ( | const Mesh * | mesh, |
| int | type ) |
Definition at line 1666 of file blenkernel/intern/mesh.cc.
References BLI_assert, ELEM, MSelect::index, ME_ESEL, ME_FSEL, ME_VSEL, mesh, Mesh::mselect, Mesh::totselect, and MSelect::type.
Referenced by ED_mesh_active_dvert_get_ob().
| void BKE_mesh_mselect_active_set | ( | Mesh * | mesh, |
| int | index, | ||
| int | type ) |
Definition at line 1678 of file blenkernel/intern/mesh.cc.
References BKE_mesh_mselect_find(), BLI_assert, MSelect::index, MEM_reallocN, mesh, Mesh::mselect, Mesh::totselect, and MSelect::type.
Referenced by ed_wpaint_vertex_select_pick().
| void BKE_mesh_mselect_clear | ( | Mesh * | mesh | ) |
Definition at line 1580 of file blenkernel/intern/mesh.cc.
References MEM_SAFE_FREE, mesh, Mesh::mselect, and Mesh::totselect.
Referenced by blender::ed::sculpt_paint::dyntopo::enable_ex(), and paintvert_deselect_all_visible().
| int BKE_mesh_mselect_find | ( | const Mesh * | mesh, |
| int | index, | ||
| int | type ) |
me->mselect, or -1 Definition at line 1653 of file blenkernel/intern/mesh.cc.
References BLI_assert, ELEM, MSelect::index, ME_ESEL, ME_FSEL, ME_VSEL, mesh, Mesh::mselect, Mesh::totselect, and MSelect::type.
Referenced by BKE_mesh_mselect_active_set().
| void BKE_mesh_mselect_validate | ( | Mesh * | mesh | ) |
Definition at line 1586 of file blenkernel/intern/mesh.cc.
References Geometry::attributes, BLI_assert_unreachable, MSelect::index, blender::bke::AttributeAccessor::lookup_or_default(), ME_ESEL, ME_FSEL, ME_VSEL, MEM_freeN(), MEM_malloc_arrayN(), MEM_reallocN, mesh, Mesh::mselect, and Mesh::totselect.
Referenced by do_lasso_select_paintvert(), do_paintvert_box_select(), ed_wpaint_vertex_select_pick(), paint_vertsel_circle_select(), and paintvert_deselect_all_visible().
| Mesh * BKE_mesh_new_nomain | ( | const int | verts_num, |
| const int | edges_num, | ||
| const int | faces_num, | ||
| const int | corners_num ) |
Definition at line 862 of file blenkernel/intern/mesh.cc.
References BKE_idtype_idcode_to_name(), BKE_libblock_alloc(), BKE_libblock_init_empty(), BKE_mesh_face_offsets_ensure_alloc(), Mesh::corners_num, Mesh::edges_num, Mesh::faces_num, Mesh::id, ID_ME, LIB_ID_CREATE_LOCALIZE, mesh, blender::bke::mesh_ensure_required_data_layers(), and Mesh::verts_num.
Referenced by BKE_mball_polygonize(), BKE_modifier_deform_verts(), blender::ed::object::convert_curves_to_mesh(), blender::ed::object::convert_grease_pencil_to_mesh(), blender::ed::object::convert_mesh_to_mesh(), blender::io::ply::convert_ply_to_mesh(), blender::ed::object::convert_psys_to_mesh(), blender::nodes::node_geo_mesh_primitive_circle_cc::create_circle_mesh(), blender::geometry::create_cuboid_mesh(), blender::geometry::create_cylinder_or_cone_mesh(), create_empty_mesh(), blender::geometry::create_grid_mesh(), blender::geometry::create_line_mesh(), blender::io::obj::MeshFromGeometry::create_mesh(), blender::geometry::create_uv_sphere_mesh(), blender::geometry::create_vertex_mesh(), curve_calc_modifiers_post(), blender::bke::curve_to_mesh_sweep(), do_multires_bake(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_edges(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_faces(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_mesh(), evaluate_surface_object(), blender::geometry::execute_realize_mesh_tasks(), blender::geometry::extract_mesh_edges(), blender::geometry::extract_mesh_faces(), blender::geometry::extract_mesh_vertices(), blender::ed::sculpt_paint::trim::generate_geometry(), blender::nodes::node_geo_points_to_vertices_cc::geometry_set_points_to_vertices(), get_quick_mesh(), hair_create_input_mesh(), blender::io::fbx::import_meshes(), blender::bke::mesh_new_no_attributes(), mesh_nurbs_displist_to_mesh(), blender::bke::modifier_modify_mesh_and_geometry_set(), blender::modify_mesh(), blender::io::stl::read_stl_binary(), blender::ed::geometry::store_result_geometry(), blender::io::stl::STLMeshHelper::to_mesh(), and blender::bke::bake::try_load_mesh().
| Mesh * BKE_mesh_new_nomain_from_template | ( | const Mesh * | me_src, |
| const int | verts_num, | ||
| const int | edges_num, | ||
| const int | faces_num, | ||
| const int | corners_num ) |
Definition at line 1009 of file blenkernel/intern/mesh.cc.
References BKE_mesh_new_nomain_from_template_ex(), and CD_MASK_EVERYTHING.
Referenced by arrayModifier_doArray(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), blender::geometry::create_merged_mesh(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), multires_unsubdivide_to_basemesh(), blender::io::alembic::AbcMeshReader::read_mesh(), and subdivide_base().
| Mesh * BKE_mesh_new_nomain_from_template_ex | ( | const Mesh * | me_src, |
| const int | verts_num, | ||
| const int | edges_num, | ||
| const int | tessface_num, | ||
| const int | faces_num, | ||
| const int | corners_num, | ||
| const CustomData_MeshMasks | mask ) |
Definition at line 958 of file blenkernel/intern/mesh.cc.
References BKE_id_new_nomain(), BKE_mesh_copy_parameters_for_eval(), BKE_mesh_face_offsets_ensure_alloc(), CD_MFACE, CD_SET_DEFAULT, Mesh::corner_data, Mesh::corners_num, CustomData_add_layer(), CustomData_get_layer(), CustomData_init_layout_from(), Mesh::edge_data, Mesh::edges_num, Mesh::face_data, Mesh::faces_num, Mesh::fdata_legacy, mask(), MEM_dupallocN(), blender::bke::mesh_ensure_required_data_layers(), mesh_tessface_clear_intern(), Mesh::mselect, Mesh::totface_legacy, Mesh::vert_data, and Mesh::verts_num.
Referenced by BKE_mesh_new_nomain_from_template(), cutEdges(), and explodeMesh().
Add a CD_ORCO layer to the Mesh if there is none already.
Definition at line 1207 of file blenkernel/intern/mesh.cc.
References BKE_mesh_orco_verts_get(), BKE_mesh_orco_verts_transform(), CD_CONSTRUCT, CD_ORCO, blender::MutableSpan< T >::copy_from(), CustomData_add_layer(), CustomData_has_layer(), data, mesh, Mesh::vert_data, and Mesh::verts_num.
Referenced by psys_thread_context_init_distribute().
| blender::Array< float3 > BKE_mesh_orco_verts_get | ( | const Object * | ob | ) |
Definition at line 1166 of file blenkernel/intern/mesh.cc.
References Object::data, mesh, result, blender::Span< T >::size(), Mesh::texcomesh, and Mesh::verts_num.
Referenced by BKE_mesh_orco_ensure(), and blender::bke::get_orco_coords().
| void BKE_mesh_orco_verts_transform | ( | Mesh * | mesh, |
| float(*) | orco[3], | ||
| int | totvert, | ||
| bool | invert ) |
Definition at line 1202 of file blenkernel/intern/mesh.cc.
References BKE_mesh_orco_verts_transform(), invert(), and mesh.
| void BKE_mesh_orco_verts_transform | ( | Mesh * | mesh, |
| MutableSpan< float3 > | orco, | ||
| const bool | invert ) |
Definition at line 1179 of file blenkernel/intern/mesh.cc.
References BKE_mesh_texspace_get(), blender::MutableSpan< T >::index_range(), invert(), madd_v3_v3v3v3(), mesh, and Mesh::texcomesh.
Referenced by BKE_mesh_orco_ensure(), and BKE_mesh_orco_verts_transform().
| void BKE_mesh_tessface_clear | ( | Mesh * | mesh | ) |
Definition at line 1572 of file blenkernel/intern/mesh.cc.
References mesh, and mesh_tessface_clear_intern().
Referenced by BKE_mesh_material_index_clear(), BKE_mesh_material_index_remove(), BKE_sculpt_color_layer_create_if_needed(), do_versions_after_linking_280(), ED_mesh_color_ensure(), blender::ed::sculpt_paint::fill_mesh_face_or_corner_attribute(), mesh_ensure_tessellation_customdata(), and blender::bke::mesh_init_origspace().
| void BKE_mesh_texspace_calc | ( | Mesh * | mesh | ) |
Definition at line 1094 of file blenkernel/intern/mesh.cc.
References bounds(), copy_v3_v3(), ME_TEXSPACE_FLAG_AUTO, ME_TEXSPACE_FLAG_AUTO_EVALUATED, mesh, mid_v3_v3v3(), Mesh::texspace_flag, Mesh::texspace_location, and Mesh::texspace_size.
Referenced by BKE_mesh_eval_geometry(), BKE_mesh_texspace_ensure(), and mesh_copy_texture_space_from_curve_type().
| void BKE_mesh_texspace_ensure | ( | Mesh * | mesh | ) |
Definition at line 1127 of file blenkernel/intern/mesh.cc.
References BKE_mesh_texspace_calc(), ME_TEXSPACE_FLAG_AUTO, ME_TEXSPACE_FLAG_AUTO_EVALUATED, mesh, and Mesh::texspace_flag.
Referenced by BKE_mesh_texspace_get(), BKE_mesh_texspace_get_reference(), blender::draw::overlay::Bounds::object_sync(), psys_get_texture(), and psys_thread_context_init_distribute().
| void BKE_mesh_texspace_get | ( | Mesh * | mesh, |
| float | r_texspace_location[3], | ||
| float | r_texspace_size[3] ) |
Definition at line 1136 of file blenkernel/intern/mesh.cc.
References BKE_mesh_texspace_ensure(), copy_v3_v3(), mesh, Mesh::texspace_location, and Mesh::texspace_size.
Referenced by BKE_mesh_orco_verts_transform(), create_mesh(), blender::draw::drw_volume_object_mesh_init(), mesh_texture_space(), and blender::io::hydra::VolumeModifierData::write_transform().
| void BKE_mesh_texspace_get_reference | ( | Mesh * | mesh, |
| char ** | r_texspace_flag, | ||
| float ** | r_texspace_location, | ||
| float ** | r_texspace_size ) |
Definition at line 1148 of file blenkernel/intern/mesh.cc.
References BKE_mesh_texspace_ensure(), mesh, Mesh::texspace_flag, Mesh::texspace_location, and Mesh::texspace_size.
Referenced by BKE_object_obdata_texspace_get().
| BMesh * BKE_mesh_to_bmesh | ( | Mesh * | mesh, |
| int | active_shapekey, | ||
| bool | add_key_index, | ||
| const BMeshCreateParams * | params ) |
| active_shapekey | See BMeshFromMeshParams::active_shapekey. |
| add_key_index | See BMeshFromMeshParams::add_key_index. |
Definition at line 1037 of file blenkernel/intern/mesh.cc.
References BKE_mesh_to_bmesh_ex(), BMeshFromMeshParams::calc_face_normal, mesh, and params.
Referenced by EDBM_mesh_make_from_mesh().
| BMesh * BKE_mesh_to_bmesh_ex | ( | const Mesh * | mesh, |
| const BMeshCreateParams * | create_params, | ||
| const BMeshFromMeshParams * | convert_params ) |
Definition at line 1025 of file blenkernel/intern/mesh.cc.
References bm, BM_mesh_bm_from_me(), BM_mesh_create(), BMALLOC_TEMPLATE_FROM_ME, and mesh.
Referenced by BKE_mesh_mirror_apply_mirror_on_axis(), BKE_mesh_mirror_bisect_on_mirror_plane_for_modifier(), BKE_mesh_to_bmesh(), blender::io::ply::do_triangulation(), blender::io::alembic::ABCGenericMeshWriter::do_write(), blender::io::usd::USDGenericMeshWriter::do_write(), doEdgeSplit(), modify_mesh(), modify_mesh(), triangulate_mesh(), and WireframeModifier_do().
|
static |
Definition at line 690 of file blenkernel/intern/mesh.cc.
References Mesh::active_color_attribute, BLI_freelistN(), Mesh::default_color_attribute, MEM_SAFE_FREE, mesh, and Mesh::vertex_group_names.
Referenced by BKE_mesh_clear_geometry_and_metadata().
Definition at line 902 of file blenkernel/intern/mesh.cc.
References Mesh::active_color_attribute, BLI_strdup(), Mesh::default_color_attribute, and MEM_SAFE_FREE.
Referenced by BKE_mesh_copy_parameters_for_eval().
|
static |
Definition at line 1072 of file blenkernel/intern/mesh.cc.
References CD_ORIGINDEX, CD_SET_DEFAULT, CustomData_add_layer(), CustomData_has_layer(), data, indices, range_vn_i(), and size().
Referenced by BKE_mesh_ensure_default_orig_index_customdata_no_check().
|
static |
Definition at line 443 of file blenkernel/intern/mesh.cc.
References Mesh::active_color_attribute, Mesh::active_uv_map_attribute, Mesh::attribute_storage, BKE_defvert_blend_read(), BLI_endian_switch_uint32_array(), BLO_read_pointer_array(), BLO_read_requires_endian_switch(), BLO_read_shared(), BLO_read_string(), BLO_read_struct_array, BLO_read_struct_list, Mesh::corner_data, Mesh::corners_num, CustomData_blend_read(), Mesh::default_color_attribute, Mesh::default_uv_map_attribute, Mesh::edge_data, Mesh::edges_num, Mesh::face_data, Mesh::face_offset_indices, Mesh::faces_num, Mesh::fdata_legacy, Mesh::mat, mesh, blender::bke::mesh_convert_storage_to_customdata(), Mesh::mselect, Mesh::runtime, Mesh::texspace_flag, Mesh::totcol, Mesh::totface_legacy, Mesh::totselect, Mesh::vert_data, Mesh::vertex_group_names, and Mesh::verts_num.
|
static |
Definition at line 340 of file blenkernel/intern/mesh.cc.
References Mesh::attribute_storage, BLO_write_is_undo(), Mesh::corner_data, Mesh::corners_num, CustomData_blend_write_prepare(), Attribute::data, AttributeStorage::dna_attributes, AttributeStorage::dna_attributes_num, Mesh::edge_data, Mesh::edges_num, Mesh::face_data, Mesh::face_offset_indices, Mesh::faces_num, Mesh::fdata_legacy, ID_IS_OVERRIDE_LIBRARY, mesh, rename_seam_layer_to_old_name(), Mesh::totface_legacy, Mesh::vert_data, Mesh::vertex_group_names, and Mesh::verts_num.
|
static |
Definition at line 667 of file blenkernel/intern/mesh.cc.
References Mesh::act_face, Mesh::attribute_storage, Mesh::corner_data, Mesh::corners_num, CustomData_free(), Mesh::edge_data, Mesh::edges_num, Mesh::face_data, Mesh::face_offset_indices, Mesh::faces_num, Mesh::fdata_legacy, blender::implicit_sharing::free_shared_data(), MEM_SAFE_FREE, mesh, Mesh::mselect, Mesh::runtime, Mesh::totface_legacy, Mesh::totselect, Mesh::vert_data, and Mesh::verts_num.
Referenced by BKE_mesh_clear_geometry(), and BKE_mesh_clear_geometry_and_metadata().
|
static |
Definition at line 106 of file blenkernel/intern/mesh.cc.
References Mesh::active_color_attribute, Mesh::active_uv_map_attribute, Mesh::attribute_storage, BKE_defgroup_copy_list(), BKE_id_copy_in_lib(), CD_MASK_DERIVEDMESH, CD_MASK_MESH, blender::implicit_sharing::copy_shared_pointer(), Mesh::corner_data, Mesh::corners_num, CustomData_init_from(), CustomData_MeshMasks_update(), Mesh::default_color_attribute, Mesh::default_uv_map_attribute, Mesh::edge_data, Mesh::edges_num, Mesh::face_data, Mesh::face_offset_indices, Mesh::faces_num, Mesh::fdata_legacy, flag, Key::id, Mesh::id, ID_TAG_NO_MAIN, Mesh::key, LIB_ID_COPY_SHAPEKEY, mask(), Mesh::mat, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, MEM_dupallocN(), mesh_tessface_clear_intern(), Mesh::mselect, Mesh::runtime, ID::tag, Mesh::totface_legacy, Mesh::vert_data, Mesh::vertex_group_names, and Mesh::verts_num.
|
static |
Definition at line 267 of file blenkernel/intern/mesh.cc.
References BKE_LIB_FOREACHID_PROCESS_ID_NOCHECK, BKE_LIB_FOREACHID_PROCESS_IDSUPER, BKE_lib_query_foreachid_process_flags_get(), data, flag, IDWALK_CB_NEVER_SELF, IDWALK_CB_USER, IDWALK_DO_DEPRECATED_POINTERS, Mesh::key, Mesh::mat, mesh, Mesh::texcomesh, and Mesh::totcol.
|
static |
Definition at line 283 of file blenkernel/intern/mesh.cc.
References BKE_bpath_foreach_path_fixed_process(), Mesh::corner_data, CustomData::external, CustomDataExternal::filepath, and mesh.
|
static |
Definition at line 243 of file blenkernel/intern/mesh.cc.
References Mesh::active_color_attribute, Mesh::active_uv_map_attribute, Mesh::attribute_storage, BLI_freelistN(), Mesh::corner_data, CustomData_free(), Mesh::default_color_attribute, Mesh::default_uv_map_attribute, Mesh::edge_data, Mesh::face_data, Mesh::face_offset_indices, Mesh::fdata_legacy, blender::implicit_sharing::free_shared_data(), Mesh::mat, MEM_SAFE_FREE, mesh, Mesh::mselect, Mesh::runtime, Mesh::vert_data, and Mesh::vertex_group_names.
|
static |
Definition at line 86 of file blenkernel/intern/mesh.cc.
References Mesh::attribute_storage, BLI_assert, BLI_hash_int(), BLI_time_now_seconds_i(), Mesh::corner_data, CustomData_reset(), DNA_struct_default_get, Mesh::edge_data, Mesh::face_data, Mesh::face_sets_color_seed, Mesh::fdata_legacy, MEMCMP_STRUCT_AFTER_IS_ZERO, MEMCPY_STRUCT_AFTER, mesh, Mesh::runtime, UINT_MAX, and Mesh::vert_data.
|
static |
Definition at line 710 of file blenkernel/intern/mesh.cc.
References CustomData_free(), CustomData_reset(), Mesh::fdata_legacy, mesh, and Mesh::totface_legacy.
Referenced by BKE_mesh_new_nomain_from_template_ex(), BKE_mesh_tessface_clear(), and mesh_copy_data().
|
static |
Definition at line 293 of file blenkernel/intern/mesh.cc.
References CD_PROP_BOOL, LISTBASE_FOREACH, CustomDataLayer::name, STREQ, and STRNCPY().
Referenced by mesh_blend_write().
|
static |
Definition at line 1417 of file blenkernel/intern/mesh.cc.
References ME_WRAPPER_TYPE_BMESH, mesh, and Mesh::runtime.
| IDTypeInfo IDType_ID_ME |
Definition at line 509 of file blenkernel/intern/mesh.cc.