OpenSceneGraph
Public Types | Public Member Functions | Public Attributes | List of all members
osgUtil::Statistics Class Reference

Statistics base class. More...

Inheritance diagram for osgUtil::Statistics:
Inheritance graph
[legend]

Public Types

enum  StatsType {
  STAT_NONE, STAT_FRAMERATE, STAT_GRAPHS, STAT_PRIMS,
  STAT_PRIMSPERVIEW, STAT_PRIMSPERBIN, STAT_DC, STAT_RESTART
}
 
typedef std::pair< unsigned int, unsigned int > PrimitivePair
 
typedef std::map< GLenum, PrimitivePairPrimitiveValueMap
 
typedef std::map< GLenum, unsigned int > PrimitiveCountMap
 

Public Member Functions

 Statistics ()
 
void reset ()
 
void setType (StatsType t)
 
virtual void setVertexArray (unsigned int count, const osg::Vec3 *)
 Sets the array of vertices used to describe the primitives. More...
 
virtual void setVertexArray (unsigned int count, const osg::Vec2 *)
 Sets the array of vertices used to describe the primitives. More...
 
virtual void setVertexArray (unsigned int count, const osg::Vec4 *)
 Sets the array of vertices used to describe the primitives. More...
 
virtual void setVertexArray (unsigned int count, const osg::Vec3d *)
 Sets the array of vertices used to describe the primitives. More...
 
virtual void setVertexArray (unsigned int count, const osg::Vec2d *)
 Sets the array of vertices used to describe the primitives. More...
 
virtual void setVertexArray (unsigned int count, const osg::Vec4d *)
 Sets the array of vertices used to describe the primitives. More...
 
virtual void drawArrays (GLenum mode, GLint, GLsizei count)
 Mimics the OpenGL glDrawArrays() function. More...
 
virtual void drawElements (GLenum mode, GLsizei count, const GLubyte *)
 Mimics the OpenGL glDrawElements() function. More...
 
virtual void drawElements (GLenum mode, GLsizei count, const GLushort *)
 Mimics the OpenGL glDrawElements() function. More...
 
virtual void drawElements (GLenum mode, GLsizei count, const GLuint *)
 Mimics the OpenGL glDrawElements() function. More...
 
virtual void begin (GLenum mode)
 
void vertex ()
 
virtual void vertex (float, float, float)
 
virtual void vertex (const osg::Vec3 &)
 
virtual void vertex (const osg::Vec2 &)
 
virtual void vertex (const osg::Vec4 &)
 
virtual void vertex (float, float)
 
virtual void vertex (float, float, float, float)
 
virtual void end ()
 
void addDrawable ()
 
void addFastDrawable ()
 
void addMatrix ()
 
void addLight (int np)
 
void addImpostor (int np)
 
int getBins ()
 
void setDepth (int d)
 
void addBins (int np)
 
void setBinNo (int n)
 
void addStateGraphs (int n)
 
void addOrderedLeaves (int n)
 
void add (const Statistics &stats)
 
PrimitiveCountMapgetPrimitiveCountMap ()
 
const PrimitiveCountMapgetPrimitiveCountMap () const
 
PrimitiveValueMapgetPrimitiveValueMap ()
 
const PrimitiveValueMapgetPrimitiveValueMap () const
 
PrimitiveCountMap::iterator GetPrimitivesBegin ()
 deprecated More...
 
PrimitiveCountMap::iterator GetPrimitivesEnd ()
 deprecated More...
 
- Public Member Functions inherited from osg::PrimitiveFunctor
virtual ~PrimitiveFunctor ()
 

Public Attributes

int numDrawables
 
int nummat
 
int nbins
 
int numStateGraphs
 
int numFastDrawables
 
int nlights
 
int depth
 
int _binNo
 
StatsType stattype
 
int nimpostor
 
int numOrderedLeaves
 
unsigned int _vertexCount
 
PrimitiveValueMap _primitiveCount
 
GLenum _currentPrimitiveFunctorMode
 

Detailed Description

Statistics base class.

