Struct FunnelState

Public

Public Methods

CalculateNextCornerIndices (maxCorners, result, startPoint, endPoint, lastCorner)

Calculate the shortest path through the funnel.

CalculateNextCorners (maxCorners, splitAtEveryPortal, startPoint, endPoint, result)
Clear ()
Clone ()
ConvertCornerIndicesToPath (indices, numCorners, splitAtEveryPortal, startPoint, endPoint, lastCorner, result)
ConvertCornerIndicesToPathProjected (..., indices, splitAtEveryPortal, startPoint, endPoint, lastCorner, ..., result, up)
Dispose ()
FunnelState (..., allocator)
IsReasonableToPopEnd (startPoint, endPoint)

Like IsReasonableToPopStart but for the end of the funnel.

IsReasonableToPopStart (startPoint, endPoint)

True if it is reasonable that the given start point has passed the first portal in the funnel.

Pop (fromStart)
PopEnd ()
Push (toStart, newLeftPortal, newRightPortal)
PushEnd (newLeftPortal, newRightPortal)
PushStart (..., newLeftPortal, newRightPortal, ...)
Splice (startIndex, toRemove, newLeftPortal, newRightPortal)

Public Static Methods

CalculatePortalIntersections (startIndex, endIndex, leftPortals, rightPortals, unwrappedPortals, from, to, result)
DifferentSidesOfLine (start, end, a, b)

True if a and b lie on different sides of the infinite line that passes through start and end.

Public Variables

leftFunnel

Left side of the funnel.

Public
projectionAxis

If set to anything other than (0,0,0), then all portals will be projected on a plane with this normal.

Public
rightFunnel

Right side of the funnel.

Public
unwrappedPortals

Unwrapped version of the funnel portals in 2D space.

Public