7 #include "boost/smart_ptr.hpp"
21 typedef std::function<DtSimTask*(const DtRwLocationReference&)>
FireTaskFcn;
30 virtual void setDisplayName(
const DtString& name);
32 virtual DtU32
status()
const override;
34 virtual void setStatus(DtU32 s);
40 virtual std::list<DtSimTaskMessageType>
fireTaskTypes()
const override;
53 virtual void setMaximumRangeFcn(
RangeFcn fcn);
56 virtual void setMinimumRangeFcn(
RangeFcn fcn);
68 virtual void setDesiredAmmunition(
const std::list<DtEntityType>& list);
74 virtual const std::list<DtArtPartType>&
mountPartList()
const override;
75 virtual void createMountPartList(
const DtArtPartType partType);
80 virtual void setSystemTurretNumber(
const DtArtPartType num);
87 virtual void setControlExternalTurret(
bool c);
95 virtual void setRequiredTokens(
const std::set<DtString>& tokens);
98 virtual void setAutonomousFire(
bool v);
100 virtual void setAutonomousTargetTypes(
const std::list<DtEntityType>&
targetTypes);
107 virtual int priority()
const override;
108 virtual void setPriority(
int p);
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
std::function< bool(const DtVector &)> TargetRegionFcn
Definition: genericWeaponInfo.h:22
A reader-writer type which contains a single dynamically typed subclass of DtRwSpatialFilter. The container itself is also a subclass of DtRwSpatialFilter, so it can hold instances of itself.
Definition: rwSpatialFilterContainer.h:22
DtString myWeaponName
Definition: genericWeaponInfo.h:111
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
virtual DtString displayName() const =0
const std::map< int, QString > targetTypes
Definition: targetConfigurationDialog.h:40
virtual const std::list< DtEntityType > & desiredAmmunition() const =0
List of the ammunition that is desired to be used by this weapon.
virtual bool autonomousFire() const =0
Indicates whether on not this weapon should be used by VR-Forces autonomous fire controllers.
std::function< DtWeaponInfoInterface::TargetApplicability(const DtEntityType &)> TargetApplicabilityFcn
Definition: genericWeaponInfo.h:20
DtU32 myStatus
Definition: genericWeaponInfo.h:112
Holds a position of some form. May be an absolute position, or a reference to another object...
Definition: rwLocationReference.h:25
virtual bool withinTargetRegion(const DtVector &localPosition) const =0
int myPriority
Definition: genericWeaponInfo.h:122
std::function< bool(const DtEntityType &)> TargetAmmunitionFcn
Definition: genericWeaponInfo.h:24
std::list< DtEntityType > myAutonomousTargetTypes
Definition: genericWeaponInfo.h:120
virtual DtSimTask * createFireTask(const DtRwLocationReference &location) const =0
RangeFcn myMinimumRangeFcn
Definition: genericWeaponInfo.h:127
bool myAutonomousFire
Definition: genericWeaponInfo.h:119
virtual TargetApplicability targetApplicability(const DtEntityType &type) const =0
virtual const std::list< DtArtPartType > & mountPartList() const =0
A list of articulated parts to which this weapon is attached. That is, its parent part...
WeaponStatus
Definition: weaponInfoInterface.h:30
std::function< DtSimTask *(const DtRwLocationReference &)> FireTaskFcn
Definition: genericWeaponInfo.h:21
TargetApplicabilityFcn myTargetApplicabilityFcn
Definition: genericWeaponInfo.h:124
Definition: coordSystem.h:54
FireTaskFcn myFireTaskFcn
Definition: genericWeaponInfo.h:125
virtual DtArtPartType systemTurretNumber() const =0
The articulated part corresponding to the turret in this gun system (as opposed to an ancestor part)...
An implementation of DtWeaponInforInterface that allows for flexible registering of functions from ot...
Definition: genericWeaponInfo.h:17
std::list< DtArtPartType > myMountPartList
Definition: genericWeaponInfo.h:115
virtual int priority() const =0
Priority of this weapon. Used to compare to other weapons on this platform if there are conflicts...
An abstract base class for all evaluators of spatial filters. The evaluation of spatial filters is sp...
Definition: spatialFilterEvaluator.h:31
DtArtPartType myTurretNumber
Definition: genericWeaponInfo.h:116
virtual const std::list< DtEntityType > & autonomousTargetTypes() const =0
Returns the entity types which this weapon would be used against for autonomous fire.
TargetApplicability
Definition: weaponInfoInterface.h:21
std::list< DtEntityType > myDesiredAmmunition
Definition: genericWeaponInfo.h:114
std::set< DtString > myRequiredTokens
Definition: genericWeaponInfo.h:118
virtual const std::set< DtString > & requiredTokens() const =0
List of resources required to operate the weapon; these are tokens that are reserved when the weapon ...
virtual std::list< DtSimTaskMessageType > fireTaskTypes() const
Task types that can be used to fire this weapon.
std::list< DtSimTaskMessageType > myFireTaskTypes
Definition: genericWeaponInfo.h:113
virtual const DtRwProperties * weaponProperties() const =0
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
TargetAmmunitionFcn myTargetAmmunitionFcn
Definition: genericWeaponInfo.h:129
virtual bool controlExternalTurret() const =0
Indicates that this weapon is controlling parent parts outside of the system to turn the gun...
virtual double maximumRange() const =0
RangeFcn myMaximumRangeFcn
Definition: genericWeaponInfo.h:128
bool myControlExternalTurret
Definition: genericWeaponInfo.h:117
const DtRwProperties * myProperties
Definition: genericWeaponInfo.h:121
A list of properties. A DtPropertyInterface object that is a specialized version of DtRwVariableBindi...
Definition: rwProperties.h:122
std::function< double()> RangeFcn
Definition: genericWeaponInfo.h:23
virtual bool targetAmmunition(const DtEntityType &type) const =0
Abstract interface class for Weapon Information. This is used by DtWeaponInterfaceList. All code that is accessing information about weapons will have access to this base class only, and only be able to read the data. Weapon controllers will have derived versions that implement key functions for their specific weapon.
Definition: weaponInfoInterface.h:18
virtual double minimumRange() const =0
TargetRegionFcn myTargetRegionFcn
Definition: genericWeaponInfo.h:126
virtual DtU32 status() const =0
Weapon status bitfield. 0 indicates the weapon is in the "ready" state. For any non-0 value...
A locally simulated VRF object.
Definition: localObject.h:98