mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-28 21:07:59 +03:00
Do not store a ViewDataMap in the every QuadTreeNode
This commit is contained in:
parent
cb6d27fb12
commit
ebcf8ca062
3 changed files with 12 additions and 48 deletions
|
@ -61,7 +61,6 @@ QuadTreeNode::QuadTreeNode(QuadTreeNode* parent, ChildDirection direction, float
|
|||
, mValidBounds(false)
|
||||
, mSize(size)
|
||||
, mCenter(center)
|
||||
, mViewDataMap(nullptr)
|
||||
{
|
||||
for (unsigned int i=0; i<4; ++i)
|
||||
mNeighbours[i] = 0;
|
||||
|
@ -181,34 +180,6 @@ LodCallback *QuadTreeNode::getLodCallback()
|
|||
return mLodCallback;
|
||||
}
|
||||
|
||||
void QuadTreeNode::setViewDataMap(ViewDataMap *map)
|
||||
{
|
||||
mViewDataMap = map;
|
||||
}
|
||||
|
||||
ViewDataMap *QuadTreeNode::getViewDataMap()
|
||||
{
|
||||
return mViewDataMap;
|
||||
}
|
||||
|
||||
ViewData* QuadTreeNode::getView(osg::NodeVisitor &nv, bool& needsUpdate)
|
||||
{
|
||||
ViewData* vd = NULL;
|
||||
if (nv.getVisitorType() == osg::NodeVisitor::CULL_VISITOR)
|
||||
{
|
||||
osgUtil::CullVisitor* cv = static_cast<osgUtil::CullVisitor*>(&nv);
|
||||
vd = mViewDataMap->getViewData(cv->getCurrentCamera(), nv.getViewPoint(), needsUpdate);
|
||||
}
|
||||
else // INTERSECTION_VISITOR
|
||||
{
|
||||
osg::Vec3f viewPoint = nv.getViewPoint();
|
||||
static osg::ref_ptr<osg::Object> dummyObj = new osg::DummyObject;
|
||||
vd = mViewDataMap->getViewData(dummyObj.get(), viewPoint, needsUpdate);
|
||||
needsUpdate = true;
|
||||
}
|
||||
return vd;
|
||||
}
|
||||
|
||||
void QuadTreeNode::setBoundingBox(const osg::BoundingBox &boundingBox)
|
||||
{
|
||||
mBoundingBox = boundingBox;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue