A damage actuator that keeps track of "Hit Points" for an entity.
This subclass of DtDamageAdjudicationActuator adds a concept of Hit Points to the damage system, instead of an entity being destroyed by a single detonation. The same probability tables from DtDamageAdjudicationActuator are used to process a detonation, and determine if it hits the entity, however in this class, if the detonation causes damage to the entity, a hit point is removed. The damaged state of the entity changes at particular levels of hit \ points remaining.
The DtMultipleHitDamageActuatorDescriptor that is used with this class specifies the starting number of hit points. When the current hit points reach 0, the entity becomes destroyed. The descriptor also specified the firepower kill points and mobility kill points. When the remaining number of hit points is equal to or below these numbers, these partial kill states are entered.
Uses Descriptor Type: DtMultipleHitDamageActuatorDescriptor
|
| | DtMultipleHitDamageActuator (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| virtual | ~DtMultipleHitDamageActuator () |
| |
| virtual bool | init () |
| |
| virtual bool | createPSR () |
| |
| virtual void | preFirstTickInit () |
| |
| virtual bool | adjudicateDirectDamage (const DtDetonationContext &detonationContext) |
| |
| virtual bool | adjudicateCollateralDamage (const DtDetonationContext &detonationContext) |
| |
| virtual const char * | type () const |
| |
| | DtDamageAdjudicationActuator (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| virtual | ~DtDamageAdjudicationActuator () |
| |
| 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 | 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 DtSimComponent * | creator (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| 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 bool | getProbabilities (const DtDetonationContext &detonationContext, DtPrbValueList &probabilities, bool isDirectDamage=true) |
| |
| virtual bool | isCatastrophicallyKilled () |
| |
| virtual bool | isFirepowerKilled () |
| |
| virtual bool | isMobilityKilled () |
| |
| virtual void | setRestored () |
| |
| virtual void | setHitPoints (int current, int full) |
| |
| 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 | 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) |
| |