Adding getVertices method to all geometries. Call with nodesOnly true if you only want endpoints (of lines and multilines). r=crschmidt (closes #1192)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@8842 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Tim Schaub
2009-02-05 22:49:03 +00:00
parent dd70dceef9
commit df920a88d5
9 changed files with 190 additions and 0 deletions

View File

@@ -199,6 +199,35 @@
t.ok(!geometry.equals(offY),
"equals() returns false for a geometry with offset y");
}
function test_getVertices(t) {
t.plan(10);
var points = [
new OpenLayers.Geometry.Point(10, 20),
new OpenLayers.Geometry.Point(20, 30),
new OpenLayers.Geometry.Point(30, 40),
new OpenLayers.Geometry.Point(40, 50)
];
var line = new OpenLayers.Geometry.LineString(points);
var verts = line.getVertices();
t.ok(verts instanceof Array, "got back an array");
t.eq(verts.length, points.length, "of correct length length");
t.geom_eq(verts[0], points[0], "0: correct geometry");
t.geom_eq(verts[1], points[1], "1: correct geometry");
t.geom_eq(verts[2], points[2], "2: correct geometry");
t.geom_eq(verts[3], points[3], "3: correct geometry");
// get nodes only
var nodes = line.getVertices(true);
t.ok(nodes instanceof Array, "[nodes only] got back an array");
t.eq(nodes.length, 2, "[nodes only] of correct length length");
t.geom_eq(nodes[0], points[0], "[nodes only] first: correct geometry");
t.geom_eq(nodes[1], points[points.length-1], "[nodes only] last: correct geometry");
}
function test_LineString_clone(t) {
t.plan(2);