VTK  9.3.0
vtkXMLDataWriterHelper.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
15 #ifndef vtkXMLDataWriterHelper_h
16 #define vtkXMLDataWriterHelper_h
17 
18 #include "vtkIOParallelXMLModule.h" // For export macro
19 #include "vtkXMLWriter.h"
20 
21 VTK_ABI_NAMESPACE_BEGIN
23 class vtkXMLDataElement;
24 class vtkXMLWriter2;
25 
26 class VTKIOPARALLELXML_EXPORT vtkXMLDataWriterHelper : public vtkXMLWriter
27 {
28 public:
31  void PrintSelf(ostream& os, vtkIndent indent) override;
32 
34 
39  vtkGetObjectMacro(Writer, vtkXMLWriter2);
41 
43 
50  bool OpenFile();
51  bool BeginWriting();
52  bool EndWriting();
54 
59 
63  bool AddXML(vtkXMLDataElement* xmlElement);
64 
66 
72  void SetDataSetName(const std::string& name) { this->DataSetName = name; }
73  void SetDataSetVersion(int major, int minor)
74  {
75  this->DataSetVersion[0] = major;
76  this->DataSetVersion[1] = minor;
77  }
79 
80  const char* GetDefaultFileExtension() override { return nullptr; }
81 
82 protected:
85 
86  const char* GetDataSetName() override { return this->DataSetName.c_str(); }
87  int GetDataSetMajorVersion() override { return this->DataSetVersion[0]; }
88  int GetDataSetMinorVersion() override { return this->DataSetVersion[1]; }
89 
90 private:
92  void operator=(const vtkXMLDataWriterHelper&) = delete;
93 
94  vtkXMLWriter2* Writer;
95  std::string DataSetName;
96  int DataSetVersion[2];
97 };
98 
99 VTK_ABI_NAMESPACE_END
100 #endif
abstract superclass for composite (multi-block or AMR) datasets
a simple class to control print indentation
Definition: vtkIndent.h:29
Represents an XML element and those nested inside.
helper for vtkXMLWriter2 and subclasses
static vtkXMLDataWriterHelper * New()
int GetDataSetMinorVersion() override
void SetWriter(vtkXMLWriter2 *)
Get/Set the writer using this helper.
const char * GetDefaultFileExtension() override
Get the default file extension for files written by this writer.
bool OpenFile()
The writing process is split into 4 parts:
bool EndWriting()
The writing process is split into 4 parts:
const char * GetDataSetName() override
~vtkXMLDataWriterHelper() override
void SetDataSetVersion(int major, int minor)
These methods should be used by the caller to provide necessary information to the helper to generate...
int GetDataSetMajorVersion() override
void SetDataSetName(const std::string &name)
These methods should be used by the caller to provide necessary information to the helper to generate...
bool AddGlobalFieldData(vtkCompositeDataSet *dataset)
Adds global field data for composite dataset.
bool AddXML(vtkXMLDataElement *xmlElement)
Serialize and add an XML dom described by the xmlElement to the file.
bool BeginWriting()
The writing process is split into 4 parts:
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
base class for new-style XML Writers
Definition: vtkXMLWriter2.h:38
Superclass for VTK's XML file writers.
Definition: vtkXMLWriter.h:54
@ name
Definition: vtkX3D.h:219
@ string
Definition: vtkX3D.h:490