# CullBinManager¶

class CullBinManager

Bases: CullBinEnums

This is a global object that maintains the collection of named CullBins in the world.

Inheritance diagram

int add_bin(std::string const &name, BinType type, int sort)

Defines a new bin with the indicated name, and returns the new bin_index. If there is already a bin with the same name returns its bin_index if it had the same properties; otherwise, reports an error and returns -1.

int find_bin(std::string const &name) const

Returns the bin_index associated with the bin of the given name, or -1 if no bin has that name.

int get_bin(int n) const

Returns the bin_index of the nth bin in the set, where n is a number between 0 and get_num_bins(). This returns the list of bin_index numbers, in sorted order (that is, in the order in which the bins should be rendered).

bool get_bin_active(int bin_index) const
bool get_bin_active(std::string const &name) const

Returns the active flag of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()).

When a bin is marked inactive, all geometry assigned to it is not rendered.

Returns the active flag of the bin with the indicated name.

When a bin is marked inactive, all geometry assigned to it is not rendered.

bool get_bin_flash_active(int bin_index) const

Returns true if the bin with the given bin_index is configured to flash at a predetermined color (where bin_index was retrieved by get_bin() or find_bin()).

This method is not available in release builds.

LColor const &get_bin_flash_color(int bin_index) const

Returns the color that this bin has been configured to flash to, if configured.

This method is not available in release builds.

std::string get_bin_name(int bin_index) const

Returns the name of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()). The bin’s name may not be changed during the life of the bin.

int get_bin_sort(int bin_index) const
int get_bin_sort(std::string const &name) const

Returns the sort order of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()).

The bins are rendered in increasing order by their sort order; this number may be changed from time to time to reorder the bins.

Returns the sort order of the bin with the indicated name.

The bins are rendered in increasing order by their sort order; this number may be changed from time to time to reorder the bins.

BinType get_bin_type(int bin_index) const
BinType get_bin_type(std::string const &name) const

Returns the type of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()).

Returns the type of the bin with the indicated name.

CullBinManager *get_global_ptr(void)

Returns the pointer to the global CullBinManager object.

int get_num_bins(void) const

Returns the number of bins in the world.

void remove_bin(int bin_index)

Permanently removes the indicated bin. This operation is not protected from the pipeline and will disturb whatever is currently rendering in draw. You should not call this during the normal course of rendering a frame; it is intended only as an aid to development, to allow the developer to interactively fiddle with the set of bins.

void set_bin_active(int bin_index, bool active)
void set_bin_active(std::string const &name, bool active)

Changes the active flag of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()).

When a bin is marked inactive, all geometry assigned to it is not rendered.

Changes the active flag of the bin with the indicated name.

When a bin is marked inactive, all geometry assigned to it is not rendered.

void set_bin_flash_active(int bin_index, bool active)

When set to true, the given bin_index is configured to flash at a predetermined color (where bin_index was retrieved by get_bin() or find_bin()).

This method is not available in release builds.

void set_bin_flash_color(int bin_index, LColor const &color)

Changes the flash color for the given bin index.

This method is not available in release builds.

void set_bin_sort(int bin_index, int sort)
void set_bin_sort(std::string const &name, int sort)

Changes the sort order of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()).

The bins are rendered in increasing order by their sort order; this number may be changed from time to time to reorder the bins.

Changes the sort order of the bin with the indicated name.

The bins are rendered in increasing order by their sort order; this number may be changed from time to time to reorder the bins.

void set_bin_type(int bin_index, BinType type)
void set_bin_type(std::string const &name, BinType type)

Changes the type of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()).

The change might be effective immediately, or it might take place next frame, depending on the bin type.

Changes the type of the bin with the indicated name.

The change might be effective immediately, or it might take place next frame, depending on the bin type.

void write(std::ostream &out) const