X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcom%2Fatmel%2Ffpslic%2FFpslic.java;h=c79441781091bb827538cc00a646dbf9b53f4eef;hb=b89edf07b45b7821a31388f2467ad74d99870d60;hp=0daf3779ba856248013f8bb237538f97a9cf5a82;hpb=ce3e555b762e4c39e7eacbea061c114ce1f1bbc1;p=slipway.git diff --git a/src/com/atmel/fpslic/Fpslic.java b/src/com/atmel/fpslic/Fpslic.java index 0daf377..c794417 100644 --- a/src/com/atmel/fpslic/Fpslic.java +++ b/src/com/atmel/fpslic/Fpslic.java @@ -176,6 +176,8 @@ public abstract class Fpslic { this.col = col; } + public Fpslic fpslic() { return Fpslic.this; } + // Accessors for Neighbors ////////////////////////////////////////////////////////////////////////////// public SectorWire hwire(int plane) { return new SectorWire(true, plane, col, row); } @@ -598,6 +600,30 @@ public abstract class Fpslic { } } + public Cell dir(int i) { + switch(i) { + case NORTH: return north(); + case SOUTH: return south(); + case EAST: return east(); + case WEST: return west(); + case NW: return nw(); + case SW: return sw(); + case SE: return se(); + case NE: return ne(); + } + return null; + } + public int dir(Cell c) { + if (c.row==row-1 && c.col==col-1) return SW; + else if (c.row==row+1 && c.col==col-1) return NW; + else if (c.row==row-1 && c.col==col+1) return SE; + else if (c.row==row+1 && c.col==col+1) return NE; + else if (c.row==row-1 && c.col==col) return SOUTH; + else if (c.row==row+1 && c.col==col) return NORTH; + else if (c.row==row && c.col==col-1) return WEST; + else if (c.row==row && c.col==col+1) return EAST; + return -1; + } public void generalized_c_element() {