VR-Forces 5.0.3 Developer's Guide
 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 <vrvCore/DtElement.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 
43  virtual bool setObjectIsVisible(bool visible, DtShowHideContext::ShowHideContext context);
44  virtual bool objectIsVisible() const;
45 
46 #ifdef XXX //visibility
47  virtual void setVisible(bool vis);
49 #endif
50  void setModelSetEnabled( int modelSet, bool enabled );
53 
56  void createVisualizersByModelSetAndType( int modelSet, int visualType );
57 
60  void destroyVisualizersByModelSetAndType( int modelSet, int visualType );
61 
63  inline const ModelSetMap& modelSetMap() const
64  {
65  return myLaserDesignatorModelSetMap;
66  }
67 
68  template <typename VisualizerClass>
69  void findVisualizers(std::vector<VisualizerClass*>& visualizers)
70  {
71  ModelSetMap::iterator i = myLaserDesignatorModelSetMap.begin();
72  ModelSetMap::iterator e = myLaserDesignatorModelSetMap.end();
73  for(;i != e;++i)
74  {
75  i->second->findVisualizers(visualizers);
76  }
77  }
78 
81  {
82  return myListener;
83  }
84 
85  virtual const DtElementEntry::ElementType elementType() const override;
86 
87 #ifdef XXX // visibility
88  virtual void updateVisibilityStates();
90 
94  virtual void updateVisibilityState(DtLaserDesignatorVisualizerSet*);
95 #endif
96 
97  protected:
98 
99  virtual void getDefinitions( std::vector<DtUnicode>& definitions );
100 
101  virtual void slot_showLaserDesignatorsChanged(bool val);
102  virtual void slot_showLaserDesignatorCodesChanged(bool val);
103 
104  protected:
105 
110  };
111 
113  }
114 }
115 
boost::unordered_map< int, DtLaserDesignatorVisualizerSet * > ModelSetMap
Definition: DtLaserDesignatorElement.h:32
DtVrlinkConnection & myVrlinkConnection
Definition: DtLaserDesignatorElement.h:107
DtSignalConnectionManager myConnections
Definition: DtLaserDesignatorElement.h:109
ModelSetMap myLaserDesignatorModelSetMap
Definition: DtLaserDesignatorElement.h:106
DtVrlinkLaserDesignatorStateListener & listener()
Get the listener for the entity this visualizer is visualizing.
Definition: DtLaserDesignatorElement.h:80
const ModelSetMap & modelSetMap() const
Get the current model set map.
Definition: DtLaserDesignatorElement.h:63
ShowHideContext
Definition: DtShowHideContext.h:18
Definition: DtElement.h:268
The DtElement class implements the common behavior of simulation based elements added to the scene...
Definition: DtElement.h:41
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
#define DT_PROTOCOL_NAMESPACE
Contains DLL export macros.
Definition: vrfDis.h:17
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtElement class.
ElementType
Definition: DtElementEntry.h:26
A single entity element. An entity element may be visualized using multiple visualizer sets one per m...
Definition: DtLaserDesignatorElement.h:28
Visualizer set for laser designators. Provides the visualize(..) method that looks up the appropriate...
Definition: DtLaserDesignatorVisualizerSet.h:25
void findVisualizers(std::vector< VisualizerClass * > &visualizers)
Definition: DtLaserDesignatorElement.h:69
Contains the DtLaserDesignatorVisualizerSet class declaration.
Contains DLL export macros.
DtVrlinkLaserDesignatorStateListener & myListener
Definition: DtLaserDesignatorElement.h:108
std::map< int, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:27

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)