VTK
|
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 00115 protected: 00116 vtkFeatureEdges(); 00117 ~vtkFeatureEdges(); 00118 00119 // Usual data generation method 00120 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00121 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00122 00123 double FeatureAngle; 00124 int BoundaryEdges; 00125 int FeatureEdges; 00126 int NonManifoldEdges; 00127 int ManifoldEdges; 00128 int Coloring; 00129 vtkIncrementalPointLocator *Locator; 00130 private: 00131 vtkFeatureEdges(const vtkFeatureEdges&); // Not implemented. 00132 void operator=(const vtkFeatureEdges&); // Not implemented. 00133 }; 00134 00135 #endif 00136 00137