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::Object * cloneType () const
 Clone the type of an object, with Object* return type.

virtual osg::Object * clone (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)
SortCallback * getSortLocalCallback ()
const SortCallback * getSortLocalCallback () 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.