HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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

 GABC_OProperty (GABC_LayerOptions::LayerType ltype)
 
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...
 
bool compatibleStorage (GT_Storage storage)
 Returns true if storage only differs by precision. More...
 

Protected Attributes

GT_DataArrayHandle myCache
 
GT_Size myTupleSize
 
GT_Storage myStorage
 
GT_Type myType
 
PlainOldDataType myPOD
 
voidmyBuffer
 
GABC_LayerOptions::LayerType myLayerType
 

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

GABC_NAMESPACE::GABC_OProperty::GABC_OProperty ( GABC_LayerOptions::LayerType  ltype)
inline

Definition at line 66 of file GABC_OProperty.h.

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

Definition at line 68 of file GABC_OProperty.h.

Member Function Documentation

bool GABC_NAMESPACE::GABC_OProperty::compatibleStorage ( GT_Storage  storage)
inline

Returns true if storage only differs by precision.

Definition at line 94 of file GABC_OProperty.h.

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 111 of file GABC_OProperty.h.

GT_DataArrayHandle GABC_NAMESPACE::GABC_OProperty::myCache
protected

Definition at line 106 of file GABC_OProperty.h.

GABC_LayerOptions::LayerType GABC_NAMESPACE::GABC_OProperty::myLayerType
protected

Definition at line 112 of file GABC_OProperty.h.

PlainOldDataType GABC_NAMESPACE::GABC_OProperty::myPOD
protected

Definition at line 110 of file GABC_OProperty.h.

GT_Storage GABC_NAMESPACE::GABC_OProperty::myStorage
protected

Definition at line 108 of file GABC_OProperty.h.

GT_Size GABC_NAMESPACE::GABC_OProperty::myTupleSize
protected

Definition at line 107 of file GABC_OProperty.h.

GT_Type GABC_NAMESPACE::GABC_OProperty::myType
protected

Definition at line 109 of file GABC_OProperty.h.


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