53#include <matrix/vlVector.h>
54#include <matrix/vlQuaternion.h>
64class DtVirtualRealityDriver;
182 virtual void tick(
double dt)
override;
199 virtual const char*
type()
const override;
Provides a template class for Bezier curve-based interpolation.
Bezier curve-based interpolation template class.
Definition bezierInterpolator.h:24
Table-based access to Lua state for configuration data.
Definition initializer.h:38
Linear interpolation template class.
Definition linearInterpolator.h:23
bool myEnableLookAround
Flag indicating if look-around functionality is enabled.
Definition lookAroundObserverUpdater.h:314
virtual void updateBinocularsState(double dt)
Updates the binoculars zoom state.
bool myEnableBinoculars
Flag indicating if binoculars functionality is enabled.
Definition lookAroundObserverUpdater.h:308
SensorViews myLastSensorViewMode
Last active sensor view mode.
Definition lookAroundObserverUpdater.h:344
virtual void setupObserver()
Sets up the observer's attachment to the player entity.
virtual void updateNVGState()
Updates the night vision goggles (NVG) state.
DtLookAroundObserverUpdater()
Constructor for DtLookAroundObserverUpdater.
DtQuaternion myAttachedOrientationOffset
Orientation offset from the attachment point.
Definition lookAroundObserverUpdater.h:305
virtual bool postInitialize() override
Performs post-initialization after all components are initialized.
ObserverRange myDefaultYawRange
Default yaw range limits in radians.
Definition lookAroundObserverUpdater.h:329
virtual bool isLookAroundEnabled() const
Checks if look-around functionality is enabled.
virtual void onCurrentViewNameChanged(const std::string &viewName)
Handles changes to the current view name.
ObserverRange myDefaultPitchRange
Default pitch range limits in radians.
Definition lookAroundObserverUpdater.h:332
void resetToInitialView(double period=0.25)
Resets the observer to its initial orientation.
double mySnapBackTimeJoystick
Time in seconds to transition back to initial view when using joystick.
Definition lookAroundObserverUpdater.h:338
virtual void shutdown() override
Shuts down the look-around observer updater component.
virtual bool isBinocularsEnabled() const
Checks if binoculars functionality is enabled.
void refreshObserverYawAndPitch()
Refreshes the observer yaw and pitch values.
std::vector< SavedViewData > mySupplementalSavedViewData
Collection of supplemental configuration data for saved views.
Definition lookAroundObserverUpdater.h:347
std::shared_ptr< DtLookAroundInputLogic > myInputLogic
Shared pointer to the associated input logic component.
Definition lookAroundObserverUpdater.h:293
virtual ~DtLookAroundObserverUpdater() override
Virtual destructor for DtLookAroundObserverUpdater.
makVrv::DtObserver * myObserver
Pointer to the observer being controlled.
Definition lookAroundObserverUpdater.h:296
bool myLastNVGState
Last known state of night vision goggles.
Definition lookAroundObserverUpdater.h:317
std::shared_ptr< DtLookAroundInputLogic > getInputLogic()
Gets the associated input logic component.
double mySnapBackTimeMouse
Time in seconds to transition back to initial view when using mouse.
Definition lookAroundObserverUpdater.h:335
virtual void updateObserverState(double dT)
Updates the observer's orientation state.
virtual const ObserverRange & getPitchRange()
Gets the current pitch range limits.
bool myUseSavedViews
Flag indicating if saved views system is in use.
Definition lookAroundObserverUpdater.h:341
virtual const char * type() const override
Returns the type identifier for this component.
virtual void setLookingAround(bool look, bool mouse=true)
Enables or disables active looking around.
virtual bool isLookingAround() const
Checks if the player is currently looking around.
virtual const ObserverRange & getYawRange()
Gets the current yaw range limits.
ObserverRange myCurrentPitchRange
Current pitch range limits in radians.
Definition lookAroundObserverUpdater.h:326
virtual void tick(double dt) override
Called every frame to update the observer orientation and visual effects.
makVre::DtBezierInterpolator< DtVector > * myObserverInterpolator
Interpolator for smooth transitions between observer orientations.
Definition lookAroundObserverUpdater.h:350
makVre::DtLinearInterpolator< double > * myZoomInterpolator
Interpolator for smooth zoom level transitions.
Definition lookAroundObserverUpdater.h:299
bool myLookingAround
Flag indicating if the player is currently looking around.
Definition lookAroundObserverUpdater.h:320
DtVector myAttachedLocationOffset
Position offset from the attachment point.
Definition lookAroundObserverUpdater.h:302
virtual bool isNVGEnabled() const
Checks if night vision goggles functionality is enabled.
bool myEnableNVG
Flag indicating if night vision goggles functionality is enabled.
Definition lookAroundObserverUpdater.h:311
virtual makVre::DtVreMessageResult handlePlayerCreated(makVre::DtVreMessage *msg)
Handles player creation messages.
virtual bool initialize(DtPlayerStation *player, DtInitTable &config) override
Initializes the look-around observer updater component.
makVrv::DtVirtualRealityDriver * myVrDriver
Pointer to the VR driver if VR is enabled.
Definition lookAroundObserverUpdater.h:356
ObserverRange myCurrentYawRange
Current yaw range limits in radians.
Definition lookAroundObserverUpdater.h:323
bool myVrEnabled
Flag indicating if VR mode is enabled.
Definition lookAroundObserverUpdater.h:353
DtObserverUpdater()
Default constructor for DtObserverUpdater.
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
Base component for managing observer parameters and view settings.
constexpr const char * snapBackTimeJoystick
Definition lookAroundObserverUpdater.h:97
constexpr const char * supplementalSavedViewData
Definition lookAroundObserverUpdater.h:103
constexpr const char * enableLookAround
Definition lookAroundObserverUpdater.h:85
constexpr const char * snapBackTimeMouse
Definition lookAroundObserverUpdater.h:100
constexpr const char * attachedOrientationOffset
Definition lookAroundObserverUpdater.h:79
constexpr const char * pitchRange
Definition lookAroundObserverUpdater.h:94
constexpr const char * enableBinoculars
Definition lookAroundObserverUpdater.h:82
constexpr const char * observerName
Definition lookAroundObserverUpdater.h:91
constexpr const char * attachedLocationOffset
Definition lookAroundObserverUpdater.h:76
constexpr const char * enableNVG
Definition lookAroundObserverUpdater.h:88
constexpr const char * yawRange
Definition lookAroundObserverUpdater.h:106
#define VRECOMMONCOMPONENTS_DLL
DLL export/import macro for the vreCommonComponents library.
Definition export.h:28
Provides a template class for linear interpolation between values.
Definition lookAroundObserverUpdater.h:68
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
constexpr const char * DtLookAroundObserverUpdaterType
Type identifier for DtLookAroundObserverUpdater component.
Definition lookAroundObserverUpdater.h:140
DtVreMessageResult
Enumeration of possible message handling results.
Definition vreMessage.h:33
SensorViews
Enumeration of available sensor view modes.
Definition stateDefines.h:18
Definition appLauncherComponent.h:28
Common enumeration definitions used throughout the VREngage system.
Structure representing a range of rotation values for observer movement.
Definition observerUpdater.h:47
ObserverRange pitchRange
Range of vertical rotation (pitch) allowed for this view.
Definition lookAroundObserverUpdater.h:130
ObserverRange yawRange
Range of horizontal rotation (yaw) allowed for this view.
Definition lookAroundObserverUpdater.h:133
bool enableLookAround
Flag indicating if look-around functionality is enabled for this view.
Definition lookAroundObserverUpdater.h:127
SavedViewData(std::string name)
Constructor that initializes the saved view with a name.
Definition lookAroundObserverUpdater.h:119
std::string savedViewName
The name of the saved view.
Definition lookAroundObserverUpdater.h:124
Defines the base class for all VREngage messages.