Alembic Version 1.1
|
#include <OSchemaObject.h>
Public Types | |
typedef SCHEMA | schema_type |
typedef OSchemaObject< SCHEMA > | this_type |
![]() | |
typedef OObject | this_type |
typedef OObject | operator_bool_base_type |
Public Member Functions | |
OSchemaObject () | |
OSchemaObject (OObject iParent, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument()) | |
SCHEMA & | getSchema () |
const SCHEMA & | getSchema () const |
void | reset () |
bool | valid () const |
ALEMBIC_OVERRIDE_OPERATOR_BOOL (this_type::valid()) | |
![]() | |
OObject () | |
OObject (OObject iParentObject, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument()) | |
OObject (AbcA::ObjectWriterPtr iPtr, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument()) | |
OObject (AbcA::ObjectWriterPtr iPtr, WrapExistingFlag, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument()) | |
OObject (OArchive &iArchive, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument()) | |
OObject (OArchive &iArchive, TopFlag, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument()) | |
virtual | ~OObject () |
const AbcA::ObjectHeader & | getHeader () const |
const std::string & | getName () const |
const std::string & | getFullName () const |
const AbcA::MetaData & | getMetaData () const |
OArchive | getArchive () |
OObject | getParent () |
size_t | getNumChildren () |
const AbcA::ObjectHeader & | getChildHeader (size_t i) |
const AbcA::ObjectHeader * | getChildHeader (const std::string &iName) |
OCompoundProperty | getProperties () |
OObject | getChild (size_t iChildIndex) |
OObject | getChild (const std::string &iChildName) |
bool | addChildInstance (OObject iTarget, const std::string &iName) |
-************************************************************************ | |
AbcA::ObjectWriterPtr | getPtr () |
const AbcA::ObjectWriterPtr | getPtr () const |
void | reset () |
bool | valid () const |
ALEMBIC_OPERATOR_BOOL (valid()) | |
![]() | |
ErrorHandler & | getErrorHandler () const |
ErrorHandler::Policy | getErrorHandlerPolicy () const |
Static Public Member Functions | |
static std::string | getSchemaObjTitle () |
static const char * | getSchemaTitle () |
static bool | matches (const AbcA::MetaData &iMetaData, SchemaInterpMatching iMatching=kStrictMatching) |
static bool | matches (const AbcA::ObjectHeader &iHeader, SchemaInterpMatching iMatching=kStrictMatching) |
Protected Attributes | |
SCHEMA | m_schema |
![]() | |
AbcA::ObjectWriterPtr | m_object |
Additional Inherited Members | |
![]() | |
Base () | |
Base (ErrorHandler::Policy iPolicy) | |
Base (const Base &iCopy) | |
Base & | operator= (const Base &iCopy) |
bool | valid () const |
void | reset () |
An OSchemaObject is an object with a single schema. This is just a convenience class, really, but it also deals with setting up and validating metadata
Definition at line 53 of file OSchemaObject.h.
typedef SCHEMA Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::schema_type |
Definition at line 59 of file OSchemaObject.h.
typedef OSchemaObject<SCHEMA> Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::this_type |
Definition at line 60 of file OSchemaObject.h.
|
inline |
The default constructor creates an empty OSchemaObject function set. ...
Definition at line 118 of file OSchemaObject.h.
Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::OSchemaObject | ( | OObject | iParent, |
const std::string & | iName, | ||
const Argument & | iArg0 = Argument(), | ||
const Argument & | iArg1 = Argument(), | ||
const Argument & | iArg2 = Argument() ) |
The primary constructor creates an OSchemaObject as a child of the first argument, which is any Abc or AbcCoreAbstract (or other) object which can be intrusively cast to an ObjectWriterPtr.
Definition at line 166 of file OSchemaObject.h.
References ABCA_ASSERT, ALEMBIC_ABC_SAFE_CALL_BEGIN, ALEMBIC_ABC_SAFE_CALL_END_RESET, Alembic::Abc::ALEMBIC_VERSION_NS::GetErrorHandlerPolicy(), Alembic::Abc::ALEMBIC_VERSION_NS::Arguments::getErrorHandlerPolicy(), Alembic::Abc::ALEMBIC_VERSION_NS::Arguments::getMetaData(), Alembic::Abc::ALEMBIC_VERSION_NS::OObject::getPtr(), Alembic::Abc::ALEMBIC_VERSION_NS::Arguments::getTimeSampling(), Alembic::Abc::ALEMBIC_VERSION_NS::Arguments::getTimeSamplingIndex(), Alembic::Abc::ALEMBIC_VERSION_NS::Arguments::isSparse(), Alembic::Abc::ALEMBIC_VERSION_NS::kFull, Alembic::Abc::ALEMBIC_VERSION_NS::kSparse, Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::MetaData::set(), and Alembic::Abc::ALEMBIC_VERSION_NS::Argument::setInto().
Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::ALEMBIC_OVERRIDE_OPERATOR_BOOL | ( | this_type::valid() | ) |
The unspecified-bool-type operator casts the object to "true" if it is valid, and "false" otherwise.
|
inline |
Schemas are not necessarily cheap to copy, so we return by reference rather than by value.
Definition at line 138 of file OSchemaObject.h.
References Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::m_schema.
|
inline |
Definition at line 139 of file OSchemaObject.h.
References Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::m_schema.
|
inlinestatic |
Our schema title contains the schema title of the underlying compound property, along with the default name of that compound property. So, for example - most AbcGeom types put their data in ".geom", so, "AbcGeom_PolyMesh_v1:.geom" Sometimes schema titles from underlying schemas are "", but ours never are.
Definition at line 68 of file OSchemaObject.h.
Referenced by Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::matches().
|
inlinestatic |
Definition at line 74 of file OSchemaObject.h.
Referenced by Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::matches().
|
inlinestatic |
This will check whether or not a given entity (as represented by a metadata) strictly matches the interpretation of this schema object
Definition at line 82 of file OSchemaObject.h.
References Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::MetaData::get(), Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::getSchemaObjTitle(), Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::getSchemaTitle(), Alembic::Abc::ALEMBIC_VERSION_NS::kNoMatching, Alembic::Abc::ALEMBIC_VERSION_NS::kSchemaTitleMatching, and Alembic::Abc::ALEMBIC_VERSION_NS::kStrictMatching.
Referenced by Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::matches().
|
inlinestatic |
This will check whether or not a given object (as represented by an object header) strictly matches the interpretation of this schema object, as well as the data type.
Definition at line 105 of file OSchemaObject.h.
References Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectHeader::getMetaData(), and Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::matches().
|
inline |
Reset returns this function set to an empty, default state.
Definition at line 143 of file OSchemaObject.h.
References Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::m_schema, and Alembic::Abc::ALEMBIC_VERSION_NS::OObject::reset().
|
inline |
Valid returns whether this function set is valid.
Definition at line 147 of file OSchemaObject.h.
References Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::m_schema, and Alembic::Abc::ALEMBIC_VERSION_NS::OObject::valid().
|
protected |
Definition at line 157 of file OSchemaObject.h.
Referenced by Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::getSchema(), Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::getSchema(), Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::reset(), and Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::valid().