Blender  V3.3
Classes | Namespaces | Macros | Functions
geometry_component_mesh.cc File Reference
#include "BLI_listbase.h"
#include "BLI_task.hh"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "BKE_attribute_math.hh"
#include "BKE_deform.h"
#include "BKE_geometry_fields.hh"
#include "BKE_geometry_set.hh"
#include "BKE_lib_id.h"
#include "BKE_mesh.h"
#include "attribute_access_intern.hh"

Go to the source code of this file.

Classes

class  blender::bke::VArrayImpl_For_VertexWeights
 
class  blender::bke::VertexGroupsAttributeProvider
 
class  blender::bke::NormalAttributeProvider
 

Namespaces

 blender
 
 blender::bke
 

Macros

#define MAKE_MUTABLE_CUSTOM_DATA_GETTER(NAME)
 
#define MAKE_CONST_CUSTOM_DATA_GETTER(NAME)
 
#define MAKE_GET_ELEMENT_NUM_GETTER(NAME)
 

Functions

MDeformVertBKE_object_defgroup_data_create (ID *id)
 
VArray< float3blender::bke::mesh_normals_varray (const MeshComponent &mesh_component, const Mesh &mesh, const IndexMask mask, eAttrDomain domain)
 
template<typename T >
static void blender::bke::adapt_mesh_domain_corner_to_point_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values)
 
template<>
void blender::bke::adapt_mesh_domain_corner_to_point_impl (const Mesh &mesh, const VArray< bool > &old_values, MutableSpan< bool > r_values)
 
static GVArray blender::bke::adapt_mesh_domain_corner_to_point (const Mesh &mesh, const GVArray &varray)
 
static GVArray blender::bke::adapt_mesh_domain_point_to_corner (const Mesh &mesh, const GVArray &varray)
 
static GVArray blender::bke::adapt_mesh_domain_corner_to_face (const Mesh &mesh, const GVArray &varray)
 
template<typename T >
static void blender::bke::adapt_mesh_domain_corner_to_edge_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values)
 
template<>
void blender::bke::adapt_mesh_domain_corner_to_edge_impl (const Mesh &mesh, const VArray< bool > &old_values, MutableSpan< bool > r_values)
 
static GVArray blender::bke::adapt_mesh_domain_corner_to_edge (const Mesh &mesh, const GVArray &varray)
 
template<typename T >
void blender::bke::adapt_mesh_domain_face_to_point_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values)
 
template<>
void blender::bke::adapt_mesh_domain_face_to_point_impl (const Mesh &mesh, const VArray< bool > &old_values, MutableSpan< bool > r_values)
 
static GVArray blender::bke::adapt_mesh_domain_face_to_point (const Mesh &mesh, const GVArray &varray)
 
template<typename T >
void blender::bke::adapt_mesh_domain_face_to_corner_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values)
 
static GVArray blender::bke::adapt_mesh_domain_face_to_corner (const Mesh &mesh, const GVArray &varray)
 
template<typename T >
void blender::bke::adapt_mesh_domain_face_to_edge_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values)
 
template<>
void blender::bke::adapt_mesh_domain_face_to_edge_impl (const Mesh &mesh, const VArray< bool > &old_values, MutableSpan< bool > r_values)
 
static GVArray blender::bke::adapt_mesh_domain_face_to_edge (const Mesh &mesh, const GVArray &varray)
 
static GVArray blender::bke::adapt_mesh_domain_point_to_face (const Mesh &mesh, const GVArray &varray)
 
static GVArray blender::bke::adapt_mesh_domain_point_to_edge (const Mesh &mesh, const GVArray &varray)
 
template<typename T >
void blender::bke::adapt_mesh_domain_edge_to_corner_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values)
 
template<>
void blender::bke::adapt_mesh_domain_edge_to_corner_impl (const Mesh &mesh, const VArray< bool > &old_values, MutableSpan< bool > r_values)
 
static GVArray blender::bke::adapt_mesh_domain_edge_to_corner (const Mesh &mesh, const GVArray &varray)
 
