VR-Forces 4.8 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 class DtVectorOutputPort;
24 
40 {
41 
42 public:
43 
46  DtIndirectFireActuator(const DtString& name,
47  DtVrfObject* owner,
48  DtSimManager* simManager,
49  DtComponentDescriptor* desc = 0,
50  DtReaderWriterRegistry* parentRegistry = 0);
51 
53  virtual ~DtIndirectFireActuator();
54 
56  virtual bool postAddComponentsInit();
57 
60  virtual void preFirstTickInit();
61 
68  virtual void initPendingDetonations();
69 
72  virtual const char* type() const;
73 
81  virtual DtFireInteraction * createFireInteraction();
82 
90  virtual DtDetonationInteraction * createDetonationInteraction(DtTime&
91  detTime);
92 
96  virtual void scheduleDetonation(DtDetonationInteraction * detInter,
97  DtTime detTime);
98 
102  virtual void fireTheWeapon();
103 
104 
108  virtual DtVrfObject* createMissileObject();
109 
115  virtual double determineMuzzleSpeed(double range);
116 
121  virtual void addDispersion(DtVector& detLocation,
122  bool addHeightDispersion);
123 
126  virtual double calculateRangeFactorOnError(const double rangeToTarget);
127 
129  virtual double skillLevelModifier();
130 
132  static void detonationCallback(DtTimer * timer);
133 
137  static DtSimComponent * creator(const DtString& name,
138  DtVrfObject* owner,
139  DtSimManager* simManager,
140  DtComponentDescriptor* desc = 0,
141  DtReaderWriterRegistry* parentRegistry = 0);
142 
148  virtual DtDetonationInteraction * createDetonationInteraction(
149  const DtDetonationDescriptor& desc, DtTime& detTime);
150 
153  virtual DtDetonationDescriptor* createDetonationDescriptor(
154  DtDetonationInteraction* detInter, DtTime simTime);
155 
157  static void objectAddedCb(const DtVrfObject* vrfObject, void * usr);
158 
163  virtual void processObjectAdded(const DtVrfObject* vrfObject);
164 
166  virtual bool taskVisualizationsActive() const;
167 
168 protected:
169 
171  virtual bool createPorts();
172 
178  virtual bool createPSR();
179 
181  virtual void updateTaskVisualizations();
182 
183 protected:
184 
187 
190 
193  const DtIndirectFireActuator & orig);
194 
195 
196 protected:
197 
200 
207 
214 
221 
229 
236 
238 
240  DtList myTimerList;
242 
246 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool createPSR()
Creates #myProcessState data member, and adds it to our process state repository manager.
DtVrfIndirectFirePSR * myIndirectFireProcessState
We&#39;ve overrode createPSR() to create derived kind of DtVrfWeaponPSR.
Definition: indirectFireActuator.h:245
DtVectorOutputPort * myMuzzleOffsetPort
Output Port Name: muzzle-offset-port Output Port Description: The entity&#39;s muzzle offset location...
Definition: indirectFireActuator.h:235
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
Instances of DtTimer are used to maintain the information needed to represent some kind of scheduled ...
Definition: timer.h:45
virtual bool taskVisualizationsActive() const
Returns true if task visualizations are currently active for this component.
DtBooleanInputPort * myAlignedDirectlyPort
Input Port Name: aligned-directly-port Input Port Description: Whether this gun can align directly wi...
Definition: indirectFireActuator.h:228
DtAnalogInputPort * myAngleOfFirePort
Input Port Name: angle-of-fire-port Input Port Description: Elevation angle of fire in radians...
Definition: indirectFireActuator.h:220
const DtWeaponActuator & operator=(const DtWeaponActuator &orig)
assignment operator; not implemented
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
DtReal myMuzzleSpeed
Definition: indirectFireActuator.h:239
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Definition: readerWriterRegistry.h:39
Contains class declarations for DtVectorInputPort, DtVectorOutputPort, and DtVectorPortData.
Definition: vectorIOPort.h:27
virtual void updateTaskVisualizations()
Called to update task visualizations after every tick.
Definition: simComponent.h:485
Instances of DtVectorOutputPort are output ports through which data producers can send a DtVector...
Definition: vectorIOPort.h:52
class DtDetonationDescriptor:
Definition: detonationDescriptor.h:33
DtWeaponActuator is a simple model of a ballistic gun.
Definition: weaponActuator.h:50
virtual bool postAddComponentsInit()
Overridden to initialize the value on myArtPartTypePort.
virtual void fireTheWeapon()
Calls createFireInteraction() and sends the resulting DtFireInteraction through the exercise connecti...
DtIndirectFireActuator is an actuator that provides a simple model of a cannon.
Definition: indirectFireActuator.h:39
Contains class declarations for DtBooleanInputPort, DtBooleanOutputPort, and DtBooleanPortData.
Definition: boolIOPort.h:25
static DtSimComponent * creator(const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
virtual bool createPorts()
Creates the input ports and adds them to the component.
DtDetonationPdu DtDetonationInteraction
Definition: DistributedSimulationDriver3A.h:14
DtIndirectFireActuatorDescriptor * myIndirectFireActuatorDescriptor
Definition: indirectFireActuator.h:241
DtList myTimerList
Definition: indirectFireActuator.h:240
DtVectorInputPort * myTargetPointPort
Input Port Name: target-point-port Input Port Description: Local position to fire at...
Definition: indirectFireActuator.h:206
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
virtual DtFireInteraction * createFireInteraction()
Creates and fills out a DtFireInteraction. Returns a DtFireInteraction.
virtual const char * type() const
Returns a string identifies the class type of component.
DtAnalogInputPort * myMuzzleSpeedPort
Input Port Name: muzzle-speed-port Input Port Description: Muzzle speed in meters/second.
Definition: indirectFireActuator.h:213
Contains class declarations for DtAnalogInputPort, DtAnalogOutputPort, and DtAnalogPortData.
Definition: analogIOPort.h:25
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
File: indirectFirePSR.h.
Definition: vrfIndirectFirePSR.h:28
DtIndirectFireActuatorDescriptor; descriptor for the DtIndirectFireActuator component.
Definition: indirectFireActuatorDescriptor.h:20

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)