mirror of
https://github.com/OpenMW/openmw.git
synced 2025-04-01 07:36:41 +00:00
Cleanup, no need to inherit and override osg::ComputeBoundsVisitor
This commit is contained in:
parent
1e30891891
commit
efa2ec21ff
3 changed files with 4 additions and 45 deletions
|
@ -572,31 +572,4 @@ namespace CSVRender
|
||||||
|
|
||||||
getCamera()->setViewMatrixAsLookAt(mCenter + offset, mCenter, up);
|
getCamera()->setViewMatrixAsLookAt(mCenter + offset, mCenter, up);
|
||||||
}
|
}
|
||||||
|
|
||||||
CameraComputeBoundsVisitor::CameraComputeBoundsVisitor(unsigned int mask)
|
|
||||||
: mMask(mask)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned int CameraComputeBoundsVisitor::getMask() const
|
|
||||||
{
|
|
||||||
return mMask;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CameraComputeBoundsVisitor::setMask(unsigned int value)
|
|
||||||
{
|
|
||||||
mMask = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CameraComputeBoundsVisitor::apply(osg::Drawable& drawable)
|
|
||||||
{
|
|
||||||
if (drawable.getNodeMask() & mMask)
|
|
||||||
ComputeBoundsVisitor::apply(drawable);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CameraComputeBoundsVisitor::apply(osg::Transform& transform)
|
|
||||||
{
|
|
||||||
if (transform.getNodeMask() & mMask)
|
|
||||||
ComputeBoundsVisitor::apply(transform);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include <osg/BoundingBox>
|
#include <osg/BoundingBox>
|
||||||
#include <osg/ComputeBoundsVisitor>
|
|
||||||
#include <osg/ref_ptr>
|
#include <osg/ref_ptr>
|
||||||
#include <osg/Vec3d>
|
#include <osg/Vec3d>
|
||||||
|
|
||||||
|
@ -145,21 +144,6 @@ namespace CSVRender
|
||||||
double mOrbitSpeed;
|
double mOrbitSpeed;
|
||||||
double mOrbitSpeedMult;
|
double mOrbitSpeedMult;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CameraComputeBoundsVisitor : public osg::ComputeBoundsVisitor
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
CameraComputeBoundsVisitor(unsigned int mask);
|
|
||||||
|
|
||||||
unsigned int getMask() const;
|
|
||||||
void setMask(unsigned int mask);
|
|
||||||
|
|
||||||
void apply(osg::Drawable& drawable);
|
|
||||||
void apply(osg::Transform& transform);
|
|
||||||
|
|
||||||
private:
|
|
||||||
unsigned int mMask;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include <osgViewer/ViewerEventHandlers>
|
#include <osgViewer/ViewerEventHandlers>
|
||||||
#include <osg/LightModel>
|
#include <osg/LightModel>
|
||||||
#include <osg/BoundingBox>
|
#include <osg/BoundingBox>
|
||||||
|
#include <osg/ComputeBoundsVisitor>
|
||||||
|
|
||||||
#include <osgGA/TrackballManipulator>
|
#include <osgGA/TrackballManipulator>
|
||||||
#include <osgGA/FirstPersonManipulator>
|
#include <osgGA/FirstPersonManipulator>
|
||||||
|
@ -314,8 +315,9 @@ void SceneWidget::update(double dt)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CameraComputeBoundsVisitor boundsVisitor(Mask_Reference | Mask_Terrain);
|
osg::ComputeBoundsVisitor boundsVisitor;
|
||||||
osg::BoundingBox &boundingBox(boundsVisitor.getBoundingBox());
|
osg::BoundingBox &boundingBox(boundsVisitor.getBoundingBox());
|
||||||
|
boundsVisitor.setNodeMaskOverride(Mask_Reference | Mask_Terrain);
|
||||||
|
|
||||||
mRootNode->accept(boundsVisitor);
|
mRootNode->accept(boundsVisitor);
|
||||||
|
|
||||||
|
@ -323,7 +325,7 @@ void SceneWidget::update(double dt)
|
||||||
if (!boundingBox.valid())
|
if (!boundingBox.valid())
|
||||||
{
|
{
|
||||||
boundsVisitor.reset();
|
boundsVisitor.reset();
|
||||||
boundsVisitor.setMask(~0);
|
boundsVisitor.setNodeMaskOverride(~0);
|
||||||
mRootNode->accept(boundsVisitor);
|
mRootNode->accept(boundsVisitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue