VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLaserDesignatorElement.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 #include <vrvVrl/vrvVrl.h>
15 #include <vrvVrl/DtVrlinkElement.h>
16 
17 namespace makVrv
18 {
19  class DtStateVisualizerFactory;
20 
21  namespace DT_PROTOCOL_NAMESPACE
22  {
23  class DtVrlinkLaserDesignatorStateListener;
24  class DtVrlinkConnection;
25 
29  {
30  public:
31 
32  typedef boost::unordered_map<int, DtLaserDesignatorVisualizerSet*> ModelSetMap;
33 
36 
38  virtual ~DtLaserDesignatorElement();
39 
41  void visualize(const DtSharedModelSetSettings::ModelSetVisualizedMap& sets);
42 
44  virtual void setVisible(bool visible);
45 
48  void setModelSetEnabled( int modelSet, bool enabled );
49 
52  void createVisualizersByModelSetAndType( int modelSet, int visualType );
53 
56  void destroyVisualizersByModelSetAndType( int modelSet, int visualType );
57 
59  inline const ModelSetMap& modelSetMap() const
60  {
61  return myLaserDesignatorModelSetMap;
62  }
63 
64  template <typename VisualizerClass>
65  void findVisualizers(std::vector<VisualizerClass*>& visualizers)
66  {
67  ModelSetMap::iterator i = myLaserDesignatorModelSetMap.begin();
68  ModelSetMap::iterator e = myLaserDesignatorModelSetMap.end();
69  for(;i != e;++i)
70  {
71  i->second->findVisualizers(visualizers);
72  }
73  }
74 
77  {
78  return myListener;
79  }
80 
82  {
83  //TODO: Make this a laser type
85  }
86 
88  virtual void updateVisibilityStates();
89 
93  virtual void updateVisibilityState(DtLaserDesignatorVisualizerSet*);
94 
95  protected:
96 
97  virtual void getDefinitions( std::vector<DtUnicode>& definitions );
98 
99  virtual void slot_showLaserDesignatorsChanged(bool val);
100  virtual void slot_showLaserDesignatorCodesChanged(bool val);
101 
102  protected:
103 
108  };
109  }
110 }
111 
boost::unordered_map< int, DtLaserDesignatorVisualizerSet * > ModelSetMap
Definition: DtLaserDesignatorElement.h:32
DtVrlinkConnection & myVrlinkConnection
Definition: DtLaserDesignatorElement.h:105
DtSignalConnectionManager myConnections
Definition: DtLaserDesignatorElement.h:107
Definition: DtElementEntry.h:34
ModelSetMap myLaserDesignatorModelSetMap
Definition: DtLaserDesignatorElement.h:104
DtVrlinkLaserDesignatorStateListener & listener()
Get the listener for the entity this visualizer is visualizing.
Definition: DtLaserDesignatorElement.h:76
const ModelSetMap & modelSetMap() const
Get the current model set map.
Definition: DtLaserDesignatorElement.h:59
virtual DtElementEntry::ObjectType elementType() const
Virtual function for getting the element type.
Definition: DtLaserDesignatorElement.h:81
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
unsigned int ObjectType
Definition: DtElementEntry.h:50
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
Visualizer set for laser designators.
Definition: DtLaserDesignatorVisualizerSet.h:31
A single entity element.
Definition: DtLaserDesignatorElement.h:28
void findVisualizers(std::vector< VisualizerClass * > &visualizers)
Definition: DtLaserDesignatorElement.h:65
Contains the DtLaserDesignatorVisualizerSet class declaration.
Contains DLL export macros.
DtVrlinkLaserDesignatorStateListener & myListener
Definition: DtLaserDesignatorElement.h:106
std::map< int, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:30

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)