18 #include "pandabase.h" 19 #include "cullBinEnums.h" 20 #include "typedReferenceCount.h" 21 #include "pStatCollector.h" 22 #include "pointerTo.h" 48 INLINE CullBin(
const string &name, BinType bin_type,
53 INLINE
const string &get_name()
const;
54 INLINE BinType get_bin_type()
const;
56 virtual PT(CullBin) make_next()
const;
61 virtual void draw(
bool force,
Thread *current_thread)=0;
65 INLINE
bool has_flash_color()
const;
66 INLINE
const LColor &get_flash_color()
const;
69 class ResultGraphBuilder;
70 virtual void fill_result_graph(ResultGraphBuilder &builder)=0;
73 void check_flash_color();
81 class ResultGraphBuilder {
91 CPT(TransformState) _current_transform;
105 static void init_type() {
106 TypedReferenceCount::init_type();
107 register_type(_type_handle,
"CullBin",
108 TypedReferenceCount::get_class_type());
111 return get_class_type();
113 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
A basic node of the scene graph or data graph.
A collection of Geoms and their associated state, for a particular scene.
A base class for things which need to inherit from both TypedObject and from ReferenceCount.
Provides scoping for the enumerated type shared by CullBin and CullBinManager.
A lightweight class that represents a single element that may be timed and/or counted via stats...
The smallest atom of cull.
This represents a unique collection of RenderAttrib objects that correspond to a particular renderabl...
This is the base class for all three-component vectors and points.
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.
TypeHandle is the identifier used to differentiate C++ class types.
This object holds the camera position, etc., and other general setup information for rendering a part...
A node that holds Geom objects, renderable pieces of geometry.