Alembic 1.8.11
Loading...
Searching...
No Matches
Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl Class Reference
Inheritance diagram for Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl:
Collaboration diagram for Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OrImpl:

Public Member Functions

 OrImpl (Alembic::Util::shared_ptr< ArImpl > iArchive, OrDataPtr iData, ObjectHeaderPtr iHeader)
 OrImpl (AbcA::ObjectReaderPtr iParent, Ogawa::IGroupPtr iParentGroup, std::size_t iIndex, ObjectHeaderPtr iHeader)
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 MetaDatagetMetaData () const

Member Function Documentation

◆ asObjectPtr()

AbcA::ObjectReaderPtr Alembic::AbcCoreOgawa::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::AbcCoreOgawa::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::AbcCoreOgawa::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::AbcCoreOgawa::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::AbcCoreOgawa::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::AbcCoreOgawa::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::AbcCoreOgawa::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::AbcCoreOgawa::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::AbcCoreOgawa::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::AbcCoreOgawa::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::AbcCoreOgawa::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::AbcCoreOgawa::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:
  • AbcCoreOgawa/OrImpl.h
  • AbcCoreOgawa/OrImpl.cpp