Class ThrustDirectionAndAttitudeProvider
- java.lang.Object
-
- org.orekit.forces.maneuvers.propulsion.ThrustDirectionAndAttitudeProvider
-
- All Implemented Interfaces:
AttitudeProvider
,EventDetectorsProvider
public class ThrustDirectionAndAttitudeProvider extends Object implements AttitudeProvider
This class is used in to both manage the attitude of the satellite and the direction of thrust.It is used in ConfigurableLowThrustManeuver to set the spacecraft attitude according to the expected thrust direction.
The direction can be variable or fixed, defined in the spaceraft frame, a Local Orbital Frame or a user frame.
It is also possible to use an external attitude provider.
- Since:
- 10.2
- Author:
- Mikael Fillastre, Andrea Fiorentino
-
-
Field Summary
-
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ThrustDirectionAndAttitudeProvider
buildFromCustomAttitude(AttitudeProvider attitudeProvider, Vector3D direction)
Build a ThrustDirectionAndAttitudeProvider where the attitude is provided by an external.static ThrustDirectionAndAttitudeProvider
buildFromDirectionInFrame(Frame thrustDirectionFrame, ThrustDirectionProvider variableDirectionInFrame, Vector3D thrusterAxisInSatelliteFrame)
Build a ThrustDirectionAndAttitudeProvider by a variable direction in a custom frame.static ThrustDirectionAndAttitudeProvider
buildFromDirectionInLOF(LOF thrustDirectionLof, ThrustDirectionProvider variableDirectionInFrame, Vector3D thrusterAxisInSatelliteFrame)
Build a ThrustDirectionAndAttitudeProvider by a variable direction in a Local Orbital Frame.static ThrustDirectionAndAttitudeProvider
buildFromFixedDirectionInSatelliteFrame(Vector3D direction)
Build a ThrustDirectionAndAttitudeProvider from a fixed direction in the satellite frame.<T extends CalculusFieldElement<T>>
FieldAttitude<T>getAttitude(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame)
Compute the attitude corresponding to an orbital state.Attitude
getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
Compute the attitude corresponding to an orbital state.protected Attitude
getAttitudeFromFrame(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
Compute the attitude for DIRECTION_IN_FRAME or DIRECTION_IN_LOF types.AttitudeProvider
getManeuverAttitudeProvider()
Attitude provider to use.Vector3D
getThrusterAxisInSatelliteFrame()
Thruster axis in satellite frame.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.attitudes.AttitudeProvider
getAttitudeRotation, getAttitudeRotation, getEventDetectors, getFieldEventDetectors
-
Methods inherited from interface org.orekit.propagation.events.EventDetectorsProvider
getEventDetectors, getFieldEventDetectors
-
-
-
-
Method Detail
-
buildFromFixedDirectionInSatelliteFrame
public static ThrustDirectionAndAttitudeProvider buildFromFixedDirectionInSatelliteFrame(Vector3D direction)
Build a ThrustDirectionAndAttitudeProvider from a fixed direction in the satellite frame. The satellite attitude won't be managed by this object- Parameters:
direction
- constant direction in the satellite frame- Returns:
- a new instance
-
buildFromCustomAttitude
public static ThrustDirectionAndAttitudeProvider buildFromCustomAttitude(AttitudeProvider attitudeProvider, Vector3D direction)
Build a ThrustDirectionAndAttitudeProvider where the attitude is provided by an external. Object the direction of thrust will be constant- Parameters:
attitudeProvider
- the object that provide the satellite attitudedirection
- thruster axis in satellite frame- Returns:
- a new instance
-
buildFromDirectionInFrame
public static ThrustDirectionAndAttitudeProvider buildFromDirectionInFrame(Frame thrustDirectionFrame, ThrustDirectionProvider variableDirectionInFrame, Vector3D thrusterAxisInSatelliteFrame)
Build a ThrustDirectionAndAttitudeProvider by a variable direction in a custom frame.- Parameters:
thrustDirectionFrame
- reference frame for thrust directionvariableDirectionInFrame
- the object providing the thrust directionthrusterAxisInSatelliteFrame
- thruster axis in satellite frame- Returns:
- a new instance
-
buildFromDirectionInLOF
public static ThrustDirectionAndAttitudeProvider buildFromDirectionInLOF(LOF thrustDirectionLof, ThrustDirectionProvider variableDirectionInFrame, Vector3D thrusterAxisInSatelliteFrame)
Build a ThrustDirectionAndAttitudeProvider by a variable direction in a Local Orbital Frame.- Parameters:
thrustDirectionLof
- local orbital framevariableDirectionInFrame
- the object providing the thrust directionthrusterAxisInSatelliteFrame
- thruster axis in satellite frame- Returns:
- a new instance
-
getThrusterAxisInSatelliteFrame
public Vector3D getThrusterAxisInSatelliteFrame()
Thruster axis in satellite frame.- Returns:
- field
-
getAttitude
public Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
Compute the attitude corresponding to an orbital state.- Specified by:
getAttitude
in interfaceAttitudeProvider
- Parameters:
pvProv
- local position-velocity provider around current datedate
- current dateframe
- reference frame from which attitude is computed- Returns:
- attitude on the specified date and position-velocity state
-
getAttitude
public <T extends CalculusFieldElement<T>> FieldAttitude<T> getAttitude(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame)
Compute the attitude corresponding to an orbital state.- Specified by:
getAttitude
in interfaceAttitudeProvider
- Type Parameters:
T
- type of the field elements- Parameters:
pvProv
- local position-velocity provider around current datedate
- current dateframe
- reference frame from which attitude is computed- Returns:
- attitude on the specified date and position-velocity state
-
getAttitudeFromFrame
protected Attitude getAttitudeFromFrame(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
Compute the attitude for DIRECTION_IN_FRAME or DIRECTION_IN_LOF types.- Parameters:
pvProv
- local position-velocity provider around current datedate
- current dateframe
- reference frame from which attitude is computed- Returns:
- attitude attitude on the specified date and position-velocity state
-
getManeuverAttitudeProvider
public AttitudeProvider getManeuverAttitudeProvider()
Attitude provider to use.- Returns:
- null in mode SATELLITE_ATTITUDE
-
-