Blender  V3.3
Public Member Functions | List of all members
GeometryComponent Class Referenceabstract

#include <BKE_geometry_set.hh>

Inheritance diagram for GeometryComponent:
CurveComponent CurveComponentLegacy GeometryComponentEditData InstancesComponent MeshComponent PointCloudComponent VolumeComponent

Public Member Functions

virtual ~GeometryComponent ()=default
 
virtual GeometryComponentcopy () const =0
 
virtual bool owns_direct_data () const =0
 
virtual void ensure_owns_direct_data ()=0
 

Geometry Component

 GeometryComponent (GeometryComponentType type)
 
int attribute_domain_size (eAttrDomain domain) const
 
virtual std::optional< blender::bke::AttributeAccessorattributes () const
 
virtual std::optional< blender::bke::MutableAttributeAccessorattributes_for_write ()
 
void user_add () const
 
void user_remove () const
 
bool is_mutable () const
 
GeometryComponentType type () const
 
virtual bool is_empty () const
 
static GeometryComponentcreate (GeometryComponentType component_type)
 

Detailed Description

This is the base class for specialized geometry component types. A geometry component handles a user count to allow avoiding duplication when it is wrapped with #UserCounter. It also handles the attribute API, which generalizes storing and modifying generic information on a geometry.

Definition at line 56 of file BKE_geometry_set.hh.

Constructor & Destructor Documentation

◆ GeometryComponent()

GeometryComponent::GeometryComponent ( GeometryComponentType  type)

Definition at line 39 of file geometry_set.cc.

◆ ~GeometryComponent()

virtual GeometryComponent::~GeometryComponent ( )
virtualdefault

Member Function Documentation

◆ attribute_domain_size()

int GeometryComponent::attribute_domain_size ( eAttrDomain  domain) const

◆ attributes()

std::optional< blender::bke::AttributeAccessor > GeometryComponent::attributes ( ) const
virtual

◆ attributes_for_write()

std::optional< blender::bke::MutableAttributeAccessor > GeometryComponent::attributes_for_write ( )
virtual

◆ copy()

virtual GeometryComponent* GeometryComponent::copy ( ) const
pure virtual

◆ create()

GeometryComponent * GeometryComponent::create ( GeometryComponentType  component_type)
static

◆ ensure_owns_direct_data()

virtual void GeometryComponent::ensure_owns_direct_data ( )
pure virtual

◆ is_empty()

bool GeometryComponent::is_empty ( ) const
virtual

◆ is_mutable()

bool GeometryComponent::is_mutable ( ) const

◆ owns_direct_data()

virtual bool GeometryComponent::owns_direct_data ( ) const
pure virtual

◆ type()

GeometryComponentType GeometryComponent::type ( ) const

◆ user_add()

void GeometryComponent::user_add ( ) const

Definition at line 84 of file geometry_set.cc.

Referenced by blender::geometry::gather_realize_tasks_recursive().

◆ user_remove()

void GeometryComponent::user_remove ( ) const

Definition at line 89 of file geometry_set.cc.


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