WsfTargetPoint

WsfTargetPoint

The WsfTargetPoint is used to specify the target of a targeting-class maneuver (WsfTargetManeuver, WsfInterceptManeuver, and WsfRendezvousManeuver). Target points for these maneuvers consist of a base target and an optional offset. The base target specifies the platform or other point that is used as the target of the maneuver. Optionally, that base target can be modified by an offset so that the targeting operation will not end at the same place as the base target, but near to the base target.

In addition to the kinematic (position and velocity) offset, the WsfTargetPoint also supports two forms of offset in time. The first, called an offset time, gives time time after the end of the maneuver at which the given kinematic offset will be achieved. The second, called a lag time, will instead target a point that is behind the target on its orbit. For example, a lag time of one hour for a rendezvous will maneuver onto the target’s orbit, but will be one hour behind the target.

Methods

WsfTargetPoint ConstructFromTrack(WsfTrackId aTrackId)

This static method creates a WsfTargetPoint that has the state represented by the given WsfTrackId as its base target.

WsfTargetPoint ConstructFromLibrationPoint(WsfLibrationPointSystem aLP_System, WsfLibrationPointSelection aLP_Point)

This static method creates a WsfTargetPoint that has the given WsfLibrationPointSelection of the given WsfLibrationPointSystem as its base target.

WsfTargetPoint ConstructFromKinematicState(Vec3 aPositionECI)
WsfTargetPoint ConstructFromKinematicState(Vec3 aPositionECI, Vec3 aVelocityECI)

This static method creates a WsfTargetPoint that has the given kinematic state as its base target. If only the aPositionECI is supplied, the base target will have a zero velocity.

bool HasTrackTarget()

Return if this object was created with a track base target.

bool HasLibrationPointTarget()

Return if this object was created with a libration point base target.

bool HasKinematicStateTarget()

Return if this object was created with a kinematic state base target.

bool HasPositionOffset()

Return if this object has a defined position offset.

bool HasVelocityOffset()

Return if this object has a defined velocity offset.

bool HasOffsetTime()

Return if this object has an offset time specified.

bool HasLagTime()

Return if this object has a lag time specified.

WsfOrbitalReferenceFrame PositionOffsetFrame()

Return a WsfOrbitalReferenceFrame instance giving the frame in which any position offset is specified. This method only gives a meaningful return value if WsfTargetPoint.HasPositionOffset returns true for this object.

Vec3 PositionOffset()

Return the position offset specified for this object (in meters). This offset is in the frame given by WsfTargetPoint.PositionOffsetFrame, and is only meaningful if WsfTargetPoint.HasPositionOffset returns true for this object.

WsfOrbitalReferenceFrame VelocityOffsetFrame()

Return a WsfOrbitalReferenceFrame instance giving the frame in which any velocity offset is specified. This method only gives a meaningful return value if WsfTargetPoint.HasVelocityOffset returns true for this object.

Vec3 VelocityOffset()

Return the velocity offset specified for this object (in meters per second). This offset is in the frame given by WsfTargetPoint.VelocityOffsetFrame, and is only meaningful if WsfTargetPoint.HasVelocityOffset returns true for this object.

double OffsetTime()

Return the offset time specified for this object in seconds. This offset is only meaningful if WsfTargetPoint.HasOffsetTime returns true for this object.

double LagTime()

Return the lag time specified for this object in seconds. This lag time is only meaningful if WsfTargetPoint.HasLagTime returns true for this object.

WsfLibrationPointSystem LibrationPointSystem()

Return the WsfLibrationPointSystem that this object specifies as a base target. The return value of this method is only meaningful if WsfTargetPoint.HasLibrationPointTarget returns true for this object.

WsfLibrationPointSelection LibrationPointSelection()

Return the WsfLibrationPointSelection that this object specifies as a base target. The return value of this method is only meaningful if WsfTargetPoint.HasLibrationPointTarget returns true for this object.

WsfTrackId TrackId()

Return the WsfTrackId that this object specifies as a base target. The return value of this method is only meaningful if WsfTargetPoint.HasTrackTarget returns true for this object.

Vec3 KinematicStateTargetPosition()

Return the ECI position of the kinematic state that this object specifies as a base target. The returned value will be in units of meters, and will only be meaningful if WsfTargetPoint.HasKinematicStateTarget returns true for this object.

Vec3 KinematicStateTargetVelocity()

Return the ECI velocity of the kinematic state that this object specifies as a base target. The returned value will be in units of meters per second, and will only be meaningful if WsfTargetPoint.HasKinematicStateTarget returns true for this object.

void ClearPositionOffset()

Clear any position offset specified on this object. After this method returns, WsfTargetPoint.HasPositionOffset will return false for this object.

void SetPositionOffset(Vec3 aOffset, WsfOrbitalReferenceFrame aFrame)

Set the position offset in meters for this object to the given value for the given frame. After this method returns, WsfTargetPoint.HasPositionOffset will return true for this object. Only the values returned by WsfOrbitalReferenceFrame.NTW and WsfOrbitalReferenceFrame.RIC are acceptable inputs for the second argument, aFrame.

void ClearVelocityOffset()

Clear any velocity offset specified on this object. After this method returns, WsfTargetPoint.HasPositionOffset will return false for this object.

void SetVelocityOffset(Vec3 aOffset, WsfOrbitalReferenceFrame aFrame)

Set the velocity offset in meters per second for this object to the given value for the given frame. After this method returns, WsfTargetPoint.HasVelocityOffset will return true for this object. Only the values returned by WsfOrbitalReferenceFrame.NTW and WsfOrbitalReferenceFrame.RIC are acceptable inputs for the second argument, aFrame.

void ClearOffsetTime()

Clear any offset time specified on this object. After this method returns, WsfTargetPoint.HasOffsetTime will return false for this object.

void SetOffsetTime(double aOffsetTime)

Set the offset time in seconds for this object to the given value. After this method returns, WsfTargetPoint.HasOffsetTime will return true for this object.

void ClearLagTime()

Clear any lag time specified on this object. After this method returns, WsfTargetPoint.HasLagTime will return false for this object.

void SetLagTime(double aLagTime)

Set the lag time in seconds for this object to the given value. After this method returns, WsfTargetPoint.HasLagTime will return true for this object.

Deprecated Methods

The following methods are all deprecated, and will be removed in a future release.

bool HasOffset()

Return if this object has a defined position offset.

WsfTargetOffsetFrame OffsetFrame()

Return a WsfTargetOffsetFrame instance giving the frame in which any position offset is specified. This method only gives a meaningful return value if WsfTargetPoint.HasOffset returns true for this object.

Vec3 Offset()

Return the position offset specified for this object. This offset is in the frame given by WsfTargetPoint.OffsetFrame, and is only meaningful if WsfTargetPoint.HasOffset returns true for this object.

void ClearOffset()

Clear any position offset specified on this object. After this method returns, WsfTargetPoint.HasOffset will return false for this object.

void SetOffset(Vec3 aOffset, WsfTargetOffsetFrame aFrame)

Set the position offset for this object to the given value for the given frame. After this method returns, WsfTargetPoint.HasOffset will return true for this object.