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

Base class for Track Monitors which monitor the tracking of an object. More...

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

Public Member Functions

virtual ~DtTrackMonitor ()
 DTOR. More...
 
virtual void update (DtTime tNow)
 The update function called by DtTickableManager during update-ticks. More...
 
virtual bool needsUpdate (DtTime tNow)
 Determine if we need to call update this tick, returns myTrackIsActive if the track is not active, the monitor will not tick. More...
 
virtual void getTrackedObjectGateInfo (unsigned int &gateXSize, unsigned int &gateYSize, double &gateXPosition, double &gateYPosition)
 Gets the on screen gate position in radians from the viewing vector. More...
 
virtual DtVector trackedObjectPosition ()
 Gets the entity position in db units. More...
 
virtual DtGeodeticCoord trackedObjectGeodeticCoord ()
 Gets the entity lat/lon/alt. More...
 
virtual void setTrackBoxOn (bool boxOn)
 Turns on a box around the tracked entity for debugging Also initialises the DtWindowPolygonAgent. More...
 
virtual bool activeTrack ()
 Returns whether this monitor still has an active track. More...
 
virtual DtElementID const monitoredObjectId () const
 Get the element ID for the object this is monitoring. More...
 
virtual void setObjectId (const DtElementID &entity)
 
- 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

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

Protected Attributes

DtDemyDe
 
DtObservermyObserver
 
DtChannelmyChannel
 
DtWindowPolygonAgent * myTrackBoxWindowPolygon
 
bool myTrackIsActive
 
bool myTrackBoxOn
 
unsigned int myGateXSize
 The XY Size of the entity on screen in pixels. More...
 
unsigned int myGateYSize
 
DtVector myTrackedObjectPosition
 
DtElementID myObjectIdToMonitor
 
- 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
 

Friends

class DtTrackMonitorCreator
 

Additional Inherited Members

- 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...
 

Detailed Description

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()

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

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

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)