VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTrackMonitor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtTickable.h>
14 #include <vrvCore/DtUniqueID.h>
15 
17 
18 #include <matrix/geodeticCoord.h>
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtObserver;
24  class DtChannel;
25  class DtWindowPolygonAgent;
26 
35  {
36  friend class DtTrackMonitorCreator;
37  public:
39  virtual ~DtTrackMonitor();
40 
43  virtual void update( DtTime tNow );
44 
47  virtual bool needsUpdate( DtTime tNow );
48 
50  virtual void getTrackedObjectGateInfo( unsigned int& gateXSize, unsigned int& gateYSize,
51  double& gateXPosition, double& gateYPosition );
52 
54  virtual DtVector trackedObjectPosition( );
55 
57  virtual DtGeodeticCoord trackedObjectGeodeticCoord( );
58 
61  virtual void setTrackBoxOn( bool boxOn );
62 
64  virtual bool activeTrack();
65 
67  virtual DtElementID const monitoredObjectId( ) const;
68  virtual void setObjectId(const DtElementID& entity );
69 
70  protected:
72  DtTrackMonitor( DtDe& de, DtObserver& observer, DtChannel& channel, DtElementID& objectIdToMonitor );
73  protected:
77  DtWindowPolygonAgent* myTrackBoxWindowPolygon;
78 
82  unsigned int myGateXSize;
83  unsigned int myGateYSize;
86  };
87 
91  {
92  public:
95  {
96  }
97 
100  {
101  }
102 
104  virtual DtTrackMonitorCreator* clone() const = 0;
105 
107  virtual DtTrackMonitor* create( DtDe& de, DtObserver& observer, DtChannel& channel, DtElementID& objectIdToMonitor ) const = 0;
108  };
109 
110  template <typename TrackMonitorObject>
112  {
113  public:
116  {
117  }
118 
121  {
122  }
123 
125  virtual DtTrackMonitorCreator* clone() const
126  {
128  }
129 
131  virtual DtTrackMonitor* create( DtDe& de, DtObserver& observer, DtChannel& channel, DtElementID& objectIdToMonitor ) const
132  {
133  return new TrackMonitorObject( de, observer, channel, objectIdToMonitor );
134  }
135  };
136 }
DtDe & myDe
Definition: DtTrackMonitor.h:74
virtual ~DtTrackMonitorCreator()
DTOR.
Definition: DtTrackMonitor.h:99
DtWindowPolygonAgent * myTrackBoxWindowPolygon
Definition: DtTrackMonitor.h:77
Base class for Track Monitors which monitor the tracking of an object.
Definition: DtTrackMonitor.h:34
DtVector myTrackedObjectPosition
Definition: DtTrackMonitor.h:84
unsigned int myGateYSize
Definition: DtTrackMonitor.h:83
virtual DtTrackMonitorCreator * clone() const
Clone.
Definition: DtTrackMonitor.h:125
An abstract base class for objects that require updates.
Definition: DtTickable.h:26
bool myTrackIsActive
Definition: DtTrackMonitor.h:79
bool myTrackBoxOn
Definition: DtTrackMonitor.h:80
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
The abstract Channel Class.
Definition: DtChannel.h:30
A facade for a DtObserverObject.
Definition: DtObserver.h:37
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtTrackMonitorCreator()
CTOR.
Definition: DtTrackMonitor.h:94
DtChannel * myChannel
Definition: DtTrackMonitor.h:76
DtElementID myObjectIdToMonitor
Definition: DtTrackMonitor.h:85
DtTrackMonitorCreatorTemplate()
CTOR.
Definition: DtTrackMonitor.h:115
virtual ~DtTrackMonitorCreatorTemplate()
DTOR.
Definition: DtTrackMonitor.h:120
Definition: DtTrackMonitor.h:111
Contains the declaration for makVrv::DtTickable.
unsigned int myGateXSize
The XY Size of the entity on screen in pixels.
Definition: DtTrackMonitor.h:82
Contains makVrv::DtUniqueID type.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Abstract DtTrackMonitor creator.
Definition: DtTrackMonitor.h:90
DtObserver * myObserver
Definition: DtTrackMonitor.h:75
virtual DtTrackMonitor * create(DtDe &de, DtObserver &observer, DtChannel &channel, DtElementID &objectIdToMonitor) const
Create Function.
Definition: DtTrackMonitor.h:131
Contains DLL export macros.

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)