VR-Forces 5.0.3 Developer's Guide
 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. 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.

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

Public Member Functions

 DtAttachableHatTextUpdater (DtDe &de, DtUniqueID id)
 
virtual ~DtAttachableHatTextUpdater ()
 
 DtAttachableHatTextUpdater ()=delete
 
 DtAttachableHatTextUpdater (const DtAttachableHatTextUpdater &other)=delete
 
DtAttachableHatTextUpdateroperator= (const DtAttachableHatTextUpdater &other)=delete
 
virtual void update (double simTime)
 
virtual void setUseHighestTerrainLod (bool useHighest)
 
virtual bool useHighestTerrainLod () const
 
virtual void setTextProportion (double proportion)
 
virtual void setDisplayUnitCollectionName (const DtUnicode &displayUnitCollectionName)
 
- Public Member Functions inherited from makVrv::DtAttachableUpdater
 DtAttachableUpdater (DtDe &de, DtUniqueID id)
 
virtual ~DtAttachableUpdater ()
 
virtual bool needsUpdate (DtTime tNow)
 
virtual void addAttachedPoint (const DtVector &position, int targetVertexIndex)
 
virtual void addAttachedPoint (DtUniqueID uniqueID, int targetVertexIndex)
 
virtual void addAttachedPoint (DtUniqueID uniqueID, int vtx1, int vtx2, double proportion, int targetVertexIndex)
 
virtual const AttachedPointattachedPoint (int targetVertexIndex) const
 
virtual void setPositionOffset (const DtVector &offset)
 
virtual void setWorldPositionOffset (const DtVector &offset)
 
virtual void setPositionOffset (const DtVector &offset, int vtx)
 
virtual void setOrientationOffset (const DtTaitBryan &offset)
 
virtual void setWorldOrientationOffset (const DtTaitBryan &offset)
 
virtual void setAttachedPointMode (unsigned int mode, int vtx)
 
virtual void update (DtTime tNow)
 
virtual void setSceneObject (DtSceneObject *sceneObject)
 
virtual void doAttachment (DtTime tNow)
 
DtTime lastUpdateTime () const
 
- Public Member Functions inherited from makVrv::DtTickable
virtual bool updateIfNeeded (DtTime tNow)
 
virtual ~DtTickable ()
 
virtual void setIsThreadSafe (bool safe)
 
virtual bool isThreadSafe () const
 
virtual void setTickableListState (TickableListState safeList)
 
virtual TickableListState tickableListState () const
 
virtual void setUpdatePeriod (unsigned int period)
 
virtual unsigned int updatePeriod () const
 
virtual bool lodSystemEnabled () const
 

Protected Member Functions

virtual void updateWidgetLabel (DtWidgetLabel *widgetLabel, double distanceInMeters)
 
virtual DtVector findIntersect (const DtVector &start, const DtVector &up)
 
virtual void on_displayUnitChanged ()
 
virtual void slot_coordinateSystemChanged ()
 
- 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)
 
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)
 
 DtTickable ()
 
virtual void slot_managerAboutToBeDeleted ()
 

Protected Attributes

DtVector myLastTopPos
 
DtTaitBryan myLastTopOri
 
const DtDisplayUnitsConvertermyDistConverter
 
DtDisplayUnitsConverter::DistanceUnits myDistanceUnit
 
unsigned int myDistanceDecimals
 
DtUnicode myDistanceNotation
 
DtUnicode myDisplayUnitCollectionName
 
bool myUseHighestTerrainLod
 
double myTextProportion
 
DtVector myTextOffset
 
DtCachedIntersectorsContainermyCachedIntersectorsContainer = nullptr
 
DtSignalConnectionManager myConnections
 
DtCoordinateConvertermyCoordinateConverter = nullptr
 
const DtDynamicOceanObjectManagermyDynamicOceanObjectManager
 
- Protected Attributes inherited from makVrv::DtAttachableUpdater
DtDemyDe
 
DtUniqueID myUniqueId
 
DtSceneObjectmySceneObject
 
boost::signalslib::connection mySceneObjectConnection
 
boost::signalslib::connection mySceneObjectUpdaterConnection
 
DtTime myLastUpdateTime
 
AttachedPointsVector myAttachedPoints
 
DtVector myPositionOffset
 
DtTaitBryan myOrientationOffset
 
DtVector myWorldPositionOffset
 
DtTaitBryan myWorldOrientationOffset
 
DtUniqueID mySceneObjectId
 
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 
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
}
 
enum  AttachedPointMode { AttachedPointModePositionAndOrientation, AttachedPointModePositionOnly, AttachedPointModeOrientationOnly }
 
- Public Types inherited from makVrv::DtTickable
enum  TickableListState { TickableNotOnList, TickableOnMainList, TickableOnThreadSafeList }
 
- Protected Types inherited from makVrv::DtAttachableUpdater
typedef std::vector
< AttachedPoint * > 
AttachedPointsVector
 

Constructor & Destructor Documentation

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

CTOR.

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

DTOR.

makVrv::DtAttachableHatTextUpdater::DtAttachableHatTextUpdater ( )
delete

Default Constructor not implemented.

makVrv::DtAttachableHatTextUpdater::DtAttachableHatTextUpdater ( const DtAttachableHatTextUpdater other)
delete

Copy Constructor not implemented - Copy not allowed.

Member Function Documentation

DtAttachableHatTextUpdater& makVrv::DtAttachableHatTextUpdater::operator= ( const DtAttachableHatTextUpdater other)
delete

Assignment Operator not implemented - Assignment not allowed.

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
virtual void makVrv::DtAttachableHatTextUpdater::slot_coordinateSystemChanged ( )
protectedvirtual

slot for when the coordinate system changes

Member Data Documentation

DtVector makVrv::DtAttachableHatTextUpdater::myLastTopPos
protected
DtTaitBryan makVrv::DtAttachableHatTextUpdater::myLastTopOri
protected
const 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
DtCachedIntersectorsContainer* makVrv::DtAttachableHatTextUpdater::myCachedIntersectorsContainer = nullptr
protected
DtSignalConnectionManager makVrv::DtAttachableHatTextUpdater::myConnections
protected
DtCoordinateConverter* makVrv::DtAttachableHatTextUpdater::myCoordinateConverter = nullptr
protected

local clone of the current system wide coordinate system converter. for thread safety.

const DtDynamicOceanObjectManager& makVrv::DtAttachableHatTextUpdater::myDynamicOceanObjectManager
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)