Alembic Version 1.1
|
#include <ISchemaObject.h>
Public Types | |
typedef SCHEMA | schema_type |
typedef ISchemaObject< SCHEMA > | this_type |
![]() | |
typedef IObject | this_type |
typedef IObject | operator_bool_base_type |
Public Member Functions | |
ISchemaObject () | |
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. More... | |
ISchemaObject (const IObject &iObject, const Argument &iArg0=Argument(), const Argument &iArg1=Argument()) | |
ISchemaObject (const IObject &iObject, WrapExistingFlag iFlag, const Argument &iArg0=Argument(), const Argument &iArg1=Argument()) | |
SCHEMA & | getSchema () |
const SCHEMA & | getSchema () const |
void | reset () |
bool | valid () const |
ALEMBIC_OVERRIDE_OPERATOR_BOOL (this_type::valid()) | |
![]() | |
IObject () | |
IObject (const IObject &iParent, const std::string &iName, const Argument &iArg0=Argument()) | |
IObject (AbcA::ObjectReaderPtr iPtr, const Argument &iArg0=Argument()) | |
IObject (AbcA::ObjectReaderPtr iPtr, WrapExistingFlag, const Argument &iArg0=Argument()) | |
IObject (IArchive &iArchive, const Argument &iArg0=Argument()) | |
IObject (IArchive &iArchive, TopFlag iFlag, const Argument &iArg0=Argument()) | |
virtual | ~IObject () |
const AbcA::ObjectHeader & | getHeader () const |
const std::string & | getName () const |
const std::string & | getFullName () const |
const AbcA::MetaData & | getMetaData () const |
IArchive | getArchive () const |
IObject | getParent () const |
size_t | getNumChildren () const |
const AbcA::ObjectHeader & | getChildHeader (size_t i) const |
const AbcA::ObjectHeader * | getChildHeader (const std::string &iName) const |
ICompoundProperty | getProperties () const |
IObject | getChild (size_t iChildIndex) const |
IObject | getChild (const std::string &iChildName) const |
bool | isInstanceRoot () const |
-************************************************************************ More... | |
bool | isInstanceDescendant () const |
std::string | instanceSourcePath () const |
bool | isChildInstance (size_t iChildIndex) const |
bool | isChildInstance (const std::string &iChildName) const |
AbcA::ObjectReaderPtr | getInstancePtr () const |
Returns the original ObjectReaderPtr, if this object is an instance. More... | |
AbcA::ObjectReaderPtr | getPtr () const |
void | reset () |
Reset returns this function set to an empty, default state. More... | |
bool | valid () const |
bool | getPropertiesHash (Util::Digest &oDigest) |
bool | getChildrenHash (Util::Digest &oDigest) |
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 |
Additional Inherited Members | |
![]() | |
AbcA::ObjectReaderPtr | m_object |
![]() | |
Base () | |
Base (ErrorHandler::Policy iPolicy) | |
Base (const Base &iCopy) | |
Base & | operator= (const Base &iCopy) |
bool | valid () const |
void | reset () |
An ISchemaObject 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 55 of file ISchemaObject.h.
typedef SCHEMA Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::schema_type |
Definition at line 61 of file ISchemaObject.h.
typedef ISchemaObject<SCHEMA> Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::this_type |
Definition at line 62 of file ISchemaObject.h.
|
inline |
The default constructor creates an empty ISchemaObject function set. ...
Definition at line 124 of file ISchemaObject.h.
|
inline |
The primary constructor creates an ISchemaObject as a child of iParent.
Definition at line 127 of file ISchemaObject.h.
References ABCA_ASSERT, ALEMBIC_ABC_SAFE_CALL_BEGIN, ALEMBIC_ABC_SAFE_CALL_END_RESET, Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::MetaData::get(), Alembic::Abc::ALEMBIC_VERSION_NS::IObject::getHeader(), Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectHeader::getMetaData(), Alembic::Abc::ALEMBIC_VERSION_NS::Arguments::getSchemaInterpMatching(), Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchemaTitle(), Alembic::Abc::ALEMBIC_VERSION_NS::IObject::m_object, Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::m_schema, and Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::matches().
|
inline |
Wrap an existing schema object. ...
Definition at line 159 of file ISchemaObject.h.
References ABCA_ASSERT, ALEMBIC_ABC_SAFE_CALL_BEGIN, ALEMBIC_ABC_SAFE_CALL_END_RESET, Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::MetaData::get(), Alembic::Abc::ALEMBIC_VERSION_NS::Base::getErrorHandler(), Alembic::Abc::ALEMBIC_VERSION_NS::Base::getErrorHandlerPolicy(), Alembic::Abc::ALEMBIC_VERSION_NS::GetErrorHandlerPolicy(), Alembic::Abc::ALEMBIC_VERSION_NS::IObject::getHeader(), Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectHeader::getMetaData(), Alembic::Abc::ALEMBIC_VERSION_NS::IObject::getProperties(), Alembic::Abc::ALEMBIC_VERSION_NS::GetSchemaInterpMatching(), Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchemaObjTitle(), Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::m_schema, Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::matches(), and Alembic::Abc::ALEMBIC_VERSION_NS::ErrorHandler::setPolicy().
|
inline |
Definition at line 188 of file ISchemaObject.h.
References ABCA_ASSERT, ALEMBIC_ABC_SAFE_CALL_BEGIN, ALEMBIC_ABC_SAFE_CALL_END_RESET, Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::MetaData::get(), Alembic::Abc::ALEMBIC_VERSION_NS::Base::getErrorHandler(), Alembic::Abc::ALEMBIC_VERSION_NS::Base::getErrorHandlerPolicy(), Alembic::Abc::ALEMBIC_VERSION_NS::GetErrorHandlerPolicy(), Alembic::Abc::ALEMBIC_VERSION_NS::IObject::getHeader(), Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectHeader::getMetaData(), Alembic::Abc::ALEMBIC_VERSION_NS::IObject::getProperties(), Alembic::Abc::ALEMBIC_VERSION_NS::GetSchemaInterpMatching(), Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchemaObjTitle(), Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::m_schema, Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::matches(), and Alembic::Abc::ALEMBIC_VERSION_NS::ErrorHandler::setPolicy().
Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< 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 225 of file ISchemaObject.h.
References Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::m_schema.
|
inline |
Definition at line 226 of file ISchemaObject.h.
References Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< 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 70 of file ISchemaObject.h.
Referenced by Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::ISchemaObject(), and Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::matches().
|
inlinestatic |
Definition at line 76 of file ISchemaObject.h.
Referenced by Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::ISchemaObject(), and Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< 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 84 of file ISchemaObject.h.
References Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::MetaData::get(), Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchemaObjTitle(), Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< 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::ISchemaObject< SCHEMA >::ISchemaObject(), and Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< 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 111 of file ISchemaObject.h.
References Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectHeader::getMetaData(), and Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::matches().
|
inline |
Reset returns this function set to an empty, default state.
Definition at line 230 of file ISchemaObject.h.
References Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::m_schema, and Alembic::Abc::ALEMBIC_VERSION_NS::IObject::reset().
|
inline |
Valid returns whether this function set is valid.
Definition at line 234 of file ISchemaObject.h.
References Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::m_schema, and Alembic::Abc::ALEMBIC_VERSION_NS::IObject::valid().
|
protected |
Definition at line 244 of file ISchemaObject.h.
Referenced by Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::ISchemaObject(), Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchema(), Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::reset(), and Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::valid().