DtDamageAdjudicationActuator is responsible for adjudicating the damage from appropriate detonations.
End User Description: DtDamageAdjudicationActuator provides a simple damage model.
The damage actuator registers callbacks with the DtDetonationManager, so that it is notified of the appropriate detonations. It holds 2 damage tables. One for direct fire damage( Rifles, tank 120mm) where detonation result is an entity impact or entity proximate impact. And one for collateral damage– there was a detonation near the entity where it might take secondary damage from the detonation. This would be things like artillery fire, or damage from standing next to something else thats been hit. An example would be an entity standing very close to another that's been shot with a HE round. This is also the place people could add ricochet effects. During initialization, the damage actuator will run thru each damage table and registers the appropriate callback for the table with the detonation manager. When registering both the maximum range of the weapon and its munition type are registered. When an appropriate detonation occurs (see the DtDetonationManager for more information on what constitutes an appropriate detonation.), the registered callback is called with the appropriate detonation context (contains all relevant information for the detonation).
The actuator's callback uses this information, which includes the ammunition type, range, surface, and angle of incidence of the impact, to look up the damage results in the appropriate damage table, specified for that ammunition type.
If the entity is destroyed, the damage actuator sets its flaming and smoking indicators, and leaves these on for the duration specified in the component descriptor. It also unregisters for further notice of detonations.
Uses Descriptor Type: DtDamageAdjudicationComponentDescriptor
|
| | DtDamageAdjudicationActuator (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| virtual | ~DtDamageAdjudicationActuator () |
| |
| virtual bool | init () |
| |
| virtual bool | createPSR () |
| |
| virtual bool | adjudicateDirectDamage (const DtDetonationContext &detonationContext) |
| |
| virtual bool | adjudicateCollateralDamage (const DtDetonationContext &detonationContext) |
| |
| virtual const char * | type () const |
| |
| virtual void | tick () |
| |
| virtual | ~DtActuatorComponent () |
| |
| virtual DtSimRadio * | radio () |
| |
| virtual bool | tickWhileDestroyed () const |
| |
| | DtSimComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simServices, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| virtual | ~DtSimComponent () |
| |
| virtual void | setParentSystem (DtComponentSystem *system) |
| |
| DtComponentSystem * | parentSystem () const |
| |
| virtual bool | postAddComponentsInit () |
| |
| virtual void | registerAttributeFunctions () |
| |
| virtual void | preFirstTickInit () |
| |
| virtual void | postTick () |
| |
| virtual void | timedTick () |
| |
| virtual void | setMinTickPeriod (double minTickPeriod, double minTickPeriodVariance) |
| |
| virtual void | setupFirstTickTime () |
| |
| virtual void | setEntity (DtLocalObject *entity) |
| |
| virtual DtSimComponent * | nextComponent () |
| |
| virtual DtSimComponent * | prevComponent () |
| |
| virtual void | setListItem (DtListItem *item) |
| |
| virtual DtListItem * | listItem () |
| |
| virtual void | putData (std::string &fp, int indentLevel=0) |
| |
| virtual DtlObjPtr | getData (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) |
| |
| virtual void | addInputPort (DtInputPort *port) |
| |
| virtual void | removeInputPort (DtInputPort *port) |
| |
| virtual DtInputPort * | lookupInputPort (const DtString &portName) |
| |
| virtual DtList | inputPortList () const |
| |
| virtual void | addOutputPort (DtOutputPort *port) |
| |
| virtual void | removeOutputPort (DtOutputPort *port) |
| |
| virtual DtOutputPort * | lookupOutputPort (const DtString &portName) |
| |
| virtual DtList | outputPortList () const |
| |
| virtual void | addInputPortGroup (DtInputPortGroup *group) |
| |
| virtual void | removeInputPortGroup (DtInputPortGroup *group) |
| |
| virtual DtInputPortGroup * | lookupInputPortGroup (const DtString &groupName) |
| |
| virtual DtList | inputPortGroupList () const |
| |
| virtual void | addOutputPortGroup (DtOutputPortGroup *group) |
| |
| virtual void | removeOutputPortGroup (DtOutputPortGroup *group) |
| |
| virtual DtOutputPortGroup * | lookupOutputPortGroup (const DtString &groupName) |
| |
| virtual DtList | outputPortGroupList () const |
| |
| virtual int | priority () const |
| |
| virtual void | setPriority (int priority) |
| |
| double | dT () const |
| |
| virtual void | setDT (double deltaT) |
| |
| virtual void | setComponentDescriptor (DtComponentDescriptor *componentDescriptor) |
| |
virtual const
DtComponentDescriptor * | componentDescriptor () const |
| |
| DtVrfProcessStateRepositoryManager * | psrManager () |
| |
| virtual const DtSymbolString & | componentFullName () const |
| |
| DtPhysicalWorld * | physicalWorld () |
| |
| const DtPhysicalWorld * | physicalWorld () const |
| |
| const DtAttachedTerrain * | terrainAttachedTo () const |
| |
| DtLocalObject * | entity () |
| |
| const DtLocalObject * | entity () const |
| |
| DtSimulationServices * | simulationServices () |
| |
| const DtSimulationServices * | simulationServices () const |
| |
| const Coordinate_System * | coordinateSystem () const |
| |
| virtual void | isClutterChanged () |
| |
| virtual bool | taskVisualizationsActive () const |
| |
| virtual bool | taskVisualizationsEnabled () const |
| |
| virtual void | onRestore () |
| |
| makVrf::DtTaskVisualizationMap & | taskVisualizations () |
| |
| virtual void | enable () |
| |
| virtual void | disable () |
| |
| virtual bool | isEnabled () |
| |
| virtual void | setIsEnabled (bool yesNo) |
| |
| virtual DtOutputStream & | objectConsoleDebug (const DtString &channel="") const |
| |
| virtual DtOutputStream & | objectConsoleVerbose (const DtString &channel="") const |
| |
| virtual DtOutputStream & | objectConsoleInfo (const DtString &channel="") const |
| |
| virtual DtOutputStream & | objectConsoleWarn (const DtString &channel="") const |
| |
| virtual DtOutputStream & | objectConsoleError (const DtString &channel="") const |
| |
| virtual int | notifyLevel () const |
| |
| virtual DtSimResourceManager & | resourceManager () |
| |
virtual const
DtSimResourceManager & | resourceManager () const |
| |
VRF4API_METHOD const
DtSimulationServices * | simManager () const |
| |
| | DtReaderWriter () |
| |
| | DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) |
| |
| | DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) |
| |
| | DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) |
| |
| | DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) |
| |
| | DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL) |
| |
| const DtReaderWriter & | operator= (const DtReaderWriter &orig) |
| |
| bool | operator== (const DtReaderWriter &) const |
| |
| bool | operator!= (const DtReaderWriter &rhs) |
| |
| virtual | ~DtReaderWriter () |
| |
| virtual void | putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) |
| |
| virtual void | postPutSelf () |
| |
| virtual void | prePutSelf () |
| |
| virtual void | getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| |
| virtual void | postGetSelf () |
| |
| virtual void | preGetSelf () |
| |
| virtual void | writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) |
| |
| virtual DtSymbolString | name () const |
| |
| virtual void | addAlias (const DtSymbolString &alias) |
| |
| virtual void | addAlias (const DtString &alias) |
| |
| virtual bool | hasAlias (const DtSymbolString &alias) |
| |
| virtual const aliasContainer & | aliases () const |
| |
| virtual void | setReadonly (bool flag) |
| |
| bool | isReadonly () const |
| |
| virtual void | reset () |
| |
| virtual int | alignment () const |
| |
| virtual bool | variableIsBound () const |
| |
| virtual void | unbindVariable () |
| |
| virtual void | setName (const DtString &) |
| |
| virtual const char * | readerWriterType () const |
| |
| virtual const char * | xmlType () const |
| |
| virtual DtString | prettyPrint () const |
| |
| std::string | debugText () const |
| |
| virtual void | bindVariables (DtVariableBindingsList variableBindings) |
| |
virtual std::list
< DtVariableNameType > | unboundVariables () const |
| |
| bool | invalid () const |
| |
| virtual bool | hasChild (const DtReaderWriter *p) const |
| |
| virtual bool | hasVariableReference () const |
| |
| virtual void | bindLocalVariables (const DtVariableBindingsList &variableBindings) |
| |
| virtual void | recordUpdateTime () const |
| |
| virtual bool | changedSinceLastChecked () |
| |
| virtual bool | peekChangedSinceLastChecked () const |
| |
| virtual void | setValueSpecified (bool specified, bool recurse=false) |
| |
| virtual bool | valueSpecified () const |
| |
| virtual bool | isVariableReference () const |
| |
| virtual void | setIsVariableReference (bool value) |
| |
| virtual void | clearAllVariableReferenceFlags () |
| |
| virtual DtSymbolString | variableName () const |
| |
| virtual void | setVariableName (const DtSymbolString variableName) |
| |
| virtual const DtReaderWriter * | defaultRWValue () const |
| |
| virtual DtReaderWriter * | defaultRWValue () |
| |
| virtual void | setDefaultRWValue (DtReaderWriter *) |
| |
| virtual bool | checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| |
| const DtReaderWriterRegistry & | registry () const |
| |
| DtReaderWriterRegistry & | registry () |
| |
| virtual DtPropertyInterface * | property () |
| |
| virtual const DtPropertyInterface * | property () const |
| |
| virtual DtString | toXml () const |
| |
| virtual DtRwVariableBindings * | generateVariableBindings () const |
| |
| virtual bool | toXml (const DtFilename &) const |
| |
| virtual bool | fromXml (const DtString &) |
| |
| virtual bool | fromXmlFile (const DtFilename &) |
| |
| virtual void | putSelf (DtEnvironmentSP, DtEnvValueSP parent) const |
| |
| virtual void | putData (DtEnvironmentSP, DtEnvValueSP value) const |
| |
| virtual void | putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const |
| |
| virtual void | getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList()) |
| |
| virtual void | getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList()) |
| |
| virtual void | unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings) |
| |
| virtual void | getVariableReference (DtEnvironmentSP, DtEnvValueSP value) |
| |
|
| static bool | processDirectDetonationCallback (const DtDetonationContext &detonationContext, void *usr) |
| |
| static bool | processCollateralDetonationCallback (const DtDetonationContext &detonationContext, void *usr) |
| |
| static void | setDestroyedCallback (DtSimMessage *msg, void *usrData) |
| |
| static void | setRestoredCallback (DtSimMessage *msg, void *usrData) |
| |
| static void | setInvulnerableCallback (DtSimMessage *msg, void *usrData) |
| |
| static void | setFunctionDamageStatusCallback (DtSimMessage *msg, void *usrData) |
| |
| static DtSimComponent * | creator (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| static DtSimComponentFactory * | factory () |
| |
| static void | setFactory (DtSimComponentFactory *factory) |
| |
| static DtSimComponent * | createComponent (const DtString &name, const DtString &type, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentSystem *parentSystem, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| static void | addSimComponentCreatorFcn (const DtString &type, DtSimComponentCreatorFcn fcn) |
| |
static VRF4API_METHOD
DtSimComponent * | MarkThreadSafe (DtSimComponent *comp) |
| |
| static void | putIndent (std::string &fp, int indentLevel) |
| |
static const
DtVariableBindingsList & | nullVariableReference () |
| |
| static void | setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData) |
| |
| static void | setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData) |
| |
| static void | setPutIndent (bool) |
| |
| static bool | putIndent () |
| |
| static const char * | theXmlType () |
| |
| static const DtFilename & | appPath () |
| |
| static void | setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn) |
| |
| static void | createReaderWriterFactory () |
| |
| static void | cleanupFactory () |
| |
| static DtReaderWriterFactory * | factory () |
| |
| static void | setOutputStream (DtOutputStream *stream) |
| |
| static DtOutputStream & | outputStream () |
| |
| static DtReaderWriter * | createFromXmlFile (const DtFilename &, bool createAsProperty=false) |
| |
| static DtReaderWriter * | createFromXml (const DtString &, bool createAsProperty=false) |
| |
| static DtReaderWriter * | createFromEnvironment (DtEnvironmentSP, bool createAsProperty=false) |
| |
| static DtString | getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root) |
| |
|
| virtual void | getDirectFireSurfaceAndAngleOfIncidence (DtDetonationContext &detonationContext) |
| |
| virtual void | getIndirectFireSurfaceAndAngleOfIncidence (DtDetonationContext &detonationContext) |
| |
| virtual DtSymbolString | getSurface (DtBoundingVolumeFace impactSurface) |
| |
| virtual bool | getProbabilities (const DtDetonationContext &detonationContext, DtPrbValueList &probabilities, bool isDirectDamage=true) const |
| |
| virtual bool | isCatastrophicallyKilled (DtPrbValueList &probabilities, DtSymbolString catastrophicKillString) const |
| |
| virtual bool | isFirepowerKilled (DtPrbValueList &probabilities, DtSymbolString firepowerKillString) const |
| |
| virtual bool | isMobilityKilled (DtPrbValueList &probabilities, DtSymbolString mobilityKillString) const |
| |
| virtual bool | isSensorsKilled (DtPrbValueList &probabilities, DtSymbolString sensorsKillString) const |
| |
| virtual DtSymbolString | catastrophicKillString () const |
| |
| virtual DtSymbolString | mobilityKillString () const |
| |
| virtual DtSymbolString | firepowerKillString () const |
| |
| virtual DtSymbolString | sensorsKillString () const |
| |
| virtual bool | protectedFromCollateralDamageByEmbarkation () const |
| |
| virtual void | determineDestroyedStatus () |
| |
| virtual void | setDestroyed () |
| |
| virtual void | setRestored () |
| |
| virtual void | processSetInvulnerable (DtSimMessage *msg) |
| |
| virtual void | processSetFunctionDamageStatus (DtSimMessage *msg) |
| |
| virtual bool | registerForDetonations () |
| |
| virtual bool | unregisterForDetonations () |
| |
| virtual void | setMobilityKilled () |
| |
| virtual void | setFirepowerKilled () |
| |
| virtual void | setSensorsKilled () |
| |
| virtual void | setRadio (DtSimRadio *radio) |
| |
| virtual void | triggerDestructionExplosions () |
| |
| virtual void | updateDestructionExplosions () |
| |
| virtual void | sendDetonation (const DtRwExplosionEntry &explosionEntry) |
| |
| virtual DtVector | positionOnEntity (const DtVector &percentOffset) |
| |
|
| virtual bool | isRegisteredForDetonations () const |
| |
| virtual void | setIsRegisteredForDetonations (bool yesOrNo) |
| |
| | DtActuatorComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simServices, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| | DtActuatorComponent () |
| |
| virtual void | setupTimedTickLogic (double minTickPeriod, double minTickPeriodVariance) |
| |
| virtual double | computeCurrentTime () |
| |
| bool | testInvariant () const |
| |
| virtual bool | createPortGroups () |
| |
| virtual bool | createPorts () |
| |
| DtVrfProcessStateRepository * | createComponentPsr (const DtString &defaultPsrType, const DtString &defaultPsrName, bool useDescriptorParams=true) |
| |
| virtual void | updateTaskVisualizations () |
| |
| virtual void | destroyTaskVisualizations () |
| |
| virtual void | destroyTaskVisualization (const DtString &name) |
| |
virtual
makVrf::DtPointTaskVisualizationPtr | pointTaskVisualization (const DtString &name) |
| |
virtual
makVrf::DtLineTaskVisualizationPtr | lineTaskVisualization (const DtString &name) |
| |
virtual
makVrf::DtAreaTaskVisualizationPtr | areaTaskVisualization (const DtString &name) |
| |
virtual
makVrf::DtTextTaskVisualizationPtr | textTaskVisualization (const DtString &name) |
| |
| double | calculateNextTaskVisTickTime () const |
| |
| DtVrfObjectStateRepository * | localStateRepository () |
| |
| const DtVrfObjectStateRepository * | localStateRepository () const |
| |
| DtPropertyInterface * | cachedNextFrameStateProperty (DtPropertyInterface **prop, const DtString &propName) |
| |
| template<typename ValType > |
| void | setCachedNextFrameStatePropertyValue (DtPropertyInterface **prop, const DtString &propName, ValType value) |
| |
| const DtPropertyInterface * | cachedCurrentFrameStateProperty (const DtPropertyInterface **prop, const DtString &propName) const |
| |
| template<typename ValType > |
| bool | getCachedCurrentFrameStatePropertyValue (const DtPropertyInterface **prop, const DtString &propName, ValType &value) const |
| |
| void | addSimObjectPredicateCallback (DtSimObjectReference, DtVrfObjectPredicateCallbackFunction function, const DtVrfObjectPredicate &predicate, DtTime evaluationPeriod=0, void *userData=0) |
| |
| void | removeSimObjectPredicateCallback (const DtSimObject *, DtVrfObjectPredicateCallbackFunction function, const DtVrfObjectPredicate &predicate, DtTime evaluationPeriod=0, void *userData=0) |
| |
| void | invokeSimObjectPredicateCallbacks () |
| |
| virtual void | clearPredicateCallbacks () |
| |
| virtual void | bindToRwAsVariable (const DtReaderWriter *rw) |
| |