equals3D method

  1. @override
bool equals3D(
  1. covariant Geometry other, {
  2. double toleranceHoriz = defaultEpsilon,
  3. double toleranceVert = defaultEpsilon,
})
override

True if this and other equals by testing 3D coordinate values of all position data (that must be in same order in both objects) contained directly or by child objects.

Returns false if this and other are not of the same subtype.

Returns false if this or other contain "empty geometry".

Returns false if this or other do not contain 3D coordinates.

Differences on 2D coordinate values (ie. x and y, or lon and lat) between this and other must be within toleranceHoriz.

Differences on vertical coordinate values (ie. z or elev) between this and other must be within toleranceVert.

Tolerance values must be positive (>= 0.0).

Implementation

@override
bool equals3D(
  Geometry other, {
  double toleranceHoriz = defaultEpsilon,
  double toleranceVert = defaultEpsilon,
}) =>
    testEquals3D<MultiLineString>(
      this,
      other,
      (mls1, mls2) => _testMultiLineStrings(
        mls1,
        mls2,
        (posArray1, posArray2) => posArray1.equals3D(
          posArray2,
          toleranceHoriz: toleranceHoriz,
          toleranceVert: toleranceVert,
        ),
      ),
      toleranceHoriz: toleranceHoriz,
      toleranceVert: toleranceVert,
    );