X-Git-Url: http://plrg.eecs.uci.edu/git/?p=IRC.git;a=blobdiff_plain;f=Robust%2Fsrc%2FBenchmarks%2FSSJava%2FEyeTracking%2FDeviationScanner.java;h=c635d89a9508558c793ec5fd7301cf5a0379046b;hp=052c7f4bdc25a45dd654612530a1f786be97078f;hb=d45bb251bdc1196d7848094fa2ccd566b39e021c;hpb=890c448e14fd7e016be47cb82859402b4211b013 diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/DeviationScanner.java b/Robust/src/Benchmarks/SSJava/EyeTracking/DeviationScanner.java index 052c7f4b..c635d89a 100644 --- a/Robust/src/Benchmarks/SSJava/EyeTracking/DeviationScanner.java +++ b/Robust/src/Benchmarks/SSJava/EyeTracking/DeviationScanner.java @@ -27,11 +27,9 @@ public class DeviationScanner { @LOC("DEV") - private EyePosition eyePositions[]; - - // LEFT_UP(+1, -1), UP(0, -1), RIGHT_UP(-1, -1), LEFT(+1, 0), NONE(0, 0), - // RIGHT(-1, 0), LEFT_DOWN( - // +1, +1), DOWN(0, +1), RIGHT_DOWN(-1, +1); + private int x[]; + @LOC("DEV") + private int y[]; public static final int LEFT_UP = 0; public static final int UP = 1; @@ -43,81 +41,65 @@ public class DeviationScanner { public static final int DOWN = 7; public static final int RIGHT_DOWN = 8; - @LOC("DEV") - private int size; - public DeviationScanner() { - eyePositions = new EyePosition[3]; - size = 0; - } - - @LATTICE("THIS= 3) { - @LOC("THIS,DeviationScanner.DEV") double deviationX = 0; - @LOC("THIS,DeviationScanner.DEV") double deviationY = 0; - - @LOC("THIS,DeviationScanner.DEV") int lastIdx = -1; - for (@LOC("THIS,DeviationScanner.DEV") int i = 0; i < 3; ++i) { - if (lastIdx != -1) { - deviationX += (eyePositions[i].getX() - eyePositions[lastIdx].getX()); - deviationY += (eyePositions[i].getY() - eyePositions[lastIdx].getY()); - } - lastIdx = i; + + for (@LOC("C") int i = 0; i < 3; i++) { + if (x[i] == -1) { + return deviation; } + } - @LOC("THIS,DeviationScanner.DEV") final double deviationPercentX = 0.04; - @LOC("THIS,DeviationScanner.DEV") final double deviationPercentY = 0.04; + @LOC("THIS,DeviationScanner.DEV") double deviationX = 0; + @LOC("THIS,DeviationScanner.DEV") double deviationY = 0; - deviationX /= faceRect.getWidth(); - deviationY /= faceRect.getWidth(); + @LOC("THIS,DeviationScanner.DEV") int lastIdx = -1; + for (@LOC("THIS,DeviationScanner.DEV") int i = 0; i < 3; ++i) { + if (lastIdx != -1) { + deviationX += (x[i] - x[lastIdx]); + deviationY += (y[i] - y[lastIdx]); + } + lastIdx = i; + } - @LOC("THIS,DeviationScanner.DEV") int deviationAbsoluteX = 0; - @LOC("THIS,DeviationScanner.DEV") int deviationAbsoluteY = 0; - if (deviationX > deviationPercentX) - deviationAbsoluteX = 1; - if (deviationX < -deviationPercentX) - deviationAbsoluteX = -1; - if (deviationY > deviationPercentY) - deviationAbsoluteY = 1; - if (deviationY < -deviationPercentY) - deviationAbsoluteY = -1; + @LOC("THIS,DeviationScanner.DEV") final double deviationPercentX = 0.04; + @LOC("THIS,DeviationScanner.DEV") final double deviationPercentY = 0.04; - deviation = getDirectionFor(deviationAbsoluteX, deviationAbsoluteY); + deviationX /= faceRect.getWidth(); + deviationY /= faceRect.getWidth(); - if (deviation != NONE) { - eyePositions = new EyePosition[3]; - size = 0; - } - // System.out.println(String.format("%.2f%% | %.2f%% => %d and %d >>> %s", - // deviationX*100, deviationY*100, deviationAbsoluteX, deviationAbsoluteY, - // deviation.toString())); + @LOC("THIS,DeviationScanner.DEV") int deviationAbsoluteX = 0; + @LOC("THIS,DeviationScanner.DEV") int deviationAbsoluteY = 0; + if (deviationX > deviationPercentX) + deviationAbsoluteX = 1; + if (deviationX < -deviationPercentX) + deviationAbsoluteX = -1; + if (deviationY > deviationPercentY) + deviationAbsoluteY = 1; + if (deviationY < -deviationPercentY) + deviationAbsoluteY = -1; + + deviation = getDirectionFor(deviationAbsoluteX, deviationAbsoluteY); + if (deviation != NONE) { + SSJAVA.arrayinit(x, -1); + SSJAVA.arrayinit(y, -1); } return deviation; @@ -149,12 +131,6 @@ public class DeviationScanner { return -1; } - public void clear() { - System.out.println("CLEAR"); - eyePositions = new EyePosition[3]; - size = 0; - } - public String toStringDeviation(@LOC("IN") int dev) { if (dev == LEFT_UP) { return "LEFT_UP";