Used to extract primitive information from the renderBin(s). Add a case of getStats(osgUtil::Statistics *stat) for any new drawable (or drawable derived class) that you generate (eg see Geometry.cpp). There are 20 types of drawable counted - actually only 14 cases can occur in reality. these represent sets of GL_POINTS, GL_LINES GL_LINESTRIPS, LOOPS, TRIANGLES, TRI-fans, tristrips, quads, quadstrips etc The number of triangles rendered is inferred: each triangle = 1 triangle (number of vertices/3) each quad = 2 triangles (nverts/2) each trifan or tristrip = (length-2) triangles and so on.

Member Typedef Documentation

◆ PrimitiveCountMap

typedef std::map<GLenum, unsigned int> osgUtil::Statistics::PrimitiveCountMap

◆ PrimitivePair

typedef std::pair<unsigned int,unsigned int> osgUtil::Statistics::PrimitivePair

◆ PrimitiveValueMap

Member Enumeration Documentation

◆ StatsType

Enumerator
STAT_NONE 
STAT_FRAMERATE 
STAT_GRAPHS 
STAT_PRIMS 
STAT_PRIMSPERVIEW 
STAT_PRIMSPERBIN 
STAT_DC 
STAT_RESTART 

Constructor & Destructor Documentation

◆ Statistics()

osgUtil::Statistics::Statistics ( )

Member Function Documentation

◆ add()

void osgUtil::Statistics::add ( const Statistics stats)

◆ addBins()

void osgUtil::Statistics::addBins ( int  np)
inline

◆ addDrawable()

void osgUtil::Statistics::addDrawable ( )
inline

◆ addFastDrawable()

void osgUtil::Statistics::addFastDrawable ( )
inline

◆ addImpostor()

void osgUtil::Statistics::addImpostor ( int  np)
inline

◆ addLight()

void osgUtil::Statistics::addLight ( int  np)
inline

◆ addMatrix()

void osgUtil::Statistics::addMatrix ( )
inline

◆ addOrderedLeaves()

void osgUtil::Statistics::addOrderedLeaves ( int  n)
inline

◆ addStateGraphs()

void osgUtil::Statistics::addStateGraphs ( int  n)
inline

◆ begin()

virtual void osgUtil::Statistics::begin ( GLenum  mode)
virtual

◆ drawArrays()

virtual void osgUtil::Statistics::drawArrays ( GLenum  mode,
GLint  first,
GLsizei  count 
)
virtual

Mimics the OpenGL glDrawArrays() function.

Implements osg::PrimitiveFunctor.

◆ drawElements() [1/3]

virtual void osgUtil::Statistics::drawElements ( GLenum  mode,
GLsizei  count,
const GLubyte *  indices 
)
virtual

Mimics the OpenGL glDrawElements() function.

Implements osg::PrimitiveFunctor.

◆ drawElements() [2/3]

virtual void osgUtil::Statistics::drawElements ( GLenum  mode,
GLsizei  count,
const GLushort *  indices 
)
virtual

Mimics the OpenGL glDrawElements() function.

Implements osg::PrimitiveFunctor.

◆ drawElements() [3/3]

virtual void osgUtil::Statistics::drawElements ( GLenum  mode,
GLsizei  count,
const GLuint *  indices 
)
virtual

Mimics the OpenGL glDrawElements() function.

Implements osg::PrimitiveFunctor.

◆ end()

virtual void osgUtil::Statistics::end ( )
virtual

◆ getBins()

int osgUtil::Statistics::getBins ( )
inline

◆ getPrimitiveCountMap() [1/2]

PrimitiveCountMap& osgUtil::Statistics::getPrimitiveCountMap ( )
inline

◆ getPrimitiveCountMap() [2/2]

const PrimitiveCountMap& osgUtil::Statistics::getPrimitiveCountMap ( ) const
inline

◆ GetPrimitivesBegin()

PrimitiveCountMap::iterator osgUtil::Statistics::GetPrimitivesBegin ( )
inline

deprecated

◆ GetPrimitivesEnd()

