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 "vtkPolyDataAlgorithm.h" 00047 00048 class vtkIncrementalPointLocator; 00049 00050 class VTK_GRAPHICS_EXPORT vtkFeatureEdges : public vtkPolyDataAlgorithm 00051 { 00052 public: 00053 vtkTypeMacro(vtkFeatureEdges,vtkPolyDataAlgorithm); 00054 void PrintSelf(ostream& os, vtkIndent indent); 00055 00058 static vtkFeatureEdges *New(); 00059 00061 00062 vtkSetMacro(BoundaryEdges,int); 00063 vtkGetMacro(BoundaryEdges,int); 00064 vtkBooleanMacro(BoundaryEdges,int); 00066 00068 00069 vtkSetMacro(FeatureEdges,int); 00070 vtkGetMacro(FeatureEdges,int); 00071 vtkBooleanMacro(FeatureEdges,int); 00073 00075 00076 vtkSetClampMacro(FeatureAngle,double,0.0,180.0); 00077 vtkGetMacro(FeatureAngle,double); 00079 00081 00082 vtkSetMacro(NonManifoldEdges,int); 00083 vtkGetMacro(NonManifoldEdges,int); 00084 vtkBooleanMacro(NonManifoldEdges,int); 00086 00088 00089 vtkSetMacro(ManifoldEdges,int); 00090 vtkGetMacro(ManifoldEdges,int); 00091 vtkBooleanMacro(ManifoldEdges,int); 00093 00095 00096 vtkSetMacro(Coloring,int); 00097 vtkGetMacro(Coloring,int); 00098 vtkBooleanMacro(Coloring,int); 00100 00102 00104 void SetLocator(vtkIncrementalPointLocator *locator); 00105 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator); 00107 00109 void CreateDefaultLocator(); 00110 00112 unsigned long GetMTime(); 00113 00114 protected: 00115 vtkFeatureEdges(); 00116 ~vtkFeatureEdges(); 00117 00118 // Usual data generation method 00119 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00120 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00121 00122 double FeatureAngle; 00123 int BoundaryEdges; 00124 int FeatureEdges; 00125 int NonManifoldEdges; 00126 int ManifoldEdges; 00127 int Coloring; 00128 vtkIncrementalPointLocator *Locator; 00129 private: 00130 vtkFeatureEdges(const vtkFeatureEdges&); // Not implemented. 00131 void operator=(const vtkFeatureEdges&); // Not implemented. 00132 }; 00133 00134 #endif 00135 00136