35 #ifndef IE_CORE_IFFFILE_H
36 #define IE_CORE_IFFFILE_H
41 #include "OpenEXR/ImathVec.h"
43 #include "IECore/Export.h"
44 #include "IECore/RefCounted.h"
49 IE_CORE_FORWARDDECLARE( IFFFile );
57 IFFFile(
const std::string &fileName );
73 Tag(
const char *buffer );
74 Tag( std::string str );
89 static const int TagSize = 4;
112 unsigned int dataSize();
117 typedef std::vector<Chunk>::iterator ChunkIterator;
118 ChunkIterator childrenBegin();
119 ChunkIterator childrenEnd();
123 void read( T &data );
126 void read( std::string &data );
130 size_t read( std::vector<T> &data );
134 size_t read( std::vector<Imath::Vec3<T> > &data );
139 Chunk( std::string type,
unsigned int dataSize, IFFFilePtr file, std::streampos filePosition,
int alignmentQuota );
142 unsigned int m_dataSize;
145 std::streampos m_filePosition;
148 int m_alignmentQuota;
149 std::vector<Chunk> m_children;
155 void readHeader( std::streampos *pos );
159 void readData( T *dataBuffer,
unsigned long n );
162 int alignmentQuota();
165 int skippableBytes();
171 std::ifstream *m_iStream;
172 std::string m_streamFileName;
178 static void readData(
const char *dataBuffer, T *attrBuffer,
unsigned long n );
183 #include "IFFFile.inl"
185 #endif // IE_CORE_IFFFILE_H
Definition: IFFFile.h:105
IECORE_API void ls(const std::string &path, std::vector< FileSequencePtr > &sequences, size_t minSequenceSize=2)
Generates all sequences with at least minSequenceSize elements residing in given directory in the for...
Definition: RefCounted.h:124
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43