WsfOrbitalEvent

WsfOrbitalEvent

WsfOrbitalEvents are be passed to a WsfSpaceMover to perform specific actions, such as changing the orbit of a platform using maneuvering. The event may either be executed directly, using WsfSpaceMover.ExecuteEvent, or as part of a mission sequence, using WsfSpaceMover.ExecuteMissionSequence. Each script orbital event type is meant to be configured with a WsfOrbitalEventCondition object, passed in the object’s Construct method.

Note

Orbital events are considered to be finite (i.e., executing over a finite time), or impulsive (i.e., executing instantaneously), and they conditionally execute based on the provided orbital constraint (see WsfOrbitalEventCondition). Finite events execute at the provided update rate in SetUpdateInterval (otherwise, at the default update interval of one second), until complete. If a duration is also set using the SetDuration method, the event will execute for that duration, if possible (depending on the event type).

Available Orbital Events

Maneuver Events

Script Class
EventType String
CHANGE_ECCENTRICITY
CHANGE_INCLINATION
CHANGE_RAAN
CHANGE_RAAN_INCLINATION
CHANGE_SEMI_MAJOR_AXIS
CIRCULARIZE
COMPOUND
DELTA_V
DRIFT
HOHMANN_TRANSFER
INTERCEPT
MATCH_VELOCITY
NATURAL_MOTION_CIRCUMNAVIGATION
NORMAL
RENDEZVOUS
TANGENT
TARGET
TEARDROP

Non-Maneuver Events

Script Class
EventType String
CHANGE_ATTITUDE
PERFORM_STAGING
SCRIPTED

Methods

WsfOrbitalEventCondition Condition()

Returns the condition required for the maneuver to execute.

string ConditionType()

Returns the event’s execution condition type string.

double Duration()

Returns the duration of a maneuver.

string EventType()
string ManeuverType()

Returns the type of event.

bool IsComplete()

Returns true if the maneuver has completed, otherwise false.

bool IsFinite()

Returns true if the maneuver is finite, otherwise false.

void SetRelativeTime(double aRelativeTime)

Sets the amount of time until the maneuver executes when the condition is WsfOrbitalEventCondition.AT_RELATIVE_TIME.

double Radius()

Returns the final radius of the maneuver when the co

double RelativeTime()

Returns the relative amount of time for the maneuver to execute when the condition is WsfOrbitalEventCondition.AT_RELATIVE_TIME.

void SetCondition(WsfOrbitalEventCondition aCondition)

Sets the condition required for the maneuver to execute.

void SetDuration(double aDuration)

Sets the nominal duration for which the event will execute. If the duration is greater than zero, the event will be considered finite. This method will do nothing if the provided duration is less than 0.

void SetFinite(bool aIsFinite)

Sets whether the event is to be considered finite.

Note

By default, orbital events are impulsive (not finite).

void SetUpdateInterval(double aUpdateInterval)

Sets the update interval for the event at which finite events are executed.

Note

The default update interval is one second.

double TimeToConstraint()

Returns the amount of time until the event executes (i.e., its execution condition is satisfied).