50 :
public SimplePwImpl<AbcA::ArrayPropertyWriter,
52 const AbcA::ArraySample &,
53 AbcA::ArraySample::Key>
54 ,
public Alembic::Util::enable_shared_from_this<ApwImpl>
60 ApwImpl( AbcA::CompoundPropertyWriterPtr iParent,
62 const std::string & iName,
63 const AbcA::MetaData & iMetaData,
64 const AbcA::DataType & iDataType,
65 uint32_t iTimeSamplingIndex );
67 virtual AbcA::ArrayPropertyWriterPtr
asArrayPtr();
73 static AbcA::ArraySample::Key
74 computeSampleKey(
const AbcA::ArraySample &iSamp )
76 return iSamp.getKey();
80 bool sameAsPreviousSample(
const AbcA::ArraySample &iSamp,
81 const AbcA::ArraySample::Key &iKey )
const
83 return ( m_previousWrittenArraySampleID &&
84 iKey == m_previousWrittenArraySampleID->getKey() );
88 void copyPreviousSample( hid_t iGroup,
89 const std::string &iSampleName,
90 index_t iSampleIndex );
93 void writeSample( hid_t iGroup,
94 const std::string &iSampleName,
96 const AbcA::ArraySample & iSamp,
97 const AbcA::ArraySample::Key &iKey );
101 WrittenArraySampleIDPtr m_previousWrittenArraySampleID;
105 std::size_t m_previousNumPoints;