29 #ifndef vtkXMLDataParser_h 30 #define vtkXMLDataParser_h 32 #include "vtkIOXMLParserModule.h" 65 vtkTypeUInt64 startWord,
size_t numWords,
int wordType);
67 vtkXMLDataElement* element,
int isAscii,
char* buffer, vtkTypeUInt64 startWord,
size_t numWords)
69 return this->ReadInlineData(element, isAscii, buffer, startWord, numWords,
VTK_CHAR);
76 size_t ReadAppendedData(
77 vtkTypeInt64
offset,
void* buffer, vtkTypeUInt64 startWord,
size_t numWords,
int wordType);
79 vtkTypeInt64 offset,
char* buffer, vtkTypeUInt64 startWord,
size_t numWords)
81 return this->ReadAppendedData(offset, buffer, startWord, numWords,
VTK_CHAR);
88 size_t ReadAsciiData(
void* buffer, vtkTypeUInt64 startWord,
size_t numWords,
int wordType);
94 size_t ReadBinaryData(
void* buffer, vtkTypeUInt64 startWord,
size_t maxWords,
int wordType);
108 size_t GetWordTypeSize(
int wordType);
114 int Parse()
override;
121 vtkGetMacro(Abort,
int);
122 vtkSetMacro(Abort,
int);
130 vtkGetMacro(Progress,
float);
131 vtkSetMacro(Progress,
float);
144 vtkGetMacro(AttributesEncoding,
int);
166 int Parse(
const char*)
override;
167 int Parse(
const char*,
unsigned int)
override;
174 int CheckPrimaryAttributes();
175 void FindAppendedDataPosition();
176 int ParseBuffer(
const char* buffer,
unsigned int count)
override;
181 void FreeAllElements();
182 void PerformByteSwap(
void* data,
size_t numWords,
size_t wordSize);
185 int ReadCompressionHeader();
186 size_t FindBlockSize(vtkTypeUInt64 block);
187 int ReadBlock(vtkTypeUInt64 block,
unsigned char* buffer);
188 unsigned char* ReadBlock(vtkTypeUInt64 block);
189 size_t ReadUncompressedData(
190 unsigned char* data, vtkTypeUInt64 startWord,
size_t numWords,
size_t wordSize);
191 size_t ReadCompressedData(
192 unsigned char* data, vtkTypeUInt64 startWord,
size_t numWords,
size_t wordSize);
198 int ParseAsciiData(
int wordType);
199 void FreeAsciiBuffer();
202 void UpdateProgress(
float progress);
265 const unsigned int eid = this->NumberOfOpenElements - 1;
266 this->OpenElements[eid]->AddCharacterData(data, length);
virtual int Parse()
Parse the XML input.
Abstract interface for data compression classes.
Parse XML to handle element tags and attributes.
Represents an XML element and those nested inside.
vtkInputStream * InlineDataStream
virtual void StartElement(const char *name, const char **atts)
vtkInputStream * AppendedDataStream
vtkTypeInt64 AppendedDataPosition
#define VTK_ENCODING_UNKNOWN
size_t * BlockCompressedSizes
vtkXMLDataElement ** OpenElements
virtual void CharacterDataHandler(const char *data, int length)
vtkTypeInt64 AsciiDataPosition
a simple class to control print indentation
size_t ReadAppendedData(vtkTypeInt64 offset, char *buffer, vtkTypeUInt64 startWord, size_t numWords)
#define VTK_ENCODING_NONE
vtkXMLDataElement * RootElement
vtkDataCompressor * Compressor
vtkTypeInt64 GetAppendedDataPosition()
Returns the byte index of where appended data starts (if the file is using appended data)...
unsigned int NumberOfOpenElements
virtual int ParsingComplete()
vtkInputStream * DataStream
size_t ReadInlineData(vtkXMLDataElement *element, int isAscii, char *buffer, vtkTypeUInt64 startWord, size_t numWords)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
size_t BlockUncompressedSize
void CharacterDataHandler(const char *data, int length) override
If you need the text inside XMLElements, turn IgnoreCharacterData off.
vtkTypeInt64 * BlockStartOffsets
Used by vtkXMLReader to parse VTK XML files.
virtual void EndElement(const char *name)
size_t PartialLastBlockUncompressedSize
virtual int ParseBuffer(const char *buffer, unsigned int count)
unsigned int OpenElementsSize
static vtkXMLParser * New()
unsigned char * AsciiDataBuffer
size_t AsciiDataBufferLength