00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00032 #ifndef __vtkRegularPolygonSource_h
00033 #define __vtkRegularPolygonSource_h
00034
00035 #include "vtkPolyDataAlgorithm.h"
00036
00037 class VTK_GRAPHICS_EXPORT vtkRegularPolygonSource : public vtkPolyDataAlgorithm
00038 {
00039 public:
00041
00043 static vtkRegularPolygonSource *New();
00044 vtkTypeMacro(vtkRegularPolygonSource,vtkPolyDataAlgorithm);
00045 void PrintSelf(ostream& os, vtkIndent indent);
00047
00049
00051 vtkSetClampMacro(NumberOfSides,int,3,VTK_LARGE_INTEGER);
00052 vtkGetMacro(NumberOfSides,int);
00054
00056
00058 vtkSetVector3Macro(Center,double);
00059 vtkGetVectorMacro(Center,double,3);
00061
00063
00066 vtkSetVector3Macro(Normal,double);
00067 vtkGetVectorMacro(Normal,double,3);
00069
00071
00073 vtkSetMacro(Radius,double);
00074 vtkGetMacro(Radius,double);
00076
00078
00080 vtkSetMacro(GeneratePolygon,int);
00081 vtkGetMacro(GeneratePolygon,int);
00082 vtkBooleanMacro(GeneratePolygon,int);
00084
00086
00088 vtkSetMacro(GeneratePolyline,int);
00089 vtkGetMacro(GeneratePolyline,int);
00090 vtkBooleanMacro(GeneratePolyline,int);
00092
00093 protected:
00094 vtkRegularPolygonSource();
00095 ~vtkRegularPolygonSource() {}
00096
00097 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00098 int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00099
00100 int NumberOfSides;
00101 double Center[3];
00102 double Normal[3];
00103 double Radius;
00104 int GeneratePolygon;
00105 int GeneratePolyline;
00106
00107 private:
00108 vtkRegularPolygonSource(const vtkRegularPolygonSource&);
00109 void operator=(const vtkRegularPolygonSource&);
00110 };
00111
00112 #endif