org.orekit.frames.transformations
Class InterpolatingTransformProvider

java.lang.Object
  extended by org.orekit.frames.transformations.InterpolatingTransformProvider
All Implemented Interfaces:
Serializable, TransformProvider

public class InterpolatingTransformProvider
extends Object
implements TransformProvider

Transform provider using thread-safe interpolation on transforms sample.

The interpolation is a polynomial Hermite interpolation, which can either use or ignore the derivatives provided by the raw provider. This means that simple raw providers that do not compute derivatives can be used, the derivatives will be added appropriately by the interpolation process.

Author:
Luc Maisonobe
See Also:
TimeStampedCache, Serialized Form

Constructor Summary
InterpolatingTransformProvider(TransformProvider rawProvider, boolean useVelocities, boolean useRotationRates, AbsoluteDate earliest, AbsoluteDate latest, int gridPoints, double step, int maxSlots, double maxSpan, double newSlotInterval)
          Simple constructor.
InterpolatingTransformProvider(TransformProvider rawProvider, boolean useVelocities, boolean useRotationRates, AbsoluteDate earliest, AbsoluteDate latest, int gridPoints, double step, int maxSlots, double maxSpan, double newSlotInterval, boolean computeSpinDerivatives)
          Simple constructor.
 
Method Summary
 TransformProvider getRawProvider()
          Get the underlying provider for raw (non-interpolated) transforms.
 Transform getTransform(AbsoluteDate date)
          Get the Transform corresponding to specified date.
 Transform getTransform(AbsoluteDate date, boolean computeSpinDerivatives)
          Get the Transform corresponding to specified date.
 Transform getTransform(AbsoluteDate date, FramesConfiguration config)
          Get the Transform corresponding to specified date.
 Transform getTransform(AbsoluteDate date, FramesConfiguration config, boolean computeSpinDerivatives)
          Get the Transform corresponding to specified date.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InterpolatingTransformProvider

public InterpolatingTransformProvider(TransformProvider rawProvider,
                                      boolean useVelocities,
                                      boolean useRotationRates,
                                      AbsoluteDate earliest,
                                      AbsoluteDate latest,
                                      int gridPoints,
                                      double step,
                                      int maxSlots,
                                      double maxSpan,
                                      double newSlotInterval)
Simple constructor.

Parameters:
rawProvider - provider for raw (non-interpolated) transforms
useVelocities - if true, use sample transforms velocities, otherwise ignore them and use only positions
useRotationRates - if true, use sample points rotation rates, otherwise ignore them and use only rotations
earliest - earliest supported date
latest - latest supported date
gridPoints - number of interpolation grid points
step - grid points time step
maxSlots - maximum number of independent cached time slots in the time-stamped cache
maxSpan - maximum duration span in seconds of one slot in the time-stamped cache
newSlotInterval - time interval above which a new slot is created in the time-stamped cache

InterpolatingTransformProvider

public InterpolatingTransformProvider(TransformProvider rawProvider,
                                      boolean useVelocities,
                                      boolean useRotationRates,
                                      AbsoluteDate earliest,
                                      AbsoluteDate latest,
                                      int gridPoints,
                                      double step,
                                      int maxSlots,
                                      double maxSpan,
                                      double newSlotInterval,
                                      boolean computeSpinDerivatives)
Simple constructor.

Parameters:
rawProvider - provider for raw (non-interpolated) transforms
useVelocities - if true, use sample transforms velocities, otherwise ignore them and use only positions
useRotationRates - if true, use sample points rotation rates, otherwise ignore them and use only rotations
earliest - earliest supported date
latest - latest supported date
gridPoints - number of interpolation grid points
step - grid points time step
maxSlots - maximum number of independent cached time slots in the time-stamped cache
maxSpan - maximum duration span in seconds of one slot in the time-stamped cache
newSlotInterval - time interval above which a new slot is created
computeSpinDerivatives - spin derivatives are computed : true, or not : false in the time-stamped cache
Method Detail

getRawProvider

public TransformProvider getRawProvider()
Get the underlying provider for raw (non-interpolated) transforms.

Returns:
provider for raw (non-interpolated) transforms

getTransform

public Transform getTransform(AbsoluteDate date)
                       throws OrekitException
Get the Transform corresponding to specified date.

Warning: spin derivative is not computed.

Specified by:
getTransform in interface TransformProvider
Parameters:
date - current date
Returns:
transform at specified date
Throws:
OrekitException - if transform cannot be computed at given date

getTransform

public Transform getTransform(AbsoluteDate date,
                              FramesConfiguration config)
                       throws OrekitException
Get the Transform corresponding to specified date.

Warning: spin derivative is not computed.

Specified by:
getTransform in interface TransformProvider
Parameters:
date - current date
config - frames configuration to use
Returns:
transform at specified date
Throws:
OrekitException - if transform cannot be computed at given date

getTransform

public Transform getTransform(AbsoluteDate date,
                              boolean computeSpinDerivatives)
                       throws OrekitException
Get the Transform corresponding to specified date.

Specified by:
getTransform in interface TransformProvider
Parameters:
date - current date
computeSpinDerivatives - true if spin derivatives should be computed. If not, spin derivative is set to null
Returns:
transform at specified date
Throws:
OrekitException - if transform cannot be computed at given date

getTransform

public Transform getTransform(AbsoluteDate date,
                              FramesConfiguration config,
                              boolean computeSpinDerivatives)
                       throws OrekitException
Get the Transform corresponding to specified date.

Specified by:
getTransform in interface TransformProvider
Parameters:
date - current date
config - frames configuration to use
computeSpinDerivatives - true if spin derivatives should be computed. If not, spin derivative is set to null
Returns:
transform at specified date
Throws:
OrekitException - if transform cannot be computed at given date


Copyright © 2016 CNES. All Rights Reserved.