22 #include <matrix/vlVector.h>
24 #include <osg/ref_ptr>
25 #include <osg/Texture2D>
45 class DtChannelManager;
47 class DtSubmitOverlayCallback;
48 class DtVirtualRealityProvider;
49 class DtVirtualRealityChannel;
50 class DtSwapChainPreviewDrawable;
74 virtual const std::string& className()
const;
78 virtual bool onStart();
81 virtual bool onStop();
84 virtual bool onTick();
87 virtual bool isVrAvailable();
93 virtual void resetHmd();
96 virtual void triggerAction1();
107 virtual void setMirrorChannel(
const std::string& val);
132 virtual void setObserverForHmd(
const std::string& obsName);
135 void handleEnableMixedRealityChanged(
bool val);
138 void handleEnableRealWorldDepthTestingChanged(
bool val);
147 virtual osg::Texture* findOverlayTexture()
const;
153 virtual osg::StateSet* findOverlayQuadStateSet()
const;
159 virtual void useOverlayRenderTextures(osg::Camera* camera,
bool clearDepth);
162 virtual void installMixedRealityMaskingObject(osg::Group* mountTo, osg::Vec3
offset,
163 bool followObserver,
const std::string& modelFileOrShapeName);
166 virtual void uninstallMixedRealityMaskingObject();
169 virtual void startMasking();
172 virtual void stopMasking();
175 virtual void setOrientationSmoothingEnabled(
bool enabled);
178 virtual void setOrientationSmoothingParams(
double alpha,
double threshold);
211 virtual void handleOverlayDimensionsChanged(
float val);
214 virtual void handleResolutionScaleChanged(
int scale);
217 virtual void handleEnableVRSChanged(
bool enable);
220 virtual void handleDisableAAChanged(
bool disable);
224 void installResetKeyMap();
228 void installAction1KeyMap();
231 virtual void handleEnabledChanged(
bool val);
238 virtual void enableDesktopMirroring(
bool enable);
246 virtual bool getPose(
DtVector& position,
DtQuat& orienation,
int index)
const;
249 virtual void connectSignals();
252 virtual void onPretick();
255 virtual void onUpdate(
double simTime);
258 virtual void onPostUpdate();
261 virtual void onPostTick();
264 virtual void updatePoseInformation();
267 void slot_hdrEnabledChanged(
bool enabled);
273 void slot_windowToBeDestroyed(
DtWindow* window);
DtWindowConfiguration myHmdWindowConfig
Definition: DtVirtualRealityDriver.h:282
Abstract Base class.
Definition: DtWindow.h:25
double myOriFilterAlpha
Definition: DtVirtualRealityDriver.h:310
Contains DLL export macros.
DtVrRenderMode
Virtual reality render mode.
Definition: vrvVirtualReality.h:52
bool myOriSmoothingEnabled
Definition: DtVirtualRealityDriver.h:309
DtDe & myDe
Definition: DtVirtualRealityDriver.h:276
osg::ref_ptr< DtSwapChainPreviewDrawable > myPreviewDrawable
Definition: DtVirtualRealityDriver.h:303
Definition: DtSwapChain.h:219
boost::signalslib::signal< void()> signal_vrResolutionChanged
Signal emitted when the resolution changes.
Definition: DtVirtualRealityDriver.h:191
DtVrEyeToChannelMap myChannels
Definition: DtVirtualRealityDriver.h:285
Contains makVrv::DtDe class.
This owns a list of channel configurations.
Definition: DtWindowConfiguration.h:26
std::string myMirrorObserverRestore
Definition: DtVirtualRealityDriver.h:301
Contains makArchives::DtVirtualRealitySettingsRecord class.
osg::ref_ptr< osg::Texture2D > myOverlayDepthTexture
Definition: DtVirtualRealityDriver.h:293
This class provides the OSG-specific implementation of a DtChannel.
Definition: DtOsgChannel.h:55
A driver that manages virtual reality HMD and input devices.
Definition: DtVirtualRealityDriver.h:54
boost::signalslib::signal< void()> signal_vrOverlayChanged
Signal emitted when the overlay dimensions change.
Definition: DtVirtualRealityDriver.h:194
#define DT_DLL_VRVVR
Definition: vrvVirtualReality.h:19
DtMirroring
Definition: DtVirtualRealitySettingsRecord.h:28
DtEye
A virtual reality eye.
Definition: vrvVirtualReality.h:37
int myMirrorChannelRenderOrderRestore
Definition: DtVirtualRealityDriver.h:302
DtSignalConnectionManager myConnections
Definition: DtVirtualRealityDriver.h:317
The abstract Channel Class.
Definition: DtChannel.h:35
A facade for a DtObserverObject.
Definition: DtObserver.h:37
Contains makVrv:DtAgentManager class.
The DtDriver is an abstract class. Developers derive from this to create logic that "directs" things ...
Definition: DtDriver.h:31
DtVirtualRealityChannel * myStereoOverlayChannel
Definition: DtVirtualRealityDriver.h:305
DtObserver * myHmdObserver
Definition: DtVirtualRealityDriver.h:280
vrvVirtualReality::DtVrRenderMode myRenderMode
Definition: DtVirtualRealityDriver.h:287
boost::signalslib::signal< void()> signal_reset
Signal emitted when the VR system is reset.
Definition: DtVirtualRealityDriver.h:185
This owns a list of window configurations.
Definition: DtDisplayConfiguration.h:43
double myLastTime
Definition: DtVirtualRealityDriver.h:315
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
An abstract interface that provides VR System API services. Providers are created and provided to the...
Definition: DtVirtualRealityProvider.h:47
Contains makVrv::DtQuat class.
DtWindow * myMirrorWindow
Definition: DtVirtualRealityDriver.h:300
A VRV channel that represents the eyes of the HMD A Virtual Reality channel can render in a few diffe...
Definition: DtVirtualRealityChannel.h:30
The DtAgentManager manages the distributed scene object framework. This includes the objects and upda...
Definition: DtAgentManager.h:38
std::map< vrvVirtualReality::DtEye, DtVirtualRealityChannel * > DtVrEyeToChannelMap
Definition: DtVirtualRealityDriver.h:284
Contains makVrv:DtDriver class.
bool myUseMixedRealityMask
Definition: DtVirtualRealityDriver.h:289
Base class for handling DtChannels. Derived classes should override the tick() method and advance the...
Definition: DtChannelManager.h:32
double myOriFilterThreshold
Definition: DtVirtualRealityDriver.h:311
An OSG camera callback that will submit the channel to the underlying VR system as an overlay channel...
Definition: DtSubmitOverlayCallback.h:32
boost::signalslib::signal< void(bool)> signal_vrRunningChaned
Signal emitted when the VR system is started or stoped.
Definition: DtVirtualRealityDriver.h:188
osg::ref_ptr< osg::MatrixTransform > myOverlayQuad
Definition: DtVirtualRealityDriver.h:306
Base class to provide boost signal/slot management.
osg::Quat mySmoothedOri
Definition: DtVirtualRealityDriver.h:313
bool myOriSmoothingInit
Definition: DtVirtualRealityDriver.h:312
DtOsgWindow * myHmdWindow
Definition: DtVirtualRealityDriver.h:281
makArchives::DtVirtualRealitySettingsRecord::DtMirroring myMirroring
Definition: DtVirtualRealityDriver.h:297
DtVirtualRealityProvider * myVrProvider
Definition: DtVirtualRealityDriver.h:277
osg::ref_ptr< osg::Texture2D > myOverlayTexture
Definition: DtVirtualRealityDriver.h:292
osg::ref_ptr< DtSubmitOverlayCallback > myOverlaySubmitCallback
Definition: DtVirtualRealityDriver.h:294
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
boost::signalslib::signal< void()> signal_tick
Signal emitted after the driver's tick. Useful for doing anything with the VR system that needs to ha...
Definition: DtVirtualRealityDriver.h:182
A utility Quaternion class.
Definition: DtQuat.h:19
osg::Quat myLastHmdOri
Definition: DtVirtualRealityDriver.h:314
voidpf uLong offset
Definition: ioapi.h:42
A basic OSG display window, used to get the osg context for a display window.
Definition: DtOsgWindow.h:36
DtOsgChannel * myMirrorChannel
Definition: DtVirtualRealityDriver.h:299
std::string myMirrorChannelName
Definition: DtVirtualRealityDriver.h:298