VTK  9.3.20240907
vtkConduitSource.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
22#ifndef vtkConduitSource_h
23#define vtkConduitSource_h
24
26#include "vtkIOCatalystConduitModule.h" // for exports
27
28#include "conduit.h" // for conduit_node
29
30#include <memory> // for std::unique_ptr
31
32VTK_ABI_NAMESPACE_BEGIN
33class VTKIOCATALYSTCONDUIT_EXPORT vtkConduitSource : public vtkDataObjectAlgorithm
34{
35public:
38 void PrintSelf(ostream& os, vtkIndent indent) override;
39
41
46 vtkSetMacro(UseAMRMeshProtocol, bool);
47 vtkGetMacro(UseAMRMeshProtocol, bool);
48 vtkBooleanMacro(UseAMRMeshProtocol, bool);
50
52
57 vtkSetMacro(UseMultiMeshProtocol, bool);
58 vtkGetMacro(UseMultiMeshProtocol, bool);
59 vtkBooleanMacro(UseMultiMeshProtocol, bool);
61
63
67 vtkSetMacro(OutputMultiBlock, bool);
68 vtkGetMacro(OutputMultiBlock, bool);
69 vtkBooleanMacro(OutputMultiBlock, bool);
71
73
77 void SetNode(const conduit_node* node);
79
81
89 void SetGlobalFieldsNode(const conduit_node* node);
91
93
96 void SetAssemblyNode(const conduit_node* node);
98
99protected:
102
106 vtkInformationVector* outputVector) override;
107
109
117
118private:
119 vtkConduitSource(const vtkConduitSource&) = delete;
120 void operator=(const vtkConduitSource&) = delete;
121
122 class vtkInternals;
123 std::unique_ptr<vtkInternals> Internals;
124 bool UseAMRMeshProtocol;
125 bool UseMultiMeshProtocol;
126 bool OutputMultiBlock;
127};
128VTK_ABI_NAMESPACE_END
129
130#endif
data source for Conduit Mesh Blueprint.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
bool GeneratePartitionedDataSet(vtkDataObject *output)
Generate actual output and fill the given data object with it.
void SetAssemblyNode(const conduit_node *node)
Set the node to read the assembly information from, if any.
bool GeneratePartitionedDataSetCollection(vtkDataObject *output)
Generate actual output and fill the given data object with it.
void SetGlobalFieldsNode(const conduit_node *node)
Mechanism to add global / field-data arrays.
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
void SetNode(const conduit_node *node)
Get/Set the conduit_node.
bool GenerateAMR(vtkDataObject *output)
Generate actual output and fill the given data object with it.
static vtkConduitSource * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
~vtkConduitSource() override
Superclass for algorithms that produce only data object as output.
general representation of visualization data
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.