Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ScalarPropertyReader Class Referenceabstract

`#include <ScalarPropertyReader.h>`

Inheritance diagram for Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ScalarPropertyReader:
[legend]
Collaboration diagram for Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ScalarPropertyReader:
[legend]

## Public Member Functions

virtual | ~ScalarPropertyReader ()
virtual size_t | getNumSamples ()=0
virtual bool | isConstant ()=0
virtual void | getSample (index_t iSample, void *iIntoLocation)=0
virtual std::pair< index_t, chrono_t > | getFloorIndex (chrono_t iTime)=0
virtual std::pair< index_t, chrono_t > | getCeilIndex (chrono_t iTime)=0
virtual std::pair< index_t, chrono_t > | getNearIndex (chrono_t iTime)=0
Public Member Functions inherited from Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::BasePropertyReader
virtual | ~BasePropertyReader ()
virtual const PropertyHeader & | getHeader () const =0
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 ObjectReaderPtr | getObject ()=0
virtual CompoundPropertyReaderPtr | getParent ()=0
virtual ScalarPropertyReaderPtr | asScalarPtr ()
virtual ArrayPropertyReaderPtr | asArrayPtr ()
virtual CompoundPropertyReaderPtr | asCompoundPtr ()

## Detailed Description

A Scalar Property is a Rank 0 property which has a single value for each sample. This is distinguished from an Array Property, which has a variable number of elements per sample, and requires more sophisticated resource management.

Definition at line 53 of file ScalarPropertyReader.h.

## Constructor & Destructor Documentation

## ~ScalarPropertyReader()

virtual Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ScalarPropertyReader::~ScalarPropertyReader | ( |  | ) |

virtual

Virtual destructor ...

## Member Function Documentation

## getCeilIndex()

virtual std::pair< index_t, chrono_t > Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ScalarPropertyReader::getCeilIndex | ( | chrono_t | iTime | ) |

pure virtual

Find the smallest valid index that has a time greater than the given time. Invalid to call this with zero samples. If the maximum sample time is less than iTime, index numSamples-1 will be returned.

## getFloorIndex()

virtual std::pair< index_t, chrono_t > Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ScalarPropertyReader::getFloorIndex | ( | chrono_t | iTime | ) |

pure virtual

Find the largest valid index that has a time less than or equal to the given time. Invalid to call this with zero samples. If the minimum sample time is greater than iTime, index 0 will be returned.

## getNearIndex()

virtual std::pair< index_t, chrono_t > Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ScalarPropertyReader::getNearIndex | ( | chrono_t | iTime | ) |

pure virtual

Find the valid index with the closest time to the given time. Invalid to call this with zero samples.

## getNumSamples()

virtual size_t Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ScalarPropertyReader::getNumSamples | ( |  | ) |

pure virtual

Return the number of samples contained in the property. This can be any number, including zero. This returns the number of samples that were written, independently of whether or not they were constant. Implementations may (and should) choose to condense identical samples.

## getSample()

virtual void Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ScalarPropertyReader::getSample | ( | index_t | iSample,
|  | void * | iIntoLocation
| ) |  |

pure virtual

Returns the single sample value for the requested sample by reference. Out-of-range indices will cause an exception to be thrown. It will copy the scalar value directly into the memory location specified by iIntoLocation

In all cases EXCEPT String and Wstring, the DataType 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 ( void * )&std::string and ( void * )&std::wstring, respectively.

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.

## isConstant()

virtual bool Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ScalarPropertyReader::isConstant | ( |  | ) |

pure virtual

Ask if we're constant - no change in value amongst samples, regardless of the time sampling.

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

- opt/local/include/Alembic/AbcCoreAbstract/ScalarPropertyReader.h