Alembic 1.8.11

Loading...
Searching...
No Matches
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)
| -************************************************************************
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 (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

## 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. ...

## ◆ 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.

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

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.

## ◆ getSchemaObjTitle()

template<class SCHEMA>

std::string Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< 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.

## ◆ matches() [1/2]

template<class SCHEMA>

bool Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< 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

## ◆ matches() [2/2]

template<class SCHEMA>

bool Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< 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.

## ◆ reset()

template<class SCHEMA>

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

Reset returns this function set to an empty, default state.

## ◆ valid()

template<class SCHEMA>

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

Valid returns whether this function set is valid.

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

- Abc/OSchemaObject.h