blob: 3e0f955c7e6373739fd808e00d5910088bf98b9d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/* Homepage http://facetracknoir.sourceforge.net/home/default.htm *
* *
* ISC License (ISC) *
* *
* Copyright (c) 2015, Wim Vriend *
* *
* Permission to use, copy, modify, and/or distribute this software for any *
* purpose with or without fee is hereby granted, provided that the above *
* copyright notice and this permission notice appear in all copies. *
*/
#include "ftnoir_protocol_fg.h"
#include "api/plugin-api.hpp"
// For Todd and Arda Kutlu
void flightgear::pose(const double* headpose) {
FlightData.x = -headpose[TX] * 1e-2;
FlightData.y = headpose[TY] * 1e-2;
FlightData.z = headpose[TZ] * 1e-2;
FlightData.p = headpose[Pitch];
FlightData.h = -headpose[Yaw];
FlightData.r = -headpose[Roll];
FlightData.status = 1;
QHostAddress destIP(quint32(s.ip1 << 24 | s.ip2 << 16 | s.ip3 << 8 | s.ip4));
(void) outSocket.writeDatagram(reinterpret_cast<const char*>(&FlightData), sizeof(FlightData), destIP, static_cast<quint16>(s.port));
}
bool flightgear::correct()
{
return outSocket.bind(QHostAddress::Any, 0, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint);
}
OPENTRACK_DECLARE_PROTOCOL(flightgear, FGControls, flightgearDll)
|