VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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>
16 #include <vrvUtil/DtUnicode.h>
17 #include <vrvCore/DtStateView.h>
18 #include <vrvCore/DtEntityState.h>
20 
21 #include <vrvUtil/signalslib.h>
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtSimObjectEntry;
27  class DtRecordSettingsBackupInterface;
28  class DtSharedSettingsManager;
29 }
30 
31 class DtSimMessage;
32 
33 namespace makVrf
34 {
35  class DtIndirectArtillerySettingsRecord;
36  struct DtVrlinkSimulatedEnvironmentProcess;
37 
39 
43 
45  {
46  public:
47 
49  {
52  std::string myName;
53  };
54 
55  typedef std::map<makVrv::DtElementID, IndirectArtilleryData> IndirectArtilleryMap;
56 
57  public:
60 
62  virtual ~DtIndirectArtilleryManager();
63 
65  static DtIndirectArtilleryManager& instance(makVrv::DtDe& de);
66 
68  static void registerInstance(makVrv::DtDe&, DtIndirectArtilleryManager*);
69 
70  void setAutoSave(bool b);
71  bool autoSave() const;
72 
74  virtual void getRecord(DtIndirectArtillerySettingsRecord& rec) const;
75  virtual void getDefaultData(DtIfIndirectArtilleryData& rec) const;
76 
79  virtual void getSplitRecord(std::vector<DtIndirectArtillerySettingsRecord>& rec,
80  std::vector<std::string>& fileNames) {};
81 
84  virtual void addRecords(DtIndirectArtillerySettingsRecord& recs,
85  DtIndirectArtillerySettingsRecord& combinedRec) {};
86 
87  virtual void setFromRecord(const DtIndirectArtillerySettingsRecord& rec);
88 
90  virtual void emptyList();
91 
94  virtual void load (const std::string&);
95 
96  const IndirectArtilleryMap& indirectArtillery() const
97  {
98  return myIndirectArtillery;
99  }
100 
102  virtual bool hasIndirectArtilleryData(makVrv::DtElementID) const;
103 
105  virtual DtIfIndirectArtilleryData indirectArtilleryData(makVrv::DtElementID id) const;
106 
107  const DtIndirectArtilleryTypesManager& typesManager() const;
109  virtual void loadDefaults(bool fromFactory = false);
110 
112  virtual void saveAsDefaults();
113 
114  const makVrv::DtRecordSettingsBackupInterface* settingsBackup() const
115  {
116  return mySettingsBackup;
117  }
118 
120  {
121  return mySettingsBackup;
122  }
123 
125  void exportSettings(const std::string& fileName);
126 
128  void importSettings(const std::string& fileName);
129 
130  public:
132  boost::signal<void (const DtIndirectArtillerySettingsRecord&)> signal_indirectArtillerySettingsChanged;
133 
134  boost::signal<void (makVrv::DtElementID, const std::string& name, const DtIfIndirectArtilleryData&)> signal_updated;
135  boost::signal<void (makVrv::DtElementID)> signal_removed;
136 
137  protected:
139  virtual void initArtilleryAreas();
140 
142  virtual void addIfArtillery(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
143  virtual void indirectFireObjectAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
144  virtual void indirectFireObjectRemoved(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
145 
148  virtual void indirectArtilleryDataReceived(DtSimMessage*);
149 
151  virtual void slot_onArtilleryUpdated(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
152 
153  protected:
156 
159 
162  };
163 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)