00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00065 #ifndef __vtkSphereSource_h
00066 #define __vtkSphereSource_h
00067
00068 #include "vtkPolyDataSource.h"
00069
00070 #define VTK_MAX_SPHERE_RESOLUTION 1024
00071
00072 class VTK_GRAPHICS_EXPORT vtkSphereSource : public vtkPolyDataSource
00073 {
00074 public:
00075 vtkTypeMacro(vtkSphereSource,vtkPolyDataSource);
00076 void PrintSelf(ostream& os, vtkIndent indent);
00077
00081 static vtkSphereSource *New();
00082
00084
00085 vtkSetClampMacro(Radius,float,0.0,VTK_LARGE_FLOAT);
00086 vtkGetMacro(Radius,float);
00088
00090
00091 vtkSetVector3Macro(Center,float);
00092 vtkGetVectorMacro(Center,float,3);
00094
00096
00098 vtkSetClampMacro(ThetaResolution,int,3,VTK_MAX_SPHERE_RESOLUTION);
00099 vtkGetMacro(ThetaResolution,int);
00101
00103
00105 vtkSetClampMacro(PhiResolution,int,3,VTK_MAX_SPHERE_RESOLUTION);
00106 vtkGetMacro(PhiResolution,int);
00108
00110
00111 vtkSetClampMacro(StartTheta,float,0.0,360.0);
00112 vtkGetMacro(StartTheta,float);
00114
00116
00117 vtkSetClampMacro(EndTheta,float,0.0,360.0);
00118 vtkGetMacro(EndTheta,float);
00120
00122
00124 vtkSetClampMacro(StartPhi,float,0.0,360.0);
00125 vtkGetMacro(StartPhi,float);
00127
00129
00130 vtkSetClampMacro(EndPhi,float,0.0,360.0);
00131 vtkGetMacro(EndPhi,float);
00133
00135
00141 vtkSetMacro(LatLongTessellation,int);
00142 vtkGetMacro(LatLongTessellation,int);
00143 vtkBooleanMacro(LatLongTessellation,int);
00145
00146 protected:
00147 vtkSphereSource(int res=8);
00148 ~vtkSphereSource() {}
00149
00150 void Execute();
00151 void ExecuteInformation();
00152
00153 float Radius;
00154 float Center[3];
00155 int ThetaResolution;
00156 int PhiResolution;
00157 float StartTheta;
00158 float EndTheta;
00159 float StartPhi;
00160 float EndPhi;
00161 int LatLongTessellation;
00162
00163 private:
00164 vtkSphereSource(const vtkSphereSource&);
00165 void operator=(const vtkSphereSource&);
00166 };
00167
00168 #endif
00169
00170