forked from teamnwah/openmw-tes3coop
Remove dynamic_cast in GeomMorpherController
This commit is contained in:
parent
94e8560bf8
commit
28b20428b9
2 changed files with 15 additions and 17 deletions
|
@ -221,28 +221,25 @@ GeomMorpherController::GeomMorpherController(const Nif::NiMorphData *data)
|
|||
|
||||
void GeomMorpherController::update(osg::NodeVisitor *nv, osg::Drawable *drawable)
|
||||
{
|
||||
osgAnimation::MorphGeometry* morphGeom = dynamic_cast<osgAnimation::MorphGeometry*>(drawable);
|
||||
if (morphGeom)
|
||||
osgAnimation::MorphGeometry* morphGeom = static_cast<osgAnimation::MorphGeometry*>(drawable);
|
||||
if (hasInput())
|
||||
{
|
||||
if (hasInput())
|
||||
if (mKeyFrames.size() <= 1)
|
||||
return;
|
||||
float input = getInputValue(nv);
|
||||
int i = 0;
|
||||
for (std::vector<Nif::FloatKeyMapPtr>::iterator it = mKeyFrames.begin()+1; it != mKeyFrames.end(); ++it,++i)
|
||||
{
|
||||
if (mKeyFrames.size() <= 1)
|
||||
return;
|
||||
float input = getInputValue(nv);
|
||||
int i = 0;
|
||||
for (std::vector<Nif::FloatKeyMapPtr>::iterator it = mKeyFrames.begin()+1; it != mKeyFrames.end(); ++it,++i)
|
||||
{
|
||||
float val = 0;
|
||||
if (!(*it)->mKeys.empty())
|
||||
val = interpKey((*it)->mKeys, input);
|
||||
val = std::max(0.f, std::min(1.f, val));
|
||||
float val = 0;
|
||||
if (!(*it)->mKeys.empty())
|
||||
val = interpKey((*it)->mKeys, input);
|
||||
val = std::max(0.f, std::min(1.f, val));
|
||||
|
||||
morphGeom->setWeight(i, val);
|
||||
}
|
||||
morphGeom->setWeight(i, val);
|
||||
}
|
||||
|
||||
morphGeom->transformSoftwareMethod();
|
||||
}
|
||||
|
||||
morphGeom->transformSoftwareMethod();
|
||||
}
|
||||
|
||||
UVController::UVController()
|
||||
|
|
|
@ -97,6 +97,7 @@ namespace NifOsg
|
|||
virtual float getMaximum() const;
|
||||
};
|
||||
|
||||
/// Must be set on an osgAnimation::MorphGeometry.
|
||||
class GeomMorpherController : public osg::Drawable::UpdateCallback, public SceneUtil::Controller, public ValueInterpolator
|
||||
{
|
||||
public:
|
||||
|
|
Loading…
Reference in a new issue