VTK  9.2.20230320
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 VTK_ABI_NAMESPACE_BEGIN
46 class vtkPlane;
47 class vtkDataArray;
48 
49 class VTKCOMMONDATAMODEL_EXPORT vtkCoordinateFrame : public vtkImplicitFunction
50 {
51 public:
53 
58  void PrintSelf(ostream& os, vtkIndent indent) override;
60 
62 
67  double EvaluateFunction(double x[3]) override;
69 
75  void EvaluateGradient(double x[3], double n[3]) override;
76 
78 
81  vtkSetVector3Macro(Origin, double);
82  vtkGetVector3Macro(Origin, double);
84 
86 
89  vtkSetVector3Macro(XAxis, double);
90  vtkGetVector3Macro(XAxis, double);
91  vtkSetVector3Macro(YAxis, double);
92  vtkGetVector3Macro(YAxis, double);
93  vtkSetVector3Macro(ZAxis, double);
94  vtkGetVector3Macro(ZAxis, double);
96 
97 protected:
98  vtkCoordinateFrame() = default;
99  ~vtkCoordinateFrame() override = default;
100 
101  double Origin[3] = { 0, 0, 0 };
102  double XAxis[3] = { 1, 0, 0 };
103  double YAxis[3] = { 0, 1, 0 };
104  double ZAxis[3] = { 0, 0, 1 };
105 
106 private:
107  vtkCoordinateFrame(const vtkCoordinateFrame&) = delete;
108  void operator=(const vtkCoordinateFrame&) = delete;
109 };
110 
111 VTK_ABI_NAMESPACE_END
112 #endif
implicit function for a right-handed coordinate system
~vtkCoordinateFrame() override=default
vtkCoordinateFrame()=default
double EvaluateFunction(double x[3]) override
Evaluate plane equations.
static vtkCoordinateFrame * New()
Standard methods for instantiation, type information, and printing.
void EvaluateGradient(double x[3], double n[3]) override
Evaluate coordinate frame gradient.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, type information, and printing.
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:166
abstract interface for implicit functions
virtual double EvaluateFunction(double x[3])=0
Evaluate function at position x-y-z and return value.
a simple class to control print indentation
Definition: vtkIndent.h:120
perform various plane computations
Definition: vtkPlane.h:147