![]() |
VR-Forces 4.0.4 Class Documentation
|
DtHumanLauncherAcquireController stops the lifeform when a target is detected, and turns the entity to face the target. More...

Public Member Functions | |
| DtHumanLauncherAcquireController (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) | |
| (const DtString&,DtVrfObject*,DtSimManager*, | |
| virtual | ~DtHumanLauncherAcquireController () |
| Destructor. | |
| virtual bool | init () |
| Calls setRadio() | |
| virtual DtString | type () const |
| Returns a string identifies the class type of component. | |
| virtual void | selectATarget () |
| selects a target to acquire. | |
| virtual DtVrfObject * | easier (DtVrfObject *entity1, DtVrfObject *entity2) const |
| virtual DtVrfObject * | chooseTarget (const DtEntityTargetList &targetList) const |
| pick up a possible target from the sensor list Calls targetVisible() to check if potential targets are visible. | |
| virtual bool | targetIsAcquirable (const DtVrfObject *targetObj, const DtVector &localEyepoint) const |
| Uses the settings in the descriptor to determine if the specified target object can be aqcuired from the specified eyepoint. | |
| virtual bool | checkSpeedForAcquire (DtTargetAcquireCriteria *crit, const DtVrfObject *target) const |
| Used to determine if the target's speed is too fast for us to track and acquire it. | |
| virtual bool | checkElevationForAcquire (DtTargetAcquireCriteria *crit, const DtVrfObject *target) const |
| Used to determine if the target's elevation relative to ours is too much for us to track and acquire it. | |
| virtual bool | checkElevAngleForAcquire (DtTargetAcquireCriteria *crit, const DtVrfObject *target) const |
| Used to determine if the angle from us to the target's altitude is too much for us to track and acquire it. | |
Static Public Member Functions | |
| static DtSimComponent * | creator (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| (const DtString&,DtVrfObject*,DtSimManager*, | |
Protected Member Functions | |
| DtTargetAcquireCriteria * | findAcquireCriteria (const DtEntityType &entityType) const |
| Given the target's entity type find the target criteria that bests matches it's type. | |
| DtHumanLauncherAcquireController () | |
| default constructor; not implemented | |
| DtHumanLauncherAcquireController (const DtHumanLauncherAcquireController &orig) | |
| copy constructor; not implemented | |
| const DtHumanLauncherAcquireController & | operator= (const DtHumanLauncherAcquireController &orig) |
| assignment operator; not implemented | |
Protected Attributes | |
| const DtIndLifeformLauncherAcquireDescriptor * | myLauncherAcquireDescriptor |
| std::set< DtString > | myActiveTooFastTargets |
| Store the last units missed to produce meaning information to the user in info mode Need to be mutable because the methods are const. | |
| std::set< DtString > | myActiveTooHighTargets |
| std::set< DtString > | myActiveTooSteepAngleTargets |
DtHumanLauncherAcquireController stops the lifeform when a target is detected, and turns the entity to face the target.
The DtHumanLauncherAcquireController is derived from DtHumanAcquireController to allow for special checks on a variety of targets. It does an angular check to see if the individual is not rotate enough to acquire the target, ie a helicopter that is directly above would be beyond the reach of a shoulder launcher. Person would need to reposition to obtain the helo. It does a speed check. A hmmvw moving at 65mph has a very low possibility of being acquired.
Uses Descriptor Type: DtIndLifeformLauncherAcquireDescriptor
| DtHumanLauncherAcquireController::DtHumanLauncherAcquireController | ( | const DtString & | name, |
| DtVrfObject * | owner, | ||
| DtSimManager * | simManager, | ||
| DtComponentDescriptor * | desc = 0, |
||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) |
(const DtString&,DtVrfObject*,DtSimManager*,
| name | Reader writer name of this component. |
| owner | The DtVrfObject that owns this component |
| simManager | The simulation manager (provides access to terrain, message interface, simulation clock). |
| desc | The component descriptor used to initialize this component. |
| parentRegistry | Pointer to the parent reader writer registry (the containing object that reads/writes this object). |
| virtual DtHumanLauncherAcquireController::~DtHumanLauncherAcquireController | ( | ) | [virtual] |
Destructor.
default constructor; not implemented
| DtHumanLauncherAcquireController::DtHumanLauncherAcquireController | ( | const DtHumanLauncherAcquireController & | orig | ) | [protected] |
copy constructor; not implemented
| virtual bool DtHumanLauncherAcquireController::init | ( | ) | [virtual] |
Calls setRadio()
Reimplemented from DtHumanAcquireController.
| virtual DtString DtHumanLauncherAcquireController::type | ( | ) | const [virtual] |
Returns a string identifies the class type of component.
Type values are defined in compTypes.h. DtSimComponent creation functions are registered with the DtSimComponentFactory using the type values as the key.
Reimplemented from DtHumanAcquireController.
| virtual void DtHumanLauncherAcquireController::selectATarget | ( | ) | [virtual] |
selects a target to acquire.
uses functions determine if the possible target is in sector and to select between two o more possible targets.
Reimplemented from DtHumanAcquireController.
| virtual DtVrfObject* DtHumanLauncherAcquireController::easier | ( | DtVrfObject * | entity1, |
| DtVrfObject * | entity2 | ||
| ) | const [virtual] |
Reimplemented from DtHumanAcquireController.
| virtual DtVrfObject* DtHumanLauncherAcquireController::chooseTarget | ( | const DtEntityTargetList & | targetList | ) | const [virtual] |
pick up a possible target from the sensor list Calls targetVisible() to check if potential targets are visible.
Calls targetIsAcquirable to check if the potential targets can be tracked
Reimplemented from DtHumanAcquireController.
| virtual bool DtHumanLauncherAcquireController::targetIsAcquirable | ( | const DtVrfObject * | targetObj, |
| const DtVector & | localEyepoint | ||
| ) | const [virtual] |
Uses the settings in the descriptor to determine if the specified target object can be aqcuired from the specified eyepoint.
Checks angular displacement--ie can't fire at something directly over your head. Checks if target is moving too fast for it to be acquired.
| virtual bool DtHumanLauncherAcquireController::checkSpeedForAcquire | ( | DtTargetAcquireCriteria * | crit, |
| const DtVrfObject * | target | ||
| ) | const [virtual] |
Used to determine if the target's speed is too fast for us to track and acquire it.
The target acquire criteria is specified in the ind lifeform launcher acquire component descriptor.
| virtual bool DtHumanLauncherAcquireController::checkElevationForAcquire | ( | DtTargetAcquireCriteria * | crit, |
| const DtVrfObject * | target | ||
| ) | const [virtual] |
Used to determine if the target's elevation relative to ours is too much for us to track and acquire it.
The target acquire criteria is specified in the ind lifeform launcher acquire component descriptor.
| virtual bool DtHumanLauncherAcquireController::checkElevAngleForAcquire | ( | DtTargetAcquireCriteria * | crit, |
| const DtVrfObject * | target | ||
| ) | const [virtual] |
Used to determine if the angle from us to the target's altitude is too much for us to track and acquire it.
I.e. the target is directly overhead. Can't necessarily rotate a laucher to point directly up.The target acquire criteria is specified in the ind lifeform launcher acquire component descriptor.
| static DtSimComponent* DtHumanLauncherAcquireController::creator | ( | const DtString & | name, |
| DtVrfObject * | owner, | ||
| DtSimManager * | simManager, | ||
| DtComponentDescriptor * | desc = 0, |
||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) | [static] |
(const DtString&,DtVrfObject*,DtSimManager*,
| name | Reader writer name of this component. |
| owner | The DtVrfObject that owns this component |
| simManager | The simulation manager (provides access to terrain, message interface, simulation clock). |
| desc | The component descriptor used to initialize this component. |
| parentRegistry | Pointer to the parent reader writer registry (the containing object that reads/writes this object). |
Reimplemented from DtHumanAcquireController.
| DtTargetAcquireCriteria* DtHumanLauncherAcquireController::findAcquireCriteria | ( | const DtEntityType & | entityType | ) | const [protected] |
Given the target's entity type find the target criteria that bests matches it's type.
| const DtHumanLauncherAcquireController& DtHumanLauncherAcquireController::operator= | ( | const DtHumanLauncherAcquireController & | orig | ) | [protected] |
assignment operator; not implemented
const DtIndLifeformLauncherAcquireDescriptor* DtHumanLauncherAcquireController::myLauncherAcquireDescriptor [protected] |
std::set<DtString> DtHumanLauncherAcquireController::myActiveTooFastTargets [mutable, protected] |
Store the last units missed to produce meaning information to the user in info mode Need to be mutable because the methods are const.
std::set<DtString> DtHumanLauncherAcquireController::myActiveTooHighTargets [mutable, protected] |
std::set<DtString> DtHumanLauncherAcquireController::myActiveTooSteepAngleTargets [mutable, protected] |