# Class Funnel

Public

Implements the funnel algorithm as well as various related methods.

### See

http://digestingduck.blogspot.se/2010/03/simple-stupid-funnel-algorithm.html

FunnelModifier for the component that you can attach to objects to use the funnel algorithm.

## Inner Types

## Public Static Methods

Calculate
(funnel, unwrap, splitAtEveryPortal)

Calculate the shortest path through the funnel.

Public
Static

ConstructFunnelPortals
(nodes, part)

Public
Static

ShrinkPortals
(portals, shrink)

Public
Static

Simplify
(parts, nodes)

Public
Static

Simplify
(part, graph, nodes, result, tagPenalties, traversableTags)

Simplifies a funnel path using linecasting.

Public
Static

SplitIntoParts
(path)

Public
Static

Unwrap
(funnel, left, right)

Unwraps the funnel portals from 3D space to 2D space.

Public
Static

## Private/Protected Members

Calculate
(left, right, numPortals, startIndex, funnelPath, maxCorners, lastCorner)

Funnel algorithm.

Private
Static

FixFunnel
(left, right, numPortals)

Try to fix degenerate or invalid funnels.

Private
Static

FromXZ
(p)

Protected
Static

LeftOrColinear
(a, b)

True if b is to the left of or on the line from (0,0) to a.

Protected
Static

RightOrColinear
(a, b)

True if b is to the right of or on the line from (0,0) to a.

Protected
Static

ToXZ
(p)

Protected
Static

UnwrapHelper
(portalStart, portalEnd, prevPoint, nextPoint, mRot, mOffset)

Private
Static