Alembic Version 1.1
Loading...
Searching...
No Matches
Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA > Class Template Reference

#include <ISchemaObject.h>

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

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.
 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
 -************************************************************************
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.
AbcA::ObjectReaderPtr getPtr () const
void reset ()
 Reset returns this function set to an empty, default state.
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
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

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

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

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

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.

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

◆ getSchemaObjTitle()

template<class SCHEMA>
std::string Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< 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 70 of file ISchemaObject.h.

Referenced by Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< ICollectionsSchema >::matches().

Here is the caller graph for this function:

◆ getSchemaTitle()

template<class SCHEMA>
const char * Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchemaTitle ( )
inlinestatic

Definition at line 76 of file ISchemaObject.h.

Referenced by Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< ICollectionsSchema >::matches().

Here is the caller graph for this function:

◆ matches() [1/2]

template<class SCHEMA>
bool Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::matches ( const AbcA::MetaData & iMetaData,
SchemaInterpMatching iMatching = kStrictMatching )
inlinestatic

◆ matches() [2/2]

template<class SCHEMA>
bool Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< 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 111 of file ISchemaObject.h.

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

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

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.


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