VTK  9.3.1
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:
29  static vtkXMLDataWriterHelper* New();
31  void PrintSelf(ostream& os, vtkIndent indent) override;
32 
34 
38  void SetWriter(vtkXMLWriter2*);
39  vtkGetObjectMacro(Writer, vtkXMLWriter2);
41 
43 
50  bool OpenFile();
51  bool BeginWriting();
52  bool EndWriting();
54 
58  bool AddGlobalFieldData(vtkCompositeDataSet* dataset);
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:
84  ~vtkXMLDataWriterHelper() override;
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
void SetDataSetName(const std::string &name)
These methods should be used by the caller to provide necessary information to the helper to generate...
int GetDataSetMinorVersion() override
Represents an XML element and those nested inside.
const char * GetDataSetName() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
helper for vtkXMLWriter2 and subclasses
abstract superclass for composite (multi-block or AMR) datasets
Superclass for VTK's XML file writers.
Definition: vtkXMLWriter.h:53
a simple class to control print indentation
Definition: vtkIndent.h:28
const char * GetDefaultFileExtension() override
Get the default file extension for files written by this writer.
base class for new-style XML Writers
Definition: vtkXMLWriter2.h:37
void SetDataSetVersion(int major, int minor)
These methods should be used by the caller to provide necessary information to the helper to generate...
static vtkAlgorithm * New()
int GetDataSetMajorVersion() override