public class InterpolatingTransformProvider extends Object implements TransformProvider
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.
TimeStampedCache
,
Serialized FormConstructor and Description |
---|
InterpolatingTransformProvider(TransformProvider rawProviderIn,
boolean useVelocitiesIn,
boolean useRotationRatesIn,
AbsoluteDate earliestIn,
AbsoluteDate latestIn,
int gridPoints,
double stepIn,
int maxSlots,
double maxSpan,
double newSlotInterval)
Simple constructor.
|
InterpolatingTransformProvider(TransformProvider rawProviderIn,
boolean useVelocitiesIn,
boolean useRotationRatesIn,
AbsoluteDate earliestIn,
AbsoluteDate latestIn,
int gridPoints,
double stepIn,
int maxSlots,
double maxSpan,
double newSlotInterval,
boolean computeSpinDerivatives)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
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. |
public InterpolatingTransformProvider(TransformProvider rawProviderIn, boolean useVelocitiesIn, boolean useRotationRatesIn, AbsoluteDate earliestIn, AbsoluteDate latestIn, int gridPoints, double stepIn, int maxSlots, double maxSpan, double newSlotInterval)
rawProviderIn
- provider for raw (non-interpolated) transformsuseVelocitiesIn
- if true, use sample transforms velocities,
otherwise ignore them and use only positionsuseRotationRatesIn
- if true, use sample points rotation rates,
otherwise ignore them and use only rotationsearliestIn
- earliest supported datelatestIn
- latest supported dategridPoints
- number of interpolation grid pointsstepIn
- grid points time stepmaxSlots
- 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
public InterpolatingTransformProvider(TransformProvider rawProviderIn, boolean useVelocitiesIn, boolean useRotationRatesIn, AbsoluteDate earliestIn, AbsoluteDate latestIn, int gridPoints, double stepIn, int maxSlots, double maxSpan, double newSlotInterval, boolean computeSpinDerivatives)
rawProviderIn
- provider for raw (non-interpolated) transformsuseVelocitiesIn
- if true, use sample transforms velocities,
otherwise ignore them and use only positionsuseRotationRatesIn
- if true, use sample points rotation rates,
otherwise ignore them and use only rotationsearliestIn
- earliest supported datelatestIn
- latest supported dategridPoints
- number of interpolation grid pointsstepIn
- grid points time stepmaxSlots
- 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 createdcomputeSpinDerivatives
- spin derivatives are computed : true, or not : false
in the time-stamped cache
public TransformProvider getRawProvider()
public Transform getTransform(AbsoluteDate date) throws PatriusException
Transform
corresponding to specified date.
Warning: spin derivative is not computed.
getTransform
in interface TransformProvider
date
- current datePatriusException
- if transform cannot be computed at given datepublic Transform getTransform(AbsoluteDate date, FramesConfiguration config) throws PatriusException
Transform
corresponding to specified date.
Warning: spin derivative is not computed.
getTransform
in interface TransformProvider
date
- current dateconfig
- frames configuration to usePatriusException
- if transform cannot be computed at given datepublic Transform getTransform(AbsoluteDate date, boolean computeSpinDerivatives) throws PatriusException
Transform
corresponding to specified date.getTransform
in interface TransformProvider
date
- current datecomputeSpinDerivatives
- true if spin derivatives should be computed. If not, spin derivative is set to nullPatriusException
- if transform cannot be computed at given datepublic Transform getTransform(AbsoluteDate date, FramesConfiguration config, boolean computeSpinDerivatives) throws PatriusException
Transform
corresponding to specified date.getTransform
in interface TransformProvider
date
- current dateconfig
- frames configuration to usecomputeSpinDerivatives
- true if spin derivatives should be computed. If not, spin derivative is set to nullPatriusException
- if transform cannot be computed at given dateCopyright © 2019 CNES. All rights reserved.