Alembic Version 1.1

Namespaces | Classes | Typedefs | Enumerations | Functions
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS Namespace Reference

## Namespaces
namespace | IllustrationOnly

## Classes
class | ArchiveReader
class | ArchiveWriter
class | ArrayPropertyReader
class | ArrayPropertyWriter
class | ArraySample
struct | ArraySampleKey
struct | ArraySampleKeyEqualTo
struct | ArraySampleKeyStdHash
class | BasePropertyReader
| Base Property Reader. More...
class | BasePropertyWriter
class | CompoundPropertyReader
class | CompoundPropertyWriter
class | DataType
class | MetaData
class | ObjectHeader
class | ObjectReader
class | ObjectWriter
class | PropertyHeader
class | ReadArraySampleCache
class | ReadArraySampleID
class | ScalarPropertyReader
class | ScalarPropertyWriter
class | ScalarSample
struct | TArrayDeleter
class | TimeSampling
class | TimeSamplingType
struct | UnorderedMapUtil

## Typedefs
typedef Alembic::Util::shared_ptr< ArraySample > | ArraySamplePtr
typedef Alembic::Util::shared_ptr< ArchiveWriter > | ArchiveWriterPtr
| Smart Ptrs to Writers. More...
typedef Alembic::Util::shared_ptr< ObjectWriter > | ObjectWriterPtr
typedef Alembic::Util::shared_ptr< CompoundPropertyWriter > | CompoundPropertyWriterPtr
typedef Alembic::Util::shared_ptr< ArrayPropertyWriter > | ArrayPropertyWriterPtr
typedef Alembic::Util::shared_ptr< ScalarPropertyWriter > | ScalarPropertyWriterPtr
typedef Alembic::Util::shared_ptr< BasePropertyWriter > | BasePropertyWriterPtr
typedef Alembic::Util::shared_ptr< ArchiveReader > | ArchiveReaderPtr
| Smart Ptrs to Readers. More...
typedef Alembic::Util::shared_ptr< ObjectReader > | ObjectReaderPtr
typedef Alembic::Util::shared_ptr< CompoundPropertyReader > | CompoundPropertyReaderPtr
typedef Alembic::Util::shared_ptr< ArrayPropertyReader > | ArrayPropertyReaderPtr
typedef Alembic::Util::shared_ptr< ScalarPropertyReader > | ScalarPropertyReaderPtr
typedef Alembic::Util::shared_ptr< BasePropertyReader > | BasePropertyReaderPtr
typedef int64_t | index_t
typedef float64_t | chrono_t
typedef Alembic::Util::shared_ptr< ReadArraySampleCache > | ReadArraySampleCachePtr
typedef Alembic::Util::shared_ptr< TimeSampling > | TimeSamplingPtr

## Enumerations
enum | PropertyType { kCompoundProperty = 0 , kScalarProperty = 1 , kArrayProperty = 2 }

## Functions
ALEMBIC_EXPORT ArraySamplePtr | AllocateArraySample (const DataType &iDtype, const Dimensions &iDims)
template<class T >
ArraySamplePtr | TAllocateArraySample (size_t iDataTypeExtent, const Dimensions &iDims)
size_t | StdHash (ArraySampleKey const &a)
std::ostream & | operator<< (std::ostream &ostr, const DataType &a)
ALEMBIC_EXPORT std::string | GetLibraryVersion ()
ALEMBIC_EXPORT std::string | GetLibraryVersionShort ()

## Typedef Documentation

## ◆ ArchiveReaderPtr

typedef Alembic::Util::shared_ptr<ArchiveReader> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArchiveReaderPtr

Smart Ptrs to Readers.

Definition at line 90 of file ForwardDeclarations.h.

## ◆ ArchiveWriterPtr

typedef Alembic::Util::shared_ptr<ArchiveWriter> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArchiveWriterPtr

Smart Ptrs to Writers.

Definition at line 81 of file ForwardDeclarations.h.

## ◆ ArrayPropertyReaderPtr

typedef Alembic::Util::shared_ptr<ArrayPropertyReader> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArrayPropertyReaderPtr

Definition at line 93 of file ForwardDeclarations.h.

## ◆ ArrayPropertyWriterPtr

typedef Alembic::Util::shared_ptr<ArrayPropertyWriter> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArrayPropertyWriterPtr

Definition at line 84 of file ForwardDeclarations.h.

## ◆ ArraySamplePtr

typedef Alembic::Util::shared_ptr< ArraySample > Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySamplePtr

The ArraySamplePtr can be used not only to share this ArraySample, but also to manage the data referred to by the memory address in the pointer, by way of a custom deleter. In this manner, ArraySample and ArraySamplePtr can be used both as a reference to data and as an explicit ownership of data. This greatly reduces the redundancy of this library's code.

Smart Ptrs to Helper types. The Ptr suffix in Alembic ALWAYS refers to a shared_ptr of whatever class name precedes the Ptr suffix.

Definition at line 138 of file ArraySample.h.

## ◆ BasePropertyReaderPtr

typedef Alembic::Util::shared_ptr<BasePropertyReader> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::BasePropertyReaderPtr

