50class CpwData :
public Alembic::Util::enable_shared_from_this<CpwData>
54 CpwData( Ogawa::OGroupPtr iGroup );
58 size_t getNumProperties();
60 const AbcA::PropertyHeader & getPropertyHeader(
size_t i );
62 const AbcA::PropertyHeader * getPropertyHeader(
const std::string &iName );
64 AbcA::BasePropertyWriterPtr getProperty(
const std::string & iName );
66 AbcA::ScalarPropertyWriterPtr
67 createScalarProperty( AbcA::CompoundPropertyWriterPtr iParent,
68 const std::string & iName,
69 const AbcA::MetaData & iMetaData,
70 const AbcA::DataType & iDataType,
71 Util::uint32_t iTimeSamplingIndex );
73 AbcA::ArrayPropertyWriterPtr
74 createArrayProperty( AbcA::CompoundPropertyWriterPtr iParent,
75 const std::string & iName,
76 const AbcA::MetaData & iMetaData,
77 const AbcA::DataType & iDataType,
78 Util::uint32_t iTimeSamplingIndex );
80 AbcA::CompoundPropertyWriterPtr
81 createCompoundProperty( AbcA::CompoundPropertyWriterPtr iParent,
82 const std::string & iName,
83 const AbcA::MetaData & iMetaData );
85 void writePropertyHeaders( MetaDataMapPtr iMetaDataMap );
87 void fillHash(
size_t iIndex, Util::uint64_t iHash0,
88 Util::uint64_t iHash1 );
95 Ogawa::OGroupPtr m_group;
97 typedef std::map<std::string, WeakBpwPtr> MadeProperties;
99 PropertyHeaderPtrs m_propertyHeaders;
100 MadeProperties m_madeProperties;
103 std::vector< Util::uint64_t > m_hashes;