2021.1.14

• All Superinterfaces:
ILcd2DBasicBinaryTopology , ILcd2DBinaryTopology
All Known Implementing Classes:
TLcdEllipsoidalBasicBinaryTopology

```public interface ILcd2DEllipsoidalBinaryTopology
extends
ILcd2DBasicBinaryTopology
```

This interface extends the interface `ILcd2DBasicBinaryTopology` 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

• ### Fields inherited from interface com.luciad.geometry.ILcd2DBinaryTopology

`CONTAIN, INSIDE, INTERACT, LINE_INTERSECT`
• ### Method Summary

All Methods
Modifier and Type Method and Description
`double` `getAbsoluteTolerance()`
Gets the absolute tolerance (meters) used for approximations.
`ILcdEllipsoid` `getEllipsoid()`
Get the ellipsoid on which the calculations are performed.
`double` `getRelativeTolerance()`
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.ILcd2DBinaryTopology

`checkTopology`
• ### Method Detail

• #### setEllipsoid

`void setEllipsoid(ILcdEllipsoid aEllipsoid)`
Set the ellipsoid on which to perform the calculations.
Parameters:
`aEllipsoid` - The new ellipsoid value.
`getEllipsoid()`
• #### getRelativeTolerance

`double getRelativeTolerance()`
Gets the relative tolerance used for approximations.
Returns:
The relativeTolerance value.
`setRelativeTolerance(double)`
• #### setRelativeTolerance

`void setRelativeTolerance(double aRelativeTolerance)`
Sets the relative tolerance to be used for approximations.
Parameters:
`aRelativeTolerance` - The new relativeTolerance value.
`getRelativeTolerance()`
• #### getAbsoluteTolerance

`double getAbsoluteTolerance()`
Gets the absolute tolerance (meters) used for approximations.
Returns:
The absoluteTolerance value (meters).
`setAbsoluteTolerance(double)`
`void setAbsoluteTolerance(double aAbsoluteTolerance)`
`aAbsoluteTolerance` - The new absoluteTolerance value (meters).
`getAbsoluteTolerance()`