Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# Rendering/vtkFrustumCoverageCuller.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkFrustumCoverageCuller.h,v $
    00005   Language:  C++
    00006
    00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
    00008   All rights reserved.
    00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
    00010
    00011      This software is distributed WITHOUT ANY WARRANTY; without even
    00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    00013      PURPOSE.  See the above copyright notice for more information.
    00014
    00015 =========================================================================*/
    00050 #ifndef __vtkFrustumCoverageCuller_h
    00051 #define __vtkFrustumCoverageCuller_h
    00052
    00053 #include "vtkCuller.h"
    00054
    00055 #define VTK_CULLER_SORT_NONE          0
    00056 #define VTK_CULLER_SORT_FRONT_TO_BACK 1
    00057 #define VTK_CULLER_SORT_BACK_TO_FRONT 2
    00058
    00059 class vtkProp;
    00060 class vtkRenderer;
    00061
    00062 class VTK_RENDERING_EXPORT vtkFrustumCoverageCuller : public vtkCuller
    00063 {
    00064 public:
    00065   static vtkFrustumCoverageCuller *New();
    00066   vtkTypeRevisionMacro(vtkFrustumCoverageCuller,vtkCuller);
    00067   void PrintSelf(ostream& os,vtkIndent indent);
    00068
    00070
    00072   vtkSetMacro( MinimumCoverage, float );
    00073   vtkGetMacro( MinimumCoverage, float );
    00075
    00077
    00079   vtkSetMacro( MaximumCoverage, float );
    00080   vtkGetMacro( MaximumCoverage, float );
    00082
    00084
    00086   vtkSetClampMacro( SortingStyle, int,
    00087         VTK_CULLER_SORT_NONE, VTK_CULLER_SORT_BACK_TO_FRONT );
    00088   vtkGetMacro(SortingStyle,int);
    00089   void SetSortingStyleToNone()
    00090         {this->SetSortingStyle(VTK_CULLER_SORT_NONE);};
    00091   void SetSortingStyleToBackToFront()
    00092     {this->SetSortingStyle(VTK_CULLER_SORT_BACK_TO_FRONT);};
    00093   void SetSortingStyleToFrontToBack()
    00094     {this->SetSortingStyle(VTK_CULLER_SORT_FRONT_TO_BACK);};
    00095   const char *GetSortingStyleAsString(void);
    00097
    00098 //BTX
    00100   /*! WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE
    00101       THESE METHODS OUTSIDE OF THE RENDERING PROCESS Perform the cull
    00102       operation This method should only be called by vtkRenderer as part of
    00103       the render process */
    00104   float Cull( vtkRenderer *ren, vtkProp **propList,
    00105               int& listLength, int& initialized );
    00107 //ETX
    00108
    00109 protected:
    00110   vtkFrustumCoverageCuller();
    00111   ~vtkFrustumCoverageCuller() {};
    00112
    00113   float        MinimumCoverage;
    00114   float        MaximumCoverage;
    00115   int          SortingStyle;
    00116 private:
    00117   vtkFrustumCoverageCuller(const vtkFrustumCoverageCuller&);  // Not implemented.
    00118   void operator=(const vtkFrustumCoverageCuller&);  // Not implemented.
    00119 };
    00120
    00121
    00122 #endif