Blender V4.3
blender::io::alembic::AbcObjectReader Class Referenceabstract

#include <abc_reader_object.h>

Inherited by blender::io::alembic::AbcCameraReader, blender::io::alembic::AbcCurveReader, blender::io::alembic::AbcEmptyReader, blender::io::alembic::AbcMeshReader, blender::io::alembic::AbcNurbsReader, blender::io::alembic::AbcPointsReader, and blender::io::alembic::AbcSubDReader.

Public Types

typedef std::vector< AbcObjectReader * > ptr_vector
 

Public Member Functions

 AbcObjectReader (const Alembic::Abc::IObject &object, ImportSettings &settings)
 
virtual ~AbcObjectReader ()=default
 
const Alembic::Abc::IObject & iobject () const
 
virtual Alembic::AbcGeom::IXform xform ()
 
Objectobject () const
 
void object (Object *ob)
 
const std::string & name () const
 
const std::string & object_name () const
 
const std::string & data_name () const
 
bool inherits_xform () const
 
virtual bool valid () const =0
 
virtual bool accepts_object_type (const Alembic::AbcCoreAbstract::ObjectHeader &alembic_header, const Object *const ob, const char **r_err_str) const =0
 
virtual void readObjectData (Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel)=0
 
virtual void read_geometry (bke::GeometrySet &geometry_set, const Alembic::Abc::ISampleSelector &sample_sel, int read_flag, const char *velocity_name, float velocity_scale, const char **r_err_str)
 
virtual bool topology_changed (const Mesh *existing_mesh, const Alembic::Abc::ISampleSelector &sample_sel)
 
void setupObjectTransform (chrono_t time)
 
void addCacheModifier ()
 
chrono_t minTime () const
 
chrono_t maxTime () const
 
int refcount () const
 
void incref ()
 
void decref ()
 
void read_matrix (float r_mat[4][4], chrono_t time, float scale, bool &is_constant)
 

Public Attributes

AbcObjectReaderparent_reader
 

Protected Member Functions

void determine_inherits_xform ()
 

Protected Attributes

std::string m_name
 
std::string m_object_name
 
std::string m_data_name
 
Objectm_object
 
Alembic::Abc::IObject m_iobject
 
ImportSettingsm_settings
 
bool m_is_reading_a_file_sequence = false
 
chrono_t m_min_time
 
chrono_t m_max_time
 
int m_refcount
 
bool m_inherits_xform
 

Detailed Description

Definition at line 82 of file abc_reader_object.h.

Member Typedef Documentation

◆ ptr_vector

Constructor & Destructor Documentation

◆ AbcObjectReader()

blender::io::alembic::AbcObjectReader::AbcObjectReader ( const Alembic::Abc::IObject & object,
ImportSettings & settings )
explicit

◆ ~AbcObjectReader()

virtual blender::io::alembic::AbcObjectReader::~AbcObjectReader ( )
virtualdefault

Member Function Documentation

◆ accepts_object_type()

virtual bool blender::io::alembic::AbcObjectReader::accepts_object_type ( const Alembic::AbcCoreAbstract::ObjectHeader & alembic_header,
const Object *const ob,
const char ** r_err_str ) const
pure virtual

◆ addCacheModifier()

◆ data_name()

const std::string & blender::io::alembic::AbcObjectReader::data_name ( ) const
inline

Definition at line 134 of file abc_reader_object.h.

References m_data_name.

◆ decref()

void blender::io::alembic::AbcObjectReader::decref ( )

Definition at line 301 of file abc_reader_object.cc.

References BLI_assert, and m_refcount.

Referenced by ABC_CacheReader_free().

◆ determine_inherits_xform()

void blender::io::alembic::AbcObjectReader::determine_inherits_xform ( )
protected

Determine whether we can inherit our parent's XForm.

Definition at line 61 of file abc_reader_object.cc.

References m_inherits_xform, and xform().

Referenced by AbcObjectReader().

◆ incref()

void blender::io::alembic::AbcObjectReader::incref ( )

Definition at line 296 of file abc_reader_object.cc.

References m_refcount.

Referenced by CacheReader_open_alembic_object(), and visit_object().

◆ inherits_xform()

bool blender::io::alembic::AbcObjectReader::inherits_xform ( ) const
inline

