37#ifndef Alembic_Abc_OSchemaObject_h
38#define Alembic_Abc_OSchemaObject_h
52template <
class SCHEMA>
70 return SCHEMA::getSchemaTitle() + std::string(
":" ) +
71 SCHEMA::getDefaultSchemaName();
76 return SCHEMA::getSchemaTitle();
124 const std::string &iName,
165template <
class SCHEMA>
169 const std::string &iName,
182 "OSchemaObject::OSchemaObject( OObject )" );
187 "NULL Parent ObjectWriter in OSchemaObject ctor" );
197 metaData.
set(
"schema", SCHEMA::getSchemaTitle() );
198 metaData.
set(
"schemaObjTitle", getSchemaObjTitle() );
199 if ( std::string() != SCHEMA::getSchemaBaseType() )
201 metaData.
set(
"schemaBaseType", SCHEMA::getSchemaBaseType() );
207 m_object = parent->createChild( ohdr );
216 tsIndex = parent->getArchive()->addTimeSampling(*tsPtr);
220 if ( args.
isSparse() && SCHEMA::replaceOnSparse() )
222 schemaMetaData.
set(
"replace",
"1" );
226 m_schema = SCHEMA( m_object->getProperties(),
227 SCHEMA::getDefaultSchemaName(),
228 this->getErrorHandlerPolicy(),
#define ABCA_ASSERT(COND, TEXT)
#define ALEMBIC_ABC_SAFE_CALL_BEGIN(CONTEXT)
#define ALEMBIC_ABC_SAFE_CALL_END_RESET()
#define ALEMBIC_VERSION_NS
void setInto(Arguments &iArgs) const
const AbcA::MetaData & getMetaData() const
uint32_t getTimeSamplingIndex() const
ErrorHandler::Policy getErrorHandlerPolicy() const
AbcA::TimeSamplingPtr getTimeSampling() const
AbcA::ObjectWriterPtr getPtr()
OSchemaObject< SCHEMA > this_type
const SCHEMA & getSchema() const
static std::string getSchemaObjTitle()
static bool matches(const AbcA::ObjectHeader &iHeader, SchemaInterpMatching iMatching=kStrictMatching)
ALEMBIC_OVERRIDE_OPERATOR_BOOL(this_type::valid())
static bool matches(const AbcA::MetaData &iMetaData, SchemaInterpMatching iMatching=kStrictMatching)
static const char * getSchemaTitle()
Alembic::Util::shared_ptr< ObjectWriter > ObjectWriterPtr
Alembic::Util::shared_ptr< TimeSampling > TimeSamplingPtr
ErrorHandler::Policy GetErrorHandlerPolicy(SOMETHING iSomething, const Argument &iArg0, const Argument &iArg1=Argument(), const Argument &iArg2=Argument(), const Argument &iArg3=Argument())