OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | List of all members
osgUtil::Statistics Class Reference

#include <Statistics.h>

Inheritance diagram for osgUtil::Statistics:
Inheritance graph
[legend]
Collaboration diagram for osgUtil::Statistics:
Collaboration 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,
PrimitivePair
PrimitiveValueMap
 
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 *)
 
virtual void setVertexArray (unsigned int count, const osg::Vec2 *)
 
virtual void setVertexArray (unsigned int count, const osg::Vec4 *)
 
virtual void setVertexArray (unsigned int count, const osg::Vec3d *)
 
virtual void setVertexArray (unsigned int count, const osg::Vec2d *)
 
virtual void setVertexArray (unsigned int count, const osg::Vec4d *)
 
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)
 Mimics the OpenGL glBegin() function. More...
 
void vertex ()
 
virtual void vertex (float, float, float)
 Mimics the OpenGL glVertex() "family of functions". More...
 
virtual void vertex (const osg::Vec3 &)
 Mimics the OpenGL glVertex() "family of functions". More...
 
virtual void vertex (const osg::Vec2 &)
 Mimics the OpenGL glVertex() "family of functions". More...
 
virtual void vertex (const osg::Vec4 &)
 Mimics the OpenGL glVertex() "family of functions". More...
 
virtual void vertex (float, float)
 Mimics the OpenGL glVertex() "family of functions". More...
 
virtual void vertex (float, float, float, float)
 Mimics the OpenGL glVertex() "family of functions". More...
 
virtual void end ()
 Mimics the OpenGL glEnd() function. More...
 
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 ()
 
void useVertexCacheAsVertexArray ()
 

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
 
- Public Attributes inherited from osg::PrimitiveFunctor
std::vector< Vec3_vertexCache
 
bool _treatVertexDataAsTemporary
 

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.

Definition at line 47 of file Statistics.h.

Member Typedef Documentation

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

Definition at line 53 of file Statistics.h.

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

Definition at line 51 of file Statistics.h.

Definition at line 52 of file Statistics.h.

Member Enumeration Documentation

Enumerator
STAT_NONE 
STAT_FRAMERATE 
STAT_GRAPHS 
STAT_PRIMS 
STAT_PRIMSPERVIEW 
STAT_PRIMSPERBIN 
STAT_DC 
STAT_RESTART 

Definition at line 58 of file Statistics.h.

Constructor & Destructor Documentation

osgUtil::Statistics::Statistics ( )

Member Function Documentation

void osgUtil::Statistics::add ( const Statistics stats)
void osgUtil::Statistics::addBins ( int  np)
inline

Definition at line 111 of file Statistics.h.

void osgUtil::Statistics::addDrawable ( )
inline

Definition at line 104 of file Statistics.h.

void osgUtil::Statistics::addFastDrawable ( )
inline

Definition at line 105 of file Statistics.h.

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

Definition at line 108 of file Statistics.h.

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

Definition at line 107 of file Statistics.h.

void osgUtil::Statistics::addMatrix ( )
inline

Definition at line 106 of file Statistics.h.

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

Definition at line 115 of file Statistics.h.

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

Definition at line 114 of file Statistics.h.

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

Mimics the OpenGL glBegin() function.

Implements osg::PrimitiveFunctor.

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

Mimics the OpenGL glDrawArrays() function.

Implements osg::PrimitiveFunctor.

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

Mimics the OpenGL glDrawElements() function.

Implements osg::PrimitiveFunctor.

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

Mimics the OpenGL glDrawElements() function.

Implements osg::PrimitiveFunctor.

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

Mimics the OpenGL glDrawElements() function.

Implements osg::PrimitiveFunctor.

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

Mimics the OpenGL glEnd() function.

Implements osg::PrimitiveFunctor.

int osgUtil::Statistics::getBins ( )
inline

Definition at line 109 of file Statistics.h.

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

Definition at line 121 of file Statistics.h.

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

Definition at line 122 of file Statistics.h.

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

deprecated

Definition at line 129 of file Statistics.h.

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

deprecated

Definition at line 131 of file Statistics.h.

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

Definition at line 124 of file Statistics.h.

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

Definition at line 125 of file Statistics.h.

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

Definition at line 113 of file Statistics.h.

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

Definition at line 110 of file Statistics.h.

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

Definition at line 72 of file Statistics.h.

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.

Definition at line 74 of file Statistics.h.

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.

Definition at line 75 of file Statistics.h.

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.

Definition at line 76 of file Statistics.h.

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.

Definition at line 77 of file Statistics.h.

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.

Definition at line 78 of file Statistics.h.

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.

Definition at line 79 of file Statistics.h.

void osgUtil::Statistics::vertex ( )
inline

Definition at line 88 of file Statistics.h.

virtual void osgUtil::Statistics::vertex ( float  x,
float  y,
float  z 
)
inlinevirtual

Mimics the OpenGL glVertex() "family of functions".

Implements osg::PrimitiveFunctor.

Definition at line 95 of file Statistics.h.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Mimics the OpenGL glVertex() "family of functions".

Implements osg::PrimitiveFunctor.

Definition at line 96 of file Statistics.h.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Mimics the OpenGL glVertex() "family of functions".

Implements osg::PrimitiveFunctor.

Definition at line 97 of file Statistics.h.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Mimics the OpenGL glVertex() "family of functions".

Implements osg::PrimitiveFunctor.

Definition at line 98 of file Statistics.h.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Mimics the OpenGL glVertex() "family of functions".

Implements osg::PrimitiveFunctor.

Definition at line 99 of file Statistics.h.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void osgUtil::Statistics::vertex ( float  x,
float  y,
float  z,
float  w 
)
inlinevirtual

Mimics the OpenGL glVertex() "family of functions".

Implements osg::PrimitiveFunctor.

Definition at line 100 of file Statistics.h.

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

int osgUtil::Statistics::_binNo

Definition at line 137 of file Statistics.h.

GLenum osgUtil::Statistics::_currentPrimitiveFunctorMode

Definition at line 144 of file Statistics.h.

PrimitiveValueMap osgUtil::Statistics::_primitiveCount

Definition at line 143 of file Statistics.h.

unsigned int osgUtil::Statistics::_vertexCount

Definition at line 142 of file Statistics.h.

int osgUtil::Statistics::depth

Definition at line 136 of file Statistics.h.

int osgUtil::Statistics::nbins

Definition at line 133 of file Statistics.h.

int osgUtil::Statistics::nimpostor

Definition at line 139 of file Statistics.h.

int osgUtil::Statistics::nlights

Definition at line 135 of file Statistics.h.

int osgUtil::Statistics::numDrawables

Definition at line 133 of file Statistics.h.

int osgUtil::Statistics::numFastDrawables

Definition at line 134 of file Statistics.h.

int osgUtil::Statistics::nummat

Definition at line 133 of file Statistics.h.

int osgUtil::Statistics::numOrderedLeaves

Definition at line 140 of file Statistics.h.

int osgUtil::Statistics::numStateGraphs

Definition at line 133 of file Statistics.h.

StatsType osgUtil::Statistics::stattype

Definition at line 138 of file Statistics.h.


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