VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
weaponInfoInterface.h
Go to the documentation of this file.
1 #pragma once
2 
5 #include "simObjectReference.h"
6 #include "vlutil/vlString.h"
7 #include <string>
8 
10 class DtSimTask;
11 class DtRwProperties;
12 
19 {
20 public:
22  {
23  TargetApplicability_Unspecified = 0,
24  TargetApplicability_NotApplicable = 1,
25  TargetApplicability_Overkill = 2,
26  TargetApplicability_Applicable = 3,
27  TargetApplicability_Ideal = 4
28  };
29 
31  {
32  WeaponStatus_Busy = 1,
33  WeaponStatus_Disabled = 2,
34  WeaponStatus_OutOfAmmo = 4,
35  WeaponStatus_Suppressed = 8,
36  WeaponStatus_Stowed = 16
37  };
38 
39  static std::string targetApplicabilityString(TargetApplicability app);
40 
42 
43  virtual ~DtWeaponInfoInterface() = 0;
44 
45  virtual DtString displayName() const = 0;
46 
50  virtual DtU32 status() const = 0;
51 
53  virtual DtString statusString() const;
54 
57  virtual bool ready() const;
58 
60  virtual bool hasStatus(WeaponStatus testStatus) const;
61 
63  virtual std::list<DtSimTaskMessageType> fireTaskTypes() const;
64 
67  virtual DtSimTask* createFireTask(const DtRwLocationReference& location) const = 0;
68 
71  virtual bool withinTargetRegion(const DtVector& localPosition) const = 0;
72 
74  virtual double maximumRange() const = 0;
75 
77  virtual double minimumRange() const = 0;
78 
80  virtual TargetApplicability targetApplicability(const DtEntityType& type) const = 0;
81 
83  virtual bool targetAmmunition(const DtEntityType& type) const = 0;
84 
86  virtual const std::list<DtEntityType>& desiredAmmunition() const = 0;
87 
92  virtual const std::list<DtArtPartType>& mountPartList() const = 0;
93 
96  virtual DtArtPartType systemTurretNumber() const = 0;
97 
102  virtual bool controlExternalTurret() const = 0;
103 
109  virtual const std::set<DtString>& requiredTokens() const = 0;
110 
113  virtual bool autonomousFire() const = 0;
116  virtual const std::list<DtEntityType>& autonomousTargetTypes() const = 0;
117 
118  virtual const DtRwProperties* weaponProperties() const = 0;
119 
122  virtual int priority() const = 0;
123 };
Holds a position of some form. May be an absolute position, or a reference to another object...
Definition: rwLocationReference.h:25
WeaponStatus
Definition: weaponInfoInterface.h:30
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
TargetApplicability
Definition: weaponInfoInterface.h:21
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
Contains the DtSimObjectReference class declaration.
A list of properties. A DtPropertyInterface object that is a specialized version of DtRwVariableBindi...
Definition: rwProperties.h:122
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

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)