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=========================================================================*/
26#ifndef vtkXMLCompositeDataWriter_h
27#define vtkXMLCompositeDataWriter_h
28
29#include "vtkIOXMLModule.h" // For export macro
30#include "vtkXMLWriter.h"
31#include "vtkStdString.h" // needed for vtkStdString.
32
36class vtkXMLCompositeDataWriterInternals;
37
38class VTKIOXML_EXPORT vtkXMLCompositeDataWriter : public vtkXMLWriter
39{
40public:
42 void PrintSelf(ostream& os, vtkIndent indent);
43
47 virtual const char* GetDefaultFileExtension();
48
57 vtkGetMacro(GhostLevel, int);
58 vtkSetMacro(GhostLevel, int);
60
62
65 vtkGetMacro(WriteMetaFile, int);
66 virtual void SetWriteMetaFile(int flag);
68
75
76protected:
79
85 virtual int GetDataSetMajorVersion() { return 1; }
86 virtual int GetDataSetMinorVersion() { return 0; }
87
92
93 // see algorithm for more info
95
100
101 virtual int WriteData();
102 virtual const char* GetDataSetName();
103
104 // Create a default executive.
106
108
113
117 unsigned int GetNumberOfDataTypes();
118
123
124 // Methods to create the set of writers matching the set of inputs.
127
128 // Methods to help construct internal file names.
130 const char* GetFilePrefix();
131 const char* GetFilePath();
132
137 const char* GetDefaultFileExtensionForDataSet(int dataset_type);
138
145
146 // Make a directory.
147 void MakeDirectory(const char* name);
148
149 // Remove a directory.
150 void RemoveADirectory(const char* name);
151
152 // Internal implementation details.
153 vtkXMLCompositeDataWriterInternals* Internal;
154
155 // The number of ghost levels to write for unstructured data.
157
164
165 // Callback registered with the ProgressObserver.
166 static void ProgressCallbackFunction(vtkObject*, unsigned long, void*,
167 void*);
168 // Progress callback from internal writer.
170
171 // The observer to report progress from the internal writer.
173
183 virtual int WriteComposite(vtkCompositeDataSet* compositeData,
184 vtkXMLDataElement* element, int &writerIdx)=0;
185
197 vtkDataObject* dObj, vtkXMLDataElement* element,
198 int& writerIdx, const char* FileName);
199
204 virtual void RemoveWrittenFiles(const char* SubDirectory);
205
206private:
207 vtkXMLCompositeDataWriter(const vtkXMLCompositeDataWriter&) VTK_DELETE_FUNCTION;
208 void operator=(const vtkXMLCompositeDataWriter&) VTK_DELETE_FUNCTION;
209};
210
211#endif
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:60
supports function callbacks
abstract superclass for composite (multi-block or AMR) datasets
general representation of visualization data
Definition: vtkDataObject.h:65
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:50
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
abstract base class for most VTK objects
Definition: vtkObject.h:60
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:49
Writer for multi-group datasets.
int * GetDataTypesPointer()
Returns the array pointer to the array of leaf nodes.
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
See the vtkAlgorithm for a desciption of what these do.
void MakeDirectory(const char *name)
static void ProgressCallbackFunction(vtkObject *, unsigned long, void *, void *)
vtkStdString CreatePieceFileName(int Piece)
Create a filename for the given index.
virtual void FillDataTypes(vtkCompositeDataSet *)
Determine the data types for each of the leaf nodes.
virtual const char * GetDataSetName()
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
void RemoveADirectory(const char *name)
virtual int WriteNonCompositeData(vtkDataObject *dObj, vtkXMLDataElement *element, int &writerIdx, const char *FileName)
Internal method to write a non vtkCompositeDataSet subclass as well as add in the file name to the me...
virtual vtkExecutive * CreateDefaultExecutive()
Create a default executive.
unsigned int GetNumberOfDataTypes()
Returns the number of leaf nodes (also includes empty leaf nodes).
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
int WriteMetaFileIfRequested()
Write the collection file if it is requested.
virtual void ProgressCallback(vtkAlgorithm *w)
virtual int GetDataSetMajorVersion()
Methods to define the file's major and minor version numbers.
const char * GetFilePath()
virtual void SetWriteMetaFile(int flag)
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual const char * GetDefaultFileExtension()
Get the default file extension for files written by this writer.
vtkXMLWriter * GetWriter(int index)
virtual void RemoveWrittenFiles(const char *SubDirectory)
Utility function to remove any already written files in case writer failed.
vtkXMLCompositeDataWriterInternals * Internal
int WriteMetaFile
Whether to write the collection file on this node.
void CreateWriters(vtkCompositeDataSet *)
const char * GetDefaultFileExtensionForDataSet(int dataset_type)
Returns the default extension to use for the given dataset type.
virtual int WriteComposite(vtkCompositeDataSet *compositeData, vtkXMLDataElement *element, int &writerIdx)=0
Internal method called recursively to create the xml tree for the children of compositeData as well a...
const char * GetFilePrefix()
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Represents an XML element and those nested inside.
Superclass for VTK's XML file writers.
Definition: vtkXMLWriter.h:54
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
@ name
Definition: vtkX3D.h:219
@ index
Definition: vtkX3D.h:246
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.