Changed osgAnimation::StackedTransform::update(t). It can now be used for custom usage
This commit is contained in:
@@ -33,7 +33,7 @@ Target* StackedMatrixElement::getOrCreateTarget()
|
||||
return _target.get();
|
||||
}
|
||||
|
||||
void StackedMatrixElement::update()
|
||||
void StackedMatrixElement::update(float t)
|
||||
{
|
||||
if (_target.valid())
|
||||
_matrix = _target->getValue();
|
||||
|
||||
@@ -37,7 +37,7 @@ void StackedQuaternionElement::applyToMatrix(osg::Matrix& matrix) const {matrix.
|
||||
osg::Matrix StackedQuaternionElement::getAsMatrix() const { return osg::Matrix(_quaternion); }
|
||||
bool StackedQuaternionElement::isIdentity() const { return (_quaternion[0] == 0 && _quaternion[1] == 0 && _quaternion[2] == 0 && _quaternion[3] == 1.0); }
|
||||
|
||||
void StackedQuaternionElement::update()
|
||||
void StackedQuaternionElement::update(float t)
|
||||
{
|
||||
if (_target.valid())
|
||||
_quaternion = _target->getValue();
|
||||
|
||||
@@ -27,7 +27,7 @@ StackedRotateAxisElement::StackedRotateAxisElement(const StackedRotateAxisElemen
|
||||
|
||||
|
||||
osg::Matrix StackedRotateAxisElement::getAsMatrix() const { return osg::Matrix::rotate(osg::Quat(_angle, _axis)); }
|
||||
void StackedRotateAxisElement::update()
|
||||
void StackedRotateAxisElement::update(float t)
|
||||
{
|
||||
if (_target.valid())
|
||||
_angle = _target->getValue();
|
||||
|
||||
@@ -42,7 +42,7 @@ StackedScaleElement::StackedScaleElement()
|
||||
_scale = osg::Vec3(1,1,1);
|
||||
}
|
||||
|
||||
void StackedScaleElement::update()
|
||||
void StackedScaleElement::update(float t)
|
||||
{
|
||||
if (_target.valid())
|
||||
_scale = _target->getValue();
|
||||
|
||||
@@ -30,21 +30,21 @@ StackedTransform::StackedTransform(const StackedTransform& rhs, const osg::CopyO
|
||||
}
|
||||
|
||||
|
||||
void StackedTransform::update()
|
||||
void StackedTransform::update(float t)
|
||||
{
|
||||
int dirty = 0;
|
||||
for (StackedTransform::iterator it = begin(); it != end(); ++it)
|
||||
{
|
||||
|
||||
StackedTransformElement* element = it->get();
|
||||
if (!element)
|
||||
continue;
|
||||
// update and check if there are changes
|
||||
element->update();
|
||||
element->update(t);
|
||||
if (element->isIdentity())
|
||||
continue;
|
||||
dirty++;
|
||||
}
|
||||
|
||||
if (!dirty)
|
||||
return;
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ Target* StackedTranslateElement::getOrCreateTarget()
|
||||
Target* StackedTranslateElement::getTarget() {return _target.get();}
|
||||
const Target* StackedTranslateElement::getTarget() const {return _target.get();}
|
||||
|
||||
void StackedTranslateElement::update()
|
||||
void StackedTranslateElement::update(float t)
|
||||
{
|
||||
if (_target.valid())
|
||||
_translate = _target->getValue();
|
||||
|
||||
Reference in New Issue
Block a user