VTK  9.6.20260522
vtkFidesWriter.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
3
52
53#ifndef vtkFidesWriter_h
54#define vtkFidesWriter_h
55
56#include "vtkIOFidesModule.h" // For export macro
57#include "vtkNew.h" // For vtkNew
58#include "vtkWriter.h"
59
60#include <memory> // for std::unique_ptr
61
62VTK_ABI_NAMESPACE_BEGIN
66
67class VTKIOFIDES_EXPORT vtkFidesWriter : public vtkWriter
68{
69public:
71 {
74 };
75
77 vtkTypeMacro(vtkFidesWriter, vtkWriter);
78 void PrintSelf(ostream& os, vtkIndent indent) override;
79
81
87
89
95 vtkSetFilePathMacro(AdiosConfigFile);
96 vtkGetFilePathMacro(AdiosConfigFile);
98
100
107 vtkSetMacro(ChooseFieldsToWrite, bool);
108 vtkGetMacro(ChooseFieldsToWrite, bool);
109 vtkBooleanMacro(ChooseFieldsToWrite, bool);
111
113
121
123
131 vtkSetVector2Macro(TimeStepRange, int);
132 vtkGetVector2Macro(TimeStepRange, int);
133 vtkSetClampMacro(TimeStepStride, int, 1, VTK_INT_MAX);
134 vtkGetMacro(TimeStepStride, int);
136
138
142 vtkSetMacro(Engine, int);
143 vtkGetMacro(Engine, int);
145
147
153 vtkGetObjectMacro(Controller, vtkMultiProcessController);
155
156protected:
158 ~vtkFidesWriter() override;
159
160 int FillInputPortInformation(int port, vtkInformation* info) override;
164 vtkInformationVector* outputVector);
166 vtkInformationVector* outputVector) override;
167
168 bool WriteDataAndReturn() override;
169
170private:
171 vtkFidesWriter(const vtkFidesWriter&) = delete;
172 void operator=(const vtkFidesWriter&) = delete;
173
174 struct FidesWriterImpl;
175 std::unique_ptr<FidesWriterImpl> Impl;
176
177 vtkMultiProcessController* Controller;
178 char* FileName;
179 char* AdiosConfigFile;
180 bool ChooseFieldsToWrite;
181 int TimeStepRange[2];
182 int TimeStepStride;
183 int Engine;
184
185 vtkNew<vtkDataArraySelection> ArraySelection[3];
186};
187
188VTK_ABI_NAMESPACE_END
189#endif
Store on/off settings for data arrays, etc.
vtkDataArraySelection * GetFieldDataArraySelection()
Returns the array selection object for point, cell, or field data.
~vtkFidesWriter() override
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
bool WriteDataAndReturn() override
vtkSetFilePathMacro(FileName)
Set/Get the filename to be written.
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
vtkDataArraySelection * GetCellDataArraySelection()
Returns the array selection object for point, cell, or field data.
vtkSetFilePathMacro(AdiosConfigFile)
Set/Get the ADIOS2 config file to be used.
void SetController(vtkMultiProcessController *)
Get/Set the controller to use when working in parallel.
vtkDataArraySelection * GetPointDataArraySelection()
Returns the array selection object for point, cell, or field data.
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
static vtkFidesWriter * New()
vtkGetFilePathMacro(AdiosConfigFile)
Set/Get the ADIOS2 config file to be used.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkDataArraySelection * GetArraySelection(int association)
Returns the array selection object for point, cell, or field data.
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGetFilePathMacro(FileName)
Set/Get the filename to be written.
a simple class to control print indentation
Definition vtkIndent.h:108
Key for integer values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Multiprocessing communication superclass.
Allocate and hold a VTK object.
Definition vtkNew.h:168
#define VTK_INT_MAX
Definition vtkType.h:192