VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
indirectFireActuator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 #pragma once
12 #include <vl/hostStructs.h>
13 
14 class DtSimManager;
19 
20 class DtAnalogInputPort;
21 class DtVectorInputPort;
22 class DtBooleanInputPort;
23 
39 {
40 
41 public:
42 
45  DtIndirectFireActuator(const DtString& name,
46  DtVrfObject* owner,
47  DtSimManager* simManager,
48  DtComponentDescriptor* desc = 0,
49  DtReaderWriterRegistry* parentRegistry = 0);
50 
52  virtual ~DtIndirectFireActuator();
53 
56  virtual void preFirstTickInit();
57 
64  virtual void initPendingDetonations();
65 
68  virtual const char* type() const;
69 
77  virtual DtFireInteraction * createFireInteraction();
78 
86  virtual DtDetonationInteraction * createDetonationInteraction(DtTime&
87  detTime);
88 
92  virtual void scheduleDetonation(DtDetonationInteraction * detInter,
93  DtTime detTime);
94 
98  virtual void fireTheWeapon();
99 
100 
104  virtual DtVrfObject* createMissileObject();
105 
111  virtual double determineMuzzleSpeed(double range);
112 
115  virtual double calculateAngleOfFire(double distanceToTarget,
116  DtVector& localFirerPosition, double HeightDifference, double launchSpeed);
117 
122  virtual void addDispersion(DtVector& detLocation,
123  bool addHeightDispersion);
124 
126  static void detonationCallback(DtTimer * timer);
127 
131  static DtSimComponent * creator(const DtString& name,
132  DtVrfObject* owner,
133  DtSimManager* simManager,
134  DtComponentDescriptor* desc = 0,
135  DtReaderWriterRegistry* parentRegistry = 0);
136 
142  virtual DtDetonationInteraction * createDetonationInteraction(
143  const DtDetonationDescriptor& desc, DtTime& detTime);
144 
147  virtual DtDetonationDescriptor* createDetonationDescriptor(
148  DtDetonationInteraction* detInter, DtTime simTime);
149 
151  static void objectAddedCb(DtVrfObject * vrfObject, void * usr);
152 
157  virtual void processObjectAdded(DtVrfObject * vrfObject);
158 
159 protected:
160 
162  virtual bool createPorts();
163 
169  virtual bool createPSR();
170 
171 protected:
172 
175 
178 
181  const DtIndirectFireActuator & orig);
182 
183 
184 protected:
185 
188 
195 
202 
210 
212 
214  DtList myTimerList;
216 
220 };

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)