Added checks into Viewer set up of Camera stats so that stats are reused if already present.
Added use of ref_ptr<osg::Stats> into StatsHandler's callbacks
This commit is contained in:
@@ -245,13 +245,13 @@ struct TextDrawCallback : public virtual osg::Drawable::DrawCallback
|
||||
text->drawImplementation(renderInfo);
|
||||
}
|
||||
|
||||
osg::Stats* _stats;
|
||||
std::string _attributeName;
|
||||
int _frameDelta;
|
||||
bool _averageInInverseSpace;
|
||||
double _multiplier;
|
||||
mutable char _tmpText[128];
|
||||
mutable osg::Timer_t _tickLastUpdated;
|
||||
osg::ref_ptr<osg::Stats> _stats;
|
||||
std::string _attributeName;
|
||||
int _frameDelta;
|
||||
bool _averageInInverseSpace;
|
||||
double _multiplier;
|
||||
mutable char _tmpText[128];
|
||||
mutable osg::Timer_t _tickLastUpdated;
|
||||
};
|
||||
|
||||
struct BlockDrawCallback : public virtual osg::Drawable::DrawCallback
|
||||
@@ -299,14 +299,14 @@ struct BlockDrawCallback : public virtual osg::Drawable::DrawCallback
|
||||
drawable->drawImplementation(renderInfo);
|
||||
}
|
||||
|
||||
StatsHandler* _statsHandler;
|
||||
float _xPos;
|
||||
osg::Stats* _viewerStats;
|
||||
osg::Stats* _stats;
|
||||
std::string _beginName;
|
||||
std::string _endName;
|
||||
int _frameDelta;
|
||||
int _numFrames;
|
||||
StatsHandler* _statsHandler;
|
||||
float _xPos;
|
||||
osg::ref_ptr<osg::Stats> _viewerStats;
|
||||
osg::ref_ptr<osg::Stats> _stats;
|
||||
std::string _beginName;
|
||||
std::string _endName;
|
||||
int _frameDelta;
|
||||
int _numFrames;
|
||||
};
|
||||
|
||||
osg::Geometry* StatsHandler::createGeometry(const osg::Vec3& pos, float height, const osg::Vec4& colour, unsigned int numBlocks)
|
||||
@@ -377,12 +377,12 @@ struct FrameMarkerDrawCallback : public virtual osg::Drawable::DrawCallback
|
||||
drawable->drawImplementation(renderInfo);
|
||||
}
|
||||
|
||||
StatsHandler* _statsHandler;
|
||||
float _xPos;
|
||||
osg::Stats* _viewerStats;
|
||||
std::string _endName;
|
||||
int _frameDelta;
|
||||
int _numFrames;
|
||||
StatsHandler* _statsHandler;
|
||||
float _xPos;
|
||||
osg::ref_ptr<osg::Stats> _viewerStats;
|
||||
std::string _endName;
|
||||
int _frameDelta;
|
||||
int _numFrames;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -1441,7 +1441,7 @@ void Viewer::setUpRenderingSupport()
|
||||
++citr)
|
||||
{
|
||||
osg::Camera* camera = *citr;
|
||||
camera->setStats(new osg::Stats("Camera"));
|
||||
if (!camera->getStats()) camera->setStats(new osg::Stats("Camera"));
|
||||
|
||||
bool localCamera = std::find(localCameras.begin(),localCameras.end(),camera) != localCameras.end();
|
||||
if (localCamera)
|
||||
@@ -1509,7 +1509,7 @@ void Viewer::setUpRenderingSupport()
|
||||
{
|
||||
osg::Camera* camera = *citr;
|
||||
|
||||
camera->setStats(new osg::Stats("Camera"));
|
||||
if (!camera->getStats()) camera->setStats(new osg::Stats("Camera"));
|
||||
|
||||
osgUtil::SceneView* sceneView = new osgUtil::SceneView;
|
||||
_sceneViews.push_back(sceneView);
|
||||
|
||||
Reference in New Issue
Block a user