VR-Forces 4.2 Class Documentation
balGunCtlr.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 
14 #include "vrfobjcore/cntrlCmpnt.h"
15 #include "vrfutil/vlClock.h"
16 #include <vl/hostStructs.h>
17 #include "vrfutil/simMunition.h"
18 #include <vlpi/disEnums.h>
19 
22 class DtIntegerInputPort;
24 class DtVrfBalGunPSR;
25 class DtOutputPortGroup;
26 class DtBooleanInputPort;
29 
45 {
46 
47 public:
48 
52  DtVrfObject* owner,
53  DtSimManager* simManager,
54  DtComponentDescriptor* desc = 0,
55  DtReaderWriterRegistry* parentRegistry = 0);
56 
58  virtual ~DtBallisticGunController();
59 
63  virtual bool postAddComponentsInit();
64 
67  virtual DtString type() const;
68 
70  virtual bool init();
71 
75  virtual void preFirstTickInit();
76 
78  virtual void tick();
79 
82  virtual bool createTriggerPort();
83  virtual DtBooleanOutputPort * triggerPort() const;
84 
85  virtual bool createQuantityOutputPort();
86  virtual DtIntegerOutputPort* quantityOutputPort() const;
87 
88  virtual bool createLoadedPort();
89  virtual DtBooleanOutputPort * loadedPort() const;
90 
91  virtual bool createLosOutputPort();
92  virtual DtIntegerOutputPort * losOutputPort() const;
93 
94  virtual bool createLosInputPort();
95  virtual DtIntegerInputPort * losInputPort() const;
96 
97  virtual bool createWeaponsHoldInputPort();
98 
99  virtual bool createTargetToAcquireOutputPort();
100 
101  virtual void setLoadAmmoTime(DtTime loadAmmoTime);
102  virtual DtTime loadAmmoTime() const;
103 
104  virtual void setUnloadAmmoTime(DtTime unloadAmmoTime);
105  virtual DtTime unloadAmmoTime() const;
106 
110  virtual void fire();
111 
119  virtual bool chooseAmmo(const DtEntityType& targetType,
120  const DtString& targetName, DtSimMunition&
121  munition, DtDetonatorFuze& fuze, int& ammoAvailable);
122 
124  virtual void initProcessSR();
125 
129  static DtSimComponent * creator(const DtString& name,
130  DtVrfObject* owner,
131  DtSimManager* simManager,
132  DtComponentDescriptor* desc = 0,
133  DtReaderWriterRegistry* parentRegistry = 0);
134 
135 protected:
136 
138  virtual bool createPorts();
139 
141  virtual bool createPortGroups();
142 
150  virtual void lookupAndCacheProcessSR();
151 
154  virtual bool weaponsHoldState();
155 
156 
157 protected:
160 
163 
166  orig);
167 
168 protected:
169 
172 
180 
187 
195 
202 
210 
214 
222 
223 
229 
232  DtEntityIdentifier myPreviousTarget;
233 
236  DtDetonatorFuze myCurrentFuze;
237 
240 
247 
250 
255 
258 
262 };

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)