VTK
vtkmCoordinateSystemTransform.h
Go to the documentation of this file.
1 //=============================================================================
2 //
3 // Copyright (c) Kitware, Inc.
4 // All rights reserved.
5 // See LICENSE.txt for details.
6 //
7 // This software is distributed WITHOUT ANY WARRANTY; without even
8 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9 // PURPOSE. See the above copyright notice for more information.
10 //
11 // Copyright 2012 Sandia Corporation.
12 // Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
13 // the U.S. Government retains certain rights in this software.
14 //
15 //=============================================================================
25 #ifndef vtkmCoordinateSystemTransform_h
26 #define vtkmCoordinateSystemTransform_h
27 
28 #include "vtkPointSetAlgorithm.h"
29 #include "vtkAcceleratorsVTKmModule.h" // required for correct export
30 
31 class VTKACCELERATORSVTKM_EXPORT vtkmCoordinateSystemTransform : public vtkPointSetAlgorithm
32 {
33  enum struct TransformTypes {None, CarToCyl, CylToCar, CarToSph, SphToCar};
34 public:
36  void PrintSelf(ostream& os, vtkIndent indent) override;
37 
38  static vtkmCoordinateSystemTransform* New();
39 
40  void SetCartesianToCylindrical();
41  void SetCylindricalToCartesian();
42 
43  void SetCartesianToSpherical();
44  void SetSphericalToCartesian();
45 
46  int FillInputPortInformation(int port, vtkInformation* info) override;
47 protected:
49  ~vtkmCoordinateSystemTransform();
50 
51  int RequestDataObject(vtkInformation* request,
52  vtkInformationVector** inputVector,
53  vtkInformationVector* outputVector) override;
54  int RequestData(vtkInformation* , vtkInformationVector**,
55  vtkInformationVector*) override;
56 
57 private:
58  vtkmCoordinateSystemTransform(const vtkmCoordinateSystemTransform&) = delete;
59  void operator=(const vtkmCoordinateSystemTransform&) = delete;
60 
61  TransformTypes TransformType;
62 };
63 
64 #endif // vtkmCoordinateSystemTransform_h
65 
66 // VTK-HeaderTest-Exclude: vtkmCoordinateSystemTransform.h
Store vtkAlgorithm input/output information.
a simple class to control print indentation
Definition: vtkIndent.h:39
Superclass for algorithms that produce output of the same type as input.
transform a coordinate system between Cartesian&Cylindrical and Cartesian&Spherical ...
Store zero or more vtkInformation instances.