org.orekit.frames

## Enum LOFType

• All Implemented Interfaces:
Serializable, Comparable<LOFType>

public enum LOFType
extends Enum<LOFType>
Enumerate for different types of Local Orbital Frames.
Author:
Luc Maisonobe
• ### Enum Constant Summary

Enum Constants
Enum Constant and Description
EQW
Constant for Equinoctial Coordinate System (X axis aligned with ascending node, Z axis aligned with orbital momentum).
LVLH
Constant for Local Vertical, Local Horizontal frame (X axis aligned with position, Z axis aligned with orbital momentum).
LVLH_CCSDS
Constant for Local Vertical, Local Horizontal frame as defined by CCSDS (Z axis aligned with opposite of position, Y axis aligned with opposite of orbital momentum).
NTW
Constant for Transverse Velocity Normal coordinate system (Y axis aligned with velocity, Z axis aligned with orbital momentum).
QSW
Constant for QSW frame (X axis aligned with position, Z axis aligned with orbital momentum).
TNW
Constant for TNW frame (X axis aligned with velocity, Z axis aligned with orbital momentum).
VNC
Constant for Velocity - Normal - Co-normal frame (X axis aligned with velocity, Y axis aligned with orbital momentum).
VVLH
Constant for Vehicle Velocity, Local Horizontal frame (Z axis aligned with opposite of position, Y axis aligned with opposite of orbital momentum).
• ### Method Summary

All Methods
Modifier and Type Method and Description
abstract <T extends CalculusFieldElement<T>>FieldRotation<T> rotationFromInertial(Field<T> field, FieldPVCoordinates<T> pv)
Get the rotation from inertial frame to local orbital frame.
abstract Rotation rotationFromInertial(PVCoordinates pv)
Get the rotation from inertial frame to local orbital frame.
Transform transformFromInertial(AbsoluteDate date, PVCoordinates pv)
Get the transform from an inertial frame defining position-velocity and the local orbital frame.
<T extends CalculusFieldElement<T>>FieldTransform<T> transformFromInertial(FieldAbsoluteDate<T> date, FieldPVCoordinates<T> pv)
Get the transform from an inertial frame defining position-velocity and the local orbital frame.
static LOFType valueOf(String name)
Returns the enum constant of this type with the specified name.
static LOFType[] values()
Returns an array containing the constants of this enum type, in the order they are declared.
• ### Methods inherited from class java.lang.Enum

clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
• ### Methods inherited from class java.lang.Object

getClass, notify, notifyAll, wait, wait, wait
• ### Enum Constant Detail

• #### TNW

public static final LOFType TNW
Constant for TNW frame (X axis aligned with velocity, Z axis aligned with orbital momentum).

The axes of this frame are parallel to the axes of the VNC and NTW frames:

• XTNW = XVNC = YNTW
• YTNW = -ZVNC = -XNTW
• ZTNW = YVNC = ZNTW
VNC, NTW
• #### QSW

public static final LOFType QSW
Constant for QSW frame (X axis aligned with position, Z axis aligned with orbital momentum).

This frame is also known as the LVLH frame, both constants are equivalent.

The axes of these frames are parallel to the axes of the VVLH frame:

• XQSW/LVLH = -ZVVLH
• YQSW/LVLH = XVVLH
• ZQSW/LVLH = -YVVLH
LVLH, VVLH
• #### LVLH

public static final LOFType LVLH
Constant for Local Vertical, Local Horizontal frame (X axis aligned with position, Z axis aligned with orbital momentum).

BEWARE! Depending on the background (software used, textbook, community), different incompatible definitions for LVLH are used. This one is consistent with Vallado's book and with AGI's STK. However CCSDS standard, Wertz, and a.i. solutions' FreeFlyer use another definition (see LVLH_CCSDS).

This frame is also known as the QSW frame, both constants are equivalent.

The axes of these frames are parallel to the axes of the LVLH_CCSDS frame:

• XLVLH/QSW = -ZLVLH_CCSDS
• YLVLH/QSW = XLVLH_CCSDS
• ZLVLH/QSW = -YLVLH_CCSDS
QSW, VVLH
• #### LVLH_CCSDS

public static final LOFType LVLH_CCSDS
Constant for Local Vertical, Local Horizontal frame as defined by CCSDS (Z axis aligned with opposite of position, Y axis aligned with opposite of orbital momentum).

