VR-Forces 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) 2022 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 {
44  {
45  public:
48 
50  virtual ~DtBullseyeManager();
51 
54  static DtBullseyeManager& instance(DtDe& de);
55 
58  static void registerInstance(DtDe&, DtBullseyeManager*);
59 
62  std::string bullseyeName(const DtElementID& elementId) const;
63 
66  DtElementID bullseyElementId(const std::string& name) const;
67 
71  void setActiveBullsye(const DtElementID& bullseyeElementId);
72 
74  DtElementID activeBullseye() const;
75 
77  std::string activeBullseyeName() const;
78 
80  boost::signalslib::signal<void(const std::string& name)>
82 
84  boost::signalslib::signal<void(const std::string& name)>
86 
88  boost::signalslib::signal<void(const std::string& name)>
90 
92  boost::signalslib::signal<void(const std::string& oldName,
93  const std::string& newName)> signal_bullseyeUpdated;
94 
95  protected:
99  void addBullseye(const DtElementID& bullseyeElementId,
100  const std::string& bullseyeDisplayName, bool makeActiveBullseyeIfNone=true);
101 
103  void removeBullseye(const DtElementID& bullseyeElementId);
104 
107  virtual void slot_elementsInitialized(
108  const DtElementData::ElementIdList& elements);
109 
111  virtual void slot_elementsRemoved(
112  const DtElementData::ElementIdList& elements);
113 
115  virtual void slot_attributesChanged(
117 
123  virtual bool isBullseyeToManage(
124  const DtElementID& potentialBullseyeElementId, std::string& displayName) const;
125 
126  protected:
128  std::map<DtElementID, std::string> myBullseyeObjectNames;
131  };
132 }
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< 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:130
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
DtDe & myDe
Definition: DtBullseyeManager.h:127
boost::signalslib::signal< void(const std::string &name)> signal_bullseyeRemoved
Signal sent when a bullseye is removed.
Definition: DtBullseyeManager.h:89
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:44
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
boost::signalslib::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:93
The bullseye manager is responsible for maintaining information related to all bullseye (tactical gra...
Definition: DtBullseyeManager.h:43
Base class to provide boost signal/slot management.
std::map< DtElementID, std::string > myBullseyeObjectNames
Definition: DtBullseyeManager.h:128
DtElementID mySelectedBullseyeId
Definition: DtBullseyeManager.h:129
boost::signalslib::signal< void(const std::string &name)> signal_selectedBullseyeChanged
Signal sent when the selected bullseye changed.
Definition: DtBullseyeManager.h:81
boost::signalslib::signal< void(const std::string &name)> signal_bullseyeAdded
Signal sent when a bullseye is added.
Definition: DtBullseyeManager.h:85
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:72
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)