Alembic Version 1.1
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 >:
Collaboration diagram for Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >:

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
ErrorHandlergetErrorHandler () 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)
Baseoperator= (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]

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.

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

◆ getSchemaObjTitle()

template<class SCHEMA>
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 OSchemaObject(), and Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< OCollectionsSchema >::matches().

Here is the caller graph for this function:

◆ getSchemaTitle()

template<class SCHEMA>
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< OCollectionsSchema >::matches().

Here is the caller graph for this function:

◆ matches() [1/2]

template<class SCHEMA>
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.

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

Here is the caller graph for this function:

◆ matches() [2/2]

template<class SCHEMA>
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.

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

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

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


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