pkgsrc/geography/geos/PLIST

362 lines
14 KiB
Text
Raw Normal View History

Changes 3.3.0: - New things: - CAPI: GEOSBufferWithParams (allows single sided buffers) - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows passing flags. - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection - CAPI: GEOSGeom_extractUniquePoints - CAPI: GEOSGetGeometryN support for single geometries - CAPI: GEOSPolygonize_full to return all informations computed by the polygonizer - CAPI: GEOSOrientationIndex - CAPI: GEOSSharedPaths to find shared paths and their orientation - CAPI: GEOSSnap - CAPI: GEOSRelatePatternMatch - CAPI: GEOSCovers, GEOSCoveredBy - CAPI: GEOSRelateBoundaryNodeRule - PHP: new PHP5 bindings based on CAPI - Semantic C++ API changes: - Geometry inheritance chain changed to introduce Puntal, Lineal and Polygonal classes (virtual inheritance introduced) - Polygonizer::getInvalidRingLines retains ownership of vector elements - Geometry::isWithinDistance method is now const - Polygonizer::getCutEdges returns by const ref - Polygonizer::getDangles returns by const ref - Empty LinearRings are closed by definition - Bug fixes / improvements - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs - Invalid compound geometries reported as valid - Return up to 15 digits of precision from GEOSisValidReason_t - CAPI: do not leak contexts when using the non-reentrant interface - Fix duplicated dangles returned by Polygonizer - Fix SnapIfNeededOverlayOp to throw the originating exception - Fixed LineMerger to skip lines with only a single unique coordinate - Fix NodedSegmentString to handle zero-length line segments correctly (via safeOctant) - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly - Added illegal state check in LineSegment::pointAlongOffset() - Improved performance of RectangleIntersects by always using segment-scanning and refining SegmentIntersectionTester - Reduce memory use in PreparedGeometry predicates - Fix infinite loop in RobustDeterminant with nan/inf input
2011-06-16 11:24:05 +02:00
@comment $NetBSD: PLIST,v 1.10 2011/06/16 09:24:05 adam Exp $
bin/geos-config
include/geos.h
include/geos/algorithm/Angle.h
include/geos/algorithm/BoundaryNodeRule.h
include/geos/algorithm/CGAlgorithms.h
include/geos/algorithm/CentralEndpointIntersector.h
include/geos/algorithm/CentroidArea.h
include/geos/algorithm/CentroidLine.h
include/geos/algorithm/CentroidPoint.h
include/geos/algorithm/ConvexHull.h
include/geos/algorithm/ConvexHull.inl
include/geos/algorithm/ExtractLineByLocation.h
include/geos/algorithm/HCoordinate.h
include/geos/algorithm/InteriorPointArea.h
include/geos/algorithm/InteriorPointLine.h
include/geos/algorithm/InteriorPointPoint.h
include/geos/algorithm/LengthIndexOfPoint.h
include/geos/algorithm/LengthIndexedLine.h
include/geos/algorithm/LengthLocationMap.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/algorithm/LineIntersector.h
include/geos/algorithm/LinearGeometryBuilder.h
include/geos/algorithm/LinearIterator.h
include/geos/algorithm/LinearLocation.h
include/geos/algorithm/LocationIndexOfLine.h
include/geos/algorithm/LocationIndexOfPoint.h
include/geos/algorithm/MCPointInRing.h
include/geos/algorithm/MinimumDiameter.h
include/geos/algorithm/NotRepresentableException.h
include/geos/algorithm/PointInRing.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/algorithm/PointLocator.h
include/geos/algorithm/RayCrossingCounter.h
include/geos/algorithm/RobustDeterminant.h
include/geos/algorithm/SIRtreePointInRing.h
include/geos/algorithm/SimplePointInRing.h
include/geos/algorithm/distance/DiscreteHausdorffDistance.h
include/geos/algorithm/distance/DistanceToPoint.h
include/geos/algorithm/distance/PointPairDistance.h
include/geos/algorithm/locate/IndexedPointInAreaLocator.h
include/geos/algorithm/locate/PointOnGeometryLocator.h
include/geos/algorithm/locate/SimplePointInAreaLocator.h
include/geos/export.h
include/geos/geom.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/geom/BinaryOp.h
include/geos/geom/Coordinate.h
include/geos/geom/Coordinate.inl
include/geos/geom/CoordinateArraySequence.h
include/geos/geom/CoordinateArraySequenceFactory.h
include/geos/geom/CoordinateArraySequenceFactory.inl
include/geos/geom/CoordinateFilter.h
include/geos/geom/CoordinateList.h
include/geos/geom/CoordinateSequence.h
include/geos/geom/CoordinateSequenceFactory.h
include/geos/geom/CoordinateSequenceFilter.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/geom/Dimension.h
include/geos/geom/Envelope.h
include/geos/geom/Envelope.inl
include/geos/geom/Geometry.h
include/geos/geom/GeometryCollection.h
include/geos/geom/GeometryCollection.inl
include/geos/geom/GeometryComponentFilter.h
include/geos/geom/GeometryFactory.h
include/geos/geom/GeometryFactory.inl
include/geos/geom/GeometryFilter.h
include/geos/geom/GeometryList.h
include/geos/geom/IntersectionMatrix.h
include/geos/geom/LineSegment.h
include/geos/geom/LineSegment.inl
include/geos/geom/LineString.h
Changes 3.3.0: - New things: - CAPI: GEOSBufferWithParams (allows single sided buffers) - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows passing flags. - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection - CAPI: GEOSGeom_extractUniquePoints - CAPI: GEOSGetGeometryN support for single geometries - CAPI: GEOSPolygonize_full to return all informations computed by the polygonizer - CAPI: GEOSOrientationIndex - CAPI: GEOSSharedPaths to find shared paths and their orientation - CAPI: GEOSSnap - CAPI: GEOSRelatePatternMatch - CAPI: GEOSCovers, GEOSCoveredBy - CAPI: GEOSRelateBoundaryNodeRule - PHP: new PHP5 bindings based on CAPI - Semantic C++ API changes: - Geometry inheritance chain changed to introduce Puntal, Lineal and Polygonal classes (virtual inheritance introduced) - Polygonizer::getInvalidRingLines retains ownership of vector elements - Geometry::isWithinDistance method is now const - Polygonizer::getCutEdges returns by const ref - Polygonizer::getDangles returns by const ref - Empty LinearRings are closed by definition - Bug fixes / improvements - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs - Invalid compound geometries reported as valid - Return up to 15 digits of precision from GEOSisValidReason_t - CAPI: do not leak contexts when using the non-reentrant interface - Fix duplicated dangles returned by Polygonizer - Fix SnapIfNeededOverlayOp to throw the originating exception - Fixed LineMerger to skip lines with only a single unique coordinate - Fix NodedSegmentString to handle zero-length line segments correctly (via safeOctant) - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly - Added illegal state check in LineSegment::pointAlongOffset() - Improved performance of RectangleIntersects by always using segment-scanning and refining SegmentIntersectionTester - Reduce memory use in PreparedGeometry predicates - Fix infinite loop in RobustDeterminant with nan/inf input
2011-06-16 11:24:05 +02:00
include/geos/geom/Lineal.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/geom/LinearRing.h
include/geos/geom/Location.h
include/geos/geom/MultiLineString.h
include/geos/geom/MultiLineString.inl
include/geos/geom/MultiPoint.h
include/geos/geom/MultiPolygon.h
include/geos/geom/MultiPolygon.inl
include/geos/geom/Point.h
include/geos/geom/Polygon.h
Changes 3.3.0: - New things: - CAPI: GEOSBufferWithParams (allows single sided buffers) - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows passing flags. - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection - CAPI: GEOSGeom_extractUniquePoints - CAPI: GEOSGetGeometryN support for single geometries - CAPI: GEOSPolygonize_full to return all informations computed by the polygonizer - CAPI: GEOSOrientationIndex - CAPI: GEOSSharedPaths to find shared paths and their orientation - CAPI: GEOSSnap - CAPI: GEOSRelatePatternMatch - CAPI: GEOSCovers, GEOSCoveredBy - CAPI: GEOSRelateBoundaryNodeRule - PHP: new PHP5 bindings based on CAPI - Semantic C++ API changes: - Geometry inheritance chain changed to introduce Puntal, Lineal and Polygonal classes (virtual inheritance introduced) - Polygonizer::getInvalidRingLines retains ownership of vector elements - Geometry::isWithinDistance method is now const - Polygonizer::getCutEdges returns by const ref - Polygonizer::getDangles returns by const ref - Empty LinearRings are closed by definition - Bug fixes / improvements - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs - Invalid compound geometries reported as valid - Return up to 15 digits of precision from GEOSisValidReason_t - CAPI: do not leak contexts when using the non-reentrant interface - Fix duplicated dangles returned by Polygonizer - Fix SnapIfNeededOverlayOp to throw the originating exception - Fixed LineMerger to skip lines with only a single unique coordinate - Fix NodedSegmentString to handle zero-length line segments correctly (via safeOctant) - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly - Added illegal state check in LineSegment::pointAlongOffset() - Improved performance of RectangleIntersects by always using segment-scanning and refining SegmentIntersectionTester - Reduce memory use in PreparedGeometry predicates - Fix infinite loop in RobustDeterminant with nan/inf input
2011-06-16 11:24:05 +02:00
include/geos/geom/Polygonal.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/geom/PrecisionModel.h
include/geos/geom/PrecisionModel.inl
Changes 3.3.0: - New things: - CAPI: GEOSBufferWithParams (allows single sided buffers) - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows passing flags. - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection - CAPI: GEOSGeom_extractUniquePoints - CAPI: GEOSGetGeometryN support for single geometries - CAPI: GEOSPolygonize_full to return all informations computed by the polygonizer - CAPI: GEOSOrientationIndex - CAPI: GEOSSharedPaths to find shared paths and their orientation - CAPI: GEOSSnap - CAPI: GEOSRelatePatternMatch - CAPI: GEOSCovers, GEOSCoveredBy - CAPI: GEOSRelateBoundaryNodeRule - PHP: new PHP5 bindings based on CAPI - Semantic C++ API changes: - Geometry inheritance chain changed to introduce Puntal, Lineal and Polygonal classes (virtual inheritance introduced) - Polygonizer::getInvalidRingLines retains ownership of vector elements - Geometry::isWithinDistance method is now const - Polygonizer::getCutEdges returns by const ref - Polygonizer::getDangles returns by const ref - Empty LinearRings are closed by definition - Bug fixes / improvements - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs - Invalid compound geometries reported as valid - Return up to 15 digits of precision from GEOSisValidReason_t - CAPI: do not leak contexts when using the non-reentrant interface - Fix duplicated dangles returned by Polygonizer - Fix SnapIfNeededOverlayOp to throw the originating exception - Fixed LineMerger to skip lines with only a single unique coordinate - Fix NodedSegmentString to handle zero-length line segments correctly (via safeOctant) - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly - Added illegal state check in LineSegment::pointAlongOffset() - Improved performance of RectangleIntersects by always using segment-scanning and refining SegmentIntersectionTester - Reduce memory use in PreparedGeometry predicates - Fix infinite loop in RobustDeterminant with nan/inf input
2011-06-16 11:24:05 +02:00
include/geos/geom/Puntal.h
include/geos/geom/Triangle.h
include/geos/geom/prep/AbstractPreparedPolygonContains.h
include/geos/geom/prep/BasicPreparedGeometry.h
include/geos/geom/prep/PreparedGeometry.h
include/geos/geom/prep/PreparedGeometryFactory.h
include/geos/geom/prep/PreparedLineString.h
include/geos/geom/prep/PreparedLineStringIntersects.h
include/geos/geom/prep/PreparedPoint.h
include/geos/geom/prep/PreparedPolygon.h
include/geos/geom/prep/PreparedPolygonContains.h
include/geos/geom/prep/PreparedPolygonContainsProperly.h
include/geos/geom/prep/PreparedPolygonCovers.h
include/geos/geom/prep/PreparedPolygonIntersects.h
include/geos/geom/prep/PreparedPolygonPredicate.h
include/geos/geom/util/ComponentCoordinateExtracter.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/geom/util/CoordinateOperation.h
include/geos/geom/util/GeometryCombiner.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/geom/util/GeometryEditor.h
include/geos/geom/util/GeometryEditorOperation.h
Changes 3.3.0: - New things: - CAPI: GEOSBufferWithParams (allows single sided buffers) - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows passing flags. - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection - CAPI: GEOSGeom_extractUniquePoints - CAPI: GEOSGetGeometryN support for single geometries - CAPI: GEOSPolygonize_full to return all informations computed by the polygonizer - CAPI: GEOSOrientationIndex - CAPI: GEOSSharedPaths to find shared paths and their orientation - CAPI: GEOSSnap - CAPI: GEOSRelatePatternMatch - CAPI: GEOSCovers, GEOSCoveredBy - CAPI: GEOSRelateBoundaryNodeRule - PHP: new PHP5 bindings based on CAPI - Semantic C++ API changes: - Geometry inheritance chain changed to introduce Puntal, Lineal and Polygonal classes (virtual inheritance introduced) - Polygonizer::getInvalidRingLines retains ownership of vector elements - Geometry::isWithinDistance method is now const - Polygonizer::getCutEdges returns by const ref - Polygonizer::getDangles returns by const ref - Empty LinearRings are closed by definition - Bug fixes / improvements - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs - Invalid compound geometries reported as valid - Return up to 15 digits of precision from GEOSisValidReason_t - CAPI: do not leak contexts when using the non-reentrant interface - Fix duplicated dangles returned by Polygonizer - Fix SnapIfNeededOverlayOp to throw the originating exception - Fixed LineMerger to skip lines with only a single unique coordinate - Fix NodedSegmentString to handle zero-length line segments correctly (via safeOctant) - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly - Added illegal state check in LineSegment::pointAlongOffset() - Improved performance of RectangleIntersects by always using segment-scanning and refining SegmentIntersectionTester - Reduce memory use in PreparedGeometry predicates - Fix infinite loop in RobustDeterminant with nan/inf input
2011-06-16 11:24:05 +02:00
include/geos/geom/util/GeometryExtracter.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/geom/util/GeometryTransformer.h
include/geos/geom/util/LinearComponentExtracter.h
include/geos/geom/util/PointExtracter.h
include/geos/geom/util/PolygonExtracter.h
include/geos/geom/util/ShortCircuitedGeometryVisitor.h
Changes 3.3.0: - New things: - CAPI: GEOSBufferWithParams (allows single sided buffers) - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows passing flags. - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection - CAPI: GEOSGeom_extractUniquePoints - CAPI: GEOSGetGeometryN support for single geometries - CAPI: GEOSPolygonize_full to return all informations computed by the polygonizer - CAPI: GEOSOrientationIndex - CAPI: GEOSSharedPaths to find shared paths and their orientation - CAPI: GEOSSnap - CAPI: GEOSRelatePatternMatch - CAPI: GEOSCovers, GEOSCoveredBy - CAPI: GEOSRelateBoundaryNodeRule - PHP: new PHP5 bindings based on CAPI - Semantic C++ API changes: - Geometry inheritance chain changed to introduce Puntal, Lineal and Polygonal classes (virtual inheritance introduced) - Polygonizer::getInvalidRingLines retains ownership of vector elements - Geometry::isWithinDistance method is now const - Polygonizer::getCutEdges returns by const ref - Polygonizer::getDangles returns by const ref - Empty LinearRings are closed by definition - Bug fixes / improvements - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs - Invalid compound geometries reported as valid - Return up to 15 digits of precision from GEOSisValidReason_t - CAPI: do not leak contexts when using the non-reentrant interface - Fix duplicated dangles returned by Polygonizer - Fix SnapIfNeededOverlayOp to throw the originating exception - Fixed LineMerger to skip lines with only a single unique coordinate - Fix NodedSegmentString to handle zero-length line segments correctly (via safeOctant) - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly - Added illegal state check in LineSegment::pointAlongOffset() - Improved performance of RectangleIntersects by always using segment-scanning and refining SegmentIntersectionTester - Reduce memory use in PreparedGeometry predicates - Fix infinite loop in RobustDeterminant with nan/inf input
2011-06-16 11:24:05 +02:00
include/geos/geom/util/SineStarFactory.h
include/geos/geomUtil.h
include/geos/geomgraph.h
include/geos/geomgraph/Depth.h
include/geos/geomgraph/DirectedEdge.h
include/geos/geomgraph/DirectedEdge.inl
include/geos/geomgraph/DirectedEdgeStar.h
include/geos/geomgraph/Edge.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/geomgraph/EdgeEnd.h
include/geos/geomgraph/EdgeEndStar.h
include/geos/geomgraph/EdgeIntersection.h
include/geos/geomgraph/EdgeIntersectionList.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/geomgraph/EdgeList.h
include/geos/geomgraph/EdgeNodingValidator.h
include/geos/geomgraph/EdgeRing.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/geomgraph/GeometryGraph.h
include/geos/geomgraph/GeometryGraph.inl
include/geos/geomgraph/GraphComponent.h
include/geos/geomgraph/Label.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/geomgraph/Node.h
include/geos/geomgraph/NodeFactory.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/geomgraph/NodeMap.h
include/geos/geomgraph/PlanarGraph.h
include/geos/geomgraph/Position.h
include/geos/geomgraph/Quadrant.h
include/geos/geomgraph/TopologyLocation.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/geomgraph/index/EdgeSetIntersector.h
include/geos/geomgraph/index/MonotoneChain.h
include/geos/geomgraph/index/MonotoneChainEdge.h
include/geos/geomgraph/index/MonotoneChainIndexer.h
include/geos/geomgraph/index/SegmentIntersector.h
include/geos/geomgraph/index/SimpleEdgeSetIntersector.h
include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h
include/geos/geomgraph/index/SimpleSweepLineIntersector.h
include/geos/geomgraph/index/SweepLineEvent.h
include/geos/geomgraph/index/SweepLineEventObj.h
include/geos/geomgraph/index/SweepLineSegment.h
include/geos/geomgraphindex.h
include/geos/geosAlgorithm.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/index/ItemVisitor.h
include/geos/index/SpatialIndex.h
include/geos/index/bintree/Bintree.h
include/geos/index/bintree/Interval.h
include/geos/index/bintree/Key.h
include/geos/index/bintree/Node.h
include/geos/index/bintree/NodeBase.h
include/geos/index/bintree/Root.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/index/chain/MonotoneChain.h
include/geos/index/chain/MonotoneChainBuilder.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/index/chain/MonotoneChainOverlapAction.h
include/geos/index/chain/MonotoneChainSelectAction.h
include/geos/index/intervalrtree/IntervalRTreeBranchNode.h
include/geos/index/intervalrtree/IntervalRTreeLeafNode.h
include/geos/index/intervalrtree/IntervalRTreeNode.h
include/geos/index/intervalrtree/SortedPackedIntervalRTree.h
include/geos/index/quadtree/DoubleBits.h
include/geos/index/quadtree/IntervalSize.h
include/geos/index/quadtree/Key.h
include/geos/index/quadtree/Node.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/index/quadtree/NodeBase.h
include/geos/index/quadtree/Quadtree.h
include/geos/index/quadtree/Root.h
include/geos/index/strtree/AbstractNode.h
include/geos/index/strtree/AbstractSTRtree.h
include/geos/index/strtree/Boundable.h
include/geos/index/strtree/Interval.h
include/geos/index/strtree/ItemBoundable.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/index/strtree/SIRtree.h
include/geos/index/strtree/STRtree.h
include/geos/index/sweepline/SweepLineEvent.h
include/geos/index/sweepline/SweepLineIndex.h
include/geos/index/sweepline/SweepLineInterval.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/index/sweepline/SweepLineOverlapAction.h
include/geos/indexBintree.h
include/geos/indexChain.h
include/geos/indexQuadtree.h
include/geos/indexStrtree.h
include/geos/indexSweepline.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/inline.h
include/geos/io.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/io/ByteOrderDataInStream.h
include/geos/io/ByteOrderDataInStream.inl
include/geos/io/ByteOrderValues.h
include/geos/io/CLocalizer.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/io/ParseException.h
include/geos/io/StringTokenizer.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/io/WKBConstants.h
include/geos/io/WKBReader.h
include/geos/io/WKBWriter.h
include/geos/io/WKTReader.h
include/geos/io/WKTReader.inl
include/geos/io/WKTWriter.h
include/geos/io/Writer.h
include/geos/noding.h
include/geos/noding/BasicSegmentString.h
include/geos/noding/FastNodingValidator.h
include/geos/noding/FastSegmentSetIntersectionFinder.h
include/geos/noding/IntersectionAdder.h
include/geos/noding/IntersectionFinderAdder.h
include/geos/noding/IteratedNoder.h
include/geos/noding/MCIndexNoder.h
include/geos/noding/MCIndexNoder.inl
include/geos/noding/MCIndexSegmentSetMutualIntersector.h
include/geos/noding/NodableSegmentString.h
include/geos/noding/NodedSegmentString.h
include/geos/noding/Noder.h
include/geos/noding/NodingValidator.h
include/geos/noding/Octant.h
include/geos/noding/OrientedCoordinateArray.h
include/geos/noding/ScaledNoder.h
include/geos/noding/SegmentIntersectionDetector.h
include/geos/noding/SegmentIntersector.h
include/geos/noding/SegmentNode.h
include/geos/noding/SegmentNodeList.h
Changes 3.3.0: - New things: - CAPI: GEOSBufferWithParams (allows single sided buffers) - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows passing flags. - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection - CAPI: GEOSGeom_extractUniquePoints - CAPI: GEOSGetGeometryN support for single geometries - CAPI: GEOSPolygonize_full to return all informations computed by the polygonizer - CAPI: GEOSOrientationIndex - CAPI: GEOSSharedPaths to find shared paths and their orientation - CAPI: GEOSSnap - CAPI: GEOSRelatePatternMatch - CAPI: GEOSCovers, GEOSCoveredBy - CAPI: GEOSRelateBoundaryNodeRule - PHP: new PHP5 bindings based on CAPI - Semantic C++ API changes: - Geometry inheritance chain changed to introduce Puntal, Lineal and Polygonal classes (virtual inheritance introduced) - Polygonizer::getInvalidRingLines retains ownership of vector elements - Geometry::isWithinDistance method is now const - Polygonizer::getCutEdges returns by const ref - Polygonizer::getDangles returns by const ref - Empty LinearRings are closed by definition - Bug fixes / improvements - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs - Invalid compound geometries reported as valid - Return up to 15 digits of precision from GEOSisValidReason_t - CAPI: do not leak contexts when using the non-reentrant interface - Fix duplicated dangles returned by Polygonizer - Fix SnapIfNeededOverlayOp to throw the originating exception - Fixed LineMerger to skip lines with only a single unique coordinate - Fix NodedSegmentString to handle zero-length line segments correctly (via safeOctant) - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly - Added illegal state check in LineSegment::pointAlongOffset() - Improved performance of RectangleIntersects by always using segment-scanning and refining SegmentIntersectionTester - Reduce memory use in PreparedGeometry predicates - Fix infinite loop in RobustDeterminant with nan/inf input
2011-06-16 11:24:05 +02:00
include/geos/noding/SegmentPointComparator.h
include/geos/noding/SegmentSetMutualIntersector.h
include/geos/noding/SegmentString.h
include/geos/noding/SegmentString.inl
include/geos/noding/SegmentStringUtil.h
include/geos/noding/SimpleNoder.h
include/geos/noding/SingleInteriorIntersectionFinder.h
include/geos/noding/SinglePassNoder.h
include/geos/noding/snapround/HotPixel.h
include/geos/noding/snapround/HotPixel.inl
include/geos/noding/snapround/MCIndexPointSnapper.h
include/geos/noding/snapround/MCIndexSnapRounder.h
include/geos/noding/snapround/SimpleSnapRounder.h
include/geos/nodingSnapround.h
include/geos/opBuffer.h
include/geos/opDistance.h
include/geos/opLinemerge.h
include/geos/opOverlay.h
include/geos/opPolygonize.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/opPredicate.h
include/geos/opRelate.h
include/geos/opValid.h
include/geos/operation.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/operation/GeometryGraphOperation.h
include/geos/operation/IsSimpleOp.h
include/geos/operation/buffer/BufferBuilder.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/operation/buffer/BufferOp.h
include/geos/operation/buffer/BufferParameters.h
include/geos/operation/buffer/BufferSubgraph.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/operation/buffer/OffsetCurveBuilder.h
include/geos/operation/buffer/OffsetCurveSetBuilder.h
Changes 3.3.0: - New things: - CAPI: GEOSBufferWithParams (allows single sided buffers) - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows passing flags. - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection - CAPI: GEOSGeom_extractUniquePoints - CAPI: GEOSGetGeometryN support for single geometries - CAPI: GEOSPolygonize_full to return all informations computed by the polygonizer - CAPI: GEOSOrientationIndex - CAPI: GEOSSharedPaths to find shared paths and their orientation - CAPI: GEOSSnap - CAPI: GEOSRelatePatternMatch - CAPI: GEOSCovers, GEOSCoveredBy - CAPI: GEOSRelateBoundaryNodeRule - PHP: new PHP5 bindings based on CAPI - Semantic C++ API changes: - Geometry inheritance chain changed to introduce Puntal, Lineal and Polygonal classes (virtual inheritance introduced) - Polygonizer::getInvalidRingLines retains ownership of vector elements - Geometry::isWithinDistance method is now const - Polygonizer::getCutEdges returns by const ref - Polygonizer::getDangles returns by const ref - Empty LinearRings are closed by definition - Bug fixes / improvements - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs - Invalid compound geometries reported as valid - Return up to 15 digits of precision from GEOSisValidReason_t - CAPI: do not leak contexts when using the non-reentrant interface - Fix duplicated dangles returned by Polygonizer - Fix SnapIfNeededOverlayOp to throw the originating exception - Fixed LineMerger to skip lines with only a single unique coordinate - Fix NodedSegmentString to handle zero-length line segments correctly (via safeOctant) - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly - Added illegal state check in LineSegment::pointAlongOffset() - Improved performance of RectangleIntersects by always using segment-scanning and refining SegmentIntersectionTester - Reduce memory use in PreparedGeometry predicates - Fix infinite loop in RobustDeterminant with nan/inf input
2011-06-16 11:24:05 +02:00
include/geos/operation/buffer/OffsetSegmentGenerator.h
include/geos/operation/buffer/OffsetSegmentString.h
include/geos/operation/buffer/RightmostEdgeFinder.h
include/geos/operation/buffer/SubgraphDepthLocater.h
include/geos/operation/distance/ConnectedElementLocationFilter.h
include/geos/operation/distance/ConnectedElementPointFilter.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/operation/distance/DistanceOp.h
include/geos/operation/distance/GeometryLocation.h
include/geos/operation/linemerge/EdgeString.h
include/geos/operation/linemerge/LineMergeDirectedEdge.h
include/geos/operation/linemerge/LineMergeEdge.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/operation/linemerge/LineMergeGraph.h
include/geos/operation/linemerge/LineMerger.h
include/geos/operation/linemerge/LineSequencer.h
include/geos/operation/overlay/EdgeSetNoder.h
include/geos/operation/overlay/ElevationMatrix.h
include/geos/operation/overlay/ElevationMatrixCell.h
include/geos/operation/overlay/FuzzyPointLocator.h
include/geos/operation/overlay/LineBuilder.h
include/geos/operation/overlay/MaximalEdgeRing.h
include/geos/operation/overlay/MinimalEdgeRing.h
include/geos/operation/overlay/MinimalEdgeRing.inl
include/geos/operation/overlay/OffsetPointGenerator.h
include/geos/operation/overlay/OverlayNodeFactory.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/operation/overlay/OverlayOp.h
include/geos/operation/overlay/OverlayResultValidator.h
include/geos/operation/overlay/PointBuilder.h
include/geos/operation/overlay/PolygonBuilder.h
include/geos/operation/overlay/snap/GeometrySnapper.h
include/geos/operation/overlay/snap/LineStringSnapper.h
include/geos/operation/overlay/snap/SnapIfNeededOverlayOp.h
include/geos/operation/overlay/snap/SnapOverlayOp.h
include/geos/operation/polygonize/EdgeRing.h
include/geos/operation/polygonize/PolygonizeDirectedEdge.h
include/geos/operation/polygonize/PolygonizeEdge.h
include/geos/operation/polygonize/PolygonizeGraph.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/operation/polygonize/Polygonizer.h
include/geos/operation/predicate/RectangleContains.h
include/geos/operation/predicate/RectangleIntersects.h
include/geos/operation/predicate/SegmentIntersectionTester.h
include/geos/operation/relate/EdgeEndBuilder.h
include/geos/operation/relate/EdgeEndBundle.h
include/geos/operation/relate/EdgeEndBundleStar.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/operation/relate/RelateComputer.h
include/geos/operation/relate/RelateNode.h
include/geos/operation/relate/RelateNodeFactory.h
include/geos/operation/relate/RelateNodeGraph.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/operation/relate/RelateOp.h
Changes 3.3.0: - New things: - CAPI: GEOSBufferWithParams (allows single sided buffers) - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows passing flags. - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection - CAPI: GEOSGeom_extractUniquePoints - CAPI: GEOSGetGeometryN support for single geometries - CAPI: GEOSPolygonize_full to return all informations computed by the polygonizer - CAPI: GEOSOrientationIndex - CAPI: GEOSSharedPaths to find shared paths and their orientation - CAPI: GEOSSnap - CAPI: GEOSRelatePatternMatch - CAPI: GEOSCovers, GEOSCoveredBy - CAPI: GEOSRelateBoundaryNodeRule - PHP: new PHP5 bindings based on CAPI - Semantic C++ API changes: - Geometry inheritance chain changed to introduce Puntal, Lineal and Polygonal classes (virtual inheritance introduced) - Polygonizer::getInvalidRingLines retains ownership of vector elements - Geometry::isWithinDistance method is now const - Polygonizer::getCutEdges returns by const ref - Polygonizer::getDangles returns by const ref - Empty LinearRings are closed by definition - Bug fixes / improvements - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs - Invalid compound geometries reported as valid - Return up to 15 digits of precision from GEOSisValidReason_t - CAPI: do not leak contexts when using the non-reentrant interface - Fix duplicated dangles returned by Polygonizer - Fix SnapIfNeededOverlayOp to throw the originating exception - Fixed LineMerger to skip lines with only a single unique coordinate - Fix NodedSegmentString to handle zero-length line segments correctly (via safeOctant) - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly - Added illegal state check in LineSegment::pointAlongOffset() - Improved performance of RectangleIntersects by always using segment-scanning and refining SegmentIntersectionTester - Reduce memory use in PreparedGeometry predicates - Fix infinite loop in RobustDeterminant with nan/inf input
2011-06-16 11:24:05 +02:00
include/geos/operation/sharedpaths/SharedPathsOp.h
include/geos/operation/union/CascadedPolygonUnion.h
Changes 3.3.0: - New things: - CAPI: GEOSBufferWithParams (allows single sided buffers) - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows passing flags. - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection - CAPI: GEOSGeom_extractUniquePoints - CAPI: GEOSGetGeometryN support for single geometries - CAPI: GEOSPolygonize_full to return all informations computed by the polygonizer - CAPI: GEOSOrientationIndex - CAPI: GEOSSharedPaths to find shared paths and their orientation - CAPI: GEOSSnap - CAPI: GEOSRelatePatternMatch - CAPI: GEOSCovers, GEOSCoveredBy - CAPI: GEOSRelateBoundaryNodeRule - PHP: new PHP5 bindings based on CAPI - Semantic C++ API changes: - Geometry inheritance chain changed to introduce Puntal, Lineal and Polygonal classes (virtual inheritance introduced) - Polygonizer::getInvalidRingLines retains ownership of vector elements - Geometry::isWithinDistance method is now const - Polygonizer::getCutEdges returns by const ref - Polygonizer::getDangles returns by const ref - Empty LinearRings are closed by definition - Bug fixes / improvements - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs - Invalid compound geometries reported as valid - Return up to 15 digits of precision from GEOSisValidReason_t - CAPI: do not leak contexts when using the non-reentrant interface - Fix duplicated dangles returned by Polygonizer - Fix SnapIfNeededOverlayOp to throw the originating exception - Fixed LineMerger to skip lines with only a single unique coordinate - Fix NodedSegmentString to handle zero-length line segments correctly (via safeOctant) - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly - Added illegal state check in LineSegment::pointAlongOffset() - Improved performance of RectangleIntersects by always using segment-scanning and refining SegmentIntersectionTester - Reduce memory use in PreparedGeometry predicates - Fix infinite loop in RobustDeterminant with nan/inf input
2011-06-16 11:24:05 +02:00
include/geos/operation/union/CascadedUnion.h
include/geos/operation/union/GeometryListHolder.h
include/geos/operation/union/PointGeometryUnion.h
include/geos/operation/union/UnaryUnionOp.h
include/geos/operation/valid/ConnectedInteriorTester.h
include/geos/operation/valid/ConsistentAreaTester.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/operation/valid/IsValidOp.h
include/geos/operation/valid/QuadtreeNestedRingTester.h
include/geos/operation/valid/RepeatedPointTester.h
include/geos/operation/valid/SimpleNestedRingTester.h
include/geos/operation/valid/SweeplineNestedRingTester.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/operation/valid/TopologyValidationError.h
include/geos/planargraph.h
include/geos/planargraph/DirectedEdge.h
include/geos/planargraph/DirectedEdgeStar.h
include/geos/planargraph/Edge.h
include/geos/planargraph/GraphComponent.h
include/geos/planargraph/Node.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/planargraph/NodeMap.h
include/geos/planargraph/PlanarGraph.h
include/geos/planargraph/Subgraph.h
include/geos/planargraph/algorithm/ConnectedSubgraphFinder.h
include/geos/platform.h
include/geos/precision.h
include/geos/precision/CommonBits.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/precision/CommonBitsOp.h
include/geos/precision/CommonBitsRemover.h
include/geos/precision/EnhancedPrecisionOp.h
include/geos/precision/SimpleGeometryPrecisionReducer.h
include/geos/profiler.h
include/geos/simplify/DouglasPeuckerLineSimplifier.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/simplify/DouglasPeuckerSimplifier.h
include/geos/simplify/LineSegmentIndex.h
include/geos/simplify/TaggedLineSegment.h
include/geos/simplify/TaggedLineString.h
include/geos/simplify/TaggedLineStringSimplifier.h
include/geos/simplify/TaggedLinesSimplifier.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/simplify/TopologyPreservingSimplifier.h
include/geos/spatialIndex.h
Update to 2.2.3. (Minor and irrelevant changes omitted.) Take maintainership. Changes in 2.2.3 - CAPI: multiple finishGEOS() calls made harmless. Changes in 2.2.2 - Added LinearRing::clone - Added GEOSArea(), GEOSLength(), GEOSEnvelope(), and GEOSGeomType() to C API - Cleanups in C-API - Support for gcc-4 - Fixed Polygon::equalsExact - Fixed bug in NULL-factory Geometry constructor - Cleanups in SWIG wrappers - New Ruby bindings - Enumerated SweepLineEvent's DELETE and INSERT labels renamed to DELETE_EVENT and INSERT_EVENT. - Fixed geos-config to use system-specific libs path - Accept correct WKT format for MultiPoints - SRID support in (E)WKB reader. Changes in 2.2.0 - Higher dimensions interface for CoordinateSequence - Added getCoordinatesRO for Point class - NEW WKB IO - NEW Simplified and stabler C API Changes in 2.1.4 - Severe BUGFIX in BufferSubgraphGT and other functions used as StrictWeakOrdering predicates for sort() Changes in 2.1.3 - XMLTester installed by default - New Node::isIncidentEdgeInResult() method Changes in 2.1.2 - Added multipolygon buffering test in source/test/testLeaksBig - Ported JTS robustness patch for RobustLineIntersector - Removed useless Coordinate copies in OverlayOp::mergeZ() - Avoided throws by IsValid on invalid input - Stricter C++ syntax (math.h=>cmath, ieeefp.h in "C" block, ostringstream instead of sprintf) - Better support for older compilers (Polygonizer::LineStringAdder friendship) - Removed useless Coordinate copies in CGAlgorithms::isOnLine() - Added support for polygonize and parametrized buffer tests in XMLTester - Fixed Z interpolation in LineIntersector - Made polygon::getBoundary() always OGC-valid (no LinearRings) - Input checking and promoting in GeometryFactory::createMultiLineString() - Segfault fix in GeometryEditor::editPolygon() Changes in 2.1.1 - Fixed uninitialized Coordinate in TopologyException - Added install of version.h, platform.h and timeval.h - Z interpolation in overlay operations Changes in 2.1.0 - Added Polygonizer and LineMerger classes. - python wrapper examples - Z support in overlay operations.
2006-11-10 22:00:23 +01:00
include/geos/timeval.h
include/geos/unload.h
include/geos/util.h
include/geos/util/Assert.h
include/geos/util/AssertionFailedException.h
include/geos/util/CoordinateArrayFilter.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/util/GEOSException.h
include/geos/util/GeometricShapeFactory.h
include/geos/util/IllegalArgumentException.h
Changes 3.3.0: - New things: - CAPI: GEOSBufferWithParams (allows single sided buffers) - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows passing flags. - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection - CAPI: GEOSGeom_extractUniquePoints - CAPI: GEOSGetGeometryN support for single geometries - CAPI: GEOSPolygonize_full to return all informations computed by the polygonizer - CAPI: GEOSOrientationIndex - CAPI: GEOSSharedPaths to find shared paths and their orientation - CAPI: GEOSSnap - CAPI: GEOSRelatePatternMatch - CAPI: GEOSCovers, GEOSCoveredBy - CAPI: GEOSRelateBoundaryNodeRule - PHP: new PHP5 bindings based on CAPI - Semantic C++ API changes: - Geometry inheritance chain changed to introduce Puntal, Lineal and Polygonal classes (virtual inheritance introduced) - Polygonizer::getInvalidRingLines retains ownership of vector elements - Geometry::isWithinDistance method is now const - Polygonizer::getCutEdges returns by const ref - Polygonizer::getDangles returns by const ref - Empty LinearRings are closed by definition - Bug fixes / improvements - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs - Invalid compound geometries reported as valid - Return up to 15 digits of precision from GEOSisValidReason_t - CAPI: do not leak contexts when using the non-reentrant interface - Fix duplicated dangles returned by Polygonizer - Fix SnapIfNeededOverlayOp to throw the originating exception - Fixed LineMerger to skip lines with only a single unique coordinate - Fix NodedSegmentString to handle zero-length line segments correctly (via safeOctant) - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly - Added illegal state check in LineSegment::pointAlongOffset() - Improved performance of RectangleIntersects by always using segment-scanning and refining SegmentIntersectionTester - Reduce memory use in PreparedGeometry predicates - Fix infinite loop in RobustDeterminant with nan/inf input
2011-06-16 11:24:05 +02:00
include/geos/util/IllegalStateException.h
include/geos/util/Machine.h
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
2008-02-16 02:23:28 +01:00
include/geos/util/TopologyException.h
include/geos/util/UniqueCoordinateArrayFilter.h
include/geos/util/UnsupportedOperationException.h
include/geos/util/math.h
include/geos/version.h
Update to 2.2.3. (Minor and irrelevant changes omitted.) Take maintainership. Changes in 2.2.3 - CAPI: multiple finishGEOS() calls made harmless. Changes in 2.2.2 - Added LinearRing::clone - Added GEOSArea(), GEOSLength(), GEOSEnvelope(), and GEOSGeomType() to C API - Cleanups in C-API - Support for gcc-4 - Fixed Polygon::equalsExact - Fixed bug in NULL-factory Geometry constructor - Cleanups in SWIG wrappers - New Ruby bindings - Enumerated SweepLineEvent's DELETE and INSERT labels renamed to DELETE_EVENT and INSERT_EVENT. - Fixed geos-config to use system-specific libs path - Accept correct WKT format for MultiPoints - SRID support in (E)WKB reader. Changes in 2.2.0 - Higher dimensions interface for CoordinateSequence - Added getCoordinatesRO for Point class - NEW WKB IO - NEW Simplified and stabler C API Changes in 2.1.4 - Severe BUGFIX in BufferSubgraphGT and other functions used as StrictWeakOrdering predicates for sort() Changes in 2.1.3 - XMLTester installed by default - New Node::isIncidentEdgeInResult() method Changes in 2.1.2 - Added multipolygon buffering test in source/test/testLeaksBig - Ported JTS robustness patch for RobustLineIntersector - Removed useless Coordinate copies in OverlayOp::mergeZ() - Avoided throws by IsValid on invalid input - Stricter C++ syntax (math.h=>cmath, ieeefp.h in "C" block, ostringstream instead of sprintf) - Better support for older compilers (Polygonizer::LineStringAdder friendship) - Removed useless Coordinate copies in CGAlgorithms::isOnLine() - Added support for polygonize and parametrized buffer tests in XMLTester - Fixed Z interpolation in LineIntersector - Made polygon::getBoundary() always OGC-valid (no LinearRings) - Input checking and promoting in GeometryFactory::createMultiLineString() - Segfault fix in GeometryEditor::editPolygon() Changes in 2.1.1 - Fixed uninitialized Coordinate in TopologyException - Added install of version.h, platform.h and timeval.h - Z interpolation in overlay operations Changes in 2.1.0 - Added Polygonizer and LineMerger classes. - python wrapper examples - Z support in overlay operations.
2006-11-10 22:00:23 +01:00
include/geos_c.h
lib/libgeos.la
Update to 2.2.3. (Minor and irrelevant changes omitted.) Take maintainership. Changes in 2.2.3 - CAPI: multiple finishGEOS() calls made harmless. Changes in 2.2.2 - Added LinearRing::clone - Added GEOSArea(), GEOSLength(), GEOSEnvelope(), and GEOSGeomType() to C API - Cleanups in C-API - Support for gcc-4 - Fixed Polygon::equalsExact - Fixed bug in NULL-factory Geometry constructor - Cleanups in SWIG wrappers - New Ruby bindings - Enumerated SweepLineEvent's DELETE and INSERT labels renamed to DELETE_EVENT and INSERT_EVENT. - Fixed geos-config to use system-specific libs path - Accept correct WKT format for MultiPoints - SRID support in (E)WKB reader. Changes in 2.2.0 - Higher dimensions interface for CoordinateSequence - Added getCoordinatesRO for Point class - NEW WKB IO - NEW Simplified and stabler C API Changes in 2.1.4 - Severe BUGFIX in BufferSubgraphGT and other functions used as StrictWeakOrdering predicates for sort() Changes in 2.1.3 - XMLTester installed by default - New Node::isIncidentEdgeInResult() method Changes in 2.1.2 - Added multipolygon buffering test in source/test/testLeaksBig - Ported JTS robustness patch for RobustLineIntersector - Removed useless Coordinate copies in OverlayOp::mergeZ() - Avoided throws by IsValid on invalid input - Stricter C++ syntax (math.h=>cmath, ieeefp.h in "C" block, ostringstream instead of sprintf) - Better support for older compilers (Polygonizer::LineStringAdder friendship) - Removed useless Coordinate copies in CGAlgorithms::isOnLine() - Added support for polygonize and parametrized buffer tests in XMLTester - Fixed Z interpolation in LineIntersector - Made polygon::getBoundary() always OGC-valid (no LinearRings) - Input checking and promoting in GeometryFactory::createMultiLineString() - Segfault fix in GeometryEditor::editPolygon() Changes in 2.1.1 - Fixed uninitialized Coordinate in TopologyException - Added install of version.h, platform.h and timeval.h - Z interpolation in overlay operations Changes in 2.1.0 - Added Polygonizer and LineMerger classes. - python wrapper examples - Z support in overlay operations.
2006-11-10 22:00:23 +01:00
lib/libgeos_c.la