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::ObjectHeadergetHeader () const
 
const std::string & getName () const
 
const std::string & getFullName () const
 
const AbcA::MetaDatagetMetaData () const
 
IArchive getArchive () const
 
IObject getParent () const
 
size_t getNumChildren () const
 
const AbcA::ObjectHeadergetChildHeader (size_t i) const
 
const AbcA::ObjectHeadergetChildHeader (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]

◆ ISchemaObject() [3/4]

◆ ISchemaObject() [4/4]

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

◆ getSchemaObjTitle()

template<class SCHEMA >
static 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< SCHEMA >::ISchemaObject(), 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 ( )
inlinestatic

◆ matches() [1/2]

◆ matches() [2/2]

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

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


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