public class EphemerisPvHermite extends AbstractBoundedPVProvider
This class extends AbstractBoundedPVProvider
which implements
PVCoordinatesProvider
and so provides a position velocity for a
given date. The provided position velocity is based on a Hermite interpolation in a given position velocity
ephemeris.
The interpolation extracts position, velocity and eventually acceleration from the ephemeris depending on the number of sample points and the date to interpolate. Points extraction is based on an implementation of the ISearchIndex interface. This implementation should be based on a table of duration created from the date table with the duration = 0 at the first index.
polyOrder, tDate, tPVCoord
Constructor and Description |
---|
EphemerisPvHermite(PVCoordinates[] tabPV,
int samples,
Vector3D[] tabAcc,
Frame frame,
AbsoluteDate[] tabDate,
ISearchIndex algo)
Creates an instance of EphemerisPvHermite.
|
EphemerisPvHermite(PVCoordinates[] tabPV,
Vector3D[] tabAcc,
Frame frame,
AbsoluteDate[] tabDate,
ISearchIndex algo)
Creates an instance of EphemerisPvHermite with default number of samples = 2.
|
EphemerisPvHermite(SpacecraftState[] tabState,
int samples,
Vector3D[] tabAcc,
ISearchIndex algo)
Creates an instance of EphemerisPvHermite from a SpacecraftState table
|
EphemerisPvHermite(SpacecraftState[] tabState,
Vector3D[] tabAcc,
ISearchIndex algo)
Creates an instance of EphemerisPvHermite from a SpacecraftState table
with default number of samples = 2.
|
Modifier and Type | Method and Description |
---|---|
PVCoordinates |
getPVCoordinates(AbsoluteDate date,
Frame frame)
Get the
PVCoordinates of the body in the selected frame. |
checkBounds, getDateRef, getFrame, getMaxDate, getMinDate, getNativeFrame, getPreviousIndex, getSearchIndex, indexValidity, setPreviousIndex
public EphemerisPvHermite(PVCoordinates[] tabPV, int samples, Vector3D[] tabAcc, Frame frame, AbsoluteDate[] tabDate, ISearchIndex algo)
tabPV
- position velocity coordinates tablesamples
- number of samples used for interpolation. It must be even.tabAcc
- acceleration table (can be null)frame
- coordinates expression frametabDate
- table of dates for each position velocityalgo
- class to find the nearest date index from a given date in the date table
(If null, algo will be, by default, a BinarySearchIndexOpenClosed
based on a table of duration
since the first date of the dates table)public EphemerisPvHermite(SpacecraftState[] tabState, int samples, Vector3D[] tabAcc, ISearchIndex algo)
tabState
- SpacecraftState tablesamples
- number of samples used for interpolation. It must be even.tabAcc
- Acceleration table (can be null)algo
- class to find the nearest date index from a given date
(If null, algo will be BinarySearchIndexOpenClosed
by default
based on a table of duration since the first date of the dates table)IllegalArgumentException
- spacecraftState table should contains elements,
and if tabacc not null should be of the same sizepublic EphemerisPvHermite(PVCoordinates[] tabPV, Vector3D[] tabAcc, Frame frame, AbsoluteDate[] tabDate, ISearchIndex algo)
tabPV
- position velocity coordinates tabletabAcc
- acceleration table (can be null)frame
- coordinates expression frametabDate
- table of dates for each position velocityalgo
- class to find the nearest date index from a given date in the date table
(If null, algo will be, by default, a BinarySearchIndexOpenClosed
based on a table of duration
since the first date of the dates table)public EphemerisPvHermite(SpacecraftState[] tabState, Vector3D[] tabAcc, ISearchIndex algo)
tabState
- SpacecraftState tabletabAcc
- Acceleration table (can be null)algo
- class to find the nearest date index from a given date
(If null, algo will be BinarySearchIndexOpenClosed
by default
based on a table of duration since the first date of the dates table)IllegalArgumentException
- spacecraftState table should contains elements,
and if tabacc not null should be of the same sizepublic PVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame) throws PatriusException
PVCoordinates
of the body in the selected frame.date
- current dateframe
- the frame where to define the positionPatriusException
- if position cannot be computed in given frameCopyright © 2023 CNES. All rights reserved.