Alembic Version 1.1

Loading...
Searching...
No Matches
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType Class Reference

`#include <TimeSamplingType.h>`

## Public Types
enum | AcyclicFlag { kAcyclic }

## Public Member Functions
| TimeSamplingType ()
| Uniform default.
| TimeSamplingType (chrono_t iTimePerCycle)
| TimeSamplingType (uint32_t iNumSamplesPerCycle, chrono_t iTimePerCycle)
| TimeSamplingType (AcyclicFlag)
bool | operator== (const TimeSamplingType &iRhs) const
bool | isUniform () const
bool | isCyclic () const
bool | isAcyclic () const
uint32_t | getNumSamplesPerCycle () const
chrono_t | getTimePerCycle () const

## Static Public Member Functions
static uint32_t | AcyclicNumSamples ()
static chrono_t | AcyclicTimePerCycle ()

## Friends
ALEMBIC_EXPORT friend std::ostream & | operator<< (std::ostream &ostr, const TimeSamplingType &tst)

## Detailed Description

The TimeSamplingType class controls how properties in Alembic relate time values to their sample indices.

The default behavior is where there is a time value associated with sample zero, and a uniform time amount between each subsequent sample. This is called "Uniform" time sampling, and would correspond to sampling every frame at 1/24 per second, or similar.

The second behavior is where there is a period of time over which a fixed number of samples are distributed unevenly - imagine a render scene sampled across a shutter period at shutter-begin-open, shutter-full-open, shutter-begin-close, shutter-full-close. This is (perhaps confusingly) called "Cyclic" time sampling.

The final behavior is where the time samples are totally uneven. We make a restriction that they must be strictly increasing, as the indices are increasing. This is so we can bisection search to find the lower or upper bounds when searching for floor, ceiling, or nearest samples by comparing time. This is called "Acyclic" time sampling.

Definition at line 68 of file TimeSamplingType.h.

## Member Enumeration Documentation

## ◆ AcyclicFlag

enum Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType::AcyclicFlag

ACYCLIC This enum exists solely as a way of distinguishing between the argument-less static time sampling, and the argument-less acyclic time sampling.

Enumerator
kAcyclic |

Definition at line 123 of file TimeSamplingType.h.

## Constructor & Destructor Documentation

## ◆ TimeSamplingType() [1/4]

Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType::TimeSamplingType | ( |  | ) |
| inline

Uniform default.

Definition at line 77 of file TimeSamplingType.h.

Referenced by operator<<, and operator==().

Here is the caller graph for this function:

## ◆ TimeSamplingType() [2/4]

Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType::TimeSamplingType | ( | chrono_t | iTimePerCycle | ) |
| inline explicit

UNIFORM ...

Definition at line 83 of file TimeSamplingType.h.

References ABCA_ASSERT, and AcyclicTimePerCycle().

Here is the call graph for this function:

## ◆ TimeSamplingType() [3/4]

Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType::TimeSamplingType | ( | uint32_t | iNumSamplesPerCycle,
|  | chrono_t | iTimePerCycle )
| inline

CYCLIC ...

Definition at line 95 of file TimeSamplingType.h.

References ABCA_ASSERT, AcyclicNumSamples(), and AcyclicTimePerCycle().

Here is the call graph for this function:

## ◆ TimeSamplingType() [4/4]

Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType::TimeSamplingType | ( | AcyclicFlag |  | ) |
| inline explicit

Definition at line 124 of file TimeSamplingType.h.

References AcyclicNumSamples(), and AcyclicTimePerCycle().

Here is the call graph for this function:

## Member Function Documentation

## ◆ AcyclicNumSamples()

uint32_t Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType::AcyclicNumSamples | ( |  | ) |
| static

Referenced by TimeSamplingType(), TimeSamplingType(), isAcyclic(), and isCyclic().

Here is the caller graph for this function:

## ◆ AcyclicTimePerCycle()

chrono_t Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType::AcyclicTimePerCycle | ( |  | ) |
| static

Referenced by TimeSamplingType(), TimeSamplingType(), and TimeSamplingType().

Here is the caller graph for this function:

## ◆ getNumSamplesPerCycle()

uint32_t Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType::getNumSamplesPerCycle | ( |  | ) | const
| inline

Definition at line 148 of file TimeSamplingType.h.

## ◆ getTimePerCycle()

chrono_t Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType::getTimePerCycle | ( |  | ) | const
| inline

Definition at line 150 of file TimeSamplingType.h.

## ◆ isAcyclic()

bool Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType::isAcyclic | ( |  | ) | const
| inline

Definition at line 145 of file TimeSamplingType.h.

References AcyclicNumSamples().

Here is the call graph for this function:

## ◆ isCyclic()

bool Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType::isCyclic | ( |  | ) | const
| inline

Definition at line 140 of file TimeSamplingType.h.

References AcyclicNumSamples().

Here is the call graph for this function:

## ◆ isUniform()

bool Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType::isUniform | ( |  | ) | const
| inline

Asks if the sampling is: Uniform (1 sample per cycle) Cyclic (N>1 samples per cycle) Acyclic (INF samples per cycle - acyclic!)

Definition at line 139 of file TimeSamplingType.h.

## ◆ operator==()

bool Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingType::operator== | ( | const TimeSamplingType & | iRhs | ) | const

Using Default Copy Constructor Using Default Assignment Operator

References TimeSamplingType().

Here is the call graph for this function:

## Friends And Related Symbol Documentation

## ◆ operator<<

ALEMBIC_EXPORT friend std::ostream & operator<< | ( | std::ostream & | ostr,
|  | const TimeSamplingType & | tst )
| friend

References TimeSamplingType(), ALEMBIC_EXPORT, and operator<<.

Referenced by operator<<.

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

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