forked from bit/DotRecastNetSim
move RcMath.VAdd -> Vector3f.Add, operator+
This commit is contained in:
parent
63427dce0a
commit
aeaf0f2c41
|
@ -126,14 +126,7 @@ namespace DotRecast.Core
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static Vector3f VAdd(Vector3f v1, Vector3f v2)
|
|
||||||
{
|
|
||||||
return new Vector3f(
|
|
||||||
v1.x + v2.x,
|
|
||||||
v1.y + v2.y,
|
|
||||||
v1.z + v2.z
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void VSet(ref Vector3f @out, float a, float b, float c)
|
public static void VSet(ref Vector3f @out, float a, float b, float c)
|
||||||
{
|
{
|
||||||
|
|
|
@ -104,6 +104,16 @@ namespace DotRecast.Core
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
public Vector3f Add(Vector3f v2)
|
||||||
|
{
|
||||||
|
return new Vector3f(
|
||||||
|
x + v2.x,
|
||||||
|
y + v2.y,
|
||||||
|
z + v2.z
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/// Derives the dot product of two vectors on the xz-plane. (@p u . @p v)
|
/// Derives the dot product of two vectors on the xz-plane. (@p u . @p v)
|
||||||
/// @param[in] u A vector [(x, y, z)]
|
/// @param[in] u A vector [(x, y, z)]
|
||||||
/// @param[in] v A vector [(x, y, z)]
|
/// @param[in] v A vector [(x, y, z)]
|
||||||
|
@ -175,6 +185,12 @@ namespace DotRecast.Core
|
||||||
return left.Subtract(right);
|
return left.Subtract(right);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
public static Vector3f operator +(Vector3f left, Vector3f right)
|
||||||
|
{
|
||||||
|
return left.Add(right);
|
||||||
|
}
|
||||||
|
|
||||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
public static Vector3f Cross(Vector3f v1, Vector3f v2)
|
public static Vector3f Cross(Vector3f v1, Vector3f v2)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1294,7 +1294,7 @@ namespace DotRecast.Detour.Crowd
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
ag.npos = VAdd(ag.npos, ag.disp);
|
ag.npos = ag.npos.Add(ag.disp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -119,7 +119,7 @@ namespace DotRecast.Detour.Crowd
|
||||||
float ds = VLen(dv);
|
float ds = VLen(dv);
|
||||||
if (ds > maxDelta)
|
if (ds > maxDelta)
|
||||||
dv = VScale(dv, maxDelta / ds);
|
dv = VScale(dv, maxDelta / ds);
|
||||||
vel = VAdd(vel, dv);
|
vel = vel.Add(dv);
|
||||||
|
|
||||||
// Integrate
|
// Integrate
|
||||||
if (VLen(vel) > 0.0001f)
|
if (VLen(vel) > 0.0001f)
|
||||||
|
|
|
@ -1356,7 +1356,7 @@ namespace DotRecast.Detour
|
||||||
Vector3f nearestPt = new Vector3f();
|
Vector3f nearestPt = new Vector3f();
|
||||||
bool overPoly = false;
|
bool overPoly = false;
|
||||||
Vector3f bmin = center.Subtract(extents);
|
Vector3f bmin = center.Subtract(extents);
|
||||||
Vector3f bmax = VAdd(center, extents);
|
Vector3f bmax = center.Add(extents);
|
||||||
|
|
||||||
// Get nearby polygons from proximity grid.
|
// Get nearby polygons from proximity grid.
|
||||||
List<long> polys = QueryPolygonsInTile(tile, bmin, bmax);
|
List<long> polys = QueryPolygonsInTile(tile, bmin, bmax);
|
||||||
|
|
|
@ -691,7 +691,7 @@ namespace DotRecast.Detour
|
||||||
|
|
||||||
// Find tiles the query touches.
|
// Find tiles the query touches.
|
||||||
Vector3f bmin = center.Subtract(halfExtents);
|
Vector3f bmin = center.Subtract(halfExtents);
|
||||||
Vector3f bmax = VAdd(center, halfExtents);
|
Vector3f bmax = center.Add(halfExtents);
|
||||||
foreach (var t in QueryTiles(center, halfExtents))
|
foreach (var t in QueryTiles(center, halfExtents))
|
||||||
{
|
{
|
||||||
QueryPolygonsInTile(t, bmin, bmax, filter, query);
|
QueryPolygonsInTile(t, bmin, bmax, filter, query);
|
||||||
|
@ -711,7 +711,7 @@ namespace DotRecast.Detour
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector3f bmin = center.Subtract(halfExtents);
|
Vector3f bmin = center.Subtract(halfExtents);
|
||||||
Vector3f bmax = VAdd(center, halfExtents);
|
Vector3f bmax = center.Add(halfExtents);
|
||||||
int[] minxy = m_nav.CalcTileLoc(bmin);
|
int[] minxy = m_nav.CalcTileLoc(bmin);
|
||||||
int minx = minxy[0];
|
int minx = minxy[0];
|
||||||
int miny = minxy[1];
|
int miny = minxy[1];
|
||||||
|
|
Loading…
Reference in New Issue