Interface ILcd2DEllipsoidalBinaryTopology
- All Superinterfaces:
ILcd2DBinaryTopology
- All Known Implementing Classes:
TLcdEllipsoidalBasicBinaryTopology
This interface extends the interface ILcd2DBinaryTopology
with an ellipsoid
property and two properties that are more
specific for the approximate calculations on that ellipsoid:
absoluteTolerance
and relativeTolerance
.
The properties absoluteTolerance
and relativeTolerance
determine how close the
returned results have to be with respect to the actual solutions.
absoluteTolerance
is the acceptable maximum distance error in meters on the solution.
relativeTolerance
is a percentage the calculation can be incorrect relative to the size of the
geometries involved. The actual tolerance used for the calculation is the largest of the relative or absolute
tolerance properties set.
Assume an absolute tolerance of 1m and a relative tolerance of 1e-6. Now suppose the intersection between two long lines of 2000km would be required. A relative tolerance of 1e-6 would result in a 2m error (2.000.000m x 1e-6), which is larger than the 1m absolute tolerance. Therefore, the relative tolerance is used here. If the intersection between two short lines of 10m would be required, the relative tolerance would result in an error of 0.01mm (10m x 1e-6). Such an extremely small tolerance does not have any practical use nor is it attainable. Therefore, the larger absolute tolerance of 1m is used here.
- Since:
- 2.0
-
Field Summary
Fields inherited from interface com.luciad.geometry.topology.ILcd2DBinaryTopology
CONTAIN, INSIDE, INTERACT, LINE_INTERSECT
-
Method Summary
Modifier and TypeMethodDescriptiondouble
Gets the absolute tolerance (meters) used for approximations.Get the ellipsoid on which the calculations are performed.double
Gets the relative tolerance used for approximations.void
setAbsoluteTolerance
(double aAbsoluteTolerance) Sets the absolute tolerance (meters) to be used for approximations.void
setEllipsoid
(ILcdEllipsoid aEllipsoid) Set the ellipsoid on which to perform the calculations.void
setRelativeTolerance
(double aRelativeTolerance) Sets the relative tolerance to be used for approximations.Methods inherited from interface com.luciad.geometry.topology.ILcd2DBinaryTopology
checkTopology
-
Method Details
-
getEllipsoid
ILcdEllipsoid getEllipsoid()Get the ellipsoid on which the calculations are performed.- Returns:
- The ellipsoid value.
- See Also:
-
setEllipsoid
Set the ellipsoid on which to perform the calculations.- Parameters:
aEllipsoid
- The new ellipsoid value.- See Also:
-
getRelativeTolerance
double getRelativeTolerance()Gets the relative tolerance used for approximations.- Returns:
- The relativeTolerance value.
- See Also:
-
setRelativeTolerance
void setRelativeTolerance(double aRelativeTolerance) Sets the relative tolerance to be used for approximations.- Parameters:
aRelativeTolerance
- The new relativeTolerance value.- See Also:
-
getAbsoluteTolerance
double getAbsoluteTolerance()Gets the absolute tolerance (meters) used for approximations.- Returns:
- The absoluteTolerance value (meters).
- See Also:
-
setAbsoluteTolerance
void setAbsoluteTolerance(double aAbsoluteTolerance) Sets the absolute tolerance (meters) to be used for approximations.- Parameters:
aAbsoluteTolerance
- The new absoluteTolerance value (meters).- See Also:
-