openscenegraph
|
Classes | |
struct | UserStatsLine |
Public Types | |
enum | StatsType { NO_STATS = 0, FRAME_RATE = 1, VIEWER_STATS = 2, CAMERA_SCENE_STATS = 3, VIEWER_SCENE_STATS = 4, LAST = 5 } |
Public Member Functions | |
StatsHandler () | |
void | setKeyEventTogglesOnScreenStats (int key) |
int | getKeyEventTogglesOnScreenStats () const |
void | setKeyEventPrintsOutStats (int key) |
int | getKeyEventPrintsOutStats () const |
void | setKeyEventToggleVSync (int key) |
int | getKeyEventToggleVSync () const |
double | getBlockMultiplier () const |
void | reset () |
osg::Camera * | getCamera () |
const osg::Camera * | getCamera () const |
virtual bool | handle (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &aa) |
virtual void | getUsage (osg::ApplicationUsage &usage) const |
void | addUserStatsLine (const std::string &label, const osg::Vec4 &textColor, const osg::Vec4 &barColor, const std::string &timeTakenName, float multiplier, bool average, bool averageInInverseSpace, const std::string &beginTimeName, const std::string &endTimeName, float maxValue) |
void | removeUserStatsLine (const std::string &label) |
Protected Types | |
typedef std::vector < UserStatsLine > | UserStatsLines |
Protected Member Functions | |
void | setUpHUDCamera (osgViewer::ViewerBase *viewer) |
osg::Geometry * | createBackgroundRectangle (const osg::Vec3 &pos, const float width, const float height, osg::Vec4 &color) |
osg::Geometry * | createGeometry (const osg::Vec3 &pos, float height, const osg::Vec4 &colour, unsigned int numBlocks) |
osg::Geometry * | createFrameMarkers (const osg::Vec3 &pos, float height, const osg::Vec4 &colour, unsigned int numBlocks) |
osg::Geometry * | createTick (const osg::Vec3 &pos, float height, const osg::Vec4 &colour, unsigned int numTicks) |
void | createTimeStatsLine (const std::string &lineLabel, osg::Vec3 pos, const osg::Vec4 &textColor, const osg::Vec4 &barColor, osg::Stats *viewerStats, osg::Stats *stats, const std::string &timeTakenName, float multiplier, bool average, bool averageInInverseSpace, const std::string &beginTimeName, const std::string &endTimeName) |
void | createCameraTimeStats (osg::Vec3 &pos, bool acquireGPUStats, osg::Stats *viewerStats, osg::Camera *camera) |
void | setUpScene (osgViewer::ViewerBase *viewer) |
void | updateThreadingModelText () |
Protected Attributes | |
int | _keyEventTogglesOnScreenStats |
int | _keyEventPrintsOutStats |
int | _keyEventToggleVSync |
int | _statsType |
bool | _initialized |
osg::ref_ptr< osg::Camera > | _camera |
osg::ref_ptr< osg::Switch > | _switch |
osg::ref_ptr< osg::Geode > | _statsGeode |
ViewerBase::ThreadingModel | _threadingModel |
osg::ref_ptr< osgText::Text > | _threadingModelText |
unsigned int | _frameRateChildNum |
unsigned int | _viewerChildNum |
unsigned int | _cameraSceneChildNum |
unsigned int | _viewerSceneChildNum |
unsigned int | _numBlocks |
double | _blockMultiplier |
float | _statsWidth |
float | _statsHeight |
std::string | _font |
float | _startBlocks |
float | _leftPos |
float | _characterSize |
float | _lineHeight |
UserStatsLines | _userStatsLines |
Event handler for adding on screen stats reporting to Viewers.
typedef std::vector<UserStatsLine> osgViewer::StatsHandler::UserStatsLines [protected] |
void osgViewer::StatsHandler::addUserStatsLine | ( | const std::string & | label, |
const osg::Vec4 & | textColor, | ||
const osg::Vec4 & | barColor, | ||
const std::string & | timeTakenName, | ||
float | multiplier, | ||
bool | average, | ||
bool | averageInInverseSpace, | ||
const std::string & | beginTimeName, | ||
const std::string & | endTimeName, | ||
float | maxValue | ||
) |
This allows the user to register additional stats lines that will be added to the graph. The stats for these will be gotten from the viewer (viewer->getViewerStats()). The stats can be displayed in either or all of the following ways:
If you don't want a numeric value and a line in the bottom line graph for your value, pass the empty string for timeTakenName. If you don't want a bar in the graph, pass the empty string for beginTimeName and endTimeName.
label | The label to be displayed to identify the line in the stats. |
textColor | Will be used for the text label, the numeric time and the bottom line graph. |
barColor | Will be used for the bar in the top bar graph. |
timeTakenName | The name to be queried in the viewer stats for the numeric value (also used for the bottom line graph). |
multiplier | The multiplier to apply to the numeric value before displaying it in the stats. |
average | Whether to use the average value of the numeric value. |
averageInInverseSpace | Whether to average in inverse space (used for frame rate). |
beginTimeName | The name to be queried in the viewer stats for the begin time for the top bar graph. |
endTimeName | The name to be queried in the viewer stats for the end time for the top bar graph. |
maxValue | The value to use as maximum in the bottom line graph. Stats will be clamped between 0 and that value, and it will be the highest visible value in the graph. |
osg::Geometry* osgViewer::StatsHandler::createBackgroundRectangle | ( | const osg::Vec3 & | pos, |
const float | width, | ||
const float | height, | ||
osg::Vec4 & | color | ||
) | [protected] |
void osgViewer::StatsHandler::createCameraTimeStats | ( | osg::Vec3 & | pos, |
bool | acquireGPUStats, | ||
osg::Stats * | viewerStats, | ||
osg::Camera * | camera | ||
) | [protected] |
osg::Geometry* osgViewer::StatsHandler::createFrameMarkers | ( | const osg::Vec3 & | pos, |
float | height, | ||
const osg::Vec4 & | colour, | ||
unsigned int | numBlocks | ||
) | [protected] |
osg::Geometry* osgViewer::StatsHandler::createGeometry | ( | const osg::Vec3 & | pos, |
float | height, | ||
const osg::Vec4 & | colour, | ||
unsigned int | numBlocks | ||
) | [protected] |
osg::Geometry* osgViewer::StatsHandler::createTick | ( | const osg::Vec3 & | pos, |
float | height, | ||
const osg::Vec4 & | colour, | ||
unsigned int | numTicks | ||
) | [protected] |
void osgViewer::StatsHandler::createTimeStatsLine | ( | const std::string & | lineLabel, |
osg::Vec3 | pos, | ||
const osg::Vec4 & | textColor, | ||
const osg::Vec4 & | barColor, | ||
osg::Stats * | viewerStats, | ||
osg::Stats * | stats, | ||
const std::string & | timeTakenName, | ||
float | multiplier, | ||
bool | average, | ||
bool | averageInInverseSpace, | ||
const std::string & | beginTimeName, | ||
const std::string & | endTimeName | ||
) | [protected] |
double osgViewer::StatsHandler::getBlockMultiplier | ( | ) | const [inline] |
osg::Camera* osgViewer::StatsHandler::getCamera | ( | ) | [inline] |
const osg::Camera* osgViewer::StatsHandler::getCamera | ( | ) | const [inline] |
int osgViewer::StatsHandler::getKeyEventPrintsOutStats | ( | ) | const [inline] |
int osgViewer::StatsHandler::getKeyEventTogglesOnScreenStats | ( | ) | const [inline] |
int osgViewer::StatsHandler::getKeyEventToggleVSync | ( | ) | const [inline] |
virtual void osgViewer::StatsHandler::getUsage | ( | osg::ApplicationUsage & | usage | ) | const [virtual] |
Get the keyboard and mouse usage of this manipulator.
Reimplemented from osgGA::GUIEventHandler.
virtual bool osgViewer::StatsHandler::handle | ( | const osgGA::GUIEventAdapter & | , |
osgGA::GUIActionAdapter & | |||
) | [virtual] |
Deprecated, Handle events, return true if handled, false otherwise.
Reimplemented from osgGA::GUIEventHandler.
void osgViewer::StatsHandler::removeUserStatsLine | ( | const std::string & | label | ) |
void osgViewer::StatsHandler::reset | ( | ) |
void osgViewer::StatsHandler::setKeyEventPrintsOutStats | ( | int | key | ) | [inline] |
void osgViewer::StatsHandler::setKeyEventTogglesOnScreenStats | ( | int | key | ) | [inline] |
void osgViewer::StatsHandler::setKeyEventToggleVSync | ( | int | key | ) | [inline] |
void osgViewer::StatsHandler::setUpHUDCamera | ( | osgViewer::ViewerBase * | viewer | ) | [protected] |
void osgViewer::StatsHandler::setUpScene | ( | osgViewer::ViewerBase * | viewer | ) | [protected] |
void osgViewer::StatsHandler::updateThreadingModelText | ( | ) | [protected] |
double osgViewer::StatsHandler::_blockMultiplier [protected] |
osg::ref_ptr<osg::Camera> osgViewer::StatsHandler::_camera [protected] |
unsigned int osgViewer::StatsHandler::_cameraSceneChildNum [protected] |
float osgViewer::StatsHandler::_characterSize [protected] |
std::string osgViewer::StatsHandler::_font [protected] |
unsigned int osgViewer::StatsHandler::_frameRateChildNum [protected] |
bool osgViewer::StatsHandler::_initialized [protected] |
int osgViewer::StatsHandler::_keyEventPrintsOutStats [protected] |
int osgViewer::StatsHandler::_keyEventTogglesOnScreenStats [protected] |
int osgViewer::StatsHandler::_keyEventToggleVSync [protected] |
float osgViewer::StatsHandler::_leftPos [protected] |
float osgViewer::StatsHandler::_lineHeight [protected] |
unsigned int osgViewer::StatsHandler::_numBlocks [protected] |
float osgViewer::StatsHandler::_startBlocks [protected] |
osg::ref_ptr<osg::Geode> osgViewer::StatsHandler::_statsGeode [protected] |
float osgViewer::StatsHandler::_statsHeight [protected] |
int osgViewer::StatsHandler::_statsType [protected] |
float osgViewer::StatsHandler::_statsWidth [protected] |
osg::ref_ptr<osg::Switch> osgViewer::StatsHandler::_switch [protected] |
unsigned int osgViewer::StatsHandler::_viewerChildNum [protected] |
unsigned int osgViewer::StatsHandler::_viewerSceneChildNum [protected] |