Blender V4.5
Mesh Class Reference

#include <DNA_mesh_types.h>

Inherits Geometry.

Inherited by Volume.

Classes

struct  Triangle
struct  SubdFace
struct  SubdEdgeCrease

Public Types

enum  SubdivisionType { SUBDIVISION_NONE , SUBDIVISION_LINEAR , SUBDIVISION_CATMULL_CLARK }
enum  SubdivisionBoundaryInterpolation { SUBDIVISION_BOUNDARY_NONE , SUBDIVISION_BOUNDARY_EDGE_ONLY , SUBDIVISION_BOUNDARY_EDGE_AND_CORNER }
enum  SubdivisionFVarInterpolation {
  SUBDIVISION_FVAR_LINEAR_NONE , SUBDIVISION_FVAR_LINEAR_CORNERS_ONLY , SUBDIVISION_FVAR_LINEAR_CORNERS_PLUS1 , SUBDIVISION_FVAR_LINEAR_CORNERS_PLUS2 ,
  SUBDIVISION_FVAR_LINEAR_BOUNDARIES , SUBDIVISION_FVAR_LINEAR_ALL
}
Public Types inherited from Geometry
enum  Type {
  MESH , HAIR , VOLUME , POINTCLOUD ,
  LIGHT
}

Public Member Functions

Triangle get_triangle (const size_t i) const
size_t num_triangles () const
SubdEdgeCrease get_subd_crease (const size_t i) const
bool need_tesselation ()
 Mesh ()
void resize_mesh (const int numverts, const int numtris)
void reserve_mesh (const int numverts, const int numtris)
void resize_subd_faces (const int numfaces, const int numcorners)
void reserve_subd_faces (const int numfaces, const int numcorners)
void reserve_subd_creases (const size_t num_creases)
void clear_non_sockets ()
void clear (bool preserve_shaders=false) override
void add_vertex (const float3 P)
void add_vertex_slow (const float3 P)
void add_triangle (const int v0, const int v1, const int v2, const int shader, bool smooth)
void add_subd_face (const int *corners, const int num_corners, const int shader_, bool smooth_)
void add_edge_crease (const int v0, const int v1, const float weight)
void add_vertex_crease (const int v, const float weight)
void copy_center_to_motion_step (const int motion_step)
void compute_bounds () override
void apply_transform (const Transform &tfm, const bool apply_to_motion) override
void add_vertex_normals ()
void add_undisplaced (Scene *scene)
void update_generated (Scene *scene)
void update_tangents (Scene *scene)
void get_uv_tiles (ustring map, unordered_set< int > &tiles) override
void pack_shaders (Scene *scene, uint *shader)
void pack_normals (packed_float3 *vnormal)
void pack_verts (packed_float3 *tri_verts, packed_uint3 *tri_vindex)
bool has_motion_blur () const override
PrimitiveType primitive_type () const override
void tessellate (SubdParams &params)
SubdFace get_subd_face (const size_t index) const
size_t get_num_subd_faces () const
void set_num_subd_faces (const size_t num_subd_faces_)
size_t get_num_subd_base_verts () const
Public Member Functions inherited from Geometry
 Geometry (const NodeType *node_type, const Type type)
 ~Geometry () override
bool need_attribute (Scene *scene, AttributeStandard std)
bool need_attribute (Scene *scene, ustring name)
AttributeRequestSet needed_attributes ()
float motion_time (const int step) const
int motion_step (const float time) const
void compute_bvh (Device *device, DeviceScene *dscene, SceneParams *params, Progress *progress, const size_t n, size_t total)
bool need_build_bvh (BVHLayout layout) const
bool is_instanced () const
bool has_true_displacement () const
bool has_voxel_attributes () const
bool is_mesh () const
bool is_hair () const
bool is_pointcloud () const
bool is_volume () const
bool is_light () const
void tag_update (Scene *scene, bool rebuild)
Public Member Functions inherited from Node
 Node (const NodeType *type, ustring name=ustring())
virtual ~Node ()=0
void set (const SocketType &input, bool value)
void set (const SocketType &input, const int value)
void set (const SocketType &input, const uint value)
void set (const SocketType &input, const uint64_t value)
void set (const SocketType &input, const float value)
void set (const SocketType &input, const float2 value)
void set (const SocketType &input, const float3 value)
void set (const SocketType &input, const char *value)
void set (const SocketType &input, ustring value)
void set (const SocketType &input, const Transform &value)
void set (const SocketType &input, Node *value)
template<class ValueType, std::enable_if_t< std::is_enum_v< ValueType >, bool > = true>
void set (const SocketType &input, const ValueType &value)
void set (const SocketType &input, array< bool > &value)
void set (const SocketType &input, array< int > &value)
void set (const SocketType &input, array< float > &value)
void set (const SocketType &input, array< float2 > &value)
void set (const SocketType &input, array< float3 > &value)
void set (const SocketType &input, array< ustring > &value)
void set (const SocketType &input, array< Transform > &value)
void set (const SocketType &input, array< Node * > &value)
bool get_bool (const SocketType &input) const
int get_int (const SocketType &input) const
uint get_uint (const SocketType &input) const
uint64_t get_uint64 (const SocketType &input) const
float get_float (const SocketType &input) const
float2 get_float2 (const SocketType &input) const
float3 get_float3 (const SocketType &input) const
ustring get_string (const SocketType &input) const
Transform get_transform (const SocketType &input) const
Nodeget_node (const SocketType &input) const
const array< bool > & get_bool_array (const SocketType &input) const
const array< int > & get_int_array (const SocketType &input) const
const array< float > & get_float_array (const SocketType &input) const
const array< float2 > & get_float2_array (const SocketType &input) const
const array< float3 > & get_float3_array (const SocketType &input) const
const array< ustring > & get_string_array (const SocketType &input) const
const array< Transform > & get_transform_array (const SocketType &input) const
const array< Node * > & get_node_array (const SocketType &input) const
bool has_default_value (const SocketType &input) const
void set_default_value (const SocketType &input)
bool equals_value (const Node &other, const SocketType &socket) const
void copy_value (const SocketType &socket, const Node &other, const SocketType &other_socket)
void set_value (const SocketType &socket, const Node &other, const SocketType &other_socket)
bool equals (const Node &other) const
void hash (MD5Hash &md5)
size_t get_total_size_in_bytes () const
bool is_a (const NodeType *type)
bool socket_is_modified (const SocketType &input) const
bool is_modified () const
void tag_modified ()
void clear_modified ()
void print_modified_sockets () const
const NodeOwnerget_owner () const
void set_owner (const NodeOwner *owner_)
int reference_count () const
void reference ()
void dereference ()
void clear_reference_count ()

Public Attributes

ID id
struct AnimDataadt
struct Ipo *ipo DNA_DEPRECATED
struct Keykey
struct Material ** mat
int verts_num
int edges_num
int faces_num
int corners_num
int * face_offset_indices
struct AttributeStorage attribute_storage
CustomData vert_data
CustomData edge_data
CustomData face_data
CustomData corner_data
ListBase vertex_group_names
int vertex_group_active_index
int attributes_active_index
struct MSelectmselect
int totselect
int act_face
struct Meshtexcomesh
float texspace_location [3]
float texspace_size [3]
char texspace_flag
char editflag
uint16_t flag
float smoothresh_legacy DNA_DEPRECATED
float remesh_voxel_size
float remesh_voxel_adaptivity
int face_sets_color_seed
int face_sets_color_default
char * active_color_attribute
char * default_color_attribute
char * active_uv_map_attribute
char * default_uv_map_attribute
char symmetry
char remesh_mode
short totcol
char cd_flag DNA_DEPRECATED
char subdiv DNA_DEPRECATED
char subdivr DNA_DEPRECATED
char subsurftype DNA_DEPRECATED
struct MPoly *mpoly DNA_DEPRECATED
struct MLoop *mloop DNA_DEPRECATED
struct MVert *mvert DNA_DEPRECATED
struct MEdge *medge DNA_DEPRECATED
struct MDeformVert *dvert DNA_DEPRECATED
struct MTFace *mtface DNA_DEPRECATED
struct TFace *tface DNA_DEPRECATED
struct MCol *mcol DNA_DEPRECATED
struct MFace *mface DNA_DEPRECATED
CustomData fdata_legacy
int totface_legacy
char _pad1 [4]
MeshRuntimeHandleruntime
AttributeSet subd_attributes
size_t vert_offset
size_t face_offset
size_t corner_offset
Public Attributes inherited from Geometry
Type geometry_type
AttributeSet attributes
BoundBox bounds
bool transform_applied
bool transform_negative_scaled
Transform transform_normal
unique_ptr< BVHbvh
size_t attr_map_offset
size_t prim_offset
bool has_volume
bool has_surface_bssrdf
bool need_update_rebuild
bool need_update_bvh_for_offset
size_t index
Public Attributes inherited from Node
ustring name
const NodeTypetype
InternalNode internal
LeafNode leaf

Protected Member Functions

 Mesh (const NodeType *node_type_, Type geom_type_)
void clear (bool preserve_shaders, bool preserve_voxel_data)
Protected Member Functions inherited from Node
template<typename T>
void set_if_different (const SocketType &input, T value)
void set_if_different (const SocketType &input, Node *value)
template<typename T>
void set_if_different (const SocketType &input, array< T > &value)
void set_if_different (const SocketType &input, array< Node * > &value)
void dereference_all_used_nodes ()

Friends

class BVH2
class BVHBuild
class BVHSpatialSplit
class DiagSplit
class EdgeDice
class GeometryManager
class ObjectManager

Additional Inherited Members

Static Public Attributes inherited from Geometry
static const uint MAX_MOTION_STEPS = 129
Static Protected Member Functions inherited from Node
template<typename T>
static Tget_socket_value (const Node *node, const SocketType &socket)
Protected Attributes inherited from Node
const NodeOwnerowner
int ref_count {0}
SocketModifiedFlags socket_modified

Detailed Description

Definition at line 59 of file DNA_mesh_types.h.

Member Enumeration Documentation

◆ SubdivisionBoundaryInterpolation

Enumerator
SUBDIVISION_BOUNDARY_NONE 
SUBDIVISION_BOUNDARY_EDGE_ONLY 
SUBDIVISION_BOUNDARY_EDGE_AND_CORNER 

Definition at line 123 of file scene/mesh.h.

◆ SubdivisionFVarInterpolation

