## class OSGUTIL_EXPORT osgUtil::RenderBin

> RenderBin base class

## Inheritance:

### Public Fields

int _binNum
RenderBin* _parent
RenderStage* _stage
RenderBinList _bins
RenderGraphList _renderGraphList
RenderLeafList _renderLeafList
SortMode _sortMode
osg::ref_ptr<SortCallback> _sortCallback
osg::ref_ptr<DrawCallback> _drawCallback

### Public Methods

static RenderBin* createRenderBin(const std::string& binName)
static RenderBin* getRenderBinPrototype(const std::string& binName)
static void addRenderBinPrototype(const std::string& binName, RenderBin* proto)
static void removeRenderBinPrototype(RenderBin* proto)
RenderBin(SortMode mode=SORT_BY_STATE)
RenderBin(const RenderBin& rhs, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY)
  Copy constructor using CopyOp to manage deep vs shallow copy
virtual osg::Object* cloneType() const
virtual osg::Object* clone(const osg::CopyOp& copyop) const
virtual bool isSameKindAs(const osg::Object* obj) const
virtual const char* libraryName() const
virtual const char* className() const
virtual void reset()
RenderBin* find_or_insert(int binNum, const std::string& binName)
void addRenderGraph(RenderGraph* rg)
void sort()
virtual void sortImplementation()
void setSortMode(SortMode mode)
SortMode getSortMode() const
virtual void sortByState()
virtual void sortFrontToBack()
virtual void sortBackToFront()
void setSortCallback(SortCallback* sortCallback)
SortCallback* getSortCallback()
const SortCallback* getSortCallback() const
virtual void draw(osg::State& state, RenderLeaf*& previous)
virtual void drawImplementation(osg::State& state, RenderLeaf*& previous)
void setDrawCallback(DrawCallback* drawCallback)
DrawCallback* getDrawCallback()
const DrawCallback* getDrawCallback() const
bool getStats(Statistics* primStats)
  extract stats for current draw list.
void getPrims(Statistics* primStats)
bool getPrims(Statistics* primStats, int nbin)
void copyLeavesFromRenderGraphListToRenderLeafList()

### Public Members

typedef std::vector<RenderLeaf*> RenderLeafList
typedef std::vector<RenderGraph*> RenderGraphList
typedef std::map< int, osg::ref_ptr<RenderBin> > RenderBinList
enum SortMode
struct SortCallback: public osg::Referenced
struct DrawCallback: public osg::Referenced

### Protected Methods

virtual ~RenderBin()

## Documentation

> RenderBin base class

`typedef std::vector<RenderLeaf*> RenderLeafList`

`typedef std::vector<RenderGraph*> RenderGraphList`

`typedef std::map< int, osg::ref_ptr<RenderBin> > RenderBinList`

`static RenderBin* createRenderBin(const std::string& binName)`

`static RenderBin* getRenderBinPrototype(const std::string& binName)`

`static void addRenderBinPrototype(const std::string& binName, RenderBin* proto)`

`static void removeRenderBinPrototype(RenderBin* proto)`

`enum SortMode`

`SORT_BY_STATE`

`SORT_FRONT_TO_BACK`

`SORT_BACK_TO_FRONT`

`RenderBin(SortMode mode=SORT_BY_STATE)`

`RenderBin(const RenderBin& rhs, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY)`
  Copy constructor using CopyOp to manage deep vs shallow copy

`virtual osg::Object* cloneType() const`

`virtual osg::Object* clone(const osg::CopyOp& copyop) const`

`virtual bool isSameKindAs(const osg::Object* obj) const`

`virtual const char* libraryName() const`

`virtual const char* className() const`

`virtual void reset()`

`RenderBin* find_or_insert(int binNum, const std::string& binName)`

`void addRenderGraph(RenderGraph* rg)`

`void sort()`

`virtual void sortImplementation()`

`void setSortMode(SortMode mode)`

`SortMode getSortMode() const`

`virtual void sortByState()`

`virtual void sortFrontToBack()`

`virtual void sortBackToFront()`

`struct SortCallback: public osg::Referenced`

`virtual void sortImplementation(RenderBin*) = 0`

`void setSortCallback(SortCallback* sortCallback)`

`SortCallback* getSortCallback()`

`const SortCallback* getSortCallback() const`

`virtual void draw(osg::State& state, RenderLeaf*& previous)`

`virtual void drawImplementation(osg::State& state, RenderLeaf*& previous)`

`struct DrawCallback: public osg::Referenced`

`virtual void drawImplementation(RenderBin* bin, osg::State& state, RenderLeaf*& previous) = 0`

`void setDrawCallback(DrawCallback* drawCallback)`

`DrawCallback* getDrawCallback()`

`const DrawCallback* getDrawCallback() const`

`bool getStats(Statistics* primStats)`
  extract stats for current draw list.

`void getPrims(Statistics* primStats)`

`bool getPrims(Statistics* primStats, int nbin)`

`void copyLeavesFromRenderGraphListToRenderLeafList()`

`int _binNum`

`RenderBin* _parent`

`RenderStage* _stage`

`RenderBinList _bins`

`RenderGraphList _renderGraphList`

`RenderLeafList _renderLeafList`

`SortMode _sortMode`

`osg::ref_ptr<SortCallback> _sortCallback`

`osg::ref_ptr<DrawCallback> _drawCallback`

`virtual ~RenderBin()`

Direct child classes:
  RenderStage

Alphabetic index HTML hierarchy of classes or Java

This page was generated with the help of DOC++.