VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Filters/Sources/vtkFrustumSource.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkFrustumSource.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00034 #ifndef vtkFrustumSource_h
00035 #define vtkFrustumSource_h
00036 
00037 #include "vtkFiltersSourcesModule.h" // For export macro
00038 #include "vtkPolyDataAlgorithm.h"
00039 class vtkPlanes;
00040 
00041 class VTKFILTERSSOURCES_EXPORT vtkFrustumSource : public vtkPolyDataAlgorithm
00042 {
00043 public:
00044   static vtkFrustumSource *New();
00045   vtkTypeMacro(vtkFrustumSource,vtkPolyDataAlgorithm);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00047 
00049 
00054   vtkGetObjectMacro(Planes,vtkPlanes);
00056 
00058   virtual void SetPlanes(vtkPlanes *planes);
00059 
00061 
00062   vtkGetMacro(ShowLines,bool);
00063   vtkSetMacro(ShowLines,bool);
00064   vtkBooleanMacro(ShowLines,bool);
00066 
00068 
00070   vtkGetMacro(LinesLength,double);
00071   vtkSetMacro(LinesLength,double);
00073 
00075   unsigned long GetMTime();
00076 
00078 
00082   vtkSetMacro(OutputPointsPrecision,int);
00083   vtkGetMacro(OutputPointsPrecision,int);
00085 
00086 protected:
00088   vtkFrustumSource();
00089 
00090   virtual ~vtkFrustumSource();
00091 
00092   virtual int RequestData(vtkInformation *request,
00093                           vtkInformationVector **inputVector,
00094                           vtkInformationVector *outputVector);
00095 
00097 
00098   void ComputePoint(int planes[3],
00099                     double *pt);
00101 
00102   vtkPlanes *Planes;
00103   bool ShowLines;
00104   double LinesLength;
00105   int OutputPointsPrecision;
00106 
00107 private:
00108   vtkFrustumSource(const vtkFrustumSource&);  // Not implemented.
00109   void operator=(const vtkFrustumSource&);  // Not implemented.
00110 };
00111 
00112 #endif