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

#include <OSchemaObject.h>

+ Inheritance 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 ()
 
template<class OBJECT_PTR >
 OSchemaObject (OBJECT_PTR iParentObject, 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 ()
 
template<class OBJECT_PTR >
 OObject (OBJECT_PTR iParentObject, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument())
 
template<class OBJECT_PTR >
 OObject (OBJECT_PTR iPtr, WrapExistingFlag, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument())
 
template<class ARCHIVE_PTR >
 OObject (ARCHIVE_PTR iPtr, TopFlag, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument())
 
virtual ~OObject ()
 
const AbcA::ObjectHeadergetHeader () const
 
const std::stringgetName () const
 
const std::stringgetFullName () const
 
const AbcA::MetaDatagetMetaData () const
 
OArchive getArchive ()
 
OObject getParent ()
 
size_t getNumChildren ()
 
const AbcA::ObjectHeadergetChildHeader (size_t i)
 
const AbcA::ObjectHeadergetChildHeader (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)
 -************************************************************************ More...
 
AbcA::ObjectWriterPtr getPtr ()
 
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

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

Definition at line 59 of file OSchemaObject.h.

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

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.

template<class SCHEMA >
template<class OBJECT_PTR >
Alembic::Abc::ALEMBIC_VERSION_NS::OSchemaObject< SCHEMA >::OSchemaObject ( OBJECT_PTR  iParentObject,
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.

Definition at line 169 of file OSchemaObject.h.

Member Function Documentation

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.

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 139 of file OSchemaObject.h.

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

Definition at line 140 of file OSchemaObject.h.

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

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

Definition at line 74 of file OSchemaObject.h.

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

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

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 144 of file OSchemaObject.h.

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 148 of file OSchemaObject.h.

Member Data Documentation

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

Definition at line 158 of file OSchemaObject.h.


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