BEWARE! Depending on the background (software used, textbook, community), different incompatible definitions for LVLH are used. This one is consistent with CCSDS standard, Wertz, and a.i. solutions' FreeFlyer. However Vallado's book and with AGI's STK use another definition (see LVLH).

The axes of this frame are parallel to the axes of both the QSW and LVLH frames:

• XLVLH_CCSDS/VVLH = YQSW/LVLH
• YLVLH_CCSDS/VVLH = -ZQSW/LVLH
• ZLVLH_CCSDS/VVLH = -XQSW/LVLH
Since:
11.0
QSW, LVLH
• #### VVLH

public static final LOFType VVLH
Constant for Vehicle Velocity, Local Horizontal frame (Z axis aligned with opposite of position, Y axis aligned with opposite of orbital momentum).

This is another name for LVLH_CCSDS, kept here for compatibility with STK.

Beware that the name is misleading: in the general case (i.e. not perfectly circular), none of the axes is perfectly aligned with velocity! The preferred name for this should be LVLH_CCSDS.

The axes of this frame are parallel to the axes of both the QSW and LVLH frames:

• XLVLH_CCSDS/VVLH = YQSW/LVLH
• YLVLH_CCSDS/VVLH = -ZQSW/LVLH
• ZLVLH_CCSDS/VVLH = -XQSW/LVLH
LVLH_CCSDS
• #### VNC

public static final LOFType VNC
Constant for Velocity - Normal - Co-normal frame (X axis aligned with velocity, Y axis aligned with orbital momentum).

The axes of this frame are parallel to the axes of the TNW and NTW frames:

• XVNC = XTNW = YNTW
• YVNC = ZTNW = ZNTW
• ZVNC = -YTNW = XNTW
TNW, NTW
• #### EQW

public static final LOFType EQW
Constant for Equinoctial Coordinate System (X axis aligned with ascending node, Z axis aligned with orbital momentum).
Since:
11.0
• #### NTW

public static final LOFType NTW
Constant for Transverse Velocity Normal coordinate system (Y axis aligned with velocity, Z axis aligned with orbital momentum).

The axes of this frame are parallel to the axes of the TNW and VNC frames:

• XNTW = -YTNW = ZVNC
• YNTW = XTNW = XVNC
• ZNTW = ZTNW = YVNC
Since:
11.0
TNW, VNC
• ### Method Detail

• #### values

public static LOFType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (LOFType c : LOFType.values())
System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared
• #### valueOf

public static LOFType valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
IllegalArgumentException - if this enum type has no constant with the specified name
NullPointerException - if the argument is null
• #### transformFromInertial

public Transform transformFromInertial(AbsoluteDate date,
PVCoordinates pv)
Get the transform from an inertial frame defining position-velocity and the local orbital frame.
Parameters:
date - current date
pv - position-velocity of the spacecraft in some inertial frame
Returns:
transform from the frame where position-velocity are defined to local orbital frame
• #### transformFromInertial

public <T extends CalculusFieldElement<T>> FieldTransform<T> transformFromInertial(FieldAbsoluteDate<T> date,
FieldPVCoordinates<T> pv)
Get the transform from an inertial frame defining position-velocity and the local orbital frame.
Type Parameters:
T - type of the fiels elements
Parameters:
date - current date
pv - position-velocity of the spacecraft in some inertial frame
Returns:
transform from the frame where position-velocity are defined to local orbital frame
Since:
9.0
• #### rotationFromInertial

public abstract Rotation rotationFromInertial(PVCoordinates pv)
Get the rotation from inertial frame to local orbital frame.

This rotation does not include any time derivatives. If first time derivatives (i.e. rotation rate) is needed as well, the full transformFromInertial method must be called and the complete rotation transform must be extracted from it.

Parameters:
pv - position-velocity of the spacecraft in some inertial frame
Returns:
rotation from inertial frame to local orbital frame
• #### rotationFromInertial

public abstract <T extends CalculusFieldElement<T>> FieldRotation<T> rotationFromInertial(Field<T> field,
FieldPVCoordinates<T> pv)
Get the rotation from inertial frame to local orbital frame.

This rotation does not include any time derivatives. If first time derivatives (i.e. rotation rate) is needed as well, the full transformFromInertial method must be called and the complete rotation transform must be extracted from it.

Type Parameters:
T - type of the field elements
Parameters:
field - field to which the elements belong
pv - position-velocity of the spacecraft in some inertial frame
Returns:
rotation from inertial frame to local orbital frame
Since:
9.0