WsfSixDOF_ManeuverSequence

WsfSixDOF_ManeuverSequence inherits WsfSixDOF_Maneuver

Overview

A WsfSixDOF_ManeuverSequence is a set of maneuvers that are executed in order. The elements of the sequence can be anything derived from WsfSixDOF_Maneuver including another WsfSixDOF_ManeuverSequence. In addition to the individual members of the sequence each can have their own entry and exit constraints (see WsfSixDOF_Maneuver and WsfSixDOF_ManeuverConstraint) the sequence as a whole can have entry and exit constraints. A WsfSixDOF_ManeuverSequence can be set to looping so that once the final maneuver of the sequence completes, the first will then begin execution again.

Methods

The WsfSixDOF_ManeuverSequence defines the following methods in addition to those it inherits from WsfSixDOF_Maneuver.

static WsfSixDOF_ManeuverSequence Construct()

Returns a new instance of a maneuver sequence.

bool IsLoop()

Returns true if the sequence is a loop.

void SetLoop(bool aLoop)

Enable or disable looping on this maneuver sequence. In the looping mode, the constraints on the member maneuvers will be evaluated each time the maneuver is current, but the overall sequence constraints will be evaluated only once. Further, unless the loop is canceled or if WsfSixDOF_ManeuverSequence.SetLoop is called again to stop the loop, the exit constraint will never evaluate.

void Clear()

Clear the maneuver sequence.

void Append(WsfSixDOF_Maneuver aManeuver)

Append the given maneuver to the end of this sequence.

void InsertNext(WsfSixDOF_Maneuver aManeuver)

Insert the given maneuver after the current maneuver. If there is no current maneuver, the given maneuver will be appended to the sequence.

WsfSixDOF_Maneuver GetCurrentManeuver()

Returns the currently executing maneuver in the sequence. If there is not current maneuver, this will return an invalid object.