14 #ifndef CULLBINMANAGER_H 15 #define CULLBINMANAGER_H 40 typedef CullBin::BinType BinType;
42 int add_bin(
const std::string &name, BinType type,
int sort);
43 void remove_bin(
int bin_index);
45 INLINE
int get_num_bins()
const;
46 INLINE
int get_bin(
int n)
const;
47 MAKE_SEQ(get_bins, get_num_bins, get_bin);
48 int find_bin(
const std::string &name)
const;
50 INLINE std::string get_bin_name(
int bin_index)
const;
52 INLINE BinType get_bin_type(
int bin_index)
const;
53 INLINE BinType get_bin_type(
const std::string &name)
const;
54 INLINE
void set_bin_type(
int bin_index, BinType type);
55 INLINE
void set_bin_type(
const std::string &name, BinType type);
57 INLINE
int get_bin_sort(
int bin_index)
const;
58 INLINE
int get_bin_sort(
const std::string &name)
const;
59 INLINE
void set_bin_sort(
int bin_index,
int sort);
60 INLINE
void set_bin_sort(
const std::string &name,
int sort);
62 INLINE
bool get_bin_active(
int bin_index)
const;
63 INLINE
bool get_bin_active(
const std::string &name)
const;
64 INLINE
void set_bin_active(
int bin_index,
bool active);
65 INLINE
void set_bin_active(
const std::string &name,
bool active);
68 INLINE
bool get_bin_flash_active(
int bin_index)
const;
69 INLINE
const LColor &get_bin_flash_color(
int bin_index)
const;
70 INLINE
void set_bin_flash_active(
int bin_index,
bool active);
71 INLINE
void set_bin_flash_color(
int bin_index,
const LColor &color);
74 void write(std::ostream &out)
const;
86 typedef CullBin *BinConstructor(
const std::string &name,
90 void register_bin_type(BinType type, BinConstructor *constructor);
94 void setup_initial_bins();
95 static BinType parse_bin_type(
const std::string &bin_type);
97 class EXPCL_PANDA_PGRAPH BinDefinition {
109 typedef epvector<BinDefinition> BinDefinitions;
110 BinDefinitions _bin_definitions;
115 INLINE
bool operator () (
int a,
int b)
const;
120 BinsByName _bins_by_name;
122 typedef vector_int SortedBins;
123 SortedBins _sorted_bins;
124 bool _bins_are_sorted;
125 bool _unused_bin_index;
128 BinConstructors _bin_constructors;
131 friend class SortBins;
134 EXPCL_PANDA_PGRAPH std::ostream &
135 operator << (std::ostream &out, CullBinManager::BinType bin_type);
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A collection of Geoms and their associated state, for a particular scene.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This stores the result of a BinCullHandler traversal: an ordered collection of CullBins,...
This is a base class for the GraphicsStateGuardian class, which is itself a base class for the variou...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is a global object that maintains the collection of named CullBins in the world.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.