VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
makVrv::DtOsgGlStudioCockpit Class Reference

DtOsgGlStudioCockpit is the implementation of the distributed object of the same name (and under our current naming conventions, would more correctly be named DtOsgGlStudioCockpitObject). More...

Inheritance diagram for makVrv::DtOsgGlStudioCockpit:
Inheritance graph
[legend]

Public Types

enum  DtPerspective { Dt2D, Dt3D }
 
typedef std::map< std::string,
DtGlStudioAttributeUpdater * > 
DtAttributeUpdateMap
 
- Public Types inherited from makVrv::DtTickable
enum  TickableListState { TickableNotOnList, TickableOnMainList, TickableOnThreadSafeList }
 Enumeration used to indicate which DtTickableManager's tickable list the tickable is on, if any. More...
 

Public Member Functions

 DtOsgGlStudioCockpit (DtDe &de, DtUniqueID id)
 
virtual ~DtOsgGlStudioCockpit ()
 
virtual bool needsUpdate (DtTime tNow)
 Always calls update. More...
 
virtual void update (DtTime tNow)
 Calls updateMatrixTransform. More...
 
virtual void createCockpit (const std::string &filename, const std::string &rsoName, DtPerspective p, DtUniqueID attachedEntityElementId=0)
 Override the set model definition function to load the right cockpit element for the attached object and channel. More...
 
virtual void removeCockpit ()
 
virtual void setProperty (const std::string &prop, const std::string &val)
 sets a property with the value (in string form) More...
 
virtual void setChannelKeyword (const std::string &channelKeyword)
 sets the channel keyword that it will display on More...
 
virtual void setPerspective (const double &width, const double &height)
 sets the projection perspective for drawing the HUD More...
 
virtual void setOffset (const double &x, const double &y, const double &z)
 sets the offset of the HUD with respect to the entity More...
 
virtual void setDynamicScale (const double &x, const double &y, const double &z)
 Sets the values of the DynamicScale call into GL Studio. More...
 
virtual void setDynamicRotate (const double &x, const double &y, const double &z)
 Sets the values of the DynamicRotate call into GL Studio. More...
 
virtual void setVisible (bool vis)
 sets the cockpit to be visible or not More...
 
virtual void addUpdater (const std::string &name, const std::string &type)
 adds an attribute updater to the local updaters More...
 
virtual void updateTSPI (const DtVector &loc, const DtVector &vel, const DtVector &accel, const DtTaitBryan &orient, const DtVector &rotVel, int algorithm)
 updates location/orientation info about the attached entity for the smoother to use More...
 
virtual void setObserverName (const std::string &obsName)
 set the name of the observer this HUD object is supporting More...
 
virtual void setRenderCockpitOnly (bool cockpitOnly)
 Sets the DtOsgChannel's scene data to be the cockpit's channel node (which causes it to render only the cockpit and not the rest of the scene). More...
 
virtual bool renderCockpitOnly ()
 
virtual std::string className () const
 Get the class name of the model instance owner. More...
 
DtUniqueID uniqueID () const
 Get the unique id of the object. More...
 
virtual void updateMatrixTransform ()
 updates myMatrixTransform to the location of myHostSceneObject plus the myOffset values. More...
 
virtual bool handleMouseInput (const DtMouseEvent &ea)
 event handling function More...
 
virtual double update ()
 update callback function More...
 
- Public Member Functions inherited from makVrv::DtTickable
virtual bool updateIfNeeded (DtTime tNow)
 Calls needsUpdate(), and then calls update() if needsUpdate() is true. More...
 
virtual ~DtTickable ()
 Virtual DTOR. More...
 
virtual void setIsThreadSafe (bool safe)
 Get/set whether this tickable can be updated in parallel with other tickables. More...
 
virtual bool isThreadSafe () const
 
virtual void setTickableListState (TickableListState safeList)
 Track which tickable list (if any) this tickable is on Since the tickable constructor puts ALL tickables on the main (unThreadSafe) to start we need a way to check which list a tickable is on (and this way we can request removals from the correct list instead of having to call DtTickableManager::removeTickableObject(), which tries both lists). More...
 
virtual TickableListState tickableListState () const
 
