VTK  9.5.20251214
vtkLassoStencilSource.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
19
20#ifndef vtkLassoStencilSource_h
21#define vtkLassoStencilSource_h
22
24#include "vtkImagingStencilModule.h" // For export macro
25
26VTK_ABI_NAMESPACE_BEGIN
27class vtkPoints;
28class vtkSpline;
29class vtkLSSPointMap;
30
31class VTKIMAGINGSTENCIL_EXPORT vtkLassoStencilSource : public vtkImageStencilSource
32{
33public:
36 void PrintSelf(ostream& os, vtkIndent indent) override;
37
38 enum
39 {
42 };
43
45
49 vtkGetMacro(Shape, int);
50 vtkSetClampMacro(Shape, int, POLYGON, SPLINE);
52 void SetShapeToSpline() { this->SetShape(SPLINE); }
53 virtual const char* GetShapeAsString();
55
57
62 virtual void SetPoints(vtkPoints* points);
63 vtkGetObjectMacro(Points, vtkPoints);
65
67
71 vtkGetMacro(SliceOrientation, int);
72 vtkSetClampMacro(SliceOrientation, int, 0, 2);
74
76
81 virtual void SetSlicePoints(int i, vtkPoints* points);
82 virtual vtkPoints* GetSlicePoints(int i);
84
88 virtual void RemoveAllSlicePoints();
89
94
95protected:
98
100
101 int Shape;
106 vtkLSSPointMap* PointMap;
107
108private:
110 void operator=(const vtkLassoStencilSource&) = delete;
111};
112
113VTK_ABI_NAMESPACE_END
114#endif
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetShapeToSpline()
The shape to use, default is "Polygon".
virtual vtkPoints * GetSlicePoints(int i)
The points for a particular slice.
virtual void SetPoints(vtkPoints *points)
The points that make up the lassoo.
virtual const char * GetShapeAsString()
The shape to use, default is "Polygon".
void SetShapeToPolygon()
The shape to use, default is "Polygon".
virtual void SetShape(int)
The shape to use, default is "Polygon".
vtkMTimeType GetMTime() override
Overload GetMTime() to include the timestamp on the points.
~vtkLassoStencilSource() override
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
static vtkLassoStencilSource * New()
virtual void RemoveAllSlicePoints()
Remove points from all slices.
virtual void SetSlicePoints(int i, vtkPoints *points)
The points for a particular slice.
represent and manipulate 3D points
Definition vtkPoints.h:139
spline abstract class for interpolating splines
Definition vtkSpline.h:52
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:322