Package org.orekit.rugged.linesensor
Class SensorMeanPlaneCrossing
- java.lang.Object
-
- org.orekit.rugged.linesensor.SensorMeanPlaneCrossing
-
public class SensorMeanPlaneCrossing extends Object
Class dedicated to find when ground point crosses mean sensor plane.This class is used in the first stage of inverse location.
- Author:
- Luc Maisonobe
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SensorMeanPlaneCrossing.CrossingResult
Container for mean plane crossing result.
-
Constructor Summary
Constructors Constructor Description SensorMeanPlaneCrossing(LineSensor sensor, SpacecraftToObservedBody scToBody, int minLine, int maxLine, boolean lightTimeCorrection, boolean aberrationOfLightCorrection, int maxEval, double accuracy)
Simple constructor.SensorMeanPlaneCrossing(LineSensor sensor, SpacecraftToObservedBody scToBody, int minLine, int maxLine, boolean lightTimeCorrection, boolean aberrationOfLightCorrection, int maxEval, double accuracy, Vector3D meanPlaneNormal, Stream<SensorMeanPlaneCrossing.CrossingResult> cachedResults)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SensorMeanPlaneCrossing.CrossingResult
find(Vector3D target)
Find mean plane crossing.double
getAccuracy()
Get the accuracy to use for finding crossing line number.Stream<SensorMeanPlaneCrossing.CrossingResult>
getCachedResults()
Get cached previous results.int
getMaxEval()
Get the maximum number of evaluations.int
getMaxLine()
Get the maximum line number in the search interval.Vector3D
getMeanPlaneNormal()
Get the mean plane normal.int
getMinLine()
Get the minimum line number in the search interval.SpacecraftToObservedBody
getScToBody()
Get converter between spacecraft and body.LineSensor
getSensor()
Get the underlying sensor.
-
-
-
Constructor Detail
-
SensorMeanPlaneCrossing
public SensorMeanPlaneCrossing(LineSensor sensor, SpacecraftToObservedBody scToBody, int minLine, int maxLine, boolean lightTimeCorrection, boolean aberrationOfLightCorrection, int maxEval, double accuracy)
Simple constructor.- Parameters:
sensor
- sensor to considerscToBody
- converter between spacecraft and bodyminLine
- minimum line numbermaxLine
- maximum line numberlightTimeCorrection
- flag for light time correctionaberrationOfLightCorrection
- flag for aberration of light correction.maxEval
- maximum number of evaluationsaccuracy
- accuracy to use for finding crossing line number
-
SensorMeanPlaneCrossing
public SensorMeanPlaneCrossing(LineSensor sensor, SpacecraftToObservedBody scToBody, int minLine, int maxLine, boolean lightTimeCorrection, boolean aberrationOfLightCorrection, int maxEval, double accuracy, Vector3D meanPlaneNormal, Stream<SensorMeanPlaneCrossing.CrossingResult> cachedResults)
Simple constructor.- Parameters:
sensor
- sensor to considerscToBody
- converter between spacecraft and bodyminLine
- minimum line numbermaxLine
- maximum line numberlightTimeCorrection
- flag for light time correctionaberrationOfLightCorrection
- flag for aberration of light correction.maxEval
- maximum number of evaluationsaccuracy
- accuracy to use for finding crossing line numbermeanPlaneNormal
- mean plane normalcachedResults
- cached results
-
-
Method Detail
-
getSensor
public LineSensor getSensor()
Get the underlying sensor.- Returns:
- underlying sensor
-
getScToBody
public SpacecraftToObservedBody getScToBody()
Get converter between spacecraft and body.- Returns:
- converter between spacecraft and body
-
getMinLine
public int getMinLine()
Get the minimum line number in the search interval.- Returns:
- minimum line number in the search interval
-
getMaxLine
public int getMaxLine()
Get the maximum line number in the search interval.- Returns:
- maximum line number in the search interval
-
getMaxEval
public int getMaxEval()
Get the maximum number of evaluations.- Returns:
- maximum number of evaluations
-
getAccuracy
public double getAccuracy()
Get the accuracy to use for finding crossing line number.- Returns:
- accuracy to use for finding crossing line number
-
getMeanPlaneNormal
public Vector3D getMeanPlaneNormal()
Get the mean plane normal.The normal is oriented such traversing pixels in increasing indices order corresponds is consistent with trigonometric order (i.e. counterclockwise).
- Returns:
- mean plane normal
-
getCachedResults
public Stream<SensorMeanPlaneCrossing.CrossingResult> getCachedResults()
Get cached previous results.- Returns:
- cached previous results
-
find
public SensorMeanPlaneCrossing.CrossingResult find(Vector3D target)
Find mean plane crossing.- Parameters:
target
- target ground point- Returns:
- line number and target direction at mean plane crossing, or null if search interval does not bracket a solution
-
-