public abstract class AbstractSlew extends Object implements Slew
This abstract class is the basic implementation of the Slew
interface.
It does not include the algorithm computing the maneuver, as this depends on the type of slew and thus is implemented
by the classes extending this abstract class.
A generic slew maneuver is represented by the following variables:
Slew
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected boolean |
computed
True if the slew has already been computed.
|
protected PVCoordinatesProvider |
currentProvider
The PV coordinates provider that has been used to compute the maneuver.
|
protected AttitudeProvider |
fLaw
The attitude law after the slew.
|
protected AttitudeProvider |
iLaw
The attitude law before the slew.
|
protected AbsoluteDateInterval |
intervalOfValidity
Interval of validity of the maneuver (with closed endpoints).
|
Constructor and Description |
---|
AbstractSlew(AttitudeProvider initialLaw,
AttitudeProvider finalLaw,
AbsoluteDate initialDate,
AbsoluteDate finalDate)
Builds a slew when its interval of validity is known.
|
AbstractSlew(AttitudeProvider initialLaw,
AttitudeProvider finalLaw,
AbsoluteDate initialDate,
AbsoluteDate finalDate,
String natureIn)
Builds a slew when its interval of validity is known.
|
Modifier and Type | Method and Description |
---|---|
Attitude |
getAttitude(Orbit orbit)
Compute the attitude corresponding to an orbital state.
|
Attitude |
getAttitude(PVCoordinatesProvider pvProv,
AbsoluteDate date,
Frame frame)
Warning: provided
PVCoordinatesProvider is here not used. |
double |
getDuration() |
String |
getNature()
Return the nature of the leg.
|
AbsoluteDateInterval |
getTimeInterval()
Return the time interval of validity of the leg
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
compute, getAttitude
setSpinDerivativesComputation
protected final AttitudeProvider iLaw
protected final AttitudeProvider fLaw
protected AbsoluteDateInterval intervalOfValidity
protected boolean computed
protected PVCoordinatesProvider currentProvider
public AbstractSlew(AttitudeProvider initialLaw, AttitudeProvider finalLaw, AbsoluteDate initialDate, AbsoluteDate finalDate)
initialLaw
- the AttitudeProvider
representing the attitude law before the slewfinalLaw
- the AttitudeProvider
representing the attitude law after the slewinitialDate
- the initial date of the interval of validityfinalDate
- the final date of the interval of validitypublic AbstractSlew(AttitudeProvider initialLaw, AttitudeProvider finalLaw, AbsoluteDate initialDate, AbsoluteDate finalDate, String natureIn)
initialLaw
- the AttitudeProvider
representing the attitude law before the slewfinalLaw
- the AttitudeProvider
representing the attitude law after the slewinitialDate
- the initial date of the interval of validityfinalDate
- the final date of the interval of validitynatureIn
- leg naturepublic Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws PatriusException
PVCoordinatesProvider
is here not used.
Slew has been precomputed with Slew.compute(PVCoordinatesProvider)
and associated
provider.
getAttitude
in interface AttitudeProvider
pvProv
- local position-velocity provider around current datedate
- current dateframe
- reference frame from which attitude is computedPatriusException
- if attitude cannot be computedpublic Attitude getAttitude(Orbit orbit) throws PatriusException
getAttitude
in interface AttitudeProvider
orbit
- current orbitPatriusException
- if attitude cannot be computedpublic final AbsoluteDateInterval getTimeInterval() throws PatriusException
getTimeInterval
in interface Leg
PatriusException
- thrown if the time interval is not computedpublic final double getDuration() throws PatriusException
PatriusException
- if the time interval is not computedCopyright © 2019 CNES. All rights reserved.