VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
detonationController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 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>
19 
26 class DtSimManager;
27 class DtSimMessage;
29 
38 {
39 
40 public:
41 
44  DtDetonationController(const DtString& name,
45  DtVrfObject* owner,
46  DtSimManager* simManager,
47  DtComponentDescriptor* desc = 0,
48  DtReaderWriterRegistry* parentRegistry = 0);
49 
51  virtual ~DtDetonationController();
52 
56  virtual bool postAddComponentsInit();
57 
60  virtual const char* type() const;
61 
64  virtual bool init();
65 
73  virtual void preFirstTickInit();
74 
76  virtual void tick();
77 
80  virtual bool createTriggerPort();
81  virtual DtBooleanOutputPort * triggerPort() const;
82 
85  virtual bool createArmedPort();
86  virtual DtBooleanOutputPort * armedPort() const;
87 
88  virtual bool createQuantityOutputPort();
89  virtual DtIntegerOutputPort* quantityOutputPort() const;
90 
91  virtual void setDetonationTime(DtTime detTime);
92  virtual DtTime detonationTime() const;
93 
97  virtual void detonate();
98 
101  virtual void beginSensing();
102 
105  virtual bool tripped(const DtRwSensorContactInfo * potentialVictim);
106 
108  virtual bool setMunitionToDetonate( DtSimMunition& munition );
109 
113  static void setDetonationCallback(DtSimMessage* msg, void* usrData);
114 
115  virtual void processSetDetonation(DtSimMessage* msg);
116 
118  static void setArmedCallback(DtSimMessage * msg, void * usr);
119 
120  virtual void processSetArmed(DtSimMessage* msg);
121 
122  static void setRestoreCallback(DtSimMessage * msg, void * usrData);
123 
124  virtual void processSetRestore(DtSimMessage * msg);
125 
127  virtual DtDetonatorFuze fuseStringToEnum(const DtString & fuseString);
128 
130  virtual DtString fuseStringToEnum(DtDetonatorFuze fuse);
131 
135  static DtSimComponent * creator(const DtString& name,
136  DtVrfObject* owner,
137  DtSimManager* simManager,
138  DtComponentDescriptor* desc = 0,
139  DtReaderWriterRegistry* parentRegistry = 0);
140 
141 protected:
142 
144  virtual bool createPorts();
145 
146  virtual bool createTypesToDetectPort();
147 
155  virtual void lookupAndCacheProcessSR();
156 
158  virtual void registerRadioMessageCallbacks();
159 
160 protected:
163 
166 
169  orig);
170 
171 protected:
172 
174 
176 
184 
192 
199 
206 
214 
216 
219  DtDetonatorFuze myCurrentFuze;
221  bool myAmArmed;
222 
224 
231 
233 };

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)