VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTacticalGraphicElementProcessor.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 <vrvVrl/vrvVrl.h>
13 
15 #include <vrvCore/DtUniqueID.h>
17 
19 #include <vrvUtil/signalslib.h>
20 
21 #include <vl/globalObjectDesignator.h>
22 
23 #include <boost/shared_ptr.hpp>
24 #include <boost/unordered_map.hpp>
25 
26 namespace makVrv
27 {
28 
29  class DtVisualAttributeStringVector;
30 
31  namespace DT_PROTOCOL_NAMESPACE
32  {
33 
34  class DtTacticalGraphicElement;
35  class DtTacticalGraphicVisualizerSet;
36  class DtVrlinkConnection;
37  class DtVrlinkTacticalGraphicStateListener;
38  class DtVrlinkEnvironmentalStateListenerInterface;
39 
44  : public DtVirtualBaseClass
45  {
46  public:
47 
50 
52  static void registerInstance( DtVrlinkConnection& simulation,
54 
56  static DtTacticalGraphicElementProcessor* findInstance(
57  DtVrlinkConnection& simulation );
58 
61 
63  void tacticalGraphicsSelectionChanged( const DtSelectionManager::IdSet& selected,
64  const DtSelectionManager::IdSet& deselected );
65 
67  void tacticalGraphicsHeightAboveTerrainLinesEnabledChanged( bool enabled );
68 
70  void tacticalGraphicsHeightAboveTerrainModeChanged(
72 
74  DtTacticalGraphicVisualizerSet* findVisualizer( int modelSet,
75  const DtGlobalObjectDesignator& id );
76 
78  std::vector<DtTacticalGraphicVisualizerSet*> findVisualizers(
79  const DtGlobalObjectDesignator& id );
80 
82  DtTacticalGraphicVisualizerSet* findVisualizer( DtUniqueID sceneId);
83 
86 
88  DtTacticalGraphicElement* findElement( const DtUniqueID& elementId );
89 
91  DtTacticalGraphicElement* findElement( const DtGlobalObjectDesignator& id );
92 
95  void setVisualizerCreationProcessingTime(double);
96  double visualizerCreationProcessingTime() const;
97 
98  public:
99 
100  boost::signalslib::signal<void (DtVrlinkEnvironmentalStateListenerInterface&, DtTacticalGraphicElement*)> signal_elementCreated;
101  boost::signalslib::signal<void (DtVrlinkEnvironmentalStateListenerInterface&, DtTacticalGraphicElement*)> signal_elementAboutToBeDestroyed;
102 
103  protected:
104 
105  virtual void modelSetVisualized(int set, bool b);
106 
107  virtual void handleElementAttributeChanged(
108  DtTacticalGraphicElement& graphic, const DtElementAttribute* attr);
109 
110  virtual void handleChildElementAttributeChanged(
111  DtTacticalGraphicElement& graphic, DtUniqueID childId,
112  const DtElementAttribute* attr );
113 
115  void onEnvironmentalDiscovered(
117 
119  void onEnvironmentalToBeDestroyed(
121 
122  virtual void slot_elementAttributeChangeRequested( DtUniqueID id, DtUniqueID parentId,
123  DtBoost::shared_ptr<const DtElementAttribute> atr );
124 
126  void tacticalGraphicsVertexSelected( const DtUniqueID& vertexElementID,
127  const DtUniqueID& parentElementID );
128 
130  void tacticalGraphicsVertexDeselected( const DtUniqueID& vertexElementID,
131  const DtUniqueID& parentElementID );
132 
133  void onItemVisibilityChanged( const DtUniqueID& elementID, bool flag );
134 
136  virtual void slot_completeDiscovery();
137 
138  virtual void createVisualizer(DtVrlinkTacticalGraphicStateListener&);
139 
140  protected:
141 
142  typedef boost::unordered_map<DtUniqueID, DtTacticalGraphicElement*>
144 
145  typedef boost::unordered_map<std::string, DtTacticalGraphicElement*>
147 
148  typedef boost::unordered_map<DtUniqueID, DtVrlinkEnvironmentalStateListenerInterface*>
150 
157 
158  };
159 
160  }
161 }
Virtual base class.
Definition: DtVirtualBaseClass.h:19
boost::unordered_map< std::string, DtTacticalGraphicElement * > GlobalIdToTacticalGraphicElementVisualizerMap
Definition: DtTacticalGraphicElementProcessor.h:146
DtSignalConnectionManager myConnections
Definition: DtTacticalGraphicElementProcessor.h:152
double myVisualizerCreationProcessingTime
Definition: DtTacticalGraphicElementProcessor.h:156
GlobalIdToTacticalGraphicElementVisualizerMap myGlobalIdToElementVisualizerMap
Definition: DtTacticalGraphicElementProcessor.h:154
boost::unordered_map< DtUniqueID, DtTacticalGraphicElement * > TacticalGraphicElementVisualizerMap
Definition: DtTacticalGraphicElementProcessor.h:143
A single tactical graphic element.
Definition: DtTacticalGraphicElement.h:37
Contains makVrv:DtSelectionManager class.
TacticalGraphicElementVisualizerMap myElementVisualizers
Definition: DtTacticalGraphicElementProcessor.h:153
Contains the DtSharedTacticalGraphicsDisplaySettings class declaration.
ToBeVisualizedMap myToBeVisualized
Definition: DtTacticalGraphicElementProcessor.h:155
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
boost::unordered_map< DtUniqueID, DtVrlinkEnvironmentalStateListenerInterface * > ToBeVisualizedMap
Definition: DtTacticalGraphicElementProcessor.h:149
This class manages the display of Tactical Graphics discovered via a connection.
Definition: DtTacticalGraphicElementProcessor.h:43
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
A visualizer is created for each entity state listener which it will drive it.
Definition: DtTacticalGraphicVisualizerSet.h:36
HeightAboveTerrainMode
Definition: DtSharedTacticalGraphicsDisplaySettings.h:35
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtVrlinkConnection & myConnection
Definition: DtTacticalGraphicElementProcessor.h:151
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
Base class to provide boost signal/slot management.
Contains makVrv::DtUniqueID type.
DtElementAttribute is a common base class used for all element attributes, such as those found in a D...
Definition: DtElementAttribute.h:20
Contains DLL export macros.
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
boost::signalslib::signal< void(DtVrlinkEnvironmentalStateListenerInterface &, DtTacticalGraphicElement *)> signal_elementAboutToBeDestroyed
Definition: DtTacticalGraphicElementProcessor.h:101
boost::signalslib::signal< void(DtVrlinkEnvironmentalStateListenerInterface &, DtTacticalGraphicElement *)> signal_elementCreated
Definition: DtTacticalGraphicElementProcessor.h:100

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)