template<typename T >
static void blender::bke::adapt_mesh_domain_edge_to_point_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values)
 
template<>
void blender::bke::adapt_mesh_domain_edge_to_point_impl (const Mesh &mesh, const VArray< bool > &old_values, MutableSpan< bool > r_values)
 
static GVArray blender::bke::adapt_mesh_domain_edge_to_point (const Mesh &mesh, const GVArray &varray)
 
static GVArray blender::bke::adapt_mesh_domain_edge_to_face (const Mesh &mesh, const GVArray &varray)
 
template<typename StructT , typename ElemT , ElemT(*)(const StructT &) GetFunc>
static GVArray blender::bke::make_derived_read_attribute (const void *data, const int domain_num)
 
template<typename StructT , typename ElemT , ElemT(*)(const StructT &) GetFunc, void(*)(StructT &, ElemT) SetFunc>
static GVMutableArray blender::bke::make_derived_write_attribute (void *data, const int domain_num)
 
static float3 blender::bke::get_vertex_position (const MVert &vert)
 
static void blender::bke::set_vertex_position (MVert &vert, float3 position)
 
static void blender::bke::tag_component_positions_changed (void *owner)
 
static int blender::bke::get_material_index (const MPoly &mpoly)
 
static void blender::bke::set_material_index (MPoly &mpoly, int index)
 
static bool blender::bke::get_shade_smooth (const MPoly &mpoly)
 
static void blender::bke::set_shade_smooth (MPoly &mpoly, bool value)
 
static float2 blender::bke::get_loop_uv (const MLoopUV &uv)
 
static void blender::bke::set_loop_uv (MLoopUV &uv, float2 co)
 
static float blender::bke::get_crease (const MEdge &edge)
 
static void blender::bke::set_crease (MEdge &edge, float value)
 
static ComponentAttributeProviders blender::bke::create_attribute_providers_for_mesh ()
 
static AttributeAccessorFunctions blender::bke::get_mesh_accessor_functions ()
 
static const AttributeAccessorFunctions & blender::bke::get_mesh_accessor_functions_ref ()
 
AttributeAccessor blender::bke::mesh_attributes (const Mesh &mesh)
 
MutableAttributeAccessor blender::bke::mesh_attributes_for_write (Mesh &mesh)
 
Attribute Access
static blender::GVArray adapt_mesh_attribute_domain (const Mesh &mesh, const blender::GVArray &varray, const eAttrDomain from_domain, const eAttrDomain to_domain)
 

Macro Definition Documentation

◆ MAKE_CONST_CUSTOM_DATA_GETTER

#define MAKE_CONST_CUSTOM_DATA_GETTER (   NAME)
Value:
[](const void *owner) -> const CustomData * { \
const Mesh *mesh = static_cast<const Mesh *>(owner); \
return &mesh->NAME; \
}

◆ MAKE_GET_ELEMENT_NUM_GETTER

#define MAKE_GET_ELEMENT_NUM_GETTER (   NAME)
Value:
[](const void *owner) -> int { \
const Mesh *mesh = static_cast<const Mesh *>(owner); \
return mesh->NAME; \
}

◆ MAKE_MUTABLE_CUSTOM_DATA_GETTER

#define MAKE_MUTABLE_CUSTOM_DATA_GETTER (   NAME)
Value:
[](void *owner) -> CustomData * { \
Mesh *mesh = static_cast<Mesh *>(owner); \
return &mesh->NAME; \
}

Function Documentation

◆ adapt_mesh_attribute_domain()

static blender::GVArray adapt_mesh_attribute_domain ( const Mesh mesh,
const blender::GVArray varray,
const eAttrDomain  from_domain,
const eAttrDomain  to_domain 
)
static

◆ BKE_object_defgroup_data_create()

MDeformVert* BKE_object_defgroup_data_create ( ID id)

Create MDeformVert data for given ID. Work in Object mode only.

Definition at line 114 of file object_deform.c.

Referenced by blender::bke::VertexGroupsAttributeProvider::try_get_for_write().