20 #ifndef vtkXMLDataParser_h
21 #define vtkXMLDataParser_h
23 #include "vtkIOXMLParserModule.h"
27 VTK_ABI_NAMESPACE_BEGIN
57 vtkTypeUInt64 startWord,
size_t numWords,
int wordType);
59 vtkXMLDataElement* element,
int isAscii,
char* buffer, vtkTypeUInt64 startWord,
size_t numWords)
61 return this->ReadInlineData(element, isAscii, buffer, startWord, numWords,
VTK_CHAR);
68 size_t ReadAppendedData(
69 vtkTypeInt64
offset,
void* buffer, vtkTypeUInt64 startWord,
size_t numWords,
int wordType);
71 vtkTypeInt64
offset,
char* buffer, vtkTypeUInt64 startWord,
size_t numWords)
73 return this->ReadAppendedData(offset, buffer, startWord, numWords,
VTK_CHAR);
80 size_t ReadAsciiData(
void* buffer, vtkTypeUInt64 startWord,
size_t numWords,
int wordType);
86 size_t ReadBinaryData(
void* buffer, vtkTypeUInt64 startWord,
size_t maxWords,
int wordType);
100 size_t GetWordTypeSize(
int wordType);
106 int Parse()
override;
113 vtkGetMacro(Abort,
int);
114 vtkSetMacro(Abort,
int);
122 vtkGetMacro(Progress,
float);
123 vtkSetMacro(Progress,
float);
136 vtkGetMacro(AttributesEncoding,
int);
158 int Parse(
const char*)
override;
159 int Parse(
const char*,
unsigned int)
override;
166 int CheckPrimaryAttributes();
167 void FindAppendedDataPosition();
168 int ParseBuffer(
const char* buffer,
unsigned int count)
override;
173 void FreeAllElements();
174 void PerformByteSwap(
void*
data,
size_t numWords,
size_t wordSize);
177 int ReadCompressionHeader();
178 size_t FindBlockSize(vtkTypeUInt64 block);
179 int ReadBlock(vtkTypeUInt64 block,
unsigned char* buffer);
180 unsigned char* ReadBlock(vtkTypeUInt64 block);
181 size_t ReadUncompressedData(
182 unsigned char*
data, vtkTypeUInt64 startWord,
size_t numWords,
size_t wordSize);
183 size_t ReadCompressedData(
184 unsigned char*
data, vtkTypeUInt64 startWord,
size_t numWords,
size_t wordSize);
190 int ParseAsciiData(
int wordType);
191 void FreeAsciiBuffer();
194 void UpdateProgress(
float progress);
264 VTK_ABI_NAMESPACE_END
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
void AddCharacterData(const char *c, size_t length)
Set/Get the character data between XML start/end tags.
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