package automenta.vivisect.face;
import java.awt.Image;
import java.util.StringTokenizer;
public class FaceFrame extends Object {
private double[][] targets;
private Image snapshot;
private double when;
public FaceFrame(double[][] t, Image snap, double w) {
targets = new double[2][t[0].length];
for(int s = 0; s < 2; s++)
System.arraycopy(t[s], 0, targets[s], 0, t[0].length);
snapshot = snap;
when = w;
}
public FaceFrame(FaceFrame f) {
targets = f.getTargets();
snapshot = f.getSnapshot();
when = f.getTime();
}
public FaceFrame(String s) {
StringTokenizer outside = new StringTokenizer(s, "|\n");
String w = outside.nextToken();
when = Double.parseDouble(w);
String val = outside.nextToken();
StringTokenizer inside = new StringTokenizer(val, ",");
targets = new double[2][inside.countTokens()];
int i = 0;
String v;
while(inside.hasMoreTokens()) {
v = inside.nextToken();
targets[0][i] = Double.parseDouble(v);
i++;
}
val = outside.nextToken();
inside = new StringTokenizer(val, ",");
i = 0;
while(inside.hasMoreTokens()) {
v = inside.nextToken();
targets[1][i] = Double.parseDouble(v);
i++;
}
snapshot = null;
}
public double[][] getTargets() {
return targets;
}
public Image getSnapshot() {
return snapshot;
}
public void setSnapshot(Image snap) {
snapshot = snap;
}
public double getTime() {
return when;
}
public void setTime(double t) {
when = t;
}
public String toString() {
String retVal = new String();
retVal += when + "\n";
for(int s = 0; s < 2; s++) {
for(int v = 0; v < targets[s].length; v++) {
if(v != 0)
retVal += ",";
retVal += "" + targets[s][v];
}
retVal += "\n";
}
return retVal;
}
}