VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfRadioManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
8 #include <vrfMakRadio/export.h>
10 #include <boost/signals2.hpp>
11 
12 #include <makRadio/radioManager.h>
13 
17 #include <vrvAudio/DtEntitySoundUpdaterClasses.hpp>
18 
19 #include <vector>
20 #include <list>
21 
22 namespace makRadio
23 {
24  class DtRadio;
25  class DtRadioSystemInitializer;
26 }
27 
28 namespace makVrv
29 {
30  class DtDe;
31  class DtKeyMapManager;
32  class DtAudioSettingsManager;
33 }
34 
35 namespace makVrf
36 {
37  class DtNetworkMessageInterface;
38 
40  {
41  public:
43 
44  static DtVrfRadioManager& instance(makVrv::DtDe& de);
45  static void registerInstance(makVrv::DtDe& de, DtVrfRadioManager*);
46  virtual ~DtVrfRadioManager() override;
47 
48  virtual void shutdown() override;
49  virtual void tick() override;
50 
51  virtual void setActiveEntity(const DtUUID& entityId, const DtEntityIdentifier&) override;
52 
53  virtual void setSystemEnabled(bool b, bool save = true) override;
54  boost::signals2::signal<void (bool)> signal_systemEnabled;
55 
56  virtual void clearRadios() override;
57  boost::signals2::signal<void ()> signal_radiosAboutToBeCleared;
58  boost::signals2::signal<void ()> signal_radiosClears;
59 
60  virtual void setRadios(std::vector<makRadio::DtRwRadioState>& radios, bool save = true);
61  boost::signals2::signal<void ()> signal_radiosAboutToBeSet;
62  boost::signals2::signal<void ()> signal_radiosSet;
63 
65  boost::signals2::signal<void (const DtUUID&)> signal_activeEntityChanged;
66 
67  virtual void changeJammerFrequency(double oldFrequency, double newFrequency) override;
68  boost::signals2::signal<void (double, double)> signal_jammerFrequencyChanged;
69 
71  virtual bool setJammed(makRadio::DtRadio*, bool) override;
72  boost::signals2::signal<void (double, bool)> signal_jammerEnabled;
73 
74  virtual void slot_audioCaptureDeviceChanged(const std::string& dev);
75  virtual void talkOnActiveRadio(bool);
76 
77  protected:
78  virtual void initialize();
79  virtual void processObjectMakRadioMessageCallback(DtNetworkMessageInterface*);
80 
81  virtual void setupKeyMap();
82 
83  protected:
87 
89  };
90 
91  class DT_DLL_VRFMAKRADIO DtVrfEntitySoundUpdaterClassesCreator : public makVrv::DtEntitySoundUpdaterClassesCreator
92  {
93  public:
95  virtual ~DtVrfEntitySoundUpdaterClassesCreator() override;
96 
97  static makVrv::DtAgentCreator* create();
98 
100  virtual makVrv::DtAgentUpdateResolverInterface* createResolver(makVrv::DtDe& de, makVrv::DtUniqueID id) override;
101  };
102 
105  {
106  public:
108  virtual ~DtVrfEntitySoundUpdater() override;
109 
110  virtual void update(DtTime tNow) override;
111 
112  protected:
113  bool myIsLocal;
116  };
117 
119  {
120  public:
122  virtual ~DtVrfAudioSettingsManager() override;
123 
124  virtual void setAudioEnabled(bool) override;
125  };
126 }
bool myIsLocal
Definition: vrfRadioManager.h:113
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
#define DT_DLL_VRFMAKRADIO
Get proper local export symbol.
Definition: export.h:17
boost::signals2::signal< void(double, double)> signal_jammerFrequencyChanged
Definition: vrfRadioManager.h:68
Definition: networkMessageInterface.h:22
Abstract base class for object updaters.
Definition: DtAgentUpdateResolverInterface.h:20
boost::signals2::signal< void(double, bool)> signal_jammerEnabled
Definition: vrfRadioManager.h:72
boost::signals2::signal< void()> signal_radiosClears
Definition: vrfRadioManager.h:58
Definition: vrfRadioManager.h:91
makRadio::DtRadio * myCurrentRadio
Definition: vrfRadioManager.h:84
Definition: radio.h:35
Definition: vrfRadioManager.h:39
Definition: radioManager.h:46
makVrv::DtAudioSettingsManager & myAudioSettingsManager
Definition: vrfRadioManager.h:115
Do not play sounds for local objects.
Definition: vrfRadioManager.h:104
Contains makVrv::DtVirtualBaseClass class.
bool myCheckLocal
Definition: vrfRadioManager.h:114
boost::signals2::signal< void(bool)> signal_systemEnabled
Definition: vrfRadioManager.h:54
Contains the DtAudioSettingsManager class declaration.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
makVrv::DtSignalConnectionManager myConnections
Definition: vrfRadioManager.h:88
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtEntitySoundUpdater updates the sound with it&#39;s associated entity. syncs the position and velocity ...
Definition: DtEntitySoundUpdater.h:27
makVrv::DtDe & myDe
Definition: vrfRadioManager.h:85
Abstract base class for the scene object creators. SceneObject creators do not actually create scene ...
Definition: DtAgentCreator.h:27
Base class to provide boost signal/slot management.
Rooted singleton that holds value about current state of sound settings.
Definition: DtAudioSettingsManager.h:28
boost::signals2::signal< void()> signal_radiosAboutToBeSet
Definition: vrfRadioManager.h:61
boost::signals2::signal< void(const DtUUID &)> signal_activeEntityChanged
Signal sent when the active entity has changed.
Definition: vrfRadioManager.h:65
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:76
Definition: vrfRadioManager.h:118
boost::signals2::signal< void()> signal_radiosAboutToBeCleared
Definition: vrfRadioManager.h:57
Contains makVrv::DtEntitySoundUpdater class.
bool myNeedsInitialization
Definition: vrfRadioManager.h:86
boost::signals2::signal< void()> signal_radiosSet
Definition: vrfRadioManager.h:62

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)