diff --git a/src/main/java/org/orekit/models/earth/PythonEarthShape.java b/src/main/java/org/orekit/models/earth/PythonEarthShape.java index 1b8908426b..35fd6dd98f 100644 --- a/src/main/java/org/orekit/models/earth/PythonEarthShape.java +++ b/src/main/java/org/orekit/models/earth/PythonEarthShape.java @@ -60,165 +60,42 @@ public void finalize() /** Part of JCC Python interface to object */ public native void pythonDecRef(); - /** - * Get the underlying ellipsoid model that defines latitude and longitude. If the - * height component of a {@link GeodeticPoint} is not needed, - * then using the ellipsoid will provide the quickest transformation. - * - * @return the reference ellipsoid. May be {@code this}, but never {@code null}. - */ + /** {@inheritDoc} */ @Override public native ReferenceEllipsoid getEllipsoid(); - /** - * Get body frame related to body shape. - * - * @return body frame related to body shape - */ + /** {@inheritDoc} */ @Override public native Frame getBodyFrame(); - /** - * Get the intersection point of a line with the surface of the body. - *
A line may have several intersection points with a closed - * surface (we consider the one point case as a degenerated two - * points case). The close parameter is used to select which of - * these points should be returned. The selected point is the one - * that is closest to the close point.
- * - * @param line test line (may intersect the body or not) - * @param close point used for intersections selection - * @param frame frame in which line is expressed - * @param date date of the line in given frame - * @return intersection point at altitude zero or null if the line does - * not intersect the surface - */ @Override public native GeodeticPoint getIntersectionPoint(Line line, Vector3D close, Frame frame, AbsoluteDate date); - /** - * Get the intersection point of a line with the surface of the body. - *A line may have several intersection points with a closed - * surface (we consider the one point case as a degenerated two - * points case). The close parameter is used to select which of - * these points should be returned. The selected point is the one - * that is closest to the close point.
- * - * @param line test line (may intersect the body or not) - * @param close point used for intersections selection - * @param frame frame in which line is expressed - * @param date date of the line in given frame - * @return intersection point at altitude zero or null if the line does - * not intersect the surface - * @since 9.0 - */ @Override - publicBy default, atmosphere is supposed to have a null - * velocity in the central body frame.
- * - * @param date current date - * @param position current position in frame - * @param frame the frame in which is defined the position - * @return velocity (m/s) (defined in the same frame as the position) - */ + /** {@inheritDoc} */ @Override public native Vector3D getVelocity(AbsoluteDate date, Vector3D position, Frame frame); - /** - * Get the inertial velocity of atmosphere molecules. - * Redirects to getVelocity_FFF(...) - * - * @param date current date - * @param position current position in frame - * @param frame the frame in which is defined the position - * @return velocity (m/s) (defined in the same frame as the position) - */ + /** {@inheritDoc} */ @Override - public- * This method is intended to be used for orbit determination issues. - * In that respect, if the elevation is below 0° the path delay will be equal to zero. - *
- * For individual use of the ionospheric model (i.e. not for orbit determination), another - * method signature can be implemented to compute the path delay for any elevation angle. - *
- * - * @param state spacecraft state - * @param baseFrame base frame associated with the station - * @param frequency frequency of the signal in Hz - * @param parameters ionospheric model parameters - * @return the path delay due to the ionosphere in m - */ + /** {@inheritDoc} */ @Override - public double pathDelay(SpacecraftState state, TopocentricFrame baseFrame, double frequency, double[] parameters) { - return this.pathDelay_STdd(state, baseFrame, frequency, parameters); - } - - public native double pathDelay_STdd(SpacecraftState state, TopocentricFrame baseFrame, double frequency, double[] parameters); - - + public native double pathDelay(SpacecraftState state, TopocentricFrame baseFrame, double frequency, double[] parameters); - - /** - * Calculates the ionospheric path delay for the signal path from a ground - * station to a satellite. - *- * This method is intended to be used for orbit determination issues. - * In that respect, if the elevation is below 0° the path delay will be equal to zero. - *
- * For individual use of the ionospheric model (i.e. not for orbit determination), another - * method signature can be implemented to compute the path delay for any elevation angle. - *
- * - * @param state spacecraft state - * @param baseFrame base frame associated with the station - * @param frequency frequency of the signal in Hz - * @param parameters ionospheric model parameters - * @return the path delay due to the ionosphere in m - */ + /** {@inheritDoc} */ @Override - public- * This generator can be used when the user needs fast random access to the orbit - * state at any time between the initial and target times. A typical example is the - * implementation of search and iterative algorithms that may navigate forward and - * backward inside the propagation range before finding their result even if the - * propagator used is integration-based and only goes from one initial time to one - * target time. - *
- *- * Beware that when used with integration-based propagators, the generator will - * store all intermediate results. It is therefore memory intensive - * for long integration-based ranges and high precision/short time steps. When - * used with analytical propagators, the generator only stores start/stop time - * and a reference to the analytical propagator itself to call it back as needed, - * so it is less memory intensive. - *
- *- * The returned ephemeris generator will be initially empty, it will be filled - * with propagation data when a subsequent call to either {@link #propagate(FieldAbsoluteDate) - * propagate(target)} or {@link #propagate(FieldAbsoluteDate, FieldAbsoluteDate) - * propagate(start, target)} is called. The proper way to use this method is - * therefore to do: - *
- *- * FieldEphemerisGenerator<T> generator = propagator.getEphemerisGenerator(); - * propagator.propagate(target); - * FieldBoundedPropagator<T> ephemeris = generator.getGeneratedEphemeris(); - *- * - * @return ephemeris generator - */ + /** {@inheritDoc} */ @Override public native FieldEphemerisGenerator
- * Managed states are states for which the propagators know how to compute - * its evolution. They correspond to additional states for which an - * {@link FieldAdditionalStateProvider additional state provider} has been registered - * by calling the {@link #addAdditionalStateProvider(FieldAdditionalStateProvider) - * addAdditionalStateProvider} method. If the propagator is an {@link - * FieldAbstractIntegratedPropagator integrator-based - * propagator}, the states for which a set of {@link - * FieldAdditionalEquations additional equations} has - * been registered by calling the {@link - * FieldAbstractIntegratedPropagator#addAdditionalEquations( - *FieldAdditionalEquations) addAdditionalEquations} - * method are also counted as managed additional states. - *
- *- * Additional states that are present in the {@link #getInitialState() initial state} - * but have no evolution method registered are not considered as managed states. - * These unmanaged additional states are not lost during propagation, though. Their - * value will simply be copied unchanged throughout propagation. - *
- * - * @param name name of the additional state - * @return true if the additional state is managed - */ + /** {@inheritDoc} */ @Override public native boolean isAdditionalStateManaged(String name); - /** - * Get all the names of all managed states. - * - * @return names of all managed states - */ + /** {@inheritDoc} */ @Override public native String[] getManagedAdditionalStates(); - /** - * Add an event detector. - * - * @param detector event detector to add - * @see #clearEventsDetectors() - * @see #getEventsDetectors() - */ + /** {@inheritDoc} */ @Override public native- * The propagation frame is the definition frame of the initial - * state, so this method should be called after this state has - * been set, otherwise it may return null. - *
- * - * @return frame in which the orbit is propagated - * @see #resetInitialState(FieldSpacecraftState) - */ + /** {@inheritDoc} */ @Override public native Frame getFrame(); - /** - * Propagate towards a target date. - *Simple propagators use only the target date as the specification for - * computing the propagated state. More feature rich propagators can consider - * other information and provide different operating modes or G-stop - * facilities to stop at pinpointed events occurrences. In these cases, the - * target date is only a hint, not a mandatory objective.
- * - * @param target target date towards which orbit state should be propagated - * @return propagated state - */ + /** {@inheritDoc} */ @Override public native FieldSpacecraftStateThose propagators use a start date and a target date to - * compute the propagated state. For propagators using event detection mechanism, - * if the provided start date is different from the initial state date, a first, - * simple propagation is performed, without processing any event computation. - * Then complete propagation is performed from start date to target date.
- * - * @param start start date from which orbit state should be propagated - * @param target target date to which orbit state should be propagated - * @return propagated state - */ + /** {@inheritDoc} */ @Override - public FieldSpacecraftStateThose propagators use a start date and a target date to - * compute the propagated state. For propagators using event detection mechanism, - * if the provided start date is different from the initial state date, a first, - * simple propagation is performed, without processing any event computation. - * Then complete propagation is performed from start date to target date.
- * - * @param start start date from which orbit state should be propagated - * @param target target date to which orbit state should be propagated - * @return propagated state - */ - public native FieldSpacecraftStateThis mode is used when the user needs to have some custom function called at the - * end of each finalized step during integration. The (master) propagator integration - * loop calls the (slave) application callback methods at each finalized step.
- * - * @param h fixed stepsize (s) - * @param handler handler called at the end of each finalized step - * @see #setSlaveMode() - * @see #setMasterMode(FieldOrekitStepHandler) - * @see #setEphemerisMode() - * @see #getMode() - * @see #MASTER_MODE - */ - public native void setMasterMode_TF(T h, FieldOrekitFixedStepHandler- * This generator can be used when the user needs fast random access to the orbit - * state at any time between the initial and target times. A typical example is the - * implementation of search and iterative algorithms that may navigate forward and - * backward inside the propagation range before finding their result even if the - * propagator used is integration-based and only goes from one initial time to one - * target time. - *
- *- * Beware that when used with integration-based propagators, the generator will - * store all intermediate results. It is therefore memory intensive - * for long integration-based ranges and high precision/short time steps. When - * used with analytical propagators, the generator only stores start/stop time - * and a reference to the analytical propagator itself to call it back as needed, - * so it is less memory intensive. - *
- *- * The returned ephemeris generator will be initially empty, it will be filled - * with propagation data when a subsequent call to either {@link #propagate(FieldAbsoluteDate) - * propagate(target)} or {@link #propagate(FieldAbsoluteDate, FieldAbsoluteDate) - * propagate(start, target)} is called. The proper way to use this method is - * therefore to do: - *
- *- * FieldEphemerisGenerator<T> generator = propagator.getEphemerisGenerator(); - * propagator.propagate(target); - * FieldBoundedPropagator<T> ephemeris = generator.getGeneratedEphemeris(); - *- * - * @return ephemeris generator - */ + /** {@inheritDoc} */ @Override public native FieldEphemerisGenerator
- * Managed states are states for which the propagators know how to compute - * its evolution. They correspond to additional states for which an - * {@link FieldAdditionalStateProvider additional state provider} has been registered - * by calling the {@link #addAdditionalStateProvider(FieldAdditionalStateProvider) - * addAdditionalStateProvider} method. If the propagator is an {@link - * FieldAbstractIntegratedPropagator integrator-based - * propagator}, the states for which a set of {@link - * FieldAdditionalEquations additional equations} has - * been registered by calling the {@link - * FieldAbstractIntegratedPropagator#addAdditionalEquations( - *FieldAdditionalEquations) addAdditionalEquations} - * method are also counted as managed additional states. - *
- *- * Additional states that are present in the {@link #getInitialState() initial state} - * but have no evolution method registered are not considered as managed states. - * These unmanaged additional states are not lost during propagation, though. Their - * value will simply be copied unchanged throughout propagation. - *
- * - * @param name name of the additional state - * @return true if the additional state is managed - */ + /** {@inheritDoc} */ @Override public native boolean isAdditionalStateManaged(String name); - /** - * Get all the names of all managed states. - * - * @return names of all managed states - */ + /** {@inheritDoc} */ @Override public native String[] getManagedAdditionalStates(); - /** - * Add an event detector. - * - * @param detector event detector to add - * @see #clearEventsDetectors() - * @see #getEventsDetectors() - */ + /** {@inheritDoc} */ @Override public native- * The propagation frame is the definition frame of the initial - * state, so this method should be called after this state has - * been set, otherwise it may return null. - *
- * - * @return frame in which the orbit is propagated - * @see #resetInitialState(FieldSpacecraftState) - */ + /** {@inheritDoc} */ @Override public native Frame getFrame(); - /** - * Propagate towards a target date. - *Simple propagators use only the target date as the specification for - * computing the propagated state. More feature rich propagators can consider - * other information and provide different operating modes or G-stop - * facilities to stop at pinpointed events occurrences. In these cases, the - * target date is only a hint, not a mandatory objective.
- * - * @param target target date towards which orbit state should be propagated - * @return propagated state - */ + /** {@inheritDoc} */ @Override public native FieldSpacecraftStateThose propagators use a start date and a target date to - * compute the propagated state. For propagators using event detection mechanism, - * if the provided start date is different from the initial state date, a first, - * simple propagation is performed, without processing any event computation. - * Then complete propagation is performed from start date to target date.
- * - * @param start start date from which orbit state should be propagated - * @param target target date to which orbit state should be propagated - * @return propagated state - */ + /** {@inheritDoc} */ @Override - public FieldSpacecraftStateThose propagators use a start date and a target date to - * compute the propagated state. For propagators using event detection mechanism, - * if the provided start date is different from the initial state date, a first, - * simple propagation is performed, without processing any event computation. - * Then complete propagation is performed from start date to target date.
- * - * @param start start date from which orbit state should be propagated - * @param target target date to which orbit state should be propagated - * @return propagated state - */ - public native FieldSpacecraftState- * This method aims at being called at the very beginning of a propagation. - *
- * - * @param auxiliaryElements auxiliary elements related to the current orbit - * @param type type of the elements used during the propagation - * @param parameters values of the force model parameters - * @return a list of objects that will hold short period terms (the objects - * are also retained by the force model, which will update them during propagation) - */ + /** {@inheritDoc} */ @Override public native List- * This method aims at being called at the very beginning of a propagation. - *
- * - * @param auxiliaryElements auxiliary elements related to the current orbit - * @param type type of the elements used during the propagation - * @param parameters values of the force model parameters - * @return a list of objects that will hold short period terms (the objects - * are also retained by the force model, which will update them during propagation) - */ - - public native- * Register an attitude provider that can be used by the force model. - *
- * - * @param provider the {@link AttitudeProvider} - */ + /** {@inheritDoc} */ @Override public native void registerAttitudeProvider(AttitudeProvider provider); - /** - * Update the short period terms. - *- * The {@link ShortPeriodTerms short period terms} that will be updated - * are the ones that were returned during the call to {@link - * #initializeShortPeriodTerms(AuxiliaryElements, PropagationType, double[])}. - *
- * - * @param parameters values of the force model parameters - * @param meanStates mean states information: date, kinematics, attitude - */ + /** {@inheritDoc} */ @Override public native void updateShortPeriodTerms(double[] parameters, SpacecraftState... meanStates); - /** - * Update the short period terms. - *- * The {@link ShortPeriodTerms short period terms} that will be updated - * are the ones that were returned during the call to {@link - * #initializeShortPeriodTerms(AuxiliaryElements, PropagationType, double[])}. - *
- * - * @param parameters values of the force model parameters - * @param meanStates mean states information: date, kinematics, attitude - */ - public native