Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

CullBinManager Class Reference

#include <cullBinManager.h>

List of all members.

Public Member Functions

 PT (CullBin) make_new_bin(int bin_index

Public Attributes

GraphicsStateGuardianBasegsg

Protected Member Functions

 CullBinManager ()
 ~CullBinManager ()
int add_bin (const string &name, BinType type, int sort)
void remove_bin (int bin_index)
INLINE int get_num_bins () const
INLINE int get_bin (int n) const
int find_bin (const string &name) const
INLINE string get_bin_name (int bin_index) const
INLINE BinType get_bin_type (int bin_index) const
INLINE int get_bin_sort (int bin_index) const
INLINE void set_bin_sort (int bin_index, int sort)

Static Protected Member Functions

CullBinManager * get_global_ptr ()

Protected Attributes

PUBLISHED __pad0__: enum BinType { BT_invalid
PUBLISHED BT_unsorted
PUBLISHED BT_state_sorted
PUBLISHED BT_back_to_front
PUBLISHED BT_front_to_back
PUBLISHED BT_fixed

Private Types

typedef pvector< BinDefinitionBinDefinitions
typedef pmap< string, int > BinsByName
typedef vector_int SortedBins

Private Member Functions

void do_sort_bins ()
void setup_initial_bins ()

Static Private Member Functions

BinType parse_bin_type (const string &bin_type)

Private Attributes

BinDefinitions _bin_definitions
BinsByName _bins_by_name
SortedBins _sorted_bins
bool _bins_are_sorted
bool _unused_bin_index

Static Private Attributes

CullBinManager * _global_ptr = (CullBinManager *)NULL

Friends

class SortBins


Member Typedef Documentation

typedef pvector<BinDefinition> CullBinManager::BinDefinitions [private]
 

Definition at line 83 of file cullBinManager.h.

typedef pmap<string, int> CullBinManager::BinsByName [private]
 

Definition at line 93 of file cullBinManager.h.

typedef vector_int CullBinManager::SortedBins [private]
 

Definition at line 96 of file cullBinManager.h.


Constructor & Destructor Documentation

CullBinManager::CullBinManager  )  [protected]
 

Definition at line 42 of file cullBinManager.cxx.

References _bins_are_sorted, _unused_bin_index, and setup_initial_bins().

CullBinManager::~CullBinManager  )  [protected]
 

Definition at line 55 of file cullBinManager.cxx.


Member Function Documentation

int CullBinManager::add_bin const string &  name,
BinType  type,
int  sort
[protected]
 

Definition at line 68 of file cullBinManager.cxx.

References _bin_definitions, _bins_are_sorted, _bins_by_name, CullBinManager::BinDefinition::_in_use, CullBinManager::BinDefinition::_name, CullBinManager::BinDefinition::_sort, _sorted_bins, CullBinManager::BinDefinition::_type, _unused_bin_index, and type.

Referenced by RenderState::determine_bin_index(), and setup_initial_bins().

void CullBinManager::do_sort_bins  )  [private]
 

Definition at line 226 of file cullBinManager.cxx.

References _bins_are_sorted, _sorted_bins, and SortBins.

int CullBinManager::find_bin const string &  name  )  const [protected]
 

Definition at line 168 of file cullBinManager.cxx.

References _bins_by_name.

Referenced by RenderState::determine_bin_index(), and setup_initial_bins().

INLINE int CullBinManager::get_bin int  n  )  const [protected]
 

Referenced by CullResult::draw().

INLINE string CullBinManager::get_bin_name int  bin_index  )  const [protected]
 

INLINE int CullBinManager::get_bin_sort int  bin_index  )  const [protected]
 

Referenced by PGItem::cull_callback().

INLINE BinType CullBinManager::get_bin_type int  bin_index  )  const [protected]
 

Referenced by PGItem::cull_callback().

CullBinManager * CullBinManager::get_global_ptr  )  [static, protected]
 

