Merge branch 'master' into careminster-presence-refactor

This commit is contained in:
Melanie
2010-07-08 17:32:57 +01:00
18 changed files with 157 additions and 148 deletions

View File

@@ -518,13 +518,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public LSL_Vector llVecNorm(LSL_Vector v)
{
m_host.AddScriptLPS(1);
double mag = LSL_Vector.Mag(v);
LSL_Vector nor = new LSL_Vector();
nor.x = v.x / mag;
nor.y = v.y / mag;
nor.z = v.z / mag;
return nor;
m_host.AddScriptLPS(1);
return LSL_Vector.Norm(v);
}
public LSL_Float llVecDist(LSL_Vector a, LSL_Vector b)

View File

@@ -259,10 +259,15 @@ namespace OpenSim.Region.ScriptEngine.Shared
return Math.Sqrt(v.x * v.x + v.y * v.y + v.z * v.z);
}
public static Vector3 Norm(Vector3 vector)
{
double mag = Mag(vector);
return new Vector3(vector.x / mag, vector.y / mag, vector.z / mag);
public static Vector3 Norm(Vector3 vector)
{
double mag = Mag(vector);
if (mag > 0.0)
{
double invMag = 1.0 / mag;
return vector * invMag;
}
return new Vector3(0, 0, 0);
}
#endregion