org.orekit.attitudes
Class GroundPointing

java.lang.Object
  extended by org.orekit.attitudes.AbstractAttitudeLaw
      extended by org.orekit.attitudes.GroundPointing
All Implemented Interfaces:
Serializable, AttitudeLaw, AttitudeProvider
Direct Known Subclasses:
BodyCenterGroundPointing, GroundPointingWrapper, LofOffsetPointing, NadirPointing, TargetGroundPointing

public abstract class GroundPointing
extends AbstractAttitudeLaw

Base class for ground pointing attitude providers.

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.

Author:
Véronique Pommier-Maurussane
See Also:
AttitudeProvider, Serialized Form

Constructor Summary
protected GroundPointing(BodyShape shape)
          Default constructor.
 
Method Summary
 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.
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.
 
Methods inherited from class org.orekit.attitudes.AbstractAttitudeLaw
getAttitude, getSpinDerivativesComputation, setSpinDerivativesComputation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GroundPointing

protected GroundPointing(BodyShape shape)
Default constructor. Build a new instance with arbitrary default elements.

Parameters:
shape - the body shape
Method Detail

getAttitude

public Attitude getAttitude(PVCoordinatesProvider pvProv,
                            AbsoluteDate date,
                            Frame frame)
                     throws OrekitException
Compute the attitude corresponding to an orbital state.

Parameters:
pvProv - local position-velocity provider around current date
date - current date
frame - reference frame from which attitude is computed
Returns:
attitude attitude on the specified date and position-velocity state
Throws:
OrekitException - if attitude cannot be computed

getTargetPoint

protected abstract Vector3D getTargetPoint(PVCoordinatesProvider pvProv,
                                           AbsoluteDate date,
                                           Frame frame)
                                    throws OrekitException
Compute the target point in specified frame.

Parameters:
pvProv - provider for PV coordinates
date - date at which target point is requested
frame - frame in which observed ground point should be provided
Returns:
observed ground point position in specified frame
Throws:
OrekitException - if some specific error occurs, such as no target reached

getTargetPV

protected TimeStampedPVCoordinates getTargetPV(PVCoordinatesProvider pvProv,
                                               AbsoluteDate date,
                                               Frame frame)
                                        throws OrekitException
Compute the target point position/velocity in specified frame.

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.

Parameters:
pvProv - provider for PV coordinates
date - date at which target point is requested
frame - frame in which observed ground point should be provided
Returns:
observed ground point position/velocity in specified frame
Throws:
OrekitException - if some specific error occurs, such as no target reached

getBodyFrame

public final Frame getBodyFrame()
Get the body frame.

Returns:
body frame

getBodyShape

public final BodyShape getBodyShape()
Get the body shape.

Returns:
body shape


Copyright © 2017 CNES. All Rights Reserved.