CybSDK C++  4.3
CVirtDevice.h
1 /************************************************************************************
2 Filename : CVirtDevice.h
3 Content : class VirtDevice is the main interface to communicate to Virtualizer devices.
4  To add your own custom implementation you should derive from this base class.
5 
6 Copyright 2019 Cyberith GmbH
7 Authors : Lukas Pfeifhofer, Jeroen Doggen, Stefan Radlwimmer <s.radlwimmer@cyberith.com>
8 Support : support@cyberith.com
9 *************************************************************************************/
10 
11 #ifndef CVirtDevice_h
12 #define CVirtDevice_h
13 
14 #include "CVirtExport.h"
15 #include "CVirtDeviceInfo.h"
16 
17 namespace CybSDK
18 {
22  class CYBSDK_EXPORT VirtDevice
23  {
24  public:
25  //****************************************************************************************
26  //* Ctor/Dtor
27  //****************************************************************************************
28 
29  virtual ~VirtDevice() = default;
30 
31 
32  //****************************************************************************************
33  //* Connection
34  //****************************************************************************************
35 
41  virtual bool Open() = 0;
45  virtual bool IsOpen() const = 0;
49  virtual bool Close() = 0;
50 
51 
52  //****************************************************************************************
53  //* Device Infos
54  //****************************************************************************************
55 
59  virtual const VirtDeviceInfo& GetDeviceInfo() const = 0;
60 
61  //****************************************************************************************
62  //* Virtualizer Game Data
63  //****************************************************************************************
64 
72  virtual float GetPlayerHeight() const = 0;
73 
78  virtual void ResetPlayerHeight() = 0;
79 
85  virtual float GetPlayerOrientation() const = 0;
86 
93  virtual void ResetPlayerOrientation() = 0;
94 
99  virtual float GetMovementSpeed() const = 0;
100 
106  virtual float GetMovementDirection() const = 0;
107 
108  //****************************************************************************************
109  //* Haptic
110  //****************************************************************************************
111 
115  virtual bool HasHaptic() const = 0;
116 
120  virtual void HapticPlay() = 0;
121 
125  virtual void HapticStop() = 0;
126 
131  virtual void HapticSetGain(int gain) = 0;
132 
137  virtual void HapticSetFrequency(int frequency) = 0;
138 
143  virtual void HapticSetVolume(int volume) = 0;
144  };
145 }
146 #endif
Struct containing all infos about a Virtualizer USB device.
Definition: CVirtDeviceInfo.h:22
Main interface all Virtualizer Devices have to implement.
Definition: CVirtDevice.h:22