Blender  V3.3
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
blender::io::alembic::AbcObjectReader Class Referenceabstract

#include <abc_reader_object.h>

Inheritance diagram for blender::io::alembic::AbcObjectReader:
blender::io::alembic::AbcCameraReader blender::io::alembic::AbcCurveReader blender::io::alembic::AbcEmptyReader blender::io::alembic::AbcMeshReader blender::io::alembic::AbcNurbsReader blender::io::alembic::AbcPointsReader 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 **err_str) const =0
 
virtual void readObjectData (Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel)=0
 
virtual struct Meshread_mesh (struct Mesh *mesh, const Alembic::Abc::ISampleSelector &sample_sel, int read_flag, const char *velocity_name, float velocity_scale, const char **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
 
chrono_t m_min_time
 
chrono_t m_max_time
 
int m_refcount
 
bool m_inherits_xform
 

Detailed Description

Definition at line 72 of file abc_reader_object.h.

Member Typedef Documentation

◆ ptr_vector

Definition at line 101 of file abc_reader_object.h.

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 **  err_str 
) const
pure virtual

◆ addCacheModifier()

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

◆ data_name()

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

Definition at line 120 of file abc_reader_object.h.

References m_data_name.

◆ decref()

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

Definition at line 293 of file abc_reader_object.cc.

References BLI_assert, and m_refcount.

Referenced by ABC_CacheReader_free(), and import_endjob().

◆ determine_inherits_xform()

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

Determine whether we can inherit our parent's XForm.

Definition at line 56 of file abc_reader_object.cc.

References m_inherits_xform, and xform().

Referenced by AbcObjectReader().

◆ incref()

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

◆ inherits_xform()

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

Definition at line 124 of file abc_reader_object.h.

References m_inherits_xform.

Referenced by import_startjob().

◆ iobject()

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

Definition at line 85 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 278 of file abc_reader_object.cc.

References m_max_time.

Referenced by import_startjob().

◆ minTime()

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

Definition at line 273 of file abc_reader_object.cc.

References m_min_time.

Referenced by import_startjob().

◆ name()

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

Definition at line 112 of file abc_reader_object.h.

References m_name.

Referenced by import_startjob().

◆ object() [1/2]

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

◆ object() [2/2]

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

Definition at line 95 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 116 of file abc_reader_object.h.

References m_object_name.

◆ read_matrix()

void blender::io::alembic::AbcObjectReader::read_matrix ( float  r_mat[4][4],
chrono_t  time,
float  scale,
bool is_constant 
)

◆ read_mesh()

struct Mesh * blender::io::alembic::AbcObjectReader::read_mesh ( struct Mesh mesh,
const Alembic::Abc::ISampleSelector &  sample_sel,
int  read_flag,
const char *  velocity_name,
float  velocity_scale,
const char **  err_str 
)
virtual

◆ 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 283 of file abc_reader_object.cc.

References m_refcount.

Referenced by ABC_CacheReader_free(), and import_endjob().

◆ setupObjectTransform()

void blender::io::alembic::AbcObjectReader::setupObjectTransform ( chrono_t  time)

◆ 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 145 of file abc_reader_object.cc.

Referenced by ABC_mesh_topology_changed().

◆ valid()

virtual bool blender::io::alembic::AbcObjectReader::valid ( ) const
pure virtual

◆ 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 181 of file abc_reader_object.cc.

References m_iobject.

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

Member Data Documentation

◆ m_data_name

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

◆ m_inherits_xform

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

Definition at line 89 of file abc_reader_object.h.

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

◆ m_iobject

Alembic::Abc::IObject blender::io::alembic::AbcObjectReader::m_iobject
protected

◆ m_max_time

chrono_t blender::io::alembic::AbcObjectReader::m_max_time
protected

◆ m_min_time

chrono_t blender::io::alembic::AbcObjectReader::m_min_time
protected

◆ m_name

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

Definition at line 74 of file abc_reader_object.h.

Referenced by AbcObjectReader(), and name().

◆ m_object

Object* blender::io::alembic::AbcObjectReader::m_object
protected

◆ m_object_name

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

◆ m_refcount

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

Definition at line 87 of file abc_reader_object.h.

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

◆ m_settings

ImportSettings* blender::io::alembic::AbcObjectReader::m_settings
protected

◆ parent_reader

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

Definition at line 92 of file abc_reader_object.h.

Referenced by import_startjob(), and visit_object().


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