31 #ifndef __vtkXMLDataParser_h
32 #define __vtkXMLDataParser_h
52 enum { BigEndian, LittleEndian };
76 OffsetType ReadAppendedData(OffsetType
offset,
void* buffer,
78 OffsetType numWords,
int wordType);
89 OffsetType ReadAsciiData(
void* buffer, OffsetType startWord,
90 OffsetType numWords,
int wordType);
96 OffsetType ReadBinaryData(
void* buffer, OffsetType startWord,
97 OffsetType maxWords,
int wordType);
109 unsigned long GetWordTypeSize(
int wordType);
118 vtkGetMacro(Abort,
int);
119 vtkSetMacro(Abort,
int);
125 vtkGetMacro(Progress,
float);
126 vtkSetMacro(Progress,
float);
138 vtkGetMacro(AttributesEncoding,
int);
152 virtual int Parse(
const char*);
153 virtual int Parse(
const char*,
unsigned int);
160 int CheckPrimaryAttributes();
161 void FindAppendedDataPosition();
162 OffsetType FindInlineDataPosition(OffsetType start);
163 int ParseBuffer(
const char* buffer,
unsigned int count);
168 void FreeAllElements();
169 void PerformByteSwap(
void*
data, OffsetType numWords,
int wordSize);
172 void ReadCompressionHeader();
173 unsigned int FindBlockSize(
unsigned int block);
174 int ReadBlock(
unsigned int block,
unsigned char* buffer);
175 unsigned char* ReadBlock(
unsigned int block);
176 OffsetType ReadUncompressedData(
unsigned char*
data,
177 OffsetType startWord,
180 OffsetType ReadCompressedData(
unsigned char*
data,
181 OffsetType startWord,
189 int ParseAsciiData(
int wordType);
190 void FreeAsciiBuffer();
193 void UpdateProgress(
float progress);
226 #if VTK_SIZEOF_SHORT == 4
227 typedef unsigned short HeaderType;
228 #elif VTK_SIZEOF_INT == 4
229 typedef unsigned int HeaderType;
230 #elif VTK_SIZEOF_LONG == 4
231 typedef unsigned long HeaderType;
233 # error "No native data type can represent an unsigned 32-bit integer."