[Marble-bugs] [marble] [Bug 331672] New: Equality operators for GeoDataPoint, GeoDataLineString, GeoDataLinearRing, GeoDataPolygon

Dennis Nienhüser earthwings at gentoo.org
Sun Mar 2 07:54:35 UTC 2014


https://bugs.kde.org/show_bug.cgi?id=331672

            Bug ID: 331672
           Summary: Equality operators for GeoDataPoint,
                    GeoDataLineString, GeoDataLinearRing, GeoDataPolygon
    Classification: Unclassified
           Product: marble
           Version: 1.7 (KDE 4.12)
          Platform: unspecified
                OS: Linux
            Status: UNCONFIRMED
          Keywords: google-code-in, junior-jobs
          Severity: task
          Priority: NOR
         Component: general
          Assignee: marble-bugs at kde.org
          Reporter: earthwings at gentoo.org

Add a protected method
bool equals(const GeoDataGeometry &other) const
to GeoDataGeometry. It should check whether extrude and altitudeMode are equal.

Make it possible to check for equality using operator== in the following
classes:
- GeoDataPoint (first check GeoDataGeometry::equals(), then the coordinates)
- GeoDataLineString (first check GeoDataGeometry::equals(), tesselate() and
size(), afterwards iterate over all points and check them. If one differs,
return false)
- GeoDataLinearRing (same as line string, but check isClosed() as well)
- GeoDataPolygon (first check GeoDataGeometry::equals(), isClosed(),
tesselate(), outerBoundary(), each of innerBoundaries())

Add unit test method to tests/TestEquality for each of the classes. Make sure
to compile Marble with the following cmake options enabled:
BUILD_MARBLE_TESTS=TRUE, BUILD_MARBLE_TOOLS=TRUE. Execute tests/TestEquality
and make sure no errors come up. Use tools/kml2kml to analyze errors and fix
the tag writers, if needed. Submit a review request at
https://git.reviewboard.kde.org with the marble group as reviewers.

Please leave a comment here (e.g. "I want to work on this task.") if you start
working on this task to avoid multiple people working on it at the same time.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Marble-bugs mailing list