Struct FunnelState
    Public
    
    
    
    Public Methods
        
                CalculateNextCornerIndices
        
                (maxCorners, result, startPoint, endPoint, lastCorner)
    
                    
                    
                        Public
                    
                
        
                CalculateNextCorners
        
                (maxCorners, splitAtEveryPortal, startPoint, endPoint, result)
    
                    
                    
                        Public
                    
                
        
                Clear
        
                ()
    
                    
                    
                        Public
                    
                
        
                Clone
        
                ()
    
                    
                    
                        Public
                    
                
        
                ConvertCornerIndicesToPath
        
                (indices, numCorners, splitAtEveryPortal, startPoint, endPoint, lastCorner, result)
    
                    
                    
                        Public
                    
                
        
                ConvertCornerIndicesToPathProjected
        
                (indices, splitAtEveryPortal, startPoint, endPoint, lastCorner, result, up)
    
                    
                    
                        Public
                    
                
        
                Dispose
        
                ()
    
                    
                    
                        Public
                    
                
        
                FunnelState
        
                (initialCapacity, allocator)
    
                    
                    
                        Public
                    
                
        
                FunnelState
        
                (portals, allocator)
    
                    
                    
                        Public
                    
                
        
                IsReasonableToPopEnd
        
                (startPoint, endPoint)
    
                    
                    Like IsReasonableToPopStart but for the end of the funnel.
                        Public
                    
                
        
                IsReasonableToPopStart
        
                (startPoint, endPoint)
    
                    
                    True if it is reasonable that the given start point has passed the first portal in the funnel.
                        Public
                    
                
        
                Pop
        
                (fromStart)
    
                    
                    
                        Public
                    
                
        
                PopEnd
        
                ()
    
                    
                    
                        Public
                    
                
        
                PopStart
        
                ()
    
                    
                    
                        Public
                    
                
        
                Push
        
                (toStart, newLeftPortal, newRightPortal)
    
                    
                    
                        Public
                    
                
        
                PushEnd
        
                (newLeftPortal, newRightPortal)
    
                    
                    
                        Public
                    
                
        
                PushStart
        
                (newLeftPortal, newRightPortal)
    
                    
                    
                        Public
                    
                
        
                Splice
        
                (startIndex, toRemove, newLeftPortal, newRightPortal)
    
                    
                    
                        Public
                    
                
        
                UnwrappedPortalsToWorldMatrix
        
                (up)
    
                    
                    
                        Public
                    
                Public Static Methods
        
                CalculatePortalIntersections
        
                (startIndex, endIndex, leftPortals, rightPortals, unwrappedPortals, from, to, result)
    
                    
                    
                        Public
                            Static
                    
                
        
                ConvertCornerIndicesToPathProjected
        
                (funnelState, indices, splitAtEveryPortal, startPoint, endPoint, lastCorner, projectionAxis, result, up)
    
                    
                    
                        Public
                            Static
                    
                
        
                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
                            Static
                    
                
        
                PushStart
        
                (leftPortals, rightPortals, unwrappedPortals, newLeftPortal, newRightPortal, projectionAxis)
    
                    
                    
                        Public
                            Static
                    
                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
                    
                
 The output will be a funnel in 2D space like in the image below. All twists and bends will have been straightened out.  