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 
25 #include "vtkDataObjectAlgorithm.h"
26 #include "vtkIOCatalystConduitModule.h" // for exports
27 
28 #include "conduit.h" // for conduit_node
29 
30 #include <memory> // for std::unique_ptr
31 
32 VTK_ABI_NAMESPACE_BEGIN
33 class VTKIOCATALYSTCONDUIT_EXPORT vtkConduitSource : public vtkDataObjectAlgorithm
34 {
35 public:
36  static vtkConduitSource* New();
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 
87 protected:
89  ~vtkConduitSource() override;
90 
94  vtkInformationVector* outputVector) override;
95 
96 private:
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 };
105 VTK_ABI_NAMESPACE_END
106 
107 #endif
data source for Conduit Mesh Blueprint.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
static vtkConduitSource * New()
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.
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.