|
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] |
1.7.6.1