VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtBullseyeManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
7 
8 #pragma once
9 
10 #include <vrvCore/vrvCore.h>
11 
15 #include <vrvCore/DtElementData.h>
16 
17 #include <vrvUtil/signalslib.h>
18 
19 namespace makVrv
20 {
38  {
39  public:
42 
44  virtual ~DtBullseyeManager();
45 
48  static DtBullseyeManager& instance(DtDe& de);
49 
52  static void registerInstance(DtDe&, DtBullseyeManager*);
53 
56  std::string bullseyeName(const DtElementID& elementId) const;
57 
60  DtElementID bullseyElementId(const std::string& name) const;
61 
65  void setActiveBullsye(const DtElementID& bullseyeElementId);
66 
68  DtElementID activeBullseye() const;
69 
71  std::string activeBullseyeName() const;
72 
74  boost::signals2::signal<void(const std::string& name)>
76 
78  boost::signals2::signal<void(const std::string& name)>
80 
82  boost::signals2::signal<void(const std::string& name)>
84 
86  boost::signals2::signal<void(const std::string& oldName,
87  const std::string& newName)> signal_bullseyeUpdated;
88 
89  protected:
93  void addBullseye(const DtElementID& bullseyeElementId,
94  const std::string& bullseyeDisplayName, bool makeActiveBullseyeIfNone=true);
95 
97  void removeBullseye(const DtElementID& bullseyeElementId);
98 
101  virtual void slot_elementsInitialized(
102  const DtElementData::ElementIdList& elements);
103 
105  virtual void slot_elementsRemoved(
106  const DtElementData::ElementIdList& elements);
107 
109  virtual void slot_attributesChanged(
111 
112  protected:
114  std::map<DtElementID, std::string> myBullseyeObjectNames;
117  };
118 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
boost::signals2::signal< void(const std::string &name)> signal_bullseyeAdded
Signal sent when a bullseye is added.
Definition: DtBullseyeManager.h:79
std::vector< DtElementID > ElementIdList
Type definition for a vector of DtElementIDs. DtElementIDs ARE DtUniqueIDs, but not all DtUniqueIDs a...
Definition: DtElementData.h:54
Contains makVrv::DtElementData class.
DtSignalConnectionManager myConnectionManager
Definition: DtBullseyeManager.h:116
DtDe & myDe
Definition: DtBullseyeManager.h:113
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
std::vector< EntryAttributes > EntryAttributesList
Define the type used to signal changes to one or more attributes for one or more elements.
Definition: DtElementAttributeManager.h:43
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
boost::signals2::signal< void(const std::string &name)> signal_selectedBullseyeChanged
Signal sent when the selected bullseye changed.
Definition: DtBullseyeManager.h:75
The bullseye manager is responsible for maintaining information related to all bullseye (tactical gra...
Definition: DtBullseyeManager.h:37
Base class to provide boost signal/slot management.
std::map< DtElementID, std::string > myBullseyeObjectNames
Definition: DtBullseyeManager.h:114
DtElementID mySelectedBullseyeId
Definition: DtBullseyeManager.h:115
boost::signals2::signal< void(const std::string &oldName, const std::string &newName)> signal_bullseyeUpdated
Signal sent when a bullseye&#39;s display name has changed.
Definition: DtBullseyeManager.h:87
Contains the DtElementAttributeManager class declaration.
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
boost::signals2::signal< void(const std::string &name)> signal_bullseyeRemoved
Signal sent when a bullseye is removed.
Definition: DtBullseyeManager.h:83
Contains DLL export macros.

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)