VTK  9.2.6
vtkVoronoi2D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkVoronoi2D.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 =========================================================================*/
94 #ifndef vtkVoronoi2D_h
95 #define vtkVoronoi2D_h
96 
97 #include "vtkFiltersCoreModule.h" // For export macro
98 #include "vtkPolyDataAlgorithm.h"
99 
102 class vtkPointSet;
103 class vtkSpheres;
104 
105 class VTKFILTERSCORE_EXPORT vtkVoronoi2D : public vtkPolyDataAlgorithm
106 {
107 public:
109 
112  static vtkVoronoi2D* New();
114  void PrintSelf(ostream& os, vtkIndent indent) override;
116 
118 
124  vtkSetClampMacro(Padding, double, 0.001, 0.25);
125  vtkGetMacro(Padding, double);
127 
129  {
130  NONE = 0,
131  POINT_IDS = 1,
132  THREAD_IDS = 2
133  };
134 
136 
141  vtkSetMacro(GenerateScalars, int);
142  vtkGetMacro(GenerateScalars, int);
143  void SetGenerateScalarsToNone() { this->SetGenerateScalars(NONE); }
144  void SetGenerateScalarsToPointIds() { this->SetGenerateScalars(POINT_IDS); }
145  void SetGenerateScalarsToThreadIds() { this->SetGenerateScalars(THREAD_IDS); }
147 
149 
158  virtual void SetTransform(vtkAbstractTransform*);
159  vtkGetObjectMacro(Transform, vtkAbstractTransform);
161 
163  {
164  XY_PLANE = 0,
165  SPECIFIED_TRANSFORM_PLANE = 1,
166  BEST_FITTING_PLANE = 2
167  };
168 
170 
178  vtkSetClampMacro(ProjectionPlaneMode, int, XY_PLANE, BEST_FITTING_PLANE);
179  vtkGetMacro(ProjectionPlaneMode, int);
180  void SetProjectionPlaneModeToXYPlane() { this->SetProjectionPlaneMode(XY_PLANE); }
182  {
183  this->SetProjectionPlaneMode(SPECIFIED_TRANSFORM_PLANE);
184  }
186  {
187  this->SetProjectionPlaneMode(BEST_FITTING_PLANE);
188  }
190 
192 
205  vtkSetClampMacro(PointOfInterest, vtkIdType, -1, VTK_ID_MAX);
206  vtkGetMacro(PointOfInterest, vtkIdType);
207  vtkSetClampMacro(MaximumNumberOfTileClips, vtkIdType, 1, VTK_ID_MAX);
208  vtkGetMacro(MaximumNumberOfTileClips, vtkIdType);
210 
212 
217  vtkStaticPointLocator2D* GetLocator() { return this->Locator; }
219 
221 
230  vtkSetMacro(GenerateVoronoiFlower, vtkTypeBool);
231  vtkGetMacro(GenerateVoronoiFlower, vtkTypeBool);
232  vtkBooleanMacro(GenerateVoronoiFlower, vtkTypeBool);
234 
236 
243  vtkGetObjectMacro(Spheres, vtkSpheres);
245 
250  int GetNumberOfThreadsUsed() { return this->NumberOfThreadsUsed; }
251 
255  vtkMTimeType GetMTime() override;
256 
257 protected:
258  vtkVoronoi2D();
259  ~vtkVoronoi2D() override;
260 
262  double Padding;
263  double Tolerance;
264  int ProjectionPlaneMode; // selects the plane in 3D where the tessellation will be computed
272 
273  // Satisfy pipeline-related API
275  int FillInputPortInformation(int, vtkInformation*) override;
276 
277 private:
278  vtkVoronoi2D(const vtkVoronoi2D&) = delete;
279  void operator=(const vtkVoronoi2D&) = delete;
280 };
281 
282 #endif
vtkSpheres * Spheres
Definition: vtkVoronoi2D.h:271
int ProjectionPlaneMode
Definition: vtkVoronoi2D.h:264
implicit function for a set of spheres
Definition: vtkSpheres.h:42
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
void SetProjectionPlaneModeToSpecifiedTransformPlane()
Define the method to project the input 3D points into a 2D plane for tessellation.
Definition: vtkVoronoi2D.h:181
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkAbstractTransform * Transform
Definition: vtkVoronoi2D.h:266
vtkStaticPointLocator2D * Locator
Definition: vtkVoronoi2D.h:265
concrete class for storing a set of points
Definition: vtkPointSet.h:69
int vtkIdType
Definition: vtkType.h:332
static vtkPolyDataAlgorithm * New()
int vtkTypeBool
Definition: vtkABI.h:69
vtkIdType MaximumNumberOfTileClips
Definition: vtkVoronoi2D.h:268
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:39
double Tolerance
Definition: vtkVoronoi2D.h:263
superclass for all geometric transformations
vtkTypeBool GenerateVoronoiFlower
Definition: vtkVoronoi2D.h:269
virtual vtkMTimeType GetMTime()
Return this object's modified time.
create 2D Voronoi convex tiling of input points
Definition: vtkVoronoi2D.h:105
int GetNumberOfThreadsUsed()
Return the number of threads actually used during execution.
Definition: vtkVoronoi2D.h:250
double Padding
Definition: vtkVoronoi2D.h:262
void SetProjectionPlaneModeToBestFittingPlane()
Define the method to project the input 3D points into a 2D plane for tessellation.
Definition: vtkVoronoi2D.h:185
#define VTK_ID_MAX
Definition: vtkType.h:336
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
Store zero or more vtkInformation instances.
vtkStaticPointLocator2D * GetLocator()
Retrieve the internal locator to manually configure it, for example specifying the number of points p...
Definition: vtkVoronoi2D.h:217
int NumberOfThreadsUsed
Definition: vtkVoronoi2D.h:270
void SetGenerateScalarsToNone()
Indicate whether to create a scalar array as part of the output.
Definition: vtkVoronoi2D.h:143
void SetProjectionPlaneModeToXYPlane()
Define the method to project the input 3D points into a 2D plane for tessellation.
Definition: vtkVoronoi2D.h:180
void SetGenerateScalarsToThreadIds()
Indicate whether to create a scalar array as part of the output.
Definition: vtkVoronoi2D.h:145
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkIdType PointOfInterest
Definition: vtkVoronoi2D.h:267
void SetGenerateScalarsToPointIds()
Indicate whether to create a scalar array as part of the output.
Definition: vtkVoronoi2D.h:144
quickly locate points in 2-space