VTK  9.2.6
vtkCoordinateFrame.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCoordinateFrame.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 =========================================================================*/
39 #ifndef vtkCoordinateFrame_h
40 #define vtkCoordinateFrame_h
41 
42 #include "vtkCommonDataModelModule.h" // For export macro
43 #include "vtkImplicitFunction.h"
44 
45 class vtkPlane;
46 class vtkDataArray;
47 
48 class VTKCOMMONDATAMODEL_EXPORT vtkCoordinateFrame : public vtkImplicitFunction
49 {
50 public:
52 
55  static vtkCoordinateFrame* New();
57  void PrintSelf(ostream& os, vtkIndent indent) override;
59 
61 
66  double EvaluateFunction(double x[3]) override;
68 
74  void EvaluateGradient(double x[3], double n[3]) override;
75 
77 
80  vtkSetVector3Macro(Origin, double);
81  vtkGetVector3Macro(Origin, double);
83 
85 
88  vtkSetVector3Macro(XAxis, double);
89  vtkGetVector3Macro(XAxis, double);
90  vtkSetVector3Macro(YAxis, double);
91  vtkGetVector3Macro(YAxis, double);
92  vtkSetVector3Macro(ZAxis, double);
93  vtkGetVector3Macro(ZAxis, double);
95 
96 protected:
97  vtkCoordinateFrame() = default;
98  ~vtkCoordinateFrame() override = default;
99 
100  double Origin[3] = { 0, 0, 0 };
101  double XAxis[3] = { 1, 0, 0 };
102  double YAxis[3] = { 0, 1, 0 };
103  double ZAxis[3] = { 0, 0, 1 };
104 
105 private:
106  vtkCoordinateFrame(const vtkCoordinateFrame&) = delete;
107  void operator=(const vtkCoordinateFrame&) = delete;
108 };
109 
110 #endif
abstract interface for implicit functions
virtual double EvaluateFunction(double x[3])=0
Evaluate function at position x-y-z and return value.
virtual void EvaluateGradient(double x[3], double g[3])=0
Evaluate function gradient at position x-y-z and pass back vector.
a simple class to control print indentation
Definition: vtkIndent.h:39
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
perform various plane computations
Definition: vtkPlane.h:36
implicit function for a right-handed coordinate system
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.