51class OrData :
public Alembic::Util::enable_shared_from_this<OrData>
54 OrData( Ogawa::IGroupPtr iGroup,
55 const std::string & iParentName,
57 AbcA::ArchiveReader & iArchive,
58 const std::vector< AbcA::MetaData > & iIndexedMetaData );
62 AbcA::CompoundPropertyReaderPtr
63 getProperties( AbcA::ObjectReaderPtr iParent );
65 size_t getNumChildren();
67 const AbcA::ObjectHeader &
68 getChildHeader( AbcA::ObjectReaderPtr iParent,
size_t i );
70 const AbcA::ObjectHeader *
71 getChildHeader( AbcA::ObjectReaderPtr iParent,
const std::string &iName );
74 getChild( AbcA::ObjectReaderPtr iParent,
const std::string &iName );
77 getChild( AbcA::ObjectReaderPtr iParent,
size_t i );
79 void getPropertiesHash(
Util::Digest & oDigest,
size_t iThreadId );
81 void getChildrenHash(
Util::Digest & oDigest,
size_t iThreadId );
85 Ogawa::IGroupPtr m_group;
89 ObjectHeaderPtr header;
94 typedef std::map<std::string, size_t> ChildrenMap;
97 Alembic::Util::unique_ptr< Child[] > m_children;
98 ChildrenMap m_childrenMap;
101 Alembic::Util::weak_ptr< AbcA::CompoundPropertyReader > m_top;
102 Alembic::Util::shared_ptr < CprData > m_data;