VTK  9.3.0
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
45 vtkSetMacro(UseMultiMeshProtocol, bool);
46 vtkGetMacro(UseMultiMeshProtocol, bool);
47 vtkBooleanMacro(UseMultiMeshProtocol, bool);
49
51
55 vtkSetMacro(OutputMultiBlock, bool);
56 vtkGetMacro(OutputMultiBlock, bool);
57 vtkBooleanMacro(OutputMultiBlock, bool);
59
61
65 void SetNode(const conduit_node* node);
67
69
77 void SetGlobalFieldsNode(const conduit_node* node);
79
81
84 void SetAssemblyNode(const conduit_node* node);
86
87protected:
90
94 vtkInformationVector* outputVector) override;
95
96private:
97 vtkConduitSource(const vtkConduitSource&) = delete;
98 void operator=(const vtkConduitSource&) = delete;
99
100 class vtkInternals;
101 std::unique_ptr<vtkInternals> Internals;
102 bool UseMultiMeshProtocol;
103 bool OutputMultiBlock;
104};
105VTK_ABI_NAMESPACE_END
106
107#endif
data source for Conduit Mesh Blueprint.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
void SetAssemblyNode(const conduit_node *node)
Set the node to read the assembly information from, if any.
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.
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.
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.