00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00031 #ifndef __vtkTexturedSphereSource_h
00032 #define __vtkTexturedSphereSource_h
00033
00034 #include "vtkPolyDataAlgorithm.h"
00035
00036 #define VTK_MAX_SPHERE_RESOLUTION 1024
00037
00038 class VTK_GRAPHICS_EXPORT vtkTexturedSphereSource : public vtkPolyDataAlgorithm
00039 {
00040 public:
00041 vtkTypeMacro(vtkTexturedSphereSource,vtkPolyDataAlgorithm);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00046 static vtkTexturedSphereSource *New();
00047
00049
00050 vtkSetClampMacro(Radius,double,0.0,VTK_DOUBLE_MAX);
00051 vtkGetMacro(Radius,double);
00053
00055
00056 vtkSetClampMacro(ThetaResolution,int,4,VTK_MAX_SPHERE_RESOLUTION);
00057 vtkGetMacro(ThetaResolution,int);
00059
00061
00062 vtkSetClampMacro(PhiResolution,int,4,VTK_MAX_SPHERE_RESOLUTION);
00063 vtkGetMacro(PhiResolution,int);
00065
00067
00068 vtkSetClampMacro(Theta,double,0.0,360.0);
00069 vtkGetMacro(Theta,double);
00071
00073
00074 vtkSetClampMacro(Phi,double,0.0,180.0);
00075 vtkGetMacro(Phi,double);
00077
00078 protected:
00079 vtkTexturedSphereSource(int res=8);
00080 ~vtkTexturedSphereSource() {};
00081
00082 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00083 double Radius;
00084 double Theta;
00085 double Phi;
00086 int ThetaResolution;
00087 int PhiResolution;
00088
00089 private:
00090 vtkTexturedSphereSource(const vtkTexturedSphereSource&);
00091 void operator=(const vtkTexturedSphereSource&);
00092 };
00093
00094 #endif