VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ballisticGunController.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>
20 
23 class DtIntegerInputPort;
25 class DtVrfBalGunPSR;
26 class DtOutputPortGroup;
27 class DtBooleanInputPort;
30 
46 {
47 
48 public:
49 
53  DtVrfObject* owner,
54  DtSimManager* simManager,
55  DtComponentDescriptor* desc = 0,
56  DtReaderWriterRegistry* parentRegistry = 0);
57 
59  virtual ~DtBallisticGunController();
60 
64  virtual bool postAddComponentsInit();
65 
68  virtual DtString type() const;
69 
71  virtual bool init();
72 
76  virtual void preFirstTickInit();
77 
79  virtual void tick();
80 
83  virtual bool createTriggerPort();
84  virtual DtBooleanOutputPort * triggerPort() const;
85 
86  virtual bool createQuantityOutputPort();
87  virtual DtIntegerOutputPort* quantityOutputPort() const;
88 
89  virtual bool createLoadedPort();
90  virtual DtBooleanOutputPort * loadedPort() const;
91 
92  virtual bool createLosOutputPort();
93  virtual DtIntegerOutputPort * losOutputPort() const;
94 
95  virtual bool createLosInputPort();
96  virtual DtIntegerInputPort * losInputPort() const;
97 
98  virtual bool createWeaponsHoldInputPort();
99 
100  virtual bool createTargetToAcquireOutputPort();
101 
102  virtual void setLoadAmmoTime(DtTime loadAmmoTime);
103  virtual DtTime loadAmmoTime() const;
104 
105  virtual void setUnloadAmmoTime(DtTime unloadAmmoTime);
106  virtual DtTime unloadAmmoTime() const;
107 
111  virtual void fire();
112 
120  virtual bool chooseAmmo(const DtEntityType& targetType,
121  const DtString& targetName, DtSimMunition&
122  munition, DtDetonatorFuze& fuze, int& ammoAvailable);
123 
125  virtual void initProcessSR();
126 
130  static DtSimComponent * creator(const DtString& name,
131  DtVrfObject* owner,
132  DtSimManager* simManager,
133  DtComponentDescriptor* desc = 0,
134  DtReaderWriterRegistry* parentRegistry = 0);
135 
136 protected:
137 
139  virtual bool createPorts();
140 
142  virtual bool createPortGroups();
143 
151  virtual void lookupAndCacheProcessSR();
152 
155  virtual DtIntegerResource * lookupMunitionResource(const DtString &
156  resource) const;
157 
159  void getMunitionResources(std::list<DtString>& resourceList);
160 
162  virtual void updateResourceList();
163 
166  virtual bool weaponsHoldState();
167 
171  static void setResourceCallback(DtSimMessage * msg, void * usrData);
172  virtual void processSetResource(DtSimMessage * msg);
174 
175 protected:
178 
181 
184  orig);
185 
186 protected:
187 
190 
198 
205 
213 
220 
228 
232 
240 
241 
247 
250  DtEntityIdentifier myPreviousTarget;
251 
254  DtDetonatorFuze myCurrentFuze;
255 
258 
265 
268 
273 
276 
280 };

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)