77 virtual const char*
type()
const override;
82 virtual bool init()
override;
94 virtual void tick()
override;
97 virtual void fire()
override;
123 virtual const DtVector chooseLocationTarget();
129 virtual void tickMunitionLoader(
const DtSimObject* target);
151 virtual bool acquireTarget(
const DtSimObject* target);
155 virtual bool acquireLocationTarget(
const DtVector locTarget);
162 virtual void maneuverRequiredToAcquireTarget(DtReal requiredHeading,
163 DtReal requiredPitch,
164 DtReal requiredMaxSpeed);
167 bool outOfAmmo()
const;
173 virtual bool loadedAmmoValidForTarget(
const DtSimObject* target)
const;
191 virtual bool chooseAmmo(
const DtEntityType& entityType,
193 bool setCurrentMunition =
true);
200 virtual bool acceptSensorTargettingInput();
205 virtual bool inSector(
const DtSimObject* entity)
const;
209 virtual void findBodyHeadingElevationToTarget(
const DtSimObject* entity,
210 DtReal &bodyHeadingOut,
211 DtReal &bodyElevationOut)
const;
228 virtual void enable()
override;
230 virtual void disable()
override;
238 virtual void addRangeItems();
242 virtual bool positionWithinTargetRegion(
const DtVector& localPosition);
244 virtual bool targetAmmunition(
const DtEntityType& type);
245 virtual void setupRegionEvaluator();
247 virtual void updateRegionEvaluator();
249 virtual double maximumRange();
250 virtual double minimumRange();
277 virtual bool isFireMissileLauncherTasked()
const;
280 bool hasTarget()
const;
289 virtual const DtVector locationTarget()
const;
291 void setRoundsFiredUponTarget(
const int& roundsFired);
292 const int roundsFiredUponTarget()
const;
293 const int totalRoundsToFireUponTarget()
const;
294 void setIsExplicitlyTasked(
const bool& explicitlyTasked);
295 const bool isExplicitlyTasked()
const;
296 void setWeaponStatus(
const int weaponStatus);
297 const int weaponStatus()
const;
334 double myTaskGiveUpTime = -1.0;
std::map< DtString, DtSimMunition > myUsableMunitions
Definition: weaponController.h:328
UUID is a unique ID wrapper class.
Definition: uuid.h:59
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtMountingController; models rotation of a launcher.
Definition: mountingController.h:23
virtual void disable() override
Overridden to allow tasks controllers that can be disabled to call task complete. ...
DtBaseWeaponController is a controller that creates the ports needed to choose ammo for...
Definition: baseWeaponController.h:34
Task for firing the missile launcher at a target.
Definition: fireMissileLauncherTask.h:25
DtWeaponController is a controller that extends the DtBaseWeaponController with the ability to accept...
Definition: weaponController.h:59
std::shared_ptr< DtSpatialFilterEvaluator > myRegionEvaluator
Definition: weaponController.h:332
virtual const char * type() const override
Returns a string identifies the class type of component. Type values are defined in compTypes...
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
LocationType
Definition: rwLocationReference.h:28
This file contains the class declaration for the.
DtMountingController * myMountingController
Definition: weaponController.h:322
const DtBaseWeaponController & operator=(const DtBaseWeaponController &orig)
assignment operator; not implemented
virtual bool createPorts() override
Overridden to create input & output ports.
An implementation of DtWeaponInforInterface that allows for flexible registering of functions from ot...
Definition: genericWeaponInfo.h:17
File: simMsg.h.
Definition: simMessage.h:35
An abstract base class for all evaluators of spatial filters. The evaluation of spatial filters is sp...
Definition: spatialFilterEvaluator.h:31
DtWeaponComponentInterface * myWeaponComponentInterface
Definition: weaponController.h:325
virtual void fire()
fires the weapon
virtual void preFirstTickInit() override
This function can be overridden to initialize a component before it is ticked for the first time...
DtWeaponStatus
The status items below are used as bit fields. To set a state, OR the enumerated value into the weapo...
Definition: baseWeaponComponentInterface.h:35
virtual bool createMountingController()
Creates myBaseMountingController.
DtUUID myCurrentTarget
Definition: weaponController.h:306
TargetApplicability
Definition: weaponInfoInterface.h:21
DtTime myLastRegionEvaluatorUpdateTime
Definition: weaponController.h:333
virtual void tick() override
Sets the current dT on the base mounting controller and ticks it.
DtGenericWeaponInfo * myWeaponInfo
Definition: weaponController.h:326
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=nullptr, DtReaderWriterRegistry *parentRegistry=nullptr)
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:89
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:80
virtual void enable() override
Overridden to call registerTaskMsgCallbacks().
const DtWeaponControllerDescriptor * myWeaponCtlrDesc
Definition: weaponController.h:323
double myMaxMunitionEffectiveRange
Definition: weaponController.h:330
virtual bool init() override
Overridden to initialize values obtained from the descriptor.
DtSimMunition class.
Definition: simMunition.h:31
DtBooleanInputPort * myWeaponsHoldPort
Input Port Name: weapons-hold Input Port Description: When true, all firing of missiles is disabled...
Definition: weaponController.h:317
Represents the interface between the DtTargetSelectionController and a weapon system.
Definition: weaponComponentInterface.h:20
A locally simulated VRF object.
Definition: localObject.h:98
DtWeaponControllerDescriptor; descriptor for the DtWeaponController component.
Definition: weaponControllerDescriptor.h:26