Panda3D
 All Classes Functions Variables Enumerations
cullHandler.h
1 // Filename: cullHandler.h
2 // Created by: drose (23Feb02)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #ifndef CULLHANDLER_H
16 #define CULLHANDLER_H
17 
18 #include "pandabase.h"
19 #include "cullableObject.h"
20 #include "graphicsStateGuardianBase.h"
21 
22 class CullTraverser;
23 
24 ////////////////////////////////////////////////////////////////////
25 // Class : CullHandler
26 // Description : This defines the abstract interface for an object
27 // that receives Geoms identified by the CullTraverser.
28 // By itself, it's not a particularly useful class; to
29 // use it, derive from it and redefine record_object().
30 ////////////////////////////////////////////////////////////////////
31 class EXPCL_PANDA_PGRAPH CullHandler {
32 public:
33  CullHandler();
34  virtual ~CullHandler();
35 
36  virtual void record_object(CullableObject *object,
37  const CullTraverser *traverser);
38  virtual void end_traverse();
39 
40  INLINE static void draw(CullableObject *object,
42  bool force, Thread *current_thread);
43 };
44 
45 #include "cullHandler.I"
46 
47 #endif
48 
49 
50 
This defines the abstract interface for an object that receives Geoms identified by the CullTraverser...
Definition: cullHandler.h:31
The smallest atom of cull.
This is a base class for the GraphicsStateGuardian class, which is itself a base class for the variou...
A thread; that is, a lightweight process.
Definition: thread.h:51
This object performs a depth-first traversal of the scene graph, with optional view-frustum culling...
Definition: cullTraverser.h:48