VR-Forces 5.0.2 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 | Friends
makVrv::DtTrackMonitor Class Reference

Base class for Track Monitors which monitor the tracking of an object. For example, a current derived class is DtLosTrackMonitor, which monitors LOS to an Entity. Track Monitors should set myTrackIsActive to false in their overide of update if the condition for monitoring that object is false. For examples when LOS is lost. To "reactivate" monitoring set the objectID using setObjectId()

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

Public Member Functions

virtual ~DtTrackMonitor ()
 
virtual void update (DtTime tNow)
 
virtual bool needsUpdate (DtTime tNow)
 
virtual void getTrackedObjectGateInfo (unsigned int &gateXSize, unsigned int &gateYSize, double &gateXPosition, double &gateYPosition)
 
virtual DtVector trackedObjectPosition ()
 
virtual DtGeodeticCoord trackedObjectGeodeticCoord ()
 
virtual void setTrackBoxOn (bool boxOn)
 
virtual bool activeTrack ()
 
virtual DtElementID const monitoredObjectId () const
 
virtual void setObjectId (const DtElementID &entity)
 
- 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

 DtTrackMonitor (DtDe &de, DtObserver &observer, DtChannel &channel, DtElementID &objectIdToMonitor)
 
virtual void slot_coordinateSystemChanged ()
 
- Protected Member Functions inherited from makVrv::DtTickable
 DtTickable (DtTickableManagerInterface *manager)
 
 DtTickable ()
 
virtual void slot_managerAboutToBeDeleted ()
 

Protected Attributes

DtDemyDe
 
DtObservermyObserver
 
DtChannelmyChannel
 
DtWindowPolygonAgent * myTrackBoxWindowPolygon
 
bool myTrackIsActive
 
bool myTrackBoxOn
 
unsigned int myGateXSize
 
unsigned int myGateYSize
 
DtVector myTrackedObjectPosition
 
DtElementID myObjectIdToMonitor
 
DtSignalConnectionManager myConnections
 
DtCoordinateSystemmyCoordinateSystem = nullptr
 
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 
DtSignalConnectionManager myConnections
 
unsigned int myFrameCounter
 
unsigned int myFrameToUpdate
 
unsigned int myUpdatePeriod
 
DtTime myLastUpdateTime
 
bool myIsThreadSafe
 
TickableListState myTickableListState
 

Friends

class DtTrackMonitorCreator
 

Additional Inherited Members

- Public Types inherited from makVrv::DtTickable
enum  TickableListState { TickableNotOnList, TickableOnMainList, TickableOnThreadSafeList }
 

Constructor & Destructor Documentation

virtual makVrv::DtTrackMonitor::~DtTrackMonitor ( )
virtual

DTOR.

makVrv::DtTrackMonitor::DtTrackMonitor ( DtDe de,
DtObserver observer,
DtChannel channel,
DtElementID objectIdToMonitor 
)
protected

CTOR.

Member Function Documentation

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

The update function called by DtTickableManager during update-ticks.

Parameters
[in]tNowis the current time-stamp.

Implements makVrv::DtTickable.

Reimplemented in makVrv::DtLosTrackMonitor.

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

Determine if we need to call update this tick, returns myTrackIsActive if the track is not active, the monitor will not tick.

Reimplemented from makVrv::DtTickable.

virtual void makVrv::DtTrackMonitor::getTrackedObjectGateInfo ( unsigned int gateXSize,
unsigned int gateYSize,
double gateXPosition,
double gateYPosition 
)
virtual

Gets the on screen gate position in radians from the viewing vector.

virtual DtVector makVrv::DtTrackMonitor::trackedObjectPosition ( )
virtual

Gets the entity position in db units.

virtual DtGeodeticCoord makVrv::DtTrackMonitor::trackedObjectGeodeticCoord ( )
virtual

Gets the entity lat/lon/alt.

virtual void makVrv::DtTrackMonitor::setTrackBoxOn ( bool  boxOn)
virtual

Turns on a box around the tracked entity for debugging Also initialises the DtWindowPolygonAgent.

virtual bool makVrv::DtTrackMonitor::activeTrack ( )
virtual

Returns whether this monitor still has an active track.

virtual DtElementID const makVrv::DtTrackMonitor::monitoredObjectId ( ) const
virtual

Get the element ID for the object this is monitoring.

virtual void makVrv::DtTrackMonitor::setObjectId ( const DtElementID entity)
virtual
virtual void makVrv::DtTrackMonitor::slot_coordinateSystemChanged ( )
protectedvirtual

slot for when the coordinate system changes

Friends And Related Function Documentation

friend class DtTrackMonitorCreator
friend

Member Data Documentation

DtDe& makVrv::DtTrackMonitor::myDe
protected
DtObserver* makVrv::DtTrackMonitor::myObserver
protected
DtChannel* makVrv::DtTrackMonitor::myChannel
protected
DtWindowPolygonAgent* makVrv::DtTrackMonitor::myTrackBoxWindowPolygon
protected
bool makVrv::DtTrackMonitor::myTrackIsActive
protected
bool makVrv::DtTrackMonitor::myTrackBoxOn
protected
unsigned int makVrv::DtTrackMonitor::myGateXSize
protected

The XY Size of the entity on screen in pixels.

unsigned int makVrv::DtTrackMonitor::myGateYSize
protected
DtVector makVrv::DtTrackMonitor::myTrackedObjectPosition
protected
DtElementID makVrv::DtTrackMonitor::myObjectIdToMonitor
protected
DtSignalConnectionManager makVrv::DtTrackMonitor::myConnections
protected
DtCoordinateSystem* makVrv::DtTrackMonitor::myCoordinateSystem = nullptr
protected

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


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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)