20#include "InputProvider.h"
42enum class StartingPosition {
53enum class VirtualMode{ Tracking, Static1, Static2};
64 alignas(4)
float magic;
66 alignas(4)
float mode;
68 alignas(4)
float viewTransx;
70 alignas(4)
float viewTransy;
72 alignas(4)
float viewTransz;
74 alignas(4)
float viewRotx;
76 alignas(4)
float viewRoty;
78 alignas(4)
float viewRotz;
80 alignas(4)
float viewRotw;
82 alignas(4)
float cameras;
84 alignas(4)
float reset;
86 alignas(4)
float initTransx;
88 alignas(4)
float initTransy;
90 alignas(4)
float initTransz;
92 alignas(4)
float initRotx;
94 alignas(4)
float initRoty;
96 alignas(4)
float initRotz;
98 alignas(4)
float initRotw;
110#ifdef HVT_UDP_CONTROL
142 InputProvider::ProjectionType
projectionType = InputProvider::ProjectionType::PROJECTION_INVALID;
180 glm::vec3 startingPosition = { 0,0,0 };
182 glm::vec3 startingRotation = { 0,0,0 };
185 const int staticPoses = 2;
187 std::vector<glm::vec3> staticPosition;
189 std::vector<glm::quat> staticQuaternion;
192 std::vector<InputProvider::Extrinsics> virtualExtrinsics;
194 std::vector<InputProvider::Intrinsics> virtualIntrasics;
197 VirtualMode virtualMode = VirtualMode::Tracking;
199#ifdef HVT_UDP_CONTROL
203 unsigned short portNumber = 0;
205 const float magicNb = 456123;
208 void setupUDPServer();
213 std::thread serverThread;
219 int client_address_size;
228 bool serverIsActive =
true;
233 std::mutex startPosMut;
Class that encapsulates the rendering parameters (RVS internal parameters + virtual camera parameters...
void setStartingPt(glm::vec3 startPos, glm::vec3 startRot)
const InputProvider::Extrinsics getVirtualExtrinsics(int view)
const glm::mat3x3 conversionToOMAF
const glm::vec3 getStartingPosition()
const glm::vec3 getStartingRotation()
std::vector< glm::vec2 > virtualViewDef
void updateSpaceTransform(glm::vec3 translation, glm::vec3 rotation)
InputProvider::ProjectionType projectionType
void init(int view, WindowAbstract *window, VulkanWrapper *wraps)
const InputProvider::Intrinsics getVirtualIntrinsics(int view)
Class that manages the classes related to Vulkan code and act as a wrapper around them.
Abstraction of the way of the result is displayed (screen or HMD).
file that contains the common include for the Vulkan part