can now change tags in the 'Advanced' mode
[potlatch2.git] / net / systemeD / halcyon / connection / Way.as
1 package net.systemeD.halcyon.connection {
2
3     public class Way extends Entity {
4         private var nodes:Array;
5
6         public function Way(id:Number, version:uint, tags:Object, nodes:Array) {
7             super(id, version, tags);
8             this.nodes = nodes;
9         }
10
11         public function get length():uint {
12             return nodes.length;
13         }
14         
15         public function getNode(index:uint):Node {
16             return nodes[index];
17         }
18
19         public function insertNode(index:uint, node:Node):void {
20             nodes.splice(index, 0, node);
21         }
22
23         public function appendNode(node:Node):uint {
24             nodes.push(node);
25             return nodes.length;
26         }
27
28         public function removeNode(index:uint):void {
29             nodes.splice(index, 1);
30         }
31
32         public override function toString():String {
33             return "Way("+id+"@"+version+"): "+getTagList()+
34                      " "+nodes.map(function(item:Node,index:int, arr:Array):String {return item.id.toString();}).join(",");
35         }
36
37                 public function isArea():Boolean {
38                         return (nodes[0].id==nodes[nodes.length-1].id  && nodes.length>2);
39                 }
40     }
41
42 }