VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
laserGuidedLauncherController.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
11 
14 
16 class DtLaserLauncherPSR;
17 class DtReflectedDesignator;
18 class DtVectorOutputPort;
19 class DtSimMessage;
22 
31 {
32 private:
39 
40 public:
41 
45  DtSimManager* simManager, DtComponentDescriptor* compDesc = 0,
46  DtReaderWriterRegistry* parentRegistry = 0);
47 
50 
53  virtual const char* type() const;
54 
57  virtual bool init();
58 
60  virtual void setComponentDescriptor(DtComponentDescriptor *compDesc);
61 
67  virtual bool createPSR();
68 
72  virtual void preFirstTickInit();
73 
75  virtual void tick();
76 
80  static DtSimComponent * creator(const DtString& name,
81  DtVrfObject* owner,
82  DtSimManager* simManager,
83  DtComponentDescriptor* desc = 0,
84  DtReaderWriterRegistry* parentRegistry = 0);
85 
86 protected:
87 
89  virtual void addRangeItems();
90 
91  virtual bool createPorts();
92 
95  virtual bool missileResourceAvailable() const;
96 
98  virtual void consumeMissileResource();
99 
101  virtual bool fireMunition(DtReflectedDesignator* target);
102 
106  virtual DtVrfObject* createMissileObject();
107 
110  virtual void createAndSendFireInteraction(const DtVrfObject* missile,
111  DtReflectedDesignator* targetDesignator,
112  const DtEventId& eventId);
113 
121  virtual DtReflectedDesignator* chooseTarget(bool& targetInFireCone, DtVector& targetLocalPosition);
122 
129  virtual bool targetDesginatorValid(DtReflectedDesignator* target,
130  DtVector& targetLocalPosition);
131 
133  virtual bool targetDesginatorInFireCone(DtReflectedDesignator* target);
134 
137  virtual bool munitionLoaded() const;
138 
141  virtual DtVector launcherGeocentricPosition() const;
142 
145  virtual DtVector launcherLocalPosition() const;
146 
148  virtual bool missileInFlight();
149 
151  virtual int defaultLaserCode() const;
152 
154  virtual bool permissionToFire(const DtVector& localSpotPosition) const;
155 
157  virtual bool canFireAtBasedOnTargetPriorityListRoe(const DtVrfObject*) const;
158 
160 
161  static void setLaserCodeRequestCallback(DtSimMessage* msg, void* usrData);
162  virtual void processSetLaserCodeRequestMessage(DtSimMessage* msg);
164 
167 
168  static void setSyncLaserCodeCallback(DtSimMessage* msg, void* usr);
169  virtual void processSetSyncLaserCode(DtSimMessage* msg);
171 
175  virtual void registerAttributeFunctions();
176 
180  static DtReaderWriter* provideLastMissileName(void* controller);
181  virtual DtReaderWriter* processProvideLastMissileName();
182 
184 
185 protected:
188 
192 
194 
195  DtVectorOutputPort* myTargetLocationOutputPort;
203 
209 
212 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
const DtControllerComponent & operator=(const DtControllerComponent &orig)
assignment operator
const DtLaserGuidedLauncherControllerDescriptor * myDescriptor
Pointer to my descriptor.
Definition: laserGuidedLauncherController.h:187
This repository holds all information that is common to all the forms of missile entities within the ...
Definition: missileStateRepository.h:38
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
virtual const char * type() const =0
This returns a string from compTypes.h, and identifies the type of component.
Definition: readerWriter.h:85
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
virtual bool init()
Calls setRadio()
Instances of DtVectorOutputPort are output ports through which data producers can send a DtVector...
Definition: vectorIOPort.h:52
DtLaserLauncherPSR * myProcessState
Container for state data associated with this component.
Definition: laserGuidedLauncherController.h:191
virtual void setComponentDescriptor(DtComponentDescriptor *componentDescriptor)
The component descriptor specified in the order of battle file or parameter file that was used to cre...
File: simMsg.h.
Definition: simMessage.h:35
virtual void tick()
This gives the thread of control to the component.
*array controller(no time code)*/template< class Instance
//!//!//!//!//!//!//!//!//!//!//!//
virtual bool createPorts()
Called by init.
End User Description: DtControllerComponent is the base class for all controllers components...
Definition: controllerComponent.h:29
File: laserLauncherPSR.h.
Definition: laserLauncherPSR.h:34
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
Parameters for the DtLaserGuidedLauncherController.
Definition: laserGuidedLauncherControllerDescriptor.h:24
virtual void registerAttributeFunctions()
Called to register functions that provide system attribute values.
Definition: simComponent.h:151
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
End User Description: This is a missile launcher controller/actuator combination (does not need to be...
Definition: laserGuidedLauncherController.h:30
DtIntegratedLaserGuidedLauncherDescriptor, descriptor for the DtBallisticGunController component...
Definition: integratedLaserGuidedLauncherDescriptor.h:22
bool myTargetWasFoundLastTick
A state variable to remember that a target was found the tick before the current tick; used to delay ...
Definition: laserGuidedLauncherController.h:208
bool myWasTaskedToFireAtTarget
Will be set to true if permissionToFire was because of a fire at target task.
Definition: laserGuidedLauncherController.h:211

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)