The getVertices method now returns all points, endpoints only, or all except endpoints. r=crschmidt (closes #1966)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@8945 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Tim Schaub
2009-03-03 15:46:00 +00:00
parent 95206bdeae
commit 9e73bd82d7
7 changed files with 57 additions and 27 deletions

View File

@@ -406,17 +406,19 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
* Return a list of all points in this geometry.
*
* Parameters:
* nodesOnly - {Boolean} For lines, only return vertices that are
* endpoints.
* nodes - {Boolean} For lines, only return vertices that are
* endpoints. If false, for lines, only vertices that are not
* endpoints will be returned. If not provided, all vertices will
* be returned.
*
* Returns:
* {Array} A list of all vertices in the geometry.
*/
getVertices: function(nodesOnly) {
getVertices: function(nodes) {
var vertices = [];
for(var i=0, len=this.components.length; i<len; ++i) {
Array.prototype.push.apply(
vertices, this.components[i].getVertices(nodesOnly)
vertices, this.components[i].getVertices(nodes)
);
}
return vertices;

View File

@@ -159,21 +159,25 @@ OpenLayers.Geometry.LineString = OpenLayers.Class(OpenLayers.Geometry.Curve, {
* Return a list of all points in this geometry.
*
* Parameters:
* nodesOnly - {Boolean} For lines, only return vertices that are
* endpoints.
* nodes - {Boolean} For lines, only return vertices that are
* endpoints. If false, for lines, only vertices that are not
* endpoints will be returned. If not provided, all vertices will
* be returned.
*
* Returns:
* {Array} A list of all vertices in the geometry.
*/
getVertices: function(nodesOnly) {
getVertices: function(nodes) {
var vertices;
if(nodesOnly) {
if(nodes === true) {
vertices = [
this.components[0],
this.components[this.components.length-1]
];
} else if (nodes === false) {
vertices = this.components.slice(1, this.components.length-1);
} else {
vertices = this.components;
vertices = this.components.slice();
}
return vertices;
},

View File

@@ -329,14 +329,16 @@ OpenLayers.Geometry.LinearRing = OpenLayers.Class(
* Return a list of all points in this geometry.
*
* Parameters:
* nodesOnly - {Boolean} For lines, only return vertices that are
* endpoints.
* nodes - {Boolean} For lines, only return vertices that are
* endpoints. If false, for lines, only vertices that are not
* endpoints will be returned. If not provided, all vertices will
* be returned.
*
* Returns:
* {Array} A list of all vertices in the geometry.
*/
getVertices: function(nodesOnly) {
return nodesOnly ? [] : this.components.slice(0, this.components.length-1);
getVertices: function(nodes) {
return (nodes === true) ? [] : this.components.slice(0, this.components.length-1);
},
CLASS_NAME: "OpenLayers.Geometry.LinearRing"

View File

@@ -255,13 +255,15 @@ OpenLayers.Geometry.Point = OpenLayers.Class(OpenLayers.Geometry, {
* Return a list of all points in this geometry.
*
* Parameters:
* nodesOnly - {Boolean} For lines, only return vertices that are
* endpoints.
* nodes - {Boolean} For lines, only return vertices that are
* endpoints. If false, for lines, only vertices that are not
* endpoints will be returned. If not provided, all vertices will
* be returned.
*
* Returns:
* {Array} A list of all vertices in the geometry.
*/
getVertices: function(nodesOnly) {
getVertices: function(nodes) {
return [this];
},