Definition at line 184 of file cullBinManager.cxx.

References _global_ptr, and NULL.

Referenced by PGItem::cull_callback(), RenderState::determine_bin_index(), CullResult::draw(), and CullResult::make_new_bin().

INLINE int CullBinManager::get_num_bins  )  const [protected]
 

Referenced by CullResult::draw().

CullBinManager::BinType CullBinManager::parse_bin_type const string &  bin_type  )  [static, private]
 

Definition at line 305 of file cullBinManager.cxx.

References BT_back_to_front, BT_fixed, BT_front_to_back, BT_state_sorted, BT_unsorted, and cmp_nocase_uh().

Referenced by setup_initial_bins().

CullBinManager::PT CullBin   ) 
 

void CullBinManager::remove_bin int  bin_index  )  [protected]
 

Definition at line 138 of file cullBinManager.cxx.

References _bin_definitions, _bins_by_name, _sorted_bins, CullResult::bin_removed(), and RenderState::bin_removed().

INLINE void CullBinManager::set_bin_sort int  bin_index,
int  sort
[protected]
 

void CullBinManager::setup_initial_bins  )  [private]
 

Definition at line 239 of file cullBinManager.cxx.

References add_bin(), BT_back_to_front, BT_fixed, BT_state_sorted, BT_unsorted, extract_words(), find_bin(), parse_bin_type(), string_to_int(), and type.

Referenced by CullBinManager().


Friends And Related Function Documentation

friend class SortBins [friend]
 

Definition at line 102 of file cullBinManager.h.

Referenced by do_sort_bins().


Member Data Documentation

PUBLISHED CullBinManager::__pad0__ [protected]
 

Definition at line 44 of file cullBinManager.h.

BinDefinitions CullBinManager::_bin_definitions [private]
 

Definition at line 84 of file cullBinManager.h.

Referenced by add_bin(), and remove_bin().

bool CullBinManager::_bins_are_sorted [private]
 

Definition at line 98 of file cullBinManager.h.

Referenced by add_bin(), CullBinManager(), and do_sort_bins().

BinsByName CullBinManager::_bins_by_name [private]
 

Definition at line 94 of file cullBinManager.h.

Referenced by add_bin(), find_bin(), and remove_bin().

CullBinManager * CullBinManager::_global_ptr = (CullBinManager *)NULL [static, private]
 

Definition at line 30 of file cullBinManager.cxx.

Referenced by get_global_ptr().

SortedBins CullBinManager::_sorted_bins [private]
 

Definition at line 97 of file cullBinManager.h.

Referenced by add_bin(), do_sort_bins(), and remove_bin().

bool CullBinManager::_unused_bin_index [private]
 

Definition at line 99 of file cullBinManager.h.

Referenced by add_bin(), and CullBinManager().

PUBLISHED CullBinManager::BT_back_to_front [protected]
 

Definition at line 44 of file cullBinManager.h.

Referenced by parse_bin_type(), and setup_initial_bins().

PUBLISHED CullBinManager::BT_fixed [protected]
 

Definition at line 44 of file cullBinManager.h.

Referenced by PGItem::cull_callback(), parse_bin_type(), and setup_initial_bins().

PUBLISHED CullBinManager::BT_front_to_back [protected]
 

Definition at line 44 of file cullBinManager.h.

Referenced by parse_bin_type().

PUBLISHED CullBinManager::BT_state_sorted [protected]
 

Definition at line 44 of file cullBinManager.h.

Referenced by parse_bin_type(), and setup_initial_bins().

PUBLISHED CullBinManager::BT_unsorted [protected]
 

Definition at line 44 of file cullBinManager.h.

Referenced by PGItem::cull_callback(), RenderState::determine_bin_index(), parse_bin_type(), and setup_initial_bins().

GraphicsStateGuardianBase* CullBinManager::gsg
 

Definition at line 69 of file cullBinManager.h.


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:11:47 2003 for Panda by doxygen1.3