Go to the documentation of this file.
31 #ifndef vtkXMLDataParser_h
32 #define vtkXMLDataParser_h
53 enum { BigEndian, LittleEndian };
59 void*
buffer, vtkTypeUInt64 startWord,
60 size_t numWords,
int wordType);
62 char*
buffer, vtkTypeUInt64 startWord,
64 {
return this->ReadInlineData(element, isAscii,
buffer, startWord,
72 vtkTypeUInt64 startWord,
73 size_t numWords,
int wordType);
75 vtkTypeUInt64 startWord,
77 {
return this->ReadAppendedData(
offset,
buffer, startWord, numWords,
85 size_t numWords,
int wordType);
92 size_t maxWords,
int wordType);
147 return this->AppendedDataPosition;
157 virtual int Parse(
const char*,
unsigned int);
180 vtkTypeUInt64 startWord,
184 vtkTypeUInt64 startWord,
GLsizei GLsizei GLenum GLenum const GLvoid * data
void PushOpenElement(vtkXMLDataElement *element)
#define vtkGetObjectMacro(name, type)
int CheckPrimaryAttributes()
Parse XML to handle element tags and attributes.
GLuint GLuint GLsizei count
size_t ReadCompressedData(unsigned char *data, vtkTypeUInt64 startWord, size_t numWords, size_t wordSize)
vtkTypeInt64 AppendedDataPosition
virtual int Parse(const char *, unsigned int)
vtkInputStream * DataStream
#define VTK_ENCODING_NONE
size_t PartialLastBlockUncompressedSize
void FindAppendedDataPosition()
size_t ReadUncompressedData(unsigned char *data, vtkTypeUInt64 startWord, size_t numWords, size_t wordSize)
size_t BlockUncompressedSize
vtkTypeInt64 * BlockStartOffsets
size_t AsciiDataBufferLength
unsigned char * ReadBlock(vtkTypeUInt64 block)
vtkTypeInt64 AsciiDataPosition
vtkXMLDataElement * GetRootElement()
#define vtkTypeMacro(thisClass, superclass)
virtual void EndElement(const char *)
vtkTypeInt64 GetAppendedDataPosition()
int ReadBlock(vtkTypeUInt64 block, unsigned char *buffer)
vtkXMLDataElement ** OpenElements
size_t GetWordTypeSize(int wordType)
unsigned int OpenElementsSize
vtkInputStream * InlineDataStream
GLuint GLsizei GLsizei * length
int ParseAsciiData(int wordType)
size_t ReadAppendedData(vtkTypeInt64 offset, char *buffer, vtkTypeUInt64 startWord, size_t numWords)
int ReadCompressionHeader()
vtkXMLDataElement * PopOpenElement()
void PerformByteSwap(void *data, size_t numWords, size_t wordSize)
void AddCharacterData(const char *c, size_t length)
vtkXMLDataElement * RootElement
#define vtkSetClampMacro(name, type, min, max)
#define VTKIOXMLPARSER_EXPORT
GLuint const GLchar * name
size_t ReadBinaryData(void *buffer, vtkTypeUInt64 startWord, size_t maxWords, int wordType)
void AddElement(vtkXMLDataElement *element)
size_t ReadInlineData(vtkXMLDataElement *element, int isAscii, void *buffer, vtkTypeUInt64 startWord, size_t numWords, int wordType)
virtual void SetCompressor(vtkDataCompressor *)
void SeekInlineDataPosition(vtkXMLDataElement *element)
a simple class to control print indentation
vtkInputStream * AppendedDataStream
int ParseBuffer(const char *buffer, unsigned int count)
Abstract interface for data compression classes.
Represents an XML element and those nested inside.
#define vtkGetMacro(name, type)
size_t ReadAsciiData(void *buffer, vtkTypeUInt64 startWord, size_t numWords, int wordType)
unsigned char * AsciiDataBuffer
size_t * BlockCompressedSizes
virtual void StartElement(const char *name, const char **atts)
vtkSetMacro(IgnoreDriverBugs, bool)
virtual void CharacterDataHandler(const char *data, int length)
vtkDataCompressor * Compressor
#define VTK_ENCODING_UNKNOWN
size_t ReadInlineData(vtkXMLDataElement *element, int isAscii, char *buffer, vtkTypeUInt64 startWord, size_t numWords)
static vtkXMLDataParser * New()
unsigned int NumberOfOpenElements
virtual int Parse(const char *)
virtual void CharacterDataHandler(const char *data, int length)
size_t FindBlockSize(vtkTypeUInt64 block)
void UpdateProgress(float progress)
size_t ReadAppendedData(vtkTypeInt64 offset, void *buffer, vtkTypeUInt64 startWord, size_t numWords, int wordType)
Used by vtkXMLReader to parse VTK XML files.
void PrintSelf(ostream &os, vtkIndent indent)