package btools.mapcreator; import java.io.DataInputStream; import java.io.DataOutputStream; import btools.util.LongList; /** * Container for waydata on the preprocessor level * * @author ab */ public class WayData extends MapCreatorBase { public long wid; public byte[] description; public LongList nodes; public WayData( long id ) { wid = id; nodes = new LongList( 16 ); } public WayData( long id, LongList nodes ) { wid = id; this.nodes = nodes; } public WayData( DataInputStream di ) throws Exception { nodes = new LongList( 16 ); wid = readId( di) ; int dlen = di.readByte(); description = new byte[dlen]; di.readFully( description ); for (;;) { long nid = readId( di ); if ( nid == -1 ) break; nodes.add( nid ); } } public void writeTo( DataOutputStream dos ) throws Exception { writeId( dos, wid ); dos.writeByte( description.length ); dos.write( description ); int size = nodes.size(); for( int i=0; i < size; i++ ) { writeId( dos, nodes.get( i ) ); } writeId( dos, -1 ); // stopbyte } }