Alembic 1.8.11
Loading...
Searching...
No Matches
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample Class Reference

#include <ArraySample.h>

Inheritance diagram for Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample:
Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< BooleanTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Uint8TPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Int8TPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Uint16TPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Int16TPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Uint32TPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Int32TPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Uint64TPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Int64TPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Float16TPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Float32TPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Float64TPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< StringTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< WstringTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< V2sTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< V2iTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< V2fTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< V2dTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< V3sTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< V3iTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< V3fTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< V3dTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< P2sTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< P2iTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< P2fTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< P2dTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< P3sTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< P3iTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< P3fTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< P3dTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Box2sTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Box2iTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Box2fTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Box2dTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Box3sTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Box3iTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Box3fTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< Box3dTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< M33fTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< M33dTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< M44fTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< M44dTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< QuatfTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< QuatdTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< C3hTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< C3fTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< C3cTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< C4hTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< C4fTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< C4cTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< N2fTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< N2dTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< N3fTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< N3dTPTraits > Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample< TRAITS >

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 void * getData () 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.

Constructor & Destructor Documentation

◆ ArraySample() [1/2]

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

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

◆ ArraySample() [2/2]

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.

Member Function Documentation

◆ getData()

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

◆ getDataType()

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

Return the datatype. ...

◆ getDimensions()

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

Return the dimensions ...

◆ getKey()

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

Compute the Key. This is a calculation.

◆ reset()

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

◆ size()

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

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

◆ valid()

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


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