VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
launcherController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 #include <vl/detonationInteraction.h>
16 
17 class DtLauncherControllerDescriptor;
19 class DtVectorOutputPort;
20 
56 {
57 
58 public:
59 
62  DtLauncherController(const DtString& name,
63  DtVrfObject* owner,
64  DtSimManager* simManager,
65  DtComponentDescriptor* desc = 0,
66  DtReaderWriterRegistry* parentRegistry = 0);
67 
69  virtual ~DtLauncherController();
70 
73  virtual bool init();
74 
77  virtual const char* type() const;
78 
83  virtual void preFirstTickInit();
84 
86  virtual void tick();
87 
102  virtual void tickMunitionLoader(const DtVrfObject* target);
103 
106  virtual bool createMissileIdPort();
107  virtual DtObjectIdOutputPort * missileIdPort() const;
108 
109  virtual bool createTargetPointPort();
110  virtual DtVectorOutputPort * targetPointPort() const;
111 
112  virtual bool createTargetEntityIdPort();
113  virtual DtObjectIdOutputPort * targetEntityIdPort() const;
114 
121  virtual void fire();
122 
129  virtual void missileDetonated(DtDetonationInteraction * detInter);
130 
134  static void detonationCallback(DtDetonationInteraction * detInter,
135  void * usr);
136 
145  virtual void disconnectMissileFromLauncher(const DtEntityIdentifier& missId);
146 
147  virtual void disconnectMissileFromLauncher(DtVrfObject *missile);
148 
150  virtual DtVrfObject* mostRecentMissileFired();
151 
153  virtual bool lastMissilePassedTarget(DtVrfObject *lastMissile);
154 
155  virtual double abandonPassedMissileDistance();
156  virtual void setAbandonPassedMissileDistance(const double& distance);
157 
161  virtual void registerAttributeFunctions();
162 
166  static DtReaderWriter* provideLastMissileName(void* controller);
167 
171  static DtReaderWriter* provideMissilePassedTarget(void* controller);
172 
173 
177  static DtSimComponent * creator(const DtString& name,
178  DtVrfObject* owner,
179  DtSimManager* simManager,
180  DtComponentDescriptor* desc = 0,
181  DtReaderWriterRegistry* parentRegistry = 0);
182 
183 protected:
184 
186  virtual bool createPorts();
187 
189  virtual DtReaderWriter* processProvideLastMissileName();
190 
192  virtual DtReaderWriter* processProvideMissilePassedTarget();
193 
196  virtual void removeMissileFromActiveList(const DtEntityIdentifier& removeId);
197 
198 protected:
199 
202 
205 
208  orig);
209 
210 
211 protected:
212 
215 
218 
225 
232 
239 
241 
246 };

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)