variable length tag descriptions (regtest glitches)

This commit is contained in:
Arndt 2014-05-31 09:44:22 +02:00
parent 1633ae78e3
commit 8368df6bcf
8 changed files with 54 additions and 54 deletions

View file

@ -1,11 +0,0 @@
/**
* Dummy child of OsmLink just to encode the reverse-bit
*
* @author ab
*/
package btools.mapaccess;
public class OsmLinkReverse extends OsmLink
{
}

View file

@ -240,12 +240,12 @@ public class OsmNode implements OsmPos
// compute the reverse link
if ( !link.counterLinkWritten )
{
OsmLink rlink = new OsmLinkReverse();
OsmLink rlink = new OsmLink();
byte[] linkDescriptionBitmap = link.descriptionBitmap;
rlink.ilonOrigin = tn.ilon;
rlink.ilatOrigin = tn.ilat;
rlink.targetNode = this;
rlink.descriptionBitmap = link.descriptionBitmap; // default for no transfer-nodes
rlink.descriptionBitmap = linkDescriptionBitmap; // default for no transfer-nodes
OsmTransferNode previous = null;
OsmTransferNode rtrans = null;
for( OsmTransferNode trans = firstTransferNode; trans != null; trans = trans.next )
@ -263,7 +263,7 @@ public class OsmNode implements OsmPos
rtrans.ilat = trans.ilat;
rtrans.selev = trans.selev;
rtrans.next = previous;
rtrans.descriptionBitmap = trans.descriptionBitmap;
rtrans.descriptionBitmap = linkDescriptionBitmap;
previous = rtrans;
}
rlink.encodeFirsttransfer(rtrans);
@ -332,17 +332,6 @@ public class OsmNode implements OsmPos
}
}
// mark the link to the given node as written,
// don't want to write the counter-direction
// in full details
public void markLinkWritten( OsmNode t )
{
for( OsmLink link = firstlink; link != null; link = link.next )
{
if ( link.targetNode == t) link.counterLinkWritten = true;
}
}
public OsmLink getReverseLink( int lon, int lat )
{
for( OsmLink rlink = firstreverse; rlink != null; rlink = rlink.next )

View file

@ -13,7 +13,7 @@ public final class OsmNodesMap
{
private HashMap<Long,OsmNode> hmap = new HashMap<Long,OsmNode>();
private ByteArrayUnifier abUnifier = new ByteArrayUnifier( 16384 );
private ByteArrayUnifier abUnifier = new ByteArrayUnifier( 16384, false );
public ByteArrayUnifier getByteArrayUnifier()
{