-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathViveControllerManager.h
More file actions
35 lines (30 loc) · 976 Bytes
/
ViveControllerManager.h
File metadata and controls
35 lines (30 loc) · 976 Bytes
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
34
35
#pragma once
#include "ControllerManager.h"
class ViveControllerManager :public ControllerManager
{
public:
typedef struct _DeviceIO {
float trackpadX = 0;
float trackpadY = 0;
bool trackpadTouch = false;
bool trackpadClick = false;
float triggerValue = 0;
bool triggerTouch = false;
bool triggerClick = false;
bool grip_touch = false;
bool grip_click = false;
bool applicationMenu = false;
bool system = false;
float poseMatrixCalibrated[16];
} ViveControllerStatus;
ViveControllerManager(uint32_t index);
~ViveControllerManager();
void UpdateControllerStatus();
void UpdateButtonHighlights();
ViveControllerStatus ControllerStatus;
std::string RenderModelName = "";
private:
uint32_t m_nDeviceIndex;
void ConvertPoseMatrix(vr::HmdMatrix34_t matPose, ViveControllerStatus &controllerStatus);
std::string GetStringProperty(vr::TrackedDeviceIndex_t unDevice, vr::TrackedDeviceProperty prop, vr::TrackedPropertyError *peError = NULL);
};