Enum LOFType
- java.lang.Object
-
- java.lang.Enum<LOFType>
-
- org.orekit.frames.LOFType
-
- All Implemented Interfaces:
Serializable
,Comparable<LOFType>
,LOF
public enum LOFType extends Enum<LOFType> implements LOF
Enumerate for different types of Local Orbital Frames.- Author:
- Luc Maisonobe, Maxime Journot, Vincent Cucchietti
-
-
Enum Constant Summary
Enum Constants Enum Constant 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).LVLH_CCSDS_INERTIAL
Constant for Local Vertical, Local Horizontal frame as defined by CCSDS considered inertial (Z axis aligned with opposite of position, Y axis aligned with opposite of orbital momentum).LVLH_INERTIAL
Constant for Local Vertical, Local Horizontal frame considered inertial (X axis aligned with position, Z axis aligned with orbital momentum).NTW
Constant for Transverse Velocity Normal coordinate system (Y axis aligned with velocity, Z axis aligned with orbital momentum).NTW_INERTIAL
Constant for Transverse Velocity Normal coordinate system considered inertial (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).QSW_INERTIAL
Constant for QSW frame considered inertial (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).TNW_INERTIAL
Constant for TNW frame considered inertial (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).VNC_INERTIAL
Constant for Velocity - Normal - Co-normal frame considered inertial (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).VVLH_INERTIAL
Constant for Vehicle Velocity, Local Horizontal frame considered inertial (Z axis aligned with opposite of position, Y axis aligned with opposite of orbital momentum).
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description String
getName()
Get name of the local orbital frame.<T extends CalculusFieldElement<T>>
FieldRotation<T>rotationFromInertial(Field<T> field, FieldAbsoluteDate<T> date, FieldPVCoordinates<T> pv)
Get the rotation from inertial frame to local orbital frame.abstract <T extends CalculusFieldElement<T>>
FieldRotation<T>rotationFromInertial(Field<T> field, FieldPVCoordinates<T> pv)
Get the rotation from inertial frame to local orbital frame.Rotation
rotationFromInertial(AbsoluteDate date, PVCoordinates 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.<T extends CalculusFieldElement<T>>
FieldRotation<T>rotationFromLOF(Field<T> field, LOFType fromLOF, FieldPVCoordinates<T> pv)
Get the rotation from inputlocal orbital frame
to the instance.Rotation
rotationFromLOF(LOFType fromLOF, PVCoordinates pv)
Get the rotation from inputlocal orbital frame
to the instance.abstract OrbitRelativeFrame
toOrbitRelativeFrame()
Convert current local orbital frame to CCSDS equivalent orbit relative frame when possible, null otherwise.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 interface org.orekit.frames.LOF
isQuasiInertial, rotationFromLOF, rotationFromLOF, transformFromInertial, transformFromInertial, transformFromLOF, transformFromLOF
-
-
-
-
Enum Constant Detail
-
TNW
public static final LOFType TNW
-
TNW_INERTIAL
public static final LOFType TNW_INERTIAL
-
QSW
public static final LOFType QSW
-
QSW_INERTIAL
public static final LOFType QSW_INERTIAL
Constant for QSW frame considered inertial (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
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
-
LVLH_INERTIAL
public static final LOFType LVLH_INERTIAL
Constant for Local Vertical, Local Horizontal frame considered inertial (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
-
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
andLVLH
frames:- XLVLH_CCSDS/VVLH = YQSW/LVLH
- YLVLH_CCSDS/VVLH = -ZQSW/LVLH
- ZLVLH_CCSDS/VVLH = -XQSW/LVLH
-
LVLH_CCSDS_INERTIAL
public static final LOFType LVLH_CCSDS_INERTIAL
Constant for Local Vertical, Local Horizontal frame as defined by CCSDS considered inertial (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
andLVLH
frames:- XLVLH_CCSDS/VVLH = YQSW/LVLH
- YLVLH_CCSDS/VVLH = -ZQSW/LVLH
- ZLVLH_CCSDS/VVLH = -XQSW/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
andLVLH
frames:- XLVLH_CCSDS/VVLH = YQSW/LVLH
- YLVLH_CCSDS/VVLH = -ZQSW/LVLH
- ZLVLH_CCSDS/VVLH = -XQSW/LVLH
- See Also:
LVLH_CCSDS
-
VVLH_INERTIAL
public static final LOFType VVLH_INERTIAL
Constant for Vehicle Velocity, Local Horizontal frame considered inertial (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
andLVLH
frames:- XLVLH_CCSDS/VVLH = YQSW/LVLH
- YLVLH_CCSDS/VVLH = -ZQSW/LVLH
- ZLVLH_CCSDS/VVLH = -XQSW/LVLH
- See Also:
LVLH_CCSDS
-
VNC
public static final LOFType VNC
-
VNC_INERTIAL
public static final LOFType VNC_INERTIAL
-
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
-
NTW_INERTIAL
public static final LOFType NTW_INERTIAL
-
-
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 nameNullPointerException
- if the argument is null
-
getName
public String getName()
Get name of the local orbital frame.
-
rotationFromLOF
public Rotation rotationFromLOF(LOFType fromLOF, PVCoordinates pv)
Get the rotation from inputlocal orbital frame
to the instance.This rotation does not include any time derivatives. If first time derivatives (i.e. rotation rate) is needed as well, the full
LOF.transformFromLOF(LOF, AbsoluteDate, PVCoordinates)
method must be called and the complete rotation transform must be extracted from it.- Parameters:
fromLOF
- input local orbital framepv
- position-velocity of the spacecraft in some inertial frame- Returns:
- rotation from input local orbital frame to the instance
-
rotationFromLOF
public <T extends CalculusFieldElement<T>> FieldRotation<T> rotationFromLOF(Field<T> field, LOFType fromLOF, FieldPVCoordinates<T> pv)
Get the rotation from inputlocal orbital frame
to the instance.This rotation does not include any time derivatives. If first time derivatives (i.e. rotation rate) is needed as well, the full
LOF.transformFromLOF(LOF, FieldAbsoluteDate, FieldPVCoordinates)
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 belongfromLOF
- input local orbital framepv
- position-velocity of the spacecraft in some inertial frame- Returns:
- rotation from input local orbital frame to the instance
-
rotationFromInertial
public Rotation rotationFromInertial(AbsoluteDate date, 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. It is unnecessary to use this method when dealing withLOFType
, userotationFromInertial(PVCoordinates)
instead.- Specified by:
rotationFromInertial
in interfaceLOF
- Parameters:
date
- date of the rotationpv
- position-velocity of the spacecraft in some inertial frame- Returns:
- rotation from inertial frame to local orbital frame
-
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
LOF.transformFromInertial(AbsoluteDate, PVCoordinates)
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 <T extends CalculusFieldElement<T>> FieldRotation<T> rotationFromInertial(Field<T> field, FieldAbsoluteDate<T> date, 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
It is unnecessary to use this method when dealing withLOF.transformFromInertial(FieldAbsoluteDate, FieldPVCoordinates)
method must be called and the complete rotation transform must be extracted from it.LOFType
, userotationFromInertial(Field, FieldPVCoordinates)
instead.- Specified by:
rotationFromInertial
in interfaceLOF
- Type Parameters:
T
- type of the field elements- Parameters:
field
- field to which the elements belongdate
- date of the rotationpv
- 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
LOF.transformFromInertial(FieldAbsoluteDate, FieldPVCoordinates)
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 belongpv
- position-velocity of the spacecraft in some inertial frame- Returns:
- rotation from inertial frame to local orbital frame
-
toOrbitRelativeFrame
public abstract OrbitRelativeFrame toOrbitRelativeFrame()
Convert current local orbital frame to CCSDS equivalent orbit relative frame when possible, null otherwise.- Returns:
- CCSDS equivalent orbit relative frame when possible, null otherwise
- See Also:
OrbitRelativeFrame
-
-