Hopefully, we can start another clc06 test with this fix
- add lots of debug, in case more clipper issues uncovered
added --debug-areas= allows turning on debug for an area
can dump the accumulator when using it.
- fixed the swirlies round 2 workaround on tile output, rather than
stopping the load of polygons at arbitrary threshold.
(hopefully, we'll have a fix for this in simgear soon)
- modified ogr-decode (when using --texture-lines) to insert triangles
instead of self-intersecting trapezoids when the turn angle between
segments is too steep (hit this issue when experimenting with cgal-clipping)
we were adding a lot of self intersecting polys on line data
- needed to add gdal library to all executables that link against Polygon
TODO - combne Geometry and Polygon libs - they are completely joined, now.
- genapt850 : some airports (LSMM) have multiple airport boundaries.
This caused a lot of the airport to not get a smoothed base (so some landclass polys were not clipped against the airport). Changed boundary from a single ClosedPolygon to a list. Seems to work.
Some misc warnings cleanup in scheduler, and parser
- Clipper using accumulator results in a significant speed boots - enable clipper and the accumulator by default.
- ogr-decode - most of the crashes I'm getting are due to non-continuous roads. Within a line string, I create adjacent polys that snap correctly. On the ends, I generate 90 degree angles. Some linestrings should be consecutive. As a workaround, I am now extending every start and end poly of linestrings by 0.1 meters. It makes it better, but I need to do a better job of creating continuous roads. This will require some preprocessing of the entire shapefile. (Perhaps all line data shapefiles, to handle correct overpass / underpass logic)
- generates an intermediate file for the whole linestring, but as seperate poly/texcoord pairs
- construct generates the union ofthe polys for the main clip routine
- intersection ot the original segment with the clipped mask gives the clipped segment
This cuts ~75% of clipping time for really complex tiles. 8 tiles for Madeira went from
4:45:00 to 1:04:00
- used to expand pavement polygons so they overlap slightly (5cm)
This prevents slivers being formed between pavements when designers
add their own taxiway shoulders, and try to line them up instead of
placing the boundary 'under' the taxiway.
- also useed to create the default airport base. This allows the base
to follow the taxiways better - allowing concave boundaries, instead
of the previous convex hull.
Memory leaks squashed. Fixed several memory leaks reported by valgrind.
- GenApt850 can now run forever (or at least until it segfaults)
Very long linear segments in linear features are now broken up to
avoid triangulation errors
Added back some clipper boolean operations (diff and union). These can
be used instead of the GPC functions by using tgPolyGonDiffClipper and
tgPolygonUnionClipper. GPC had crashed in a few airports when clipping
linear features. Using the clipper routines don't crash. More investigation
is needed. It may be something about the polygons being clipped more that
the clipping action itself. In these problem airports, there are some
linear features extending far from the airport.
( I had thought those issues were fixed :( )
More warning cleanups.
success / failure. I have some local changes to the lib to support it, but
they aren't verified. Checking in the support, that always returns success.
- allow clipper and GPC libraries to be included together.
I need clipper for expanding polys, but I'm still using GPC for clipping.