VR-Forces 4.0.4 Class Documentation
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
DtHumanLauncherAcquireController Class Reference

DtHumanLauncherAcquireController stops the lifeform when a target is detected, and turns the entity to face the target. More...

Inheritance diagram for DtHumanLauncherAcquireController:
Inheritance graph
[legend]

List of all members.

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 DtVrfObjecteasier (DtVrfObject *entity1, DtVrfObject *entity2) const
virtual DtVrfObjectchooseTarget (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 DtSimComponentcreator (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 (const DtString&,DtVrfObject*,DtSimManager*,

Protected Member Functions

DtTargetAcquireCriteriafindAcquireCriteria (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< DtStringmyActiveTooFastTargets
 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< DtStringmyActiveTooHighTargets
std::set< DtStringmyActiveTooSteepAngleTargets

Detailed Description

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


Constructor & Destructor Documentation

(const DtString&,DtVrfObject*,DtSimManager*,

Parameters:
nameReader writer name of this component.
ownerThe DtVrfObject that owns this component
simManagerThe simulation manager (provides access to terrain, message interface, simulation clock).
descThe component descriptor used to initialize this component.
parentRegistryPointer to the parent reader writer registry (the containing object that reads/writes this object).
(const DtString&,DtVrfObject*,DtSimManager*, DtComponentDescriptor*,DtReaderWriterRegistry* parentRegistry)

Destructor.

default constructor; not implemented

copy constructor; not implemented


Member Function Documentation

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.

Returns:
DtHumanLauncherAcquireControllerType

Reimplemented from DtHumanAcquireController.

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.

Returns:
True if the target can be aquired
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.

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.

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*,

Parameters:
nameReader writer name of this component.
ownerThe DtVrfObject that owns this component
simManagerThe simulation manager (provides access to terrain, message interface, simulation clock).
descThe component descriptor used to initialize this component.
parentRegistryPointer to the parent reader writer registry (the containing object that reads/writes this object).
(const DtString&,DtVrfObject*,DtSimManager*, DtComponentDescriptor*,DtReaderWriterRegistry* parentRegistry)

Returns:
New instance of this class.

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


Member Data Documentation

Store the last units missed to produce meaning information to the user in info mode Need to be mutable because the methods are const.


The documentation for this class was generated from the following file:

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)