00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00037
#ifndef __vtkSphereSource_h
00038
#define __vtkSphereSource_h
00039
00040
#include "vtkPolyDataSource.h"
00041
00042 #define VTK_MAX_SPHERE_RESOLUTION 1024
00043
00044 class VTK_GRAPHICS_EXPORT vtkSphereSource :
public vtkPolyDataSource
00045 {
00046
public:
00047 vtkTypeRevisionMacro(vtkSphereSource,
vtkPolyDataSource);
00048
void PrintSelf(ostream& os,
vtkIndent indent);
00049
00053
static vtkSphereSource *
New();
00054
00056
00057 vtkSetClampMacro(Radius,
double,0.0,VTK_DOUBLE_MAX);
00058 vtkGetMacro(Radius,
double);
00060
00062
00063 vtkSetVector3Macro(Center,
double);
00064 vtkGetVectorMacro(Center,
double,3);
00066
00068
00070 vtkSetClampMacro(ThetaResolution,
int,3,VTK_MAX_SPHERE_RESOLUTION);
00071 vtkGetMacro(ThetaResolution,
int);
00073
00075
00077 vtkSetClampMacro(PhiResolution,
int,3,VTK_MAX_SPHERE_RESOLUTION);
00078 vtkGetMacro(PhiResolution,
int);
00080
00082
00083 vtkSetClampMacro(StartTheta,
double,0.0,360.0);
00084 vtkGetMacro(StartTheta,
double);
00086
00088
00089 vtkSetClampMacro(EndTheta,
double,0.0,360.0);
00090 vtkGetMacro(EndTheta,
double);
00092
00094
00096 vtkSetClampMacro(StartPhi,
double,0.0,360.0);
00097 vtkGetMacro(StartPhi,
double);
00099
00101
00102 vtkSetClampMacro(EndPhi,
double,0.0,360.0);
00103 vtkGetMacro(EndPhi,
double);
00105
00107
00113 vtkSetMacro(LatLongTessellation,
int);
00114 vtkGetMacro(LatLongTessellation,
int);
00115 vtkBooleanMacro(LatLongTessellation,
int);
00117
00118
protected:
00119 vtkSphereSource(
int res=8);
00120 ~vtkSphereSource() {}
00121
00122
void Execute();
00123
void ExecuteInformation();
00124
00125 double Radius;
00126 double Center[3];
00127 int ThetaResolution;
00128 int PhiResolution;
00129 double StartTheta;
00130 double EndTheta;
00131 double StartPhi;
00132 double EndPhi;
00133 int LatLongTessellation;
00134
00135
private:
00136 vtkSphereSource(
const vtkSphereSource&);
00137
void operator=(
const vtkSphereSource&);
00138 };
00139
00140
#endif
00141
00142