Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA > Class Template Reference

`#include <ISchemaObject.h>`

Inheritance diagram for Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >:
[legend]
Collaboration diagram for Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >:
[legend]

## Public Types

typedef SCHEMA | schema_type
typedef ISchemaObject< SCHEMA > | this_type
Public Types inherited from Alembic::Abc::ALEMBIC_VERSION_NS::IObject
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())
Public Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::IObject
| 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())
Public Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::Base
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

Public Attributes inherited from Alembic::Abc::ALEMBIC_VERSION_NS::IObject
AbcA::ObjectReaderPtr | m_object
Protected Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::Base
| Base ()
| Base (ErrorHandler::Policy iPolicy)
| Base (const Base &iCopy)
Base & | operator= (const Base &iCopy)
bool | valid () const
void | reset ()

## Detailed Description

template<class SCHEMA>
class Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >

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.

## Member Typedef Documentation

## schema_type

template<class SCHEMA >

typedef SCHEMA Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::schema_type

Definition at line 61 of file ISchemaObject.h.

## this_type

template<class SCHEMA >

typedef ISchemaObject<SCHEMA> Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::this_type

Definition at line 62 of file ISchemaObject.h.

## Constructor & Destructor Documentation

## ISchemaObject() [1/4]

template<class SCHEMA >

Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::ISchemaObject | ( |  | ) |

inline

The default constructor creates an empty ISchemaObject function set. ...

Definition at line 124 of file ISchemaObject.h.

## ISchemaObject() [2/4]

template<class SCHEMA >

Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::ISchemaObject | ( | const IObject & | iParent,
|  | const std::string & | iName,
|  | const Argument & | iArg0 = `Argument()`,
|  | const Argument & | iArg1 = `Argument()`
| ) |  |

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().

Here is the call graph for this function:

## ISchemaObject() [3/4]

template<class SCHEMA >

Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::ISchemaObject | ( | const IObject & | iObject,
|  | const Argument & | iArg0 = `Argument()`,
|  | const Argument & | iArg1 = `Argument()`
| ) |  |

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().

Here is the call graph for this function:

## ISchemaObject() [4/4]

template<class SCHEMA >

Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::ISchemaObject | ( | const IObject & | iObject,
|  | WrapExistingFlag | iFlag,
|  | const Argument & | iArg0 = `Argument()`,
|  | const Argument & | iArg1 = `Argument()`
| ) |  |

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().

Here is the call graph for this function:

## Member Function Documentation

## ALEMBIC_OVERRIDE_OPERATOR_BOOL()

template<class SCHEMA >

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.

## getSchema() [1/2]

template<class SCHEMA >

SCHEMA & Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchema | ( |  | ) |

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.

## getSchema() [2/2]

template<class SCHEMA >

const SCHEMA & Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchema | ( |  | ) | const

inline

Definition at line 226 of file ISchemaObject.h.

References Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::m_schema.

## getSchemaObjTitle()

template<class SCHEMA >

static std::string Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchemaObjTitle | ( |  | ) |

inline static

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().

Here is the caller graph for this function:

## getSchemaTitle()

template<class SCHEMA >

static const char * Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchemaTitle | ( |  | ) |

inline static

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().

Here is the caller graph for this function:

## matches() [1/2]

template<class SCHEMA >

static bool Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::matches | ( | const AbcA::MetaData & | iMetaData,
|  | SchemaInterpMatching | iMatching = `kStrictMatching`
| ) |  |

inline static

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().

Here is the call graph for this function:
Here is the caller graph for this function:

## matches() [2/2]

template<class SCHEMA >

static bool Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::matches | ( | const AbcA::ObjectHeader & | iHeader,
|  | SchemaInterpMatching | iMatching = `kStrictMatching`
| ) |  |

inline static

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().

Here is the call graph for this function:

## reset()

template<class SCHEMA >

void Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::reset | ( |  | ) |

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().

Here is the call graph for this function:

## valid()

template<class SCHEMA >

bool Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::valid | ( |  | ) | const

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().

Here is the call graph for this function:

## Member Data Documentation

## m_schema

template<class SCHEMA >

SCHEMA Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::m_schema

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().

The documentation for this class was generated from the following file:

- opt/local/include/Alembic/Abc/ISchemaObject.h