HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA > Class Template Reference

#include <ISchemaObject.h>

+ Inheritance 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 ()
 
template<class OBJECT_PTR >
 ISchemaObject (OBJECT_PTR iParentObject, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
 
template<class OBJECT_PTR >
 ISchemaObject (OBJECT_PTR iThisObject, 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 ()
 
template<class OBJECT_PTR >
 IObject (OBJECT_PTR iParentObject, const std::string &iName, const Argument &iArg0=Argument())
 
template<class OBJECT_PTR >
 IObject (OBJECT_PTR iPtr, WrapExistingFlag, const Argument &iArg0=Argument())
 
template<class ARCHIVE_PTR >
 IObject (ARCHIVE_PTR iPtr, TopFlag iFlag, const Argument &iArg0=Argument())
 
virtual ~IObject ()
 
const AbcA::ObjectHeadergetHeader () const
 
const std::stringgetName () const
 
const std::stringgetFullName () 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
 -************************************************************************ More...
 
bool isInstanceDescendant () const
 
std::string instanceSourcePath ()
 
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. More...
 
AbcA::ObjectReaderPtr getPtr () const
 
void reset ()
 Reset returns this function set to an empty, default state. More...
 
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 54 of file ISchemaObject.h.

Member Typedef Documentation

template<class SCHEMA >
typedef SCHEMA Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::schema_type

Definition at line 60 of file ISchemaObject.h.

template<class SCHEMA >
typedef ISchemaObject<SCHEMA> Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::this_type

Definition at line 61 of file ISchemaObject.h.

Constructor & Destructor Documentation

template<class SCHEMA >
Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::ISchemaObject ( )
inline

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

Definition at line 123 of file ISchemaObject.h.

template<class SCHEMA >
template<class OBJECT_PTR >
Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::ISchemaObject ( OBJECT_PTR  iParentObject,
const std::string iName,
const Argument iArg0 = Argument(),
const Argument iArg1 = Argument() 
)

The primary constructor creates an ISchemaObject as a child of the first argument, which is any Abc or AbcCoreAbstract (or other) object which can be intrusively cast to an ObjectReaderPtr.

Definition at line 190 of file ISchemaObject.h.

template<class SCHEMA >
template<class OBJECT_PTR >
Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::ISchemaObject ( OBJECT_PTR  iThisObject,
WrapExistingFlag  iFlag,
const Argument iArg0 = Argument(),
const Argument iArg1 = Argument() 
)
inline

Wrap an existing schema object. ...

Definition at line 225 of file ISchemaObject.h.

Member Function Documentation

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.

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 151 of file ISchemaObject.h.

template<class SCHEMA >
const SCHEMA& Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchema ( ) const
inline

Definition at line 152 of file ISchemaObject.h.

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 69 of file ISchemaObject.h.

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

Definition at line 75 of file ISchemaObject.h.

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

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 110 of file ISchemaObject.h.

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 156 of file ISchemaObject.h.

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 160 of file ISchemaObject.h.

Member Data Documentation

template<class SCHEMA >
SCHEMA Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::m_schema
protected

Definition at line 170 of file ISchemaObject.h.


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