VTK
vtkXMLWriter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkXMLWriter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
24 #ifndef vtkXMLWriter_h
25 #define vtkXMLWriter_h
26 
27 #include "vtkIOXMLModule.h" // For export macro
28 #include "vtkAlgorithm.h"
29 #include <vtksys/ios/sstream> // For ostringstream ivar
30 
31 class vtkAbstractArray;
32 class vtkArrayIterator;
33 //BTX
34 template <class T> class vtkArrayIteratorTemplate;
35 //ETX
36 class vtkCellData;
37 class vtkDataArray;
38 class vtkDataCompressor;
39 class vtkDataSet;
41 class vtkOutputStream;
42 class vtkPointData;
43 class vtkPoints;
44 class vtkFieldData;
45 class vtkXMLDataHeader;
46 //BTX
47 class vtkStdString;
48 class OffsetsManager; // one per piece/per time
49 class OffsetsManagerGroup; // array of OffsetsManager
50 class OffsetsManagerArray; // array of OffsetsManagerGroup
51 //ETX
52 
54 {
55 public:
57  void PrintSelf(ostream& os, vtkIndent indent);
58 
59  //BTX
61 
62  enum { BigEndian, LittleEndian };
63  //ETX
65 
66  //BTX
68 
71  enum { Ascii, Binary, Appended };
72  //ETX
74 
75  //BTX
79  enum { Int32=32, Int64=64 };
80 
82 
85  enum { UInt32=32, UInt64=64 };
86  //ETX
88 
90 
92  vtkSetMacro(ByteOrder, int);
93  vtkGetMacro(ByteOrder, int);
97 
99 
101  virtual void SetHeaderType(int);
102  vtkGetMacro(HeaderType, int);
106 
108 
110  virtual void SetIdType(int);
111  vtkGetMacro(IdType, int);
115 
117 
118  vtkSetStringMacro(FileName);
119  vtkGetStringMacro(FileName);
121 
123 
124  vtkSetMacro(WriteToOutputString,int);
125  vtkGetMacro(WriteToOutputString,int);
126  vtkBooleanMacro(WriteToOutputString,int);
127  std::string GetOutputString() { return this->OutputString; }
129 
131 
136 
137 //BTX
139  {
141  ZLIB
142  };
143 //ETX
144 
146 
147  void SetCompressorType(int compressorType);
149  {
150  this->SetCompressorType(NONE);
151  }
153  {
154  this->SetCompressorType(ZLIB);
155  }
157 
159 
163  virtual void SetBlockSize(size_t blockSize);
164  vtkGetMacro(BlockSize, size_t);
166 
168 
171  vtkSetMacro(DataMode, int);
172  vtkGetMacro(DataMode, int);
177 
179 
184  vtkSetMacro(EncodeAppendedData, int);
185  vtkGetMacro(EncodeAppendedData, int);
186  vtkBooleanMacro(EncodeAppendedData, int);
188 
190 
196  vtkDataObject *GetInput() { return this->GetInput(0); };
198 
200  virtual const char* GetDefaultFileExtension()=0;
201 
203  int Write();
204 
205  // See the vtkAlgorithm for a description of what these do
206  virtual int ProcessRequest(vtkInformation* request,
207  vtkInformationVector** inputVector,
208  vtkInformationVector* outputVector);
209 
211 
212  vtkSetMacro(TimeStep, int);
213  vtkGetMacro(TimeStep, int);
215 
217 
218  vtkGetVector2Macro(TimeStepRange, int);
219  vtkSetVector2Macro(TimeStepRange, int);
221 
223 
224  vtkGetMacro(NumberOfTimeSteps,int);
225  vtkSetMacro(NumberOfTimeSteps,int);
227 
229 
230  void Start();
231  void Stop();
232  void WriteNextTime(double time);
234 
235 protected:
238 
239  virtual int RequestInformation(
240  vtkInformation* request,
241  vtkInformationVector** inputVector,
242  vtkInformationVector* outputVector);
243  virtual int RequestData(vtkInformation* request,
244  vtkInformationVector** inputVector,
245  vtkInformationVector* outputVector);
246 
247  // The name of the output file.
248  char* FileName;
249 
250  // The output stream to which the XML is written.
251  ostream* Stream;
252 
253  // Whether this object is writing to a string or a file.
254  // Default is 0: write to file.
256 
257  // The output string.
259 
260  // The output byte order.
262 
263  // The output binary header word type.
265 
266  // The output vtkIdType.
267  int IdType;
268 
269  // The form of binary data to write. Used by subclasses to choose
270  // how to write data.
271  int DataMode;
272 
273  // Whether to base64-encode the appended data section.
275 
276  // The stream position at which appended data starts.
277  vtkTypeInt64 AppendedDataPosition;
278 
279  // appended data offsets for field data
281 
282  //BTX
283  // We need a 32 bit signed integer type to which vtkIdType will be
284  // converted if Int32 is specified for the IdType parameter to this
285  // writer.
286 # if VTK_SIZEOF_SHORT == 4
287  typedef short Int32IdType;
288 # elif VTK_SIZEOF_INT == 4
289  typedef int Int32IdType;
290 # elif VTK_SIZEOF_LONG == 4
291  typedef long Int32IdType;
292 # else
293 # error "No native data type can represent a signed 32-bit integer."
294 # endif
295  //ETX
296 
297  // Buffer for vtkIdType conversion.
298  Int32IdType* Int32IdTypeBuffer;
299 
300  // The byte swapping buffer.
301  unsigned char* ByteSwapBuffer;
302 
303  // Compression information.
305  size_t BlockSize;
309 
310  // The output stream used to write binary and appended data. May
311  // transparently encode the data.
313 
314  // Allow subclasses to set the data stream.
317 
318  // Method to drive most of actual writing.
319  virtual int WriteInternal();
320 
321  // Method defined by subclasses to write data. Return 1 for
322  // success, 0 for failure.
323  virtual int WriteData() {return 1;};
324 
325  // Method defined by subclasses to specify the data set's type name.
326  virtual const char* GetDataSetName()=0;
327 
328  // Methods to define the file's major and minor version numbers.
329  virtual int GetDataSetMajorVersion();
330  virtual int GetDataSetMinorVersion();
331 
332  // Utility methods for subclasses.
334  virtual int StartFile();
335  virtual void WriteFileAttributes();
336  virtual int EndFile();
337  void DeleteAFile();
338  void DeleteAFile(const char* name);
339 
340  virtual int WritePrimaryElement(ostream &os, vtkIndent indent);
341  virtual void WritePrimaryElementAttributes(ostream &os, vtkIndent indent);
344 
345  // Write enough space to go back and write the given attribute with
346  // at most "length" characters in the value. Returns the stream
347  // position at which attribute should be later written. The default
348  // length of 20 is enough for a 64-bit integer written in decimal or
349  // a double-precision floating point value written to 13 digits of
350  // precision (the other 7 come from a minus sign, decimal place, and
351  // a big exponent like "e+300").
352  vtkTypeInt64 ReserveAttributeSpace(const char* attr, size_t length=20);
353 
354  vtkTypeInt64 GetAppendedDataOffset();
355  void WriteAppendedDataOffset(vtkTypeInt64 streamPos,
356  vtkTypeInt64 &lastoffset,
357  const char* attr=0);
358  void ForwardAppendedDataOffset(vtkTypeInt64 streamPos,
359  vtkTypeInt64 offset,
360  const char* attr=0);
361  void ForwardAppendedDataDouble(vtkTypeInt64 streamPos,
362  double value,
363  const char* attr);
364 
365  int WriteScalarAttribute(const char* name, int data);
366  int WriteScalarAttribute(const char* name, float data);
367  int WriteScalarAttribute(const char* name, double data);
368 #ifdef VTK_USE_64BIT_IDS
369  int WriteScalarAttribute(const char* name, vtkIdType data);
370 #endif
371 
372  int WriteVectorAttribute(const char* name, int length, int* data);
373  int WriteVectorAttribute(const char* name, int length, float* data);
374  int WriteVectorAttribute(const char* name, int length, double* data);
375 #ifdef VTK_USE_64BIT_IDS
376  int WriteVectorAttribute(const char* name, int length, vtkIdType* data);
377 #endif
378 
379  int WriteDataModeAttribute(const char* name);
380  int WriteWordTypeAttribute(const char* name, int dataType);
381  int WriteStringAttribute(const char* name, const char* value);
382 
384  const char* alternateName, int writeNumTuples, int timestep);
385  void WriteArrayFooter(ostream &os, vtkIndent indent, vtkAbstractArray *a, int shortFormat);
387  const char* alternateName=0, int writeNumTuples=0);
389 
391  OffsetsManager &offs, const char* alternateName=0, int writeNumTuples=0,
392  int timestep=0);
396  void WriteArrayAppendedData(vtkAbstractArray* a, vtkTypeInt64 pos,
397  vtkTypeInt64 &lastoffset);
398 
399  // Methods for writing points, point data, and cell data.
400  void WriteFieldData(vtkIndent indent);
405  OffsetsManagerGroup *fdManager);
406  void WriteFieldDataAppendedData(vtkFieldData* fd, int timestep,
407  OffsetsManagerGroup *fdManager);
409  OffsetsManagerGroup *pdManager);
410  void WritePointDataAppendedData(vtkPointData* pd, int timestep,
411  OffsetsManagerGroup *pdManager);
413  OffsetsManagerGroup *cdManager);
414  void WriteCellDataAppendedData(vtkCellData* cd, int timestep,
415  OffsetsManagerGroup *cdManager);
418  void WritePointsAppendedData(vtkPoints* points, int timestep, OffsetsManager *pdManager);
421  vtkDataArray* zc, vtkIndent indent);
423  vtkDataArray* zc, vtkIndent indent,
424  OffsetsManagerGroup *coordManager);
426  vtkDataArray* zc, int timestep,
427  OffsetsManagerGroup *coordManager);
432  const char* alternateName=0);
434  vtkDataArray* zc, vtkIndent indent);
435 
436  // Internal utility methods.
437  int WriteBinaryDataBlock(unsigned char* in_data, size_t numWords, int wordType);
438  void PerformByteSwap(void* data, size_t numWords, size_t wordSize);
440  int WriteCompressionBlock(unsigned char* data, size_t size);
442  size_t GetWordTypeSize(int dataType);
443  const char* GetWordTypeName(int dataType);
444  size_t GetOutputWordTypeSize(int dataType);
445 
446  char** CreateStringArray(int numStrings);
447  void DestroyStringArray(int numStrings, char** strings);
448 
449  // The current range over which progress is moving. This allows for
450  // incrementally fine-tuned progress updates.
451  virtual void GetProgressRange(float range[2]);
452  virtual void SetProgressRange(const float range[2], int curStep, int numSteps);
453  virtual void SetProgressRange(const float range[2], int curStep, const float* fractions);
454  virtual void SetProgressPartial(float fraction);
455  virtual void UpdateProgressDiscrete(float progress);
456  float ProgressRange[2];
457 
458  ofstream* OutFile;
459  vtksys_ios::ostringstream* OutStringStream;
460 
461  int OpenStream();
462  int OpenFile();
463  int OpenString();
464  void CloseStream();
465  void CloseFile();
466  void CloseString();
467 
468  // The timestep currently being written
469  int TimeStep;
472  // Store the range of time steps
473  int TimeStepRange[2];
474 
475  // Dummy boolean var to start/stop the continue executing:
476  // when using the Start/Stop/WriteNextTime API
477  int UserContinueExecuting; //can only be -1 = invalid, 0 = stop, 1 = start
478 
479  // This variable is used to ease transition to new versions of VTK XML files.
480  // If data that needs to be written satisfies certain conditions,
481  // the writer can use the previous file version version.
482  // For version change 0.1 -> 2.0 (UInt32 header) and 1.0 -> 2.0
483  // (UInt64 header), if data does not have a vtkGhostType array,
484  // the file is written with version: 0.1/1.0.
486 
487  vtkTypeInt64 *NumberOfTimeValues; //one per piece / per timestep
488  //BTX
489  friend class vtkXMLWriterHelper;
490  //ETX
491 
492 private:
493  vtkXMLWriter(const vtkXMLWriter&); // Not implemented.
494  void operator=(const vtkXMLWriter&); // Not implemented.
495 };
496 
497 #endif
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:39
vtkXMLWriter::PerformByteSwap
void PerformByteSwap(void *data, size_t numWords, size_t wordSize)
vtkXMLWriter::WriteVectorAttribute
int WriteVectorAttribute(const char *name, int length, int *data)
vtkXMLWriter::CompressionBlockNumber
size_t CompressionBlockNumber
Definition: vtkXMLWriter.h:306
vtkXMLWriter::OutputString
std::string OutputString
Definition: vtkXMLWriter.h:258
vtkXMLWriter::WriteToOutputString
int WriteToOutputString
Definition: vtkXMLWriter.h:255
vtkXMLWriter::CloseString
void CloseString()
vtkXMLWriter::WriteCellDataAppended
void WriteCellDataAppended(vtkCellData *cd, vtkIndent indent, OffsetsManagerGroup *cdManager)
VTKIOXML_EXPORT
#define VTKIOXML_EXPORT
Definition: vtkIOXMLModule.h:15
vtkgl::data
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: vtkgl.h:11339
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkXMLWriter::DataMode
int DataMode
Definition: vtkXMLWriter.h:271
vtkXMLWriter::SetIdType
virtual void SetIdType(int)
vtkXMLWriter::CloseFile
void CloseFile()
vtkXMLWriter::GetInput
vtkDataObject * GetInput(int port)
vtkSetVector2Macro
#define vtkSetVector2Macro(name, type)
Definition: vtkSetGet.h:254
vtkXMLWriter::ByteOrder
int ByteOrder
Definition: vtkXMLWriter.h:261
vtkXMLWriter::GetOutputString
std::string GetOutputString()
Definition: vtkXMLWriter.h:127
vtkglX::NONE
const GLenum NONE
Definition: vtkgl.h:19335
vtkXMLWriter::GetDefaultFileExtension
virtual const char * GetDefaultFileExtension()=0
vtkXMLWriter::GetWordTypeName
const char * GetWordTypeName(int dataType)
vtkXMLWriter::SetCompressorTypeToZLib
void SetCompressorTypeToZLib()
Definition: vtkXMLWriter.h:152
vtkXMLWriter::CreateCompressionHeader
int CreateCompressionHeader(size_t size)
vtkXMLWriter::WritePCellData
void WritePCellData(vtkCellData *cd, vtkIndent indent)
vtkXMLWriter::WritePointDataAppendedData
void WritePointDataAppendedData(vtkPointData *pd, int timestep, OffsetsManagerGroup *pdManager)
vtkGetVector2Macro
#define vtkGetVector2Macro(name, type)
Definition: vtkSetGet.h:270
vtkXMLWriter::WriteFieldDataInline
void WriteFieldDataInline(vtkFieldData *fd, vtkIndent indent)
vtkPointData
represent and manipulate point attribute data
Definition: vtkPointData.h:37
vtkXMLWriter::ProcessRequest
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkXMLWriter::BlockSize
size_t BlockSize
Definition: vtkXMLWriter.h:305
vtkXMLWriter::WriteAttributeIndices
void WriteAttributeIndices(vtkDataSetAttributes *dsa, char **names)
vtkXMLWriter::SetIdTypeToInt64
void SetIdTypeToInt64()
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkXMLWriter::SetByteOrderToLittleEndian
void SetByteOrderToLittleEndian()
vtkXMLWriter::WritePrimaryElementAttributes
virtual void WritePrimaryElementAttributes(ostream &os, vtkIndent indent)
vtkXMLWriter::RequestData
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkXMLWriter::EndAppendedData
void EndAppendedData()
vtkAlgorithm
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:62
vtkDataSetAttributes
represent and manipulate attribute data in a dataset
Definition: vtkDataSetAttributes.h:58
vtkXMLWriter::CompressionHeader
vtkXMLDataHeader * CompressionHeader
Definition: vtkXMLWriter.h:307
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkXMLWriter::TimeStep
int TimeStep
Definition: vtkXMLWriter.h:469
vtkXMLWriter::CloseStream
void CloseStream()
vtkXMLWriter::SetDataModeToAppended
void SetDataModeToAppended()
vtkXMLWriter::GetOutputWordTypeSize
size_t GetOutputWordTypeSize(int dataType)
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkXMLWriter::WritePrimaryElement
virtual int WritePrimaryElement(ostream &os, vtkIndent indent)
vtkArrayIteratorTemplate
Implementation template for a array iterator.
Definition: vtkArrayIteratorTemplate.h:38
vtkgl::names
GLuint GLuint * names
Definition: vtkgl.h:19215
vtkXMLWriter::WriteBinaryDataInternal
int WriteBinaryDataInternal(vtkAbstractArray *a)
vtkXMLWriter::OutFile
ofstream * OutFile
Definition: vtkXMLWriter.h:458
vtkXMLWriter::Write
int Write()
vtkXMLWriter::CurrentTimeIndex
int CurrentTimeIndex
Definition: vtkXMLWriter.h:470
vtkXMLWriter::Stream
ostream * Stream
Definition: vtkXMLWriter.h:251
vtkXMLWriter::NumberOfTimeSteps
int NumberOfTimeSteps
Definition: vtkXMLWriter.h:471
vtkXMLWriter::SetDataModeToAscii
void SetDataModeToAscii()
vtkXMLWriter::CreateStringArray
char ** CreateStringArray(int numStrings)
vtkXMLWriter::WriteArrayInline
void WriteArrayInline(vtkAbstractArray *a, vtkIndent indent, const char *alternateName=0, int writeNumTuples=0)
vtkXMLWriter::WriteAppendedDataOffset
void WriteAppendedDataOffset(vtkTypeInt64 streamPos, vtkTypeInt64 &lastoffset, const char *attr=0)
vtkXMLWriter::SetByteOrderToBigEndian
void SetByteOrderToBigEndian()
vtkXMLWriter::WriteStringAttribute
int WriteStringAttribute(const char *name, const char *value)
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
vtkX3D::time
@ time
Definition: vtkX3D.h:497
vtkXMLWriter::GetDataSetMinorVersion
virtual int GetDataSetMinorVersion()
vtkgl::range
GLenum GLint * range
Definition: vtkgl.h:14180
vtkgl::length
GLuint GLsizei GLsizei * length
Definition: vtkgl.h:11992
vtkgl::points
GLsizei const GLfloat * points
Definition: vtkgl.h:14786
vtkXMLWriter::SetDataStream
virtual void SetDataStream(vtkOutputStream *)
vtkXMLWriter::EndFile
virtual int EndFile()
vtkXMLWriter::WriteInternal
virtual int WriteInternal()
vtkXMLWriter::WriteArrayFooter
void WriteArrayFooter(ostream &os, vtkIndent indent, vtkAbstractArray *a, int shortFormat)
vtkXMLWriter::OpenString
int OpenString()
vtkFieldData
represent and manipulate fields of data
Definition: vtkFieldData.h:56
vtkXMLWriter::SetProgressRange
virtual void SetProgressRange(const float range[2], int curStep, const float *fractions)
vtkAlgorithm.h
vtkXMLWriter::WriteVectorAttribute
int WriteVectorAttribute(const char *name, int length, float *data)
vtkXMLWriter::Start
void Start()
vtkXMLWriter::SetProgressPartial
virtual void SetProgressPartial(float fraction)
vtkXMLWriter::FieldDataOM
OffsetsManagerGroup * FieldDataOM
Definition: vtkXMLWriter.h:280
vtkIOXMLModule.h
vtkXMLWriter::Compressor
vtkDataCompressor * Compressor
Definition: vtkXMLWriter.h:304
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkgl::name
GLuint const GLchar * name
Definition: vtkgl.h:11983
vtkXMLWriter::vtkXMLWriter
vtkXMLWriter()
vtkXMLWriter::WritePointsAppended
void WritePointsAppended(vtkPoints *points, vtkIndent indent, OffsetsManager *manager)
vtkXMLWriter::WriteVectorAttribute
int WriteVectorAttribute(const char *name, int length, double *data)
vtkgl::value
GLsizei const GLfloat * value
Definition: vtkgl.h:12021
vtkXMLWriter::IdType
int IdType
Definition: vtkXMLWriter.h:267
vtkgl::strings
GLsizei const GLchar ** strings
Definition: vtkgl.h:14213
vtkXMLWriter::WriteScalarAttribute
int WriteScalarAttribute(const char *name, int data)
vtkXMLWriter::RequestInformation
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkXMLWriter::Int32IdTypeBuffer
Int32IdType * Int32IdTypeBuffer
Definition: vtkXMLWriter.h:298
vtkXMLWriter::WritePointDataAppended
void WritePointDataAppended(vtkPointData *pd, vtkIndent indent, OffsetsManagerGroup *pdManager)
vtkXMLWriter
Superclass for VTK's XML file writers.
Definition: vtkXMLWriter.h:54
vtkXMLWriter::WriteInlineData
void WriteInlineData(vtkAbstractArray *a, vtkIndent indent)
vtkXMLWriter::UpdateProgressDiscrete
virtual void UpdateProgressDiscrete(float progress)
vtkXMLWriter::WriteWordTypeAttribute
int WriteWordTypeAttribute(const char *name, int dataType)
vtkXMLWriter::SetBlockSize
virtual void SetBlockSize(size_t blockSize)
vtkXMLWriter::WriteBinaryData
int WriteBinaryData(vtkAbstractArray *a)
vtkXMLWriter::WriteArrayHeader
void WriteArrayHeader(vtkAbstractArray *a, vtkIndent indent, const char *alternateName, int writeNumTuples, int timestep)
vtkCellData
represent and manipulate cell attribute data
Definition: vtkCellData.h:38
vtkXMLWriter::WritePCoordinates
void WritePCoordinates(vtkDataArray *xc, vtkDataArray *yc, vtkDataArray *zc, vtkIndent indent)
vtkXMLWriter::WritePointDataInline
void WritePointDataInline(vtkPointData *pd, vtkIndent indent)
vtkXMLWriter::UsePreviousVersion
bool UsePreviousVersion
Definition: vtkXMLWriter.h:485
vtkXMLWriter::UserContinueExecuting
int UserContinueExecuting
Definition: vtkXMLWriter.h:477
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkXMLWriter::OpenStream
int OpenStream()
vtkSetStringMacro
#define vtkSetStringMacro(name)
Definition: vtkSetGet.h:104
vtkXMLWriter::GetDataSetMajorVersion
virtual int GetDataSetMajorVersion()
vtkXMLWriter::SetCompressorTypeToNone
void SetCompressorTypeToNone()
Definition: vtkXMLWriter.h:148
vtkXMLWriter::WriteCoordinatesInline
void WriteCoordinatesInline(vtkDataArray *xc, vtkDataArray *yc, vtkDataArray *zc, vtkIndent indent)
vtkXMLWriter::SetDataModeToBinary
void SetDataModeToBinary()
vtkXMLWriter::GetDataSetName
virtual const char * GetDataSetName()=0
vtkXMLWriter::WriteCellDataAppendedData
void WriteCellDataAppendedData(vtkCellData *cd, int timestep, OffsetsManagerGroup *cdManager)
vtkXMLWriter::GetProgressRange
virtual void GetProgressRange(float range[2])
vtkXMLWriter::WriteArrayAppended
void WriteArrayAppended(vtkAbstractArray *a, vtkIndent indent, OffsetsManager &offs, const char *alternateName=0, int writeNumTuples=0, int timestep=0)
vtkXMLWriter::NumberOfTimeValues
vtkTypeInt64 * NumberOfTimeValues
Definition: vtkXMLWriter.h:487
vtkDataCompressor
Abstract interface for data compression classes.
Definition: vtkDataCompressor.h:33
vtkgl::offset
GLintptr offset
Definition: vtkgl.h:11844
vtkXMLWriter::WriteData
virtual int WriteData()
Definition: vtkXMLWriter.h:323
vtkXMLWriter::AppendedDataPosition
vtkTypeInt64 AppendedDataPosition
Definition: vtkXMLWriter.h:277
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkXMLWriter::WriteCoordinatesAppendedData
void WriteCoordinatesAppendedData(vtkDataArray *xc, vtkDataArray *yc, vtkDataArray *zc, int timestep, OffsetsManagerGroup *coordManager)
vtkXMLWriter::Binary
@ Binary
Definition: vtkXMLWriter.h:71
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
vtkXMLWriter::OpenFile
int OpenFile()
vtkXMLWriter::DeleteAFile
void DeleteAFile(const char *name)
OffsetsManagerGroup
Definition: vtkXMLOffsetsManager.h:109
vtkXMLWriter::ForwardAppendedDataOffset
void ForwardAppendedDataOffset(vtkTypeInt64 streamPos, vtkTypeInt64 offset, const char *attr=0)
vtkXMLWriter::WriteCellDataInline
void WriteCellDataInline(vtkCellData *cd, vtkIndent indent)
vtkXMLWriter::SetIdTypeToInt32
void SetIdTypeToInt32()
vtkXMLWriter::GetInput
vtkDataObject * GetInput()
Definition: vtkXMLWriter.h:196
vtkXMLWriter::HeaderType
int HeaderType
Definition: vtkXMLWriter.h:264
vtkgl::a
GLboolean GLboolean GLboolean GLboolean a
Definition: vtkgl.h:12312
vtkXMLWriter::WriteCompressionHeader
int WriteCompressionHeader()
vtkXMLWriter::CompressorType
CompressorType
Definition: vtkXMLWriter.h:139
vtkXMLWriter::WriteFileAttributes
virtual void WriteFileAttributes()
vtkXMLWriter::WriteAsciiData
int WriteAsciiData(vtkAbstractArray *a, vtkIndent indent)
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
vtkAbstractArray
Abstract superclass for all arrays.
Definition: vtkAbstractArray.h:65
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkXMLWriter::OutStringStream
vtksys_ios::ostringstream * OutStringStream
Definition: vtkXMLWriter.h:459
vtkXMLWriter::WriteFieldData
void WriteFieldData(vtkIndent indent)
vtkXMLWriter::SetInputData
void SetInputData(int, vtkDataObject *)
OffsetsManagerArray
Definition: vtkXMLOffsetsManager.h:158
vtkXMLWriter::WriteScalarAttribute
int WriteScalarAttribute(const char *name, double data)
vtkXMLWriter::WritePointsAppendedData
void WritePointsAppendedData(vtkPoints *points, int timestep, OffsetsManager *pdManager)
vtkXMLWriter::ReserveAttributeSpace
vtkTypeInt64 ReserveAttributeSpace(const char *attr, size_t length=20)
vtkXMLWriter::DeleteAFile
void DeleteAFile()
vtkXMLWriter::~vtkXMLWriter
~vtkXMLWriter()
vtkXMLWriter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkXMLWriter::ByteSwapBuffer
unsigned char * ByteSwapBuffer
Definition: vtkXMLWriter.h:301
vtkXMLWriter::WritePPointData
void WritePPointData(vtkPointData *pd, vtkIndent indent)
vtkXMLWriter::EncodeAppendedData
int EncodeAppendedData
Definition: vtkXMLWriter.h:274
vtkXMLWriter::WriteNextTime
void WriteNextTime(double time)
vtkXMLWriter::WriteFieldDataAppended
void WriteFieldDataAppended(vtkFieldData *fd, vtkIndent indent, OffsetsManagerGroup *fdManager)
vtkXMLWriter::WriteFieldDataAppendedData
void WriteFieldDataAppendedData(vtkFieldData *fd, int timestep, OffsetsManagerGroup *fdManager)
vtkXMLWriter::WriteCompressionBlock
int WriteCompressionBlock(unsigned char *data, size_t size)
vtkArrayIterator
Abstract superclass to iterate over elements in an vtkAbstractArray.
Definition: vtkArrayIterator.h:49
vtkXMLWriter::FileName
char * FileName
Definition: vtkXMLWriter.h:248
vtkXMLWriter::SetHeaderTypeToUInt32
void SetHeaderTypeToUInt32()
vtkXMLWriter::WriteCoordinatesAppended
void WriteCoordinatesAppended(vtkDataArray *xc, vtkDataArray *yc, vtkDataArray *zc, vtkIndent indent, OffsetsManagerGroup *coordManager)
vtkXMLWriter::NONE
@ NONE
Definition: vtkXMLWriter.h:140
vtkXMLWriter::WriteScalarAttribute
int WriteScalarAttribute(const char *name, float data)
vtkXMLWriter::SetCompressorType
void SetCompressorType(int compressorType)
vtkXMLWriter::GetAppendedDataOffset
vtkTypeInt64 GetAppendedDataOffset()
vtkXMLWriter::GetWordTypeSize
size_t GetWordTypeSize(int dataType)
vtkXMLWriter::WritePPoints
void WritePPoints(vtkPoints *points, vtkIndent indent)
vtkOutputStream
Wraps a binary output stream with a VTK interface.
Definition: vtkOutputStream.h:33
vtkXMLWriter::WriteArrayAppendedData
void WriteArrayAppendedData(vtkAbstractArray *a, vtkTypeInt64 pos, vtkTypeInt64 &lastoffset)
vtkXMLWriter::DataStream
vtkOutputStream * DataStream
Definition: vtkXMLWriter.h:312
vtkXMLWriter::SetInputData
void SetInputData(vtkDataObject *)
vtkXMLWriter::WritePointsInline
void WritePointsInline(vtkPoints *points, vtkIndent indent)
vtkX3D::progress
@ progress
Definition: vtkX3D.h:452
OffsetsManager
Helper class due to PIMPL excess.
Definition: vtkXMLOffsetsManager.h:54
vtkXMLWriter::SetHeaderType
virtual void SetHeaderType(int)
vtkXMLWriter::WritePArray
void WritePArray(vtkAbstractArray *a, vtkIndent indent, const char *alternateName=0)
vtkXMLWriter::ForwardAppendedDataDouble
void ForwardAppendedDataDouble(vtkTypeInt64 streamPos, double value, const char *attr)
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:48
vtkXMLWriter::SetProgressRange
virtual void SetProgressRange(const float range[2], int curStep, int numSteps)
vtkXMLWriter::GetInputAsDataSet
vtkDataSet * GetInputAsDataSet()
vtkXMLWriter::CompressionHeaderPosition
vtkTypeInt64 CompressionHeaderPosition
Definition: vtkXMLWriter.h:308
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
vtkXMLWriter::SetCompressor
virtual void SetCompressor(vtkDataCompressor *)
vtkXMLWriter::DestroyStringArray
void DestroyStringArray(int numStrings, char **strings)
vtkXMLWriter::StartAppendedData
void StartAppendedData()
vtkXMLDataHeader
Definition: vtkXMLDataHeaderPrivate.h:30
vtkgl::string
GLsizei const GLchar ** string
Definition: vtkgl.h:12011
vtkXMLWriter::Stop
void Stop()
vtkXMLWriter::SetHeaderTypeToUInt64
void SetHeaderTypeToUInt64()
vtkXMLWriter::WriteDataModeAttribute
int WriteDataModeAttribute(const char *name)
vtkgl::size
GLsizeiptr size
Definition: vtkgl.h:11843
vtkXMLWriter::WriteBinaryDataBlock
int WriteBinaryDataBlock(unsigned char *in_data, size_t numWords, int wordType)
vtkXMLWriter::StartFile
virtual int StartFile()