37#ifndef Alembic_Abc_ISchemaObject_h
38#define Alembic_Abc_ISchemaObject_h
54template <
class SCHEMA>
72 return SCHEMA::getSchemaTitle() + std::string(
":" )
73 + SCHEMA::getDefaultSchemaName();
78 return SCHEMA::getSchemaTitle();
84 static bool matches(
const AbcA::MetaData &iMetaData,
111 static bool matches(
const AbcA::ObjectHeader &iHeader,
114 return matches( iHeader.getMetaData(), iMatching );
128 const std::string &iName,
134 iArg0.setInto( args );
135 iArg1.setInto( args );
138 "ISchemaObject::ISchemaObject( IObject )" );
140 const AbcA::ObjectHeader &oheader = this->
getHeader();
143 "Incorrect match of schema: "
144 << oheader.getMetaData().get(
"schema" )
150 SCHEMA::getDefaultSchemaName(),
151 this->getErrorHandlerPolicy(),
168 "ISchemaObject::ISchemaObject( wrap )" );
170 const AbcA::ObjectHeader &oheader = this->
getHeader();
174 "Incorrect match of schema: "
175 << oheader.getMetaData().get(
"schemaObjTitle" )
180 SCHEMA::getDefaultSchemaName(),
198 "ISchemaObject::ISchemaObject( wrapflag )" );
200 const AbcA::ObjectHeader &oheader = this->
getHeader();
204 "Incorrect match of schema: "
205 << oheader.getMetaData().get(
"schemaObjTitle" )
210 SCHEMA::getDefaultSchemaName(),
#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
SchemaInterpMatching getSchemaInterpMatching() const
ErrorHandler::Policy getErrorHandlerPolicy() const
ErrorHandler & getErrorHandler() const
ErrorHandler::Policy getErrorHandlerPolicy() const
void setPolicy(Policy iPolicy)
const AbcA::ObjectHeader & getHeader() const
ICompoundProperty getProperties() const
AbcA::ObjectReaderPtr m_object
void reset()
Reset returns this function set to an empty, default state.
ISchemaObject< SCHEMA > this_type
ISchemaObject(const IObject &iObject, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
ALEMBIC_OVERRIDE_OPERATOR_BOOL(this_type::valid())
static std::string getSchemaObjTitle()
const SCHEMA & getSchema() const
ISchemaObject(const IObject &iParent, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
The primary constructor creates an ISchemaObject as a child of iParent.
static bool matches(const AbcA::MetaData &iMetaData, SchemaInterpMatching iMatching=kStrictMatching)
ISchemaObject(const IObject &iObject, WrapExistingFlag iFlag, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
ICollectionsSchema m_schema
static const char * getSchemaTitle()
static bool matches(const AbcA::ObjectHeader &iHeader, SchemaInterpMatching iMatching=kStrictMatching)
ErrorHandler::Policy GetErrorHandlerPolicyFromArgs(const Argument &iArg0, const Argument &iArg1=Argument(), const Argument &iArg2=Argument(), const Argument &iArg3=Argument())
ErrorHandler::Policy GetErrorHandlerPolicy(SOMETHING iSomething, const Argument &iArg0, const Argument &iArg1=Argument(), const Argument &iArg2=Argument(), const Argument &iArg3=Argument())
SchemaInterpMatching GetSchemaInterpMatching(const Argument &iArg0, const Argument &iArg1=Argument(), const Argument &iArg2=Argument(), const Argument &iArg3=Argument())