Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA > Class Template Reference

#include <ISchemaObject.h>

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

Alembic::Abc::ALEMBIC_VERSION_NS::IObject Alembic::Abc::ALEMBIC_VERSION_NS::Base

List of all members.

Public Types

typedef SCHEMA schema_type
typedef ISchemaObject< SCHEMA > this_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())

Static Public Member Functions

static const std::stringgetSchemaObjTitle ()
static const std::stringgetSchemaTitle ()
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


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

By convention, we always define "this_type" in every Abc class. This convention is relied upon by the unspecified-bool-type conversion.

Reimplemented from Alembic::Abc::ALEMBIC_VERSION_NS::IObject.

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 125 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() 
) [inline]

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 192 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 227 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 >
const SCHEMA& Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchema (  )  const [inline]

Definition at line 154 of file ISchemaObject.h.

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

template<class SCHEMA >
static const std::string& Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchemaObjTitle (  )  [inline, static]

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 std::string& Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::getSchemaTitle (  )  [inline, static]

Definition at line 76 of file ISchemaObject.h.

template<class SCHEMA >
static bool Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::matches ( const AbcA::ObjectHeader iHeader,
SchemaInterpMatching  iMatching = kStrictMatching 
) [inline, static]

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

template<class SCHEMA >
static bool Alembic::Abc::ALEMBIC_VERSION_NS::ISchemaObject< SCHEMA >::matches ( const AbcA::MetaData iMetaData,
SchemaInterpMatching  iMatching = kStrictMatching 
) [inline, static]

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

Reimplemented from Alembic::Abc::ALEMBIC_VERSION_NS::IObject.

Definition at line 158 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.

Reimplemented from Alembic::Abc::ALEMBIC_VERSION_NS::IObject.

Definition at line 162 of file ISchemaObject.h.


Member Data Documentation

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

Definition at line 172 of file ISchemaObject.h.


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

Generated on Mon Jan 28 00:49:21 2013 for HDK by  doxygen 1.5.9