VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtLaserDesignatorProcessor.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2014 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #ifndef DT_PROTOCOL_NAMESPACE
13 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
14 #endif
15 
17 
18 #include <vrvVrl/vrvVrl.h>
22 #include <boost/unordered_map.hpp>
23 #include <vl/globalObjectDesignator.h>
24 #include <boost/signal.hpp>
25 #include <boost/shared_ptr.hpp>
26 
27 namespace makVrv
28 {
29 
30  class DtVisualAttributeStringVector;
31 
32  namespace DT_PROTOCOL_NAMESPACE
33  {
34 
35  class DtLaserDesignatorElement;
36  class DtLaserDesignatorVisualizerSet;
37  class DtVrlinkConnection;
38  class DtVrlinkLaserDesignatorStateListener;
39  class DtVrlinkEnvironmentalStateListenerInterface;
40 
45  {
46  public:
47 
50 
52  static void registerInstance( DtVrlinkConnection& simulation,
53  DtLaserDesignatorProcessor* instance );
54 
55  static void unregisterInstance(DtVrlinkConnection& conn);
56 
58  static DtLaserDesignatorProcessor* findInstance(DtVrlinkConnection& simulation );
59 
61  virtual ~DtLaserDesignatorProcessor();
62 
64  DtLaserDesignatorVisualizerSet* findVisualizer( int modelSet, const DtGlobalObjectDesignator& id );
65 
67  std::vector<DtLaserDesignatorVisualizerSet*> findVisualizers(const DtGlobalObjectDesignator& id );
68 
70  DtLaserDesignatorVisualizerSet* findVisualizer( DtUniqueID sceneId);
71 
74 
76  DtLaserDesignatorElement* findElement( const DtUniqueID& elementId );
77 
79  DtLaserDesignatorElement* findElement( const DtGlobalObjectDesignator& id );
80 
83  void setVisualizerCreationProcessingTime(double);
84  double visualizerCreationProcessingTime() const;
85 
86  boost::signal<void (DtVrlinkLaserDesignatorStateListener&, DtLaserDesignatorElement*)> signal_elementCreated;
87  boost::signal<void (DtVrlinkLaserDesignatorStateListener&, DtLaserDesignatorElement*)> signal_elementAboutToBeDestroyed;
88 
89  protected:
91  void onDesignatorDiscovered(DtVrlinkLaserDesignatorStateListener* listener );
92 
94  virtual void slot_completeDiscovery();
95 
97  virtual void createVisualizer(DtVrlinkLaserDesignatorStateListener& listener);
98 
100  void onDesignatorToBeDestroyed(DtVrlinkLaserDesignatorStateListener* listener );
101 
102  virtual void modelSetVisualized(int set, bool b);
103 
104  void onItemVisibilityChanged( const DtUniqueID& elementID, bool flag );
105 
106  private:
110 
114 
118 
119  protected:
120 
121  typedef boost::unordered_map<DtUniqueID, DtLaserDesignatorElement*> DesignatorElementVisualizerMap;
122  typedef boost::unordered_map<std::string, DtLaserDesignatorElement*> GlobalIdToDesignatorElementVisualizerMap;
123  typedef boost::unordered_map<DtUniqueID, DtVrlinkLaserDesignatorStateListener*> ToBeVisualizedMap;
124 
130 
133  };
134  }
135 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)