Blender V5.0
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

using ptr_vector = std::vector<AbcObjectReader *>

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 68 of file abc_reader_object.h.

Member Typedef Documentation

◆ ptr_vector

Constructor & Destructor Documentation

◆ AbcObjectReader()

◆ ~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 121 of file abc_reader_object.h.

References m_data_name.

◆ decref()

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

Definition at line 300 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 60 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 295 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 125 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 89 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 285 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 280 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 113 of file abc_reader_object.h.

References m_name.

Referenced by import_file().

◆ object() [1/2]

◆ object() [2/2]

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

Definition at line 99 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 117 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 290 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 151 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 187 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 91 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 70 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 89 of file abc_reader_object.h.

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

◆ m_settings

◆ parent_reader

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

Definition at line 94 of file abc_reader_object.h.

Referenced by AbcObjectReader(), and import_file().


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