15 #include <vl/detonationInteraction.h>
16 #include <vl/eventId.h>
18 #include <vl/objectId.h>
20 class Dt3dBoundingVolume;
25 class DtReflectedDesignator;
68 virtual bool registerRadioMessageCallbacks();
75 virtual bool createPSR();
82 virtual const char*
type()
const;
96 virtual bool checkAlive();
99 virtual bool checkTrigger();
102 virtual bool checkArmed();
108 virtual bool checkProximityDetonate();
111 virtual bool checkTargetMiss();
114 virtual void checkMissileDetonation();
131 virtual DtVrfObject * detectCollision(
double& distToImpactSqrd,
140 virtual bool preventCollisionsWithMatchingTypes();
153 virtual bool checkEntityForCollision(
DtVrfObject * collidee,
157 double& distToImpactSqrd);
177 virtual bool checkForGroundImpact(
double& distToImpactSqrd,
179 DtDetonationResult& result);
185 virtual void sendDetonation(
DtVrfObject *impactedEntity,
191 virtual void sendDetonation(DtDetonationResult result,
197 virtual void destroyAndRemoveEntity();
201 static void setWarheadInfoCallback(
DtSimMessage* msg,
void* usr);
205 virtual void processWarheadInfoCallback(
DtSimMessage* msg);
209 static void laserDesignatorRemovedCallback(
210 DtReflectedDesignator* designator,
void* usr);
211 virtual void processLaserDesignatorRemoved(
212 DtReflectedDesignator* designator);
217 static void objectAboutToBeRemovedCallback(
DtVrfObject*
object,
void* usr);
218 virtual void processObjectAboutToBeRemoved(
DtVrfObject*
object);