VTK  9.3.20240328
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 
26 VTK_ABI_NAMESPACE_BEGIN
27 class vtkPolyLine;
28 class vtkDoubleArray;
29 
30 class VTKCOMMONDATAMODEL_EXPORT vtkPolyPlane : public vtkImplicitFunction
31 {
32 public:
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 
66  vtkMTimeType GetMTime() override;
67 
68 protected:
70  ~vtkPolyPlane() override;
71 
73 
74  double ExtrusionDirection[3];
79 
80 private:
81  vtkPolyPlane(const vtkPolyPlane&) = delete;
82  void operator=(const vtkPolyPlane&) = delete;
83 };
84 
85 VTK_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
Definition: vtkPolyLine.h:139
Implicit function that is generated by extrusion of a polyline along the Z axis.
Definition: vtkPolyPlane.h:31
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()
static vtkPolyPlane * New()
Construct plane passing through origin and normal to z-axis.
vtkDoubleArray * Normals
Definition: vtkPolyPlane.h:77
void EvaluateGradient(double x[3], double g[3]) override
Evaluate function gradient at point x[3].
vtkTimeStamp NormalComputeTime
Definition: vtkPolyPlane.h:76
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
Definition: vtkPolyPlane.h:75
~vtkPolyPlane() override
vtkIdType ClosestPlaneIdx
Definition: vtkPolyPlane.h:78
record modification and/or execution time
Definition: vtkTimeStamp.h:44
int vtkIdType
Definition: vtkType.h:315
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270