forked from mirror/DotRecast
parent
9e9a3f0dc2
commit
bef346a8cb
|
@ -2245,7 +2245,7 @@ namespace DotRecast.Detour
|
|||
hit.path.Clear();
|
||||
hit.pathCost = 0;
|
||||
|
||||
RcVec3f[] verts = new RcVec3f[m_nav.GetMaxVertsPerPoly() + 1];
|
||||
Span<RcVec3f> verts = stackalloc RcVec3f[m_nav.GetMaxVertsPerPoly() + 1];
|
||||
|
||||
RcVec3f curPos = RcVec3f.Zero;
|
||||
RcVec3f lastPos = RcVec3f.Zero;
|
||||
|
|
|
@ -342,7 +342,7 @@ namespace DotRecast.Detour
|
|||
}
|
||||
|
||||
public static bool IntersectSegmentPoly2D(RcVec3f p0, RcVec3f p1,
|
||||
RcVec3f[] verts, int nverts,
|
||||
Span<RcVec3f> verts, int nverts,
|
||||
out float tmin, out float tmax,
|
||||
out int segMin, out int segMax)
|
||||
{
|
||||
|
|
|
@ -296,8 +296,8 @@ namespace DotRecast.Recast
|
|||
|
||||
if (axis.Y * axis.Y > EPSILON)
|
||||
{
|
||||
RcVec3f[] rectangleOnStartPlane = new RcVec3f[4];
|
||||
RcVec3f[] rectangleOnEndPlane = new RcVec3f[4];
|
||||
Span<RcVec3f> rectangleOnStartPlane = stackalloc RcVec3f[4];
|
||||
Span<RcVec3f> rectangleOnEndPlane = stackalloc RcVec3f[4];
|
||||
float ds = RcVec3f.Dot(axis, start);
|
||||
float de = RcVec3f.Dot(axis, end);
|
||||
for (int i = 0; i < 4; i++)
|
||||
|
@ -326,7 +326,7 @@ namespace DotRecast.Recast
|
|||
return s;
|
||||
}
|
||||
|
||||
private static float[] CylinderCapIntersection(RcVec3f start, float radiusSqr, float[] s, int i, RcVec3f[] rectangleOnPlane)
|
||||
private static float[] CylinderCapIntersection(RcVec3f start, float radiusSqr, float[] s, int i, Span<RcVec3f> rectangleOnPlane)
|
||||
{
|
||||
int j = (i + 1) % 4;
|
||||
// Ray against sphere intersection
|
||||
|
|
Loading…
Reference in New Issue