VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
emitterModesRequestor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
10 
11 #pragma once
12 
13 
14 #include <vrfGuiCore/vrfGuiCore.h>
15 #include <vrfutil/rwUUID.h>
17 
19 
20 #include <vrvCore/DtStateView.h>
21 #include <vrvCore/DtEntityState.h>
22 
23 #include <vector>
24 
25 namespace makVrv
26 {
27  class DtDe;
28  class DtSimObjectEntry;
29 }
30 
31 class DtVrfObjectMessage;
32 class DtRadarModesAdmin;
33 
34 namespace makVrf
35 {
38  {
39  protected:
42  {
43  std::map<int, std::string> emitIdCurrModeMap;
44  std::map<int, std::string> emitIdNameMap;
45  std::map<int, std::vector<std::string> > emitIdModesMap;
46  };
47 
48  public:
51 
53  virtual ~DtEmitterModesRequestor();
54 
56  virtual std::string currentModeFor(const DtUUID& entity, int emitterId) const;
57 
59  virtual std::string emitterNameFor(const DtUUID& entity, int emitterId) const;
60 
62  virtual std::vector<int> emitterIdsFor(const DtUUID& entity) const;
63 
65  virtual std::vector<std::string> modesFor(const DtUUID& entity, int emitterId) const;
66 
68  virtual bool hasModesFor(const DtUUID& entity) const;
69 
71  virtual bool hasEmitterFor(const DtUUID& entity, int id) const;
72 
76  struct EmitterInfo
77  {
78  std::vector<std::string> modes;
79  int selectedMode = -1;
80  };
81  typedef std::map<int, EmitterInfo> EmitterModes;
82  virtual EmitterModes groupIdsAndModes(std::vector<DtUUID> entities);
83 
87  virtual int groupModes(std::vector<DtUUID> entities,
88  int emitterId,
89  std::vector<std::string>& returnModes);
90 
92  boost::signals2::signal<void (DtUUID, int)> signal_modesReceived;
93 
95  virtual void requestModes(const DtUUID& entity) = 0;
96 
97  protected:
99  virtual void slot_onSimDataRemoved(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
100 
103  virtual void processModes(const DtUUID&, const DtRadarModesAdmin&);
104 
105  protected:
107  std::map<DtUUID, DtEmitterModeDataRecord> myEntitiesTable;
108 
110  };
111 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::vector< std::string > modes
Definition: emitterModesRequestor.h:78
Contains makVrv::DtStateView class.
std::map< int, std::vector< std::string > > emitIdModesMap
Definition: emitterModesRequestor.h:45
std::map< int, std::string > emitIdCurrModeMap
Definition: emitterModesRequestor.h:43
Contains the DtUUID class declaration.
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Admin content which contains the list of radar modes for an emitter. This is the response to the DtRe...
Definition: radarModesAdmin.h:19
Contains makVrv::DtVirtualBaseClass class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtVrlinkSimulatedEntityState class.
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
The class that is the interface between the GUI and the back-end.
Definition: emitterModesRequestor.h:37
Given a list of entities, gets the intersection of emitter ids and those id&#39;s modes and returns them ...
Definition: emitterModesRequestor.h:76
Data structure used by this class to store entity data.
Definition: emitterModesRequestor.h:41
Base class to provide boost signal/slot management.
makVrv::DtSignalConnectionManager myConnections
Definition: emitterModesRequestor.h:109
makVrv::DtDe & myDe
Definition: emitterModesRequestor.h:106
std::map< int, EmitterInfo > EmitterModes
Definition: emitterModesRequestor.h:81
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
boost::signals2::signal< void(DtUUID, int)> signal_modesReceived
Signal sent when new data has arrived for a particular entity and its emitter id. ...
Definition: emitterModesRequestor.h:92
std::map< DtUUID, DtEmitterModeDataRecord > myEntitiesTable
Definition: emitterModesRequestor.h:107
std::map< int, std::string > emitIdNameMap
Definition: emitterModesRequestor.h:44

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)