Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkFeatureEdges.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkFeatureEdges.h,v $
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 =========================================================================*/
00056 #ifndef __vtkFeatureEdges_h
00057 #define __vtkFeatureEdges_h
00058 
00059 #include "vtkPolyDataToPolyDataFilter.h"
00060 
00061 class vtkPointLocator;
00062 
00063 class VTK_GRAPHICS_EXPORT vtkFeatureEdges : public vtkPolyDataToPolyDataFilter
00064 {
00065 public:
00066   vtkTypeRevisionMacro(vtkFeatureEdges,vtkPolyDataToPolyDataFilter);
00067   void PrintSelf(ostream& os, vtkIndent indent);
00068 
00071   static vtkFeatureEdges *New();
00072 
00074 
00075   vtkSetMacro(BoundaryEdges,int);
00076   vtkGetMacro(BoundaryEdges,int);
00077   vtkBooleanMacro(BoundaryEdges,int);
00079 
00081 
00082   vtkSetMacro(FeatureEdges,int);
00083   vtkGetMacro(FeatureEdges,int);
00084   vtkBooleanMacro(FeatureEdges,int);
00086 
00088 
00089   vtkSetClampMacro(FeatureAngle,double,0.0,180.0);
00090   vtkGetMacro(FeatureAngle,double);
00092 
00094 
00095   vtkSetMacro(NonManifoldEdges,int);
00096   vtkGetMacro(NonManifoldEdges,int);
00097   vtkBooleanMacro(NonManifoldEdges,int);
00099 
00101 
00102   vtkSetMacro(ManifoldEdges,int);
00103   vtkGetMacro(ManifoldEdges,int);
00104   vtkBooleanMacro(ManifoldEdges,int);
00106 
00108 
00109   vtkSetMacro(Coloring,int);
00110   vtkGetMacro(Coloring,int);
00111   vtkBooleanMacro(Coloring,int);
00113 
00115 
00117   void SetLocator(vtkPointLocator *locator);
00118   vtkGetObjectMacro(Locator,vtkPointLocator);
00120 
00122   void CreateDefaultLocator();
00123 
00125   unsigned long GetMTime();
00126 
00127 protected:
00128   vtkFeatureEdges();
00129   ~vtkFeatureEdges();
00130 
00131   // Usual data generation method
00132   void Execute();
00133   void ComputeInputUpdateExtents(vtkDataObject *output);
00134   
00135   double FeatureAngle;
00136   int BoundaryEdges;
00137   int FeatureEdges;
00138   int NonManifoldEdges;
00139   int ManifoldEdges;
00140   int Coloring;
00141   vtkPointLocator *Locator;
00142 private:
00143   vtkFeatureEdges(const vtkFeatureEdges&);  // Not implemented.
00144   void operator=(const vtkFeatureEdges&);  // Not implemented.
00145 };
00146 
00147 #endif
00148 
00149