14 #include <vlpi/exponentialSmoother.h>
16 #include <osg/ref_ptr>
17 #include <osg/MatrixTransform>
32 class DtGlStudioDrawable;
33 class DtChannelSpecificGroup;
34 class DtGlStudioEventProcessor;
36 class DtChannelManager;
38 class DtChannelConfiguration;
39 class DtWindowConfiguration;
40 class DtGlStudioAttributeUpdater;
41 class DtObserverObject;
64 virtual void createCockpit(
const std::string&
filename,
68 virtual void removeCockpit();
71 virtual void setProperty(
const std::string& prop,
const std::string& val);
74 virtual void setChannelKeyword(
const std::string& channelKeyword);
77 virtual void setPerspective(
const double& width,
const double& height);
80 virtual void setOffset(
const double& x,
const double& y,
const double& z);
83 virtual void setDynamicScale(
const double& x,
const double& y,
87 virtual void setDynamicRotate(
const double& x,
const double& y,
91 virtual void setVisible(
bool vis);
94 virtual void addUpdater(
const std::string& name,
const std::string& type);
99 const DtVector& accel,
const DtTaitBryan& orient,
100 const DtVector& rotVel,
int algorithm);
103 virtual void setObserverName(
const std::string& obsName);
108 virtual void setRenderCockpitOnly(
bool cockpitOnly);
109 virtual bool renderCockpitOnly();
114 virtual void setRenderAsOverlay(
bool renderAsOverlay);
115 virtual bool renderAsOverlay();
128 virtual std::string className()
const;
135 virtual void updateMatrixTransform();
141 virtual double update();
146 virtual bool needsUpdate(
DtTime tNow );
149 virtual void update(
DtTime tNow );
159 virtual void initGlStudio();
162 virtual osg::Group* createOverlayObjects();
166 virtual osg::Group* createChannelNode();
169 virtual void deepRemoveChildren(osg::Group* g);
178 virtual void slot_channelModified(
const std::string& deName,
const std::string& windowName,
182 virtual void slot_smoothingEnabled(
bool smooth);
184 virtual void slot_smoothingPeriod(
const double& period);
std::string myObserverName
Definition: DtOsgGlStudioCockpit.h:206
double myWidth
Definition: DtOsgGlStudioCockpit.h:192
bool myHasSmootherValues
Definition: DtOsgGlStudioCockpit.h:222
Processor to handle events for the osgWidget overlay on a channel.
Definition: DtGlStudioEventProcessor.h:22
double myHeight
Definition: DtOsgGlStudioCockpit.h:193
double myDynamicRotateY
Definition: DtOsgGlStudioCockpit.h:204
double myOffsetZ
Definition: DtOsgGlStudioCockpit.h:199
DtAttributeUpdateMap myAttributeUpdaters
Definition: DtOsgGlStudioCockpit.h:156
DtPerspective
Definition: DtOsgGlStudioCockpit.h:51
double myDynamicRotateZ
Definition: DtOsgGlStudioCockpit.h:205
std::string myChannelKeyword
Definition: DtOsgGlStudioCockpit.h:196
osg::ref_ptr< osg::MatrixTransform > myMatrixTransform
Definition: DtOsgGlStudioCockpit.h:216
DtPerspective myPerspective
Definition: DtOsgGlStudioCockpit.h:194
An abstract base class for objects that require updates. This object automatically adds itself to a D...
Definition: DtTickable.h:26
double myCurrentTime
Definition: DtOsgGlStudioCockpit.h:226
DtGlStudioDrawable * myGlStudioComponent
Definition: DtOsgGlStudioCockpit.h:218
double myDynamicScaleZ
Definition: DtOsgGlStudioCockpit.h:202
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:19
DtExponentialSmoother mySmoother
Definition: DtOsgGlStudioCockpit.h:223
std::string myFilename
Definition: DtOsgGlStudioCockpit.h:191
The abstract Channel Class.
Definition: DtChannel.h:35
double myOffsetY
Definition: DtOsgGlStudioCockpit.h:198
DtGlStudioEventProcessor * myEventProcessor
Definition: DtOsgGlStudioCockpit.h:219
bool myIsVisible
Definition: DtOsgGlStudioCockpit.h:207
bool myRenderCockpitOnly
Definition: DtOsgGlStudioCockpit.h:209
A group node that culls it's group members based on channels.
Definition: DtChannelSpecificGroup.h:31
The OSG Drawable that contains a GL Studio HUD.
Definition: DtGlStudioDrawable.h:49
DtOsgGlStudioCockpit is the implementation of the distributed object of the same name (and under our ...
Definition: DtOsgGlStudioCockpit.h:48
This abstract base class defines the interface for OS-specific keyboard and mouse event listeners...
Definition: DtObserverObject.h:29
bool myObserverIs2D
Definition: DtOsgGlStudioCockpit.h:208
double myDynamicRotateX
Definition: DtOsgGlStudioCockpit.h:203
double myOffsetX
Definition: DtOsgGlStudioCockpit.h:197
double myDynamicScaleY
Definition: DtOsgGlStudioCockpit.h:201
std::map< std::string, DtGlStudioAttributeUpdater * > DtAttributeUpdateMap
Definition: DtOsgGlStudioCockpit.h:52
Base class for handling DtChannels. Derived classes should override the tick() method and advance the...
Definition: DtChannelManager.h:32
DtClock myClock
Definition: DtOsgGlStudioCockpit.h:224
osg::ref_ptr< osg::Group > myGlStudioGroup
Definition: DtOsgGlStudioCockpit.h:211
#define DT_DLL_VRVGLSTUDIOSHARED
Definition: DtGlStudioShared.h:22
Contains the declaration for makVrv::DtTickable.
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:26
std::string myRsoName
Definition: DtOsgGlStudioCockpit.h:190
bool myRenderAsOverlay
Definition: DtOsgGlStudioCockpit.h:195
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:42
Contains makVrv::DtUniqueID type.
DtUniqueID myId
Definition: DtOsgGlStudioCockpit.h:189
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:70
DtDe & myDe
Definition: DtOsgGlStudioCockpit.h:188
osg::ref_ptr< osg::Switch > myViewSwitchNode
Definition: DtOsgGlStudioCockpit.h:214
double myDynamicScaleX
Definition: DtOsgGlStudioCockpit.h:200
DtSceneObject * myHostSceneObject
Definition: DtOsgGlStudioCockpit.h:220
osg::ref_ptr< osg::Group > myGlStudio3DGroup
Definition: DtOsgGlStudioCockpit.h:213
double myPreviousTime
Definition: DtOsgGlStudioCockpit.h:225
osg::ref_ptr< osg::Group > myGlStudioPost2DGroup
Definition: DtOsgGlStudioCockpit.h:212
DtChannelSpecificGroup * myChannelNode
Definition: DtOsgGlStudioCockpit.h:217