VTK
vtkXMLCompositeDataWriter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkXMLCompositeDataWriter.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
25 #ifndef vtkXMLCompositeDataWriter_h
26 #define vtkXMLCompositeDataWriter_h
27 
28 #include "vtkIOXMLModule.h" // For export macro
29 #include "vtkXMLWriter.h"
30 #include "vtkStdString.h" // needed for vtkStdString.
31 
32 class vtkCallbackCommand;
34 class vtkXMLDataElement;
35 class vtkXMLCompositeDataWriterInternals;
36 
38 {
39 public:
41  void PrintSelf(ostream& os, vtkIndent indent);
42 
44  virtual const char* GetDefaultFileExtension();
45 
50  vtkGetMacro(GhostLevel, int);
51  vtkSetMacro(GhostLevel, int);
53 
55 
56  vtkGetMacro(WriteMetaFile, int);
57  virtual void SetWriteMetaFile(int flag);
59 
61 
66 
67 protected:
70 
72 
75  virtual int GetDataSetMajorVersion() { return 1; }
76  virtual int GetDataSetMinorVersion() { return 0; }
78 
81 
82  // see algorithm for more info
84 
89 
90  virtual int WriteData();
91  virtual const char* GetDataSetName();
92 
93  // Create a default executive.
95 
97 
100 
102  unsigned int GetNumberOfDataTypes();
103 
106 
107  // Methods to create the set of writers matching the set of inputs.
110 
111  // Methods to help construct internal file names.
113  const char* GetFilePrefix();
114  const char* GetFilePath();
115 
120 
121  // Make a directory.
122  void MakeDirectory(const char* name);
123 
124  // Remove a directory.
125  void RemoveADirectory(const char* name);
126 
127  // Internal implementation details.
128  vtkXMLCompositeDataWriterInternals* Internal;
129 
130  // The number of ghost levels to write for unstructured data.
132 
137 
138  // Callback registered with the ProgressObserver.
139  static void ProgressCallbackFunction(vtkObject*, unsigned long, void*,
140  void*);
141  // Progress callback from internal writer.
143 
144  // The observer to report progress from the internal writer.
146 
148 
154  virtual int WriteComposite(vtkCompositeDataSet* compositeData,
155  vtkXMLDataElement* element, int &writerIdx)=0;
157 
159 
167  vtkDataObject* dObj, vtkXMLDataElement* element,
168  int& writerIdx, const char* FileName);
170 
173  virtual void RemoveWrittenFiles(const char* SubDirectory);
174 
175 private:
176  vtkXMLCompositeDataWriter(const vtkXMLCompositeDataWriter&); // Not implemented.
177  void operator=(const vtkXMLCompositeDataWriter&); // Not implemented.
178 };
179 
180 #endif
vtkXMLCompositeDataWriter::ProcessRequest
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkStdString.h
VTKIOXML_EXPORT
#define VTKIOXML_EXPORT
Definition: vtkIOXMLModule.h:15
vtkXMLCompositeDataWriter::FillDataTypes
virtual void FillDataTypes(vtkCompositeDataSet *)
vtkXMLCompositeDataWriter::vtkXMLCompositeDataWriter
vtkXMLCompositeDataWriter()
vtkXMLCompositeDataWriter::CreateDefaultExecutive
virtual vtkExecutive * CreateDefaultExecutive()
vtkXMLCompositeDataWriter::WriteMetaFile
int WriteMetaFile
Definition: vtkXMLCompositeDataWriter.h:136
vtkXMLCompositeDataWriter::WriteNonCompositeData
virtual int WriteNonCompositeData(vtkDataObject *dObj, vtkXMLDataElement *element, int &writerIdx, const char *FileName)
vtkXMLCompositeDataWriter::RemoveWrittenFiles
virtual void RemoveWrittenFiles(const char *SubDirectory)
vtkXMLCompositeDataWriter::WriteMetaFileIfRequested
int WriteMetaFileIfRequested()
vtkXMLCompositeDataWriter::SplitFileName
void SplitFileName()
vtkXMLCompositeDataWriter::GetWriter
vtkXMLWriter * GetWriter(int index)
vtkAlgorithm
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:62
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkXMLCompositeDataWriter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkXMLWriter.h
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkXMLCompositeDataWriter::ProgressCallbackFunction
static void ProgressCallbackFunction(vtkObject *, unsigned long, void *, void *)
vtkCompositeDataSet
abstract superclass for composite (multi-block or AMR) datasets
Definition: vtkCompositeDataSet.h:51
vtkIOXMLModule.h
vtkXMLCompositeDataWriter::CreatePieceFileName
vtkStdString CreatePieceFileName(int Piece)
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkgl::name
GLuint const GLchar * name
Definition: vtkgl.h:11983
vtkExecutive
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:52
vtkXMLCompositeDataWriter::RemoveADirectory
void RemoveADirectory(const char *name)
vtkXMLWriter
Superclass for VTK's XML file writers.
Definition: vtkXMLWriter.h:54
vtkXMLCompositeDataWriter::ProgressObserver
vtkCallbackCommand * ProgressObserver
Definition: vtkXMLCompositeDataWriter.h:145
vtkXMLCompositeDataWriter::GetDataSetName
virtual const char * GetDataSetName()
vtkXMLCompositeDataWriter::GhostLevel
int GhostLevel
Definition: vtkXMLCompositeDataWriter.h:131
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkXMLCompositeDataWriter::RequestUpdateExtent
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkXMLCompositeDataWriter::Internal
vtkXMLCompositeDataWriterInternals * Internal
Definition: vtkXMLCompositeDataWriter.h:128
vtkXMLDataElement
Represents an XML element and those nested inside.
Definition: vtkXMLDataElement.h:36
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkXMLCompositeDataWriter::GetFilePath
const char * GetFilePath()
vtkXMLCompositeDataWriter::CreateWriters
void CreateWriters(vtkCompositeDataSet *)
vtkXMLCompositeDataWriter::GetDataTypesPointer
int * GetDataTypesPointer()
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkXMLCompositeDataWriter::FillInputPortInformation
virtual int FillInputPortInformation(int port, vtkInformation *info)
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkgl::index
GLuint index
Definition: vtkgl.h:11983
vtkXMLCompositeDataWriter::SetWriteMetaFile
virtual void SetWriteMetaFile(int flag)
vtkCallbackCommand
supports function callbacks
Definition: vtkCallbackCommand.h:50
vtkXMLCompositeDataWriter::GetDefaultFileExtension
virtual const char * GetDefaultFileExtension()
vtkXMLCompositeDataWriter::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkXMLCompositeDataWriter::WriteData
virtual int WriteData()
vtkgl::w
GLubyte GLubyte GLubyte GLubyte w
Definition: vtkgl.h:12054
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:48
vtkXMLCompositeDataWriter::GetDataSetMajorVersion
virtual int GetDataSetMajorVersion()
Definition: vtkXMLCompositeDataWriter.h:75
vtkXMLCompositeDataWriter::GetDataSetMinorVersion
virtual int GetDataSetMinorVersion()
Definition: vtkXMLCompositeDataWriter.h:76
vtkXMLCompositeDataWriter::GetNumberOfDataTypes
unsigned int GetNumberOfDataTypes()
vtkXMLCompositeDataWriter::MakeDirectory
void MakeDirectory(const char *name)
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
vtkXMLCompositeDataWriter
Writer for multi-group datasets.
Definition: vtkXMLCompositeDataWriter.h:38
vtkXMLCompositeDataWriter::WriteComposite
virtual int WriteComposite(vtkCompositeDataSet *compositeData, vtkXMLDataElement *element, int &writerIdx)=0
vtkXMLCompositeDataWriter::~vtkXMLCompositeDataWriter
~vtkXMLCompositeDataWriter()
vtkXMLCompositeDataWriter::InputInformation
vtkInformation * InputInformation
Definition: vtkXMLCompositeDataWriter.h:96
vtkXMLCompositeDataWriter::GetFilePrefix
const char * GetFilePrefix()
vtkXMLCompositeDataWriter::ProgressCallback
virtual void ProgressCallback(vtkAlgorithm *w)