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

osgUtil::RenderBin Class Reference

RenderBin base class. More...

Inheritance diagram for osgUtil::RenderBin:

Inheritance graph
[legend]
List of all members.

Public Types

typedef std::vector< RenderLeaf * > RenderLeafList
typedef std::vector< RenderGraph * > RenderGraphList
typedef std::map< int, osg::ref_ptr<
RenderBin > > 
RenderBinList
typedef std::map< std::string,
osg::ref_ptr< RenderBin > > 
RenderBinPrototypeList
enum  SortMode { SORT_BY_STATE, SORT_FRONT_TO_BACK, SORT_BACK_TO_FONT }

Public Methods

 RenderBin ()
virtual osg::ObjectcloneType () const
 Clone the type of an object, with Object* return type.

virtual osg::Objectclone (const osg::CopyOp &) const
virtual bool isSameKindAs (const osg::Object *obj) const
virtual const char * libraryName () const
 return the name of the object's library.

virtual const char * className () const
 return the name of the object's class type.

virtual void reset ()
RenderBin * find_or_insert (int binNum, const std::string &binName)
void addRenderGraph (RenderGraph *rg)
void sort ()
void setSortMode (SortMode mode)
SortMode getSortMode () const
virtual void sort_local ()
virtual void sort_local_by_state ()
virtual void sort_local_front_to_back ()
virtual void sort_local_back_to_front ()
void setSortLocalCallback (SortCallback *sortCallback)
SortCallbackgetSortLocalCallback ()
const SortCallbackgetSortLocalCallback () const
virtual void draw (osg::State &state, RenderLeaf *&previous)
virtual void draw_local (osg::State &state, RenderLeaf *&previous)
bool getStats (osg::Statistics *primStats)
 extract stats for current draw list.

void getPrims (osg::Statistics *primStats)
bool getPrims (osg::Statistics *primStats, const int nbin)
void copyLeavesFromRenderGraphListToRenderLeafList ()

Static Public Methods

RenderBin * createRenderBin (const std::string &binName)
void addRenderBinPrototype (RenderBin *proto)
void removeRenderBinPrototype (RenderBin *proto)

Public Attributes

int _binNum
RenderBin * _parent
RenderStage_stage
RenderBinList _bins
RenderGraphList _renderGraphList
RenderLeafList _renderLeafList
SortMode _sortMode
osg::ref_ptr< SortCallback_sortLocalCallback

Static Public Attributes

RenderBinPrototypeList s_renderBinPrototypeList

Protected Methods

virtual ~RenderBin ()

Detailed Description

RenderBin base class.


Member Typedef Documentation

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

typedef std::map< std::string, osg::ref_ptr<RenderBin> > osgUtil::RenderBin::RenderBinPrototypeList
 

typedef std::vector<RenderGraph*> osgUtil::RenderBin::RenderGraphList
 

typedef std::vector<RenderLeaf*> osgUtil::RenderBin::RenderLeafList
 


Member Enumeration Documentation

enum osgUtil::RenderBin::SortMode
 

Enumeration values:
SORT_BY_STATE 
SORT_FRONT_TO_BACK 
SORT_BACK_TO_FONT 


Constructor & Destructor Documentation

osgUtil::RenderBin::RenderBin  
 

virtual osgUtil::RenderBin::~RenderBin   [protected, virtual]
 


Member Function Documentation

void osgUtil::RenderBin::addRenderBinPrototype RenderBin *    proto [static]
 

void osgUtil::RenderBin::addRenderGraph RenderGraph   rg [inline]
 

virtual const char* osgUtil::RenderBin::className   const [inline, virtual]
 

return the name of the object's class type.

Must be defined by derived classes.

Implements osg::Object.

Reimplemented in osgUtil::DepthSortedBin, osgUtil::RenderStage, and osgUtil::RenderToTextureStage.

virtual osg::Object* osgUtil::RenderBin::clone const osg::CopyOp   const [inline, virtual]
 

