VTK
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 =========================================================================*/
91 #ifndef vtkVoronoi2D_h
92 #define vtkVoronoi2D_h
93 
94 #include "vtkFiltersCoreModule.h" // For export macro
95 #include "vtkPolyDataAlgorithm.h"
96 
99 class vtkPointSet;
100 class vtkSpheres;
101 
102 class VTKFILTERSCORE_EXPORT vtkVoronoi2D : public vtkPolyDataAlgorithm
103 {
104 public:
106 
109  static vtkVoronoi2D *New();
111  void PrintSelf(ostream& os, vtkIndent indent) override;
113 
115 
121  vtkSetClampMacro(Padding,double,0.001,0.25);
122  vtkGetMacro(Padding,double);
124 
126  {
127  NONE=0,
128  POINT_IDS=1,
129  THREAD_IDS=2
130  };
131 
133 
138  vtkSetMacro(GenerateScalars,int);
139  vtkGetMacro(GenerateScalars,int);
141  { this->SetGenerateScalars(NONE); }
143  { this->SetGenerateScalars(POINT_IDS); }
145  { 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);
181  { this->SetProjectionPlaneMode(XY_PLANE); }
183  { this->SetProjectionPlaneMode(SPECIFIED_TRANSFORM_PLANE); }
185  { this->SetProjectionPlaneMode(BEST_FITTING_PLANE); }
187 
189 
202  vtkSetClampMacro(PointOfInterest,vtkIdType,-1,VTK_ID_MAX);
203  vtkGetMacro(PointOfInterest,vtkIdType);
204  vtkSetClampMacro(MaximumNumberOfTileClips,vtkIdType,1,VTK_ID_MAX);
205  vtkGetMacro(MaximumNumberOfTileClips,vtkIdType);
207 
209 
215  { return this->Locator; }
217 
219 
228  vtkSetMacro(GenerateVoronoiFlower,vtkTypeBool);
229  vtkGetMacro(GenerateVoronoiFlower,vtkTypeBool);
230  vtkBooleanMacro(GenerateVoronoiFlower,vtkTypeBool);
232 
234 
241  vtkGetObjectMacro(Spheres,vtkSpheres);
243 
249  {return this->NumberOfThreadsUsed;}
250 
254  vtkMTimeType GetMTime() override;
255 
256 protected:
257  vtkVoronoi2D();
258  ~vtkVoronoi2D() override;
259 
261  double Padding;
262  double Tolerance;
263  int ProjectionPlaneMode; //selects the plane in 3D where the tessellation will be computed
271 
272  // Satisfy pipeline-related API
274  int FillInputPortInformation(int, vtkInformation*) override;
275 
276 private:
277  vtkVoronoi2D(const vtkVoronoi2D&) = delete;
278  void operator=(const vtkVoronoi2D&) = delete;
279 };
280 
281 #endif
vtkSpheres * Spheres
Definition: vtkVoronoi2D.h:270
int ProjectionPlaneMode
Definition: vtkVoronoi2D.h:263
implicit function for a set of spheres
Definition: vtkSpheres.h:42
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:302
void SetProjectionPlaneModeToSpecifiedTransformPlane()
Define the method to project the input 3D points into a 2D plane for tessellation.
Definition: vtkVoronoi2D.h:182
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkAbstractTransform * Transform
Definition: vtkVoronoi2D.h:265
vtkStaticPointLocator2D * Locator
Definition: vtkVoronoi2D.h:264
abstract class for specifying dataset behavior
Definition: vtkPointSet.h:39
int vtkIdType
Definition: vtkType.h:347
static vtkPolyDataAlgorithm * New()
int vtkTypeBool
Definition: vtkABI.h:69
vtkIdType MaximumNumberOfTileClips
Definition: vtkVoronoi2D.h:267
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:33
double Tolerance
Definition: vtkVoronoi2D.h:262
superclass for all geometric transformations
vtkTypeBool GenerateVoronoiFlower
Definition: vtkVoronoi2D.h:268
virtual vtkMTimeType GetMTime()
Return this object's modified time.
create 2D Voronoi convex tiling of input points
Definition: vtkVoronoi2D.h:102
int GetNumberOfThreadsUsed()
Return the number of threads actually used during execution.
Definition: vtkVoronoi2D.h:248
double Padding
Definition: vtkVoronoi2D.h:261
void SetProjectionPlaneModeToBestFittingPlane()
Define the method to project the input 3D points into a 2D plane for tessellation.
Definition: vtkVoronoi2D.h:184
#define VTK_ID_MAX
Definition: vtkType.h:351
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:214
int NumberOfThreadsUsed
Definition: vtkVoronoi2D.h:269
void SetGenerateScalarsToNone()
Indicate whether to create a scalar array as part of the output.
Definition: vtkVoronoi2D.h:140
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:144
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkIdType PointOfInterest
Definition: vtkVoronoi2D.h:266
void SetGenerateScalarsToPointIds()
Indicate whether to create a scalar array as part of the output.
Definition: vtkVoronoi2D.h:142
quickly locate points in 2-space
Transform
Definition: ADIOSDefs.h:40