10#include <Alembic/Abc/IObject.h>
11#include <Alembic/Abc/ISampleSelector.h>
12#include <Alembic/AbcCoreAbstract/Foundation.h>
13#include <Alembic/AbcCoreAbstract/ObjectHeader.h>
14#include <Alembic/AbcGeom/IXform.h>
28using Alembic::AbcCoreAbstract::chrono_t;
79 return settings->
is_sequence || !schema.isConstant();
113 const Alembic::Abc::IObject &
iobject()
const;
121 virtual Alembic::AbcGeom::IXform
xform();
126 const std::string &
name()
const
146 const char **r_err_str)
const = 0;
151 const Alembic::Abc::ISampleSelector &sample_sel,
153 const char *velocity_name,
154 float velocity_scale,
155 const char **r_err_str);
158 const Alembic::Abc::ISampleSelector &sample_sel);
172 void read_matrix(
float r_mat[4][4], chrono_t time,
float scale,
bool &is_constant);
179Imath::M44d
get_matrix(
const Alembic::AbcGeom::IXformSchema &schema, chrono_t time);
std::string m_object_name
const std::string & object_name() const
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 accepts_object_type(const Alembic::AbcCoreAbstract::ObjectHeader &alembic_header, const Object *const ob, const char **r_err_str) const =0
virtual bool topology_changed(const Mesh *existing_mesh, const Alembic::Abc::ISampleSelector &sample_sel)
virtual Alembic::AbcGeom::IXform xform()
void setupObjectTransform(chrono_t time)
const std::string & data_name() const
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)
bool inherits_xform() const
bool m_is_reading_a_file_sequence
virtual void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel)=0
ImportSettings * m_settings
const std::string & name() const
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