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);
98 virtual void updateTSPI(
const DtVector& loc,
const DtVector& vel,
99 const DtVector& accel,
const DtTaitBryan& orient,
100 const DtVector& rotVel,
int algorithm);
103 virtual void setObserverName(
const std::string& obsName);
104 virtual std::string observerName()
const;
109 virtual void setRenderCockpitOnly(
bool cockpitOnly);
110 virtual bool renderCockpitOnly();
115 virtual void setRenderAsOverlay(
bool renderAsOverlay);
116 virtual bool renderAsOverlay();
129 virtual std::string className()
const;
136 virtual void updateMatrixTransform();
142 virtual double update();
147 virtual bool needsUpdate(
DtTime tNow );
150 virtual void update(
DtTime tNow );
160 virtual void initGlStudio();
163 virtual osg::Group* createOverlayObjects();
167 virtual osg::Group* createChannelNode();
170 virtual void deepRemoveChildren(osg::Group* g);
179 virtual void slot_channelModified(
const std::string& deName,
const std::string& windowName,
183 virtual void slot_smoothingEnabled(
bool smooth);
185 virtual void slot_smoothingPeriod(
const double& period);
std::string myObserverName
Definition: DtOsgGlStudioCockpit.h:207
double myWidth
Definition: DtOsgGlStudioCockpit.h:193
bool myHasSmootherValues
Definition: DtOsgGlStudioCockpit.h:223
Processor to handle events for the osgWidget overlay on a channel.
Definition: DtGlStudioEventProcessor.h:38
double myHeight
Definition: DtOsgGlStudioCockpit.h:194
double myDynamicRotateY
Definition: DtOsgGlStudioCockpit.h:205
double myOffsetZ
Definition: DtOsgGlStudioCockpit.h:200
DtAttributeUpdateMap myAttributeUpdaters
Definition: DtOsgGlStudioCockpit.h:157
DtPerspective
Definition: DtOsgGlStudioCockpit.h:51
double myDynamicRotateZ
Definition: DtOsgGlStudioCockpit.h:206
std::string myChannelKeyword
Definition: DtOsgGlStudioCockpit.h:197
osg::ref_ptr< osg::MatrixTransform > myMatrixTransform
Definition: DtOsgGlStudioCockpit.h:217
DtPerspective myPerspective
Definition: DtOsgGlStudioCockpit.h:195
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:227
DtGlStudioDrawable * myGlStudioComponent
Definition: DtOsgGlStudioCockpit.h:219
double myDynamicScaleZ
Definition: DtOsgGlStudioCockpit.h:203
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:19
DtExponentialSmoother mySmoother
Definition: DtOsgGlStudioCockpit.h:224
std::string myFilename
Definition: DtOsgGlStudioCockpit.h:192
The abstract Channel Class.
Definition: DtChannel.h:35
double myOffsetY
Definition: DtOsgGlStudioCockpit.h:199
DtGlStudioEventProcessor * myEventProcessor
Definition: DtOsgGlStudioCockpit.h:220
bool myIsVisible
Definition: DtOsgGlStudioCockpit.h:208
bool myRenderCockpitOnly
Definition: DtOsgGlStudioCockpit.h:210
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:35
bool myObserverIs2D
Definition: DtOsgGlStudioCockpit.h:209
double myDynamicRotateX
Definition: DtOsgGlStudioCockpit.h:204
double myOffsetX
Definition: DtOsgGlStudioCockpit.h:198
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
double myDynamicScaleY
Definition: DtOsgGlStudioCockpit.h:202
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:225
osg::ref_ptr< osg::Group > myGlStudioGroup
Definition: DtOsgGlStudioCockpit.h:212
#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:24
std::string myRsoName
Definition: DtOsgGlStudioCockpit.h:191
bool myRenderAsOverlay
Definition: DtOsgGlStudioCockpit.h:196
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:44
Contains makVrv::DtUniqueID type.
DtUniqueID myId
Definition: DtOsgGlStudioCockpit.h:190
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:76
DtDe & myDe
Definition: DtOsgGlStudioCockpit.h:189
osg::ref_ptr< osg::Switch > myViewSwitchNode
Definition: DtOsgGlStudioCockpit.h:215
double myDynamicScaleX
Definition: DtOsgGlStudioCockpit.h:201
DtSceneObject * myHostSceneObject
Definition: DtOsgGlStudioCockpit.h:221
osg::ref_ptr< osg::Group > myGlStudio3DGroup
Definition: DtOsgGlStudioCockpit.h:214
double myPreviousTime
Definition: DtOsgGlStudioCockpit.h:226
osg::ref_ptr< osg::Group > myGlStudioPost2DGroup
Definition: DtOsgGlStudioCockpit.h:213
DtChannelSpecificGroup * myChannelNode
Definition: DtOsgGlStudioCockpit.h:218