HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample Class Reference

#include <ArraySample.h>

+ Inheritance diagram for Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample:

Public Types

typedef ArraySample this_type
 
typedef ArraySampleKey Key
 
typedef Key key_type
 

Public Member Functions

 ArraySample ()
 
 ArraySample (const void *iData, const DataType &iDataType, const Dimensions &iDims)
 
const voidgetData () const
 
const DataTypegetDataType () const
 
const Dimensions & getDimensions () const
 
size_t size () const
 
Key getKey () const
 
bool valid () const
 
void reset ()
 

Detailed Description

The ArraySample class is a reference to a block of memory corresponding to an array of instances of DataTypes. The array may be multi-rank, with different sizes in each dimension, but with its data ultimately stored contiguously. The class is basically just a bundle of a memory address, stored as a void*, a DataType, and a Dimension.

The ArraySample itself does not pretend to own the data referred to memory address "data". It is just a reference. For data retention mgmt, see the note on ArraySamplePtr below.

Definition at line 59 of file ArraySample.h.

Member Typedef Documentation

Constructor & Destructor Documentation

Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample::ArraySample ( )
inline

Default constructor creates NULL bytes with degenerate dimensions. ...

Definition at line 68 of file ArraySample.h.

Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample::ArraySample ( const void iData,
const DataType iDataType,
const Dimensions &  iDims 
)
inline

Explicit constructor takes bytes and dims by reference and creates its own reference to them.

Definition at line 75 of file ArraySample.h.

Member Function Documentation

const void* Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample::getData ( ) const
inline

Using Default Copy Constructor Using Default Assignment Operator Return the data as a raw pointer ...

Definition at line 87 of file ArraySample.h.

const DataType& Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample::getDataType ( ) const
inline

Return the datatype. ...

Definition at line 91 of file ArraySample.h.

const Dimensions& Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample::getDimensions ( ) const
inline

Return the dimensions ...

Definition at line 95 of file ArraySample.h.

Key Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample::getKey ( ) const

Compute the Key. This is a calculation.

void Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample::reset ( )
inline

Reset the array sample to an empty, invalid state. Basically the same as calling *this = ArraySample();

Definition at line 119 of file ArraySample.h.

size_t Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample::size ( ) const
inline

Return the "size", which is getDimensions().numPoints() ...

Definition at line 99 of file ArraySample.h.

bool Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample::valid ( ) const
inline

Return if it is valid. An empty ArraySample is valid. however, an ArraySample that is empty and has a scalar dimension is invalid. This is how we discriminate between setting a sample of length zero (useful in particle systems) vs. indicating an invalid sample (NULL).

Definition at line 111 of file ArraySample.h.


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