72 template <
class ARCHIVE_CTOR>
80 const std::string &iFileName,
82 ErrorHandler::Policy iPolicy = ErrorHandler::kThrowPolicy,
83 AbcA::ReadArraySampleCachePtr iCachePtr = AbcA::ReadArraySampleCachePtr());
91 AbcA::ArchiveReaderPtr iPtr,
95 ErrorHandler::Policy iPolicy = ErrorHandler::kThrowPolicy )
99 getErrorHandler().setPolicy( iPolicy );
104 AbcA::ArchiveReaderPtr iPtr,
106 ErrorHandler::Policy iPolicy = ErrorHandler::kThrowPolicy )
110 getErrorHandler().setPolicy( iPolicy );
126 std::string getName()
const;
135 AbcA::ReadArraySampleCachePtr getReadArraySampleCachePtr();
140 void setReadArraySampleCachePtr( AbcA::ReadArraySampleCachePtr iPtr );
151 AbcA::ArchiveReaderPtr
getPtr() {
return m_archive; }
155 void reset() { m_archive.reset(); Base::reset(); }
158 AbcA::TimeSamplingPtr getTimeSampling( uint32_t iIndex );
162 uint32_t getNumTimeSamplings();
168 index_t getMaxNumSamplesForTimeSamplingIndex( uint32_t iIndex );
174 return ( Base::valid() && m_archive );
179 int32_t getArchiveVersion();
186 AbcA::ArchiveReaderPtr m_archive;
199 const std::string &iFileName,
200 ErrorHandler::Policy iPolicy,
201 AbcA::ReadArraySampleCachePtr iCachePtr )
204 getErrorHandler().setPolicy( iPolicy );
206 ALEMBIC_ABC_SAFE_CALL_BEGIN(
"IArchive::IArchive( iFileName )" );
208 m_archive = iCtor( iFileName, iCachePtr );
210 ALEMBIC_ABC_SAFE_CALL_END_RESET();