11 #include <matrix/vlVector.h>
14 #include <vl/detonationInteraction.h>
28 #include <vlutil/vlConfig.h>
30 #include <vlutil/vlSmartPointers.h>
31 #include <tbb/recursive_mutex.h>
124 virtual bool reinitialize();
133 virtual bool registerDirectDetonation(
const DtVrfObject& entity,
142 virtual bool registerCollateralDetonation(
const DtVrfObject& entity,
144 DtDamageAdjudicationFunction func);
151 virtual bool registerCollateralDetonationByPower(
const DtVrfObject& entity,
153 DtDamageAdjudicationFunction func);
162 virtual bool unRegisterDirectDetonationTarget(
const DtVrfObject& entity);
163 virtual bool unRegisterCollateralDetonationTarget(
const DtVrfObject& entity);
167 virtual bool unRegisterCollateralDetonationCallback(
const DtVrfObject& entity,
void* callbackObject,
168 DtDamageAdjudicationFunction func);
176 virtual double lookupMunitionInCollateralDetonationMap(
187 virtual bool loadParametersFromFile(
const DtFilename&
filename);
189 virtual bool loadDeformationParametersFromFile(
const DtFilename &
filename);
193 virtual double detonationPower(
const DtSimMunition & munition,
double rangeFromShooter,
194 double rangeFromImpact,
const DtString& powerType)
const;
201 virtual DtDetonationResult detonationResult(
const DtSimMunition& munition,
const DtEntityType& targetEntityType,
const DtVector& localPosition)
const;
211 virtual DtDetonationResult detonationResultMidAir(
const DtSimMunition& munition,
const DtVector& localPosition)
const;
224 virtual void resetParameters();
227 virtual bool parametersLoaded()
const;
230 virtual const DtFilename& parametersFile()
const;
232 virtual const DtFilename& deformationParametersFile()
const;
267 virtual void processCollateralDetonationForEntitiesInRange(
DtDetonationContext& detonationContext);
270 virtual DtDetonationResult defaultDetonationResult()
const;
272 void cleanOutDeadEntities();
282 virtual void detonationEvent(
const DtEvent&);
DtCollateralDetonationTargetMap myCollateralDetonationTargetMap
Definition: detonationManager.h:294
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtFilename myParametersFile
Definition: detonationManager.h:302
DtMunitionDamageMap damageByMunitionMap
Definition: detonationManager.h:79
DtDetonationParams * myParameters
Parameters for this detonation manager.
Definition: detonationManager.h:306
Readable-writable class holding all parameters to configure the DtDetonationManager.
Definition: detonationParams.h:22
DtDamageAdjudicationFunction callbackFcn
Definition: detonationManager.h:68
DtPowerDamageMap damageByPowerMap
Definition: detonationManager.h:80
Definition: detonationManager.h:64
std::list< DtDetonationCallbackInfo > DtDetonationCallbackInfoList
Definition: detonationManager.h:83
Factory for creating DtBaseMunitionDispersalDeterminants.
Definition: baseMunitionDispersalDeterminant.h:50
Definition: surface.h:179
std::map< DtUUID, DtCollateralDetonationTargetInfoPtr > DtCollateralDetonationTargetMap
Definition: detonationManager.h:100
const DtVrfObject * vrfObject
Definition: detonationManager.h:66
Arguments passed by the DtVrfObjectManager::addUUIDChangedCallback callbacks.
Definition: vrfObjectManager.h:160
Definition: detonationManager.h:85
const DtVrfObject * vrfObject
Definition: detonationManager.h:87
void * callbackUserData
Definition: detonationManager.h:69
The DtPhysicalWorld is the primary interface to and manager of all of the "physical" aspects of the s...
Definition: physicalWorld.h:88
Definition: coordSystem.h:54
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
Factory for creating power range determinants.
Definition: powerRangeDeterminant.h:117
DtDirectDetonationTargetMap myDirectDetonationTargetMap
Definition: detonationManager.h:293
bool myQueueEntitiesToBeRemoved
After all the callbacks have been made those who've been destroyed or asked to unregistered need to b...
Definition: detonationManager.h:298
std::list< DtCollateralDetonationTargetInfoPtr > DtCollateralDetonationTargetList
Definition: detonationManager.h:99
void * callbackUserData
Definition: detonationManager.h:78
DtDetonationCallbackInfoList callbacks
Definition: detonationManager.h:89
std::map< DtSimMunition, double > DtMunitionDamageMap
Definition: detonationManager.h:72
DtFilename myDeformationParamsFile
Definition: detonationManager.h:303
Define constants for types of tasks, sets, admin messages, reports, and sim commands (all sent via ra...
The DtDetonationContext contains all the information necessary for processing a Detonation Interactio...
Definition: detonationContext.h:27
DtDetonationPdu DtDetonationInteraction
Definition: DistributedSimulationDriver3A.h:14
DtSimManager & mySimManager
Definition: detonationManager.h:300
std::map< DtUUID, DtDirectDetonationTargetInfoPtr > DtDirectDetonationTargetMap
Definition: detonationManager.h:95
DtDamageAdjudicationFunction callbackFcn
Definition: detonationManager.h:77
DtBoost::shared_ptr< DtCollateralDetonationTargetInfo > DtCollateralDetonationTargetInfoPtr
Definition: detonationManager.h:97
Definition: detonationManager.h:75
DtTerrainDeformationParams * myDeformationParams
Definition: detonationManager.h:308
std::list< DtDirectDetonationTargetInfoPtr > DtDirectDetonationTargetList
Definition: detonationManager.h:94
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtGlobalObjectDesignator globalId
Definition: detonationManager.h:67
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
tbb::recursive_mutex myMutex
Definition: detonationManager.h:310
DtBoost::shared_ptr< DtDirectDetonationTargetInfo > DtDirectDetonationTargetInfoPtr
Definition: detonationManager.h:92
std::map< DtString, double > DtPowerDamageMap
Definition: detonationManager.h:73
DtSimMunition class.
Definition: simMunition.h:34
std::list< DtUUID > myEntitiesQueuedToBeRemovedList
Definition: detonationManager.h:299
DtGlobalObjectDesignator globalId
Definition: detonationManager.h:88
The DtDetonationManager class exists to centralize the processing of detonation interactions.
Definition: detonationManager.h:58