Go to the documentation of this file.
33 #ifndef vtkXMLWriter_h
34 #define vtkXMLWriter_h
36 #include "vtkIOXMLModule.h"
71 enum { BigEndian, LittleEndian };
86 enum { Int32=32, Int64=64 };
93 enum { UInt32=32, UInt64=64 };
100 vtkSetMacro(ByteOrder,
int);
101 vtkGetMacro(ByteOrder,
int);
112 vtkGetMacro(HeaderType,
int);
123 vtkGetMacro(IdType,
int);
132 vtkSetStringMacro(FileName);
133 vtkGetStringMacro(FileName);
170 this->SetCompressorType(NONE);
174 this->SetCompressorType(LZ4);
178 this->SetCompressorType(ZLIB);
182 this->SetCompressorType(LZMA);
186 vtkGetMacro(CompressionLevel,
int);
197 vtkGetMacro(BlockSize,
size_t);
206 vtkSetMacro(DataMode,
int);
207 vtkGetMacro(DataMode,
int);
258 vtkGetMacro(NumberOfTimeSteps,
int);
259 vtkSetMacro(NumberOfTimeSteps,
int);
321 # if VTK_SIZEOF_SHORT == 4
322 typedef short Int32IdType;
323 # elif VTK_SIZEOF_INT == 4
324 typedef int Int32IdType;
325 # elif VTK_SIZEOF_LONG == 4
326 typedef long Int32IdType;
328 # error "No native data type can represent a signed 32-bit integer."
345 int CompressionLevel = 5;
393 vtkTypeInt64 &lastoffset,
394 const char* attr=
nullptr);
397 const char* attr=
nullptr);
405 #ifdef VTK_USE_64BIT_IDS
412 #ifdef VTK_USE_64BIT_IDS
424 const char* alternateName,
int writeNumTuples,
int timestep);
427 const char* alternateName=
nullptr,
int writeNumTuples=0);
431 OffsetsManager &offs,
const char* alternateName=
nullptr,
int writeNumTuples=0,
437 vtkTypeInt64 &lastoffset);
472 const char* alternateName=
nullptr);
496 float ProgressRange[2];
530 friend class vtkXMLWriterHelper;
represent and manipulate 3D points
void PerformByteSwap(void *data, size_t numWords, size_t wordSize)
int WriteVectorAttribute(const char *name, int length, int *data)
size_t CompressionBlockNumber
void WriteCellDataAppended(vtkCellData *cd, vtkIndent indent, OffsetsManagerGroup *cdManager)
virtual void SetIdType(int)
Get/Set the size of the vtkIdType values stored in the file.
vtkDataObject * GetInput(int port)
void ForwardAppendedDataOffset(vtkTypeInt64 streamPos, vtkTypeInt64 offset, const char *attr=nullptr)
std::string GetOutputString()
std::ostringstream * OutStringStream
virtual const char * GetDefaultFileExtension()=0
Get the default file extension for files written by this writer.
void WriteArrayAppended(vtkAbstractArray *a, vtkIndent indent, OffsetsManager &offs, const char *alternateName=nullptr, int writeNumTuples=0, int timestep=0)
const char * GetWordTypeName(int dataType)
void SetCompressorTypeToZLib()
int CreateCompressionHeader(size_t size)
bool WriteInformation(vtkInformation *info, vtkIndent indent)
void WritePCellData(vtkCellData *cd, vtkIndent indent)
void WritePointDataAppendedData(vtkPointData *pd, int timestep, OffsetsManagerGroup *pdManager)
void WriteFieldDataInline(vtkFieldData *fd, vtkIndent indent)
represent and manipulate point attribute data
void WriteAttributeIndices(vtkDataSetAttributes *dsa, char **names)
void SetByteOrderToLittleEndian()
virtual void WritePrimaryElementAttributes(ostream &os, vtkIndent indent)
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Superclass for all sources, filters, and sinks in VTK.
represent and manipulate attribute data in a dataset
vtkXMLDataHeader * CompressionHeader
void SetDataModeToAppended()
size_t GetOutputWordTypeSize(int dataType)
virtual int WritePrimaryElement(ostream &os, vtkIndent indent)
Implementation template for a array iterator.
int WriteBinaryDataInternal(vtkAbstractArray *a)
int Write()
Invoke the writer.
void SetCompressorTypeToLZ4()
void SetDataModeToAscii()
char ** CreateStringArray(int numStrings)
void SetByteOrderToBigEndian()
int WriteStringAttribute(const char *name, const char *value)
abstract superclass for arrays of numeric data
virtual int GetDataSetMinorVersion()
vtkTypeBool WriteToOutputString
virtual void SetDataStream(vtkOutputStream *)
virtual int WriteInternal()
represent and manipulate fields of data
virtual void SetProgressRange(const float range[2], int curStep, const float *fractions)
virtual void WriteArrayFooter(ostream &os, vtkIndent indent, vtkAbstractArray *a, int shortFormat)
int WriteVectorAttribute(const char *name, int length, float *data)
void Start()
API to interface an outside the VTK pipeline control.
virtual void SetProgressPartial(float fraction)
OffsetsManagerGroup * FieldDataOM
vtkDataCompressor * Compressor
void WritePointsAppended(vtkPoints *points, vtkIndent indent, OffsetsManager *manager)
int WriteVectorAttribute(const char *name, int length, double *data)
int WriteScalarAttribute(const char *name, int data)
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Int32IdType * Int32IdTypeBuffer
void WritePointDataAppended(vtkPointData *pd, vtkIndent indent, OffsetsManagerGroup *pdManager)
Superclass for VTK's XML file writers.
virtual void UpdateProgressDiscrete(float progress)
int WriteWordTypeAttribute(const char *name, int dataType)
void WriteAppendedDataOffset(vtkTypeInt64 streamPos, vtkTypeInt64 &lastoffset, const char *attr=nullptr)
virtual void SetBlockSize(size_t blockSize)
Get/Set the block size used in compression.
int WriteBinaryData(vtkAbstractArray *a)
void WriteArrayHeader(vtkAbstractArray *a, vtkIndent indent, const char *alternateName, int writeNumTuples, int timestep)
represent and manipulate cell attribute data
void WritePCoordinates(vtkDataArray *xc, vtkDataArray *yc, vtkDataArray *zc, vtkIndent indent)
void WritePointDataInline(vtkPointData *pd, vtkIndent indent)
int UserContinueExecuting
a simple class to control print indentation
virtual int GetDataSetMajorVersion()
void SetCompressorTypeToNone()
void WriteCoordinatesInline(vtkDataArray *xc, vtkDataArray *yc, vtkDataArray *zc, vtkIndent indent)
void SetDataModeToBinary()
virtual const char * GetDataSetName()=0
void WriteCellDataAppendedData(vtkCellData *cd, int timestep, OffsetsManagerGroup *cdManager)
virtual void GetProgressRange(float range[2])
vtkTypeInt64 * NumberOfTimeValues
Abstract interface for data compression classes.
vtkTypeInt64 AppendedDataPosition
void WriteCoordinatesAppendedData(vtkDataArray *xc, vtkDataArray *yc, vtkDataArray *zc, int timestep, OffsetsManagerGroup *coordManager)
void DeleteAFile(const char *name)
void WriteCellDataInline(vtkCellData *cd, vtkIndent indent)
vtkDataObject * GetInput()
int WriteCompressionHeader()
void SetCompressionLevel(int compressorLevel)
void UpdateFieldData(vtkFieldData *)
void SetCompressorTypeToLZMA()
void WritePArray(vtkAbstractArray *a, vtkIndent indent, const char *alternateName=nullptr)
virtual void WriteFileAttributes()
int WriteAsciiData(vtkAbstractArray *a, vtkIndent indent)
virtual void WriteArrayInline(vtkAbstractArray *a, vtkIndent indent, const char *alternateName=nullptr, int writeNumTuples=0)
abstract class to specify dataset behavior
Abstract superclass for all arrays.
void WriteFieldData(vtkIndent indent)
void SetInputData(int, vtkDataObject *)
int WriteScalarAttribute(const char *name, double data)
void WritePointsAppendedData(vtkPoints *points, int timestep, OffsetsManager *pdManager)
vtkTypeInt64 ReserveAttributeSpace(const char *attr, size_t length=20)
unsigned char * ByteSwapBuffer
void WritePPointData(vtkPointData *pd, vtkIndent indent)
void WriteNextTime(double time)
void WriteFieldDataAppended(vtkFieldData *fd, vtkIndent indent, OffsetsManagerGroup *fdManager)
void WriteFieldDataAppendedData(vtkFieldData *fd, int timestep, OffsetsManagerGroup *fdManager)
int WriteCompressionBlock(unsigned char *data, size_t size)
Abstract superclass to iterate over elements in an vtkAbstractArray.
void SetHeaderTypeToUInt32()
void WriteCoordinatesAppended(vtkDataArray *xc, vtkDataArray *yc, vtkDataArray *zc, vtkIndent indent, OffsetsManagerGroup *coordManager)
int WriteScalarAttribute(const char *name, float data)
void SetCompressorType(int compressorType)
Convenience functions to set the compressor to certain known types.
vtkTypeInt64 GetAppendedDataOffset()
size_t GetWordTypeSize(int dataType)
void WritePPoints(vtkPoints *points, vtkIndent indent)
Wraps a binary output stream with a VTK interface.
void WriteArrayAppendedData(vtkAbstractArray *a, vtkTypeInt64 pos, vtkTypeInt64 &lastoffset)
vtkOutputStream * DataStream
void SetInputData(vtkDataObject *)
Assign a data object as input.
void WritePointsInline(vtkPoints *points, vtkIndent indent)
vtkTypeBool EncodeAppendedData
Helper class due to PIMPL excess.
virtual void SetHeaderType(int)
Get/Set the binary data header word type.
void ForwardAppendedDataDouble(vtkTypeInt64 streamPos, double value, const char *attr)
Wrapper around std::string to keep symbols short.
virtual void SetProgressRange(const float range[2], int curStep, int numSteps)
vtkDataSet * GetInputAsDataSet()
vtkTypeInt64 CompressionHeaderPosition
virtual void WriteInlineData(vtkAbstractArray *a, vtkIndent indent)
general representation of visualization data
virtual void SetCompressor(vtkDataCompressor *)
Get/Set the compressor used to compress binary and appended data before writing to the file.
void DestroyStringArray(int numStrings, char **strings)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetHeaderTypeToUInt64()
int WriteDataModeAttribute(const char *name)
int WriteBinaryDataBlock(unsigned char *in_data, size_t numWords, int wordType)
int ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...