HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GABC_NAMESPACE::GABC_OProperty Class Referenceabstract

#include <GABC_OProperty.h>

+ Inheritance diagram for GABC_NAMESPACE::GABC_OProperty:

Public Types

typedef
Alembic::Abc::OCompoundProperty 
OCompoundProperty
 
typedef
Alembic::Util::PlainOldDataType 
PlainOldDataType
 

Public Member Functions

virtual ~GABC_OProperty ()
 
virtual bool start (OCompoundProperty &parent, const char *name, const GT_DataArrayHandle &array, GABC_OError &err, const GABC_OOptions &options, const PlainOldDataType pod=Alembic::Abc::kUnknownPOD)=0
 
virtual bool update (const GT_DataArrayHandle &array, GABC_OError &err, const GABC_OOptions &options, const PlainOldDataType pod=Alembic::Abc::kUnknownPOD)=0
 Write GT_DataArray conents as samples to the property. More...
 
virtual bool updateFromPrevious ()=0
 Reuse the previous sample . More...
 
virtual exint getNumSamples () const =0
 Get number of samples written to property so far. More...
 

Protected Member Functions

 GABC_OProperty ()
 Can't have just a GABC_OProperty. More...
 

Protected Attributes

GT_DataArrayHandle myCache
 
GT_Size myTupleSize
 
GT_Storage myStorage
 
GT_Type myType
 
PlainOldDataType myPOD
 
voidmyBuffer
 

Detailed Description

Base class for exporting attribute and user property data from a GT_DataArray to Alembic.

The Alembic equivalent of attributes are Alembic arbitrary geometry parameters (arbGeomParams). In addition, Alembic geometry can have user properties which have no direct equivalent in Houdini. We store user properties as a JSON dictionary exposed to users through a special attribute (see: GABC_Util::theUserPropsValsAttrib).

User properties are stored using OScalarProperty and OArrayProperty objects, while arbGeomParams are stored using OGeomParam objects which contain an underlying OArrayProperty.

The children derived from this base class write data representing attributes and user properties from GT_DataArray objects to the appropriate type of OProperty.

Definition at line 60 of file GABC_OProperty.h.

Member Typedef Documentation

Constructor & Destructor Documentation

virtual GABC_NAMESPACE::GABC_OProperty::~GABC_OProperty ( )
inlinevirtual

Definition at line 66 of file GABC_OProperty.h.

GABC_NAMESPACE::GABC_OProperty::GABC_OProperty ( )
inlineprotected

Can't have just a GABC_OProperty.

Definition at line 93 of file GABC_OProperty.h.

Member Function Documentation

virtual exint GABC_NAMESPACE::GABC_OProperty::getNumSamples ( ) const
pure virtual

Get number of samples written to property so far.

Implemented in GABC_NAMESPACE::GABC_OArrayProperty, and GABC_NAMESPACE::GABC_OScalarProperty.

virtual bool GABC_NAMESPACE::GABC_OProperty::start ( OCompoundProperty parent,
const char *  name,
const GT_DataArrayHandle array,
GABC_OError err,
const GABC_OOptions options,
const PlainOldDataType  pod = Alembic::Abc::kUnknownPOD 
)
pure virtual

Creates the appropriate child object, based on the array's storage type, tuple size, and interpretation, and the Alembic POD (if provided)

Implemented in GABC_NAMESPACE::GABC_OArrayProperty, and GABC_NAMESPACE::GABC_OScalarProperty.

virtual bool GABC_NAMESPACE::GABC_OProperty::update ( const GT_DataArrayHandle array,
GABC_OError err,
const GABC_OOptions options,
const PlainOldDataType  pod = Alembic::Abc::kUnknownPOD 
)
pure virtual

Write GT_DataArray conents as samples to the property.

Implemented in GABC_NAMESPACE::GABC_OArrayProperty, and GABC_NAMESPACE::GABC_OScalarProperty.

virtual bool GABC_NAMESPACE::GABC_OProperty::updateFromPrevious ( )
pure virtual

Reuse the previous sample .

Implemented in GABC_NAMESPACE::GABC_OArrayProperty, and GABC_NAMESPACE::GABC_OScalarProperty.

Member Data Documentation

void* GABC_NAMESPACE::GABC_OProperty::myBuffer
protected

Definition at line 100 of file GABC_OProperty.h.

GT_DataArrayHandle GABC_NAMESPACE::GABC_OProperty::myCache
protected

Definition at line 95 of file GABC_OProperty.h.

PlainOldDataType GABC_NAMESPACE::GABC_OProperty::myPOD
protected

Definition at line 99 of file GABC_OProperty.h.

GT_Storage GABC_NAMESPACE::GABC_OProperty::myStorage
protected

Definition at line 97 of file GABC_OProperty.h.

GT_Size GABC_NAMESPACE::GABC_OProperty::myTupleSize
protected

Definition at line 96 of file GABC_OProperty.h.

GT_Type GABC_NAMESPACE::GABC_OProperty::myType
protected

Definition at line 98 of file GABC_OProperty.h.


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