VR-Forces 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 std::string &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 sceneObjectId, int targetVertexIndex)
 
virtual void addAttachedPoint (DtElementID elementId, DtModelSetId modelSet, int targetVertexIndex)
 
virtual void addAttachedPoint (DtUniqueID sceneObjectId, 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 setModel (DtModel *model)
 
virtual void doAttachment (DtTime tNow)
 
DtTime lastUpdateTime () const
 
- Public Member Functions inherited from makVrv::DtTickable
virtual bool updateIfNeeded (DtTime tNow)
 
virtual ~DtTickable ()
 
virtual void setTickableEnabled (bool enabled)
 
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 adaptiveTickLodEnabled () const
 

Protected Member Functions

virtual void updateWidgetLabelText (double heightInMeters)
 
virtual void computeWidgetLabelText (double distanceInMeters, DtUnicode &label)
 
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_modelToBeDeleted (DtModel *model)
 
virtual void slot_attachedSceneObjectToBeDeleted (const DtUniqueID &)
 
virtual void slot_attachedUpdaterToBeDeleted (const DtUniqueID &id)
 
- Protected Member Functions inherited from makVrv::DtTickable
 DtTickable (DtTickableManagerInterface *manager)
 
 DtTickable ()=delete
 
virtual void slot_managerAboutToBeDeleted ()
 

Protected Attributes

DtVector myLastTopPos
 
DtTaitBryan myLastTopOri
 
bool myIsDisplayUnitNotationOrDecimalsDirty
 
const DtDisplayUnitsConvertermyDistConverter
 
DtDisplayUnitsConverter::DistanceUnits myDistanceUnit
 
unsigned int myDistanceDecimals
 
DtUnicode myDistanceNotation
 
DtUnicode myDisplayUnitCollectionName
 
bool myUseHighestTerrainLod
 
double myTextProportion
 
DtVector myTextOffset
 
DtCachedIntersectorsContainermyCachedIntersectorsContainer = nullptr
 
DtCoordinateConvertermyCoordinateConverter = nullptr
 
const DtDynamicOceanObjectManagermyDynamicOceanObjectManager
 
- Protected Attributes inherited from makVrv::DtAttachableUpdater
DtDemyDe
 
DtUniqueID myUniqueId
 
DtSceneObjectmySceneObject
 
DtModelmyModel
 
boost::signalslib::connection mySceneObjectOrModelConnection
 
boost::signalslib::connection mySceneObjectUpdaterConnection
 
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
 
unsigned int myTickableIndex
 
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 std::string &  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::updateWidgetLabelText ( double  heightInMeters)
protectedvirtual

Iterates over scene object models to find the widget label and updates it with the given information.

virtual void makVrv::DtAttachableHatTextUpdater::computeWidgetLabelText ( double  distanceInMeters,
DtUnicode label 
)
protectedvirtual

updateWidgetLabelText helper to compute the text for widget labels.

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
bool makVrv::DtAttachableHatTextUpdater::myIsDisplayUnitNotationOrDecimalsDirty
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
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 Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)