VTK  9.4.20250114
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
33VTK_ABI_NAMESPACE_BEGIN
34class vtkPlane;
35class vtkDataArray;
36
37class VTKCOMMONDATAMODEL_EXPORT vtkCoordinateFrame : public vtkImplicitFunction
38{
39public:
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
85protected:
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
94private:
96 void operator=(const vtkCoordinateFrame&) = delete;
97};
98
99VTK_ABI_NAMESPACE_END
100#endif
implicit function for a right-handed coordinate system
~vtkCoordinateFrame() override=default
vtkCoordinateFrame()=default
static vtkCoordinateFrame * New()
Standard methods for instantiation, type information, and printing.
double EvaluateFunction(double x[3]) override
Evaluate plane equations.
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
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:138