package org.squidy.nodes.optitrack.gestures; import java.util.ArrayList; public class StaticGesture { private String gestureName; private int gestureId; private int eventId; private int frameID; // private double thumbDist; // private double indexDist; // private double middleDist; // private double smallDist; private int recoCounter; private int handID; private int tuioCounter; private ArrayList<Double> distances; public StaticGesture(String name, int id, int eventId, int handId) { this.gestureName = name; this.gestureId = id; this.eventId = eventId; this.handID = handId; // this.thumbDist = Double.MAX_VALUE; // this.indexDist = Double.MAX_VALUE; // this.middleDist = Double.MAX_VALUE; // this.smallDist = Double.MAX_VALUE; this.recoCounter = 0; this.tuioCounter = 0; this.distances = new ArrayList<Double>(); } public void setDistance(int fingerIndex, double dist) { if (distances.size() < fingerIndex) { distances.add(dist); }else { if (distances.get(fingerIndex-1) == null) { distances.add(fingerIndex-1,dist); }else { distances.set(fingerIndex-1, dist); } } // switch(fingerIndex) // { // case 1: // { // if (this.thumbDist >= distance) // this.thumbDist = distance; // break; // } // case 2: // { // if (this.indexDist >= distance) // this.indexDist = distance; // break; // } // case 3: // { // if (this.middleDist >= distance) // this.middleDist = distance; // break; // } // case 4: // { // if (this.smallDist >= distance) // this.smallDist = distance; // break; // } // } //System.out.println("dist " + this.thumbDist + " " + this.middleDist); } public double getDistanceSum() { // return this.thumbDist + this.indexDist + this.middleDist + this.smallDist; double sum = 0; for (double dist : distances) { sum += dist; } return sum; } public String getName() { return this.gestureName; } public void setMax() { for (double max : distances) { max = Double.MAX_VALUE; } // this.thumbDist = Double.MAX_VALUE; // this.indexDist = Double.MAX_VALUE; // this.middleDist = Double.MAX_VALUE; // this.smallDist = Double.MAX_VALUE; } public int getGestureId() { return this.gestureId; } public int getEventId() { return this.eventId; } public void setFrameId(int id) { this.frameID = id; } public int getHandId() { return this.handID; } public int getFrameId() { return this.frameID; } public void decRecoCounter() { if (this.recoCounter > 0) this.recoCounter -= 1; } public void decRecoCounter(int i) { if (this.recoCounter >= i) this.recoCounter -= i; else this.recoCounter = 0; } public void incRecoCounter() { if (this.recoCounter < 7) this.recoCounter += 1; } public void incRecoCounter(int i) { if (this.recoCounter < 7) this.recoCounter += i; } public void incTuioCounter() { this.tuioCounter++; } public int getTuioCounter() { return this.tuioCounter; } public void setRecoCounter(int r) { this.recoCounter = r; } public int getRecoCounter() { return this.recoCounter; } public void incFrameID() { this.frameID += 1; } }