VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 DtString 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 
108  virtual double calculateAngleOfFire(double distanceToTarget,
109  DtVector& localFirerPosition, double HeightDifference, double launchSpeed);
110 
115  virtual void addDispersion(DtVector& detLocation,
116  bool addHeightDispersion);
117 
119  static void detonationCallback(DtTimer * timer);
120 
124  static DtSimComponent * creator(const DtString& name,
125  DtVrfObject* owner,
126  DtSimManager* simManager,
127  DtComponentDescriptor* desc = 0,
128  DtReaderWriterRegistry* parentRegistry = 0);
129 
135  virtual DtDetonationInteraction * createDetonationInteraction(
136  const DtDetonationDescriptor& desc, DtTime& detTime);
137 
140  virtual DtDetonationDescriptor* createDetonationDescriptor(
141  DtDetonationInteraction* detInter, DtTime simTime);
142 
144  static void objectAddedCb(DtVrfObject * vrfObject, void * usr);
145 
150  virtual void processObjectAdded(DtVrfObject * vrfObject);
151 
152 protected:
153 
155  virtual bool createPorts();
156 
162  virtual bool createPSR();
163 
164 protected:
165 
168 
171 
174  const DtIndirectFireActuator & orig);
175 
176 
177 protected:
178 
181 
188 
195 
203 
205 
207  DtList myTimerList;
209 
213 };

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)