[This is preliminary documentation and is subject to change.]

Represents local corner data for a path within a path corridor. (Generated during path straightening.)

Namespace: org.critterai.nav
Assembly: cai-nav (in cai-nav.dll) Version: (


 C#  Visual Basic  Visual C++ 
public sealed class CornerData
Public NotInheritable Class CornerData
public ref class CornerData sealed


 All Members  Constructors   Fields   Properties   Methods  



 XNA Framework Only 

 .NET Compact Framework Only 

Creates an object with buffers sized for use with interop method calls. (MaxCorners = MarshalBufferSize)
Creates an object with a non-standard buffer size.
Copy(CornerData, CornerData)
Copies the contents of the corner buffers from the source to destination.
Number of corners in the local path. [Limits: 0 <= value <= maxCorners]
The WaypointFlag's for each corner. [Length: MaxCorners]
IsValid(CornerData, Boolean)
Validates the structure of the the corner buffers. (No content validation is performed.)
Item[([( Int32])])
The corner for the specified index.
The the buffer size required for the object used for interop method calls.
The maximum number of corners the buffers can hold.
The polygon references for each corner. [Length: MaxCorners]
The corner vertices. [Length: MaxCorners]


When path straightening occurs on a path corridor, the waypoints can include corners lying on the vertex of a polygon's solid wall segment. These are the vertices included in this data structure.

If path straightening does not result in any corners (e.g. path end point is visible) then the cornerCount will be zero. So cornerCount can't be used to detect 'no path'.

Certain methods which take objects of this type require a fixed buffer size equal to MarshalBufferSize. So be careful when initializing and using objects of this type.

Inheritance Hierarchy


See Also