Reimplemented in osgUtil::DepthSortedBin, osgUtil::RenderStage, and osgUtil::RenderToTextureStage.

virtual osg::Object* osgUtil::RenderBin::cloneType   const [inline, virtual]
 

Clone the type of an object, with Object* return type.

Must be defined by derived classes.

Implements osg::Object.

Reimplemented in osgUtil::DepthSortedBin, osgUtil::RenderStage, and osgUtil::RenderToTextureStage.

void osgUtil::RenderBin::copyLeavesFromRenderGraphListToRenderLeafList  
 

RenderBin* osgUtil::RenderBin::createRenderBin const std::string &    binName [static]
 

virtual void osgUtil::RenderBin::draw osg::State   state,
RenderLeaf *&    previous
[virtual]
 

Reimplemented in osgUtil::RenderStage, and osgUtil::RenderToTextureStage.

virtual void osgUtil::RenderBin::draw_local osg::State   state,
RenderLeaf *&    previous
[virtual]
 

Reimplemented in osgUtil::DepthSortedBin.

RenderBin* osgUtil::RenderBin::find_or_insert int    binNum,
const std::string &    binName
 

bool osgUtil::RenderBin::getPrims osg::Statistics   primStats,
const int    nbin
 

void osgUtil::RenderBin::getPrims osg::Statistics   primStats
 

const SortCallback* osgUtil::RenderBin::getSortLocalCallback   const [inline]
 

SortCallback* osgUtil::RenderBin::getSortLocalCallback   [inline]
 

SortMode osgUtil::RenderBin::getSortMode   const [inline]
 

bool osgUtil::RenderBin::getStats osg::Statistics   primStats
 

extract stats for current draw list.

Reimplemented in osgUtil::RenderStage.

virtual bool osgUtil::RenderBin::isSameKindAs const osg::Object   obj const [inline, virtual]
 

Reimplemented in osgUtil::DepthSortedBin, osgUtil::RenderStage, and osgUtil::RenderToTextureStage.

virtual const char* osgUtil::RenderBin::libraryName   const [inline, virtual]
 

return the name of the object's library.

Must be defined by derived classes. The OpenSceneGraph convention the is that the namspace of a library is the same as the library name.

Implements osg::Object.

Reimplemented in osgUtil::DepthSortedBin, and osgUtil::RenderToTextureStage.

void osgUtil::RenderBin::removeRenderBinPrototype RenderBin *    proto [static]
 

virtual void osgUtil::RenderBin::reset   [virtual]
 

Reimplemented in osgUtil::DepthSortedBin, osgUtil::RenderStage, and osgUtil::RenderToTextureStage.

void osgUtil::RenderBin::setSortLocalCallback SortCallback   sortCallback [inline]
 

void osgUtil::RenderBin::setSortMode SortMode    mode [inline]
 

void osgUtil::RenderBin::sort  
 

virtual void osgUtil::RenderBin::sort_local   [virtual]
 

Reimplemented in osgUtil::DepthSortedBin.

virtual void osgUtil::RenderBin::sort_local_back_to_front   [virtual]
 

virtual void osgUtil::RenderBin::sort_local_by_state   [virtual]
 

virtual void osgUtil::RenderBin::sort_local_front_to_back   [virtual]
 


Member Data Documentation

int osgUtil::RenderBin::_binNum
 

RenderBinList osgUtil::RenderBin::_bins
 

RenderBin* osgUtil::RenderBin::_parent
 

RenderGraphList osgUtil::RenderBin::_renderGraphList
 

RenderLeafList osgUtil::RenderBin::_renderLeafList
 

osg::ref_ptr<SortCallback> osgUtil::RenderBin::_sortLocalCallback
 

SortMode osgUtil::RenderBin::_sortMode
 

RenderStage* osgUtil::RenderBin::_stage
 

RenderBinPrototypeList osgUtil::RenderBin::s_renderBinPrototypeList [static]
 


The documentation for this class was generated from the following file:
Generated at Wed Sep 18 13:56:01 2002 for the Open Scene Graph by doxygen 1.2.16.