public abstract class AbstractGroundPointingWrapper extends AbstractGroundPointing implements AttitudeLawModifier
Constructor and Description |
---|
AbstractGroundPointingWrapper(AbstractGroundPointing pGroundPointingLaw)
Creates a new instance.
|
AbstractGroundPointingWrapper(AbstractGroundPointing pGroundPointingLaw,
Vector3D losInSatFrameVec,
Vector3D losNormalInSatFrameVec)
Creates a new instance with specified los axis in satellite frame.
|
AbstractGroundPointingWrapper(AbstractGroundPointing pGroundPointingLaw,
Vector3D losInSatFrameVec,
Vector3D losNormalInSatFrameVec,
double targetVelocityDeltaT)
Creates a new instance with specified los axis in satellite frame.
|
Modifier and Type | Method and Description |
---|---|
Attitude |
getBaseState(PVCoordinatesProvider pvProv,
AbsoluteDate date,
Frame frame)
Compute the base system state at given date, without compensation.
|
abstract TimeStampedAngularCoordinates |
getCompensation(PVCoordinatesProvider pvProv,
AbsoluteDate date,
Frame frame,
Attitude base)
Compute the TimeStampedAngularCoordinates at a given time.
|
AttitudeLaw |
getGroundPointingLaw()
Getter for the ground pointing attitude provider without yaw compensation.
|
protected 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.
|
AttitudeLaw |
getUnderlyingAttitudeLaw()
Get the underlying (ground pointing) attitude provider.
|
void |
setSpinDerivativesComputation(boolean computeSpinDerivatives)
Method to activate spin derivative computation.
|
getAttitude, getBodyFrame, getBodyShape, getLosInSatFrame, getLosNormalInSatFrame
getSpinDerivativesComputation
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
computeSpinByFD, computeSpinDerivativeByFD, getAttitude, getAttitude
public AbstractGroundPointingWrapper(AbstractGroundPointing pGroundPointingLaw)
pGroundPointingLaw
- ground pointing attitude provider without compensationpublic AbstractGroundPointingWrapper(AbstractGroundPointing pGroundPointingLaw, Vector3D losInSatFrameVec, Vector3D losNormalInSatFrameVec)
pGroundPointingLaw
- ground pointing attitude provider without compensationlosInSatFrameVec
- LOS in satellite frame axislosNormalInSatFrameVec
- LOS normal axis in satellite framepublic AbstractGroundPointingWrapper(AbstractGroundPointing pGroundPointingLaw, Vector3D losInSatFrameVec, Vector3D losNormalInSatFrameVec, double targetVelocityDeltaT)
pGroundPointingLaw
- ground pointing attitude provider without compensationlosInSatFrameVec
- LOS in satellite frame axislosNormalInSatFrameVec
- LOS normal axis in satellite frametargetVelocityDeltaT
- the delta-T used to compute target velocity by finite differencespublic final AttitudeLaw getUnderlyingAttitudeLaw()
getUnderlyingAttitudeLaw
in interface AttitudeLawModifier
protected final Vector3D getTargetPoint(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws PatriusException
getTargetPoint
in class AbstractGroundPointing
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 final 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.
getTargetPV
in class AbstractGroundPointing
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 Attitude getBaseState(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws PatriusException
pvProv
- provider for PV coordinatesdate
- date at which state is requestedframe
- reference frame from which attitude is computedPatriusException
- if some specific error occurspublic abstract TimeStampedAngularCoordinates getCompensation(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame, Attitude base) throws PatriusException
pvProv
- provider for PV coordinatesdate
- date at which rotation is requestedframe
- reference frame from which attitude is computedbase
- base satellite attitude in given frame.PatriusException
- if some specific error occurspublic void setSpinDerivativesComputation(boolean computeSpinDerivatives)
Spin derivatives computation applies to provided law groundPointingLaw
.
setSpinDerivativesComputation
in interface AttitudeProvider
setSpinDerivativesComputation
in class AbstractAttitudeLaw
computeSpinDerivatives
- true if spin derivatives should be computedpublic AttitudeLaw getGroundPointingLaw()
Copyright © 2023 CNES. All rights reserved.