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

## Public Member Functions

| OwImpl (AbcA::ArchiveWriterPtr iArchive, OwDataPtr iData, const AbcA::MetaData &iMetaData)
| OwImpl (AbcA::ObjectWriterPtr iParent, Ogawa::OGroupPtr iGroup, ObjectHeaderPtr iHeader, size_t iIndex)
virtual const AbcA::ObjectHeader & | getHeader () const
virtual AbcA::ArchiveWriterPtr | getArchive ()
virtual AbcA::ObjectWriterPtr | getParent ()
virtual AbcA::CompoundPropertyWriterPtr | getProperties ()
virtual size_t | getNumChildren ()
virtual const AbcA::ObjectHeader & | getChildHeader (size_t i)
virtual const AbcA::ObjectHeader * | getChildHeader (const std::string &iName)
virtual AbcA::ObjectWriterPtr | getChild (const std::string &iName)
virtual AbcA::ObjectWriterPtr | createChild (const AbcA::ObjectHeader &iHeader)
virtual AbcA::ObjectWriterPtr | asObjectPtr ()
void | fillHash (size_t iIndex, Util::uint64_t iHash0, Util::uint64_t iHash1)
Public Member Functions inherited from Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectWriter
virtual | ~ObjectWriter ()
const std::string & | getName () const
const std::string & | getFullName () const
const MetaData & | getMetaData () const
ObjectWriterPtr | getChild (size_t i)
virtual ObjectWriterPtr | createChild (const ObjectHeader &iHeader)=0

## Member Function Documentation

## asObjectPtr()

AbcA::ObjectWriterPtr Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OwImpl::asObjectPtr | ( |  | ) |

virtual

Returns shared pointer to myself. Sometimes this may be a spoofed ptr.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectWriter.

## getArchive()

AbcA::ArchiveWriterPtr Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OwImpl::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 writer objects. Alembic allows you to keep references to writers 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::ObjectWriter.

## getChild()

AbcA::ObjectWriterPtr Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OwImpl::getChild | ( | const std::string & | iName | ) |

virtual

Returns a pointer to an object writer of the given name iName, for an object that has ALREADY BEEN ADDED. This will return an empty pointer if no object of the given name has been added.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectWriter.

## getChildHeader() [1/2]

const AbcA::ObjectHeader * Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OwImpl::getChildHeader | ( | const std::string & | iName | ) |

virtual

Returns the header of an object that has already been added, by name. This will return NULL pointer if no header by that name is found. Even if the object assosciated with this header is no longer existing, the header will be non-null if any such object had been created. This is a mechanism for testing if something has already been made.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectWriter.

## getChildHeader() [2/2]

const AbcA::ObjectHeader & Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OwImpl::getChildHeader | ( | size_t | i | ) |

virtual

Returns the header of an object that has already been added. Object is selected by index. This will throw an exception on out-of-range access.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectWriter.

## getHeader()

const AbcA::ObjectHeader & Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OwImpl::getHeader | ( |  | ) | const

virtual

All objects are created from an ObjectHeader, which contains their name, their full name, and their MetaData. This returns a const reference to the ObjectHeader which was given upon creation.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectWriter.

## getNumChildren()

size_t Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OwImpl::getNumChildren | ( |  | ) |

virtual

Returns the number of objects that are contained as children. this number may increase (but not decrease) as objects are created. This is the number of children object writers that have ALREADY BEEN ADDED. It may increase.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectWriter.

## getParent()

AbcA::ObjectWriterPtr Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OwImpl::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 writer objects. Alembic allows you to keep references to writers 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::ObjectWriter.

## getProperties()

AbcA::CompoundPropertyWriterPtr Alembic::AbcCoreOgawa::ALEMBIC_VERSION_NS::OwImpl::getProperties | ( |  | ) |

virtual

All objects have a single compound property which is the root for any properties which are associated with this object. Guaranteed to exist, even if the compound property itself is empty. This may change as properties are added.

Implements Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ObjectWriter.

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

- AbcCoreOgawa/OwImpl.h
- AbcCoreOgawa/OwImpl.cpp