VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTrackObjectFactory.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 
15 #include <vrvCore/DtUniqueID.h>
16 #include <boost/unordered_map.hpp>
17 #include <string>
18 
19 namespace makVrv
20 {
21  class DtDe;
22  class DtObserver;
23  class DtChannel;
24  class DtTrackAcquirerCreator;
25  class DtTrackMonitorCreator;
26  class DtTrackAcquirer;
27  class DtTrackMonitor;
28 
32  {
33  public:
35  typedef boost::unordered_map<unsigned int, DtTrackAcquirerCreator*> AcquirerCreatorMap;
36  typedef boost::unordered_map<unsigned int, DtTrackMonitorCreator*> MonitorCreatorMap;
37 
40 
42  virtual ~DtTrackObjectFactory();
43 
46 
48  DtTrackObjectFactory& operator=( const DtTrackObjectFactory& rhs );
49 
51  static DtTrackObjectFactory& instance( DtDe& de );
52 
54  virtual DtTrackObjectFactory* clone();
55 
57 
63  virtual void addTrackAcquirerCreator( const unsigned int trackModeType, DtTrackAcquirerCreator* creator );
64 
67  DtTrackAcquirer* createTrackAcquirer( const unsigned int trackModeType, DtDe& de, DtObserver& observer, DtChannel& channel );
68 
70  const AcquirerCreatorMap& acquirerCreators() const;
71 
73  const DtTrackAcquirerCreator* findAcquirerCreator( const unsigned int& trackModeType ) const;
75 
78 
83  virtual void addTrackMonitorCreator( const unsigned int trackModeType, DtTrackMonitorCreator* creator );
84 
87  DtTrackMonitor* createTrackMonitor( const unsigned int trackModeType, DtDe& de, DtObserver& observer,
88  DtChannel& channel, DtElementID& elementId );
89 
91  const MonitorCreatorMap& monitorCreators() const;
92 
94  const DtTrackMonitorCreator* findMonitorCreator( const unsigned int& trackModeType ) const;
96 
97  protected:
100  };
101 }
Virtual base class.
Definition: DtVirtualBaseClass.h:19
MonitorCreatorMap myMonitorCreators
Definition: DtTrackObjectFactory.h:99
Base class for Track Monitors which monitor the tracking of an object.
Definition: DtTrackMonitor.h:34
A factory for DtTrackAcquirer &amp; DtTrackMonitor Objects.
Definition: DtTrackObjectFactory.h:31
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
AcquirerCreatorMap myAcquirerCreators
Definition: DtTrackObjectFactory.h:98
Abstract DtTrackAcquirer creator.
Definition: DtTrackAcquirer.h:114
A facade for a DtObserverObject.
Definition: DtObserver.h:37
Contains makVrv::DtVirtualBaseClass class.
Base class for objects that identify entities that can be tracked on screen or in the scene...
Definition: DtTrackAcquirer.h:41
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
boost::unordered_map< unsigned int, DtTrackMonitorCreator * > MonitorCreatorMap
Definition: DtTrackObjectFactory.h:36
boost::unordered_map< unsigned int, DtTrackAcquirerCreator * > AcquirerCreatorMap
Maps a track mode type to an acquirer creator.
Definition: DtTrackObjectFactory.h:35
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
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)