The track module is responsible for defining the track on which a trajectory can be created and optimised.

This includes the Track class, as well as the CoordinateArray, Event and Gate classes used to generate and define the track.

CoordinateArray Class

Array of coordinates and its derived attributes.

Used for track generation to store the coordinates defining the track limits and track mesh.

Attributes

__init__()

Initialises the coordinate array and calculates all of its attributes.

Makes sure that the coordinates are closed if the track is closed, removes consecutive duplicate coordinates, calculates the cumulative distance along the coordinates, then calculates the raw and filtered unwrapped heading angle along the coordinates. If all attributes are provided, uses those (without doing any validation).

Note that the initial unfiltered heading angle will be between -pi and pi. This should be checked and corrected if necessary with the method rotateHeadings().

Arguments: