[OpenLayers-Commits] r1775 - in sandbox/bertil: examples lib lib/OpenLayers/Control lib/OpenLayers/Control/Edition lib/OpenLayers/Feature/Geometry lib/OpenLayers/Layer lib/OpenLayers/Renderer
commits at openlayers.org
commits at openlayers.org
Wed Nov 8 09:54:33 EST 2006
Author: bertil
Date: 2006-11-08 09:54:31 -0500 (Wed, 08 Nov 2006)
New Revision: 1775
Added:
sandbox/bertil/lib/OpenLayers/Feature/Geometry/Aggregate.js
sandbox/bertil/lib/OpenLayers/Feature/Geometry/Curve.js
sandbox/bertil/lib/OpenLayers/Feature/Geometry/Surface.js
Removed:
sandbox/bertil/lib/OpenLayers/Feature/Geometry/Component.js
sandbox/bertil/lib/OpenLayers/Feature/Geometry/CubicBezierSurface.js
Modified:
sandbox/bertil/examples/vector.html
sandbox/bertil/lib/OpenLayers.js
sandbox/bertil/lib/OpenLayers/Control/Edition.js
sandbox/bertil/lib/OpenLayers/Control/Edition/DrawCurvePath.js
sandbox/bertil/lib/OpenLayers/Control/Edition/DrawLinearPath.js
sandbox/bertil/lib/OpenLayers/Control/Edition/Selection.js
sandbox/bertil/lib/OpenLayers/Feature/Geometry/CubicBezierCurve.js
sandbox/bertil/lib/OpenLayers/Feature/Geometry/LineSegment.js
sandbox/bertil/lib/OpenLayers/Feature/Geometry/LineString.js
sandbox/bertil/lib/OpenLayers/Feature/Geometry/LinearRing.js
sandbox/bertil/lib/OpenLayers/Feature/Geometry/Point.js
sandbox/bertil/lib/OpenLayers/Feature/Geometry/Polygon.js
sandbox/bertil/lib/OpenLayers/Layer/Vector.js
sandbox/bertil/lib/OpenLayers/Renderer/Svg.js
sandbox/bertil/lib/OpenLayers/Renderer/Vml.js
Log:
update
Modified: sandbox/bertil/examples/vector.html
===================================================================
--- sandbox/bertil/examples/vector.html 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/examples/vector.html 2006-11-08 14:54:31 UTC (rev 1775)
@@ -40,32 +40,30 @@
- var lineString = new OpenLayers.Feature.Geometry.LineString(
- [new OpenLayers.Feature.Geometry.Point(-10,-10),
- new OpenLayers.Feature.Geometry.Point(-20,-20),
- new OpenLayers.Feature.Geometry.Point(-30,-40)
- /*
- new OpenLayers.Feature.Geometry.Point(-30,-50),
- new OpenLayers.Feature.Geometry.Point(-40,-40),
- new OpenLayers.Feature.Geometry.Point(-10,-80),
- new OpenLayers.Feature.Geometry.Point(-90,-20)
- */
- ]);
-
-
- var bezier = new OpenLayers.Feature.Geometry.CubicBezierSurface(
- [new OpenLayers.Feature.Geometry.Point(10,10),
- new OpenLayers.Feature.Geometry.Point(20,20),
- new OpenLayers.Feature.Geometry.Point(30,40),
- new OpenLayers.Feature.Geometry.Point(50,80),
- new OpenLayers.Feature.Geometry.Point(60,20),
- new OpenLayers.Feature.Geometry.Point(100,60),
- new OpenLayers.Feature.Geometry.Point(30,40)]);
-
-
-
- vector.addFeatures(lineString);
- vector.addFeatures(bezier);
+ var lineString = new OpenLayers.Feature.Geometry.LineString([
+ new OpenLayers.Feature.Geometry.Point(-117.422,15.4688),
+ new OpenLayers.Feature.Geometry.Point(-119.531,25.3125),
+ new OpenLayers.Feature.Geometry.Point(-114.609,30.9375),
+ new OpenLayers.Feature.Geometry.Point(-111.797,37.9688),
+ new OpenLayers.Feature.Geometry.Point(-107.578,37.2656),
+ new OpenLayers.Feature.Geometry.Point(-101.25,31.6406),
+ new OpenLayers.Feature.Geometry.Point(-96.3281,34.4531),
+ new OpenLayers.Feature.Geometry.Point(-91.4062,30.2344),
+ new OpenLayers.Feature.Geometry.Point(-90,23.9062),
+ new OpenLayers.Feature.Geometry.Point(-76.6406,21.0938),
+ new OpenLayers.Feature.Geometry.Point(-75.2344,14.0625),
+ new OpenLayers.Feature.Geometry.Point(-77.3438,8.4375),
+ new OpenLayers.Feature.Geometry.Point(-74.5312,3.51562),
+ new OpenLayers.Feature.Geometry.Point(-78.75,0.703125),
+ new OpenLayers.Feature.Geometry.Point(-86.4844,4.92188),
+ new OpenLayers.Feature.Geometry.Point(-90.7031,2.8125),
+ new OpenLayers.Feature.Geometry.Point(-95.625,8.4375),
+ new OpenLayers.Feature.Geometry.Point(-100.547,4.21875),
+ new OpenLayers.Feature.Geometry.Point(-106.875,0.703125)
+ ]);
+
+ vector.addFeatures(lineString);
+
vector.renderer.observe();
map.events.register("draw", map, function(e) {
Modified: sandbox/bertil/lib/OpenLayers/Control/Edition/DrawCurvePath.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Control/Edition/DrawCurvePath.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Control/Edition/DrawCurvePath.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -146,18 +146,3 @@
CLASS_NAME: "OpenLayers.Control.DrawLinearPath"
});
-OpenLayers.Control.DrawCubicBezierCurve = OpenLayers.Class.create();
-OpenLayers.Control.DrawCubicBezierCurve.prototype =
- OpenLayers.Class.inherit( OpenLayers.Control.DrawCurvePath, {
-
- image: "stock_draw-curve.png",
-
- size: new OpenLayers.Size(24,24),
-
- initialize: function() {
- OpenLayers.Control.DrawCurvePath.prototype.initialize.apply(this, [OpenLayers.Feature.Geometry.CubicBezierCurve].concat(arguments));
- }
- });
-
-
-
Modified: sandbox/bertil/lib/OpenLayers/Control/Edition/DrawLinearPath.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Control/Edition/DrawLinearPath.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Control/Edition/DrawLinearPath.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -26,6 +26,7 @@
turnOn: function(){
OpenLayers.Control.Edition.prototype.turnOn.apply(this, arguments);
+ this.geometry = null;
this.geometry = new OpenLayers.Feature.Geometry.LineString();
},
@@ -36,6 +37,7 @@
},
finalizeGeometry: function(){
+ console.log(this.geometry);
this.layer.addFeatures(this.geometry);
this.geometry = new OpenLayers.Feature.Geometry.LineString();
},
@@ -69,7 +71,7 @@
this.lastDown = evt.xy;
this.mouseDown = true;
- this.geometry.path.push(evt.point);
+ this.geometry.addPoint(evt.point);
this.layer.renderer.drawGeometry(evt.point);
this.layer.renderer.drawGeometry(this.geometry, "tmpPath");
},
@@ -114,4 +116,5 @@
/** @final @type String */
CLASS_NAME: "OpenLayers.Control.DrawLinearPath"
+
});
Modified: sandbox/bertil/lib/OpenLayers/Control/Edition/Selection.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Control/Edition/Selection.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Control/Edition/Selection.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -44,7 +44,6 @@
},
editionMouseDown: function(evt) {
-
if (evt.geometry && evt.geometry.isControlPoint){
if (this.shiftDown) {
if (this.controlPoints.indexOf(evt.geometry) < 0){
@@ -85,8 +84,6 @@
}
}
- console.log(this.controlPoints);
-
this.lastTranslationPoint = evt.point;
},
Modified: sandbox/bertil/lib/OpenLayers/Control/Edition.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Control/Edition.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Control/Edition.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -92,22 +92,18 @@
this.map.events.unregister("edition", map, this.defaultEdition);
},
-
- calculatePoint: function(px){
-
-
- return point;
- },
/**
* @param {Event} evt
*/
defaultEdition: function (evt) {
- this.snappingModeP = true;
- this.snappingModeB = true;
+ //this.snappingModeB = true;
+ this.snappingModeP = false;
+ this.snappingModeB = false;
+
var lonlat = this.map.getLonLatFromLayerPx(evt.xy);
- evt.point = new OpenLayers.Feature.Geometry.Point(lonlat.lon, lonlat.lat);
+ var tmpPoint = new OpenLayers.Feature.Geometry.Point(lonlat.lon, lonlat.lat);
if (this.snappingModeP) {
var closestVertex = null;
@@ -127,19 +123,19 @@
if (closestVertex != null) {
evt.point = new OpenLayers.Feature.Geometry.Point(closestVertex.lon, closestVertex.lat);
}
- }
+
//calculate snapping point
- else if (this.snappingModeB) {
+ } else if (this.snappingModeB) {
if (evt.geometry && evt.geometry.isSnappingElement) {
// return calculated point
- console.log("test");
} else if (evt.geometry) {
// draw snapping element and return calculated point
var snappingElement = evt.geometry;
- if (snappingElement.CLASS_NAME != "OpenLayers.Feature.Geometry.Point") {
+ if (snappingElement && snappingElement.CLASS_NAME != "OpenLayers.Feature.Geometry.Point") {
+
for(var i = 0; i < snappingElement.path.length - 1; i++ ){
var segPoint1 = snappingElement.path[i];
@@ -149,9 +145,13 @@
var segPixel2 = this.layer.map.getPixelFromLonLat(segPoint2);
if (evt.xy.x - segPixel1.x < 5 && evt.xy.y - segPixel1.y < 5) {
+
snappingElement = segPoint1;
+ evt.point = segPoint1;
} else if (evt.xy.x - segPixel2.x < 5 && evt.xy.y - segPixel2.y < 5) {
+
snappingElement = segPoint2;
+ evt.point = segPoint2;
} else {
var m1 = (segPoint2.y - segPoint1.y) / (segPoint2.x - segPoint1.x);
var p1 = segPoint1.y - m1 * segPoint1.x;
@@ -162,26 +162,33 @@
var x = (p2 - p1) / (2 * m1);
var y = (m1 * x + p1);
- evt.point = new OpenLayers.Feature.Geometry.Point(x, y);
+ var segPoint3 = new OpenLayers.Feature.Geometry.Point(x, y);
- var tmpDelta = Math.sqrt(Math.pow((evt.point.x - tmpPoint.x), 2) + Math.pow((evt.point.y - tmpPoint.y), 2));
+ var tmpDelta = Math.sqrt(Math.pow((segPoint3.x - tmpPoint.x), 2) + Math.pow((segPoint3.y - tmpPoint.y), 2));
- if((tmpDelta < delta || !delta) && Math.min(segPoint1.x, segPoint2.x) < evt.point.x && evt.point.x < Math.max(segPoint1.x, segPoint2.x)){
+ if((tmpDelta < delta || !delta) && Math.min(segPoint1.x, segPoint2.x) < segPoint3.x && segPoint3.x < Math.max(segPoint1.x, segPoint2.x)){
var delta = tmpDelta;
snappingElement = new OpenLayers.Feature.Geometry.LineSegment(segPoint1, segPoint2);
snappingElement.m = m1;
snappingElement.p = p1;
+ evt.point = segPoint3;
}
}
}
}
snappingElement.isSnappingElement = true;
- snappingElement.style = {fillColor: "yellow", fillOpacity: 0.2, strokeColor: "blue", strokeWidth: 5, strokeUnit: "%", strokeOpacity: 0.5}
+ snappingElement.style = {fillColor: "yellow", fillOpacity: 0.2, strokeColor: "white", strokeWidth: 3, strokeUnit: "%", strokeOpacity: 0.5, pointRadius: 0.1, pointUnit: "%"}
this.layer.renderer.drawGeometry(snappingElement, "tmpSnappingElement");
+ evt.point.isSnappingPoint = true;
+ evt.point.isSnappingElement = true;
+ evt.point.style = {fillColor: "red", fillOpacity: 0.2, strokeColor: "white", strokeWidth: 3, strokeUnit: "%", strokeOpacity: 0.5, pointRadius: 0.1, pointUnit: "%"}
+ this.layer.renderer.drawGeometry(evt.point, "tmpSnappingPoint");
} else {
// return mouse point
this.layer.renderer.eraseElement("tmpSnappingElement");
+ this.layer.renderer.eraseElement("tmpSnappingPoint");
+ evt.point = tmpPoint;
}
//calculate controlled point
} else if (this.controlledMode) {
@@ -189,8 +196,8 @@
var lastPoint = this.geometry.path.last();
- var width = evt.point.x-lastPoint.x;
- var height = evt.point.y-lastPoint.y;
+ var width = tmpPoint.x-lastPoint.x;
+ var height = tmpPoint.y-lastPoint.y;
var hyp = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2));
var alpha = Math.acos(width/(hyp)) * 180.0/Math.PI;
@@ -209,6 +216,8 @@
evt.point = new OpenLayers.Feature.Geometry.Point(lonlat.lon, lonlat.lat);
}
+
+
switch (evt.type){
case "mouseout":
this.editionMouseOut(evt);
@@ -348,6 +357,6 @@
editionMouseOut: function (evt) {},
/** @final @type String */
- CLASS_NAME: "OpenLayers.Control.Selection"
+ CLASS_NAME: "OpenLayers.Control.Edition"
});
Added: sandbox/bertil/lib/OpenLayers/Feature/Geometry/Aggregate.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Feature/Geometry/Aggregate.js (rev 0)
+++ sandbox/bertil/lib/OpenLayers/Feature/Geometry/Aggregate.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -0,0 +1,51 @@
+/* Copyright (c) 2006 CampToCamp SA, Bertil Chapuis, published under the BSD license. */
+
+OpenLayers.Feature.Geometry.Aggregate = function() {}
+OpenLayers.Feature.Geometry.Aggregate.prototype = {
+
+ getComponents: function(){
+ return this.components?this.components:null;
+ },
+
+ addComponents: function(components){
+ if(!(components instanceof Array)) {
+ components = [components];
+ }
+
+ if(this.components) {
+ this.components = this.components.concat(components);
+ } else {
+ this.components = [].concat(components);
+ }
+ },
+
+ removeComponents: function(components){
+ if(!(components instanceof Array))
+ components = [components];
+
+ for (var i = 0; i < components.length; i++) {
+ this.components = this.components.without(components[i]);
+ }
+ },
+
+ addSupportedComponents: function(classes){
+ if(!(classes instanceof Array))
+ classes = [classes];
+
+ if(this.SupportedComponents)
+ this.SupportedComponents = this.SupportedComponents.concat(classes);
+ else
+ this.SupportedComponents = [].concat(classes);
+ },
+
+ removeSupportedComponents: function(classes){
+ if(!(classes instanceof Array))
+ classes = [classes];
+
+ for (var i = 0; i < classes.length; i++) {
+ this.SupportedComponents = this.SupportedComponents.without(classes[i]);
+ }
+ },
+
+ CLASS_NAME: "OpenLayers.Component"
+}
Deleted: sandbox/bertil/lib/OpenLayers/Feature/Geometry/Component.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Feature/Geometry/Component.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Feature/Geometry/Component.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -1,51 +0,0 @@
-/* Copyright (c) 2006 CampToCamp SA, Bertil Chapuis, published under the BSD license. */
-
-OpenLayers.Feature.Geometry.Component = function() {}
-OpenLayers.Feature.Geometry.Component.prototype = {
-
- getComponents: function(){
- return this.components?this.components:null;
- },
-
- addComponents: function(components){
- if(!(components instanceof Array)) {
- components = [components];
- }
-
- if(this.components) {
- this.components = this.components.concat(components);
- } else {
- this.components = [].concat(components);
- }
- },
-
- removeComponents: function(components){
- if(!(components instanceof Array))
- components = [components];
-
- for (var i = 0; i < components.length; i++) {
- this.components = this.components.without(components[i]);
- }
- },
-
- addSupportedComponents: function(classes){
- if(!(classes instanceof Array))
- classes = [classes];
-
- if(this.SupportedComponents)
- this.SupportedComponents = this.SupportedComponents.concat(classes);
- else
- this.SupportedComponents = [].concat(classes);
- },
-
- removeSupportedComponents: function(classes){
- if(!(classes instanceof Array))
- classes = [classes];
-
- for (var i = 0; i < classes.length; i++) {
- this.SupportedComponents = this.SupportedComponents.without(classes[i]);
- }
- },
-
- CLASS_NAME: "OpenLayers.Component"
-}
Modified: sandbox/bertil/lib/OpenLayers/Feature/Geometry/CubicBezierCurve.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Feature/Geometry/CubicBezierCurve.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Feature/Geometry/CubicBezierCurve.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -1,17 +0,0 @@
-/* Copyright (c) 2006 CampToCamp SA, Bertil Chapuis, published under the BSD license. */
-
-OpenLayers.Feature.Geometry.CubicBezierCurve = OpenLayers.Class.create();
-OpenLayers.Feature.Geometry.CubicBezierCurve.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.CubicBezierCurve.prototype, OpenLayers.Feature.Geometry.prototype);
-OpenLayers.Feature.Geometry.CubicBezierCurve.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.CubicBezierCurve.prototype, {
-
- initialize: function(points) {
- OpenLayers.Feature.Geometry.prototype.initialize.apply(this, arguments);
- if (!(points instanceof Array))
- points = [points];
-
- this.path = [].concat(points);
- this.id = OpenLayers.Util.createUniqueID(this.CLASS_NAME+ "_");
- },
-
- CLASS_NAME: "OpenLayers.Feature.Geometry.CubicBezierCurve"
-});
\ No newline at end of file
Deleted: sandbox/bertil/lib/OpenLayers/Feature/Geometry/CubicBezierSurface.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Feature/Geometry/CubicBezierSurface.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Feature/Geometry/CubicBezierSurface.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -1,18 +0,0 @@
-/* Copyright (c) 2006 CampToCamp SA, Bertil Chapuis, published under the BSD license. */
-
-OpenLayers.Feature.Geometry.CubicBezierSurface = OpenLayers.Class.create();
-OpenLayers.Feature.Geometry.CubicBezierSurface.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.CubicBezierSurface.prototype,
- OpenLayers.Feature.Geometry.prototype);
-OpenLayers.Feature.Geometry.CubicBezierSurface.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.CubicBezierSurface.prototype, {
-
- initialize: function(points) {
- OpenLayers.Feature.Geometry.prototype.initialize.apply(this, arguments);
- if (!(points instanceof Array)) {
- points = [points];
- }
-
- this.path = [].concat(points);
- },
-
- CLASS_NAME: "OpenLayers.Feature.Geometry.CubicBezierSurface"
-});
Added: sandbox/bertil/lib/OpenLayers/Feature/Geometry/Curve.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Feature/Geometry/Curve.js (rev 0)
+++ sandbox/bertil/lib/OpenLayers/Feature/Geometry/Curve.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -0,0 +1,61 @@
+/* Copyright (c) 2006 CampToCamp SA, Bertil Chapuis, published under the BSD license. */
+
+OpenLayers.Feature.Geometry.Curve = OpenLayers.Class.create();
+OpenLayers.Feature.Geometry.Curve.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.Curve.prototype, OpenLayers.Feature.Geometry.prototype);
+OpenLayers.Feature.Geometry.Curve.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.Curve.prototype, {
+
+ initialize: function(points) {
+ OpenLayers.Feature.Geometry.prototype.initialize.apply(this, arguments);
+
+ this.path = [];
+
+ if (points && points instanceof Array) {
+ for (var i = 0; i < points.length; i++) {
+ this.addPoint(points[i]);
+ }
+ }
+
+ this.getBoundingBox();
+ },
+
+ getBoundingBox: function(){
+ if (this.path.length > 0) {
+ // compute the extent of the geometry
+ var xmin, ymin, xmax, ymax = null;
+ this.path.each(function(point) {
+ if (point.lon < xmin || xmin == null) {
+ xmin = point.lon;
+ }
+ if (point.lon > xmax || xmax == null) {
+ xmax = point.lon;
+ }
+ if (point.lat < ymin || ymin == null) {
+ ymin = point.lat;
+ }
+ if (point.lat > ymax || ymax == null) {
+ ymax = point.lat;
+ }
+ });
+
+ this.extent = new OpenLayers.Bounds(xmin, ymin, xmax, ymax);
+
+ return this.extent;
+ }
+ },
+
+ addPoint: function(point, index) {
+ if(point.CLASS_NAME == "OpenLayers.Feature.Geometry.Point"){
+ if (index) {
+ this.path = this.path.slice(0, index).concat([point]).concat(this.path.slice(index, (this.path.length - 1)));
+ } else {
+ this.path.push(point);
+ }
+ }
+ },
+
+ removePoint: function(point){
+ this.path = this.path.without(point);
+ },
+
+ CLASS_NAME: "OpenLayers.Feature.Geometry.Curve"
+});
\ No newline at end of file
Modified: sandbox/bertil/lib/OpenLayers/Feature/Geometry/LineSegment.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Feature/Geometry/LineSegment.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Feature/Geometry/LineSegment.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -5,15 +5,10 @@
OpenLayers.Feature.Geometry.LineSegment.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.LineSegment.prototype, {
initialize: function(point1, point2) {
- OpenLayers.Feature.Geometry.prototype.initialize.apply(this, arguments);
- if (point1 && point2) {
- this.path = new Array(point1, point2);
- }
+ arguments = [[point1, point2]]
+ OpenLayers.Feature.Geometry.LineString.prototype.initialize.apply(this, arguments);
},
- toString: function() {
- return this.path.toString();
- },
-
CLASS_NAME: "OpenLayers.Feature.Geometry.LineSegment"
+
});
Modified: sandbox/bertil/lib/OpenLayers/Feature/Geometry/LineString.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Feature/Geometry/LineString.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Feature/Geometry/LineString.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -1,43 +1,14 @@
/* Copyright (c) 2006 CampToCamp SA, Bertil Chapuis, published under the BSD license. */
OpenLayers.Feature.Geometry.LineString = OpenLayers.Class.create();
-OpenLayers.Feature.Geometry.LineString.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.LineString.prototype,
- OpenLayers.Feature.Geometry.prototype);
+OpenLayers.Feature.Geometry.LineString.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.LineString.prototype, OpenLayers.Feature.Geometry.Curve.prototype);
OpenLayers.Feature.Geometry.LineString.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.LineString.prototype, {
- initialize: function(points) {
- OpenLayers.Feature.Geometry.prototype.initialize.apply(this, arguments);
- if (points && points instanceof Array) {
- this.path = points;
- } else {
- this.path = [];
- }
-
- if (this.path.length > 0) {
- // compute the extent of the geometry
- var xmin, ymin, xmax, ymax = null;
- this.path.each(function(point) {
- if (point.lon < xmin || xmin == null) {
- xmin = point.lon;
- }
- if (point.lon > xmax || xmax == null) {
- xmax = point.lon;
- }
- if (point.lat < ymin || ymin == null) {
- ymin = point.lat;
- }
- if (point.lat > ymax || ymax == null) {
- ymax = point.lat;
- }
- });
-
- this.extent = new OpenLayers.Bounds(xmin, ymin, xmax, ymax);
- }
- },
toString: function() {
return this.path.toString();
},
CLASS_NAME: "OpenLayers.Feature.Geometry.LineString"
+
});
Modified: sandbox/bertil/lib/OpenLayers/Feature/Geometry/LinearRing.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Feature/Geometry/LinearRing.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Feature/Geometry/LinearRing.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -1,18 +1,25 @@
/* Copyright (c) 2006 CampToCamp SA, Bertil Chapuis, published under the BSD license. */
OpenLayers.Feature.Geometry.LinearRing = OpenLayers.Class.create();
-OpenLayers.Feature.Geometry.LinearRing.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.LinearRing.prototype, OpenLayers.Feature.Geometry.prototype);
+
+OpenLayers.Feature.Geometry.LinearRing.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.LinearRing.prototype, OpenLayers.Feature.Geometry.LineString.prototype);
OpenLayers.Feature.Geometry.LinearRing.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.LinearRing.prototype, {
initialize: function(points) {
- OpenLayers.Feature.Geometry.prototype.initialize.apply(this, arguments);
- if (!(points instanceof Array)) {
- points = [points];
- }
+ OpenLayers.Feature.Geometry.LineString.prototype.initialize.apply(this, arguments);
+ },
- this.path = [].concat(points);
- this.id = OpenLayers.Util.createUniqueID(this.CLASS_NAME+ "_");
+ addPoint: function() {
+ this.path.pop();
+ OpenLayers.Feature.Geometry.LineString.prototype.addPoint.apply(this, arguments);
+ this.path.push(this.path.first());
},
+
+ removePoint: function() {
+ this.path.pop();
+ OpenLayers.Feature.Geometry.LineString.prototype.removePoint.apply(this, arguments);
+ this.path.push(this.path.first());
+ },
toString: function() {
return this.path.toString();
Modified: sandbox/bertil/lib/OpenLayers/Feature/Geometry/Point.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Feature/Geometry/Point.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Feature/Geometry/Point.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -1,6 +1,7 @@
/* Copyright (c) 2006 CampToCamp SA, Bertil Chapuis, published under the BSD license. */
OpenLayers.Feature.Geometry.Point = OpenLayers.Class.create();
+
OpenLayers.Feature.Geometry.Point.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.Point.prototype, OpenLayers.Feature.Geometry.prototype);
OpenLayers.Feature.Geometry.Point.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.Point.prototype, OpenLayers.LonLat.prototype);
OpenLayers.Feature.Geometry.Point.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.Point.prototype, {
Modified: sandbox/bertil/lib/OpenLayers/Feature/Geometry/Polygon.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Feature/Geometry/Polygon.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Feature/Geometry/Polygon.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -1,18 +1,17 @@
/* Copyright (c) 2006 CampToCamp SA, Bertil Chapuis, published under the BSD license. */
OpenLayers.Feature.Geometry.Polygon = OpenLayers.Class.create();
-OpenLayers.Feature.Geometry.Polygon.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.Polygon.prototype,
- OpenLayers.Feature.Geometry.prototype);
+OpenLayers.Feature.Geometry.Polygon.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.Polygon.prototype, OpenLayers.Feature.Geometry.Surface.prototype);
OpenLayers.Feature.Geometry.Polygon.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.Polygon.prototype, {
-
- initialize: function(points) {
- OpenLayers.Feature.Geometry.prototype.initialize.apply(this, arguments);
- if (!(points instanceof Array)) {
- points = [points];
- }
- this.path = [].concat(points);
-
+ initialize: function(linearRings) {
+ OpenLayers.Feature.Geometry.Surface.prototype.initialize.apply(this, arguments);
+
+ this.linearRings = [];
+
+ if (linearRings instanceof Array) {
+ this.linearRings = linearRings;
+ }
},
toString: function() {
Added: sandbox/bertil/lib/OpenLayers/Feature/Geometry/Surface.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Feature/Geometry/Surface.js (rev 0)
+++ sandbox/bertil/lib/OpenLayers/Feature/Geometry/Surface.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -0,0 +1,9 @@
+/* Copyright (c) 2006 CampToCamp SA, Bertil Chapuis, published under the BSD license. */
+
+OpenLayers.Feature.Geometry.Surface = OpenLayers.Class.create();
+OpenLayers.Feature.Geometry.Surface.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.Surface.prototype, OpenLayers.Feature.Geometry.prototype);
+OpenLayers.Feature.Geometry.Surface.prototype = OpenLayers.Util.extend(OpenLayers.Feature.Geometry.Surface.prototype, {
+
+ CLASS_NAME: "OpenLayers.Feature.Geometry.Surface"
+
+});
Modified: sandbox/bertil/lib/OpenLayers/Layer/Vector.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Layer/Vector.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Layer/Vector.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -56,14 +56,10 @@
features = [features];
}
- if (this.features) {
- this.features = this.features.concat(features);
- } else {
- this.features = [].concat(features);
- }
+ this.features = this.features.concat(features);
for (var i = 0; i < features.length; i++) {
- this.renderer.drawGeometry(features[i]);
+ var feature = this.renderer.drawGeometry(features[i]);
}
},
Modified: sandbox/bertil/lib/OpenLayers/Renderer/Svg.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Renderer/Svg.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Renderer/Svg.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -113,17 +113,17 @@
}
if (geometry.style){
- var style = geometry.style;
+ style = OpenLayers.Util.extend(this.style, geometry.style);
} else {
- var style = this.style;
+ style = this.style;
}
switch (geometry.CLASS_NAME) {
case "OpenLayers.Feature.Geometry.Point":
var node = this.drawPoint(geometry, geometry.id, style, true);
break;
- case "OpenLayers.Feature.Geometry.CubicBezierCurve":
- var node = this.drawCubicBezierCurve(geometry.path, geometry.id, style, true);
+ case "OpenLayers.Feature.Geometry.Curve":
+ var node = this.drawCurve(geometry.path, geometry.id, style, true);
break;
case "OpenLayers.Feature.Geometry.LineSegment":
case "OpenLayers.Feature.Geometry.LineString":
@@ -135,8 +135,8 @@
case "OpenLayers.Feature.Geometry.Polygon":
var node = this.drawPolygon(geometry.path, geometry.id, style, true);
break;
- case "OpenLayers.Feature.Geometry.CubicBezierSurface":
- var node = this.drawCubicBezierSurface(geometry.path, geometry.id, style, true);
+ case "OpenLayers.Feature.Geometry.Surface":
+ var node = this.drawSurface(geometry.path, geometry.id, style, true);
break;
case "OpenLayers.Feature.Geometry.Rectangle":
var node = this.drawRectangle(geometry.x, geometry.y, geometry.width, geometry.height, geometry.id, style, true);
@@ -259,7 +259,7 @@
return node;
},
- drawCubicBezierCurve: function(points, id, style, parent) {
+ drawCurve: function(points, id, style, parent) {
var node = this._nodeFactory("path", id);
var d = null;
@@ -283,7 +283,7 @@
return node;
},
- drawCubicBezierSurface: function(points, id, style, parent) {
+ drawSurface: function(points, id, style, parent) {
var node = this._nodeFactory("path", id);
var d = null;
Modified: sandbox/bertil/lib/OpenLayers/Renderer/Vml.js
===================================================================
--- sandbox/bertil/lib/OpenLayers/Renderer/Vml.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers/Renderer/Vml.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -147,8 +147,8 @@
case "OpenLayers.Feature.Geometry.Point":
var node = this.drawPoint(geometry.x, geometry.y, geometry.id, true);
break;
- case "OpenLayers.Feature.Geometry.CubicBezierCurve":
- var node = this.drawCubicBezierCurve(geometry.path, geometry.id, true);
+ case "OpenLayers.Feature.Geometry.Curve":
+ var node = this.drawCurve(geometry.path, geometry.id, true);
break;
case "OpenLayers.Feature.Geometry.LineString":
var node = this.drawLineString(geometry.path, geometry.id, true);
@@ -159,8 +159,8 @@
case "OpenLayers.Feature.Geometry.Polygon":
var node = this.drawPolygon(geometry.path, geometry.id, true);
break;
- case "OpenLayers.Feature.Geometry.CubicBezierSurface":
- var node = this.drawCubicBezierSurface(geometry.path, geometry.id, true);
+ case "OpenLayers.Feature.Geometry.Surface":
+ var node = this.drawSurface(geometry.path, geometry.id, true);
break;
case "OpenLayers.Feature.Geometry.Rectangle":
var node = this.drawRectangle(geometry.x, geometry.y, geometry.width, geometry.height, geometry.id, true);
@@ -325,7 +325,7 @@
return node;
},
- drawCubicBezierCurve: function(points, id, parent, predecessor) {
+ drawCurve: function(points, id, parent, predecessor) {
var bbox = this._getVmlBoundingBox(points);
var node = this._nodeFactory("v:shape", id);
@@ -361,7 +361,7 @@
return node;
},
- drawCubicBezierSurface: function(points, id, parent, predecessor) {
+ drawSurface: function(points, id, parent, predecessor) {
var bbox = this._getVmlBoundingBox(points);
var node = this._nodeFactory("v:shape", id);
Modified: sandbox/bertil/lib/OpenLayers.js
===================================================================
--- sandbox/bertil/lib/OpenLayers.js 2006-11-08 11:48:59 UTC (rev 1774)
+++ sandbox/bertil/lib/OpenLayers.js 2006-11-08 14:54:31 UTC (rev 1775)
@@ -103,17 +103,16 @@
"OpenLayers/Control/Edition.js",
"OpenLayers/Control/EditionToolbar.js",
"OpenLayers/Control/Edition/DrawLinearPath.js",
- "OpenLayers/Control/Edition/DrawCurvePath.js",
"OpenLayers/Control/Edition/Selection.js",
"OpenLayers/Feature/Geometry.js",
- "OpenLayers/Feature/Geometry/Component.js",
- "OpenLayers/Feature/Geometry/CubicBezierCurve.js",
- "OpenLayers/Feature/Geometry/CubicBezierSurface.js",
- "OpenLayers/Feature/Geometry/LinearRing.js",
+ "OpenLayers/Feature/Geometry/Point.js",
+ "OpenLayers/Feature/Geometry/Curve.js",
"OpenLayers/Feature/Geometry/LineString.js",
"OpenLayers/Feature/Geometry/LineSegment.js",
- "OpenLayers/Feature/Geometry/Point.js",
+ "OpenLayers/Feature/Geometry/LinearRing.js",
+ "OpenLayers/Feature/Geometry/Surface.js",
"OpenLayers/Feature/Geometry/Polygon.js",
+ "OpenLayers/Feature/Geometry/Aggregate.js",
"OpenLayers/Renderer.js",
"OpenLayers/Renderer/Svg.js",
"OpenLayers/Renderer/Vml.js",
More information about the Commits
mailing list