Class InterpolatingTransformProvider

java.lang.Object
org.orekit.frames.InterpolatingTransformProvider
All Implemented Interfaces:
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:
  • Constructor Details

    • InterpolatingTransformProvider

      public InterpolatingTransformProvider(TransformProvider rawProvider, CartesianDerivativesFilter cFilter, AngularDerivativesFilter aFilter, int gridPoints, double step, int maxSlots, double maxSpan, double newSlotInterval)
      Simple constructor.
      Parameters:
      rawProvider - provider for raw (non-interpolated) transforms
      cFilter - filter for derivatives from the sample to use in interpolation
      aFilter - filter for derivatives from the sample to use in interpolation
      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
      Since:
      9.1
  • Method Details

    • getRawProvider

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

      public int getGridPoints()
      Get the number of interpolation grid points.
      Returns:
      number of interpolation grid points
    • getStep

      public double getStep()
      Get the grid points time step.
      Returns:
      grid points time step
    • getTransform

      public Transform getTransform(AbsoluteDate date)
      Get the Transform corresponding to specified date.
      Specified by:
      getTransform in interface TransformProvider
      Parameters:
      date - current date
      Returns:
      transform at specified date
    • getTransform

      public <T extends CalculusFieldElement<T>> FieldTransform<T> getTransform(FieldAbsoluteDate<T> date)
      Get the FieldTransform corresponding to specified date.
      Specified by:
      getTransform in interface TransformProvider
      Type Parameters:
      T - type of the field elements
      Parameters:
      date - current date
      Returns:
      transform at specified date