VTK  9.3.20240328
vtkCoordinateFrame.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
27 #ifndef vtkCoordinateFrame_h
28 #define vtkCoordinateFrame_h
29 
30 #include "vtkCommonDataModelModule.h" // For export macro
31 #include "vtkImplicitFunction.h"
32 
33 VTK_ABI_NAMESPACE_BEGIN
34 class vtkPlane;
35 class vtkDataArray;
36 
37 class VTKCOMMONDATAMODEL_EXPORT vtkCoordinateFrame : public vtkImplicitFunction
38 {
39 public:
41 
46  void PrintSelf(ostream& os, vtkIndent indent) override;
48 
50 
55  double EvaluateFunction(double x[3]) override;
57 
63  void EvaluateGradient(double x[3], double n[3]) override;
64 
66 
69  vtkSetVector3Macro(Origin, double);
70  vtkGetVector3Macro(Origin, double);
72 
74 
77  vtkSetVector3Macro(XAxis, double);
78  vtkGetVector3Macro(XAxis, double);
79  vtkSetVector3Macro(YAxis, double);
80  vtkGetVector3Macro(YAxis, double);
81  vtkSetVector3Macro(ZAxis, double);
82  vtkGetVector3Macro(ZAxis, double);
84 
85 protected:
86  vtkCoordinateFrame() = default;
87  ~vtkCoordinateFrame() override = default;
88 
89  double Origin[3] = { 0, 0, 0 };
90  double XAxis[3] = { 1, 0, 0 };
91  double YAxis[3] = { 0, 1, 0 };
92  double ZAxis[3] = { 0, 0, 1 };
93 
94 private:
95  vtkCoordinateFrame(const vtkCoordinateFrame&) = delete;
96  void operator=(const vtkCoordinateFrame&) = delete;
97 };
98 
99 VTK_ABI_NAMESPACE_END
100 #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:154
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:108
perform various plane computations
Definition: vtkPlane.h:135