public class DihedralFieldOfViewDetector extends AbstractDetector<DihedralFieldOfViewDetector>
This class finds dihedral field of view events (i.e. body entry and exit in FOV).
The default implementation behavior is to continue
propagation at entry and to stop
propagation
at exit. This can be changed by calling
AbstractDetector.withHandler(EventHandler)
after construction.
Propagator.addEventDetector(EventDetector)
,
CircularFieldOfViewDetector
,
Serialized FormDEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Constructor and Description |
---|
DihedralFieldOfViewDetector(double maxCheck,
PVCoordinatesProvider pvTarget,
Vector3D center,
Vector3D axis1,
double halfAperture1,
Vector3D axis2,
double halfAperture2)
Build a new instance.
|
Modifier and Type | Method and Description |
---|---|
protected DihedralFieldOfViewDetector |
create(double newMaxCheck,
double newThreshold,
int newMaxIter,
EventHandler<DihedralFieldOfViewDetector> newHandler)
Build a new instance.
|
double |
g(SpacecraftState s)
Compute the value of the switching function.
|
Vector3D |
getAxis1()
Get the direction of FOV 1st dihedral axis.
|
Vector3D |
getAxis2()
Get the direction of FOV 2nd dihedral axis.
|
Vector3D |
getCenter()
Get the direction of FOV center.
|
double |
getHalfAperture1()
Get the half aperture angle of FOV 1st dihedra.
|
double |
getHalfAperture2()
Get the half aperture angle of FOV 2nd dihedra.
|
PVCoordinatesProvider |
getPVTarget()
Get the position/velocity provider of the target .
|
eventOccurred, getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, resetState, withHandler, withMaxCheck, withMaxIter, withThreshold
public DihedralFieldOfViewDetector(double maxCheck, PVCoordinatesProvider pvTarget, Vector3D center, Vector3D axis1, double halfAperture1, Vector3D axis2, double halfAperture2)
The maximal interval between distance to FOV boundary checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
maxCheck
- maximal interval in secondspvTarget
- Position/velocity provider of the considered targetcenter
- Direction of the FOV centeraxis1
- FOV dihedral axis 1halfAperture1
- FOV dihedral half aperture angle 1axis2
- FOV dihedral axis 2halfAperture2
- FOV dihedral half aperture angle 2protected DihedralFieldOfViewDetector create(double newMaxCheck, double newThreshold, int newMaxIter, EventHandler<DihedralFieldOfViewDetector> newHandler)
create
in class AbstractDetector<DihedralFieldOfViewDetector>
newMaxCheck
- maximum checking interval (s)newThreshold
- convergence threshold (s)newMaxIter
- maximum number of iterations in the event time searchnewHandler
- event handler to call at event occurrencespublic PVCoordinatesProvider getPVTarget()
public Vector3D getCenter()
public Vector3D getAxis1()
public double getHalfAperture1()
public double getHalfAperture2()
public Vector3D getAxis2()
public double g(SpacecraftState s) throws OrekitException
g
in interface EventDetector
g
in class AbstractDetector<DihedralFieldOfViewDetector>
s
- the current state information: date, kinematics, attitudeOrekitException
- if some specific error occursCopyright © 2002-2015 CS Systèmes d'information. All rights reserved.