geometry-api-java icon indicating copy to clipboard operation
geometry-api-java copied to clipboard

OperatorCut is returning two empty geometries if there are no valid cuts. A geometry cursor containing only a null pointer should be returned instead.

Open alocke opened this issue 11 years ago • 0 comments

The cases in question are

  1. the cuttee and the cutter don't intersect at all
  2. the cuttee is a polygon and cutter doesn't pass all the way through it
  3. the cuttee is a polyline, the cutter touches the cuttee but b_consider_touch is false.

Currently, a pointer to a geometry cursor is returned. There are two empty geometries in the cursor, one for the left cut and one for the right cut. It would be a more obvious signal to the user that there were no valid cuts if a null pointer was returned instead.

Here are some simple cases to reproduce the issues listed above.

cutter1: {"paths":[[[1.5,0.5],[2.5,0.5]]]}

cutter2: {"paths":[[[0.5,0.5],[1.5,0.5]]]}

cutter3: {"paths":[[[0.2,0.4],[0.6,0.8]]]}

polygon (cuttee): {"rings":[[[0,0],[0,1],[1,1],[1,0],[0,0]]]}

polyline (cuttee): {"paths":[[[0.0,0.6],[0.4,0.2],[0.5,0.5]]]}

alocke avatar Jul 09 '14 17:07 alocke