Răsfoiți Sursa

add setEulerRotation to pair with getEulerRotation for sceneobjects

AzaezelX 2 ani în urmă
părinte
comite
061c25686d
1 a modificat fișierele cu 13 adăugiri și 0 ștergeri
  1. 13 0
      Engine/source/scene/sceneObject.cpp

+ 13 - 0
Engine/source/scene/sceneObject.cpp

@@ -1531,6 +1531,19 @@ DefineEngineMethod( SceneObject, getEulerRotation, Point3F, (),,
    return euler;
 }
 
+DefineEngineMethod(SceneObject, setEulerRotation, void, (Point3F inRot), ,
+   "set Euler rotation of this object.\n"
+   "@set the orientation of the object in the form of rotations around the "
+   "X, Y and Z axes in degrees.\n")
+{
+   MatrixF curMat = object->getTransform();
+   Point3F curPos = curMat.getPosition();
+   Point3F curScale = curMat.getScale();
+   EulerF inRotRad = inRot * M_PI_F / 180.0;
+   curMat.set(inRotRad, curPos);
+   curMat.scale(curScale);
+   object->setTransform(curMat);
+}
 //-----------------------------------------------------------------------------
 
 DefineEngineMethod( SceneObject, getForwardVector, VectorF, (),,