11 #include <matrix/vlVector.h>
14 #include <vl/detonationInteraction.h>
27 #include <vlutil/vlConfig.h>
29 #include <vlutil/vlSmartPointers.h>
121 virtual bool reinitialize();
130 virtual bool registerDirectDetonation(
DtVrfObject& entity,
139 virtual bool registerCollateralDetonation(
DtVrfObject& entity,
141 DtDamageAdjudicationFunction func);
148 virtual bool registerCollateralDetonationByPower(
DtVrfObject& entity,
150 DtDamageAdjudicationFunction func);
159 virtual bool unRegisterDirectDetonationTarget(
DtVrfObject& entity);
160 virtual bool unRegisterCollateralDetonationTarget(
DtVrfObject& entity);
164 virtual bool unRegisterCollateralDetonationCallback(
DtVrfObject& entity,
void* callbackObject,
165 DtDamageAdjudicationFunction func);
173 virtual double lookupMunitionInCollateralDetonationMap(
184 virtual bool loadParametersFromFile(
const DtFilename&
filename);
188 virtual double detonationPower(
const DtSimMunition & munition,
double rangeFromShooter,
189 double rangeFromImpact,
const DtString& powerType)
const;
196 virtual DtDetonationResult detonationResult(
const DtSimMunition& munition,
const DtEntityType& targetEntityType,
const DtVector& localPosition)
const;
206 virtual DtDetonationResult detonationResultMidAir(
const DtSimMunition& munition,
const DtVector& localPosition)
const;
216 virtual void resetParameters();
219 virtual bool parametersLoaded()
const;
222 virtual const DtFilename& parametersFile()
const;
268 virtual void processCollateralDetonationForEntitiesInRange(
DtDetonationContext& detonationContext);
271 virtual DtDetonationResult defaultDetonationResult()
const;
277 bool testInvariant()
const;
279 void cleanOutDeadEntities();