VTK  9.1.0
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
35class vtkPolyLine;
36class vtkDoubleArray;
37
38class VTKCOMMONDATAMODEL_EXPORT vtkPolyPlane : public vtkImplicitFunction
39{
40public:
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
75
76protected:
78 ~vtkPolyPlane() override;
79
81
82 double ExtrusionDirection[3];
87
88private:
89 vtkPolyPlane(const vtkPolyPlane&) = delete;
90 void operator=(const vtkPolyPlane&) = delete;
91};
92
93#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:113
cell represents a set of 1D lines
Definition: vtkPolyLine.h:146
Implicit function that is generated by extrusion of a polyline along the Z axis.
Definition: vtkPolyPlane.h:39
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
Definition: vtkPolyPlane.h:85
void EvaluateGradient(double x[3], double g[3]) override
Evaluate function gradient at point x[3].
vtkTimeStamp NormalComputeTime
Definition: vtkPolyPlane.h:84
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:83
~vtkPolyPlane() override
vtkIdType ClosestPlaneIdx
Definition: vtkPolyPlane.h:86
record modification and/or execution time
Definition: vtkTimeStamp.h:52
int vtkIdType
Definition: vtkType.h:332
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287