VTK  9.7.1
vtkmCoordinateSystemTransform.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright (c) Kitware, Inc.
3 // SPDX-FileCopyrightText: Copyright 2012 Sandia Corporation.
4 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
14 #ifndef vtkmCoordinateSystemTransform_h
15 #define vtkmCoordinateSystemTransform_h
16 
17 #include "vtkAcceleratorsVTKmFiltersModule.h" // required for correct export
18 #include "vtkPointSetAlgorithm.h"
19 #include "vtkmAlgorithm.h" // For vtkmAlgorithm
20 #include "vtkmlib/vtkmInitializer.h" // Need for initializing viskores
21 
22 #ifndef __VTK_WRAP__
23 #define vtkPointSetAlgorithm vtkmAlgorithm<vtkPointSetAlgorithm>
24 #endif
25 
26 VTK_ABI_NAMESPACE_BEGIN
27 class VTKACCELERATORSVTKMFILTERS_EXPORT vtkmCoordinateSystemTransform : public vtkPointSetAlgorithm
28 {
29  enum struct TransformTypes
30  {
31  None,
32  CarToCyl,
33  CylToCar,
34  CarToSph,
35  SphToCar
36  };
37 
38 public:
40 #ifndef __VTK_WRAP__
41 #undef vtkPointSetAlgorithm
42 #endif
43  void PrintSelf(ostream& os, vtkIndent indent) override;
45 
46  void SetCartesianToCylindrical();
47  void SetCylindricalToCartesian();
48 
49  void SetCartesianToSpherical();
50  void SetSphericalToCartesian();
51 
53 
54 protected:
57 
58  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
59  vtkInformationVector* outputVector) override;
61 
62 private:
64  void operator=(const vtkmCoordinateSystemTransform&) = delete;
65 
66  TransformTypes TransformType;
67  vtkmInitializer Initializer;
68 };
69 
70 VTK_ABI_NAMESPACE_END
71 #endif // vtkmCoordinateSystemTransform_h
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Store vtkAlgorithm input/output information.
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, obtaining type information, and printing instances of the class...
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
a simple class to control print indentation
Definition: vtkIndent.h:28
!< For HCURL
Superclass for algorithms that process vtkPointSet input.
transform a coordinate system between Cartesian&Cylindrical and Cartesian&Spherical ...
static vtkPointSetAlgorithm * New()
Standard methods for instantiation, obtaining type information, and printing instances of the class...
Store zero or more vtkInformation instances.