8#ifndef META_OCEAN_PLATFORM_META_QUEST_APPLICATION_VR_CONTROLLER_VISUALIZER_H
9#define META_OCEAN_PLATFORM_META_QUEST_APPLICATION_VR_CONTROLLER_VISUALIZER_H
118 bool wasShown_ =
false;
194 inline bool isShown()
const;
202 inline Scalar controllerRayLength()
const;
208 inline void setControllerRayLength(
const Scalar length);
225 inline void pushState();
230 inline void popState();
256 bool loadModels(
const std::string& leftRenderModelFilename,
const std::string& rightRenderModelFilename);
293 std::atomic<Scalar> controllerRayLength_ =
Scalar(0);
302 controllerRayLength_(0)
304 ocean_assert(!leftRenderModelFilename.empty() && !rightRenderModelFilename.empty());
305 if (!
loadModels(leftRenderModelFilename, rightRenderModelFilename))
307 Log::error() <<
"Failed to load the render models of the controllers";
314 controllerRayLength_(0)
317 ocean_assert(!renderModelDirectoryName.empty());
319 if (
loadModels(deviceType, renderModelDirectoryName))
325 Log::error() <<
"Failed to load the render models of the controllers";
332 *
this = std::move(vrControllerVisualizer);
376#ifdef OCEAN_PLATFORM_META_QUEST_OPENXR_USE_EXTERNAL_CONTROLLER_MODEL_FILE
static MessageObject error()
Returns the message for error messages.
Definition Messenger.h:1074
This class implements a scoped lock object for recursive lock objects.
Definition Lock.h:135
float Scalar
Definition of a scalar type.
Definition Math.h:129
The namespace covering the entire Ocean framework.
Definition Accessor.h:15