Loading...
Searching...
No Matches
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader Class Referenceabstract

`#include <ObjectReader.h>`

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

## Public Member Functions

virtual | ~ObjectReader ()
virtual const ObjectHeader & | getHeader () const =0
const std::string & | getName () const
const std::string & | getFullName () const
const MetaData & | getMetaData () const
virtual ArchiveReaderPtr | getArchive ()=0
virtual ObjectReaderPtr | getParent ()=0
virtual CompoundPropertyReaderPtr | getProperties ()=0
virtual size_t | getNumChildren ()=0
virtual const ObjectHeader & | getChildHeader (size_t i)=0
virtual const ObjectHeader * | getChildHeader (const std::string &iName)=0
virtual ObjectReaderPtr | getChild (const std::string &iName)=0
virtual ObjectReaderPtr | getChild (size_t i)=0
virtual bool | getPropertiesHash (Util::Digest &oDigest)
virtual bool | getChildrenHash (Util::Digest &oDigest)
virtual ObjectReaderPtr | asObjectPtr ()=0

## Detailed Description

An Object consists of a list of children objects, which may be empty, and a single compound property which is the root of any properties which the object may contain. Objects have MetaData, which is identical to the MetaData of the root Compound Property.

## Constructor & Destructor Documentation

## ~ObjectReader()

Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::~ObjectReader | ( |  | ) |

virtual

Virtual destructor ...

## Member Function Documentation

## asObjectPtr()

virtual ObjectReaderPtr Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::asObjectPtr | ( |  | ) |

pure virtual

Returns shared pointer to myself. This is non-virtual

Implemented in Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::OrImpl, Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl, and Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl.

## getArchive()

virtual ArchiveReaderPtr Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getArchive | ( |  | ) |

pure virtual

All objects have a shared link to the root. This may seem wasteful, but it is essential in order to allow for the flexible, reference-counted autonomy of the reader objects. Alembic allows you to keep references to readers wherever you want, without requiring you to keep track of (or store) the parental hierarchy directly. In order to make this possible, we have the ability to walk upwards. This may be stored as a direct link, or retrieved by walking up the parent chain, which is a feature of the individual implementations. (it might not be cheap, basically). In order to prevent shared_ptr cycles, it is important that objects only store their children via weak ptrs.

Implemented in Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::OrImpl, Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl, and Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl.

## getChild() [1/2]

virtual ObjectReaderPtr Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getChild | ( | const std::string & | iName | ) |

pure virtual

Get a child object by name. This is a convenience function that uses getChildHeader and the various named "get" functions here.

Implemented in Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::OrImpl, Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl, and Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl.

## getChild() [2/2]

virtual ObjectReaderPtr Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getChild | ( | size_t | i | ) |

pure virtual

Get a child object by index. It is an error to call with out-of-range indices. This is a convenience function that uses getChildHeader and the various named "get" functions here.

Implemented in Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::OrImpl, Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl, and Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl.

## getChildHeader() [1/2]

virtual const ObjectHeader * Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getChildHeader | ( | const std::string & | iName | ) |

pure virtual

Return the header of an object by name. This will return a NULL pointer if no header by that name is found.

Implemented in Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::OrImpl, Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl, and Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl.

## getChildHeader() [2/2]

virtual const ObjectHeader & Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getChildHeader | ( | size_t | i | ) |

pure virtual

Return the header of an object by index. This will throw an exception on out-of-range access.

Implemented in Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::OrImpl, Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl, and Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl.

## getChildrenHash()

bool Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getChildrenHash | ( | Util::Digest & | oDigest | ) |

virtual

If an aggregated child objects hash exists fill oDigest with it and return true, if it doesn't exist return false

Reimplemented in Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl, and Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl.

## getFullName()

const std::string & Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getFullName | ( |  | ) | const

inline

The full name of an object is the complete path name all the way to the root object of the archive. It is guaranteed to be fully unique within the entire archive. This is a convenience function which returns the header's full name.

## getHeader()

virtual const ObjectHeader & Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getHeader | ( |  | ) | const

pure virtual

All objects have a header, which contains all the MetaData that was specified upon their creation. This function returns a constant reference to that Header.

Implemented in Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::OrImpl, Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl, and Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl.

## getMetaData()

const MetaData & Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getMetaData | ( |  | ) | const

inline

All objects have metadata. This metadata is identical to the Metadata of the top level compoundProperty "properties". Because the metadata must exist and be initialized in order to bootstrap the object, it is guaranteed to exist and is returned by reference. This is a convenience function which returns the header's MetaData.

## getName()

const std::string & Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getName | ( |  | ) | const

inline

All objects have a name. This name is unique amongst their siblings Returned by reference, since it is guaranteed to exist and be unchanging. This is a convenience function which returns the header's name.

## getNumChildren()

virtual size_t Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getNumChildren | ( |  | ) |

pure virtual

Returns the number of objects that are contained as children. Objects do not have to have children, this may return zero.

Implemented in Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::OrImpl, Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl, and Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl.

## getParent()

virtual ObjectReaderPtr Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getParent | ( |  | ) |

pure virtual

All objects have a shared link to their parent. This may seem wasteful, but it is essential in order to allow for the flexible, reference-counted autonomy of the reader objects. Alembic allows you to keep references to readers wherever you want, without requiring you to keep track of (or store) the parental hierarchy directly. In order to make this possible, we have the ability to walk upwards. In order to prevent shared_ptr cycles, it is important that objects only store their children via weak ptrs.

Implemented in Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::OrImpl, Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl, and Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl.

## getProperties()

virtual CompoundPropertyReaderPtr Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getProperties | ( |  | ) |

pure virtual

All objects have one and only one compound property which is the root for any properties which are associated with this object. If no properties were written to the object, this may return an empty pointer.

Implemented in Alembic::AbcCoreHDF5::ALEMBIC_VERSION_NS::OrImpl, Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl, and Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl.

## getPropertiesHash()

bool Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader::getPropertiesHash | ( | Util::Digest & | oDigest | ) |

virtual

If an aggregated properties hash exists fill oDigest with it and return true, if it doesn't exist return false

Reimplemented in Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl, and Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl.

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

- AbcCoreAbstract/ObjectReader.h
- AbcCoreAbstract/ObjectReader.cpp