|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.orekit.propagation.events.AbstractDetector
fr.cnes.sirius.patrius.events.CentralBodyMaskCircularFOVDetector
public class CentralBodyMaskCircularFOVDetector
Finder for target entry/exit events with respect to a satellite sensor FOV defined by a vector3D giving the direction in satellite frame and taking into account masking from the central body
This class handles fields of view with a circular boundary.
This class handles central body as a ellipsoid
.
The default implementation behaviour is to stop
propagation when the target is in the field of view outside of eclipse. This can be changed by using one of the
provided constructors.
Propagator.addEventDetector(org.orekit.propagation.events.EventDetector)
,
GeometricBodyShape
,
IEllipsoid
,
EclipseDetector
,
CircularFieldOfViewDetector
,
Serialized FormNested Class Summary |
---|
Nested classes/interfaces inherited from interface org.orekit.propagation.events.EventDetector |
---|
EventDetector.Action |
Field Summary |
---|
Fields inherited from class org.orekit.propagation.events.AbstractDetector |
---|
DEFAULT_MAXCHECK, DEFAULT_THRESHOLD |
Fields inherited from interface org.orekit.propagation.events.EventDetector |
---|
DECREASING, INCREASING, INCREASING_DECREASING |
Constructor Summary | |
---|---|
CentralBodyMaskCircularFOVDetector(PVCoordinatesProvider occultedBody,
double occultedBodyRadius,
GeometricBodyShape occultingBody,
boolean totalEclipseFlag,
Vector3D center,
double halfAperture)
Constructor with default maxcheck and default threshold, creating a circularFOVDetector and an EllipsoidEclipseDetector |
|
CentralBodyMaskCircularFOVDetector(PVCoordinatesProvider occultedBody,
double occultedBodyRadius,
GeometricBodyShape occultingBody,
boolean totalEclipseFlag,
Vector3D center,
double halfAperture,
double maxCheck,
double threshold)
Constructor with user maxcheck and threshold creating a circularFOVDetector and an EllipsoidEclipseDetector |
|
CentralBodyMaskCircularFOVDetector(PVCoordinatesProvider occultedBody,
double occultedBodyRadius,
GeometricBodyShape occultingBody,
boolean totalEclipseFlag,
Vector3D center,
double halfAperture,
double maxCheck,
double threshold,
EventDetector.Action action)
Constructor with user maxcheck and threshold creating a circularFOVDetector and an EllipsoidEclipseDetector |
|
CentralBodyMaskCircularFOVDetector(PVCoordinatesProvider occultedBody,
double occultedBodyRadius,
GeometricBodyShape occultingBody,
boolean totalEclipseFlag,
Vector3D center,
double halfAperture,
double maxCheck,
double threshold,
EventDetector.Action action,
boolean remove)
Constructor with user maxcheck and threshold creating a circularFOVDetector and an EllipsoidEclipseDetector |
Method Summary | |
---|---|
EventDetector.Action |
eventOccurred(SpacecraftState s,
boolean increasing,
boolean forward)
Handle a target in field of view outside eclipse reaching event and choose what to do next. |
double |
g(SpacecraftState s)
The switching function is the minimum value between the eclipse detector g function and the circularFOVDetector |
CircularFieldOfViewDetector |
getCircularFOVDetector()
Get the circular FOV detector. |
EclipseDetector |
getEclipseDetector()
Get the eclipse detector. |
boolean |
shouldBeRemoved()
This method is called after EventDetector.eventOccurred(org.orekit.propagation.SpacecraftState, boolean, boolean) has been triggered. |
Methods inherited from class org.orekit.propagation.events.AbstractDetector |
---|
getMaxCheckInterval, getMaxIterationCount, getSlopeSelection, getThreshold, init, resetState |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public CentralBodyMaskCircularFOVDetector(PVCoordinatesProvider occultedBody, double occultedBodyRadius, GeometricBodyShape occultingBody, boolean totalEclipseFlag, Vector3D center, double halfAperture, double maxCheck, double threshold)
The default implementation behaviour is to stop
propagation when the target is visible.
occultedBody
- the target to detect in field of view outside of eclipseoccultedBodyRadius
- the radius of this targetoccultingBody
- the ellipsoid body shape of the central body potentially occulting the targettotalEclipseFlag
- true to detect only when the target is fully visible, false to detect also when the target is
partially visiblecenter
- the sight axis direction of the field of view in satellite framehalfAperture
- the half aperture of the field of viewmaxCheck
- maximum check (see AbstractDetector
)threshold
- threshold (see AbstractDetector
)EclipseDetector
,
CircularFieldOfViewDetector
public CentralBodyMaskCircularFOVDetector(PVCoordinatesProvider occultedBody, double occultedBodyRadius, GeometricBodyShape occultingBody, boolean totalEclipseFlag, Vector3D center, double halfAperture, double maxCheck, double threshold, EventDetector.Action action)
occultedBody
- the target to detect in field of view outside of eclipseoccultedBodyRadius
- the radius of this targetoccultingBody
- the ellipsoid body shape of the central body potentially occulting the targettotalEclipseFlag
- true to detect only when the target is fully visible, false to detect also when the target is
partially visiblecenter
- the sight axis direction of the field of view in satellite framehalfAperture
- the half aperture of the field of viewmaxCheck
- maximum check (see AbstractDetector
)threshold
- threshold (see AbstractDetector
)action
- action performed at circularFOV detectionEclipseDetector
,
CircularFieldOfViewDetector
public CentralBodyMaskCircularFOVDetector(PVCoordinatesProvider occultedBody, double occultedBodyRadius, GeometricBodyShape occultingBody, boolean totalEclipseFlag, Vector3D center, double halfAperture, double maxCheck, double threshold, EventDetector.Action action, boolean remove)
occultedBody
- the target to detect in field of view outside of eclipseoccultedBodyRadius
- the radius of this targetoccultingBody
- the ellipsoid body shape of the central body potentially occulting the targettotalEclipseFlag
- true to detect only when the target is fully visible, false to detect also when the target is
partially visiblecenter
- the sight axis direction of the field of view in satellite framehalfAperture
- the half aperture of the field of viewmaxCheck
- maximum check (see AbstractDetector
)threshold
- threshold (see AbstractDetector
)action
- action performed at circularFOV detectionremove
- if detector should be removedEclipseDetector
,
CircularFieldOfViewDetector
public CentralBodyMaskCircularFOVDetector(PVCoordinatesProvider occultedBody, double occultedBodyRadius, GeometricBodyShape occultingBody, boolean totalEclipseFlag, Vector3D center, double halfAperture)
occultedBody
- the target to detect in field of view outside of eclipseoccultedBodyRadius
- the radius of this targetoccultingBody
- the ellipsoid body shape of the central body potentially occulting the targettotalEclipseFlag
- true to detect only when the target is fully visible, false to detect also when the target is
partially visiblecenter
- the sight axis direction of the field of view in satellite framehalfAperture
- the half aperture of the field of viewEclipseDetector
,
CircularFieldOfViewDetector
Method Detail |
---|
public boolean shouldBeRemoved()
EventDetector.eventOccurred(org.orekit.propagation.SpacecraftState, boolean, boolean)
has been triggered.
It returns true if the current detector should be removed after first event detection.
WARNING: this method can be called only once a event has been triggered. Before,
the value is not available.
shouldBeRemoved
in interface EventDetector
shouldBeRemoved
in class AbstractDetector
public EventDetector.Action eventOccurred(SpacecraftState s, boolean increasing, boolean forward) throws OrekitException
eventOccurred
in interface EventDetector
eventOccurred
in class AbstractDetector
s
- the current state of propagationincreasing
- if true, the value of the switching function increases
when times increases around eventforward
- if true, the integration variable (time) increases during integration.
OrekitException
- if some specific error occurspublic double g(SpacecraftState s) throws OrekitException
g
in interface EventDetector
g
in class AbstractDetector
s
- the current state of propagation
OrekitException
- if some specific error occursAbstractDetector.g(org.orekit.propagation.SpacecraftState)
public EclipseDetector getEclipseDetector()
public CircularFieldOfViewDetector getCircularFOVDetector()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |