public abstract class AbstractGroundPointing extends AbstractAttitudeLaw
This class is a basic model for different kind of ground pointing attitude providers, such as : body center pointing, nadir pointing, target pointing, etc...
The object GroundPointing
is guaranteed to be immutable.
AttitudeProvider
,
Serialized FormModifier | Constructor and Description |
---|---|
protected |
AbstractGroundPointing(BodyShape shapeIn)
Default constructor.
|
protected |
AbstractGroundPointing(BodyShape shapeIn,
Vector3D losInSatFrameVec,
Vector3D losNormalInSatFrameVec)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
Attitude |
getAttitude(PVCoordinatesProvider pvProv,
AbsoluteDate date,
Frame frame)
Compute the attitude corresponding to an orbital state.
|
Frame |
getBodyFrame()
Get the body frame.
|
BodyShape |
getBodyShape()
Get the body shape.
|
PVCoordinates |
getLosInSatFrame()
Returns the LOS in satellite frame axis.
|
PVCoordinates |
getLosNormalInSatFrame()
Returns the LOS normal axis in satellite frame.
|
protected abstract Vector3D |
getTargetPoint(PVCoordinatesProvider pvProv,
AbsoluteDate date,
Frame frame)
Compute the target point in specified frame.
|
protected TimeStampedPVCoordinates |
getTargetPV(PVCoordinatesProvider pvProv,
AbsoluteDate date,
Frame frame)
Compute the target point position/velocity in specified frame.
|
getAttitude, getSpinDerivativesComputation, setSpinDerivativesComputation
protected AbstractGroundPointing(BodyShape shapeIn)
By default, the satellite frame is set as :
shapeIn
- the body shapeprotected AbstractGroundPointing(BodyShape shapeIn, Vector3D losInSatFrameVec, Vector3D losNormalInSatFrameVec)
shapeIn
- the body shapelosInSatFrameVec
- LOS in satellite frame axislosNormalInSatFrameVec
- LOS normal axis in satellite framepublic Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws PatriusException
pvProv
- local position-velocity provider around current datedate
- current dateframe
- reference frame from which attitude is computedPatriusException
- if attitude cannot be computedprotected abstract Vector3D getTargetPoint(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws PatriusException
pvProv
- provider for PV coordinatesdate
- date at which target point is requestedframe
- frame in which observed ground point should be providedPatriusException
- if some specific error occurs,
such as no target reachedprotected TimeStampedPVCoordinates getTargetPV(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws PatriusException
The default implementation use a simple centered two points finite differences scheme, it may be replaced by more accurate models in specialized implementations.
In the case where the point is computed at a date corresponding to the lower/upper bound of the ephemeris, the finite differences scheme used is either 1st order forward or backward.The calculated intersection velocity corresponds to the "virtual" intersection point velocity between the satellite los and the Earth, not the velocity of the physical point.
pvProv
- provider for PV coordinatesdate
- date at which target point is requestedframe
- frame in which observed ground point should be providedPatriusException
- if some specific error occurs,
such as no target reachedpublic final Frame getBodyFrame()
public final BodyShape getBodyShape()
public PVCoordinates getLosInSatFrame()
public PVCoordinates getLosNormalInSatFrame()
Copyright © 2021 CNES. All rights reserved.