Pioneer
Loading...
Searching...
No Matches
Headtracker.h
Go to the documentation of this file.
1// Copyright © 2008-2023 Pioneer Developers. See AUTHORS.txt for details
2// Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
3
4#pragma once
5
6#include <cstdint>
7
8typedef int64_t NanoSocket;
9
11public:
12 // opentrack UDP protocol
13 struct State {
14 // XYZ translation coordinates in meters
15 double x, y, z;
16 // yaw pitch roll in degrees
17 double yaw, pitch, roll;
18 };
19
20public:
23
24 bool Connect(const char *host, uint16_t port);
25 void Disconnect();
26
27 const State *GetHeadState() const;
28
29 void Update();
30
31private:
32 State m_trackerState;
33 NanoSocket m_trackerSocket;
34
35 bool m_connected;
36};
int64_t NanoSocket
Definition Headtracker.h:8
Definition Headtracker.h:10
HeadtrackingManager()
Definition Headtracker.cpp:10
const State * GetHeadState() const
Definition Headtracker.cpp:73
~HeadtrackingManager()
Definition Headtracker.cpp:16
bool Connect(const char *host, uint16_t port)
Definition Headtracker.cpp:22
void Disconnect()
Definition Headtracker.cpp:65
void Update()
Definition Headtracker.cpp:78
Definition Headtracker.h:13
double x
Definition Headtracker.h:15
double roll
Definition Headtracker.h:17
double pitch
Definition Headtracker.h:17
double y
Definition Headtracker.h:15
double z
Definition Headtracker.h:15
double yaw
Definition Headtracker.h:17