Loading...
Searching...
No Matches
Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl Class Reference
Inheritance diagram for Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl:
[legend]
Collaboration diagram for Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl:
[legend]

## Public Member Functions

| OrImpl (ArImplPtr iArchive, std::vector< AbcA::ObjectReaderPtr > &iTops, ObjectHeaderPtr iHeader)
| OrImpl (OrImplPtr iParent, size_t iIndex)
virtual const AbcA::ObjectHeader & | getHeader () const
virtual AbcA::ArchiveReaderPtr | getArchive ()
virtual AbcA::ObjectReaderPtr | getParent ()
virtual AbcA::CompoundPropertyReaderPtr | getProperties ()
virtual size_t | getNumChildren ()
virtual const AbcA::ObjectHeader & | getChildHeader (size_t i)
virtual const AbcA::ObjectHeader * | getChildHeader (const std::string &iName)
virtual AbcA::ObjectReaderPtr | getChild (const std::string &iName)
virtual AbcA::ObjectReaderPtr | getChild (size_t i)
virtual AbcA::ObjectReaderPtr | asObjectPtr ()
virtual bool | getPropertiesHash (Util::Digest &oDigest)
virtual bool | getChildrenHash (Util::Digest &oDigest)
Public Member Functions inherited from Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader
virtual | ~ObjectReader ()
const std::string & | getName () const
const std::string & | getFullName () const
const MetaData & | getMetaData () const

## Member Function Documentation

## asObjectPtr()

AbcA::ObjectReaderPtr Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl::asObjectPtr | ( |  | ) |

virtual

Returns shared pointer to myself. This is non-virtual

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader.

## getArchive()

AbcA::ArchiveReaderPtr Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl::getArchive | ( |  | ) |

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.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader.

## getChild() [1/2]

AbcA::ObjectReaderPtr Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl::getChild | ( | const std::string & | iName | ) |

virtual

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

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader.

## getChild() [2/2]

AbcA::ObjectReaderPtr Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl::getChild | ( | size_t | i | ) |

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.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader.

## getChildHeader() [1/2]

const AbcA::ObjectHeader * Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl::getChildHeader | ( | const std::string & | iName | ) |

virtual

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

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader.

## getChildHeader() [2/2]

const AbcA::ObjectHeader & Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl::getChildHeader | ( | size_t | i | ) |

virtual

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

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader.

## getChildrenHash()

bool Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl::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 from Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader.

## getHeader()

const AbcA::ObjectHeader & Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl::getHeader | ( |  | ) | const

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.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader.

## getNumChildren()

size_t Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl::getNumChildren | ( |  | ) |

virtual

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

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader.

## getParent()

AbcA::ObjectReaderPtr Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl::getParent | ( |  | ) |

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.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader.

## getProperties()

AbcA::CompoundPropertyReaderPtr Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl::getProperties | ( |  | ) |

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.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader.

## getPropertiesHash()

bool Alembic::AbcCoreLayer::ALEMBIC_VERSION_NS::OrImpl::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 from Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader.

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

- AbcCoreLayer/OrImpl.h
- AbcCoreLayer/OrImpl.cpp