import processing.net.*;
Client myClient;
int val = 0;
float X, Y, Z;
float outX=100, outY=100, outZ=100;
float inX, inY, inZ;
void setup() {
size(screen.width, screen.height, P3D);
// Server conection:
myClient = new Client(this, "152.97.100.115", 5204); //152.97.100.111
colorMode(RGB, 1);
//int clientCount = 0;
X = 0;
Y = 12;
Z = 30;
myClient.write(""+X+","+Y+","+Z);
}
void draw() {
delay(100);
if (myClient.available() > 0) {
//background(0);
String positions = myClient.readString();
String[] tokens = positions.split(",");
try{
inX = Float.valueOf(tokens[0].trim()).floatValue();
inY = Float.valueOf(tokens[1].trim()).floatValue();
//sometimes two strings are combined, so z would be something like 0.0267.0
//split it up just in case this happenss
String[] zs = tokens[2].trim().split("-");
//for(int i=0; i<zs.length; i++)
// println("\t"+zs[i]);
// if(zs.length >= 2)
inZ = Float.valueOf(zs[0]).floatValue();
}
catch(Exception e)
{}
// else
// inZ = Float.valueOf(tokens[2].trim()).floatValue();
//Transform from input to output... input is in inches, output is in pixels. Proper pixel/inch conversion???
outX = (inX - X);
outY = (inY - Y);
outZ = (inZ - Z);
}
println(""+outX+","+outY+","+outZ);
pushMatrix();
//translate(outX, outY, outZ-30);
//scale(90);
translate(width/2, height/2, -30);
beginShape(QUADS);
background(0);
fill(0, 1, 1); vertex(-100+outX, 100+outY, 100+outZ);
fill(1, 1, 1); vertex( 100+outX, 100+outY, 100+outZ);
fill(1, 0, 1); vertex( 100+outX, -100+outY, 100+outZ);
fill(0, 0, 1); vertex(-100+outX, -100+outY, 100+outZ);
fill(1, 1, 1); vertex( 100+outX, 100+outY, 100+outZ);
fill(1, 1, 0); vertex( 100+outX, 100+outY, -100+outZ);
fill(1, 0, 0); vertex( 100+outX, -100+outY, -100+outZ);
fill(1, 0, 1); vertex( 100+outX, -100+outY, 100+outZ);
fill(1, 1, 0); vertex( 100+outX, 100+outY, -100+outZ);
fill(0, 1, 0); vertex(-100+outX, 100+outY, -100+outZ);
fill(0, 0, 0); vertex(-100+outX, -100+outY, -100+outZ);
fill(1, 0, 0); vertex( 100+outX, -100+outY, -100+outZ);
fill(0, 1, 0); vertex(-100+outX, 100+outY, -100+outZ);
fill(0, 1, 1); vertex(-100+outX, 100+outY, 100+outZ);
fill(0, 0, 1); vertex(-100+outX, -100+outY, 100+outZ);
fill(0, 0, 0); vertex(-100+outX, -100+outY, -100+outZ);
fill(0, 1, 0); vertex(-100+outX, 100+outY, -100+outZ);
fill(1, 1, 0); vertex( 100+outX, 100+outY, -100+outZ);
fill(1, 1, 1); vertex( 100+outX, 100+outY, 100+outZ);
fill(0, 1, 1); vertex(-100+outX, 100+outY, 100+outZ);
fill(0, 0, 0); vertex(-100+outX, -100+outY, -100+outZ);
fill(1, 0, 0); vertex( 100+outX, -100+outY, -100+outZ);
fill(1, 0, 1); vertex( 100+outX, -100+outY, 100+outZ);
fill(0, 0, 1); vertex(-100+outX, -100+outY, 100+outZ);
endShape();
popMatrix();
}