VTK  9.0.20210301
vtkPolyPlane.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPolyPlane.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 =========================================================================*/
29 #ifndef vtkPolyPlane_h
30 #define vtkPolyPlane_h
31 
32 #include "vtkCommonDataModelModule.h" // For export macro
33 #include "vtkImplicitFunction.h"
34 
35 class vtkPolyLine;
36 class vtkDoubleArray;
37 
38 class VTKCOMMONDATAMODEL_EXPORT vtkPolyPlane : public vtkImplicitFunction
39 {
40 public:
44  static vtkPolyPlane* New();
45 
47  void PrintSelf(ostream& os, vtkIndent indent) override;
48 
50 
54  double EvaluateFunction(double x[3]) override;
56 
60  void EvaluateGradient(double x[3], double g[3]) override;
61 
63 
67  virtual void SetPolyLine(vtkPolyLine*);
68  vtkGetObjectMacro(PolyLine, vtkPolyLine);
70 
74  vtkMTimeType GetMTime() override;
75 
76 protected:
78  ~vtkPolyPlane() override;
79 
81 
82  double ExtrusionDirection[3];
87 
88 private:
89  vtkPolyPlane(const vtkPolyPlane&) = delete;
90  void operator=(const vtkPolyPlane&) = delete;
91 };
92 
93 #endif
vtkPolyPlane::~vtkPolyPlane
~vtkPolyPlane() override
vtkPolyPlane::SetPolyLine
virtual void SetPolyLine(vtkPolyLine *)
Set/get point through which plane passes.
vtkPolyPlane::GetMTime
vtkMTimeType GetMTime() override
Override GetMTime to include the polyline.
vtkIdType
int vtkIdType
Definition: vtkType.h:338
vtkPolyPlane::PolyLine
vtkPolyLine * PolyLine
Definition: vtkPolyPlane.h:83
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:33
vtkPolyPlane::vtkPolyPlane
vtkPolyPlane()
vtkImplicitFunction::EvaluateFunction
virtual double EvaluateFunction(double x[3])=0
Evaluate function at position x-y-z and return value.
vtkPolyPlane::Normals
vtkDoubleArray * Normals
Definition: vtkPolyPlane.h:85
vtkPolyPlane::EvaluateFunction
double EvaluateFunction(double x[3]) override
Evaluate function at position x-y-z and return value.
vtkImplicitFunction
abstract interface for implicit functions
Definition: vtkImplicitFunction.h:61
vtkPolyLine
cell represents a set of 1D lines
Definition: vtkPolyLine.h:37
vtkPolyPlane::ComputeNormals
void ComputeNormals()
vtkPolyPlane::EvaluateGradient
void EvaluateGradient(double x[3], double g[3]) override
Evaluate function gradient at point x[3].
vtkPolyPlane::ClosestPlaneIdx
vtkIdType ClosestPlaneIdx
Definition: vtkPolyPlane.h:86
vtkPolyPlane::NormalComputeTime
vtkTimeStamp NormalComputeTime
Definition: vtkPolyPlane.h:84
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkPolyPlane::New
static vtkPolyPlane * New()
Construct plane passing through origin and normal to z-axis.
vtkPolyPlane
Implicit function that is generated by extrusion of a polyline along the Z axis.
Definition: vtkPolyPlane.h:39
vtkImplicitFunction.h
vtkDoubleArray
dynamic, self-adjusting array of double
Definition: vtkDoubleArray.h:36
vtkPolyPlane::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:293