VR-Forces 4.1 Class Documentation
DtIndirectFireManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtIndirectFireManager.h,v $ $Revision: 1.2 $ $State: Exp $
7 ******************************************************************************/
8 
11 
12 #pragma once
13 
14 #include <vrfGuiCore/vrfGuiCore.h>
19 #include <vrvUtil/DtUnicode.h>
20 #include <vrvCore/DtStateView.h>
22 
23 #include <vrvUtil/signalslib.h>
24 
25 namespace makVrv
26 {
27  class DtDe;
28  class DtSimObjectEntry;
29  class DtRecordSettingsBackupInterface;
30  class DtSharedSettingsManager;
31 }
32 
33 class DtSimMessage;
34 
35 namespace makVrf
36 {
37  class DtIndirectFireSettingsRecord;
38  struct DtVrlinkSimulatedEnvironmentProcess;
39 
41 
45 
47  {
48  public:
49 
51  {
54  std::string myName;
55  };
56 
57  typedef std::map<makVrv::DtElementID, IndirectFireData> IndirectFireMap;
58 
59  public:
62 
64  virtual ~DtIndirectFireManager();
65 
67  static DtIndirectFireManager& instance(makVrv::DtDe& de);
68 
70  static void registerInstance(makVrv::DtDe&, DtIndirectFireManager*);
71 
72  void setAutoSave(bool b);
73  bool autoSave() const;
74 
76  virtual void getRecord(DtIndirectFireSettingsRecord& rec) const;
77  virtual void getDefaultData(DtIfIndirectArtilleryData& rec) const;
78 
79  virtual void setFromRecord(const DtIndirectFireSettingsRecord& rec);
80 
82  virtual void emptyList();
83 
86  virtual void load (const std::string&);
87 
88  const IndirectFireMap& indirectArtillery() const
89  {
90  return myIndirectFire;
91  }
92 
94  virtual bool hasIndirectFireData(makVrv::DtElementID) const;
95 
97  virtual DtIfIndirectArtilleryData indirectArtilleryData(makVrv::DtElementID id) const;
98 
99  const DtIndirectArtilleryTypesManager& typesManager() const;
101  virtual void loadDefaults(bool fromFactory = false);
102 
104  virtual void saveAsDefaults();
105 
106  const makVrv::DtRecordSettingsBackupInterface* settingsBackup() const
107  {
108  return mySettingsBackup;
109  }
110 
112  {
113  return mySettingsBackup;
114  }
115 
117  void exportSettings(const std::string& fileName);
118 
120  void importSettings(const std::string& fileName);
121 
122  public:
124  boost::signal<void (const DtIndirectFireSettingsRecord&)> signal_indirectArtillerySettingsChanged;
125 
126  boost::signal<void (makVrv::DtElementID, const std::string& name, const DtIfIndirectArtilleryData&)> signal_updated;
127  boost::signal<void (makVrv::DtElementID)> signal_removed;
128 
129  protected:
131  virtual void initArtilleryAreas();
132 
135  virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& e);
136 
139  virtual void slot_simStateAdded(makVrv::DtSimObjectEntry& e);
140 
142  virtual void addIfArtillery(const makVrv::DtStateView<DtVrlinkSimulatedEnvironmentProcess>*);
143 
146  virtual void waiting();
147 
150  virtual void indirectArtilleryDataReceived(DtSimMessage*);
151 
153  virtual void slot_onArtilleryUpdated(const makVrv::DtStateView<DtVrlinkSimulatedEnvironmentProcess>*);
154 
155  protected:
158 
160  std::map<makVrv::DtElementID, bool> myWaiting;
162 
165  };
166 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)