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();
117 virtual std::string className()
const;
124 virtual void updateMatrixTransform();
130 virtual double update();
135 virtual bool needsUpdate(
DtTime tNow );
138 virtual void update(
DtTime tNow );
145 virtual void initGlStudio();
148 virtual osg::Group* createOverlayObjects();
152 virtual osg::Group* createChannelNode();
155 virtual void deepRemoveChildren(osg::Group* g);
164 virtual void slot_channelModified(
const std::string& deName,
const std::string& windowName,
168 virtual void slot_smoothingEnabled(
bool smooth);
170 virtual void slot_smoothingPeriod(
const double& period);
osg::Group * myGlStudio3DGroup
Definition: DtOsgGlStudioCockpit.h:197
std::string myObserverName
Definition: DtOsgGlStudioCockpit.h:191
double myWidth
Definition: DtOsgGlStudioCockpit.h:178
bool myHasSmootherValues
Definition: DtOsgGlStudioCockpit.h:205
Processor to handle events for the osgWidget overlay on a channel.
Definition: DtGlStudioEventProcessor.h:25
double myHeight
Definition: DtOsgGlStudioCockpit.h:179
double myDynamicRotateY
Definition: DtOsgGlStudioCockpit.h:189
double myOffsetZ
Definition: DtOsgGlStudioCockpit.h:184
DtAttributeUpdateMap myAttributeUpdaters
Definition: DtOsgGlStudioCockpit.h:142
DtPerspective
Definition: DtOsgGlStudioCockpit.h:51
double myDynamicRotateZ
Definition: DtOsgGlStudioCockpit.h:190
std::string myChannelKeyword
Definition: DtOsgGlStudioCockpit.h:181
osg::ref_ptr< osg::MatrixTransform > myMatrixTransform
Definition: DtOsgGlStudioCockpit.h:199
DtPerspective myPerspective
Definition: DtOsgGlStudioCockpit.h:180
An abstract base class for objects that require updates.
Definition: DtTickable.h:26
double myCurrentTime
Definition: DtOsgGlStudioCockpit.h:209
DtGlStudioDrawable * myGlStudioComponent
Definition: DtOsgGlStudioCockpit.h:201
double myDynamicScaleZ
Definition: DtOsgGlStudioCockpit.h:187
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:22
DtExponentialSmoother mySmoother
Definition: DtOsgGlStudioCockpit.h:206
std::string myFilename
Definition: DtOsgGlStudioCockpit.h:177
The abstract Channel Class.
Definition: DtChannel.h:29
double myOffsetY
Definition: DtOsgGlStudioCockpit.h:183
DtGlStudioEventProcessor * myEventProcessor
Definition: DtOsgGlStudioCockpit.h:202
bool myIsVisible
Definition: DtOsgGlStudioCockpit.h:192
bool myRenderCockpitOnly
Definition: DtOsgGlStudioCockpit.h:194
A group node that culls it's group members based on channels.
Definition: DtChannelSpecificGroup.h:30
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:193
double myDynamicRotateX
Definition: DtOsgGlStudioCockpit.h:188
double myOffsetX
Definition: DtOsgGlStudioCockpit.h:182
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
double myDynamicScaleY
Definition: DtOsgGlStudioCockpit.h:186
std::map< std::string, DtGlStudioAttributeUpdater * > DtAttributeUpdateMap
Definition: DtOsgGlStudioCockpit.h:52
osg::Switch * myViewSwitchNode
Definition: DtOsgGlStudioCockpit.h:198
Base class for handling DtChannels.
Definition: DtChannelManager.h:35
DtClock myClock
Definition: DtOsgGlStudioCockpit.h:207
#define DT_DLL_VRVGLSTUDIOSHARED
Definition: DtGlStudioShared.h:25
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:176
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:41
Contains makVrv::DtUniqueID type.
DtUniqueID myId
Definition: DtOsgGlStudioCockpit.h:175
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
osg::Group * myGlStudioGroup
Definition: DtOsgGlStudioCockpit.h:196
DtDe & myDe
Definition: DtOsgGlStudioCockpit.h:174
double myDynamicScaleX
Definition: DtOsgGlStudioCockpit.h:185
DtSceneObject * myHostSceneObject
Definition: DtOsgGlStudioCockpit.h:203
double myPreviousTime
Definition: DtOsgGlStudioCockpit.h:208
DtChannelSpecificGroup * myChannelNode
Definition: DtOsgGlStudioCockpit.h:200