Class PythonFieldTimeInterpolator<T extends FieldTimeInterpolator<T,KK> & FieldTimeStamped<KK>,KK extends CalculusFieldElement<KK>>
- java.lang.Object
-
- org.orekit.time.PythonFieldTimeInterpolator<T,KK>
-
- All Implemented Interfaces:
FieldTimeInterpolator<T,KK>
public class PythonFieldTimeInterpolator<T extends FieldTimeInterpolator<T,KK> & FieldTimeStamped<KK>,KK extends CalculusFieldElement<KK>> extends Object implements FieldTimeInterpolator<T,KK>
-
-
Field Summary
Fields Modifier and Type Field Description protected long
pythonObject
Part of JCC Python interface to object
-
Constructor Summary
Constructors Constructor Description PythonFieldTimeInterpolator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
finalize()
double
getExtrapolationThreshold()
Get the extrapolation threshold.int
getNbInterpolationPoints()
Get the number of interpolation points.List<FieldTimeInterpolator<? extends FieldTimeStamped<KK>,KK>>
getSubInterpolators()
Get all lowest level interpolators implemented by this instance, otherwise return a list with this instance only.T
interpolate(FieldAbsoluteDate<KK> interpolationDate, Collection<T> sample)
Get an interpolated instance.T
interpolate(FieldAbsoluteDate<KK> date, Stream<T> sample)
Get an interpolated instance.void
pythonDecRef()
long
pythonExtension()
void
pythonExtension(long pythonObject)
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.time.FieldTimeInterpolator
interpolate, interpolate
-
-
-
-
Method Detail
-
pythonExtension
public void pythonExtension(long pythonObject)
-
pythonExtension
public long pythonExtension()
-
finalize
public void finalize() throws Throwable
-
pythonDecRef
public void pythonDecRef()
-
interpolate
public T interpolate(FieldAbsoluteDate<KK> date, Stream<T> sample)
Get an interpolated instance.Note that the state of the current instance may not be used in the interpolation process, only its type and non interpolable fields are used (for example central attraction coefficient or frame when interpolating orbits). The interpolable fields taken into account are taken only from the states of the sample points. So if the state of the instance must be used, the instance should be included in the sample points.
Note that this method is designed for small samples only (say up to about 10-20 points) so it can be implemented using polynomial interpolation (typically Hermite interpolation). Using too much points may induce Runge's phenomenon and numerical problems (including NaN appearing).
- Specified by:
interpolate
in interfaceFieldTimeInterpolator<T extends FieldTimeInterpolator<T,KK> & FieldTimeStamped<KK>,KK extends CalculusFieldElement<KK>>
- Parameters:
date
- interpolation datesample
- sample points on which interpolation should be done- Returns:
- a new instance, interpolated at specified date
- See Also:
TimeStamped
,AbsoluteDate
-
interpolate
public T interpolate(FieldAbsoluteDate<KK> interpolationDate, Collection<T> sample)
Description copied from interface:FieldTimeInterpolator
Get an interpolated instance.- Specified by:
interpolate
in interfaceFieldTimeInterpolator<T extends FieldTimeInterpolator<T,KK> & FieldTimeStamped<KK>,KK extends CalculusFieldElement<KK>>
- Parameters:
interpolationDate
- interpolation datesample
- time stamped sample- Returns:
- a new instance, interpolated at specified date
-
getSubInterpolators
public List<FieldTimeInterpolator<? extends FieldTimeStamped<KK>,KK>> getSubInterpolators()
Description copied from interface:FieldTimeInterpolator
Get all lowest level interpolators implemented by this instance, otherwise return a list with this instance only.An example would be the spacecraft state interpolator which can use different interpolators for each of its attributes (orbit, absolute position-velocity-acceleration coordinates, mass...). In this case, it would return the list of all of these interpolators (or possibly all of their sub-interpolators if they were to use multiple interpolators themselves).
- Specified by:
getSubInterpolators
in interfaceFieldTimeInterpolator<T extends FieldTimeInterpolator<T,KK> & FieldTimeStamped<KK>,KK extends CalculusFieldElement<KK>>
- Returns:
- list of interpolators
-
getNbInterpolationPoints
public int getNbInterpolationPoints()
Description copied from interface:FieldTimeInterpolator
Get the number of interpolation points.- Specified by:
getNbInterpolationPoints
in interfaceFieldTimeInterpolator<T extends FieldTimeInterpolator<T,KK> & FieldTimeStamped<KK>,KK extends CalculusFieldElement<KK>>
- Returns:
- the number of interpolation points.
-
getExtrapolationThreshold
public double getExtrapolationThreshold()
Description copied from interface:FieldTimeInterpolator
Get the extrapolation threshold.- Specified by:
getExtrapolationThreshold
in interfaceFieldTimeInterpolator<T extends FieldTimeInterpolator<T,KK> & FieldTimeStamped<KK>,KK extends CalculusFieldElement<KK>>
- Returns:
- get the extrapolation threshold.
-
-