VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
munitionLaunchController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
18 
19 class DtIfPlan;
23 
46 
49 {
50 private:
57 
58 public:
59 
63  DtSimulationServices* simManager, DtComponentDescriptor* compDesc = 0,
64  DtReaderWriterRegistry* parentRegistry = 0);
65 
67  virtual ~DtMunitionLaunchController();
68 
71  virtual const char* type() const;
72 
75  virtual bool init();
76 
78  virtual void setComponentDescriptor(DtComponentDescriptor *compDesc);
79 
85  virtual bool createPSR();
86 
93  virtual void tick();
94 
98  static DtSimComponent * creator(const DtString& name,
99  DtLocalObject* owner,
100  DtSimulationServices* simManager,
101  DtComponentDescriptor* desc = 0,
102  DtReaderWriterRegistry* parentRegistry = 0);
103 
107  virtual DtCruiseMissileLaunchControllerPSR* getPsr();
108  virtual DtCruiseMissileLaunchControllerDescriptor* getDescriptor();
110 
114  virtual void registerAttributeFunctions();
115 
119  static DtReaderWriter* provideMunitionName(void* controller);
120 
124  static bool launchMunition(void* controller, DtReaderWriter* dummy);
125 
129  static bool cancelLaunch(void* controller, DtReaderWriter* dummy);
130 
132 
133 protected:
135  virtual DtReaderWriter* processProvideMunitionName();
136 
141  virtual bool processLaunchMunition(DtReaderWriter* dummy);
142 
146  virtual bool processCancelLaunch();
147 
150  virtual bool munitionResourceAvailable() const;
151 
153  virtual void consumeMunitionResource();
154 
158  virtual DtCreateObjectHandle createMunitionObject(const DtString& eventId, DtVector& launcherGeocPos, DtVector& missileNetInitialGeocVelocity);
159 
168  virtual DtSetWarheadInfo createWarheadInfo(DtVrfLocalObjectCreateInformation& info, const DtString& eventId) const;
169 
173  virtual DtIfPlan createMunitionPlan(const DtUUID& munition);
174 
178  virtual DtUUID getTargetFromTaskMessage(const DtTaskMessage *tm) const;
179 
182  virtual void createAndSendFireInteraction(const DtCreateObjectHandle& munition,
183  const DtString& eventId, const DtVector& launcherGeocPos, const DtVector& missileNetInitialGeocVelocity);
184 
186  virtual void addRangeItems();
187 
188  virtual void clearTask();
189 
190 protected:
193 
197 
200 
202 
205 };
206 
class DtIfPlan:
Definition: ifPlan.h:61
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
class DtCruiseMissileLaunchControllerPSR:
Definition: cruiseMissileLaunchControllerPSR.h:23
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtCruiseMissileLaunchControllerDescriptor; descriptor for the DtCruiseMissileLaunchController compone...
Definition: cruiseMissileLaunchControllerDescriptor.h:26
bool myRangeItemsAdded
Definition: munitionLaunchController.h:201
Handle returned from Create Object Service calls.
Definition: createObjectHandle.h:12
DtRwUUID myTargetName
Temporary.
Definition: munitionLaunchController.h:199
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: singleTaskControllerComponent.h:20
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:49
Definition: readerWriterRegistry.h:39
virtual const char * type() const =0
Returns a string identifies the class type of component. Type values are defined in compTypes...
The DtLocalObjectCreateInformation class is a subset of the information used in the DtIfCreateVrfObje...
Definition: vrfLocalObjectCreateInformation.h:26
virtual bool init()
Calls setRadio()
virtual void clearTask()
If component is currently tasked, calls clearPendingSubtasks(), sets the tasked flag to false...
Description: Readable, Writable uuid string. Use this class in order to convert from object marking t...
Definition: rwUUID.h:428
virtual void setComponentDescriptor(DtComponentDescriptor *componentDescriptor)
The component descriptor specified in the order of battle file or parameter file that was used to cre...
DtMunitionLaunchController models launch of a munition.
Definition: munitionLaunchController.h:48
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:89
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:70
DtPlatformLocalObjectFacade myPlatformLocalObjectFacade
Member to allow for access to platform specific data.
Definition: munitionLaunchController.h:204
const DtTaskControllerComponent & operator=(const DtTaskControllerComponent &orig)
assignment operator
DtCruiseMissileLaunchControllerPSR * myProcessState
Container for state data associated with this component. This state is saved and restored as part of ...
Definition: munitionLaunchController.h:196
virtual void registerAttributeFunctions()
Called to register functions that provide system attribute values. Called by init(). Empty in this class. Overridden in different components to add attribute provider functions.
Definition: simComponent.h:112
DtCruiseMissileLaunchControllerDescriptor * myDescriptor
Pointer to my descriptor.
Definition: munitionLaunchController.h:192
A DtTaskMsg is a DtRadioMsg with a pointer to a task. The type of the taskMsg is just the type of the...
Definition: taskMessage.h:21
File: setWarheadInfo.h.
Definition: setWarheadInfo.h:40
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)