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

`#include <OSchemaObject.h>`

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

## Public Types

typedef SCHEMA | schema_type
typedef OSchemaObject< SCHEMA > | this_type
Public Types inherited from Alembic::Abc::ALEMBIC_VERSION_NS::OObject
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())
Public Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::OObject
| 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)
| -************************************************************************ More...
AbcA::ObjectWriterPtr | getPtr ()
const AbcA::ObjectWriterPtr | getPtr () const
void | reset ()
bool | valid () const
| 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
Protected Attributes inherited from Alembic::Abc::ALEMBIC_VERSION_NS::OObject
AbcA::ObjectWriterPtr | m_object

## Additional Inherited Members

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::OSchemaObject< SCHEMA >

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.

## Member Typedef Documentation

## schema_type

template<class SCHEMA >

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

Definition at line 59 of file OSchemaObject.h.

## this_type

template<class SCHEMA >

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

Definition at line 60 of file OSchemaObject.h.

## Constructor & Destructor Documentation

## OSchemaObject() [1/2]

template<class SCHEMA >

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

inline

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

Definition at line 118 of file OSchemaObject.h.

## OSchemaObject() [2/2]

template<class SCHEMA >

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::Arguments::getErrorHandlerPolicy(), Alembic::Abc::ALEMBIC_VERSION_NS::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().

Here is the call graph for this function:

## Member Function Documentation

## ALEMBIC_OVERRIDE_OPERATOR_BOOL()

template<class SCHEMA >

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.

## getSchema() [1/2]

template<class SCHEMA >

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

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.

## getSchema() [2/2]

template<class SCHEMA >

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

inline

Definition at line 139 of file OSchemaObject.h.

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

## getSchemaObjTitle()

template<class SCHEMA >

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

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

Here is the caller graph for this function:

## getSchemaTitle()

template<class SCHEMA >

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

inlinestatic

Definition at line 74 of file OSchemaObject.h.

Referenced by Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::matches().

Here is the caller graph for this function:

## matches() [1/2]

template<class SCHEMA >

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

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

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::OSchemaObject< SCHEMA >::matches | ( | const AbcA::ObjectHeader & | iHeader,
|  | SchemaInterpMatching | iMatching = `kStrictMatching`
| ) |  |

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

Here is the call graph for this function:

## reset()

template<class SCHEMA >

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

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

Here is the call graph for this function:

## valid()

template<class SCHEMA >

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

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

Here is the call graph for this function:

## Member Data Documentation

## m_schema

template<class SCHEMA >

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

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 >::reset(), and Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::valid().

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

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