#if defined( WIN32 )
typedef unsigned __int64 nsTime;
#else
typedef unsigned long long nsTime;
#endif
struct sSKDataBuffer
{
static const int PORTNUMBER = 8889;
static const int SIM_FPS = 60;
static const int ChannelCount = 30;
nsTime mTime;
int mCounter;
struct
{
double mT[3];
double mR[3];
} mChannel[ChannelCount];
sSKDataBuffer()
{
mTime = 0;
mCounter = 0;
SetupBuffer();
}
void Simulate(nsTime pTime)
{
mTime = pTime;
FBMatrix lTransformation, lChannelTransformation;
for(
int i = 0;
i < ChannelCount;
i++)
{
memcpy(&lChannelTransformation[12], mChannel[
i].mT,
sizeof(mChannel[
i].mT));
FBMatrixMult(lChannelTransformation,lTransformation,lChannelTransformation);
memcpy(&mChannel[
i].mT,&lChannelTransformation[12],
sizeof(mChannel[
i].mT));
}
mCounter++;
}
void SetupBuffer()
{
mChannel[0].mT[0] = 5.52507944791e-15;
mChannel[0].mT[1] = 90.2313919067;
mChannel[0].mT[2] = 0.0;
mChannel[0].mR[0] = 0.0;
mChannel[0].mR[1] = 0.0;
mChannel[0].mR[2] = 0.0;
mChannel[1].mT[0] = 10.8919000626;
mChannel[1].mT[1] = 90.2313919067;
mChannel[1].mT[2] = 0.0;
mChannel[1].mR[0] = 0.0;
mChannel[1].mR[1] = 0.0;
mChannel[1].mR[2] = 0.0;
mChannel[2].mT[0] = 10.8919000626;
mChannel[2].mT[1] = 46.1967926025;
mChannel[2].mT[2] = 0.0;
mChannel[2].mR[0] = 0.0;
mChannel[2].mR[1] = 0.0;
mChannel[2].mR[2] = 0.0;
mChannel[3].mT[0] = 10.8919000626;
mChannel[3].mT[1] = 4.74909210205;
mChannel[3].mT[2] = 0.0;
mChannel[3].mR[0] = 14.9999777807;
mChannel[3].mR[1] = 0.0;
mChannel[3].mR[2] = 0.0;
mChannel[4].mT[0] = 10.8919000626;
mChannel[4].mT[1] = 1.05947666894;
mChannel[4].mT[2] = 13.7698536165;
mChannel[4].mR[0] = 0.0;
mChannel[4].mR[1] = 0.0;
mChannel[4].mR[2] = 0.0;
mChannel[5].mT[0] = 10.8919000626;
mChannel[5].mT[1] = 1.05947666894;
mChannel[5].mT[2] = 21.2698536165;
mChannel[5].mR[0] = 0.0;
mChannel[5].mR[1] = 0.0;
mChannel[5].mR[2] = 0.0;
mChannel[6].mT[0] = -10.8919000626;
mChannel[6].mT[1] = 90.2313919067;
mChannel[6].mT[2] = 0.0;
mChannel[6].mR[0] = 0.0;
mChannel[6].mR[1] = 0.0;
mChannel[6].mR[2] = 0.0;
mChannel[7].mT[0] = -10.8919000626;
mChannel[7].mT[1] = 46.1967926025;
mChannel[7].mT[2] = 0.0;
mChannel[7].mR[0] = 0.0;
mChannel[7].mR[1] = 0.0;
mChannel[7].mR[2] = 0.0;
mChannel[8].mT[0] = -10.8919000626;
mChannel[8].mT[1] = 4.74909210205;
mChannel[8].mT[2] = 0.0;
mChannel[8].mR[0] = 14.9999777807;
mChannel[8].mR[1] = 0.0;
mChannel[8].mR[2] = 0.0;
mChannel[9].mT[0] = -10.8919000626;
mChannel[9].mT[1] = 1.05947666894;
mChannel[9].mT[2] = 13.7698536165;
mChannel[9].mR[0] = 0.0;
mChannel[9].mR[1] = 0.0;
mChannel[9].mR[2] = 0.0;
mChannel[10].mT[0] = -10.8919000626;
mChannel[10].mT[1] = 1.05947666894;
mChannel[10].mT[2] = 21.2698536165;
mChannel[10].mR[0] = 0.0;
mChannel[10].mR[1] = 0.0;
mChannel[10].mR[2] = 0.0;
mChannel[11].mT[0] = 5.52507944791e-15;
mChannel[11].mT[1] = 90.3313919082;
mChannel[11].mT[2] = 0.0;
mChannel[11].mR[0] = 0.0;
mChannel[11].mR[1] = 0.0;
mChannel[11].mR[2] = 0.0;
mChannel[12].mT[0] = 5.52507944791e-15;
mChannel[12].mT[1] = 109.028892137;
mChannel[12].mT[2] = 0.0;
mChannel[12].mR[0] = 0.0;
mChannel[12].mR[1] = 0.0;
mChannel[12].mR[2] = 0.0;
mChannel[13].mT[0] = 5.52507944791e-15;
mChannel[13].mT[1] = 133.325692751;
mChannel[13].mT[2] = 0.0;
mChannel[13].mR[0] = 0.0;
mChannel[13].mR[1] = 0.0;
mChannel[13].mR[2] = 0.0;
mChannel[14].mT[0] = 5.52507944791e-15;
mChannel[14].mT[1] = 145.887693025;
mChannel[14].mT[2] = 0.0;
mChannel[14].mR[0] = 0.0;
mChannel[14].mR[1] = 0.0;
mChannel[14].mR[2] = 0.0;
mChannel[15].mT[0] = 5.52507944791e-15;
mChannel[15].mT[1] = 157.387693025;
mChannel[15].mT[2] = 0.0;
mChannel[15].mR[0] = 0.0;
mChannel[15].mR[1] = 0.0;
mChannel[15].mR[2] = 0.0;
mChannel[16].mT[0] = 5.52507944791e-15;
mChannel[16].mT[1] = 133.325692751;
mChannel[16].mT[2] = 0.0;
mChannel[16].mR[0] = 0.0;
mChannel[16].mR[1] = 0.0;
mChannel[16].mR[2] = -90.0002104591;
mChannel[17].mT[0] = 21.7077007292;
mChannel[17].mT[1] = 133.325613014;
mChannel[17].mT[2] = 0.0;
mChannel[17].mR[0] = 0.0;
mChannel[17].mR[1] = 0.0;
mChannel[17].mR[2] = -90.0002104591;
mChannel[18].mT[0] = 48.0103015896;
mChannel[18].mT[1] = 133.325516399;
mChannel[18].mT[2] = 0.0;
mChannel[18].mR[0] = 0.0;
mChannel[18].mR[1] = 0.0;
mChannel[18].mR[2] = -90.0002104591;
mChannel[19].mT[0] = 75.5387020106;
mChannel[19].mT[1] = 133.325415281;
mChannel[19].mT[2] = 0.0;
mChannel[19].mR[0] = 0.0;
mChannel[19].mR[1] = 0.0;
mChannel[19].mR[2] = -90.0002104591;
mChannel[20].mT[0] = 75.5387020106;
mChannel[20].mT[1] = 133.325415281;
mChannel[20].mT[2] = 0.0;
mChannel[20].mR[0] = 0.0;
mChannel[20].mR[1] = 0.0;
mChannel[20].mR[2] = -90.0002104591;
mChannel[21].mT[0] = 75.5387020106;
mChannel[21].mT[1] = 133.325415281;
mChannel[21].mT[2] = 10.0;
mChannel[21].mR[0] = 0.0;
mChannel[21].mR[1] = 0.0;
mChannel[21].mR[2] = -90.0002104591;
mChannel[22].mT[0] = 85.5387020105;
mChannel[22].mT[1] = 133.325378549;
mChannel[22].mT[2] = 0.0;
mChannel[22].mR[0] = 0.0;
mChannel[22].mR[1] = 0.0;
mChannel[22].mR[2] = -90.0002104591;
mChannel[23].mT[0] = 5.52507944791e-15;
mChannel[23].mT[1] = 133.325692751;
mChannel[23].mT[2] = 0.0;
mChannel[23].mR[0] = 0.0;
mChannel[23].mR[1] = 0.0;
mChannel[23].mR[2] = 90.0002104591;
mChannel[24].mT[0] = -21.7077007292;
mChannel[24].mT[1] = 133.325613014;
mChannel[24].mT[2] = 0.0;
mChannel[24].mR[0] = 0.0;
mChannel[24].mR[1] = 0.0;
mChannel[24].mR[2] = 90.0002104591;
mChannel[25].mT[0] = -48.0103015896;
mChannel[25].mT[1] = 133.325516399;
mChannel[25].mT[2] = 0.0;
mChannel[25].mR[0] = 0.0;
mChannel[25].mR[1] = 0.0;
mChannel[25].mR[2] = 90.0002104591;
mChannel[26].mT[0] = -75.5387020106;
mChannel[26].mT[1] = 133.325415281;
mChannel[26].mT[2] = 0.0;
mChannel[26].mR[0] = 0.0;
mChannel[26].mR[1] = 0.0;
mChannel[26].mR[2] = 90.0002104591;
mChannel[27].mT[0] = -75.5387020106;
mChannel[27].mT[1] = 133.325415281;
mChannel[27].mT[2] = 0.0;
mChannel[27].mR[0] = 0.0;
mChannel[27].mR[1] = 0.0;
mChannel[27].mR[2] = 90.0002104591;
mChannel[28].mT[0] = -75.5387020106;
mChannel[28].mT[1] = 133.325415281;
mChannel[28].mT[2] = 10.0;
mChannel[28].mR[0] = 0.0;
mChannel[28].mR[1] = 0.0;
mChannel[28].mR[2] = 90.0002104591;
mChannel[29].mT[0] = -89.2387018198;
mChannel[29].mT[1] = 133.325364958;
mChannel[29].mT[2] = 0.0;
mChannel[29].mR[0] = 0.0;
mChannel[29].mR[1] = 0.0;
mChannel[29].mR[2] = 90.0002104591;
}
};