Implementing operators & constructors for Quaternion

integration
SignpostMarv 2012-08-18 14:49:10 +01:00 committed by Melanie
parent 2a70afeca2
commit 2b0c8bc480
1 changed files with 18 additions and 0 deletions

View File

@ -361,6 +361,14 @@ namespace OpenSim.Region.ScriptEngine.Shared
s = 1;
}
public Quaternion(OMV_Quaternion rot)
{
x = rot.X;
y = rot.Y;
z = rot.Z;
s = rot.W;
}
#endregion
#region Overriders
@ -407,6 +415,16 @@ namespace OpenSim.Region.ScriptEngine.Shared
return new list(new object[] { r });
}
public static implicit operator OMV_Quaternion(Quaternion rot)
{
return new OMV_Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s);
}
public static implicit operator Quaternion(OMV_Quaternion rot)
{
return new Quaternion(rot);
}
public static bool operator ==(Quaternion lhs, Quaternion rhs)
{
// Return true if the fields match: