00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00031 #ifndef __vtkPointSource_h
00032 #define __vtkPointSource_h
00033
00034 #include "vtkPolyDataAlgorithm.h"
00035
00036 #define VTK_POINT_UNIFORM 1
00037 #define VTK_POINT_SHELL 0
00038
00039 class VTK_GRAPHICS_EXPORT vtkPointSource : public vtkPolyDataAlgorithm
00040 {
00041 public:
00042 static vtkPointSource *New();
00043 vtkTypeMacro(vtkPointSource,vtkPolyDataAlgorithm);
00044 void PrintSelf(ostream& os, vtkIndent indent);
00045
00047
00048 vtkSetClampMacro(NumberOfPoints,vtkIdType,1,VTK_LARGE_ID);
00049 vtkGetMacro(NumberOfPoints,vtkIdType);
00051
00053
00054 vtkSetVector3Macro(Center,double);
00055 vtkGetVectorMacro(Center,double,3);
00057
00059
00062 vtkSetClampMacro(Radius,double,0.0,VTK_DOUBLE_MAX);
00063 vtkGetMacro(Radius,double);
00065
00067
00070 vtkSetMacro(Distribution,int);
00071 void SetDistributionToUniform() {
00072 this->SetDistribution(VTK_POINT_UNIFORM);};
00073 void SetDistributionToShell() {
00074 this->SetDistribution(VTK_POINT_SHELL);};
00075 vtkGetMacro(Distribution,int);
00077
00078 protected:
00079 vtkPointSource(vtkIdType numPts=10);
00080 ~vtkPointSource() {};
00081
00082 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00083
00084 vtkIdType NumberOfPoints;
00085 double Center[3];
00086 double Radius;
00087 int Distribution;
00088
00089 private:
00090 vtkPointSource(const vtkPointSource&);
00091 void operator=(const vtkPointSource&);
00092 };
00093
00094 #endif