VTK  9.3.20240425
vtkPolyPlane.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
20#ifndef vtkPolyPlane_h
21#define vtkPolyPlane_h
22
23#include "vtkCommonDataModelModule.h" // For export macro
24#include "vtkImplicitFunction.h"
25
26VTK_ABI_NAMESPACE_BEGIN
27class vtkPolyLine;
28class vtkDoubleArray;
29
30class VTKCOMMONDATAMODEL_EXPORT vtkPolyPlane : public vtkImplicitFunction
31{
32public:
36 static vtkPolyPlane* New();
37
39 void PrintSelf(ostream& os, vtkIndent indent) override;
40
42
46 double EvaluateFunction(double x[3]) override;
48
52 void EvaluateGradient(double x[3], double g[3]) override;
53
55
59 virtual void SetPolyLine(vtkPolyLine*);
60 vtkGetObjectMacro(PolyLine, vtkPolyLine);
62
67
68protected:
70 ~vtkPolyPlane() override;
71
73
74 double ExtrusionDirection[3];
79
80private:
81 vtkPolyPlane(const vtkPolyPlane&) = delete;
82 void operator=(const vtkPolyPlane&) = delete;
83};
84
85VTK_ABI_NAMESPACE_END
86#endif
dynamic, self-adjusting array of double
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
cell represents a set of 1D lines
Implicit function that is generated by extrusion of a polyline along the Z axis.
static vtkPolyPlane * New()
Construct plane passing through origin and normal to z-axis.
vtkMTimeType GetMTime() override
Override GetMTime to include the polyline.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ComputeNormals()
vtkDoubleArray * Normals
void EvaluateGradient(double x[3], double g[3]) override
Evaluate function gradient at point x[3].
vtkTimeStamp NormalComputeTime
double EvaluateFunction(double x[3]) override
Evaluate plane equation for point x[3].
virtual void SetPolyLine(vtkPolyLine *)
Set/get point through which plane passes.
vtkPolyLine * PolyLine
~vtkPolyPlane() override
vtkIdType ClosestPlaneIdx
record modification and/or execution time
int vtkIdType
Definition vtkType.h:315
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:270