00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkCuller.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 =========================================================================*/ 00045 #ifndef __vtkCuller_h 00046 #define __vtkCuller_h 00047 00048 #include "vtkObject.h" 00049 00050 class vtkProp; 00051 class vtkRenderer; 00052 00053 class VTK_RENDERING_EXPORT vtkCuller : public vtkObject 00054 { 00055 public: 00056 vtkTypeRevisionMacro(vtkCuller,vtkObject); 00057 virtual void PrintSelf(ostream& os, vtkIndent indent); 00058 00060 00061 virtual float Cull( vtkRenderer *ren, vtkProp **propList, 00062 int& listLength, int& initialized )=0; 00064 00065 protected: 00066 vtkCuller(); 00067 ~vtkCuller(); 00068 private: 00069 vtkCuller(const vtkCuller&); // Not implemented. 00070 void operator=(const vtkCuller&); // Not implemented. 00071 }; 00072 00073 #endif