]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/model/SGTranslateTransform.cxx
Add preliminary spot light animation
[simgear.git] / simgear / scene / model / SGTranslateTransform.cxx
index 8fc30d907ff7d3e4d6d81d2ba79f6766caad46b3..9f148b6449e33cfcf8ecadb488dfb8f2340c5d93 100644 (file)
@@ -27,6 +27,8 @@
 #include <osgDB/Input>
 #include <osgDB/Output>
 
+#include <simgear/scene/util/OsgMath.hxx>
+
 #include "SGTranslateTransform.hxx"
 
 SGTranslateTransform::SGTranslateTransform() :
@@ -49,9 +51,9 @@ SGTranslateTransform::computeLocalToWorldMatrix(osg::Matrix& matrix,
                                                 osg::NodeVisitor* nv) const 
 {
   if (_referenceFrame == RELATIVE_RF) {
-    matrix.preMultTranslate((_value*_axis).osg());
+    matrix.preMultTranslate(toOsg(_value*_axis));
   } else {
-    matrix.setTrans((_value*_axis).osg());
+    matrix.setTrans(toOsg(_value*_axis));
   }
   return true;
 }
@@ -61,9 +63,9 @@ SGTranslateTransform::computeWorldToLocalMatrix(osg::Matrix& matrix,
                                                 osg::NodeVisitor* nv) const
 {
   if (_referenceFrame == RELATIVE_RF) {
-    matrix.postMultTranslate((-_value*_axis).osg());
+    matrix.postMultTranslate(toOsg(-_value*_axis));
   } else {
-    matrix.setTrans((-_value*_axis).osg());
+    matrix.setTrans(toOsg(-_value*_axis));
   }
   return true;
 }
@@ -72,7 +74,7 @@ osg::BoundingSphere
 SGTranslateTransform::computeBound() const
 {
   osg::BoundingSphere bs = osg::Group::computeBound();
-  bs._center += _axis.osg()*_value;
+  bs._center += toOsg(_axis)*_value;
   return bs;
 }
 
@@ -89,7 +91,7 @@ bool TranslateTransform_readLocalData(osg::Object& obj, osgDB::Input& fr)
             fr += 3;
         else
             return false;
-        trans.setAxis(SGVec3d(axis));
+        trans.setAxis(toSG(axis));
     }
     if (fr[0].matchWord("value")) {
         ++fr;