Enumerator
SUBDIVISION_FVAR_LINEAR_NONE 
SUBDIVISION_FVAR_LINEAR_CORNERS_ONLY 
SUBDIVISION_FVAR_LINEAR_CORNERS_PLUS1 
SUBDIVISION_FVAR_LINEAR_CORNERS_PLUS2 
SUBDIVISION_FVAR_LINEAR_BOUNDARIES 
SUBDIVISION_FVAR_LINEAR_ALL 

Definition at line 129 of file scene/mesh.h.

◆ SubdivisionType

Enumerator
SUBDIVISION_NONE 
SUBDIVISION_LINEAR 
SUBDIVISION_CATMULL_CLARK 

Definition at line 117 of file scene/mesh.h.

Constructor & Destructor Documentation

◆ Mesh() [1/2]

Mesh::Mesh ( const NodeType * node_type_,
Type geom_type_ )
protected

◆ Mesh() [2/2]

Mesh::Mesh ( )

Definition at line 326 of file scene/mesh.cpp.

References Geometry::Geometry(), Geometry::MESH, and Mesh().

Member Function Documentation

◆ add_edge_crease()

void Mesh::add_edge_crease ( const int v0,
const int v1,
const float weight )

Definition at line 491 of file scene/mesh.cpp.

Referenced by create_subd_mesh(), and ObjectManager.

◆ add_subd_face()

void Mesh::add_subd_face ( const int * corners,
const int num_corners,
const int shader_,
bool smooth_ )

◆ add_triangle()

void Mesh::add_triangle ( const int v0,
const int v1,
const int v2,
const int shader,
bool smooth )

Definition at line 434 of file scene/mesh.cpp.

References v2.

Referenced by GeometryManager::create_volume_mesh(), ObjectManager, and xml_read_mesh().

◆ add_undisplaced()

◆ add_vertex()

void Mesh::add_vertex ( const float3 P)

Definition at line 422 of file scene/mesh.cpp.

References P, and verts.

Referenced by GeometryManager::create_volume_mesh(), and ObjectManager.

◆ add_vertex_crease()

void Mesh::add_vertex_crease ( const int v,
const float weight )

Definition at line 502 of file scene/mesh.cpp.

References v.

Referenced by create_subd_mesh(), and ObjectManager.

◆ add_vertex_normals()

◆ add_vertex_slow()

void Mesh::add_vertex_slow ( const float3 P)

Definition at line 428 of file scene/mesh.cpp.

References P, and verts.

Referenced by ObjectManager.

◆ apply_transform()

void Mesh::apply_transform ( const Transform & tfm,
const bool apply_to_motion )
overridevirtual

◆ clear() [1/2]

void Mesh::clear ( bool preserve_shaders,
bool preserve_voxel_data )
protected

◆ clear() [2/2]

void Mesh::clear ( bool preserve_shaders = false)
overridevirtual

Reimplemented from Geometry.

Reimplemented in Volume.

Definition at line 417 of file scene/mesh.cpp.

References clear().

Referenced by clear(), Volume::clear(), and ObjectManager.

◆ clear_non_sockets()

void Mesh::clear_non_sockets ( )

Definition at line 381 of file scene/mesh.cpp.

References Geometry::clear().

Referenced by clear(), and ObjectManager.

◆ compute_bounds()

◆ copy_center_to_motion_step()

void Mesh::copy_center_to_motion_step ( const int motion_step)

◆ get_num_subd_base_verts()

size_t Mesh::get_num_subd_base_verts ( ) const
inline

Definition at line 237 of file scene/mesh.h.

References verts.

Referenced by Attribute::element_size().

◆ get_num_subd_faces()

size_t Mesh::get_num_subd_faces ( ) const
inline

◆ get_subd_crease()

SubdEdgeCrease Mesh::get_subd_crease ( const size_t i) const
inline

Definition at line 106 of file scene/mesh.h.

References Mesh::SubdEdgeCrease::crease, i, and Mesh::SubdEdgeCrease::v.

◆ get_subd_face()

◆ get_triangle()

◆ get_uv_tiles()

void Mesh::get_uv_tiles ( ustring map,
unordered_set< int > & tiles )
overridevirtual

◆ has_motion_blur()

bool Mesh::has_motion_blur ( ) const
overridevirtual

◆ need_tesselation()

bool Mesh::need_tesselation ( )

◆ num_triangles()

◆ pack_normals()

◆ pack_shaders()

void Mesh::pack_shaders ( Scene * scene,
uint * shader )

◆ pack_verts()

void Mesh::pack_verts ( packed_float3 * tri_verts,
packed_uint3 * tri_vindex )

◆ primitive_type()

PrimitiveType Mesh::primitive_type ( ) const
overridevirtual

◆ reserve_mesh()

void Mesh::reserve_mesh ( const int numverts,
const int numtris )

Definition at line 338 of file scene/mesh.cpp.

References Geometry::attributes, and verts.

Referenced by GeometryManager::create_volume_mesh(), ObjectManager, and xml_read_mesh().

◆ reserve_subd_creases()

void Mesh::reserve_subd_creases ( const size_t num_creases)

Definition at line 375 of file scene/mesh.cpp.

Referenced by create_subd_mesh(), and ObjectManager.

◆ reserve_subd_faces()

void Mesh::reserve_subd_faces ( const int numfaces,
const int numcorners )

Definition at line 362 of file scene/mesh.cpp.

References subd_attributes.

Referenced by ObjectManager, and xml_read_mesh().

◆ resize_mesh()

void Mesh::resize_mesh ( const int numverts,
const int numtris )

Definition at line 328 of file scene/mesh.cpp.

References Geometry::attributes, and verts.

Referenced by create_mesh(), EdgeDice::EdgeDice(), and ObjectManager.

◆ resize_subd_faces()

void Mesh::resize_subd_faces ( const int numfaces,
const int numcorners )

Definition at line 349 of file scene/mesh.cpp.

References subd_attributes.

Referenced by create_mesh(), and ObjectManager.

◆ set_num_subd_faces()

void Mesh::set_num_subd_faces ( const size_t num_subd_faces_)
inline

Definition at line 233 of file scene/mesh.h.

◆ tessellate()

◆ update_generated()

◆ update_tangents()

◆ BVH2

friend class BVH2
friend

Definition at line 180 of file scene/mesh.h.

References BVH2, and class.

Referenced by BVH2.

◆ BVHBuild

friend class BVHBuild
friend

Definition at line 181 of file scene/mesh.h.

References BVHBuild, and class.

Referenced by BVHBuild.

◆ BVHSpatialSplit

friend class BVHSpatialSplit
friend

Definition at line 182 of file scene/mesh.h.

References BVHSpatialSplit, and class.

Referenced by BVHSpatialSplit.

◆ DiagSplit

friend class DiagSplit
friend

Definition at line 183 of file scene/mesh.h.

References class, and DiagSplit.

Referenced by DiagSplit, and tessellate().

◆ EdgeDice

friend class EdgeDice
friend

Definition at line 184 of file scene/mesh.h.

References class, and EdgeDice.

Referenced by EdgeDice, and tessellate().

◆ GeometryManager

friend class GeometryManager
friend

Definition at line 185 of file scene/mesh.h.

References class, and GeometryManager.

Referenced by GeometryManager.

◆ ObjectManager

Member Data Documentation

◆ _pad1

char Mesh::_pad1[4]

Definition at line 244 of file DNA_mesh_types.h.

◆ act_face

int Mesh::act_face

In most cases the last selected element (see mselect) represents the active element. For faces we make an exception and store the active face separately so it can be active even when no faces are selected. This is done to prevent flickering in the material properties and UV Editor which base the content they display on the current material which is controlled by the active face.

Note
This is mainly stored for use in edit-mode.

Definition at line 146 of file DNA_mesh_types.h.

Referenced by BM_mesh_bm_from_me(), BM_mesh_bm_to_me(), BM_mesh_bm_to_me_compact(), and paintface_mouse_select().

◆ active_color_attribute

◆ active_uv_map_attribute

char* Mesh::active_uv_map_attribute

The UV map currently selected in the list and edited by a user. Currently only used for file forward compatibility (see AttributeStorage).

Definition at line 185 of file DNA_mesh_types.h.

Referenced by mesh_copy_data(), and mesh_free_data().

◆ adt

struct AnimData* Mesh::adt

Animation data (must be immediately after id for utilities to use it).

Definition at line 68 of file DNA_mesh_types.h.

Referenced by acf_dsmesh_setting_ptr(), and make_new_animlistelem().

◆ attribute_storage

struct AttributeStorage Mesh::attribute_storage

