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 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