Definition at line 138 of file abc_reader_object.h.

References m_inherits_xform.

Referenced by import_file().

◆ iobject()

const IObject & blender::io::alembic::AbcObjectReader::iobject ( ) const

Definition at line 90 of file abc_reader_object.cc.

References m_iobject.

Referenced by get_abc_reader().

◆ maxTime()

chrono_t blender::io::alembic::AbcObjectReader::maxTime ( ) const

Definition at line 286 of file abc_reader_object.cc.

References m_max_time.

Referenced by import_file().

◆ minTime()

chrono_t blender::io::alembic::AbcObjectReader::minTime ( ) const

Definition at line 281 of file abc_reader_object.cc.

References m_min_time.

Referenced by import_file().

◆ name()

const std::string & blender::io::alembic::AbcObjectReader::name ( ) const
inline

Definition at line 126 of file abc_reader_object.h.

References m_name.

Referenced by import_file().

◆ object() [1/2]

Object * blender::io::alembic::AbcObjectReader::object ( ) const

Definition at line 95 of file abc_reader_object.cc.

References m_object.

Referenced by ABC_get_transform(), CacheReader_open_alembic_object(), and import_file().

◆ object() [2/2]

void blender::io::alembic::AbcObjectReader::object ( Object * ob)

Definition at line 100 of file abc_reader_object.cc.

References m_object.

◆ object_name()

const std::string & blender::io::alembic::AbcObjectReader::object_name ( ) const
inline

Definition at line 130 of file abc_reader_object.h.

References m_object_name.

◆ read_geometry()

void blender::io::alembic::AbcObjectReader::read_geometry ( bke::GeometrySet & geometry_set,
const Alembic::Abc::ISampleSelector & sample_sel,
int read_flag,
const char * velocity_name,
float velocity_scale,
const char ** r_err_str )
virtual

◆ read_matrix()

◆ readObjectData()

virtual void blender::io::alembic::AbcObjectReader::readObjectData ( Main * bmain,
const Alembic::Abc::ISampleSelector & sample_sel )
pure virtual

◆ refcount()

int blender::io::alembic::AbcObjectReader::refcount ( ) const

Definition at line 291 of file abc_reader_object.cc.

References m_refcount.

Referenced by ABC_CacheReader_free().

◆ setupObjectTransform()

◆ topology_changed()

bool blender::io::alembic::AbcObjectReader::topology_changed ( const Mesh * existing_mesh,
const Alembic::Abc::ISampleSelector & sample_sel )
virtual

Reimplemented in blender::io::alembic::AbcMeshReader.

Definition at line 152 of file abc_reader_object.cc.

Referenced by ABC_mesh_topology_changed().

◆ valid()

◆ xform()

Alembic::AbcGeom::IXform blender::io::alembic::AbcObjectReader::xform ( )
virtual

Returns the transform of this object. This can be the Alembic object itself (in case of an Empty) or it can be the parent Alembic object.

Definition at line 188 of file abc_reader_object.cc.

References m_iobject, and printf.

Referenced by blender::io::alembic::AbcEmptyReader::AbcEmptyReader(), determine_inherits_xform(), and read_matrix().

Member Data Documentation

◆ m_data_name

◆ m_inherits_xform

bool blender::io::alembic::AbcObjectReader::m_inherits_xform
protected

Definition at line 103 of file abc_reader_object.h.

Referenced by determine_inherits_xform(), inherits_xform(), and read_matrix().

◆ m_iobject

◆ m_is_reading_a_file_sequence

bool blender::io::alembic::AbcObjectReader::m_is_reading_a_file_sequence = false
protected

◆ m_max_time

◆ m_min_time

◆ m_name

std::string blender::io::alembic::AbcObjectReader::m_name
protected

Definition at line 84 of file abc_reader_object.h.

Referenced by AbcObjectReader(), and name().

◆ m_object

◆ m_object_name

◆ m_refcount

int blender::io::alembic::AbcObjectReader::m_refcount
protected

Definition at line 101 of file abc_reader_object.h.

Referenced by decref(), incref(), and refcount().

◆ m_settings

◆ parent_reader

AbcObjectReader* blender::io::alembic::AbcObjectReader::parent_reader

Definition at line 106 of file abc_reader_object.h.

Referenced by import_file(), and visit_object().


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