Vertex, edge, face, and corner generic attributes. Currently unused at runtime, but used for forward compatibility when reading files (see #122398).

Definition at line 102 of file DNA_mesh_types.h.

Referenced by mesh_copy_data(), mesh_free_data(), and mesh_init_data().

◆ attributes_active_index

int Mesh::attributes_active_index

The index of the active attribute in the UI. The attribute list is a combination of the generic type attributes from vertex, edge, face, and corner custom data.

Set to -1 when none is active.

Definition at line 123 of file DNA_mesh_types.h.

Referenced by BKE_attributes_active_index_p(), and BKE_mesh_copy_parameters().

◆ corner_data

CustomData Mesh::corner_data

Definition at line 107 of file DNA_mesh_types.h.

Referenced by blender::io::alembic::add_customdata_cb(), add_interpolated_faces_to_new_mesh(), InstanceWriter::add_material_bindings(), arrayModifier_doArray(), blender::ed::object::bake(), bc_get_active_UVLayer(), bc_get_active_uvlayer_name(), bc_get_uvlayer_name(), BKE_mesh_calc_edges_legacy(), BKE_mesh_calc_loop_tangents(), BKE_mesh_convert_mfaces_to_mpolys(), BKE_mesh_debug_info(), BKE_mesh_do_versions_convert_mfaces_to_mpolys(), BKE_mesh_merge_customdata_for_apply_modifier(), BKE_mesh_new_nomain_from_template_ex(), BKE_mesh_nomain_to_mesh(), BKE_mesh_runtime_is_valid(), BKE_mesh_tessface_calc(), blo_update_defaults_scene(), BM_mesh_bm_from_me(), BM_mesh_bm_to_me_compact(), BM_mesh_copy_init_customdata_from_mesh_array(), blender::bm_to_mesh_loops(), bmo_get_loop_color_ref(), cdDM_from_mesh_ex(), context_init_grid_pointers(), copy_ccg_data(), copy_masked_faces_to_new_mesh(), blender::geometry::create_merged_mesh(), GeometryExporter::create_mesh_primitive_list(), GeometryExporter::createTexcoordsSource(), GeometryExporter::createVertexColorSource(), data_transfer_dtdata_type_postprocess(), data_transfer_layersmapping_generate(), blender::geometry::debug_randomize_face_order(), do_versions_mesh_mloopcol_swap_2_62_1(), blender::ed::object::dt_layers_select_src_itemf(), dynamicPaint_createUVSurface(), dynamicPaint_outputLayerExists(), dynamicPaint_setInitialColor(), ED_mesh_join_objects_exec(), ED_mesh_uv_add(), ED_mesh_uv_loop_reset_ex(), ED_operator_uvmap_mesh(), ED_paint_proj_mesh_data_check(), blender::draw::overlay::MeshUVs::edit_object_sync(), blender::geometry::execute_realize_mesh_tasks(), blender::nodes::node_geo_extrude_mesh_cc::expand_mesh(), GeometryExporter::export_key_mesh(), blender::draw::extract_edituv_stretch_angle_subdiv(), blender::draw::extract_face_dots_uv_mesh(), blender::draw::extract_tan_init_common(), blender::draw::extract_uv_maps(), blender::draw::extract_uv_maps_subdiv(), blender::draw::extract_uv_stretch_angle_mesh(), blender::io::ply::generate_vertex_map(), Freestyle::BlenderStrokeRenderer::GenerateStrokeMesh(), blender::io::alembic::get_config(), get_domains(), get_levels_from_disps(), blender::workbench::get_loop_custom_data(), get_mesh_active_uvlayer_name(), get_uv_attribute(), getActiveUVLayerName(), imapaint_pick_uv(), join_mesh_single(), blender::io::ply::load_custom_attributes(), make_duplis_faces(), mesh_calc_tri_tessface(), blender::draw::mesh_cd_ldata_get_from_mesh(), mesh_copy_data(), blender::nodes::node_geo_extrude_mesh_cc::mesh_custom_data_for_domain(), mesh_customdata_get_type(), mesh_ensure_tessellation_customdata(), mesh_foreach_path(), mesh_free_data(), mesh_init_data(), mesh_loop_boolean_custom_data_get_by_name(), mesh_merge_transform(), mesh_wrapper_ensure_subdivision(), MOD_get_texture_coords(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), multires_apply_smat(), multires_apply_uniform_scale(), multires_ccg_settings_init(), multires_create_grids_in_unsubdivided_base_mesh(), multires_customdata_delete(), multires_del_higher(), multires_ensure_external_read(), multires_force_external_reload(), multires_modifier_update_hidden(), multires_modifier_update_mdisps(), multires_output_hidden_to_ccgdm(), multires_set_tot_mdisps(), multires_subdivide_create_tangent_displacement_linear_grids(), multires_topology_changed(), multires_unsubdivide_add_original_index_datalayers(), multires_unsubdivide_free_original_datalayers(), multiresModifier_del_levels(), multiresModifier_disp_run(), multiresModifier_set_levels_from_disps(), multiresModifier_subdivide_to_level(), blender::ed::object::object_curves_empty_hair_add_exec(), blender::draw::overlay::MeshUVs::object_sync(), GeometryExporter::operator()(), paint_sample_color(), paintface_minmax(), blender::draw::particle_batch_cache_ensure_pos_and_seg(), blender::draw::particle_batch_cache_ensure_procedural_strand_data(), proj_paint_layer_clone_init(), proj_paint_state_mesh_eval_init(), project_paint_begin(), project_paint_clone_face_skip(), project_paint_prepare_all_faces(), RE_bake_pixels_populate(), RE_generate_texturemargin_adjacentfaces(), blender::nodes::node_geo_extrude_mesh_cc::remove_unsupported_corner_data(), rename_mesh_uv_seam_attribute(), blender::draw::sculpt_batches_get(), blender::draw::sculpt_batches_per_material_get(), sculpt_multires_modifier_get(), blender::bke::subdiv::subdiv_interpolate_corner_data(), blender::bke::subdiv::subdiv_mesh_ctx_cache_custom_data_layers(), blender::bke::subdiv::subdiv_mesh_ctx_cache_uv_layers(), blender::bke::subdiv::subdiv_mesh_topology_info(), blender::ed::curves::surface_set::surface_set_exec(), triangulate_mesh(), and um_arraystore_expand().

◆ corner_offset

size_t Mesh::corner_offset

Definition at line 174 of file scene/mesh.h.

Referenced by GeometryManager::geom_calc_offset(), and Mesh().

◆ corners_num

int Mesh::corners_num

The number of face corners in the mesh, and the size of corner_data.

Definition at line 88 of file DNA_mesh_types.h.

Referenced by blender::io::alembic::add_customdata_cb(), arrayModifier_doArray(), blender::ed::object::bake(), blender::ed::object::bake_targets_populate_pixels_color_attributes(), BKE_mesh_calc_edges_legacy(), BKE_mesh_calc_loop_tangents(), BKE_mesh_convert_mfaces_to_mpolys(), BKE_mesh_do_versions_convert_mfaces_to_mpolys(), BKE_mesh_merge_customdata_for_apply_modifier(), BKE_mesh_new_nomain_from_template_ex(), BKE_mesh_nomain_to_mesh(), BKE_mesh_remap_calc_loops_from_mesh(), BKE_mesh_runtime_is_valid(), BKE_mesh_tessface_calc(), BKE_mesh_wrapper_ensure_mdata(), BKE_mesh_wrapper_from_editmesh(), BKE_mesh_wrapper_loop_len(), BKE_object_data_transfer_ex(), BKE_object_data_transfer_layout(), blo_update_defaults_scene(), BM_mesh_bm_from_me(), BM_mesh_bm_to_me(), BM_mesh_bm_to_me_compact(), blender::bm_to_mesh_loops(), cdDM_from_mesh_ex(), blender::io::usd::UsdExportTest::compare_blender_mesh_to_usd_prim(), blender::bke::compare_geometry::compare_meshes(), blender::nodes::node_geo_uv_pack_islands_cc::construct_uv_gvarray(), context_init_grid_pointers(), copy_ccg_data(), blender::geometry::create_curves_for_faces(), GeometryExporter::createTexcoordsSource(), GeometryExporter::createVertexColorSource(), data_transfer_dtdata_type_postprocess(), data_transfer_layersmapping_generate(), do_multires_bake(), do_versions_mesh_mloopcol_swap_2_62_1(), blender::io::alembic::ABCGenericMeshWriter::do_write(), dynamicPaint_createUVSurface(), ED_mesh_join_objects_exec(), ED_mesh_uv_add(), ED_mesh_uv_loop_reset_ex(), blender::geometry::execute_realize_mesh_tasks(), blender::nodes::node_geo_extrude_mesh_cc::expand_mesh(), blender::draw::extract_attribute_subdiv(), blender::draw::extract_positions_subdiv(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_edges(), blender::geometry::gather_realize_tasks_recursive(), blender::io::ply::generate_vertex_map(), Freestyle::BlenderStrokeRenderer::GenerateStrokeMesh(), blender::nodes::node_geo_sample_nearest_cc::get_closest_mesh_corners(), blender::io::alembic::get_config(), get_domains(), blender::io::alembic::get_loop_normals(), heat_bone_weighting(), imapaint_pick_uv(), blender::io::fbx::import_normals_into_temp_attribute(), Freestyle::BlenderFileLoader::insertShapeNode(), join_mesh_single(), laplaciansmoothModifier_do(), blender::io::ply::load_plydata(), mesh_calc_tri_tessface(), mesh_copy_data(), blender::geometry::mesh_copy_selection(), blender::geometry::mesh_copy_selection_keep_edges(), blender::geometry::mesh_copy_selection_keep_verts(), mesh_customdata_get_type(), mesh_faces_to_scratch(), blender::bke::mesh_remesh_reproject_attributes(), blender::draw::mesh_render_data_create(), blender::bke::pbvh::mesh_topology_count_matches(), blender::geometry::mesh_triangulate(), mesh_wrapper_ensure_subdivision(), MeshFairingContext::MeshFairingContext(), MOD_solidify_extrude_modifyMesh(), modify_mesh(), modify_mesh(), modify_mesh(), multires_apply_uniform_scale(), multires_create_grids_in_unsubdivided_base_mesh(), multires_customdata_delete(), multires_del_higher(), multires_do_versions_simple_to_catmull_clark(), multires_ensure_external_read(), multires_force_external_reload(), multires_modifier_update_hidden(), multires_set_tot_mdisps(), multires_subdivide_create_tangent_displacement_linear_grids(), multires_topology_changed(), multires_unsubdivide_add_original_index_datalayers(), multires_unsubdivide_extract_grids(), multiresModifier_del_levels(), multiresModifier_disp_run(), multiresModifier_subdivide_to_level(), blender::nodes::node_geo_triangulate_cc::node_geo_exec(), normalEditModifier_do(), pointdensity_cache_vertex_color(), blender::io::alembic::process_loop_normals(), proj_paint_state_mesh_eval_init(), RE_bake_pixels_populate(), blender::io::alembic::AbcMeshReader::read_mesh(), blender::geometry::reorder_mesh(), sculpt_multires_modifier_get(), sculpt_update_object(), stats_mesheval(), blender::bke::subdiv::subdiv_mesh_ctx_cache_custom_data_layers(), blender::bke::subdiv::subdiv_mesh_ctx_cache_uv_layers(), blender::bke::subdiv::subdiv_mesh_topology_info(), blender::io::stl::STLMeshHelper::to_mesh(), blender::io::alembic::AbcMeshReader::topology_changed(), blender::io::usd::USDMeshReader::topology_changed(), blender::ed::sculpt_paint::topology_matches(), triangulate_mesh(), um_arraystore_compact_ex(), um_arraystore_expand(), and MeshImporter::write_geometry().

◆ default_color_attribute

◆ default_uv_map_attribute

char* Mesh::default_uv_map_attribute

The UV map used by default (i.e. for rendering) if no name is given explicitly. Currently only used for file forward compatibility (see AttributeStorage).

Definition at line 190 of file DNA_mesh_types.h.

Referenced by mesh_copy_data(), and mesh_free_data().

◆ DNA_DEPRECATED [1/15]

struct MFace* mface Mesh::DNA_DEPRECATED

Deprecated face storage (quads & triangles only). Kept for reading old files.

Definition at line 232 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [2/15]

struct MCol* mcol Mesh::DNA_DEPRECATED

Deprecated array of colors for the tessellated faces, kept for reading old files.

Definition at line 230 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [3/15]

struct TFace* tface Mesh::DNA_DEPRECATED

Deprecated, use mtface.

Definition at line 228 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [4/15]

struct MTFace* mtface Mesh::DNA_DEPRECATED

Deprecated runtime data for tessellation face UVs and texture, kept for reading old files.

Definition at line 226 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [5/15]

struct MDeformVert* dvert Mesh::DNA_DEPRECATED

Deprecated "Vertex group" data. Kept for reading old files, now stored in CustomData.

Definition at line 224 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [6/15]

struct MEdge* medge Mesh::DNA_DEPRECATED

Deprecated array of mesh edges, kept for reading old files, now stored in CustomData.

Definition at line 222 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [7/15]

struct MVert* mvert Mesh::DNA_DEPRECATED

Deprecated array of mesh vertices, kept for reading old files, now stored in CustomData.

Definition at line 220 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [8/15]

struct MLoop* mloop Mesh::DNA_DEPRECATED

Deprecated pointer to face corners, kept for forward compatibility.

Definition at line 217 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [9/15]

struct MPoly* mpoly Mesh::DNA_DEPRECATED

Deprecated pointer to mesh polygons, kept for forward compatibility.

Definition at line 215 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [10/15]

char subsurftype Mesh::DNA_DEPRECATED

Definition at line 212 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [11/15]

char subdivr Mesh::DNA_DEPRECATED

Definition at line 211 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [12/15]

char subdiv Mesh::DNA_DEPRECATED

Definition at line 210 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [13/15]

char cd_flag Mesh::DNA_DEPRECATED

Deprecated flag for choosing whether to store specific custom data that was built into Mesh structs in edit mode. Replaced by separating that data to separate layers. Kept for forward and backwards compatibility.

Definition at line 209 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [14/15]

float smoothresh_legacy Mesh::DNA_DEPRECATED

Definition at line 165 of file DNA_mesh_types.h.

◆ DNA_DEPRECATED [15/15]

struct Ipo* ipo Mesh::DNA_DEPRECATED

Old animation system, deprecated for 2.5.

Definition at line 71 of file DNA_mesh_types.h.

◆ edge_data

CustomData Mesh::edge_data

Definition at line 105 of file DNA_mesh_types.h.

Referenced by add_interp_verts_copy_edges_to_new_mesh(), arrayModifier_doArray(), BKE_mesh_calc_edges_legacy(), BKE_mesh_debug_info(), BKE_mesh_do_versions_cd_flag_init(), BKE_mesh_foreach_mapped_edge(), BKE_mesh_new_nomain_from_template_ex(), BKE_mesh_nomain_to_mesh(), BKE_mesh_remap_calc_loops_from_mesh(), BKE_mesh_runtime_is_valid(), BM_mesh_bm_from_me(), BM_mesh_bm_to_me_compact(), BM_mesh_copy_init_customdata_from_mesh_array(), blender::bm_to_mesh_edges(), bmo_get_loop_color_ref(), blender::ed::spreadsheet::calc_mesh_selection_mask(), cdDM_from_mesh_ex(), construct_param_handle_subsurfed(), copy_masked_edges_to_new_mesh(), blender::geometry::create_merged_mesh(), customdata_version_242(), data_transfer_layersmapping_generate(), blender::geometry::debug_randomize_edge_order(), ED_mesh_join_objects_exec(), blender::nodes::node_geo_extrude_mesh_cc::expand_mesh(), Freestyle::BlenderStrokeRenderer::GenerateStrokeMesh(), get_domains(), Freestyle::BlenderFileLoader::insertShapeNode(), join_mesh_single(), blender::draw::mesh_cd_edata_get_from_mesh(), mesh_copy_data(), blender::nodes::node_geo_extrude_mesh_cc::mesh_custom_data_for_domain(), mesh_customdata_get_type(), mesh_free_data(), mesh_init_data(), mesh_merge_transform(), blender::draw::mesh_render_data_create(), mesh_to_softbody(), blender::geometry::mesh_triangulate(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), modify_mesh(), blender::geometry::propagate_edge_attributes(), remap_hair_emitter(), blender::nodes::node_geo_extrude_mesh_cc::remove_unsupported_edge_data(), rename_mesh_uv_seam_attribute(), blender::bke::subdiv::subdiv_copy_edge_data(), blender::bke::subdiv::subdiv_mesh_ctx_cache_custom_data_layers(), blender::bke::subdiv::subdiv_mesh_topology_info(), and um_arraystore_expand().

◆ edges_num

int Mesh::edges_num

The number of edges in the mesh, and the size of edge_data.

Definition at line 84 of file DNA_mesh_types.h.

Referenced by add_interp_verts_copy_edges_to_new_mesh(), add_interpolated_faces_to_new_mesh(), arrayModifier_doArray(), BKE_mesh_calc_edges_legacy(), BKE_mesh_convert_mfaces_to_mpolys(), BKE_mesh_debug_info(), BKE_mesh_do_versions_cd_flag_init(), BKE_mesh_do_versions_convert_mfaces_to_mpolys(), BKE_mesh_foreach_mapped_edge(), BKE_mesh_new_nomain_from_template_ex(), BKE_mesh_nomain_to_mesh(), BKE_mesh_remap_calc_edges_from_mesh(), BKE_mesh_runtime_is_valid(), BKE_mesh_wrapper_edge_len(), BKE_mesh_wrapper_ensure_mdata(), BKE_mesh_wrapper_from_editmesh(), BKE_object_data_transfer_ex(), BKE_object_data_transfer_layout(), BM_mesh_bm_from_me(), BM_mesh_bm_to_me(), BM_mesh_bm_to_me_compact(), blender::bm_to_mesh_edges(), blender::nodes::node_geo_dual_mesh_cc::calc_boundaries(), blender::nodes::node_geo_dual_mesh_cc::calc_dual_mesh(), blender::ed::spreadsheet::calc_mesh_selection_mask(), cdDM_from_mesh_ex(), cloth_from_mesh(), blender::bke::compare_geometry::compare_meshes(), computed_masked_edges(), computed_masked_edges_smooth(), blender::nodes::node_geo_input_mesh_face_neighbors_cc::construct_neighbor_count_varray(), construct_param_handle_subsurfed(), copy_masked_edges_to_new_mesh(), blender::geometry::create_merged_mesh(), blender::nodes::node_geo_blur_attribute_cc::create_mesh_map(), customdata_version_242(), data_transfer_layersmapping_generate(), blender::geometry::debug_randomize_edge_order(), deform_verts(), deform_verts(), do_hair_dynamics(), do_multires_bake(), dynamicPaint_initAdjacencyData(), ED_mesh_join_objects_exec(), ED_mesh_mirrtopo_init(), ED_mesh_mirrtopo_recalc_check(), ED_mesh_pick_edge(), blender::ed::sculpt_paint::boundary::ensure_boundary_info(), blender::geometry::execute_realize_mesh_tasks(), blender::nodes::node_geo_extrude_mesh_cc::expand_mesh(), blender::geometry::extract_mesh_edges(), blender::nodes::node_geo_extrude_mesh_cc::extrude_individual_mesh_faces(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_edges(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_face_regions(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_vertices(), blender::bke::subdiv::foreach_subdiv_geometry(), blender::nodes::node_geo_scale_elements_cc::gather_edge_islands(), blender::geometry::gather_realize_tasks_recursive(), Freestyle::BlenderStrokeRenderer::GenerateStrokeMesh(), blender::nodes::node_geo_sample_nearest_cc::get_closest_mesh_edges(), get_domains(), isSystemDifferent(), join_mesh_single(), LaplacianDeformModifier_do(), laplaciansmoothModifier_do(), mesh_copy_data(), blender::geometry::mesh_copy_selection(), blender::geometry::mesh_copy_selection_keep_edges(), blender::geometry::mesh_copy_selection_keep_verts(), mesh_customdata_get_type(), blender::ed::object::mesh_data_to_grease_pencil(), blender::bke::mesh_remesh_reproject_attributes(), blender::draw::mesh_render_data_create(), blender::draw::mesh_render_data_loose_geom_mesh(), blender::draw::edit_select::Instance::mesh_sync(), mesh_to_softbody(), blender::geometry::mesh_triangulate(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), modify_mesh(), modify_mesh(), blender::nodes::node_geo_mesh_to_curve_cc::node_geo_exec(), blender::draw::overlay::Wireframe::object_sync_ex(), paintface_select_linked_faces(), paintface_select_loop(), paintvert_select_more(), blender::geometry::propagate_edge_attributes(), RE_generate_texturemargin_adjacentfaces(), remap_hair_emitter(), blender::geometry::reorder_mesh(), smooth_iter__length_weight(), smooth_iter__simple(), stats_mesheval(), blender::bke::subdiv::subdiv_foreach_ctx_count(), blender::bke::subdiv::subdiv_foreach_ctx_init(), blender::bke::subdiv::subdiv_foreach_ctx_init_offsets(), blender::bke::subdiv::subdiv_mesh_ctx_cache_custom_data_layers(), subdivide_base(), surfacedeformBind(), blender::ed::sculpt_paint::topology_matches(), um_arraystore_compact_ex(), and um_arraystore_expand().

◆ editflag

◆ face_data

CustomData Mesh::face_data

Definition at line 106 of file DNA_mesh_types.h.

Referenced by add_interpolated_faces_to_new_mesh(), arrayModifier_doArray(), blender::ed::object::bake_targets_populate_pixels_color_attributes(), BKE_mesh_calc_edges_legacy(), BKE_mesh_convert_mfaces_to_mpolys(), BKE_mesh_debug_info(), BKE_mesh_do_versions_convert_mfaces_to_mpolys(), BKE_mesh_foreach_mapped_face_center(), BKE_mesh_foreach_mapped_loop(), BKE_mesh_foreach_mapped_subdiv_face_center(), BKE_mesh_new_nomain_from_template_ex(), BKE_mesh_nomain_to_mesh(), BKE_mesh_runtime_is_valid(), BKE_mesh_tessface_calc(), BM_mesh_bm_from_me(), BM_mesh_bm_to_me_compact(), BM_mesh_copy_init_customdata_from_mesh_array(), blender::bm_to_mesh_faces(), bmo_get_loop_color_ref(), blender::ed::spreadsheet::calc_mesh_selection_mask_faces(), cdDM_from_mesh_ex(), construct_param_handle_subsurfed(), copy_masked_faces_to_new_mesh(), blender::geometry::create_merged_mesh(), data_transfer_layersmapping_generate(), blender::geometry::debug_randomize_face_order(), ED_mesh_join_objects_exec(), ED_mesh_pick_face_vert(), blender::nodes::node_geo_extrude_mesh_cc::expand_mesh(), Freestyle::BlenderStrokeRenderer::GenerateStrokeMesh(), get_domains(), imapaint_pick_uv(), Freestyle::BlenderFileLoader::insertShapeNode(), join_mesh_single(), blender::draw::mesh_cd_pdata_get_from_mesh(), mesh_copy_data(), blender::nodes::node_geo_extrude_mesh_cc::mesh_custom_data_for_domain(), mesh_customdata_get_type(), mesh_free_data(), mesh_init_data(), mesh_merge_transform(), blender::draw::mesh_render_data_create(), blender::geometry::mesh_triangulate(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), modify_mesh(), modify_mesh(), paint_sample_color(), paintface_flush_flags(), proj_paint_face_lookup_init(), proj_paint_state_mesh_eval_init(), psys_calc_dmcache(), psys_particle_dm_face_lookup(), blender::nodes::node_geo_extrude_mesh_cc::remove_unsupported_face_data(), rename_mesh_uv_seam_attribute(), skin_set_orig_indices(), blender::bke::subdiv::subdiv_mesh_ctx_cache_custom_data_layers(), blender::bke::subdiv::subdiv_mesh_face(), blender::bke::subdiv::subdiv_mesh_topology_info(), and um_arraystore_expand().

◆ face_offset

size_t Mesh::face_offset

Definition at line 173 of file scene/mesh.h.

Referenced by GeometryManager::geom_calc_offset(), and Mesh().

◆ face_offset_indices

int* Mesh::face_offset_indices

Array owned by mesh. See #Mesh::faces() and #OffsetIndices.

This array is shared based on the bke::MeshRuntime::face_offsets_sharing_info. Avoid accessing directly when possible.

Definition at line 96 of file DNA_mesh_types.h.

Referenced by BKE_mesh_nomain_to_mesh(), cdDM_from_mesh_ex(), blender::geometry::copy_and_reorder_mesh_edges(), blender::geometry::copy_and_reorder_mesh_verts(), blender::geometry::create_curves_for_faces(), ED_mesh_join_objects_exec(), blender::nodes::node_geo_extrude_mesh_cc::expand_mesh(), mesh_copy_data(), mesh_free_data(), um_arraystore_expand(), and um_arraystore_free().

◆ face_sets_color_default

int Mesh::face_sets_color_default

◆ face_sets_color_seed

◆ faces_num

int Mesh::faces_num

The number of faces in the mesh, and the size of face_data.

Definition at line 86 of file DNA_mesh_types.h.

Referenced by add_mesh_quad_diag_springs(), arrayModifier_doArray(), blender::ed::object::bake(), blender::ed::object::bake_targets_populate_pixels_color_attributes(), BKE_mball_polygonize(), BKE_mesh_calc_edges_legacy(), BKE_mesh_center_median_from_faces(), BKE_mesh_center_of_surface(), BKE_mesh_center_of_volume(), BKE_mesh_convert_mfaces_to_mpolys(), BKE_mesh_debug_info(), BKE_mesh_do_versions_convert_mfaces_to_mpolys(), BKE_mesh_new_nomain_from_template_ex(), BKE_mesh_nomain_to_mesh(), BKE_mesh_remap_calc_faces_from_mesh(), BKE_mesh_runtime_is_valid(), BKE_mesh_tessface_calc(), BKE_mesh_tessface_ensure(), BKE_mesh_wrapper_ensure_mdata(), BKE_mesh_wrapper_face_len(), BKE_mesh_wrapper_from_editmesh(), BKE_object_data_transfer_ex(), BKE_object_data_transfer_layout(), BKE_subdiv_to_ccg_mesh(), BM_mesh_bm_from_me(), BM_mesh_bm_to_me(), BM_mesh_bm_to_me_compact(), BMD_mesh_intersection(), C_BVHTree_FromObject(), blender::nodes::node_geo_dual_mesh_cc::calc_boundaries(), blender::ed::spreadsheet::calc_mesh_selection_mask_faces(), cdDM_from_mesh_ex(), blender::io::usd::UsdExportTest::compare_blender_mesh_to_usd_prim(), blender::bke::compare_geometry::compare_meshes(), compute_interpolated_faces(), computed_masked_faces(), construct_param_handle_subsurfed(), data_transfer_layersmapping_generate(), blender::geometry::debug_randomize_face_order(), blender::bke::subdiv::deform_coarse_vertices(), deform_verts(), do_lasso_select_paintface(), do_multires_bake(), blender::io::alembic::ABCGenericMeshWriter::do_write(), blender::draw::draw_subdiv_cache_ensure_mat_offsets(), blender::draw::draw_subdiv_cache_update_extra_coarse_face_data(), blender::draw::draw_subdiv_create_requested_buffers(), dynamicPaint_initAdjacencyData(), ED_mesh_join_objects_exec(), ED_mesh_pick_face(), ED_wpaint_ensure_data(), edbm_backbuf_check_and_select_faces_obmode(), blender::ed::sculpt_paint::AddOperationExecutor::execute(), blender::geometry::execute_realize_mesh_tasks(), blender::nodes::node_geo_extrude_mesh_cc::expand_mesh(), blender::geometry::extract_mesh_faces(), blender::nodes::node_geo_extrude_mesh_cc::extrude_individual_mesh_faces(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_face_regions(), blender::geometry::face_normals_if_worthwhile(), foreach_grid_coordinate(), blender::bke::subdiv::foreach_subdiv_geometry(), blender::nodes::node_geo_scale_elements_cc::gather_face_islands(), blender::geometry::gather_realize_tasks_recursive(), Freestyle::BlenderStrokeRenderer::GenerateStrokeMesh(), blender::nodes::node_geo_sample_nearest_cc::get_closest_mesh_faces(), blender::nodes::node_geo_sample_nearest_cc::get_closest_mesh_tris(), blender::io::alembic::get_config(), get_domains(), blender::io::usd::get_loops_polys(), get_quick_mesh(), blender::nodes::node_geo_material_selection_cc::MaterialSelectionFieldInput::get_varray_for_context(), heat_bone_weighting(), imapaint_pick_face(), Freestyle::BlenderFileLoader::insertShapeNode(), join_mesh_single(), lineart_object_load_single_instance(), blender::io::ply::load_plydata(), make_duplis_faces(), mesh_calc_tri_tessface(), mesh_copy_data(), blender::geometry::mesh_copy_selection(), blender::geometry::mesh_copy_selection_keep_edges(), blender::geometry::mesh_copy_selection_keep_verts(), mesh_customdata_get_type(), mesh_ensure_tessellation_customdata(), mesh_faces_to_scratch(), blender::bke::mesh_remesh_reproject_attributes(), blender::draw::mesh_render_data_create(), blender::draw::edit_select::Instance::mesh_sync(), blender::bke::pbvh::mesh_topology_count_matches(), blender::geometry::mesh_triangulate(), meshcache_do(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), modify_mesh(), modify_mesh(), multiresModifier_disp_run(), blender::nodes::node_geo_mesh_to_curve_cc::node_geo_exec(), blender::nodes::node_geo_raycast_cc::node_geo_exec(), blender::nodes::node_geo_triangulate_cc::node_geo_exec(), paint_select_less_exec(), paint_select_more_exec(), paintface_deselect_all_visible(), paintface_flush_flags(), paintface_hide(), paintface_minmax(), paintface_reveal(), paintface_select_linked(), paintvert_select_less_exec(), paintvert_select_linked(), paintvert_select_linked_vertices(), paintvert_select_more_exec(), blender::draw::particle_calculate_parent_mcol(), blender::draw::particle_calculate_parent_uvs(), blender::io::alembic::process_loop_normals(), proj_paint_state_mesh_eval_init(), blender::ed::transform::raycastMesh(), RE_bake_pixels_populate(), blender::io::alembic::AbcMeshReader::read_mesh(), blender::geometry::reorder_mesh(), sculpt_update_object(), skin_set_orig_indices(), stats_mesheval(), stats_object_sculpt(), blender::bke::subdiv::subdiv_foreach_ctx_count(), blender::bke::subdiv::subdiv_foreach_ctx_init(), blender::bke::subdiv::subdiv_foreach_ctx_init_offsets(), blender::bke::subdiv::subdiv_foreach_every_corner_vertices(), blender::bke::subdiv::subdiv_foreach_every_edge_vertices(), blender::bke::subdiv::subdiv_foreach_single_geometry_vertices(), blender::bke::subdiv::subdiv_mesh_ctx_cache_custom_data_layers(), blender::bke::subdiv::subdiv_to_mesh(), blender::io::alembic::AbcMeshReader::topology_changed(), blender::io::usd::USDMeshReader::topology_changed(), blender::ed::sculpt_paint::topology_matches(), blender::ed::curves::convert_to_particle_system::try_convert_single_object(), um_arraystore_compact_ex(), um_arraystore_expand(), vertex_weight_paint_mode_poll(), and weight_paint_set().

◆ fdata_legacy

CustomData Mesh::fdata_legacy

Deprecated storage of old faces (only triangles or quads).

Note
This would be marked deprecated, however the particles still use this at run-time for placing particles on the mesh (something which should be eventually upgraded).

Definition at line 240 of file DNA_mesh_types.h.

Referenced by BKE_mesh_convert_mfaces_to_mpolys(), BKE_mesh_debug_info(), BKE_mesh_do_versions_convert_mfaces_to_mpolys(), BKE_mesh_new_nomain_from_template_ex(), BKE_mesh_runtime_is_valid(), BKE_mesh_strip_loose_faces(), BKE_mesh_tessface_calc(), cdDM_from_mesh_ex(), createFacepa(), customdata_version_242(), customdata_version_243(), cutEdges(), distribute_children_exec(), distribute_from_faces_exec(), distribute_from_verts_exec(), distribute_from_volume_exec(), distribute_grid(), explodeMesh(), GeometryExporter::export_key_mesh(), get_dface(), get_particle_uv(), mesh_copy_data(), mesh_ensure_tessellation_customdata(), mesh_free_data(), mesh_init_data(), GeometryExporter::operator()(), blender::draw::particle_batch_cache_ensure_pos_and_seg(), blender::draw::particle_batch_cache_ensure_procedural_strand_data(), blender::draw::particle_calculate_parent_mcol(), blender::draw::particle_calculate_parent_uvs(), blender::draw::particle_interpolate_children_mcol(), blender::draw::particle_interpolate_children_uvs(), particle_intersect_mesh(), PE_mirror_x(), psys_calc_dmcache(), psys_face_mat(), psys_get_dupli_texture(), psys_interpolate_value_from_verts(), psys_map_index_on_dm(), psys_particle_dm_face_lookup(), psys_particle_on_dm(), psys_thread_context_init_distribute(), recalc_emitter_field(), remap_hair_emitter(), remap_uvs_15(), remap_uvs_19_21_22(), remap_uvs_23(), remap_uvs_3_6_9_12(), remap_uvs_5_10(), remap_uvs_7_11_13_14(), blender::ed::curves::convert_to_particle_system::try_convert_single_object(), and blender::io::hydra::HairData::write_curves().

◆ flag

uint16_t Mesh::flag

Mostly more flags used when editing or displaying the mesh.

Definition at line 163 of file DNA_mesh_types.h.

Referenced by acf_dsmesh_setting_ptr(), BKE_mesh_copy_parameters(), blo_do_versions_pre250(), and blender::ed::object::single_obdata_user_make().

◆ id

ID Mesh::id

Definition at line 66 of file DNA_mesh_types.h.

Referenced by blender::ed::object::add_shapekey_layers(), blender::ed::object::bake(), BKE_armature_deform_coords_with_mesh(), BKE_attribute_rename(), BKE_mesh_assign_object(), BKE_mesh_convert_mfaces_to_mpolys(), BKE_mesh_copy_for_eval(), BKE_mesh_copy_parameters_for_eval(), BKE_mesh_do_versions_convert_mfaces_to_mpolys(), BKE_mesh_new_from_object(), BKE_mesh_new_from_object_to_bmain(), BKE_mesh_nomain_to_mesh(), BKE_mesh_nomain_to_meshkey(), BKE_mesh_runtime_is_valid(), BKE_object_data_transfer_ex(), BKE_sculpt_color_layer_create_if_needed(), blo_do_versions_pre250(), BM_mesh_bm_from_me(), bmo_get_loop_color_ref(), bpy_bmesh_to_mesh(), calculate_weld(), cloth_build_springs(), blender::ed::object::convert_curves_to_mesh(), blender::ed::object::convert_mesh_to_grease_pencil(), blender::ed::object::convert_mesh_to_mesh(), blender::io::ply::convert_ply_to_mesh(), blender::nodes::node_geo_mesh_primitive_circle_cc::create_circle_mesh(), blender::nodes::node_geo_mesh_primitive_ico_sphere_cc::create_ico_sphere_mesh(), MeshImporter::create_mesh_object(), curve_calc_modifiers_post(), data_transfer_mesh_attributes_transfer_active_color_string(), data_transfer_mesh_attributes_transfer_default_color_string(), do_hair_dynamics(), blender::io::usd::USDGenericMeshWriter::do_write(), ED_mesh_pick_edge(), ED_mesh_pick_face(), ED_mesh_pick_face_vert(), ED_mesh_pick_vert(), ED_mesh_shapes_join_objects_exec(), ED_mesh_uv_add(), ED_mesh_uv_loop_reset_ex(), ED_object_texture_paint_mode_enter_ex(), ED_object_texture_paint_mode_exit_ex(), ED_wpaint_ensure_data(), edbm_reverse_colors_exec(), edbm_rotate_colors_exec(), edbm_select_by_attribute_exec(), edbm_select_by_attribute_poll(), edbm_separate_exec(), EDBM_update(), blender::bke::editbmesh_build_data(), ensure_weight_attribute_meta_data(), blender::geometry::execute_realize_mesh_tasks(), fill_texpaint_slots_cb(), Freestyle::BlenderStrokeRenderer::GenerateStrokeMesh(), geometry_extract_apply(), get_evaluated_object_data_with_materials(), get_quick_mesh(), get_uv_attribute(), blender::io::fbx::import_blend_shapes(), lattice_deform_coords_impl(), ArmatureImporter::make_shape_keys(), memfile_undosys_step_decode(), blender::draw::mesh_batch_cache_init(), blender::draw::mesh_batch_cache_valid(), blender::bke::mesh_build_data(), blender::bke::mesh_calc_finalize(), blender::bke::mesh_calc_modifiers(), mesh_copy_data(), blender::ed::object::mesh_data_to_grease_pencil(), mesh_new_from_mesh(), blender::bke::mesh_remesh_reproject_attributes(), blender::ed::mesh::set_attribute::mesh_set_attribute_exec(), mesh_to_softbody(), mesh_undostep_reference_elems_from_objects(), mesh_undosys_step_decode(), mesh_undosys_step_encode(), MOD_get_vgroup(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), blender::ed::object::modifier_apply_obdata(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), multires_customdata_delete(), multires_ensure_external_read(), multires_force_external_reload(), multires_topology_changed(), blender::ed::transform::nearest_world_mesh(), blender::nodes::node_geo_grid_to_mesh_cc::node_geo_exec(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_geo_exec(), blender::nodes::node_geo_mesh_primitive_cube_cc::node_geo_exec(), normalEditModifier_do(), object_copy_mesh_data(), object_get_data(), MeshImporter::optimize_material_assignements(), pointdensity_cache_vertex_weight(), prepare_mesh_for_viewport_render(), proj_paint_color_attribute_create(), blender::ed::transform::raycastMesh(), blender::io::alembic::read_velocity(), remap_hair_emitter(), blender::ed::transform::snap_object_editmesh(), blender::ed::transform::snapMesh(), blender::ed::geometry::store_result_geometry(), tag_object_after_update(), blender::bke::tests::TEST_F(), blender::bke::tests::TEST_F(), transform_active_color_data(), uv_mark_seam_exec(), uv_seams_from_islands_exec(), weight_from_bones_exec(), weight_paint_set(), weightvg_do_mask(), WireframeModifier_do(), and MeshImporter::write_geometry().

◆ key

◆ mat

◆ mselect

struct MSelect* Mesh::mselect

This array represents the selection order when the user manually picks elements in edit-mode, some tools take advantage of this information. All elements in this array are expected to be selected, see BKE_mesh_mselect_validate which ensures this. For procedurally created meshes, this is generally empty (selections are stored as boolean attributes in the corresponding custom data).

Definition at line 132 of file DNA_mesh_types.h.

Referenced by BKE_mesh_new_nomain_from_template_ex(), BM_mesh_bm_from_me(), mesh_copy_data(), mesh_free_data(), um_arraystore_expand(), and um_arraystore_free().

◆ remesh_mode

char Mesh::remesh_mode

Choice between different remesh methods in the UI.

Definition at line 199 of file DNA_mesh_types.h.

Referenced by BKE_mesh_copy_parameters().

◆ remesh_voxel_adaptivity

float Mesh::remesh_voxel_adaptivity

Definition at line 169 of file DNA_mesh_types.h.

Referenced by BKE_mesh_copy_parameters().

◆ remesh_voxel_size

float Mesh::remesh_voxel_size

Per-mesh settings for voxel remesh.

Definition at line 168 of file DNA_mesh_types.h.

Referenced by BKE_mesh_copy_parameters(), and BKE_shrinkwrap_remesh_target_project().

◆ runtime

MeshRuntimeHandle* Mesh::runtime

Data that isn't saved in files, including caches of derived data, temporary data to improve the editing experience, etc. The struct is created when reading files and can be accessed without null checks, with the exception of some temporary meshes which should allocate and free the data if they are passed to functions that expect run-time data.

Definition at line 252 of file DNA_mesh_types.h.

Referenced by arrayModifier_doArray(), BKE_editmesh_eval_orig_map_available(), BKE_editmesh_vert_coords_when_deformed(), BKE_mesh_batch_cache_dirty_tag(), BKE_mesh_copy_parameters_for_eval(), BKE_mesh_debug_info(), BKE_mesh_face_normals_are_dirty(), BKE_mesh_foreach_mapped_edge(), BKE_mesh_foreach_mapped_face_center(), BKE_mesh_foreach_mapped_loop(), BKE_mesh_foreach_mapped_subdiv_face_center(), BKE_mesh_foreach_mapped_vert(), BKE_mesh_new_from_object(), BKE_mesh_nomain_to_mesh(), BKE_mesh_vert_normals_are_dirty(), BKE_mesh_wrapper_edge_len(), BKE_mesh_wrapper_ensure_mdata(), BKE_mesh_wrapper_face_len(), BKE_mesh_wrapper_face_normals(), BKE_mesh_wrapper_from_editmesh(), BKE_mesh_wrapper_loop_len(), BKE_mesh_wrapper_tag_positions_changed(), BKE_mesh_wrapper_vert_coords(), BKE_mesh_wrapper_vert_coords_copy(), BKE_mesh_wrapper_vert_coords_copy_with_mat4(), BKE_mesh_wrapper_vert_len(), BKE_modifier_modify_mesh(), BKE_object_defgroup_clear(), BKE_object_select_update(), BKE_view_layer_filter_edit_mesh_has_edges(), BKE_view_layer_filter_edit_mesh_has_uvs(), BM_mesh_bm_to_me_compact(), bpy_bm_from_edit_mesh(), bpy_bm_update_edit_mesh(), bpy_bmesh_to_mesh(), brush_add(), brush_add_count_iter(), blender::draw::calc_face_visibility_mesh(), blender::draw::calc_mesh_edge_visibility(), blender::ed::spreadsheet::calc_mesh_selection_mask(), blender::ed::spreadsheet::calc_mesh_selection_mask_faces(), blender::geometry::copy_and_reorder_mesh_edges(), blender::geometry::copy_and_reorder_mesh_verts(), blender::geometry::copy_loose_edge_hint(), copy_loose_edge_hint(), blender::geometry::copy_loose_vert_hint(), copy_loose_vert_hint(), blender::geometry::create_curves_for_faces(), blender::ed::transform::data_for_snap(), deform_verts(), deform_verts_EM(), deform_verts_EM(), deform_verts_EM(), deform_verts_EM(), blender::draw::draw_subdiv_create_requested_buffers(), blender::draw::DRW_mesh_batch_cache_create_requested(), blender::draw::DRW_mesh_batch_cache_dirty_tag(), blender::draw::DRW_mesh_batch_cache_free_old(), blender::draw::DRW_mesh_batch_cache_get_surface_sculpt(), blender::draw::DRW_mesh_batch_cache_get_surface_shaded(), blender::draw::DRW_mesh_batch_cache_get_surface_vertpaint(), blender::draw::DRW_mesh_batch_cache_validate(), DRW_text_edit_mesh_measure_stats(), ED_mesh_active_dvert_get_em(), ED_mesh_get_edit_shape_key(), ED_mesh_join_objects_exec(), ED_mesh_mirror_get_vert(), ED_mesh_mirror_spatial_table_begin(), ED_mesh_uv_add(), ED_mesh_uv_loop_reset_ex(), ED_transverts_create_from_obedit(), edbm_blend_from_shape_exec(), EDBM_mesh_load_ex(), EDBM_mesh_make_from_mesh(), edbm_shape_propagate_to_all_exec(), EDBM_update(), edgetag_ensure_cd_flag(), blender::draw::overlay::MeshUVs::edit_object_sync(), blender::bke::editbmesh_calc_modifiers(), blender::draw::editmesh_final_or_this(), editmesh_object_from_context(), ensure_non_lazy_normals(), blender::bke::subdiv::evaluate_vertex_and_apply_displacement_copy(), blender::nodes::node_geo_extrude_mesh_cc::expand_mesh(), blender::draw::extract_edge_factor_mesh(), blender::draw::extract_edituv_face_dots_mesh(), blender::draw::extract_face_dot_positions_mesh(), blender::draw::extract_face_dots_uv_mesh(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_vertices(), blender::bke::pbvh::face_normals_cache_eval(), blender::geometry::face_normals_if_worthwhile(), get_domains(), get_evaluated_object_data_with_materials(), blender::workbench::get_loop_custom_data(), blender::workbench::get_vert_custom_data(), get_weights_array(), give_parvert(), key_block_get_data(), knifetool_init_obinfo(), lineart_object_load_single_instance(), mesh_attribute_valid(), blender::draw::mesh_batch_cache_get(), blender::draw::mesh_batch_cache_init(), blender::draw::mesh_batch_cache_valid(), blender::draw::mesh_buffer_cache_create_requested(), blender::bke::mesh_calc_modifiers(), blender::draw::mesh_cd_edata_get_from_mesh(), blender::draw::mesh_cd_ldata_get_from_mesh(), blender::draw::mesh_cd_pdata_get_from_mesh(), blender::draw::mesh_cd_vdata_get_from_mesh(), mesh_copy_data(), blender::geometry::mesh_copy_selection_keep_edges(), blender::geometry::mesh_copy_selection_keep_verts(), mesh_customdata_get_type(), mesh_data_from_duplicator_object(), mesh_foreachScreenFace(), mesh_free_data(), blender::bke::mesh_get_mapped_verts_coords(), blender::draw::overlay::Meshes::mesh_has_edit_cage(), mesh_init_data(), mesh_mirror_topo_table_get_meshes(), mesh_new_from_mesh_object(), blender::draw::mesh_render_data_create(), blender::draw::mesh_render_data_loose_geom_mesh(), blender::geometry::mesh_triangulate(), mesh_undosys_step_decode(), mesh_undosys_step_encode(), blender::ed::geometry::MeshState::MeshState(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), multires_customdata_delete(), multires_mark_as_modified(), multiresModifier_set_levels_from_disps(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_geo_exec(), object_defgroup_remove_edit_mode(), blender::draw::edit_select::Instance::object_sync(), object_update_from_subsurf_ccg(), blender::bke::object::pbvh_ensure(), PE_mirror_x(), prepare_mesh_for_viewport_render(), psys_calc_dmcache(), psys_map_index_on_dm(), psys_particle_dm_face_lookup(), psys_thread_context_init_distribute(), remap_hair_emitter(), blender::deg::ObjectRuntimeBackup::restore_modifier_runtime_data(), blender::deg::ObjectRuntimeBackup::restore_to_object(), sculpt_update_object(), blender::ed::transform::snap_object_data_editmesh_get(), stats_mesheval(), subdiv_cache_mesh_wrapper_settings(), blender::bke::subdiv::subdiv_mesh_tag_center_vertex(), blender::bke::subdiv::subdiv_mesh_topology_info(), blender::bke::subdiv::subdiv_to_mesh(), blender::nodes::node_geo_extrude_mesh_cc::tag_mesh_added_faces(), blender::ed::sculpt_paint::topology_matches(), um_arraystore_expand(), uv_mark_seam_exec(), uv_rip_object(), uv_seams_from_islands_exec(), uvprojectModifier_do(), v3d_editvertex_buts(), and blender::bke::pbvh::vert_normals_cache_eval().

◆ subd_attributes

◆ symmetry

char Mesh::symmetry

User-defined symmetry flag (eMeshSymmetryType) that causes editing operations to maintain symmetrical geometry. Supported by operations such as transform and weight-painting.

Definition at line 196 of file DNA_mesh_types.h.

Referenced by BKE_mesh_copy_parameters(), edbm_blend_from_shape_exec(), edbm_shape_propagate_to_all_exec(), paint_proj_new_stroke(), SCULPT_mesh_symmetry_xyz_get(), weight_from_bones_exec(), and weight_paint_set().

◆ texcomesh

struct Mesh* Mesh::texcomesh

An optional mesh owned elsewhere (by Main) that can be used to override the texture space #loc and size.

Note
Vertex indices should be aligned for this to work usefully.

Definition at line 153 of file DNA_mesh_types.h.

Referenced by mesh_foreach_id().

◆ texspace_flag

char Mesh::texspace_flag

Definition at line 158 of file DNA_mesh_types.h.

Referenced by BKE_mesh_copy_parameters(), and BKE_mesh_eval_geometry().

◆ texspace_location

float Mesh::texspace_location[3]

Texture space location and size, used for procedural coordinates when rendering.

Definition at line 156 of file DNA_mesh_types.h.

Referenced by BKE_mesh_copy_parameters(), BKE_mesh_eval_geometry(), blender::draw::overlay::Bounds::object_sync(), and psys_get_texture().

◆ texspace_size

◆ totcol

◆ totface_legacy

◆ totselect

int Mesh::totselect

The length of the mselect array.

Definition at line 135 of file DNA_mesh_types.h.

Referenced by BM_mesh_bm_from_me(), and um_arraystore_expand().

◆ vert_data

CustomData Mesh::vert_data

Definition at line 104 of file DNA_mesh_types.h.

Referenced by add_interp_verts_copy_edges_to_new_mesh(), blender::ed::object::add_shapekey_layers(), arrayModifier_doArray(), blender::ed::object::bake_targets_populate_pixels_color_attributes(), base_skin(), BKE_mesh_calc_edges_legacy(), BKE_mesh_calc_loop_tangents(), BKE_mesh_debug_info(), BKE_mesh_do_versions_cd_flag_init(), BKE_mesh_foreach_mapped_loop(), BKE_mesh_foreach_mapped_vert(), BKE_mesh_new_nomain_from_template_ex(), BKE_mesh_nomain_to_mesh(), BKE_mesh_runtime_is_valid(), BKE_object_as_kdtree(), BKE_object_data_transfer_ex(), BKE_object_defgroup_clear(), BKE_object_defgroup_remove_all_ex(), BM_mesh_bm_from_me(), BM_mesh_bm_to_me_compact(), BM_mesh_copy_init_customdata_from_mesh_array(), blender::bm_to_mesh_verts(), bmo_get_loop_color_ref(), blender::ed::spreadsheet::calc_mesh_selection_mask(), cdDM_from_mesh_ex(), cloth_from_object(), construct_param_handle_subsurfed(), contarget_get_mesh_mat(), blender::ed::object::convert_mesh_to_mesh(), copy_masked_verts_to_new_mesh(), blender::geometry::create_merged_mesh(), customdata_version_242(), cutEdges(), data_transfer_layersmapping_generate(), blender::geometry::debug_randomize_vert_order(), deform_verts(), deformVerts_do(), blender::draw::DRW_mesh_batch_cache_create_requested(), blender::ed::object::dt_layers_select_src_itemf(), ED_mesh_join_objects_exec(), ED_mesh_pick_face_vert(), blender::nodes::node_geo_extrude_mesh_cc::expand_mesh(), explodeMesh(), blender::draw::extract_orco(), blender::draw::extract_tan_init_common(), final_skin(), Freestyle::BlenderStrokeRenderer::GenerateStrokeMesh(), blender::nodes::node_geo_points_to_vertices_cc::geometry_set_points_to_vertices(), get_domains(), blender::workbench::get_vert_custom_data(), get_vertex_group(), give_parvert(), join_mesh_single(), lattice_deform_coords_impl(), make_duplis_faces(), make_duplis_verts(), blender::draw::mesh_cd_vdata_get_from_mesh(), mesh_copy_data(), blender::nodes::node_geo_extrude_mesh_cc::mesh_custom_data_for_domain(), mesh_customdata_get_type(), mesh_free_data(), mesh_init_data(), mesh_merge_transform(), blender::draw::mesh_render_data_create(), blender::geometry::mesh_triangulate(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), multires_unsubdivide_add_original_index_datalayers(), multires_unsubdivide_extract_grids(), multires_unsubdivide_free_original_datalayers(), multires_unsubdivide_prepare_original_bmesh_for_extract(), object_defgroup_remove_common(), paintvert_flush_flags(), pointdensity_cache_vertex_weight(), blender::geometry::propagate_vert_attributes(), psys_calc_dmcache(), psys_face_mat(), psys_particle_on_dm(), psys_thread_context_init_distribute(), blender::io::alembic::read_generated_coordinates(), blender::nodes::node_geo_extrude_mesh_cc::remove_unsupported_vert_data(), rename_mesh_uv_seam_attribute(), blender::bke::subdiv::subdiv_mesh_ctx_cache_custom_data_layers(), blender::bke::subdiv::subdiv_mesh_topology_info(), blender::bke::subdiv::subdiv_mesh_vertex_of_loose_edge_interpolate(), blender::bke::subdiv::subdiv_vertex_data_copy(), blender::bke::subdiv::subdiv_vertex_data_interpolate(), subdivide_base(), um_arraystore_expand(), blender::bke::subdiv::vertex_interpolation_from_corner(), blender::bke::subdiv::vertex_interpolation_init(), weightvg_do_mask(), and blender::io::alembic::write_generated_coordinates().

◆ vert_offset

◆ vertex_group_active_index

◆ vertex_group_names

◆ verts_num

int Mesh::verts_num

The number of vertices in the mesh, and the size of vert_data.

Definition at line 82 of file DNA_mesh_types.h.

Referenced by add_interp_verts_copy_edges_to_new_mesh(), blender::bke::add_orco_mesh(), blender::ed::object::add_shapekey_layers(), add_verts_to_dgroups(), arrayModifier_doArray(), base_skin(), bc_has_out_of_bound_indices(), BKE_key_evaluate_object_ex(), BKE_keyblock_convert_from_mesh(), BKE_keyblock_update_from_mesh(), BKE_mball_polygonize(), BKE_mesh_calc_edges_legacy(), BKE_mesh_calc_loop_tangents(), BKE_mesh_center_median(), BKE_mesh_debug_info(), BKE_mesh_do_versions_cd_flag_init(), BKE_mesh_foreach_mapped_vert(), BKE_mesh_merge_customdata_for_apply_modifier(), BKE_mesh_new_nomain_from_template_ex(), BKE_mesh_nomain_to_mesh(), BKE_mesh_nomain_to_meshkey(), BKE_mesh_remap_calc_edges_from_mesh(), BKE_mesh_remap_calc_loops_from_mesh(), BKE_mesh_remap_calc_verts_from_mesh(), BKE_mesh_remap_find_best_match_from_mesh(), BKE_mesh_runtime_is_valid(), BKE_mesh_to_pointcloud(), BKE_mesh_wrapper_ensure_mdata(), BKE_mesh_wrapper_from_editmesh(), BKE_mesh_wrapper_vert_coords_copy_with_mat4(), BKE_mesh_wrapper_vert_len(), BKE_object_data_transfer_ex(), BKE_object_data_transfer_layout(), BKE_object_defgroup_array_get(), BKE_object_defgroup_clear(), BKE_shrinkwrap_mesh_nearest_surface_deform(), BKE_shrinkwrap_remesh_target_project(), BM_mesh_bm_from_me(), BM_mesh_bm_to_me(), BM_mesh_bm_to_me_compact(), blender::bm_to_mesh_verts(), BMD_mesh_intersection(), C_BVHTree_FromObject(), blender::nodes::node_geo_dual_mesh_cc::calc_boundaries(), blender::nodes::node_geo_dual_mesh_cc::calc_dual_mesh(), blender::ed::spreadsheet::calc_mesh_selection_mask(), blender::geometry::deduplication::calc_new_edges(), calc_tangent_spaces(), blender::geometry::deduplication::calc_unselected_faces(), calculate_weld(), cdDM_from_mesh_ex(), cloth_apply_vgroup(), cloth_from_mesh(), cloth_from_object(), cloth_update_spring_lengths(), cloth_update_verts(), clothModifier_do(), blender::io::usd::UsdExportTest::compare_blender_mesh_to_usd_prim(), blender::bke::compare_geometry::compare_meshes(), compute_interpolated_faces(), computed_masked_faces(), blender::bke::compare_geometry::construct_vert_mapping(), blender::io::ply::convert_ply_to_mesh(), copy_masked_edges_to_new_mesh(), copy_masked_verts_to_new_mesh(), blender::geometry::create_merged_mesh(), blender::nodes::node_geo_blur_attribute_cc::create_mesh_map(), blender::geometry::create_uv_sphere_mesh(), createFacepa(), customdata_version_242(), cutEdges(), data_transfer_layersmapping_generate(), blender::geometry::debug_randomize_vert_order(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deformVerts_do(), distribute_from_verts_exec(), distribute_grid(), do_hair_dynamics(), do_lasso_select_paintvert(), do_multires_bake(), blender::io::alembic::ABCGenericMeshWriter::do_write(), blender::draw::DRW_subdivide_loose_geom(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_faces(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_mesh(), dynamicPaint_brushMeshCalculateVelocity(), dynamicPaint_createUVSurface(), dynamicPaint_generateBakeData(), dynamicPaint_paintMesh(), dynamicPaint_surfaceHasMoved(), dynamicPaint_surfaceNumOfPoints(), ED_mesh_deform_bind_callback(), ED_mesh_join_objects_exec(), ED_mesh_mirror_spatial_table_begin(), ED_mesh_mirrtopo_init(), ED_mesh_mirrtopo_recalc_check(), ED_mesh_pick_vert(), ED_mesh_shapes_join_objects_exec(), ED_vpaint_proj_handle_create(), edbm_backbuf_check_and_select_verts_obmode(), blender::nodes::node_geo_edge_paths_to_curves_cc::edge_paths_to_curves_convert(), blender::nodes::node_geo_edge_paths_to_selection_cc::edge_paths_to_selection(), blender::geometry::edges_to_curves_convert(), blender::ed::sculpt_paint::boundary::ensure_boundary_info(), envelope_bone_weighting(), blender::geometry::execute_realize_mesh_tasks(), blender::nodes::node_geo_extrude_mesh_cc::expand_mesh(), explodeMesh(), blender::io::usd::export_deform_verts(), blender::geometry::extract_mesh_vertices(), blender::nodes::node_geo_extrude_mesh_cc::extrude_individual_mesh_faces(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_edges(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_face_regions(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_vertices(), blender::bke::pbvh::face_normals_cache_eval(), blender::bke::subdiv::foreach_subdiv_geometry(), blender::nodes::node_geo_scale_elements_cc::gather_edge_islands(), blender::nodes::node_geo_scale_elements_cc::gather_face_islands(), blender::geometry::gather_realize_tasks_recursive(), generate_vert_coordinates(), blender::io::ply::generate_vertex_map(), Freestyle::BlenderStrokeRenderer::GenerateStrokeMesh(), geometry_extract_apply(), blender::nodes::node_geo_mesh_to_points_cc::geometry_set_mesh_to_points(), blender::nodes::node_geo_points_to_vertices_cc::geometry_set_points_to_vertices(), blender::ed::sculpt_paint::trim::gesture_apply_for_symmetry_pass(), blender::nodes::node_geo_sample_nearest_cc::get_closest_mesh_points(), blender::io::alembic::get_config(), get_domains(), get_effector_tot(), blender::geometry::get_final_points_num(), get_particle_uv(), blender::io::usd::get_shape_key_basis_mesh(), get_vertex_group(), blender::io::alembic::get_vertices(), get_weights_array(), give_parvert(), heat_bone_weighting(), blender::io::usd::import_mesh_skel_bindings(), initSystem(), join_mesh_single(), make_duplis_verts(), mesh_calc_hq_normal(), mesh_copy_data(), blender::geometry::mesh_copy_selection(), blender::geometry::mesh_copy_selection_keep_edges(), blender::geometry::mesh_copy_selection_keep_verts(), mesh_customdata_get_type(), mesh_foreachScreenFace(), mesh_get_x_mirror_faces(), blender::geometry::mesh_merge_by_distance_all(), blender::nodes::node_geo_merge_by_distance_cc::mesh_merge_by_distance_all(), blender::geometry::mesh_merge_by_distance_connected(), blender::nodes::node_geo_merge_by_distance_cc::mesh_merge_by_distance_connected(), blender::bke::mesh_remesh_reproject_attributes(), blender::draw::mesh_render_data_create(), blender::draw::edit_select::Instance::mesh_sync(), mesh_to_softbody(), mesh_to_volume(), blender::bke::pbvh::mesh_topology_count_matches(), blender::geometry::mesh_triangulate(), meshcache_do(), MeshFairingContext::MeshFairingContext(), MOD_get_texture_coords(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), multires_reshape_apply_base_refit_base_mesh(), multires_unsubdivide_add_original_index_datalayers(), multires_unsubdivide_extract_grids(), multires_unsubdivide_prepare_original_bmesh_for_extract(), multiresModifier_reshapeFromObject(), blender::nodes::node_geo_edge_paths_to_curves_cc::node_geo_exec(), blender::draw::overlay::Wireframe::object_sync_ex(), paint_weight_gradient_exec(), paint_weight_gradient_modal(), paintface_select_less(), paintvert_deselect_all_visible(), paintvert_hide(), paintvert_reveal(), paintvert_select_less(), paintvert_select_linked_vertices(), paintvert_select_more(), pointdensity_cache_object(), pointdensity_cache_vertex_normal(), pointdensity_cache_vertex_weight(), proj_paint_state_mesh_eval_init(), blender::geometry::propagate_vert_attributes(), psys_cache_vgroup(), psys_calc_dmcache(), psys_map_index_on_dm(), psys_thread_context_init_distribute(), blender::io::alembic::read_generated_coordinates(), blender::io::alembic::read_mverts(), blender::io::alembic::read_velocity(), blender::io::alembic::read_vertex_creases(), remap_hair_emitter(), blender::geometry::reorder_mesh(), sculpt_update_object(), blender::geometry::seed_from_mesh(), blender::nodes::node_geo_input_shortest_edge_paths_cc::shortest_paths(), blender::geometry::split_edges(), springs_from_mesh(), stats_mesheval(), stats_object_sculpt(), blender::bke::subdiv::subdiv_foreach_ctx_count(), blender::bke::subdiv::subdiv_foreach_ctx_init(), blender::bke::subdiv::subdiv_foreach_ctx_init_offsets(), blender::bke::subdiv::subdiv_mesh_ctx_cache_custom_data_layers(), blender::bke::subdiv::subdiv_mesh_topology_info(), blender::bke::subdiv::subdiv_to_mesh(), subdivide_base(), blender::io::alembic::AbcMeshReader::topology_changed(), blender::io::usd::USDMeshReader::topology_changed(), blender::ed::sculpt_paint::topology_matches(), um_arraystore_compact_ex(), um_arraystore_expand(), blender::bke::pbvh::vert_normals_cache_eval(), blender::bke::pbvh::vert_positions_eval(), blender::bke::pbvh::vert_positions_eval_for_write(), weight_paint_set(), weightvg_do_mask(), blender::geometry::weld_mesh_context_create(), and blender::io::alembic::write_generated_coordinates().


The documentation for this class was generated from the following files: