public class SurfaceDistanceDetector extends DistanceDetector
The default implementation behaviour is to stop propagation when the distance is
reached. This can be changed by using provided constructors.
DistanceDetector},
Serialized Form| Modifier and Type | Class and Description |
|---|---|
static class |
SurfaceDistanceDetector.BodyDistanceType
Body distance type.
|
EventDetector.Actionbody, DECREASING, distance, INCREASING, INCREASING_DECREASINGactionAtEntry, actionAtExit, DEFAULT_MAXCHECK, DEFAULT_MAXITER, DEFAULT_THRESHOLD, removeAtEntry, removeAtExit, shouldBeRemovedFlag| Constructor and Description |
|---|
SurfaceDistanceDetector(CelestialBody bodyIn,
double surfaceDistanceIn,
SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn)
Constructor for a DistanceDetector instance.
|
SurfaceDistanceDetector(CelestialBody bodyIn,
double surfaceDistanceIn,
SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn,
double maxCheck,
double threshold)
Constructor for a DistanceDetector instance with additional maxCheck and threshold parameters
The default implementation behavior is to
stop propagation when the distance is
reached. |
SurfaceDistanceDetector(CelestialBody bodyIn,
double surfaceDistanceIn,
SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn,
double maxCheck,
double threshold,
EventDetector.Action actionIncreasing,
EventDetector.Action actionDecreasing)
Constructor for a DistanceDetector instance with complementary parameters.
|
SurfaceDistanceDetector(CelestialBody bodyIn,
double surfaceDistanceIn,
SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn,
double maxCheck,
double threshold,
EventDetector.Action actionIncreasing,
EventDetector.Action actionDecreasing,
boolean removeIncreasing,
boolean removeDecreasing)
Constructor for a DistanceDetector instance with complementary parameters.
|
SurfaceDistanceDetector(CelestialBody bodyIn,
double surfaceDistanceIn,
SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn,
int slopeSelection,
double maxCheck,
double threshold,
EventDetector.Action action,
boolean remove)
Build a new altitude detector with slope selection.
|
| Modifier and Type | Method and Description |
|---|---|
EventDetector |
copy()
A copy of the detector.
|
double |
g(SpacecraftState state)
Compute the value of the switching function.
|
CelestialBody |
getBody()
Getter for the body.
|
SurfaceDistanceDetector.BodyDistanceType |
getBodyDistanceType()
Getter for the chosen body distance type for the detector.
|
Frame |
getBodyFixedFrame()
Getter for the body fixed frame.
|
BodyShape |
getBodyShape()
Getter for the body shape.
|
eventOccurred, getDistancefilterEvent, getActionAtEntry, getActionAtExit, getMaxCheckInterval, getMaxIterationCount, getSlopeSelection, getThreshold, init, isRemoveAtEntry, isRemoveAtExit, logEventsOverTimeInterval, resetState, setMaxCheckInterval, setMaxIter, shouldBeRemovedpublic SurfaceDistanceDetector(CelestialBody bodyIn, double surfaceDistanceIn, SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn)
This simple constructor takes default values for maximal checking interval (AbstractDetector.DEFAULT_MAXCHECK) and
convergence threshold (AbstractDetector.DEFAULT_THRESHOLD).
The default implementation behavior is to stop propagation when the distance is
reached.
The surfaceDistanceIn parameter must be positive.
bodyIn - The body whose distance is watchedsurfaceDistanceIn - Distance triggering the event (m)bodyDistanceTypeIn - Body distance typeIllegalArgumentException - if the distance is negativepublic SurfaceDistanceDetector(CelestialBody bodyIn, double surfaceDistanceIn, SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn, double maxCheck, double threshold)
The default implementation behavior is to stop propagation when the distance is
reached.
bodyIn - The body whose distance is watchedsurfaceDistanceIn - Distance triggering the event (m)bodyDistanceTypeIn - Body distance typemaxCheck - Maximal checking interval (s)threshold - Convergence threshold (s)IllegalArgumentException - if the distance is negativepublic SurfaceDistanceDetector(CelestialBody bodyIn, double surfaceDistanceIn, SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn, double maxCheck, double threshold, EventDetector.Action actionIncreasing, EventDetector.Action actionDecreasing)
bodyIn - The body whose distance is watchedsurfaceDistanceIn - Distance triggering the event (m)bodyDistanceTypeIn - Body distance typemaxCheck - Maximal checking interval (s)threshold - Convergence threshold (s)actionIncreasing - Action performed at distance detection when distance is increasingactionDecreasing - Action performed at distance detection when distance is decreasingIllegalArgumentException - if the distance is negativepublic SurfaceDistanceDetector(CelestialBody bodyIn, double surfaceDistanceIn, SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn, double maxCheck, double threshold, EventDetector.Action actionIncreasing, EventDetector.Action actionDecreasing, boolean removeIncreasing, boolean removeDecreasing)
bodyIn - The body whose distance is watchedsurfaceDistanceIn - Distance triggering the event (m)bodyDistanceTypeIn - Body distance typemaxCheck - Maximal checking interval (s)threshold - Convergence threshold (s)actionIncreasing - Action performed at distance detection when distance is increasingactionDecreasing - Action performed at distance detection when distance is decreasingremoveIncreasing - True if detector should be removed at increasing distance detectionremoveDecreasing - True if detector should be removed at decreasing distance detectionIllegalArgumentException - if the distance is negativepublic SurfaceDistanceDetector(CelestialBody bodyIn, double surfaceDistanceIn, SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn, int slopeSelection, double maxCheck, double threshold, EventDetector.Action action, boolean remove)
The maximal interval between altitude checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
bodyIn - The body whose distance is watchedsurfaceDistanceIn - Distance triggering the event (m)bodyDistanceTypeIn - Body distance typeslopeSelection - The g-function slope selection (0,1 or 2)maxCheck - Maximal checking interval (s)threshold - Convergence threshold (s)action - Action performed at distance detectionremove - True if detector should be removed at distance detectionpublic double g(SpacecraftState state) throws PatriusException
g in interface EventDetectorg in class DistanceDetectorstate - the current state information: date, kinematics, attitude for forces and events
computation, mass provider, and additional statesPatriusException - if some specific error occurs(fr.cnes.sirius.patrius.propagation.SpacecraftState)public CelestialBody getBody()
getBody in class DistanceDetectorpublic SurfaceDistanceDetector.BodyDistanceType getBodyDistanceType()
public BodyShape getBodyShape()
public Frame getBodyFixedFrame()
public EventDetector copy()
The following attributes are not deeply copied:
PVCoordinatesProviderThe following attributes are not deeply copied:
CelestialBodycopy in interface EventDetectorcopy in class DistanceDetectorCopyright © 2025 CNES. All rights reserved.