VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
baseWeaponController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
15 #include "vrfutil/simClock.h"
16 #include <vl/hostStructs.h>
17 #include "vrfutil/simMunition.h"
18 #include <vlpi/disEnums.h>
19 
22 class DtInputPortGroup;
23 class DtIntegerInputPort;
24 
26 class DtVrfWeaponPSR;
27 
34 {
35 
36 public:
37 
40  DtBaseWeaponController(const DtString& name,
41  DtVrfObject* owner,
42  DtSimManager* simManager,
43  DtComponentDescriptor* desc = 0,
44  DtReaderWriterRegistry* parentRegistry = 0);
45 
47  virtual ~DtBaseWeaponController();
48 
50  virtual bool init();
51 
55  virtual bool postAddComponentsInit();
56 
58  virtual bool createMountingController();
59 
62  virtual const char* type() const;
63 
65  virtual void fire();
66 
69  virtual bool waitingForFire();
70 
72  virtual void setWaitingForFire(bool waiting);
73 
75  virtual bool createWeaponOutputPortGroup();
76 
78  virtual DtOutputPortGroup* weaponOutputPortGroup();
79 
81  virtual bool createWeaponInputPortGroup();
82 
84  virtual DtInputPortGroup* weaponInputPortGroup();
85 
88  virtual bool createTriggerPort();
89  virtual DtBooleanOutputPort * triggerPort() const;
90 
91  virtual bool createLoadAmmunitionPort();
92  virtual DtAmmunitionOutputPort * loadAmmunitionPort() const;
93 
94  virtual bool createLoadedPort();
95  virtual DtBooleanOutputPort * loadedPort() const;
96 
97  virtual bool createArtPartTypePort();
98  virtual DtIntegerInputPort * artPartTypePort() const;
99 
107  virtual void setPreloadWeapon(bool doPreload);
108  virtual bool preloadWeapon() const;
109 
110  virtual void setLoadAmmoTime(DtTime loadAmmoTime);
111  virtual DtTime loadAmmoTime() const;
112 
113  virtual void setUnloadAmmoTime(DtTime unloadAmmoTime);
114  virtual DtTime unloadAmmoTime() const;
115 
119  virtual void setMaxVehicleSpeedToFire(DtReal maxVehicleSpeedToFire);
120  virtual DtReal maxVehicleSpeedToFire() const;
121 
122  virtual bool weaponCorrectlyOriented() const;
123 
130  virtual void setMaxAngleOffBoresight(DtReal maxAngleOffBoresight);
131  virtual DtReal maxAngleOffBoresight() const;
132 
133 
135  virtual void initProcessSR();
136 
138  virtual DtBaseMountingController * mountingController();
139 
141  virtual void setCurrentMunitionName(const DtString & currentMunitionName);
143  virtual const DtString & currentMunitionName() const;
144 
146  virtual DtVrfWeaponPSR* weaponProcessState();
148  virtual const DtVrfWeaponPSR* weaponProcessState() const;
149 
151  virtual void tick();
152 
156  static DtSimComponent * creator(const DtString& name,
157  DtVrfObject* owner,
158  DtSimManager* simManager,
159  DtComponentDescriptor* desc = 0,
160  DtReaderWriterRegistry* parentRegistry = 0);
161 
162 protected:
163 
166  virtual bool createPortGroups();
167 
169  virtual bool createPorts();
170 
178  virtual void lookupAndCacheProcessSR();
179 
180 protected:
181 
184 
187 
190  orig);
191 
192 
193 protected:
194 
197 
201 
208 
215 
222 
226 
233 
235 
242 
247 
251 
253 
257 
264 };

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)