00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00041
#ifndef __vtkSphereSource_h
00042
#define __vtkSphereSource_h
00043
00044
#include "vtkPolyDataSource.h"
00045
00046 #define VTK_MAX_SPHERE_RESOLUTION 1024
00047
00048 class VTK_GRAPHICS_EXPORT vtkSphereSource :
public vtkPolyDataSource
00049 {
00050
public:
00051 vtkTypeRevisionMacro(vtkSphereSource,
vtkPolyDataSource);
00052
void PrintSelf(ostream& os,
vtkIndent indent);
00053
00057
static vtkSphereSource *
New();
00058
00060
00061 vtkSetClampMacro(Radius,
float,0.0,VTK_LARGE_FLOAT);
00062 vtkGetMacro(Radius,
float);
00064
00066
00067 vtkSetVector3Macro(Center,
float);
00068 vtkGetVectorMacro(Center,
float,3);
00070
00072
00074 vtkSetClampMacro(ThetaResolution,
int,3,VTK_MAX_SPHERE_RESOLUTION);
00075 vtkGetMacro(ThetaResolution,
int);
00077
00079
00081 vtkSetClampMacro(PhiResolution,
int,3,VTK_MAX_SPHERE_RESOLUTION);
00082 vtkGetMacro(PhiResolution,
int);
00084
00086
00087 vtkSetClampMacro(StartTheta,
float,0.0,360.0);
00088 vtkGetMacro(StartTheta,
float);
00090
00092
00093 vtkSetClampMacro(EndTheta,
float,0.0,360.0);
00094 vtkGetMacro(EndTheta,
float);
00096
00098
00100 vtkSetClampMacro(StartPhi,
float,0.0,360.0);
00101 vtkGetMacro(StartPhi,
float);
00103
00105
00106 vtkSetClampMacro(EndPhi,
float,0.0,360.0);
00107 vtkGetMacro(EndPhi,
float);
00109
00111
00117 vtkSetMacro(LatLongTessellation,
int);
00118 vtkGetMacro(LatLongTessellation,
int);
00119 vtkBooleanMacro(LatLongTessellation,
int);
00121
00122
protected:
00123 vtkSphereSource(
int res=8);
00124 ~vtkSphereSource() {}
00125
00126
void Execute();
00127
void ExecuteInformation();
00128
00129 float Radius;
00130 float Center[3];
00131 int ThetaResolution;
00132 int PhiResolution;
00133 float StartTheta;
00134 float EndTheta;
00135 float StartPhi;
00136 float EndPhi;
00137 int LatLongTessellation;
00138
00139
private:
00140 vtkSphereSource(
const vtkSphereSource&);
00141
void operator=(
const vtkSphereSource&);
00142 };
00143
00144
#endif
00145
00146