PrimitiveCountMap::iterator osgUtil::Statistics::GetPrimitivesEnd ( )
inline

deprecated

◆ getPrimitiveValueMap() [1/2]

PrimitiveValueMap& osgUtil::Statistics::getPrimitiveValueMap ( )
inline

◆ getPrimitiveValueMap() [2/2]

const PrimitiveValueMap& osgUtil::Statistics::getPrimitiveValueMap ( ) const
inline

◆ reset()

void osgUtil::Statistics::reset ( )

◆ setBinNo()

void osgUtil::Statistics::setBinNo ( int  n)
inline

◆ setDepth()

void osgUtil::Statistics::setDepth ( int  d)
inline

◆ setType()

void osgUtil::Statistics::setType ( StatsType  t)
inline

◆ setVertexArray() [1/6]

virtual void osgUtil::Statistics::setVertexArray ( unsigned int  count,
const osg::Vec3 vertices 
)
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

◆ setVertexArray() [2/6]

virtual void osgUtil::Statistics::setVertexArray ( unsigned int  count,
const osg::Vec2 vertices 
)
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

◆ setVertexArray() [3/6]

virtual void osgUtil::Statistics::setVertexArray ( unsigned int  count,
const osg::Vec4 vertices 
)
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

◆ setVertexArray() [4/6]

virtual void osgUtil::Statistics::setVertexArray ( unsigned int  count,
const osg::Vec3d vertices 
)
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

◆ setVertexArray() [5/6]

virtual void osgUtil::Statistics::setVertexArray ( unsigned int  count,
const osg::Vec2d vertices 
)
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

◆ setVertexArray() [6/6]

virtual void osgUtil::Statistics::setVertexArray ( unsigned int  count,
const osg::Vec4d vertices 
)
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

◆ vertex() [1/7]

void osgUtil::Statistics::vertex ( )
inline

◆ vertex() [2/7]

virtual void osgUtil::Statistics::vertex ( float  ,
float  ,
float   
)
inlinevirtual

References vertex().

Referenced by vertex().

◆ vertex() [3/7]

virtual void osgUtil::Statistics::vertex ( const osg::Vec3 )
inlinevirtual

References vertex().

Referenced by vertex().

◆ vertex() [4/7]

virtual void osgUtil::Statistics::vertex ( const osg::Vec2 )
inlinevirtual

References vertex().

Referenced by vertex().

◆ vertex() [5/7]

virtual void osgUtil::Statistics::vertex ( const osg::Vec4 )
inlinevirtual

References vertex().

Referenced by vertex().

◆ vertex() [6/7]

virtual void osgUtil::Statistics::vertex ( float  ,
float   
)
inlinevirtual

References vertex().

Referenced by vertex().

◆ vertex() [7/7]

virtual void osgUtil::Statistics::vertex ( float  ,
float  ,
float  ,
float   
)
inlinevirtual

References vertex().

Referenced by vertex().

Member Data Documentation

◆ _binNo

int osgUtil::Statistics::_binNo

◆ _currentPrimitiveFunctorMode

GLenum osgUtil::Statistics::_currentPrimitiveFunctorMode

◆ _primitiveCount

PrimitiveValueMap osgUtil::Statistics::_primitiveCount

◆ _vertexCount

unsigned int osgUtil::Statistics::_vertexCount

◆ depth

int osgUtil::Statistics::depth

◆ nbins

int osgUtil::Statistics::nbins

◆ nimpostor

int osgUtil::Statistics::nimpostor

◆ nlights

int osgUtil::Statistics::nlights

◆ numDrawables

int osgUtil::Statistics::numDrawables

◆ numFastDrawables

int osgUtil::Statistics::numFastDrawables

◆ nummat

int osgUtil::Statistics::nummat

◆ numOrderedLeaves

int osgUtil::Statistics::numOrderedLeaves

◆ numStateGraphs

int osgUtil::Statistics::numStateGraphs

◆ stattype

StatsType osgUtil::Statistics::stattype

The documentation for this class was generated from the following file: