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:128
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15