You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.6 KiB
C++

/*=========================================================================
Program: Visualization Toolkit
Module: vtkCuller.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/**
* @class vtkCuller
* @brief a superclass for prop cullers
*
* A culler has a cull method called by the vtkRenderer. The cull
* method is called before any rendering is performed,
* and it allows the culler to do some processing on the props and
* to modify their AllocatedRenderTime and re-order them in the prop list.
*
* @sa
* vtkFrustumCoverageCuller
*/
#ifndef vtkCuller_h
#define vtkCuller_h
#include "vtkObject.h"
#include "vtkRenderingCoreModule.h" // For export macro
class vtkProp;
class vtkRenderer;
class VTKRENDERINGCORE_EXPORT vtkCuller : public vtkObject
{
public:
vtkTypeMacro(vtkCuller, vtkObject);
void PrintSelf(ostream& os, vtkIndent indent) override;
/**
* This is called outside the render loop by vtkRenderer
*/
virtual double Cull(vtkRenderer* ren, vtkProp** propList, int& listLength, int& initialized) = 0;
protected:
vtkCuller();
~vtkCuller() override;
private:
vtkCuller(const vtkCuller&) = delete;
void operator=(const vtkCuller&) = delete;
};
#endif