org.deegree.geometry.validation
Interface GeometryValidationEventHandler


public interface GeometryValidationEventHandler

Implementations of this interface

Version:
$Revision: 31641 $, $Date: 2011-08-24 21:24:55 +0200 (Wed, 24 Aug 2011) $
Author:
Markus Schneider, last edited by: $Author: mschneider $

Method Summary
 boolean curveDiscontinuity(Curve curve, int segmentIdx, List<Object> affectedGeometryParticles)
          Called when a discontinuity in a Curve is detected, i.e. the end point of segment does not coincide with the start point of the next.
 boolean curvePointDuplication(Curve curve, Point point, List<Object> affectedGeometryParticles)
          Called when a sequence of two identical control points in a Curve is detected.
 boolean curveSelfIntersection(Curve curve, Point location, List<Object> affectedGeometryParticles)
          Called when a self-intersection of a Curve is detected.
 boolean exteriorRingCW(PolygonPatch patch, List<Object> affectedGeometryParticles)
          Called when a planar surface patch (=PolygonPatch) has an exterior ring with a wrong orientation, i.e.
 boolean interiorRingCCW(PolygonPatch patch, List<Object> affectedGeometryParticles)
          Called when a planar surface patch (=PolygonPatch) has an interior ring with a wrong orientation, i.e.
 boolean interiorRingIntersectsExterior(PolygonPatch patch, int ringIdx, List<Object> affectedGeometryParticles)
          Called when a planar surface patch (=PolygonPatch) has a hole (interior ring) that intersects it's shell (exterior ring).
 boolean interiorRingOutsideExterior(PolygonPatch patch, int ringIdx, List<Object> affectedGeometryParticles)
          Called when a planar surface patch (=PolygonPatch) has a hole (interior ring) that is completely located outside it's shell (exterior ring).
 boolean interiorRingsIntersect(PolygonPatch patch, int ring1Idx, int ring2Idx, List<Object> affectedGeometryParticles)
          Called when a planar surface patch (=PolygonPatch) has two holes (interior rings) that intersect.
 boolean interiorRingsTouch(PolygonPatch patch, int ring1Idx, int ring2Idx, List<Object> affectedGeometryParticles)
          Called when a planar surface patch (=PolygonPatch) has two holes (interior rings) that touch.
 boolean interiorRingsWithin(PolygonPatch patch, int ring1Idx, int ring2Idx, List<Object> affectedGeometryParticles)
          Called when a planar surface patch (=PolygonPatch) has two holes (interior rings) that are nested, i.e.
 boolean interiorRingTouchesExterior(PolygonPatch patch, int ringIdx, List<Object> affectedGeometryParticles)
          Called when a planar surface patch (=PolygonPatch) has a hole (interior ring) that touches it's shell (exterior ring).
 boolean ringNotClosed(Ring ring, List<Object> affectedGeometryParticles)
          Called when a Ring is detected that is not closed.
 boolean ringSelfIntersection(Ring ring, Point location, List<Object> affectedGeometryParticles)
          Called when a self-intersection of a Ring is detected.
 

Method Detail

curvePointDuplication

boolean curvePointDuplication(Curve curve,
                              Point point,
                              List<Object> affectedGeometryParticles)
Called when a sequence of two identical control points in a Curve is detected.

Parameters:
curve - invalid Curve geometry
point - the duplicated point
affectedGeometryParticles - list of affected geometry components (that the curve is a part of)
Returns:
true, if the event indicates that the geometry is invalid, otherwise false

curveDiscontinuity

boolean curveDiscontinuity(Curve curve,
                           int segmentIdx,
                           List<Object> affectedGeometryParticles)
Called when a discontinuity in a Curve is detected, i.e. the end point of segment does not coincide with the start point of the next.

Parameters:
curve - invalid Curve geometry
segmentIdx - the index of the segment with the discontinuity
affectedGeometryParticles - list of affected geometry components (that the curve is a part of)
Returns:
true, if the event indicates that the geometry is invalid, otherwise false

curveSelfIntersection

boolean curveSelfIntersection(Curve curve,
                              Point location,
                              List<Object> affectedGeometryParticles)
Called when a self-intersection of a Curve is detected.

Parameters:
curve - invalid Curve geometry
location - the (approximative) location of the self-intersection
affectedGeometryParticles - list of affected geometry components (that the curve is a part of)
Returns:
true, if the event indicates that the geometry is invalid, otherwise false

ringNotClosed

boolean ringNotClosed(Ring ring,
                      List<Object> affectedGeometryParticles)
Called when a Ring is detected that is not closed.