Definition at line 95 of file ForwardDeclarations.h.

## ◆ BasePropertyWriterPtr

typedef Alembic::Util::shared_ptr<BasePropertyWriter> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::BasePropertyWriterPtr

Definition at line 86 of file ForwardDeclarations.h.

## ◆ chrono_t

typedef float64_t Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::chrono_t

Chrono type. This is used whenever time values are needed in the library. They are generally assumed to be seconds, but this does not need to be explicitly enforced by the API.

Definition at line 71 of file Foundation.h.

## ◆ CompoundPropertyReaderPtr

typedef Alembic::Util::shared_ptr<CompoundPropertyReader> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::CompoundPropertyReaderPtr

Definition at line 92 of file ForwardDeclarations.h.

## ◆ CompoundPropertyWriterPtr

typedef Alembic::Util::shared_ptr<CompoundPropertyWriter> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::CompoundPropertyWriterPtr

Definition at line 83 of file ForwardDeclarations.h.

## ◆ index_t

typedef int64_t Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::index_t

Index type Just being pedantic.

Definition at line 62 of file Foundation.h.

## ◆ ObjectReaderPtr

typedef Alembic::Util::shared_ptr<ObjectReader> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReaderPtr

Definition at line 91 of file ForwardDeclarations.h.

## ◆ ObjectWriterPtr

typedef Alembic::Util::shared_ptr<ObjectWriter> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectWriterPtr

Definition at line 82 of file ForwardDeclarations.h.

## ◆ ReadArraySampleCachePtr

typedef Alembic::Util::shared_ptr<ReadArraySampleCache> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ReadArraySampleCachePtr

Definition at line 138 of file ReadArraySampleCache.h.

## ◆ ScalarPropertyReaderPtr

typedef Alembic::Util::shared_ptr<ScalarPropertyReader> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ScalarPropertyReaderPtr

Definition at line 94 of file ForwardDeclarations.h.

## ◆ ScalarPropertyWriterPtr

typedef Alembic::Util::shared_ptr<ScalarPropertyWriter> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ScalarPropertyWriterPtr

Definition at line 85 of file ForwardDeclarations.h.

## ◆ TimeSamplingPtr

typedef Alembic::Util::shared_ptr<TimeSampling> Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingPtr

Definition at line 137 of file TimeSampling.h.

## Enumeration Type Documentation

## ◆ PropertyType

enum Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::PropertyType

In Alembic, Objects may have three distinct types of abstract properties. Any fancy type-specific properties are ultimately and instance of one of these three types of properties, identified here by an enum. "Simple" properties are simply "non-compound" properties - the SimpleProperty classes are simply common base classes for Scalar and Array Properties.

Enumerator
kCompoundProperty | Compound Properties are groups of other properties, with their own unique name and set of MetaData. All objects have a single root compound property as the base of their property description.
kScalarProperty | Scalar Properties represent Rank-0 properties, which contain a single element value for any given time sample.
kArrayProperty | Array Properties represent Rank-N properties, which contain an array of values for any given time sample. Array properties may have any rank of 1 or higher, but will most often be ranks 1, 2, 3.

Definition at line 56 of file PropertyHeader.h.

## Function Documentation

## ◆ AllocateArraySample()

ALEMBIC_EXPORT ArraySamplePtr Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::AllocateArraySample | ( | const DataType & | iDtype,
|  | const Dimensions & | iDims
| ) |  |

When creating an actual buffer for reading an array sample into, we need to allocate an array of some number of bytes, and then delete it with a special deleter. This function will return an array sample that is managed in this way. Dimensions tells us how many instances of the DataType to create DataType tells us what the instance is - and this works for pretty much every case, including std::string and std::wstring.

## ◆ GetLibraryVersion()

ALEMBIC_EXPORT std::string Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::GetLibraryVersion | ( |  | ) |

Helper function which returns the version and date built in a string e.g. "Alembic 1.0.0 (built Jul 6 2011)"

## ◆ GetLibraryVersionShort()

ALEMBIC_EXPORT std::string Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::GetLibraryVersionShort | ( |  | ) |

Returns just the version number, as a string, of the Alembic library. e.g. "1.0.0"

## ◆ operator<<()

std::ostream & Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::operator<< | ( | std::ostream & | ostr,
|  | const DataType & | a
| ) |  |
| inline

Outputs DataType to a std::ostream Makes use of PlainOldDataType's string conversion functions

Definition at line 133 of file DataType.h.

References Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::DataType::getExtent(), Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::DataType::getPod(), and Alembic::Util::ALEMBIC_VERSION_NS::PODName().

Here is the call graph for this function:

## ◆ StdHash()

size_t Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::StdHash | ( | ArraySampleKey const & | a | ) |
| inline

Definition at line 101 of file ArraySampleKey.h.

References Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySampleKey::digest.

Referenced by Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySampleKeyStdHash::operator()().

Here is the caller graph for this function:

## ◆ TAllocateArraySample()

template<class T >

ArraySamplePtr Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TAllocateArraySample | ( | size_t | iDataTypeExtent,
|  | const Dimensions & | iDims
| ) |  |

Definition at line 181 of file ArraySample.h.