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

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 

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

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

Return the datatype. ...

Definition at line 91 of file ArraySample.h.

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

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 ( )

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

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

Definition at line 99 of file ArraySample.h.

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

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: