Alembic: Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::AprImpl Class Reference

Alembic 1.8.11

Loading...
Searching...
No Matches
Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::AprImpl Class Reference
Inheritance diagram for Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::AprImpl:

## Public Member Functions
| AprImpl (AbcA::CompoundPropertyReaderPtr iParent, H5Node &iParentGroup, PropertyHeaderPtr iHeader, bool iIsScalarLike, uint32_t iNumSamples, uint32_t iFirstChangedIndex, uint32_t iLastChangedIndex)
virtual AbcA::ArrayPropertyReaderPtr | asArrayPtr ()
virtual bool | isScalarLike ()
virtual void | getDimensions (index_t iSampleIndex, Dimensions &oDim)
virtual void | getAs (index_t iSample, void *iIntoLocation, PlainOldDataType iPod)
Public Member Functions inherited from Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::SimplePrImpl< AbcA::ArrayPropertyReader, AprImpl, AbcA::ArraySamplePtr & >
virtual const AbcA::PropertyHeader & | getHeader () const
virtual AbcA::ObjectReaderPtr | getObject ()
virtual AbcA::CompoundPropertyReaderPtr | getParent ()
virtual size_t | getNumSamples ()
virtual bool | isConstant ()
virtual void | getSample (index_t iSampleIndex, AbcA::ArraySamplePtr &oSample)
virtual std::pair< index_t, chrono_t > | getFloorIndex (chrono_t iTime)
virtual std::pair< index_t, chrono_t > | getCeilIndex (chrono_t iTime)
virtual std::pair< index_t, chrono_t > | getNearIndex (chrono_t iTime)
virtual bool | getKey (index_t iSampleIndex, AbcA::ArraySampleKey &oKey)
Public Member Functions inherited from Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArrayPropertyReader
virtual | ~ArrayPropertyReader ()
virtual void | getSample (index_t iSampleIndex, ArraySamplePtr &oSample)=0
virtual bool | getKey (index_t iSampleIndex, ArraySampleKey &oKey)=0
| Expose the key for apps that use their own custom cache management.
Public Member Functions inherited from Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::BasePropertyReader
virtual | ~BasePropertyReader ()
const std::string & | getName () const
PropertyType | getPropertyType () const
bool | isScalar () const
bool | isArray () const
bool | isCompound () const
bool | isSimple () const
const MetaData & | getMetaData () const
const DataType & | getDataType () const
TimeSamplingPtr | getTimeSampling () const
virtual ScalarPropertyReaderPtr | asScalarPtr ()
virtual CompoundPropertyReaderPtr | asCompoundPtr ()

## Protected Member Functions
void | readSample (hid_t iGroup, const std::string &iSampleName, index_t iSampleIndex, AbcA::ArraySamplePtr &oSamplePtr)
bool | readKey (hid_t iGroup, const std::string &iSampleName, AbcA::ArraySampleKey &oSamplePtr)
Protected Member Functions inherited from Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::SimplePrImpl< AbcA::ArrayPropertyReader, AprImpl, AbcA::ArraySamplePtr & >
| SimplePrImpl (AbcA::CompoundPropertyReaderPtr iParent, H5Node &iParentGroup, PropertyHeaderPtr iHeader, uint32_t iNumSamples, uint32_t iFirstChangedIndex, uint32_t iLastChangedIndex)
index_t | verifySampleIndex (index_t iSampleIndex)
void | checkSamplesIGroup ()

## Friends
class | SimplePrImpl< AbcA::ArrayPropertyReader, AprImpl, AbcA::ArraySamplePtr & >

## Additional Inherited Members
Protected Attributes inherited from Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::SimplePrImpl< AbcA::ArrayPropertyReader, AprImpl, AbcA::ArraySamplePtr & >
AbcA::CompoundPropertyReaderPtr | m_parent
H5Node | m_parentGroup
PropertyHeaderPtr | m_header
hid_t | m_fileDataType
bool | m_cleanFileDataType
hid_t | m_nativeDataType
bool | m_cleanNativeDataType
uint32_t | m_numSamples
uint32_t | m_firstChangedIndex
uint32_t | m_lastChangedIndex
H5Node | m_samplesIGroup
Alembic::Util::mutex | m_samplesIGroupMutex

## Member Function Documentation

## ◆ asArrayPtr()

AbcA::ArrayPropertyReaderPtr Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::AprImpl::asArrayPtr | ( |  | ) |
| virtual

Up-cast this base property to an ArrayProperty, if such an upcast is valid. This can be checked with the isArray() function. If the upcast is not valid, an empty pointer will be returned. This default implementation returns an empty pointer.

Reimplemented from Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::BasePropertyReader.

## ◆ getAs()

void Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::AprImpl::getAs | ( | index_t | iSample,
|  | void * | iIntoLocation,
|  | PlainOldDataType | iPod )
| virtual

Reads the data for the requested sample into the memory location specified by iIntoLocation as the requested POD type specified by iPod. Out-of-range indices, or incompatible POD types will cause an exception to be thrown.

Incompatible POD types include trying to read a std::string, std::wstring, or float16_t as anything OTHER than itself.

In all cases EXCEPT String and Wstring, the iPod type and the total number of items from getDimensions for this property can be used to determine the size of the memory buffer which iIntoLocation must point to. In the case of String and Wstring, iIntoLocation should be an array of std::string or std::wstring.

This is one of the only places where we break from POD types at the base, and we're making an explicit decision to use std::string and std::wstring as core language-level primitives.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArrayPropertyReader.

## ◆ getDimensions()

void Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::AprImpl::getDimensions | ( | index_t | iSampleIndex,
|  | Dimensions & | oDim )
| virtual

The ArraySample may have incorrect dimensions, (even though the packed data will be correct) expose the correct dimensions here for those clients that need it.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArrayPropertyReader.

## ◆ isScalarLike()

bool Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::AprImpl::isScalarLike | ( |  | ) |
| virtual

A hint about whether this property has 1 and only 1 DataType for each of it's samples. Array Properties with no samples written to it are still considered scalar like.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArrayPropertyReader.

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

- AbcCoreHDF5/AprImpl.h
- AbcCoreHDF5/AprImpl.cpp