virtual void setUpdatePeriod (unsigned int period)
 Specify how often (in # of frames) this tickable should call update. More...
 
virtual unsigned int updatePeriod () const
 
virtual bool lodSystemEnabled () const
 is the update LOD system enabled, overridden by subclasses More...
 

Protected Member Functions

virtual void initGlStudio ()
 initializes GL studio More...
 
virtual osg::Group * createOverlayObjects ()
 actually creates the HUD object and supporting nodes More...
 
virtual osg::Group * createChannelNode ()
 creates a channel specific node and sets whether the HUD should be added to the channels or not More...
 
virtual void deepRemoveChildren (osg::Group *g)
 recursively removes nodes from a group to prevent memory leaks More...
 
virtual void slot_channelAdded (DtChannelManager *mgr, DtChannel *channel)
 slot to be called when a new channel is added More...
 
virtual void slot_channelDestroyed (DtChannelManager *mgr, DtChannel *channel)
 slot to be called when a channel is removed More...
 
virtual void slot_channelModified (const std::string &deName, const std::string &windowName, const std::string &channelName, const DtChannelConfiguration &config)
 slot to be called when a channel configuration is modified More...
 
virtual void slot_smoothingEnabled (bool smooth)
 slot to be called when the smooth is enabled or disabled More...
 
virtual void slot_smoothingPeriod (const double &period)
 slot to be called when the smoothing period changes More...
 
virtual void slot_projectionChanged (DtObserverObject *, bool is2D)
 
- Protected Member Functions inherited from makVrv::DtTickable
 DtTickable (DtTickableManagerInterface *manager)
 CTOR. More...
 
 DtTickable ()
 Unimplemented default CTOR. More...
 
virtual void slot_managerAboutToBeDeleted ()
 

Protected Attributes

DtAttributeUpdateMap myAttributeUpdaters
 
DtDemyDe
 
DtUniqueID myId
 
std::string myRsoName
 
std::string myFilename
 
double myWidth
 
double myHeight
 
DtPerspective myPerspective
 
std::string myChannelKeyword
 
double myOffsetX
 
double myOffsetY
 
double myOffsetZ
 
double myDynamicScaleX
 
double myDynamicScaleY
 
double myDynamicScaleZ
 
double myDynamicRotateX
 
double myDynamicRotateY
 
double myDynamicRotateZ
 
std::string myObserverName
 
bool myIsVisible
 
bool myObserverIs2D
 
bool myRenderCockpitOnly
 
osg::Group * myGlStudioGroup
 
osg::Group * myGlStudio3DGroup
 
osg::Switch * myViewSwitchNode
 
osg::ref_ptr
< osg::MatrixTransform > 
myMatrixTransform
 
DtChannelSpecificGroupmyChannelNode
 
DtGlStudioDrawablemyGlStudioComponent
 
DtGlStudioEventProcessormyEventProcessor
 
DtSceneObjectmyHostSceneObject
 
bool myHasSmootherValues
 
DtExponentialSmoother mySmoother
 
DtClock myClock
 
double myPreviousTime
 
double myCurrentTime
 
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 Pointer to manager for removal during destruction. More...
 
DtSignalConnectionManager myConnections
 
unsigned int myFrameCounter
 
unsigned int myFrameToUpdate
 
unsigned int myUpdatePeriod
 
DtTime myLastUpdateTime
 
bool myIsThreadSafe
 
TickableListState myTickableListState
 

Detailed Description

DtOsgGlStudioCockpit is the implementation of the distributed object of the same name (and under our current naming conventions, would more correctly be named DtOsgGlStudioCockpitObject).

Member Typedef Documentation

Member Enumeration Documentation

Enumerator
Dt2D 
Dt3D 

Constructor & Destructor Documentation

makVrv::DtOsgGlStudioCockpit::DtOsgGlStudioCockpit ( DtDe de,
DtUniqueID  id 
)
virtual makVrv::DtOsgGlStudioCockpit::~DtOsgGlStudioCockpit ( )
virtual

Member Function Documentation

virtual void makVrv::DtOsgGlStudioCockpit::createCockpit ( const std::string &  filename,
const std::string &  rsoName,
DtPerspective  p,
DtUniqueID  attachedEntityElementId = 0 
)
virtual

Override the set model definition function to load the right cockpit element for the attached object and channel.

The attachedEntityElementId parameter is only required for 3D cockpits (i.e. with p = Dt3D) and is used to set myHostSceneObject.

virtual void makVrv::DtOsgGlStudioCockpit::removeCockpit ( )
virtual
virtual void makVrv::DtOsgGlStudioCockpit::setProperty ( const std::string &  prop,
const std::string &  val 
)
virtual

sets a property with the value (in string form)

virtual void makVrv::DtOsgGlStudioCockpit::setChannelKeyword ( const std::string &  channelKeyword)
virtual

sets the channel keyword that it will display on

virtual void makVrv::DtOsgGlStudioCockpit::setPerspective ( const double width,
const double height 
)
virtual

sets the projection perspective for drawing the HUD

virtual void makVrv::DtOsgGlStudioCockpit::setOffset ( const double x,
const double y,
const double z 
)
virtual

sets the offset of the HUD with respect to the entity

virtual void makVrv::DtOsgGlStudioCockpit::setDynamicScale ( const double x,
const double y,
const double z 
)
virtual

Sets the values of the DynamicScale call into GL Studio.

virtual void makVrv::DtOsgGlStudioCockpit::setDynamicRotate ( const double x,
const double y,
const double z 
)
virtual

Sets the values of the DynamicRotate call into GL Studio.

virtual void makVrv::DtOsgGlStudioCockpit::setVisible ( bool  vis)
virtual

sets the cockpit to be visible or not

virtual void makVrv::DtOsgGlStudioCockpit::addUpdater ( const std::string &  name,
const std::string &  type 
)
virtual

adds an attribute updater to the local updaters

virtual void makVrv::DtOsgGlStudioCockpit::updateTSPI ( const DtVector loc,
const DtVector vel,
const DtVector accel,
const DtTaitBryan &  orient,
const DtVector rotVel,
int  algorithm 
)
virtual

updates location/orientation info about the attached entity for the smoother to use

virtual void makVrv::DtOsgGlStudioCockpit::setObserverName ( const std::string &  obsName)
virtual

set the name of the observer this HUD object is supporting

virtual void makVrv::DtOsgGlStudioCockpit::setRenderCockpitOnly ( bool  cockpitOnly)
virtual

Sets the DtOsgChannel's scene data to be the cockpit's channel node (which causes it to render only the cockpit and not the rest of the scene).

virtual bool makVrv::DtOsgGlStudioCockpit::renderCockpitOnly ( )
virtual
virtual std::string makVrv::DtOsgGlStudioCockpit::className ( ) const
virtual

Get the class name of the model instance owner.

This is used to control how model instances are created.

DtUniqueID makVrv::DtOsgGlStudioCockpit::uniqueID ( ) const

Get the unique id of the object.

virtual void makVrv::DtOsgGlStudioCockpit::updateMatrixTransform ( )
virtual

updates myMatrixTransform to the location of myHostSceneObject plus the myOffset values.

virtual bool makVrv::DtOsgGlStudioCockpit::handleMouseInput ( const DtMouseEvent ea)
virtual

event handling function

virtual double makVrv::DtOsgGlStudioCockpit::update ( )
virtual

update callback function

virtual bool makVrv::DtOsgGlStudioCockpit::needsUpdate ( DtTime  tNow)
virtual

Always calls update.

Reimplemented from makVrv::DtTickable.

virtual void makVrv::DtOsgGlStudioCockpit::update ( DtTime  tNow)
virtual

Calls updateMatrixTransform.

Implements makVrv::DtTickable.

virtual void makVrv::DtOsgGlStudioCockpit::initGlStudio ( )
protectedvirtual

initializes GL studio

virtual osg::Group* makVrv::DtOsgGlStudioCockpit::createOverlayObjects ( )
protectedvirtual

actually creates the HUD object and supporting nodes

virtual osg::Group* makVrv::DtOsgGlStudioCockpit::createChannelNode ( )
protectedvirtual

creates a channel specific node and sets whether the HUD should be added to the channels or not

virtual void makVrv::DtOsgGlStudioCockpit::deepRemoveChildren ( osg::Group *  g)
protectedvirtual

recursively removes nodes from a group to prevent memory leaks

virtual void makVrv::DtOsgGlStudioCockpit::slot_channelAdded ( DtChannelManager mgr,
DtChannel channel 
)
protectedvirtual

slot to be called when a new channel is added

virtual void makVrv::DtOsgGlStudioCockpit::slot_channelDestroyed ( DtChannelManager mgr,
DtChannel channel 
)
protectedvirtual

slot to be called when a channel is removed

virtual void makVrv::DtOsgGlStudioCockpit::slot_channelModified ( const std::string &  deName,
const std::string &  windowName,
const std::string &  channelName,
const DtChannelConfiguration config 
)
protectedvirtual

slot to be called when a channel configuration is modified

virtual void makVrv::DtOsgGlStudioCockpit::slot_smoothingEnabled ( bool  smooth)
protectedvirtual

slot to be called when the smooth is enabled or disabled

virtual void makVrv::DtOsgGlStudioCockpit::slot_smoothingPeriod ( const double period)
protectedvirtual

slot to be called when the smoothing period changes

virtual void makVrv::DtOsgGlStudioCockpit::slot_projectionChanged ( DtObserverObject ,
bool  is2D 
)
protectedvirtual

Member Data Documentation

DtAttributeUpdateMap makVrv::DtOsgGlStudioCockpit::myAttributeUpdaters
protected
DtDe& makVrv::DtOsgGlStudioCockpit::myDe
protected
DtUniqueID makVrv::DtOsgGlStudioCockpit::myId
protected
std::string makVrv::DtOsgGlStudioCockpit::myRsoName
protected
std::string makVrv::DtOsgGlStudioCockpit::myFilename
protected
double makVrv::DtOsgGlStudioCockpit::myWidth
protected
double makVrv::DtOsgGlStudioCockpit::myHeight
protected
DtPerspective makVrv::DtOsgGlStudioCockpit::myPerspective
protected
std::string makVrv::DtOsgGlStudioCockpit::myChannelKeyword
protected
double makVrv::DtOsgGlStudioCockpit::myOffsetX
protected
double makVrv::DtOsgGlStudioCockpit::myOffsetY
protected
double makVrv::DtOsgGlStudioCockpit::myOffsetZ
protected
double makVrv::DtOsgGlStudioCockpit::myDynamicScaleX
protected
double makVrv::DtOsgGlStudioCockpit::myDynamicScaleY
protected
double makVrv::DtOsgGlStudioCockpit::myDynamicScaleZ
protected
double makVrv::DtOsgGlStudioCockpit::myDynamicRotateX
protected
double makVrv::DtOsgGlStudioCockpit::myDynamicRotateY
protected
double makVrv::DtOsgGlStudioCockpit::myDynamicRotateZ
protected
std::string makVrv::DtOsgGlStudioCockpit::myObserverName
protected
bool makVrv::DtOsgGlStudioCockpit::myIsVisible
protected
bool makVrv::DtOsgGlStudioCockpit::myObserverIs2D
protected
bool makVrv::DtOsgGlStudioCockpit::myRenderCockpitOnly
protected
osg::Group* makVrv::DtOsgGlStudioCockpit::myGlStudioGroup
protected
osg::Group* makVrv::DtOsgGlStudioCockpit::myGlStudio3DGroup
protected
osg::Switch* makVrv::DtOsgGlStudioCockpit::myViewSwitchNode
protected
osg::ref_ptr<osg::MatrixTransform> makVrv::DtOsgGlStudioCockpit::myMatrixTransform
protected
DtChannelSpecificGroup* makVrv::DtOsgGlStudioCockpit::myChannelNode
protected
DtGlStudioDrawable* makVrv::DtOsgGlStudioCockpit::myGlStudioComponent
protected
DtGlStudioEventProcessor* makVrv::DtOsgGlStudioCockpit::myEventProcessor
protected
DtSceneObject* makVrv::DtOsgGlStudioCockpit::myHostSceneObject
protected
bool makVrv::DtOsgGlStudioCockpit::myHasSmootherValues
protected
DtExponentialSmoother makVrv::DtOsgGlStudioCockpit::mySmoother
protected
DtClock makVrv::DtOsgGlStudioCockpit::myClock
protected
double makVrv::DtOsgGlStudioCockpit::myPreviousTime
protected
double makVrv::DtOsgGlStudioCockpit::myCurrentTime
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)