HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader Class Referenceabstract

#include <ObjectReader.h>

+ Inheritance diagram for Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectReader:

Public Member Functions

virtual ~ObjectReader ()
 
virtual const ObjectHeadergetHeader () const =0
 
const std::stringgetName () const
 
const std::stringgetFullName () const
 
const MetaDatagetMetaData () const
 
virtual ArchiveReaderPtr getArchive ()=0
 
virtual ObjectReaderPtr getParent ()=0
 
virtual CompoundPropertyReaderPtr getProperties ()=0
 
virtual size_t getNumChildren ()=0
 
virtual const ObjectHeadergetChildHeader (size_t i)=0
 
virtual const ObjectHeadergetChildHeader (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.

Definition at line 55 of file ObjectReader.h.

Constructor & Destructor Documentation

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

Virtual destructor ...

Member Function Documentation

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

Returns shared pointer to myself. This is non-virtual

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.

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.

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.

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.

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.

virtual 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

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.

Definition at line 83 of file ObjectReader.h.

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.

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.

Definition at line 92 of file ObjectReader.h.

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.

Definition at line 76 of file ObjectReader.h.

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.

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.

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.

virtual 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


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