Enum AlgorithmId
- java.lang.Object
-
- java.lang.Enum<AlgorithmId>
-
- org.orekit.rugged.api.AlgorithmId
-
- All Implemented Interfaces:
Serializable
,Comparable<AlgorithmId>
public enum AlgorithmId extends Enum<AlgorithmId>
Enumerate for Digital Elevation Model intersection.- Author:
- Luc Maisonobe
-
-
Enum Constant Summary
Enum Constants Enum Constant Description BASIC_SLOW_EXHAUSTIVE_SCAN_FOR_TESTS_ONLY
Basic, very slow algorithm, designed only for tests and validation purposes.CONSTANT_ELEVATION_OVER_ELLIPSOID
Algorithm that simply uses a constant elevation over ellipsoid.DUVENHAGE
Fast algorithm due to Bernardt Duvenhage.DUVENHAGE_FLAT_BODY
Fast algorithm due to Bernardt Duvenhage.IGNORE_DEM_USE_ELLIPSOID
Dummy algorithm that simply ignores the Digital Elevation Model.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static AlgorithmId
valueOf(String name)
Returns the enum constant of this type with the specified name.static AlgorithmId[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
DUVENHAGE
public static final AlgorithmId DUVENHAGE
Fast algorithm due to Bernardt Duvenhage.The algorithm is described in the 2009 paper: Using An Implicit Min/Max KD-Tree for Doing Efficient Terrain Line of Sight Calculations.
-
DUVENHAGE_FLAT_BODY
public static final AlgorithmId DUVENHAGE_FLAT_BODY
Fast algorithm due to Bernardt Duvenhage.The algorithm is described in the 2009 paper: Using An Implicit Min/Max KD-Tree for Doing Efficient Terrain Line of Sight Calculations.
This version of the duvenhage's algorithm considers the body to be flat, i.e. lines computed from entry/exit points in the Digital Elevation Model are considered to be straight lines also in geodetic coordinates. The sagitta resulting from real ellipsoid curvature is therefore not corrected in this case. As this computation is not costly (a few percents overhead), the full
DUVENHAGE
is recommended instead of this one. This choice is mainly intended for comparison purposes with other systems.
-
BASIC_SLOW_EXHAUSTIVE_SCAN_FOR_TESTS_ONLY
public static final AlgorithmId BASIC_SLOW_EXHAUSTIVE_SCAN_FOR_TESTS_ONLY
Basic, very slow algorithm, designed only for tests and validation purposes.The algorithm simply computes entry and exit points at high and low altitudes, and scans all Digital Elevation Models in the sub-tiles defined by these two corner points. It is not designed for operational use.
-
CONSTANT_ELEVATION_OVER_ELLIPSOID
public static final AlgorithmId CONSTANT_ELEVATION_OVER_ELLIPSOID
Algorithm that simply uses a constant elevation over ellipsoid.Intersections are computed only with respect to the reference ellipsoid and a user-specified elevation. If the user-specified elevation is 0.0, then this algorithm is equivalent to
IGNORE_DEM_USE_ELLIPSOID
, only slower.
-
IGNORE_DEM_USE_ELLIPSOID
public static final AlgorithmId IGNORE_DEM_USE_ELLIPSOID
Dummy algorithm that simply ignores the Digital Elevation Model.Intersections are computed only with respect to the reference ellipsoid.
This algorithm is equivalent to
CONSTANT_ELEVATION_OVER_ELLIPSOID
when the elevation is set to 0.0, but this one is much faster in this specific case.
-
-
Method Detail
-
values
public static AlgorithmId[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (AlgorithmId c : AlgorithmId.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static AlgorithmId valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
-