Commit Graph

90 Commits

Author SHA1 Message Date
Tom Payne 0bf34a52ff Add ol.geom.MultiLineString#setLineStrings 2013-12-20 16:33:26 +01:00
Tom Payne b179a27ade Rename ol.geom.simplify.schaub to quantize 2013-12-13 20:51:54 +01:00
Tom Payne 594cee01e4 Use Schaub's topology-preserving simplification method for Polygons and MultiPolygons 2013-12-13 13:59:29 +01:00
Tom Payne 5b1bbe15dd Add ol.geom.simplify.schaub 2013-12-13 13:59:29 +01:00
Tom Payne ccf96ea415 Fix ol.geom.GeometryCollection test 2013-12-12 11:30:33 +01:00
Tom Payne dd3c39bb12 Add deep clone test 2013-12-11 22:05:33 +01:00
Tom Payne d7eb4db69e Add ol.geom.GeometryCollection 2013-12-11 16:49:47 +01:00
Tom Payne 74bf8a7ecb Add ol.geom.closest 2013-12-09 16:40:53 +01:00
Tom Payne b374d5c5b8 Avoid simplifying geometries when it will have no effect 2013-12-09 16:37:33 +01:00
Tom Payne d3320da7c6 Add ol.geom.MultiPolygon#getSimplifiedGeometryInternal 2013-12-09 16:37:33 +01:00
Tom Payne e560192c0f Add ol.geom.Polygon#getSimplifiedGeometryInternal 2013-12-09 16:37:32 +01:00
Tom Payne 6275d8528e Add ol.geom.LineString#getSimplifiedGeometryInternal 2013-12-09 16:37:32 +01:00
Tom Payne ec03be94d6 Add initial ol.geom.simplify 2013-12-09 16:37:32 +01:00
Tom Payne c2228b1d19 Rename ol.geom.Layout to ol.geom.GeometryLayout 2013-12-04 16:27:03 +01:00
Tom Payne 1a9d19a2fb Allow geometries to have null coordinates and add setFlatCoordinates 2013-12-03 19:58:34 +01:00
Tom Payne 01c185ef57 Exploit known sense of rings to simplify area calculation 2013-12-02 12:15:07 +01:00
Tom Payne e90776a099 Add ol.geom.flat.linearRingsArea 2013-12-02 12:07:33 +01:00
Tom Payne f80cad531b Add ol.geom.flat.linearRingArea 2013-12-02 12:07:33 +01:00
Tom Payne c3378d0bd5 Order test cases alphabetically 2013-12-02 12:07:10 +01:00
Tom Payne b3473c3cba Add ol.geom.flat.flipXY 2013-12-02 09:08:06 +01:00
Tom Payne 321837f157 Add ol.geom.flat.lineStringInterpolate 2013-12-01 21:06:24 +01:00
Tom Payne 24ca534c54 Use skip instead of xit to mark failing tests 2013-11-20 11:44:48 +01:00
Tom Payne 0aa0cfd54b Move ol.geom.flatLinearRingIsClockwise into ol.geom.flat 2013-11-20 11:44:44 +01:00
Tom Payne ca639a057f Rename ol.test.geom to ol.test.geom.flat 2013-11-20 11:44:44 +01:00
Tom Payne 48d3402044 Move reverseFlatCoordinates into ol.geom.flat 2013-11-20 11:44:44 +01:00
Tom Payne 16e5f238d2 Move inflateCoordinates into ol.geom.flat 2013-11-20 11:44:44 +01:00
Tom Payne dc1ad7bb83 Move deflateCoodinates into ol.geom.flat 2013-11-20 11:44:44 +01:00
Tom Payne 376bd6359b Add more exhaustive polygon tests (some fail for reasons not yet known) 2013-11-20 11:42:09 +01:00
Tom Payne 43d67736a8 Add ol.geom.flatLinearRingIsClockwise 2013-11-20 11:42:09 +01:00
Tom Payne 72f64bd37a Add ol.geom.reverseFlatCoordinates 2013-11-20 11:42:08 +01:00
Tom Payne 809fee8988 Add missing whitespace 2013-11-20 11:42:08 +01:00
Tom Payne 07173c493e Refactor ol.geom.Polygon 2013-11-20 11:41:58 +01:00
Tom Payne 9d07e6509f Refactor ol.geom.MultiLineString 2013-11-20 11:41:58 +01:00
Tom Payne 7740929036 Add ol.geom.{de,in}flateCoordinatess 2013-11-20 11:41:58 +01:00
Tom Payne a89bf0c329 Refactor ol.geom.Point 2013-11-20 11:41:58 +01:00
Tom Payne 6d32756adf Add ol.geom.MultiPoint 2013-11-20 11:41:57 +01:00
Tom Payne ec748f254e Refactor ol.geom.LineString 2013-11-20 11:41:57 +01:00
Tom Payne f67fa27c9e Add ol.geom.{in,de}flateCoordinates 2013-11-20 11:41:57 +01:00
Tom Payne 4e65fefc00 Move vector code out of the way 2013-11-20 11:39:21 +01:00
ahocevar ed09173730 Deep clone geometry coordinates
Our geometries are mutable, so they can be modified without
creating garbage by changing coordinates in place and calling
setGeometry afterwards. But this also means that we need to
create a deep clone of the coordinates.
2013-11-12 11:36:40 +01:00
ahocevar 52552c9b18 Fire change events for multi-part geometries 2013-10-04 23:36:16 -06:00
Tim Schaub b821619368 Change event for polygons 2013-10-03 12:28:35 -06:00
Tim Schaub 30b2e3930b Add setCoordinates for linestring and dispatch change event 2013-10-03 12:28:35 -06:00
Tim Schaub e78690c2d2 Add setCoordinates for point and dispatch change event 2013-10-03 12:28:35 -06:00
Tim Schaub 9b47c15bd8 Make geometries event targets
Previously, the tests were using eql to make assertions about matching geometries.  This is inappropriate for structures with circular references (as with goog.events.EventTarget);
2013-10-03 12:28:34 -06:00
Tim Schaub 626a319222 Accessor for polygon rings 2013-10-03 12:28:34 -06:00
Tim Schaub 1aa83e133b Remove dimension property from geometries
This was only necessary when using the shared vertices structure.
2013-09-27 23:18:34 +01:00
Tim Schaub 3aff5e19f1 Remove shared vertices 2013-09-27 23:18:34 +01:00
Tim Schaub 33457c48de Add transform method to geometries
In the typical sequence of parse-transform-render the most efficient place to transform coordinate values is deep within the parser immediately after values have been read (this would avoid a second pass over whatever structure is used to back geometries).  To accomplish this transform during parsing, we could add back parser read options to pass the transform function around.

Until then, a transform method on geometries is straightforward to implement.  This means we do a second pass through coordinate structures to transform, but this is typically done only once immediately after parsing.
2013-09-27 23:18:34 +01:00
Tim Schaub 2850c761cf Remove use of shared vertices in geom package 2013-09-27 23:18:17 +01:00