forked from mirror/openmw-tes3mp
Terrain: remove ref argument that is now always true
This commit is contained in:
parent
ac78d01b2b
commit
3e03a0d7bd
3 changed files with 7 additions and 9 deletions
|
@ -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…
Reference in a new issue