/*========================================================================= Program: Visualization Toolkit Module: $RCSfile: vtkGaussPointCloudSource.h,v $ Language: C++ Date: $Date: 2002/04/18 12:15:58 $ Version: $Revision: 1.3 $ Made by Rasmus Paulsen email: rrp@imm.dtu.dk web: www.imm.dtu.dk/~rrp/VTK This class is not mature enough to enter the official VTK release. =========================================================================*/ // .NAME vtkGaussPointCloudSource - Create a 3D Gaussian distributed point cloud // .SECTION Description // // vtkGaussPointCloudSource creates a Gaussian distributed 3D point cloud centered // at the origin. // It is possible to specify the number of points and the standard deviation // along the X, Y and Z axes. #ifndef __vtkGaussPointCloudSource_h #define __vtkGaussPointCloudSource_h #include "vtkPolyDataSource.h" class vtkGaussPointCloudSource: public vtkPolyDataSource { public: static vtkGaussPointCloudSource *New(); vtkTypeRevisionMacro(vtkGaussPointCloudSource,vtkPolyDataSource); void PrintSelf(ostream& os, vtkIndent indent); // Description: // Set the standard deviation of the cloud in the x-direction. vtkSetClampMacro(XSdev,float,0.0,VTK_LARGE_FLOAT); vtkGetMacro(XSdev,float); // Description: // Set the standard deviation of the cloud in the y-direction. vtkSetClampMacro(YSdev,float,0.0,VTK_LARGE_FLOAT); vtkGetMacro(YSdev,float); // Description: // Set the standard deviation of the cloud in the z-direction. vtkSetClampMacro(ZSdev,float,0.0,VTK_LARGE_FLOAT); vtkGetMacro(ZSdev,float); // Description: // Set the center of the point cloud. vtkSetVector3Macro(Center,float); vtkGetVectorMacro(Center,float,3); // Description: // The seed used by the random generator vtkSetMacro(Seed, long); // Description: // Set the number of points in the cloud vtkSetMacro(NPoint,int); vtkGetMacro(NPoint, int); protected: vtkGaussPointCloudSource(float xL=1.0, float yL=1.0, float zL=1.0, int n = 10); ~vtkGaussPointCloudSource() {}; double GaussRandomNumber(); void Execute(); float XSdev; float YSdev; float ZSdev; float Center[3]; int NPoint; long Seed; private: vtkGaussPointCloudSource(const vtkGaussPointCloudSource&); // Not implemented. void operator=(const vtkGaussPointCloudSource&); // Not implemented. }; #endif