52class DtVirtualRealityDriver;
55class DtSubmitOverlayCallback;
64class DtHumanVrEventProcessor;
118 virtual void tick(
double dt)
override;
129 virtual const char*
type()
const override;
204 virtual void yaw(
double val);
Defines a class that encapsulates the state of a VR controller.
Defines the base class for VR controller event management.
Provides attribute handling system for hierarchical data storage and manipulation.
A class that simulates a directional pad from analog inputs.
Definition virtualDpad.h:22
Control logic component for the human entity.
Definition humanControlLogic.h:138
int myLastMainChannelRenderOrder
Last known render order for the main channel.
Definition humanVirtualRealityLogic.h:258
bool myDidNoHandMotionReset
Flag tracking if a no-motion reset was performed.
Definition humanVirtualRealityLogic.h:237
bool myHasVRInput
Flag indicating if VR input is available.
Definition humanVirtualRealityLogic.h:278
virtual void tick(double dt) override
Updates VR processing for the current frame.
virtual void handleResetHeadPosInput(int val)
Input handler for resetting head position.
int myFramesSinceMenu
Counter for frames elapsed since menu was active.
Definition humanVirtualRealityLogic.h:252
virtual makVre::DtVreMessageResult handleEnterPlayerState(makVre::DtVreMessage *msg)
Handles player state enter messages.
virtual makVre::DtVreMessageResult handleToggleMixedReality(makVre::DtVreMessage *msg)
Handles toggle mixed reality messages.
makVre::DtActionMenuLogic * myMenuLogic
Pointer to the action menu logic component.
Definition humanVirtualRealityLogic.h:216
makVrv::DtVirtualRealityControllerState::Bitfield Bitfield
Type alias for the controller state bitfield.
Definition humanVirtualRealityLogic.h:89
DtTaitBryan myWeaponOverride
Weapon orientation override in Tait-Bryan angles.
Definition humanVirtualRealityLogic.h:249
bool myVrEnabled
Flag indicating if VR is currently enabled.
Definition humanVirtualRealityLogic.h:222
bool myDidHaveHandMotion
Flag tracking if hand motion was detected.
Definition humanVirtualRealityLogic.h:234
makVrv::DtVirtualRealityEventManager::ControllerStateMap ControllerStateMap
Type alias for the controller state map.
Definition humanVirtualRealityLogic.h:86
virtual makVre::DtVreMessageResult handleResetVrHeadPos(makVre::DtVreMessage *msg)
Handles VR head position reset messages.
makVrv::DtSubmitOverlayCallback * myVrOverlay
Pointer to the VR overlay callback.
Definition humanVirtualRealityLogic.h:219
bool myInitializedHeading
Flag indicating if heading has been initialized.
Definition humanVirtualRealityLogic.h:282
double myAimPitch
Current aim pitch angle in radians.
Definition humanVirtualRealityLogic.h:274
virtual makVre::DtVreMessageResult handleExitPlayerState(makVre::DtVreMessage *msg)
Handles player state exit messages.
makVrv::DtVirtualRealityControllerState::ControllerId ControllerId
Type alias for the controller identifier.
Definition humanVirtualRealityLogic.h:92
ControllerIdentifier myLeftHandId
Identifier for the left hand controller.
Definition humanVirtualRealityLogic.h:243
DtHumanVirtualRealityLogic()
Default constructor.
virtual bool postInitialize() override
Performs post-initialization setup.
virtual void yaw(double val)
Applies yaw rotation input.
virtual void stopVr()
Stops VR mode.
virtual void startVr()
Starts VR mode.
DtHumanControlLogic * myHumanLogic
Pointer to the human control logic component.
Definition humanVirtualRealityLogic.h:213
ControllerIdentifier myRightHandId
Identifier for the right hand controller.
Definition humanVirtualRealityLogic.h:246
bool myRightHanded
Flag indicating if the player is right-handed.
Definition humanVirtualRealityLogic.h:228
double myAimYaw
Current aim yaw angle in radians.
Definition humanVirtualRealityLogic.h:270
makVrv::DtVirtualRealityDriver * myVrDriver
Pointer to the VR driver.
Definition humanVirtualRealityLogic.h:207
virtual const ControllerState * findController(ControllerIdentifier &identifier, const ControllerStateMap &stateMap)
Finds a controller in the controller state map.
makVrv::DtVirtualRealityControllerState ControllerState
Type alias for the VR controller state.
Definition humanVirtualRealityLogic.h:98
DtVirtualDpad myVirtualDpad
Virtual direction pad for VR movement.
Definition humanVirtualRealityLogic.h:255
virtual const char * type() const override
Returns the component type identifier.
virtual ~DtHumanVirtualRealityLogic() override
Virtual destructor.
virtual void resetHeadPos()
Resets the head position in VR.
virtual bool initialize(makVre::DtPlayerStation *player, makVre::DtInitTable &config) override
Initializes the VR logic component.
bool myVrWasEnabled
Flag tracking previous VR enabled state.
Definition humanVirtualRealityLogic.h:225
double myCurrentHeading
Current heading angle in radians.
Definition humanVirtualRealityLogic.h:262
ControllerIdentifier myHeadId
Identifier for the head/HMD controller.
Definition humanVirtualRealityLogic.h:240
DtHumanVrEventProcessor * myEventProcessor
Pointer to the VR event processor.
Definition humanVirtualRealityLogic.h:210
makVrv::DtVirtualRealityControllerState::DtVector2f DtVector2f
Type alias for 2D vector used by VR controllers.
Definition humanVirtualRealityLogic.h:95
virtual void processControllerStates(const ControllerStateMap &stateMap)
Processes controller state updates.
bool mySingleHandAiming
Flag indicating if single-hand aiming is enabled.
Definition humanVirtualRealityLogic.h:231
virtual void shutdown() override
Cleans up resources when the component is being shut down.
double myYaw
Current yaw angle in radians.
Definition humanVirtualRealityLogic.h:266
Table-based access to Lua state for configuration data.
Definition initializer.h:38
Base class for all role components in VR-Engage.
Definition playerComponent.h:78
virtual DtPlayerStation & player()
Gets the player station.
Class for managing the user interface for engaged roles.
Definition playerStation.h:51
Abstract base class for all VREngage messages.
Definition vreMessage.h:50
Encapsulates the complete state of a virtual reality controller.
Definition DtVirtualRealityControllerState.h:35
DtVector2< float32 > DtVector2f
Type used for 2D vector values.
Definition DtVirtualRealityControllerState.h:52
unsigned long long Bitfield
Type used for bit flags throughout the class.
Definition DtVirtualRealityControllerState.h:41
unsigned int ControllerId
Type used for controller identification.
Definition DtVirtualRealityControllerState.h:46
std::map< unsigned int, DtVirtualRealityControllerState * > ControllerStateMap
Map type that associates controller IDs with their state objects.
Definition DtVirtualRealityEventManager.h:60
constexpr const char * rightHanded
Definition humanVirtualRealityLogic.h:36
Defines export macros for the Human Frontend library.
#define HUMAN_DLL
Definition export.h:19
Definition humanVirtualRealityLogic.h:28
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
constexpr const char * DtHumanVirtualRealityLogicType
Type identifier constant for DtHumanVirtualRealityLogic components.
Definition humanVirtualRealityLogic.h:74
DtVreMessageResult
Enumeration of possible message handling results.
Definition vreMessage.h:33
Definition appLauncherComponent.h:28
Defines the DtPlayerComponent base class for VR-Engage role components.
Structure for identifying a specific VR controller.
Definition humanVirtualRealityLogic.h:149
ControllerId controllerId
Unique identifier for the controller.
Definition humanVirtualRealityLogic.h:159
ControllerIdentifier(Bitfield type)
Constructor.
Definition humanVirtualRealityLogic.h:152
Bitfield controllerType
Type of the controller.
Definition humanVirtualRealityLogic.h:158
Provides a virtual directional pad implementation.
Defines the base class for all VREngage messages.