VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkRegularPolygonSource.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 =========================================================================*/ 00032 #ifndef vtkRegularPolygonSource_h 00033 #define vtkRegularPolygonSource_h 00034 00035 #include "vtkFiltersSourcesModule.h" // For export macro 00036 #include "vtkPolyDataAlgorithm.h" 00037 00038 class VTKFILTERSSOURCES_EXPORT vtkRegularPolygonSource : public vtkPolyDataAlgorithm 00039 { 00040 public: 00042 00044 static vtkRegularPolygonSource *New(); 00045 vtkTypeMacro(vtkRegularPolygonSource,vtkPolyDataAlgorithm); 00046 void PrintSelf(ostream& os, vtkIndent indent); 00048 00050 00052 vtkSetClampMacro(NumberOfSides,int,3,VTK_INT_MAX); 00053 vtkGetMacro(NumberOfSides,int); 00055 00057 00059 vtkSetVector3Macro(Center,double); 00060 vtkGetVectorMacro(Center,double,3); 00062 00064 00067 vtkSetVector3Macro(Normal,double); 00068 vtkGetVectorMacro(Normal,double,3); 00070 00072 00074 vtkSetMacro(Radius,double); 00075 vtkGetMacro(Radius,double); 00077 00079 00081 vtkSetMacro(GeneratePolygon,int); 00082 vtkGetMacro(GeneratePolygon,int); 00083 vtkBooleanMacro(GeneratePolygon,int); 00085 00087 00089 vtkSetMacro(GeneratePolyline,int); 00090 vtkGetMacro(GeneratePolyline,int); 00091 vtkBooleanMacro(GeneratePolyline,int); 00093 00095 00099 vtkSetMacro(OutputPointsPrecision,int); 00100 vtkGetMacro(OutputPointsPrecision,int); 00102 00103 protected: 00104 vtkRegularPolygonSource(); 00105 ~vtkRegularPolygonSource() {} 00106 00107 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00108 00109 int NumberOfSides; 00110 double Center[3]; 00111 double Normal[3]; 00112 double Radius; 00113 int GeneratePolygon; 00114 int GeneratePolyline; 00115 int OutputPointsPrecision; 00116 00117 private: 00118 vtkRegularPolygonSource(const vtkRegularPolygonSource&); // Not implemented. 00119 void operator=(const vtkRegularPolygonSource&); // Not implemented. 00120 }; 00121 00122 #endif