8 #include <Alembic/Abc/All.h>
9 #include <Alembic/AbcGeom/All.h>
18 using Alembic::AbcCoreAbstract::chrono_t;
69 return settings->
is_sequence || !schema.isConstant();
99 const Alembic::Abc::IObject &
iobject()
const;
107 virtual Alembic::AbcGeom::IXform
xform();
112 const std::string &
name()
const
132 const char **err_str)
const = 0;
137 const Alembic::Abc::ISampleSelector &sample_sel,
139 const char *velocity_name,
140 float velocity_scale,
141 const char **err_str);
143 const Alembic::Abc::ISampleSelector &sample_sel);
157 void read_matrix(
float r_mat[4][4], chrono_t
time,
float scale,
bool &is_constant);
164 Imath::M44d
get_matrix(
const Alembic::AbcGeom::IXformSchema &schema, chrono_t
time);
ID and Library types, which are fundamental for sdna.
std::string m_object_name
AbcObjectReader * parent_reader
Alembic::Abc::IObject m_iobject
AbcObjectReader(const Alembic::Abc::IObject &object, ImportSettings &settings)
void read_matrix(float r_mat[4][4], chrono_t time, float scale, bool &is_constant)
const Alembic::Abc::IObject & iobject() const
void determine_inherits_xform()
virtual bool valid() const =0
virtual bool topology_changed(const Mesh *existing_mesh, const Alembic::Abc::ISampleSelector &sample_sel)
const std::string & data_name() const
virtual Alembic::AbcGeom::IXform xform()
void setupObjectTransform(chrono_t time)
const std::string & object_name() const
bool inherits_xform() const
const std::string & name() const
virtual void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel)=0
virtual struct Mesh * 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)
ImportSettings * m_settings
virtual bool accepts_object_type(const Alembic::AbcCoreAbstract::ObjectHeader &alembic_header, const Object *const ob, const char **err_str) const =0
std::vector< AbcObjectReader * > ptr_vector
virtual ~AbcObjectReader()=default
Imath::M44d get_matrix(const IXformSchema &schema, const chrono_t time)
bool has_animations(Alembic::AbcGeom::IPolyMeshSchema &schema, ImportSettings *settings)
bool always_add_cache_reader
float conversion_mat[4][4]
std::string velocity_name