Drake Designer
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Pages
vtkRobustNormalEstimator.h
Go to the documentation of this file.
1 #ifndef __vtkRobustNormalEstimator_h
2 #define __vtkRobustNormalEstimator_h
3 
4 #include <vtkPolyDataAlgorithm.h>
5 #include <vtkDRCFiltersModule.h>
6 
7 
8 class VTKDRCFILTERS_EXPORT vtkRobustNormalEstimator : public vtkPolyDataAlgorithm
9 {
10 
11 public:
12  vtkTypeMacro(vtkRobustNormalEstimator, vtkPolyDataAlgorithm);
13  void PrintSelf(ostream& os, vtkIndent indent);
14 
15  static vtkRobustNormalEstimator *New();
16 
17  // Description:
18  // Search radius for normal estimation
19  vtkSetMacro(Radius, double);
20  vtkGetMacro(Radius, double);
21 
22  // Description:
23  // Distance error between a point being processed and the local plane fit.
24  // If the distance is greater than MaxCenterError then the point will not be
25  // assigned a valid normal.
26  vtkSetMacro(MaxCenterError, double);
27  vtkGetMacro(MaxCenterError, double);
28 
29  // Description:
30  // Distance error threshold for ransac plane fitting.
31  vtkSetMacro(MaxEstimationError, double);
32  vtkGetMacro(MaxEstimationError, double);
33 
34  // Description:
35  // Iterations limit for ransac plane fitting.
36  vtkSetMacro(MaxIterations, int);
37  vtkGetMacro(MaxIterations, int);
38 
39  vtkSetMacro(ComputeCurvature, bool);
40  vtkGetMacro(ComputeCurvature, bool);
41 
42 protected:
43 
46  double Radius;
49 
50  virtual int RequestData(vtkInformation *request,
51  vtkInformationVector **inputVector,
52  vtkInformationVector *outputVector);
53 
54 
56  virtual ~vtkRobustNormalEstimator();
57 
58 private:
59  vtkRobustNormalEstimator(const vtkRobustNormalEstimator&); // Not implemented.
60  void operator=(const vtkRobustNormalEstimator&); // Not implemented.
61 };
62 
63 #endif
#define VTKDRCFILTERS_EXPORT