00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00029 #ifndef __vtkRegularPolygonSource_h
00030 #define __vtkRegularPolygonSource_h
00031
00032 #include "vtkPolyDataAlgorithm.h"
00033
00034 class VTK_GRAPHICS_EXPORT vtkRegularPolygonSource : public vtkPolyDataAlgorithm
00035 {
00036 public:
00038
00040 static vtkRegularPolygonSource *New();
00041 vtkTypeRevisionMacro(vtkRegularPolygonSource,vtkPolyDataAlgorithm);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00044
00046
00048 vtkSetClampMacro(NumberOfSides,int,3,VTK_LARGE_INTEGER);
00049 vtkGetMacro(NumberOfSides,int);
00051
00053
00055 vtkSetVector3Macro(Center,double);
00056 vtkGetVectorMacro(Center,double,3);
00058
00060
00063 vtkSetVector3Macro(Normal,double);
00064 vtkGetVectorMacro(Normal,double,3);
00066
00068
00070 vtkSetMacro(Radius,double);
00071 vtkGetMacro(Radius,double);
00073
00075
00077 vtkSetMacro(GeneratePolygon,int);
00078 vtkGetMacro(GeneratePolygon,int);
00079 vtkBooleanMacro(GeneratePolygon,int);
00081
00083
00085 vtkSetMacro(GeneratePolyline,int);
00086 vtkGetMacro(GeneratePolyline,int);
00087 vtkBooleanMacro(GeneratePolyline,int);
00089
00090 protected:
00091 vtkRegularPolygonSource();
00092 ~vtkRegularPolygonSource() {}
00093
00094 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00095 int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00096
00097 int NumberOfSides;
00098 double Center[3];
00099 double Normal[3];
00100 double Radius;
00101 int GeneratePolygon;
00102 int GeneratePolyline;
00103
00104 private:
00105 vtkRegularPolygonSource(const vtkRegularPolygonSource&);
00106 void operator=(const vtkRegularPolygonSource&);
00107 };
00108
00109 #endif