37#ifndef Alembic_AbcCoreLayer_CprImpl_h
38#define Alembic_AbcCoreLayer_CprImpl_h
40#include <Alembic/AbcCoreLayer/Foundation.h>
43namespace AbcCoreLayer {
44namespace ALEMBIC_VERSION_NS {
46typedef Alembic::Util::shared_ptr< AbcA::PropertyHeader > PropertyHeaderPtr;
50 :
public AbcA::CompoundPropertyReader
51 ,
public Alembic::Util::enable_shared_from_this< CprImpl >
55 CprImpl( OrImplPtr iObject,
56 CompoundReaderPtrs & iCompounds );
58 CprImpl( CprImplPtr iParent,
size_t iIndex );
65 virtual const AbcA::PropertyHeader &
getHeader()
const;
67 virtual AbcA::ObjectReaderPtr
getObject();
69 virtual AbcA::CompoundPropertyReaderPtr
getParent();
80 virtual const AbcA::PropertyHeader *
83 virtual AbcA::ScalarPropertyReaderPtr
86 virtual AbcA::ArrayPropertyReaderPtr
89 virtual AbcA::CompoundPropertyReaderPtr
93 void init( CompoundReaderPtrs & iCompounds );
106 PropertyHeaderPtr m_topHeader;
110 std::vector< CompoundReaderPtrs > m_children;
114 typedef std::pair< size_t, size_t > HeaderIndexPair;
115 std::vector< HeaderIndexPair > m_childHeaderIndex;
117 ChildNameMap m_childNameMap;
122using namespace ALEMBIC_VERSION_NS;
virtual AbcA::CompoundPropertyReaderPtr asCompoundPtr()
Definition CprImpl.cpp:120
virtual AbcA::CompoundPropertyReaderPtr getParent()
Definition CprImpl.cpp:114
virtual AbcA::ObjectReaderPtr getObject()
Definition CprImpl.cpp:108
virtual AbcA::ScalarPropertyReaderPtr getScalarProperty(const std::string &iName)
Definition CprImpl.cpp:160
virtual size_t getNumProperties()
Definition CprImpl.cpp:126
virtual AbcA::CompoundPropertyReaderPtr getCompoundProperty(const std::string &iName)
Definition CprImpl.cpp:189
virtual AbcA::ArrayPropertyReaderPtr getArrayProperty(const std::string &iName)
Definition CprImpl.cpp:175
virtual const AbcA::PropertyHeader & getPropertyHeader(size_t i)
Definition CprImpl.cpp:132
virtual const AbcA::PropertyHeader & getHeader() const
Definition CprImpl.cpp:96
Alembic namespace ...
Definition ArchiveInfo.cpp:39