VTK  9.2.6
vtkConduitArrayUtilities.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkConduitArrayUtilities.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
28 #ifndef vtkConduitArrayUtilities_h
29 #define vtkConduitArrayUtilities_h
30 
31 #include "vtkIOCatalystConduitModule.h" // for exports
32 #include "vtkObject.h"
33 #include "vtkSmartPointer.h" // for vtkSmartPointer
34 #include <string> // for std::string
35 
36 class vtkCellArray;
38 
39 extern "C"
40 {
41  typedef void conduit_node;
42 }
43 
44 class VTKIOCATALYSTCONDUIT_EXPORT vtkConduitArrayUtilities : public vtkObject
45 {
46 public:
47  static vtkConduitArrayUtilities* New();
49  void PrintSelf(ostream& os, vtkIndent indent) override;
50 
52 
55  static vtkSmartPointer<vtkDataArray> MCArrayToVTKArray(const conduit_node* mcarray);
56  static vtkSmartPointer<vtkDataArray> MCArrayToVTKArray(
57  const conduit_node* mcarray, const std::string& arrayname);
59 
66  static vtkSmartPointer<vtkCellArray> MCArrayToVTKCellArray(
67  vtkIdType cellSize, const conduit_node* mcarray);
68 
73  static vtkSmartPointer<vtkDataArray> SetNumberOfComponents(
74  vtkDataArray* array, int num_components);
75 
79  static vtkSmartPointer<vtkCellArray> O2MRelationToVTKCellArray(
80  const conduit_node* o2mrelation, const std::string& leafname);
81 
82 protected:
84  ~vtkConduitArrayUtilities() override;
85 
86  static vtkSmartPointer<vtkDataArray> MCArrayToVTKArrayImpl(
87  const conduit_node* mcarray, bool force_signed);
88  static vtkSmartPointer<vtkDataArray> MCArrayToVTKAOSArray(
89  const conduit_node* mcarray, bool force_signed);
90  static vtkSmartPointer<vtkDataArray> MCArrayToVTKSOAArray(
91  const conduit_node* mcarray, bool force_signed);
92 
93 private:
95  void operator=(const vtkConduitArrayUtilities&) = delete;
96 };
97 
98 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:62
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int vtkIdType
Definition: vtkType.h:332
a simple class to control print indentation
Definition: vtkIndent.h:39
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
helper to convert Conduit arrays to VTK arrays.
object to represent cell connectivity
Definition: vtkCellArray.h:186
void conduit_node
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...