VR-Forces 4.8 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) 2014 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
15 #include <boost/unordered_map.hpp>
16 #include <vl/globalObjectDesignator.h>
17 #include <boost/signal.hpp>
18 #include <boost/shared_ptr.hpp>
19 
20 namespace makVrv
21 {
22 
23  class DtVisualAttributeStringVector;
24 
25  namespace DT_PROTOCOL_NAMESPACE
26  {
27 
28  class DtTacticalGraphicElement;
29  class DtTacticalGraphicVisualizerSet;
30  class DtVrlinkConnection;
31  class DtVrlinkTacticalGraphicStateListener;
32  class DtVrlinkEnvironmentalStateListenerInterface;
33 
38  : public DtVirtualBaseClass
39  {
40  public:
41 
44 
46  static void registerInstance( DtVrlinkConnection& simulation,
48 
50  static DtTacticalGraphicElementProcessor* findInstance(
51  DtVrlinkConnection& simulation );
52 
55 
57  void tacticalGraphicsSelectionChanged( const DtSelectionManager::IdSet& selected,
58  const DtSelectionManager::IdSet& deselected );
59 
61  void tacticalGraphicsHeightAboveTerrainLinesEnabledChanged( bool enabled );
62 
64  void tacticalGraphicsHeightAboveTerrainModeChanged(
66 
68  DtTacticalGraphicVisualizerSet* findVisualizer( int modelSet,
69  const DtGlobalObjectDesignator& id );
70 
72  std::vector<DtTacticalGraphicVisualizerSet*> findVisualizers(
73  const DtGlobalObjectDesignator& id );
74 
76  DtTacticalGraphicVisualizerSet* findVisualizer( DtUniqueID sceneId);
77 
80 
82  DtTacticalGraphicElement* findElement( const DtUniqueID& elementId );
83 
85  DtTacticalGraphicElement* findElement( const DtGlobalObjectDesignator& id );
86 
89  void setVisualizerCreationProcessingTime(double);
90  double visualizerCreationProcessingTime() const;
91 
92  public:
93 
94  boost::signal<void (DtVrlinkEnvironmentalStateListenerInterface&, DtTacticalGraphicElement*)> signal_elementCreated;
95  boost::signal<void (DtVrlinkEnvironmentalStateListenerInterface&, DtTacticalGraphicElement*)> signal_elementAboutToBeDestroyed;
96 
97  protected:
98 
99  virtual void modelSetVisualized(int set, bool b);
100 
101  virtual void handleElementAttributeChanged(
102  DtTacticalGraphicElement& graphic, const DtElementAttribute* attr);
103 
104  virtual void handleChildElementAttributeChanged(
105  DtTacticalGraphicElement& graphic, DtUniqueID childId,
106  const DtElementAttribute* attr );
107 
109  void onEnvironmentalDiscovered(
111 
113  void onEnvironmentalToBeDestroyed(
115 
116  virtual void slot_elementAttributeChangeRequested( DtUniqueID id, DtUniqueID parentId,
117  DtBoost::shared_ptr<const DtElementAttribute> atr );
118 
120  void tacticalGraphicsVertexSelected( const DtUniqueID& vertexElementID,
121  const DtUniqueID& parentElementID );
122 
124  void tacticalGraphicsVertexDeselected( const DtUniqueID& vertexElementID,
125  const DtUniqueID& parentElementID );
126 
127  void onItemVisibilityChanged( const DtUniqueID& elementID, bool flag );
128 
130  virtual void slot_completeDiscovery();
131 
132  virtual void createVisualizer(DtVrlinkTacticalGraphicStateListener&);
133 
134  protected:
135 
136  typedef boost::unordered_map<DtUniqueID, DtTacticalGraphicElement*>
138 
139  typedef boost::unordered_map<std::string, DtTacticalGraphicElement*>
141 
142  typedef boost::unordered_map<DtUniqueID, DtVrlinkEnvironmentalStateListenerInterface*>
144 
151 
152  };
153 
154  }
155 }
Virtual base class.
Definition: DtVirtualBaseClass.h:22
boost::unordered_map< std::string, DtTacticalGraphicElement * > GlobalIdToTacticalGraphicElementVisualizerMap
Definition: DtTacticalGraphicElementProcessor.h:140
DtSignalConnectionManager myConnections
Definition: DtTacticalGraphicElementProcessor.h:146
double myVisualizerCreationProcessingTime
Definition: DtTacticalGraphicElementProcessor.h:150
GlobalIdToTacticalGraphicElementVisualizerMap myGlobalIdToElementVisualizerMap
Definition: DtTacticalGraphicElementProcessor.h:148
boost::unordered_map< DtUniqueID, DtTacticalGraphicElement * > TacticalGraphicElementVisualizerMap
Definition: DtTacticalGraphicElementProcessor.h:137
A single tactical graphic element.
Definition: DtTacticalGraphicElement.h:37
TacticalGraphicElementVisualizerMap myElementVisualizers
Definition: DtTacticalGraphicElementProcessor.h:147
Contains the DtSharedTacticalGraphicsDisplaySettings class declaration.
ToBeVisualizedMap myToBeVisualized
Definition: DtTacticalGraphicElementProcessor.h:149
boost::signal< void(DtVrlinkEnvironmentalStateListenerInterface &, DtTacticalGraphicElement *)> signal_elementAboutToBeDestroyed
Definition: DtTacticalGraphicElementProcessor.h:95
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
boost::signal< void(DtVrlinkEnvironmentalStateListenerInterface &, DtTacticalGraphicElement *)> signal_elementCreated
Definition: DtTacticalGraphicElementProcessor.h:94
boost::unordered_map< DtUniqueID, DtVrlinkEnvironmentalStateListenerInterface * > ToBeVisualizedMap
Definition: DtTacticalGraphicElementProcessor.h:143
This class manages the display of Tactical Graphics discovered via a connection.
Definition: DtTacticalGraphicElementProcessor.h:37
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
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:22
DtVrlinkConnection & myConnection
Definition: DtTacticalGraphicElementProcessor.h:145
#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.
DtElementAttribute is a common base class used for all element attributes, such as those found in a D...
Definition: DtElementAttribute.h:23
Contains DLL export macros.
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)