25 #ifndef vtkXMLWriter_h
26 #define vtkXMLWriter_h
28 #include "vtkIOXMLModule.h"
70 enum { Ascii, Binary, Appended };
77 enum { Int32=32, Int64=64 };
84 enum { UInt32=32, UInt64=64 };
92 vtkGetMacro(ByteOrder,
int);
103 vtkGetMacro(HeaderType,
int);
114 vtkGetMacro(IdType,
int);
123 vtkSetStringMacro(FileName);
132 vtkGetMacro(WriteToOutputString,
int);
159 this->SetCompressorType(NONE);
163 this->SetCompressorType(ZLIB);
175 vtkGetMacro(BlockSize,
size_t);
185 vtkGetMacro(DataMode,
int);
200 vtkGetMacro(EncodeAppendedData,
int);
236 vtkGetMacro(NumberOfTimeSteps,
int);
299 # if VTK_SIZEOF_SHORT == 4
300 typedef short Int32IdType;
301 # elif VTK_SIZEOF_INT == 4
302 typedef int Int32IdType;
303 # elif VTK_SIZEOF_LONG == 4
304 typedef long Int32IdType;
306 # error "No native data type can represent a signed 32-bit integer."
368 vtkTypeInt64 &lastoffset,
380 #ifdef VTK_USE_64BIT_IDS
387 #ifdef VTK_USE_64BIT_IDS
399 const char* alternateName,
int writeNumTuples,
int timestep);
402 const char* alternateName=0,
int writeNumTuples=0);
406 OffsetsManager &offs,
const char* alternateName=0,
int writeNumTuples=0,
412 vtkTypeInt64 &lastoffset);
447 const char* alternateName=0);
471 float ProgressRange[2];
501 friend class vtkXMLWriterHelper;
505 void operator=(
const vtkXMLWriter&) VTK_DELETE_FUNCTION;
Helper class due to PIMPL excess.
Abstract superclass for all arrays.
Superclass for all sources, filters, and sinks in VTK.
Implementation template for a array iterator.
Abstract superclass to iterate over elements in an vtkAbstractArray.
represent and manipulate cell attribute data
abstract superclass for arrays of numeric data
Abstract interface for data compression classes.
general representation of visualization data
represent and manipulate attribute data in a dataset
abstract class to specify dataset behavior
represent and manipulate fields of data
a simple class to control print indentation
Wraps a binary output stream with a VTK interface.
represent and manipulate point attribute data
represent and manipulate 3D points
Wrapper around std::string to keep symbols short.
Superclass for VTK's XML file writers.
virtual int GetDataSetMajorVersion()
int WriteBinaryDataInternal(vtkAbstractArray *a)
int WriteBinaryDataBlock(unsigned char *in_data, size_t numWords, int wordType)
void WriteArrayAppended(vtkAbstractArray *a, vtkIndent indent, OffsetsManager &offs, const char *alternateName=0, int writeNumTuples=0, int timestep=0)
void WriteFieldData(vtkIndent indent)
void SetInputData(vtkDataObject *)
Assign a data object as input.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual int GetDataSetMinorVersion()
virtual void SetCompressor(vtkDataCompressor *)
Get/Set the compressor used to compress binary and appended data before writing to the file.
void SetByteOrderToLittleEndian()
void SetCompressorTypeToZLib()
int WriteBinaryData(vtkAbstractArray *a)
unsigned char * ByteSwapBuffer
void WritePCellData(vtkCellData *cd, vtkIndent indent)
vtkDataObject * GetInput(int port)
int UserContinueExecuting
vtkDataObject * GetInput()
void WriteArrayAppendedData(vtkAbstractArray *a, vtkTypeInt64 pos, vtkTypeInt64 &lastoffset)
int WriteCompressionHeader()
void WriteFieldDataAppendedData(vtkFieldData *fd, int timestep, OffsetsManagerGroup *fdManager)
int WriteScalarAttribute(const char *name, int data)
void DestroyStringArray(int numStrings, char **strings)
vtkXMLDataHeader * CompressionHeader
void WriteAppendedDataOffset(vtkTypeInt64 streamPos, vtkTypeInt64 &lastoffset, const char *attr=0)
void ForwardAppendedDataDouble(vtkTypeInt64 streamPos, double value, const char *attr)
void WritePointDataAppended(vtkPointData *pd, vtkIndent indent, OffsetsManagerGroup *pdManager)
int Write()
Invoke the writer.
void WritePPointData(vtkPointData *pd, vtkIndent indent)
void WritePPoints(vtkPoints *points, vtkIndent indent)
vtkTypeInt64 AppendedDataPosition
void SetCompressorTypeToNone()
void WriteFieldDataAppended(vtkFieldData *fd, vtkIndent indent, OffsetsManagerGroup *fdManager)
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
int WriteStringAttribute(const char *name, const char *value)
bool WriteInformation(vtkInformation *info, vtkIndent indent)
virtual void WriteArrayInline(vtkAbstractArray *a, vtkIndent indent, const char *alternateName=0, int writeNumTuples=0)
int WriteCompressionBlock(unsigned char *data, size_t size)
void SetDataModeToBinary()
size_t GetOutputWordTypeSize(int dataType)
std::ostringstream * OutStringStream
int WriteVectorAttribute(const char *name, int length, int *data)
void SetInputData(int, vtkDataObject *)
virtual void UpdateProgressDiscrete(float progress)
void WritePointsAppended(vtkPoints *points, vtkIndent indent, OffsetsManager *manager)
int WriteVectorAttribute(const char *name, int length, float *data)
int WriteDataModeAttribute(const char *name)
void Start()
API to interface an outside the VTK pipeline control.
void WritePointsAppendedData(vtkPoints *points, int timestep, OffsetsManager *pdManager)
void WriteCoordinatesAppendedData(vtkDataArray *xc, vtkDataArray *yc, vtkDataArray *zc, int timestep, OffsetsManagerGroup *coordManager)
Int32IdType * Int32IdTypeBuffer
void SetDataModeToAppended()
void SetCompressorType(int compressorType)
Convenience functions to set the compressor to certain known types.
void WriteArrayHeader(vtkAbstractArray *a, vtkIndent indent, const char *alternateName, int writeNumTuples, int timestep)
void WritePointsInline(vtkPoints *points, vtkIndent indent)
virtual void SetProgressRange(const float range[2], int curStep, const float *fractions)
void SetHeaderTypeToUInt32()
vtkTypeInt64 GetAppendedDataOffset()
void WriteCellDataAppendedData(vtkCellData *cd, int timestep, OffsetsManagerGroup *cdManager)
virtual void SetDataStream(vtkOutputStream *)
int WriteVectorAttribute(const char *name, int length, double *data)
void SetHeaderTypeToUInt64()
int WriteScalarAttribute(const char *name, double data)
void WriteCellDataAppended(vtkCellData *cd, vtkIndent indent, OffsetsManagerGroup *cdManager)
virtual void WriteFileAttributes()
vtkDataSet * GetInputAsDataSet()
void WritePCoordinates(vtkDataArray *xc, vtkDataArray *yc, vtkDataArray *zc, vtkIndent indent)
void WritePArray(vtkAbstractArray *a, vtkIndent indent, const char *alternateName=0)
void WriteCoordinatesInline(vtkDataArray *xc, vtkDataArray *yc, vtkDataArray *zc, vtkIndent indent)
void SetByteOrderToBigEndian()
vtkTypeInt64 * NumberOfTimeValues
void WriteCoordinatesAppended(vtkDataArray *xc, vtkDataArray *yc, vtkDataArray *zc, vtkIndent indent, OffsetsManagerGroup *coordManager)
size_t CompressionBlockNumber
vtkOutputStream * DataStream
void WriteFieldDataInline(vtkFieldData *fd, vtkIndent indent)
void WritePointDataInline(vtkPointData *pd, vtkIndent indent)
std::string GetOutputString()
OffsetsManagerGroup * FieldDataOM
const char * GetWordTypeName(int dataType)
virtual void GetProgressRange(float range[2])
vtkTypeInt64 ReserveAttributeSpace(const char *attr, size_t length=20)
virtual void SetProgressRange(const float range[2], int curStep, int numSteps)
virtual void WriteInlineData(vtkAbstractArray *a, vtkIndent indent)
int CreateCompressionHeader(size_t size)
vtkDataCompressor * Compressor
virtual const char * GetDataSetName()=0
virtual int WritePrimaryElement(ostream &os, vtkIndent indent)
virtual const char * GetDefaultFileExtension()=0
Get the default file extension for files written by this writer.
virtual void SetProgressPartial(float fraction)
int WriteScalarAttribute(const char *name, float data)
void WriteNextTime(double time)
void DeleteAFile(const char *name)
void ForwardAppendedDataOffset(vtkTypeInt64 streamPos, vtkTypeInt64 offset, const char *attr=0)
void WritePointDataAppendedData(vtkPointData *pd, int timestep, OffsetsManagerGroup *pdManager)
virtual void SetBlockSize(size_t blockSize)
Get/Set the block size used in compression.
virtual void SetIdType(int)
Get/Set the size of the vtkIdType values stored in the file.
vtkTypeInt64 CompressionHeaderPosition
void SetDataModeToAscii()
void WriteAttributeIndices(vtkDataSetAttributes *dsa, char **names)
int WriteAsciiData(vtkAbstractArray *a, vtkIndent indent)
char ** CreateStringArray(int numStrings)
virtual void WriteArrayFooter(ostream &os, vtkIndent indent, vtkAbstractArray *a, int shortFormat)
size_t GetWordTypeSize(int dataType)
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual void WritePrimaryElementAttributes(ostream &os, vtkIndent indent)
virtual void SetHeaderType(int)
Get/Set the binary data header word type.
virtual int WriteInternal()
void WriteCellDataInline(vtkCellData *cd, vtkIndent indent)
int WriteWordTypeAttribute(const char *name, int dataType)
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void PerformByteSwap(void *data, size_t numWords, size_t wordSize)
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.