HDK
|
#include <ObjectReader.h>
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 |
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.
|
virtual |
Virtual destructor ...
|
pure virtual |
Returns shared pointer to myself. This is non-virtual
|
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.
|
pure virtual |
Get a child object by name. This is a convenience function that uses getChildHeader and the various named "get" functions here.
|
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.
|
pure virtual |
Return the header of an object by index. This will throw an exception on out-of-range access.
|
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 |
If an aggregated child objects hash exists fill oDigest with it and return true, if it doesn't exist return false
|
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.
|
pure virtual |
|
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.
|
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.
|
pure virtual |
Returns the number of objects that are contained as children. Objects do not have to have children, this may return zero.
|
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.
|
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 |
If an aggregated properties hash exists fill oDigest with it and return true, if it doesn't exist return false