00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00031 #ifndef __vtkFrustumSource_h
00032 #define __vtkFrustumSource_h
00033
00034 #include "vtkPolyDataAlgorithm.h"
00035 class vtkPlanes;
00036
00037 class VTK_GRAPHICS_EXPORT vtkFrustumSource : public vtkPolyDataAlgorithm
00038 {
00039 public:
00040 static vtkFrustumSource *New();
00041 vtkTypeMacro(vtkFrustumSource,vtkPolyDataAlgorithm);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00045
00050 vtkGetObjectMacro(Planes,vtkPlanes);
00052
00054 virtual void SetPlanes(vtkPlanes *planes);
00055
00057
00058 vtkGetMacro(ShowLines,bool);
00059 vtkSetMacro(ShowLines,bool);
00060 vtkBooleanMacro(ShowLines,bool);
00062
00064
00066 vtkGetMacro(LinesLength,double);
00067 vtkSetMacro(LinesLength,double);
00069
00071 unsigned long GetMTime();
00072
00073 protected:
00075 vtkFrustumSource();
00076
00077 virtual ~vtkFrustumSource();
00078
00079 virtual int RequestData(vtkInformation *request,
00080 vtkInformationVector **inputVector,
00081 vtkInformationVector *outputVector);
00082
00084
00085 void ComputePoint(int planes[3],
00086 double *pt);
00088
00089 vtkPlanes *Planes;
00090 bool ShowLines;
00091 double LinesLength;
00092
00093 private:
00094 vtkFrustumSource(const vtkFrustumSource&);
00095 void operator=(const vtkFrustumSource&);
00096 };
00097
00098 #endif