VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
indirectArtilleryManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrfGuiCore/vrfGuiCore.h>
17 #include <vrvUtil/DtUnicode.h>
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtSimObjectEntry;
24  class DtRecordSettingsBackupInterface;
25  class DtSharedSettingsManager;
26 }
27 
28 class DtSimMessage;
29 
30 namespace makVrf
31 {
32  class DtIndirectArtillerySettingsRecord;
33  struct DtVrlinkSimulatedEnvironmentProcess;
34 
36 
40 
42  {
43  public:
44 
46  {
49  std::string myName;
50  };
51 
52  typedef std::map<makVrv::DtElementID, IndirectArtilleryData> IndirectArtilleryMap;
53 
54  public:
57 
59  virtual ~DtIndirectArtilleryManager() override;
60 
62  static DtIndirectArtilleryManager& instance(makVrv::DtDe& de);
63 
65  static void registerInstance(makVrv::DtDe&, DtIndirectArtilleryManager*);
66 
67  void setAutoSave(bool b);
68  bool autoSave() const;
69 
71  virtual void getRecord(DtIndirectArtillerySettingsRecord& rec) const;
72  virtual void getDefaultData(DtIfIndirectArtilleryData& rec) const;
73 
76  virtual void getSplitRecord(std::vector<DtIndirectArtillerySettingsRecord>& rec,
77  std::vector<std::string>& fileNames) {};
78 
82  DtIndirectArtillerySettingsRecord& combinedRec) {};
83 
84  virtual void setFromRecord(const DtIndirectArtillerySettingsRecord& rec);
85 
87  virtual void emptyList();
88 
91  virtual void load(const std::string&, bool signal = true);
92 
94  {
95  return myIndirectArtillery;
96  }
97 
99  virtual bool hasIndirectArtilleryData(makVrv::DtElementID) const;
100 
102  virtual DtIfIndirectArtilleryData indirectArtilleryData(makVrv::DtElementID id) const;
103 
104  const DtIndirectArtilleryTypesManager& typesManager() const;
106  virtual void loadDefaults(bool fromFactory = false);
107 
109  virtual void saveAsDefaults();
110 
112  {
113  return mySettingsBackup;
114  }
115 
117  {
118  return mySettingsBackup;
119  }
120 
122  {
123  return myManager;
124  }
125 
127  void exportSettings(const std::string& fileName);
128 
130  void importSettings(const std::string& fileName);
131 
132  public:
134  boost::signals2::signal<void (const DtIndirectArtillerySettingsRecord&)> signal_indirectArtillerySettingsChanged;
135 
136  boost::signals2::signal<void (makVrv::DtElementID, const std::string& name, const DtIfIndirectArtilleryData&)> signal_updated;
137  boost::signals2::signal<void (makVrv::DtElementID)> signal_removed;
138 
139  boost::signals2::signal<void ()> signal_indirectArtilleryTypesUpdated;
140 
141  protected:
143  virtual void initArtilleryAreas();
144 
146  virtual void addIfArtillery(DtSimObjectReference);
147  virtual void indirectFireObjectAdded(DtSimObjectReference);
148  virtual void indirectFireObjectRemoved(DtSimObjectReference);
149 
152  virtual void indirectArtilleryDataReceived(DtSimMessage*);
153 
155  virtual void slot_onArtilleryUpdated(DtSimObjectReference);
156 
157  protected:
160 
163 
166  };
167 }
DtIndirectArtilleryTypesManager myManager
Definition: indirectArtilleryManager.h:158
const DtIndirectArtilleryTypesManager & indirectArtilleryTypesManager() const
Definition: indirectArtilleryManager.h:121
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
Contains makVrf::DtIndirectArtillerySettingsRecord class. This class holds options for indirect artil...
Definition: indirectArtillerySettingsRecord.h:27
An indirect artillery types manager will keep track of the artillery types that are available to be u...
Definition: indirectArtilleryTypesManager.h:28
const makVrv::DtRecordSettingsBackupInterface * settingsBackup() const
Definition: indirectArtilleryManager.h:111
DtIfIndirectArtilleryData myData
Definition: indirectArtilleryManager.h:48
std::map< makVrv::DtElementID, IndirectArtilleryData > IndirectArtilleryMap
Definition: indirectArtilleryManager.h:52
const IndirectArtilleryMap & indirectArtillery() const
Definition: indirectArtilleryManager.h:93
makVrv::DtSignalConnectionManager myConnectionManager
Definition: indirectArtilleryManager.h:161
DtIndirectArtillerySettingsRecord myIndirectArtillerySettings
Definition: indirectArtilleryManager.h:165
The indirect artillery manager will manage the indirect artillery items created int the scenario and ...
Definition: indirectArtilleryManager.h:41
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
static const makVrv::DtUnicode DtIndirectArtilleryName
Definition: indirectArtilleryManager.h:35
IndirectArtilleryMap myIndirectArtillery
Definition: indirectArtilleryManager.h:162
Contains makVrv::DtVirtualBaseClass class.
static DtUnicode tr(const char *ascii)
Ascii translation function, used to be compatible with Qt&#39;s translation tools. This will simply call ...
Definition: DtUnicode.h:92
File: simMsg.h.
Definition: simMessage.h:35
boost::signals2::signal< void(makVrv::DtElementID, const std::string &name, const DtIfIndirectArtilleryData &)> signal_updated
Definition: indirectArtilleryManager.h:136
makVrv::DtDe & myDe
Definition: indirectArtilleryManager.h:159
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
boost::signals2::signal< void(makVrv::DtElementID)> signal_removed
Definition: indirectArtilleryManager.h:137
virtual void getSplitRecord(std::vector< DtIndirectArtillerySettingsRecord > &rec, std::vector< std::string > &fileNames)
To support writing element definitions in folders as multiple files not implemented.
Definition: indirectArtilleryManager.h:76
Definition: indirectArtilleryManager.h:45
Data container for Indirect Artillery. Should contain nothing but mutators, accessors and data...
Definition: ifModifyIndirectArtilleryObject.h:29
Base class to provide boost signal/slot management.
boost::signals2::signal< void()> signal_indirectArtilleryTypesUpdated
Definition: indirectArtilleryManager.h:139
virtual void addRecords(DtIndirectArtillerySettingsRecord &recs, DtIndirectArtillerySettingsRecord &combinedRec)
To support writing element definitions in folders as multiple files not implemented.
Definition: indirectArtilleryManager.h:81
DtSimObjectReference myState
Definition: indirectArtilleryManager.h:47
boost::signals2::signal< void(const DtIndirectArtillerySettingsRecord &)> signal_indirectArtillerySettingsChanged
Sent after anything about the indirect artillery options have changed.
Definition: indirectArtilleryManager.h:134
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
makVrv::DtRecordSettingsBackupInterface * settingsBackup()
Definition: indirectArtilleryManager.h:116
makVrv::DtRecordSettingsBackupInterface * mySettingsBackup
Definition: indirectArtilleryManager.h:164
std::string myName
Definition: indirectArtilleryManager.h:49
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:23

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)