Parameters:
ring - invalid Ring geometry
affectedGeometryParticles - list of affected geometry components (that the curve is a part of)
Returns:
true, if the event indicates that the geometry is invalid, otherwise false

ringSelfIntersection

boolean ringSelfIntersection(Ring ring,
                             Point location,
                             List<Object> affectedGeometryParticles)
Called when a self-intersection of a Ring is detected.

Parameters:
ring - invalid Ring geometry
location - the (approximative) location of the self-intersection
affectedGeometryParticles - list of affected geometry components (that the curve is a part of)
Returns:
true, if the event indicates that the geometry is invalid, otherwise false

exteriorRingCW

boolean exteriorRingCW(PolygonPatch patch,
                       List<Object> affectedGeometryParticles)
Called when a planar surface patch (=PolygonPatch) has an exterior ring with a wrong orientation, i.e.

Parameters:
patch -
affectedGeometryParticles - list of affected geometry components (that the curve is a part of)
Returns:
true, if the event indicates that the geometry is invalid, otherwise false

interiorRingCCW

boolean interiorRingCCW(PolygonPatch patch,
                        List<Object> affectedGeometryParticles)
Called when a planar surface patch (=PolygonPatch) has an interior ring with a wrong orientation, i.e.

Parameters:
patch -
affectedGeometryParticles - list of affected geometry components (that the curve is a part of)
Returns:
true, if the event indicates that the geometry is invalid, otherwise false

interiorRingsTouch

boolean interiorRingsTouch(PolygonPatch patch,
                           int ring1Idx,
                           int ring2Idx,
                           List<Object> affectedGeometryParticles)
Called when a planar surface patch (=PolygonPatch) has two holes (interior rings) that touch.

Parameters:
patch - offending patch
ring1Idx - index of the first ring involved
ring2Idx - index of the second ring involved
affectedGeometryParticles - list of affected geometry components (that the curve is a part of)
Returns:
true, if the event indicates that the geometry is invalid, otherwise false

interiorRingsIntersect

boolean interiorRingsIntersect(PolygonPatch patch,
                               int ring1Idx,
                               int ring2Idx,
                               List<Object> affectedGeometryParticles)
Called when a planar surface patch (=PolygonPatch) has two holes (interior rings) that intersect.

Parameters:
patch - offending patch
ring1Idx - index of the first ring involved
ring2Idx - index of the second ring involved
affectedGeometryParticles - list of affected geometry components (that the curve is a part of)
Returns:
true, if the event indicates that the geometry is invalid, otherwise false

interiorRingsWithin

boolean interiorRingsWithin(PolygonPatch patch,
                            int ring1Idx,
                            int ring2Idx,
                            List<Object> affectedGeometryParticles)
Called when a planar surface patch (=PolygonPatch) has two holes (interior rings) that are nested, i.e. one ring is completely inside the other.

Parameters:
patch - offending patch
ring1Idx - index of the first ring involved (the 'outer' one)
ring2Idx - index of the second ring involved (the 'inner' one)
affectedGeometryParticles - list of affected geometry components (that the curve is a part of)
Returns:
true, if the event indicates that the geometry is invalid, otherwise false

interiorRingTouchesExterior

boolean interiorRingTouchesExterior(PolygonPatch patch,
                                    int ringIdx,
                                    List<Object> affectedGeometryParticles)
Called when a planar surface patch (=PolygonPatch) has a hole (interior ring) that touches it's shell (exterior ring).

Parameters:
patch - offending patch
ringIdx - index of the offending inner ring
affectedGeometryParticles - list of affected geometry components (that the curve is a part of)
Returns:
true, if the event indicates that the geometry is invalid, otherwise false

interiorRingIntersectsExterior

boolean interiorRingIntersectsExterior(PolygonPatch patch,
                                       int ringIdx,
                                       List<Object> affectedGeometryParticles)
Called when a planar surface patch (=PolygonPatch) has a hole (interior ring) that intersects it's shell (exterior ring).

Parameters:
patch - offending patch
ringIdx - index of the offending inner ring
affectedGeometryParticles - list of affected geometry components (that the curve is a part of)
Returns:
true, if the event indicates that the geometry is invalid, otherwise false

interiorRingOutsideExterior

boolean interiorRingOutsideExterior(PolygonPatch patch,
                                    int ringIdx,
                                    List<Object> affectedGeometryParticles)
Called when a planar surface patch (=PolygonPatch) has a hole (interior ring) that is completely located outside it's shell (exterior ring).

Parameters:
patch - offending patch
ringIdx -
affectedGeometryParticles - list of affected geometry components (that the curve is a part of)
Returns:
true, if the event indicates that the geometry is invalid, otherwise false


Copyright © 2011. All Rights Reserved.