Enum LOFType
- java.lang.Object
-
- java.lang.Enum<LOFType>
-
- org.orekit.frames.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 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 Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method 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.static <T extends CalculusFieldElement<T>>
FieldRotation<T>rotationFromLOFInToLOFOut(Field<T> field, LOFType in, LOFType out, FieldPVCoordinates<T> pv)
Get the rotation from input to outputcommonly used local orbital frame
.static Rotation
rotationFromLOFInToLOFOut(LOFType in, LOFType out, PVCoordinates pv)
Get the rotation from input to outputcommonly used local orbital frame
.<T extends CalculusFieldElement<T>>
FieldRotation<T>rotationFromLOFType(Field<T> field, LOFType fromLOF, FieldPVCoordinates<T> pv)
Get the rotation from inputcommonly used local orbital frame
to the instance.Rotation
rotationFromLOFType(LOFType fromLOF, PVCoordinates pv)
Get the rotation from inputcommonly used local orbital frame
to the instance.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 <T extends CalculusFieldElement<T>>
FieldTransform<T>transformFromLOFInToLOFOut(Field<T> field, LOFType in, LOFType out, FieldAbsoluteDate<T> date, FieldPVCoordinates<T> pv)
Get the transform from input to outputcommonly used local orbital frame
.static Transform
transformFromLOFInToLOFOut(LOFType in, LOFType out, AbsoluteDate date, PVCoordinates pv)
Get the transform from input to outputcommonly used 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.
-
-
-
Enum Constant Detail
-
TNW
public static final LOFType TNW
-
QSW
public static final LOFType QSW
-
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_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
-
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
-
VNC
public static final LOFType VNC
-
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
-
-
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
-
rotationFromLOFInToLOFOut
public static Rotation rotationFromLOFInToLOFOut(LOFType in, LOFType out, PVCoordinates pv)
Get the rotation from input to outputcommonly used local orbital frame
.This rotation does not include any time derivatives.
- Parameters:
in
- input commonly used local orbital frameout
- output commonly used local orbital framepv
- position-velocity of the spacecraft in some inertial frame- Returns:
- rotation from input to output
commonly used local orbital frame
. - Since:
- 11.3
-
rotationFromLOFInToLOFOut
public static <T extends CalculusFieldElement<T>> FieldRotation<T> rotationFromLOFInToLOFOut(Field<T> field, LOFType in, LOFType out, FieldPVCoordinates<T> pv)
Get the rotation from input to outputcommonly used local orbital frame
.This rotation does not include any time derivatives.
- Type Parameters:
T
- type of the field elements- Parameters:
field
- field to which the elements belongin
- input commonly used local orbital frameout
- output commonly used local orbital framepv
- position-velocity of the spacecraft in some inertial frame- Returns:
- rotation from input to output
commonly used local orbital frame
. - Since:
- 11.3
-
transformFromLOFInToLOFOut
public static Transform transformFromLOFInToLOFOut(LOFType in, LOFType out, AbsoluteDate date, PVCoordinates pv)
Get the transform from input to outputcommonly used local orbital frame
.This method simply builds the transform using the rotation obtained from
rotationFromLOFInToLOFOut(LOFType, LOFType, PVCoordinates)
- Parameters:
in
- input commonly used local orbital frameout
- output commonly used local orbital framedate
- current datepv
- position-velocity of the spacecraft in some inertial frame- Returns:
- rotation from input to output
commonly used local orbital frame
. - Since:
- 11.3
-
transformFromLOFInToLOFOut
public static <T extends CalculusFieldElement<T>> FieldTransform<T> transformFromLOFInToLOFOut(Field<T> field, LOFType in, LOFType out, FieldAbsoluteDate<T> date, FieldPVCoordinates<T> pv)
Get the transform from input to outputcommonly used local orbital frame
.This method simply builds the transform using the rotation obtained from
rotationFromLOFInToLOFOut(LOFType, LOFType, PVCoordinates)
- Type Parameters:
T
- type of the field elements- Parameters:
field
- field to which the elements belongin
- input commonly used local orbital frameout
- output commonly used local orbital framedate
- current datepv
- position-velocity of the spacecraft in some inertial frame- Returns:
- rotation from input to output
commonly used local orbital frame
. - Since:
- 11.3
-
rotationFromLOFType
public Rotation rotationFromLOFType(LOFType fromLOF, PVCoordinates pv)
Get the rotation from inputcommonly used local orbital frame
to the instance.- 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
- Since:
- 11.3
-
rotationFromLOFType
public <T extends CalculusFieldElement<T>> FieldRotation<T> rotationFromLOFType(Field<T> field, LOFType fromLOF, FieldPVCoordinates<T> pv)
Get the rotation from inputcommonly used local orbital frame
to the instance.- 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
- Since:
- 11.3
-
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 datepv
- 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 fields elements- Parameters:
date
- current datepv
- 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 belongpv
- position-velocity of the spacecraft in some inertial frame- Returns:
- rotation from inertial frame to local orbital frame
- Since:
- 9.0
-
-