Terrain: remove ref argument that is now always true

pull/244/head
scrawl 8 years ago
parent ac78d01b2b
commit 3e03a0d7bd

@ -132,14 +132,14 @@ ViewData* QuadTreeNode::getView(osg::NodeVisitor &nv)
if (nv.getVisitorType() == osg::NodeVisitor::CULL_VISITOR)
{
osgUtil::CullVisitor* cv = static_cast<osgUtil::CullVisitor*>(&nv);
ViewData* vd = mViewDataMap->getViewData(cv->getCurrentCamera(), true);
ViewData* vd = mViewDataMap->getViewData(cv->getCurrentCamera());
vd->setEyePoint(nv.getEyePoint());
return vd;
}
else // INTERSECTION_VISITOR
{
static osg::ref_ptr<osg::Object> dummyObj = new osg::DummyObject;
ViewData* vd = mViewDataMap->getViewData(dummyObj.get(), true);
ViewData* vd = mViewDataMap->getViewData(dummyObj.get());
ViewData* defaultView = mViewDataMap->getDefaultView();
if (defaultView->hasEyePoint())
vd->setEyePoint(defaultView->getEyePoint());

@ -112,14 +112,13 @@ bool ViewData::Entry::set(QuadTreeNode *node, bool visible)
}
}
ViewData *ViewDataMap::getViewData(osg::Object *viewer, bool ref)
ViewData *ViewDataMap::getViewData(osg::Object *viewer)
{
Map::const_iterator found = mViews.find(viewer);
if (found == mViews.end())
{
ViewData* vd = createOrReuseView();
if (ref)
vd->setViewer(viewer);
vd->setViewer(viewer);
mViews[viewer] = vd;
return vd;
}
@ -147,8 +146,7 @@ void ViewDataMap::clearUnusedViews(unsigned int frame)
for (Map::iterator it = mViews.begin(); it != mViews.end(); )
{
ViewData* vd = it->second;
if ((!vd->getViewer() // if no ref was held, always need to clear to avoid holding a dangling ref.
|| vd->getFrameLastUsed() + 2 < frame))
if (vd->getFrameLastUsed() + 2 < frame)
{
vd->setViewer(NULL);
vd->clear();
@ -174,7 +172,7 @@ void ViewDataMap::setDefaultViewer(osg::Object *viewer)
ViewData* ViewDataMap::getDefaultView()
{
return getViewData(mDefaultViewer, true);
return getViewData(mDefaultViewer);
}

@ -70,7 +70,7 @@ namespace Terrain
class ViewDataMap : public osg::Referenced
{
public:
ViewData* getViewData(osg::Object* viewer, bool ref);
ViewData* getViewData(osg::Object* viewer);
ViewData* createOrReuseView();

Loading…
Cancel
Save