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);