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

A DtAttachableHatTextUpdater is used to update a HAT text object that can be positioned in the scene by (possibly) attaching it to another object. More...

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

Public Member Functions

 DtAttachableHatTextUpdater (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtAttachableHatTextUpdater ()
 DTOR. More...
 
virtual void update (double simTime)
 Update the scene object. More...
 
virtual void setUseHighestTerrainLod (bool useHighest)
 Set whether the line is to currently visible terrain LOD or to highest available terrain LOD. More...
 
virtual bool useHighestTerrainLod () const
 Get whether line is to currently visible terrain LOD or to highest available terrain LOD. More...
 
virtual void setTextProportion (double proportion)
 The location along the HAT line, from 0 (top) to 1 (bottom) More...
 
virtual void setDisplayUnitCollectionName (const DtUnicode &displayUnitCollectionName)
 Set the display unit collection that this updater will use. More...
 
- Public Member Functions inherited from makVrv::DtAttachableUpdater
 DtAttachableUpdater (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtAttachableUpdater ()
 DTOR. More...
 
virtual bool needsUpdate (DtTime tNow)
 Does this updater need to update? More...
 
virtual void addAttachedPoint (const DtVector &position, int targetVertexIndex)
 Add a (vertex) attach point. More...
 
virtual void addAttachedPoint (DtUniqueID uniqueID, int targetVertexIndex)
 Add a (object) attach point. More...
 
virtual void addAttachedPoint (DtUniqueID uniqueID, int vtx1, int vtx2, double proportion, int targetVertexIndex)
 Add a (linear) attach point. More...
 
virtual const AttachedPointattachedPoint (int targetVertexIndex) const
 Returns the attached point at the given vertex. More...
 
virtual void setPositionOffset (const DtVector &offset)
 positionally offset the attach points by this amount. More...
 
virtual void setWorldPositionOffset (const DtVector &offset)
 positionally offset the specific attach point by this amount in world (database) coordinates. More...
 
virtual void setPositionOffset (const DtVector &offset, int vtx)
 positionally offset the specific attach point by this amount. More...
 
virtual void setOrientationOffset (const DtTaitBryan &offset)
 rotationally offset the attach points by this amount. More...
 
virtual void setWorldOrientationOffset (const DtTaitBryan &offset)
 rotationally offset the attach points by this amount in world (database) coordinates More...
 
virtual void setAttachedPointMode (unsigned int mode, int vtx)
 Set whether an attached point updates position, orientation, or both. More...
 
virtual void update (DtTime tNow)
 Calls doAttachment() More...
 
virtual void setSceneObject (DtSceneObject *sceneObject)
 Set the scene object to be updated. More...
 
virtual void doAttachment (DtTime tNow)
 Find the actual position and orientation based on the attach points and offsets. More...
 
DtTime lastUpdateTime () const
 
- 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 updateWidgetLabel (DtWidgetLabel *widgetLabel, double distanceInMeters)
 Update the text in the widget label. More...
 
virtual DtVector findIntersect (const DtVector &start, const DtVector &up)
 Attempt a terrain intersection. More...
 
virtual void on_displayUnitChanged ()
 Called when signals indicating display units settings has changed are emitted. More...
 
- Protected Member Functions inherited from makVrv::DtAttachableUpdater
virtual bool pointLocationAndOrientation (AttachedPoint *point, double simTime, DtVector &location, DtTaitBryan &orientation)
 
virtual void removeAttachedPoint (int vtx, DtVector *positionOffset=0)
 Returns current position offset in supplied pointer. More...
 
virtual void slot_sceneObjectToBeDeleted (const DtUniqueID &id)
 
virtual void slot_attachedSceneObjectToBeDeleted (const DtUniqueID &)
 
virtual void slot_attachedUpdaterToBeDeleted (const DtUniqueID &id)
 
- Protected Member Functions inherited from makVrv::DtTickable
 DtTickable (DtTickableManagerInterface *manager)
 CTOR. More...
 
 DtTickable ()
 Unimplemented default CTOR. More...
 
virtual void slot_managerAboutToBeDeleted ()
 

Protected Attributes

DtVector myLastTopPos
 
DtTaitBryan myLastTopOri
 
DtDisplayUnitsConvertermyDistConverter
 
DtDisplayUnitsConverter::DistanceUnits myDistanceUnit
 
unsigned int myDistanceDecimals
 
DtUnicode myDistanceNotation
 
DtUnicode myDisplayUnitCollectionName
 
bool myUseHighestTerrainLod
 
double myTextProportion
 
DtVector myTextOffset
 
- Protected Attributes inherited from makVrv::DtAttachableUpdater
DtDemyDe
 The display engine. More...
 
DtUniqueID myUniqueId
 This distributed object's unique identifier. More...
 
DtSceneObjectmySceneObject
 A pointer to the current scene object being updated. More...
 
boost::signalslib::connection mySceneObjectConnection
 
boost::signalslib::connection mySceneObjectUpdaterConnection
 
DtTime myLastUpdateTime
 The last time stamp when the update() More...
 
AttachedPointsVector myAttachedPoints
 
DtVector myPositionOffset
 
DtTaitBryan myOrientationOffset
 
DtVector myWorldPositionOffset
 
DtTaitBryan myWorldOrientationOffset
 
DtUniqueID mySceneObjectId
 
- 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
 

Additional Inherited Members

- Public Types inherited from makVrv::DtAttachableUpdater
enum  AttachedPointType {
  AttachedPointTypeVertex, AttachedPointTypeObject, AttachedPointTypeProportional, AttachedPointTypeDeprecatedObject,
  AttachedPointTypeInvalidObject
}
 Types of attachments. More...
 
enum  AttachedPointMode { AttachedPointModePositionAndOrientation, AttachedPointModePositionOnly, AttachedPointModeOrientationOnly }
 
- 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...
 
- Protected Types inherited from makVrv::DtAttachableUpdater
typedef std::vector
< AttachedPoint * > 
AttachedPointsVector
 

Detailed Description

A DtAttachableHatTextUpdater is used to update a HAT text object that can be positioned in the scene by (possibly) attaching it to another object.

This updater extends the usual updater paradigm in that it not only positions the object, but also calculates and sets the actual HAT text. To do so, the scene object must have a model of type DtWidgetLabel in its model list.

Constructor & Destructor Documentation

makVrv::DtAttachableHatTextUpdater::DtAttachableHatTextUpdater ( DtDe de,
DtUniqueID  id 
)

CTOR.

virtual makVrv::DtAttachableHatTextUpdater::~DtAttachableHatTextUpdater ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtAttachableHatTextUpdater::update ( double  simTime)
virtual

Update the scene object.

virtual void makVrv::DtAttachableHatTextUpdater::setUseHighestTerrainLod ( bool  useHighest)
virtual

Set whether the line is to currently visible terrain LOD or to highest available terrain LOD.

virtual bool makVrv::DtAttachableHatTextUpdater::useHighestTerrainLod ( ) const
virtual

Get whether line is to currently visible terrain LOD or to highest available terrain LOD.

virtual void makVrv::DtAttachableHatTextUpdater::setTextProportion ( double  proportion)
virtual

The location along the HAT line, from 0 (top) to 1 (bottom)

virtual void makVrv::DtAttachableHatTextUpdater::setDisplayUnitCollectionName ( const DtUnicode displayUnitCollectionName)
virtual

Set the display unit collection that this updater will use.

Parameters
displayUnitCollectionNameThe name of the collection the updater will look for display units in This updater class makes use of the following display units:
  • 'Altitude'
virtual void makVrv::DtAttachableHatTextUpdater::updateWidgetLabel ( DtWidgetLabel widgetLabel,
double  distanceInMeters 
)
protectedvirtual

Update the text in the widget label.

virtual DtVector makVrv::DtAttachableHatTextUpdater::findIntersect ( const DtVector start,
const DtVector up 
)
protectedvirtual

Attempt a terrain intersection.

Note that isect will always be filled in. If start is below sea level, the point at sea level will be returned. If above sea level, an intersection will be attempted. If it fails, isect will be filled in with start. If it succeeds, doIntersect will check for a dynamic ocean layer. If one exists and the intersection is below it, the point at sea level is returned.

virtual void makVrv::DtAttachableHatTextUpdater::on_displayUnitChanged ( )
protectedvirtual

Called when signals indicating display units settings has changed are emitted.

See Also
DtDisplayUnitsSettingsSignaler::signal_displayUnitChanged
DtDisplayUnitsSettingsSignaler::signal_displayUnitDecimalsChanged

Member Data Documentation

DtVector makVrv::DtAttachableHatTextUpdater::myLastTopPos
protected
DtTaitBryan makVrv::DtAttachableHatTextUpdater::myLastTopOri
protected
DtDisplayUnitsConverter& makVrv::DtAttachableHatTextUpdater::myDistConverter
protected
DtDisplayUnitsConverter::DistanceUnits makVrv::DtAttachableHatTextUpdater::myDistanceUnit
protected
unsigned int makVrv::DtAttachableHatTextUpdater::myDistanceDecimals
protected
DtUnicode makVrv::DtAttachableHatTextUpdater::myDistanceNotation
protected
DtUnicode makVrv::DtAttachableHatTextUpdater::myDisplayUnitCollectionName
protected
bool makVrv::DtAttachableHatTextUpdater::myUseHighestTerrainLod
protected
double makVrv::DtAttachableHatTextUpdater::myTextProportion
protected
DtVector makVrv::DtAttachableHatTextUpdater::myTextOffset
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)