Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkFrustumCoverageCuller.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkFrustumCoverageCuller.h,v $
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 =========================================================================*/
00046 #ifndef __vtkFrustumCoverageCuller_h
00047 #define __vtkFrustumCoverageCuller_h
00048 
00049 #include "vtkCuller.h"
00050 
00051 #define VTK_CULLER_SORT_NONE          0
00052 #define VTK_CULLER_SORT_FRONT_TO_BACK 1
00053 #define VTK_CULLER_SORT_BACK_TO_FRONT 2
00054 
00055 class vtkProp;
00056 class vtkRenderer;
00057 
00058 class VTK_RENDERING_EXPORT vtkFrustumCoverageCuller : public vtkCuller
00059 {
00060 public:
00061   static vtkFrustumCoverageCuller *New();
00062   vtkTypeRevisionMacro(vtkFrustumCoverageCuller,vtkCuller);
00063   void PrintSelf(ostream& os,vtkIndent indent);
00064 
00066 
00068   vtkSetMacro( MinimumCoverage, double );
00069   vtkGetMacro( MinimumCoverage, double );
00071 
00073 
00075   vtkSetMacro( MaximumCoverage, double );
00076   vtkGetMacro( MaximumCoverage, double );
00078 
00080 
00082   vtkSetClampMacro( SortingStyle, int,
00083         VTK_CULLER_SORT_NONE, VTK_CULLER_SORT_BACK_TO_FRONT );
00084   vtkGetMacro(SortingStyle,int);
00085   void SetSortingStyleToNone()
00086         {this->SetSortingStyle(VTK_CULLER_SORT_NONE);};
00087   void SetSortingStyleToBackToFront()
00088     {this->SetSortingStyle(VTK_CULLER_SORT_BACK_TO_FRONT);};
00089   void SetSortingStyleToFrontToBack()
00090     {this->SetSortingStyle(VTK_CULLER_SORT_FRONT_TO_BACK);};
00091   const char *GetSortingStyleAsString(void);
00093 
00094 //BTX
00096 
00100   double Cull( vtkRenderer *ren, vtkProp **propList,
00101               int& listLength, int& initialized );
00103 //ETX
00104 
00105 protected:
00106   vtkFrustumCoverageCuller();
00107   ~vtkFrustumCoverageCuller() {};
00108 
00109   double       MinimumCoverage;
00110   double       MaximumCoverage;
00111   int          SortingStyle;
00112 private:
00113   vtkFrustumCoverageCuller(const vtkFrustumCoverageCuller&);  // Not implemented.
00114   void operator=(const vtkFrustumCoverageCuller&);  // Not implemented.
00115 };
00116 
00117                                          
00118 #endif