Blender  V3.3
Public Member Functions | List of all members
blender::io::alembic::AbcCurveReader Class Referencefinal

#include <abc_reader_curves.h>

Inheritance diagram for blender::io::alembic::AbcCurveReader:
blender::io::alembic::AbcObjectReader

Public Member Functions

 AbcCurveReader (const Alembic::Abc::IObject &object, ImportSettings &settings)
 
bool valid () const override
 
bool accepts_object_type (const Alembic::AbcCoreAbstract::ObjectHeader &alembic_header, const Object *const ob, const char **err_str) const override
 
void readObjectData (Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel) override
 
struct Meshread_mesh (struct Mesh *existing_mesh, const Alembic::Abc::ISampleSelector &sample_sel, int read_flag, const char *velocity_name, float velocity_scale, const char **err_str) override
 
void read_curve_sample (Curve *cu, const Alembic::AbcGeom::ICurvesSchema &schema, const Alembic::Abc::ISampleSelector &sample_selector)
 
- Public Member Functions inherited from blender::io::alembic::AbcObjectReader
 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 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)
 

Additional Inherited Members

- Public Types inherited from blender::io::alembic::AbcObjectReader
typedef std::vector< AbcObjectReader * > ptr_vector
 
- Public Attributes inherited from blender::io::alembic::AbcObjectReader
AbcObjectReaderparent_reader
 
- Protected Member Functions inherited from blender::io::alembic::AbcObjectReader
void determine_inherits_xform ()
 
- Protected Attributes inherited from blender::io::alembic::AbcObjectReader
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 18 of file abc_reader_curves.h.

Constructor & Destructor Documentation

◆ AbcCurveReader()

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

Member Function Documentation

◆ accepts_object_type()

bool blender::io::alembic::AbcCurveReader::accepts_object_type ( const Alembic::AbcCoreAbstract::ObjectHeader &  alembic_header,
const Object *const  ob,
const char **  err_str 
) const
overridevirtual

Implements blender::io::alembic::AbcObjectReader.

Definition at line 57 of file abc_reader_curves.cc.

References OB_CURVES_LEGACY, and Object::type.

◆ read_curve_sample()

void blender::io::alembic::AbcCurveReader::read_curve_sample ( Curve cu,
const Alembic::AbcGeom::ICurvesSchema &  schema,
const Alembic::Abc::ISampleSelector &  sample_selector 
)

◆ read_mesh()

Mesh * blender::io::alembic::AbcCurveReader::read_mesh ( struct Mesh existing_mesh,
const Alembic::Abc::ISampleSelector &  sample_sel,
int  read_flag,
const char *  velocity_name,
float  velocity_scale,
const char **  err_str 
)
overridevirtual
Note
Alembic only stores data about control points, but the Mesh passed from the cache modifier contains the DispList, which has more data than the control points, so to avoid corrupting the DispList we modify the object directly and create a new Mesh from that. Also we might need to create new or delete existing NURBS in the curve.

Reimplemented from blender::io::alembic::AbcObjectReader.

Definition at line 261 of file abc_reader_curves.cc.

References Nurb::bezt, BKE_mesh_new_nomain_from_curve(), BKE_nurbList_free(), BLI_listbase_count(), Nurb::bp, blender::io::alembic::copy_zup_from_yup(), curve, Object::data, ListBase::first, blender::io::alembic::AbcObjectReader::m_iobject, blender::io::alembic::AbcObjectReader::m_object, Nurb::next, Curve::nurb, Nurb::pntsu, point, pos, positions, read_curve_sample(), sample, and BezTriple::vec.

◆ readObjectData()

void blender::io::alembic::AbcCurveReader::readObjectData ( Main bmain,
const Alembic::Abc::ISampleSelector &  sample_sel 
)
overridevirtual

◆ valid()

bool blender::io::alembic::AbcCurveReader::valid ( ) const
overridevirtual

Implements blender::io::alembic::AbcObjectReader.

Definition at line 52 of file abc_reader_curves.cc.


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