30 #ifndef vtkXMLWriter_h 
   31 #define vtkXMLWriter_h 
   34 #include "vtkIOXMLModule.h"  
  116   vtkSetMacro(ByteOrder, 
int);
 
  117   vtkGetMacro(ByteOrder, 
int);
 
  118   void SetByteOrderToBigEndian();
 
  119   void SetByteOrderToLittleEndian();
 
  127   virtual void SetHeaderType(
int);
 
  128   vtkGetMacro(HeaderType, 
int);
 
  129   void SetHeaderTypeToUInt32();
 
  130   void SetHeaderTypeToUInt64();
 
  138   virtual void SetIdType(
int);
 
  139   vtkGetMacro(IdType, 
int);
 
  140   void SetIdTypeToInt32();
 
  141   void SetIdTypeToInt64();
 
  148   vtkSetStringMacro(FileName);
 
  149   vtkGetStringMacro(FileName);
 
  183   void SetCompressorType(
int compressorType);
 
  189   void SetCompressionLevel(
int compressorLevel);
 
  190   vtkGetMacro(CompressionLevel, 
int);
 
  200   virtual void SetBlockSize(
size_t blockSize);
 
  201   vtkGetMacro(BlockSize, 
size_t);
 
  210   vtkSetMacro(DataMode, 
int);
 
  211   vtkGetMacro(DataMode, 
int);
 
  212   void SetDataModeToAscii();
 
  213   void SetDataModeToBinary();
 
  214   void SetDataModeToAppended();
 
  245   virtual const char* GetDefaultFileExtension() = 0;
 
  260   vtkGetMacro(NumberOfTimeSteps, 
int);
 
  261   vtkSetMacro(NumberOfTimeSteps, 
int);
 
  270   void WriteNextTime(
double time);
 
  320 #if VTK_SIZEOF_SHORT == 4 
  321   typedef short Int32IdType;
 
  322 #elif VTK_SIZEOF_INT == 4 
  323   typedef int Int32IdType;
 
  324 #elif VTK_SIZEOF_LONG == 4 
  325   typedef long Int32IdType;
 
  327 #error "No native data type can represent a signed 32-bit integer." 
  344   int CompressionLevel = 5;
 
  355   virtual int WriteInternal();
 
  362   virtual const char* GetDataSetName() = 0;
 
  365   virtual int GetDataSetMajorVersion();
 
  366   virtual int GetDataSetMinorVersion();
 
  370   virtual int StartFile();
 
  371   virtual void WriteFileAttributes();
 
  372   virtual int EndFile();
 
  374   void DeleteAFile(
const char* 
name);
 
  376   virtual int WritePrimaryElement(ostream& os, 
vtkIndent indent);
 
  377   virtual void WritePrimaryElementAttributes(ostream& os, 
vtkIndent indent);
 
  378   void StartAppendedData();
 
  379   void EndAppendedData();
 
  388   vtkTypeInt64 ReserveAttributeSpace(
const char* attr, 
size_t length = 20);
 
  390   vtkTypeInt64 GetAppendedDataOffset();
 
  391   void WriteAppendedDataOffset(
 
  392     vtkTypeInt64 streamPos, vtkTypeInt64& lastoffset, 
const char* attr = 
nullptr);
 
  393   void ForwardAppendedDataOffset(
 
  394     vtkTypeInt64 streamPos, vtkTypeInt64 
offset, 
const char* attr = 
nullptr);
 
  395   void ForwardAppendedDataDouble(vtkTypeInt64 streamPos, 
double value, 
const char* attr);
 
  397   int WriteScalarAttribute(
const char* 
name, 
int data);
 
  398   int WriteScalarAttribute(
const char* 
name, 
float data);
 
  399   int WriteScalarAttribute(
const char* 
name, 
double data);
 
  400 #ifdef VTK_USE_64BIT_IDS 
  404   int WriteVectorAttribute(
const char* 
name, 
int length, 
int* 
data);
 
  405   int WriteVectorAttribute(
const char* 
name, 
int length, 
float* 
data);
 
  406   int WriteVectorAttribute(
const char* 
name, 
int length, 
double* 
data);
 
  407 #ifdef VTK_USE_64BIT_IDS 
  411   int WriteDataModeAttribute(
const char* 
name);
 
  412   int WriteWordTypeAttribute(
const char* 
name, 
int dataType);
 
  413   int WriteStringAttribute(
const char* 
name, 
const char* 
value);
 
  419     int writeNumTuples, 
int timestep);
 
  420   virtual void WriteArrayFooter(
 
  423     const char* alternateName = 
nullptr, 
int writeNumTuples = 0);
 
  427     const char* alternateName = 
nullptr, 
int writeNumTuples = 0, 
int timestep = 0);
 
  431   void WriteArrayAppendedData(
vtkAbstractArray* a, vtkTypeInt64 pos, vtkTypeInt64& lastoffset);
 
  448   void WriteCoordinatesInline(
 
  461   int WriteBinaryDataBlock(
unsigned char* in_data, 
size_t numWords, 
int wordType);
 
  462   void PerformByteSwap(
void* 
data, 
size_t numWords, 
size_t wordSize);
 
  463   int CreateCompressionHeader(
size_t size);
 
  464   int WriteCompressionBlock(
unsigned char* 
data, 
size_t size);
 
  465   int WriteCompressionHeader();
 
  466   size_t GetWordTypeSize(
int dataType);
 
  467   const char* GetWordTypeName(
int dataType);
 
  468   size_t GetOutputWordTypeSize(
int dataType);
 
  470   char** CreateStringArray(
int numStrings);
 
  471   void DestroyStringArray(
int numStrings, 
char** strings);
 
  475   virtual void GetProgressRange(
float range[2]);
 
  476   virtual void SetProgressRange(
const float range[2], 
int curStep, 
int numSteps);
 
  477   virtual void SetProgressRange(
const float range[2], 
int curStep, 
const float* fractions);
 
  478   virtual void SetProgressPartial(
float fraction);
 
  479   virtual void UpdateProgressDiscrete(
float progress);
 
  480   float ProgressRange[2];
 
  514   friend class vtkXMLWriterHelper;