Calibration now gets saved and loaded to a file on the client side.

Simplified the calibration data structure on client.
Updated README, LICENSE and gitignore.
This commit is contained in:
Marek Kowalski
2017-01-17 19:04:45 +01:00
parent 8e15bcf917
commit 64027fc77d
7 changed files with 71 additions and 50 deletions
+10 -12
View File
@@ -99,7 +99,7 @@ namespace KinectServer
public void SendCalibrationData()
{
int size = 1 + 2 * (9 + 3) * sizeof(float);
int size = 1 + (9 + 3) * sizeof(float);
byte[] data = new byte[size];
int i = 0;
@@ -111,12 +111,6 @@ namespace KinectServer
Buffer.BlockCopy(oWorldTransform.t, 0, data, i, 3 * sizeof(float));
i += 3 * sizeof(float);
Buffer.BlockCopy(oCameraPose.R, 0, data, i, 9 * sizeof(float));
i += 9 * sizeof(float);
Buffer.BlockCopy(oCameraPose.t, 0, data, i, 3 * sizeof(float));
i += 3 * sizeof(float);
if (SocketConnected())
oSocket.Send(data);
}
@@ -141,11 +135,15 @@ namespace KinectServer
buffer = Receive(sizeof(float) * 3);
Buffer.BlockCopy(buffer, 0, oWorldTransform.t, 0, sizeof(float) * 3);
buffer = Receive(sizeof(float) * 9);
Buffer.BlockCopy(buffer, 0, oCameraPose.R, 0, sizeof(float) * 9);
buffer = Receive(sizeof(float) * 3);
Buffer.BlockCopy(buffer, 0, oCameraPose.t, 0, sizeof(float) * 3);
oCameraPose.R = oWorldTransform.R;
for (int i = 0; i < 3; i++)
{
oCameraPose.t[i] = 0.0f;
for (int j = 0; j < 3; j++)
{
oCameraPose.t[i] += oWorldTransform.t[j] * oWorldTransform.R[i, j];
}
}
UpdateSocketState();
}