public abstract class StateMapper extends Object
SpacecraftState
instances.Modifier | Constructor and Description |
---|---|
protected |
StateMapper(AbsoluteDate referenceDate,
double mu,
OrbitType orbitType,
PositionAngle positionAngleType,
AttitudeProvider attitudeProvider,
Frame frame)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
AttitudeProvider |
getAttitudeProvider()
Get the attitude provider.
|
Frame |
getFrame()
Get the inertial frame.
|
double |
getMu()
Get the central attraction coefficient μ.
|
OrbitType |
getOrbitType()
Get propagation parameter type.
|
PositionAngle |
getPositionAngleType()
Get propagation parameter type.
|
AbsoluteDate |
getReferenceDate()
Get reference date.
|
abstract SpacecraftState |
mapArrayToState(AbsoluteDate date,
double[] y,
double[] yDot,
PropagationType type)
Map the raw double components to a spacecraft state.
|
SpacecraftState |
mapArrayToState(double t,
double[] y,
double[] yDot,
PropagationType type)
Map the raw double components to a spacecraft state.
|
double |
mapDateToDouble(AbsoluteDate date)
Map a date to a raw double time offset.
|
AbsoluteDate |
mapDoubleToDate(double t)
Map the raw double time offset to a date.
|
AbsoluteDate |
mapDoubleToDate(double t,
AbsoluteDate date)
Map the raw double time offset to a date.
|
abstract void |
mapStateToArray(SpacecraftState state,
double[] y,
double[] yDot)
Map a spacecraft state to raw double components.
|
void |
setAttitudeProvider(AttitudeProvider attitudeProvider)
Set the attitude provider.
|
protected StateMapper(AbsoluteDate referenceDate, double mu, OrbitType orbitType, PositionAngle positionAngleType, AttitudeProvider attitudeProvider, Frame frame)
The position parameter type is meaningful only if propagation orbit type
support it. As an example, it is not meaningful for propagation
in Cartesian
parameters.
referenceDate
- reference datemu
- central attraction coefficient (m³/s²)orbitType
- orbit type to use for mapping, null for
propagating using AbsolutePVCoordinates
rather than Orbit
positionAngleType
- angle type to use for propagationattitudeProvider
- attitude providerframe
- inertial framepublic AbsoluteDate getReferenceDate()
public OrbitType getOrbitType()
public PositionAngle getPositionAngleType()
public double getMu()
public Frame getFrame()
public AttitudeProvider getAttitudeProvider()
public void setAttitudeProvider(AttitudeProvider attitudeProvider)
attitudeProvider
- the provider to setpublic AbsoluteDate mapDoubleToDate(double t)
t
- date offsetpublic AbsoluteDate mapDoubleToDate(double t, AbsoluteDate date)
t
- date offsetdate
- The expected date.date
if it is the same time as t
to within the
lower precision of the latter. Otherwise a new date is returned that
corresponds to time t
.public double mapDateToDouble(AbsoluteDate date)
date
- datepublic SpacecraftState mapArrayToState(double t, double[] y, double[] yDot, PropagationType type)
t
- date offsety
- state componentsyDot
- time derivatives of the state components (null if unknown, in which case Keplerian motion is assumed)type
- type of the elements used to build the state (mean or osculating).public abstract SpacecraftState mapArrayToState(AbsoluteDate date, double[] y, double[] yDot, PropagationType type)
date
- of the state componentsy
- state componentsyDot
- time derivatives of the state components (null if unknown, in which case Keplerian motion is assumed)type
- type of the elements used to build the state (mean or osculating).public abstract void mapStateToArray(SpacecraftState state, double[] y, double[] yDot)
state
- state to mapy
- placeholder where to put the componentsyDot
- placeholder where to put the components derivativesCopyright © 2002-2022 CS GROUP. All rights reserved.