18 #include <vlpi/disEnums.h>
19 #include <matrix/vlVector.h>
61 virtual bool createWeaponController();
78 virtual void setMyFuzeToUse(DtDetonatorFuze fuzeToUse);
80 virtual DtDetonatorFuze fuzeToUse()
const;
85 virtual void calculateDesiredElevation(
double rangeToTarget);
89 virtual void calculateDesiredAzimuth();
92 double findBodyHeadingToLocalPosition(
DtVector localTargetPosition)
const;
96 virtual void chooseMaxRange(DtReal rangeToTarget);
99 virtual void setCurrentMaxRange(DtReal currentMaxRange);
101 virtual DtReal currentMaxRange()
const;
105 virtual DtReal absoluteMaxRange()
const;
110 virtual bool initializeController(
const DtString& ammoType,
111 int numberOfRounds, DtReal heightAboveTerrain);
114 virtual void setCurrentTargetLocation(
const DtVector& location);
116 virtual const DtVector& currentTargetLocation();
126 static void FFEOnTargetCallback(
DtSimMessage * msg,
void * usr);
128 static void FFEOnEntityCallback(
DtSimMessage * msg,
void * usr);
130 static void FFEOnLocationCallback(
DtSimMessage * msg,
void * usr);
132 static void userTaskCallback(
DtSimMessage * msg,
void * usr);
140 virtual bool processFFEOnTargetTask(
DtSimMessage * msg);
141 virtual bool processFFEOnLocationTask(
DtSimMessage * msg);
142 virtual bool processFFEOnEntityTask(
DtSimMessage * msg);
156 virtual bool haveAmmo(
const DtString & ammoName)
const;
160 virtual const DtString & findDefaultAmmo()
const;
164 virtual void getMunitionFromResourceName(
const DtString & resourceName,
188 virtual void addRangeItems();