VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
bombController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include <matrix/vlVector.h>
13 #include <boost/signals2.hpp>
14 
15 class DtString;
17 class DtVectorOutputPort;
18 class DtBombPSR;
19 
20 namespace makVrf
21 {
22  class DtLaserDesignatorStateComponent;
23  class DtFrameStateInterface;
24 }
25 
38 {
39 public:
40 
43  DtBombController(const DtString& name,
44  DtLocalObject* owner,
45  DtSimulationServices* simManager,
46  DtComponentDescriptor* desc = 0,
47  DtReaderWriterRegistry* parentRegistry = 0);
48 
50  virtual ~DtBombController() override;
51 
57  virtual bool init() override;
58 
70  virtual void tick() override;
71 
74  virtual const char* type() const override;
75 
79  static DtSimComponent * creator(const DtString& name, DtLocalObject* owner,
80  DtSimulationServices* simManager, DtComponentDescriptor* desc = 0,
81  DtReaderWriterRegistry* parentRegistry = 0);
82 
83 protected:
85  virtual bool createPorts() override;
86 
94  virtual void lookupAndCacheProcessSR();
95 
98  virtual bool postAddComponentsInit() override;
99 
104 
105  static void targetPointTaskCallback(DtSimMessage* msg, void* usrData);
106  virtual void processTargetPointTaskMessage(DtSimMessage* msg);
108 
113 
114  static void setLaserCodeCallback(DtSimMessage* msg, void* usrData);
115  virtual void processSetLaserCodeMessage(DtSimMessage* msg);
117 
121 
122  virtual void processLaserDesignatorRemoved(const makVrf::DtFrameStateInterface*);
124 
125 private:
128 
131  orig);
132 
134  const DtBombController & operator=(const
135  DtBombController & orig);
136 
137 
138 protected:
142 
146  boost::signals2::scoped_connection myLaserDesignatorRemovedConnection;
147 
150 
158 
160 
161 };
162 
DtVectorOutputPort * myTargetLocationPort
Output Port Name: target-location Output Port Description: current location of the target in local co...
Definition: bombController.h:157
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool postAddComponentsInit() override
Calls enableTaskTypes()
virtual const char * type() const override=0
Returns a string identifies the class type of component. Type values are defined in compTypes...
class DtBombPSR:
Definition: bombPSR.h:34
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: singleTaskControllerComponent.h:22
Provides the guidance model for a smart bomb.
Definition: bombController.h:37
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
const makVrf::DtLaserDesignatorStateComponent * myLaserDesignator
Cached by tick, only applicable when in DtTrackLaserSpot mode. Will be set to 0 by processLaserDesign...
Definition: bombController.h:145
virtual bool init() override
Calls setRadio()
DtBombPSR * myProcessState
Stores the current state of the controller which is saved out with the order of battle file...
Definition: bombController.h:141
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: laserDesignatorStateComponent.h:61
Instances of DtVectorOutputPort are output ports through which data producers can send a DtVector...
Definition: vectorIOPort.h:52
File: simMsg.h.
Definition: simMessage.h:35
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
boost::signals2::scoped_connection myLaserDesignatorRemovedConnection
Definition: bombController.h:146
virtual bool createPorts()
Called by init. Derived classes should override this method to create all their input/output ports an...
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:89
const DtTaskControllerComponent & operator=(const DtTaskControllerComponent &orig)
assignment operator
This is a simple base class that will be used to return a pointer to current or next frame state...
Definition: stateComponent.h:294
A locally simulated VRF object.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)