VTK
dox/Filters/Core/vtkFeatureEdges.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkFeatureEdges.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00043 #ifndef __vtkFeatureEdges_h
00044 #define __vtkFeatureEdges_h
00045 
00046 #include "vtkFiltersCoreModule.h" // For export macro
00047 #include "vtkPolyDataAlgorithm.h"
00048 
00049 class vtkIncrementalPointLocator;
00050 
00051 class VTKFILTERSCORE_EXPORT vtkFeatureEdges : public vtkPolyDataAlgorithm
00052 {
00053 public:
00054   vtkTypeMacro(vtkFeatureEdges,vtkPolyDataAlgorithm);
00055   void PrintSelf(ostream& os, vtkIndent indent);
00056 
00059   static vtkFeatureEdges *New();
00060 
00062 
00063   vtkSetMacro(BoundaryEdges,int);
00064   vtkGetMacro(BoundaryEdges,int);
00065   vtkBooleanMacro(BoundaryEdges,int);
00067 
00069 
00070   vtkSetMacro(FeatureEdges,int);
00071   vtkGetMacro(FeatureEdges,int);
00072   vtkBooleanMacro(FeatureEdges,int);
00074 
00076 
00077   vtkSetClampMacro(FeatureAngle,double,0.0,180.0);
00078   vtkGetMacro(FeatureAngle,double);
00080 
00082 
00083   vtkSetMacro(NonManifoldEdges,int);
00084   vtkGetMacro(NonManifoldEdges,int);
00085   vtkBooleanMacro(NonManifoldEdges,int);
00087 
00089 
00090   vtkSetMacro(ManifoldEdges,int);
00091   vtkGetMacro(ManifoldEdges,int);
00092   vtkBooleanMacro(ManifoldEdges,int);
00094 
00096 
00097   vtkSetMacro(Coloring,int);
00098   vtkGetMacro(Coloring,int);
00099   vtkBooleanMacro(Coloring,int);
00101 
00103 
00105   void SetLocator(vtkIncrementalPointLocator *locator);
00106   vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
00108 
00110   void CreateDefaultLocator();
00111 
00113   unsigned long GetMTime();
00114 
00116 
00119   vtkSetMacro(OutputPointsPrecision,int);
00120   vtkGetMacro(OutputPointsPrecision,int);
00122 
00123 protected:
00124   vtkFeatureEdges();
00125   ~vtkFeatureEdges();
00126 
00127   // Usual data generation method
00128   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00129   int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00130 
00131   double FeatureAngle;
00132   int BoundaryEdges;
00133   int FeatureEdges;
00134   int NonManifoldEdges;
00135   int ManifoldEdges;
00136   int Coloring;
00137   int OutputPointsPrecision;
00138   vtkIncrementalPointLocator *Locator;
00139 private:
00140   vtkFeatureEdges(const vtkFeatureEdges&);  // Not implemented.
00141   void operator=(const vtkFeatureEdges&);  // Not implemented.
00142 };
00143 
00144 #endif
00145 
00146