VR-Forces 5.0.1 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 }
33 
34 namespace makVrf
35 {
36  class DtNetworkMessageInterface;
37 
39  {
40  public:
42 
43  static DtVrfRadioManager& instance(makVrv::DtDe& de);
44  static void registerInstance(makVrv::DtDe& de, DtVrfRadioManager*);
45  virtual ~DtVrfRadioManager();
46 
47  virtual void shutdown();
48  virtual void tick();
49 
50  virtual void setActiveEntity(const DtUUID& entityId, const DtEntityIdentifier&) override;
51 
52  virtual void setSystemEnabled(bool b, bool save = true);
53  boost::signals2::signal<void (bool)> signal_systemEnabled;
54 
55  virtual void clearRadios();
56  boost::signals2::signal<void ()> signal_radiosAboutToBeCleared;
57  boost::signals2::signal<void ()> signal_radiosClears;
58 
59  virtual void setRadios(std::vector<makRadio::DtRwRadioState>& radios, bool save = true);
60  boost::signals2::signal<void ()> signal_radiosAboutToBeSet;
61  boost::signals2::signal<void ()> signal_radiosSet;
62 
64  boost::signals2::signal<void (const DtUUID&)> signal_activeEntityChanged;
65 
66  virtual void changeJammerFrequency(double oldFrequency, double newFrequency);
67  boost::signals2::signal<void (double, double)> signal_jammerFrequencyChanged;
68 
70  virtual bool setJammed(makRadio::DtRadio*, bool);
71  boost::signals2::signal<void (double, bool)> signal_jammerEnabled;
72 
73  virtual void slot_audioCaptureDeviceChanged(const std::string& dev);
74  virtual void talkOnActiveRadio(bool);
75 
76  protected:
77  virtual void initialize();
78  virtual void processObjectMakRadioMessageCallback(DtNetworkMessageInterface*);
79 
80  virtual void setupKeyMap();
81 
82  protected:
86 
88  };
89 
90  class DT_DLL_VRFMAKRADIO DtVrfEntitySoundUpdaterClassesCreator : public makVrv::DtEntitySoundUpdaterClassesCreator
91  {
92  public:
95 
96  static makVrv::DtAgentCreator* create();
97 
100  };
101 
104  {
105  public:
107  virtual ~DtVrfEntitySoundUpdater();
108 
109  virtual void update(DtTime tNow);
110 
111  protected:
112  bool myIsLocal;
114  };
115 
117  {
118  public:
120  virtual ~DtVrfAudioSettingsManager();
121 
122  virtual void setAudioEnabled(bool);
123  };
124 }
bool myIsLocal
Definition: vrfRadioManager.h:112
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
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:67
Definition: networkMessageInterface.h:28
Abstract base class for object updaters.
Definition: DtAgentUpdateResolverInterface.h:20
boost::signals2::signal< void(double, bool)> signal_jammerEnabled
Definition: vrfRadioManager.h:71
boost::signals2::signal< void()> signal_radiosClears
Definition: vrfRadioManager.h:57
Definition: vrfRadioManager.h:90
makRadio::DtRadio * myCurrentRadio
Definition: vrfRadioManager.h:83
Definition: radio.h:35
Definition: vrfRadioManager.h:38
Definition: radioManager.h:46
Do not play sounds for local objects.
Definition: vrfRadioManager.h:103
Contains makVrv::DtVirtualBaseClass class.
bool myCheckLocal
Definition: vrfRadioManager.h:113
boost::signals2::signal< void(bool)> signal_systemEnabled
Definition: vrfRadioManager.h:53
Contains the DtAudioSettingsManager class declaration.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
makVrv::DtSignalConnectionManager myConnections
Definition: vrfRadioManager.h:87
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:84
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:60
boost::signals2::signal< void(const DtUUID &)> signal_activeEntityChanged
Signal sent when the active entity has changed.
Definition: vrfRadioManager.h:64
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:70
Definition: vrfRadioManager.h:116
boost::signals2::signal< void()> signal_radiosAboutToBeCleared
Definition: vrfRadioManager.h:56
Contains makVrv::DtEntitySoundUpdater class.
bool myNeedsInitialization
Definition: vrfRadioManager.h:85
boost::signals2::signal< void()> signal_radiosSet
Definition: vrfRadioManager.h:61

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)