1 package net.systemeD.halcyon.connection {
3 public class Way extends Entity {
4 private var nodes:Array;
5 public static var entity_type:String = 'way';
7 public function Way(id:Number, version:uint, tags:Object, nodes:Array) {
8 super(id, version, tags);
10 for each (var node:Node in nodes) { node.addParent(this); }
13 public function get length():uint {
17 public function getNode(index:uint):Node {
21 public function insertNode(index:uint, node:Node):void {
23 nodes.splice(index, 0, node);
26 public function appendNode(node:Node):uint {
32 public function removeNode(index:uint):void {
33 var removed:Array=nodes.splice(index, 1);
34 removed[0].removeParent(this);
37 public override function toString():String {
38 return "Way("+id+"@"+version+"): "+getTagList()+
39 " "+nodes.map(function(item:Node,index:int, arr:Array):String {return item.id.toString();}).join(",");
42 public function isArea():Boolean {
43 return (nodes[0].id==nodes[nodes.length-1].id && nodes.length>2);
46 public override function getType():String {