Class TLcdCartesianAdvancedBinaryTopology
 All Implemented Interfaces:
ILcd2DAdvancedBinaryTopology
ILcd2DAdvancedBinaryTopology
for 2D Cartesian geometry.
This implementation currently supports instances of the following interfaces:
 ILcdPoint,
 ILcdPolyline,
 ILcdPolygon,
 ILcdComplexPolygon,
 ILcdArc,
 ILcdCircularArc,
 ILcdEllipse,
 ILcdCircle,
 ILcdBounds,
 ILcdArcBand,
 ILcdGeoBuffer.
Geodesic geometry is supported by this implementation. Geodesic lines are treated as straight lines.
Performance
The current implementation caches (intermediate) results for ILcdShape instances which implement the ILcdCache
interface.
When performing repeated checks with the same shape or shapes, it is generally more efficient to reuse the same ILcd2DAdvancedBinaryTopology
object,
instead of creating a new instance for every check.
 Since:
 10.0

Constructor Summary
ConstructorDescriptionDefault constructor for TLcdCartesianAdvancedBinaryTopologyTLcdCartesianAdvancedBinaryTopology
(double aTolerance) Constructor for TLcdCartesianAdvancedBinaryTopology allowing to specify a tolerance. 
Method Summary
Modifier and TypeMethodDescriptionboolean
checkTopology
(ILcdShape aShape1, ILcdShape aShape2, ILcdIntersectionMatrixPattern aMatrixPattern) Checks whether the two given shapes satisfy the binary topology relation defined by the given matrix pattern.computeIntersectionMatrix
(ILcdShape aShape1, ILcdShape aShape2) Computes the intersection matrix of the two given shapes.double
Returns the tolerance value used in the binary topology computations when checking the equality of two points.void
setTolerance
(double aTolerance) Sets the tolerance value used in the binary topology computations when checking the equality of two points.

Constructor Details

TLcdCartesianAdvancedBinaryTopology
public TLcdCartesianAdvancedBinaryTopology()Default constructor for TLcdCartesianAdvancedBinaryTopology 
TLcdCartesianAdvancedBinaryTopology
public TLcdCartesianAdvancedBinaryTopology(double aTolerance) Constructor for TLcdCartesianAdvancedBinaryTopology allowing to specify a tolerance.
In some cases, the result obtained when checking the topological relation between two shapes depends on the accuracy of the data used to represent both shapes.
For example, you would expect that neighboring countries touch but not overlap. However, if the contours of the polygons used to represent both countries slightly cross at the common border (due to small errors in the data), the calculations would lead to the opposite result.
This constructor allow you to set a tolerance value which is taken into account in the topology calculations. Points that lie within this tolerance value from each other are considered to be coincident.
 Parameters:
aTolerance
 tolerance value used to determine the equality of two points in the topology calculations of two shapes. This value is expressed in model coordinate units of these shapes.


Method Details

computeIntersectionMatrix
Description copied from interface:ILcd2DAdvancedBinaryTopology
Computes the intersection matrix of the two given shapes. Both shapes must be in the same coordinate system. Specified by:
computeIntersectionMatrix
in interfaceILcd2DAdvancedBinaryTopology
 Parameters:
aShape1
 the first shapeaShape2
 the second shape Returns:
 the intersection matrix of the two given shapes

checkTopology
public boolean checkTopology(ILcdShape aShape1, ILcdShape aShape2, ILcdIntersectionMatrixPattern aMatrixPattern) Description copied from interface:ILcd2DAdvancedBinaryTopology
Checks whether the two given shapes satisfy the binary topology relation defined by the given matrix pattern. Both shapes must be in the same coordinate system. Specified by:
checkTopology
in interfaceILcd2DAdvancedBinaryTopology
 Parameters:
aShape1
 the first shapeaShape2
 the second shapeaMatrixPattern
 the matrix pattern defining the binary topology relation to be checked Returns:
true
if the binary topology relation defined byaMatrixPattern
holdstrue
foraShape1
andaShape2
, false otherwise.

getTolerance
public double getTolerance()Returns the tolerance value used in the binary topology computations when checking the equality of two points. Returns:
 the tolerance value used in the binary topology computations when checking the equality of two points.

setTolerance
public void setTolerance(double aTolerance) Sets the tolerance value used in the binary topology computations when checking the equality of two points. The tolerance value should be expressed in model coordinate units of the two shapes for which topology computations are carried out. Parameters:
aTolerance
 the tolerance value used in the binary topology computations.
