16 #include "vlpi/disEnums.h"
37 typedef std::map<DtArtPartType, std::list<const DtWeaponComponentInterface*> >
artPartWeaponMap;
107 virtual const char*
type()
const;
119 virtual void updateTargetPriorityListState();
125 static void fireAtTargetTaskCallback(
DtSimMessage* msg,
void* usr);
126 virtual void processFireAtTargetTask(
DtSimMessage* msg);
142 static void fireNowCallback(
DtSimMessage* msg,
void* usr);
176 static void objectAddedCb(
const DtVrfObject*,
void*);
177 virtual void processObjectAdded(
const DtVrfObject*);
185 virtual bool createOutputPorts();
192 virtual bool createPSR();
195 virtual void registerRadioMessageCallbacks();
198 static void setTargetCallback(
DtSimMessage* msg,
void* usr);
212 virtual void selectTargets();
216 virtual bool targetForce(DtForceType force)
const;
231 virtual void updateRegionEvaluators();
241 virtual void setupDetectableForces(DtForceType);
246 static void hostilitiesChangedCallback(DtU8 force,
void* usr);
247 virtual void processHostilitiesChanged(DtU8 force);
251 virtual void clearTargets();
254 virtual bool isSurrenderedLifeform(
const DtVrfObject* entity)
const;
256 virtual bool findFusedTargets(
const std::map<DtUUID, DtRwSensorContactInfo*>& contactList,
269 virtual void findWeaponControlInterfaces();
275 virtual bool permissionToFire()
const;
280 virtual bool canFireAtBasedOnTargetPriorityListRoe(
const DtVrfObject* entity)
const;
283 virtual bool suppressed()
const;
291 virtual bool allowedToFire()
const;
302 virtual int nextPriorityValue();
304 virtual void setNextPriorityValue(
const int val);
311 virtual void addArtPartWeaponToMap(
const DtArtPartType part,
313 virtual void setArticulatedPartWeapons(
334 virtual bool yieldsFiringPrecedenceTo(
336 bool weapon1IsBeingTasked,
344 virtual bool tokenConflict(
352 virtual bool artPartConflict(
355 DtArtPartType* conflictingPart);
375 virtual bool otherWeaponBlocksWeapon(
378 bool* controlExternalTurret);
387 virtual void clearLowerPriorityWeaponTargets(
392 virtual void assembleListOfFiredUponTargets(std::set<DtUUID>& targets);
448 std::map<DtWeaponComponentInterface*, int>
std::map< DtWeaponComponentInterface *, int > myOldInterfaceStatus
A record of the status of each weapon interface (last tick).
Definition: targetSelectionController.h:449
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool postAddComponentsInit()
Called after all components have been created, initialized and added to the component manager...
Definition: simComponent.h:144
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtTargetSelectionControllerPSR * myProcessState
Container for state data associated with this component.
Definition: targetSelectionController.h:414
DtTargetSelectionControllerPSR is a process state repository which holds state variables for the DtTa...
Definition: targetSelectionControllerPSR.h:19
virtual void registerTaskMsgCallbacks()
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: singleTaskControllerComponent.h:20
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Definition: readerWriterRegistry.h:39
virtual const char * type() const =0
Returns a string identifies the class type of component.
virtual bool init()
Calls setRadio()
virtual void taskComplete(bool success=true)
If we are currently tasked, this will cause us to notify the entity that we're done and delete the ta...
Defines a criteria for choosing targets for a single weapon system.
Definition: targetSelectionCriteria.h:27
Functor class which is used in a std::set to rank targets against each other.
Definition: targetRankOperator.h:25
artPartWeaponMap myArticulatedPartWeapons
A map of articulated part numbers to lists of weapons that are attached to the part directly or indir...
Definition: targetSelectionController.h:443
Instances of DtEntityListOutputPort are output ports through which data producers can send a list of ...
Definition: entListIOPort.h:43
File: simMsg.h.
Definition: simMessage.h:35
Description: Readable, Writable int.
Definition: rwInt.h:25
virtual void tick()
This gives the thread of control to the component.
An abstract base class for all evaluators of spatial filters.
Definition: spatialFilterEvaluator.h:30
Instances of DtObjectTypesListOutputPort are output ports through which data producers can send a lis...
Definition: objectTypesListIOPort.h:46
bool myHavePrintedSurrender
For debugging print statements.
Definition: targetSelectionController.h:453
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
virtual bool createPorts()
Called by init.
DtSensorContactInfoListChangeMonitor myContactListChangeMonitor
Definition: targetSelectionController.h:416
bool myHavePrintedNoNewContacts
Definition: targetSelectionController.h:454
std::map< DtArtPartType, std::list< const DtWeaponComponentInterface * > > artPartWeaponMap
Definition: targetSelectionController.h:34
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
const DtTaskControllerComponent & operator=(const DtTaskControllerComponent &orig)
assignment operator
DtRwInt myNextPriorityValue
The next default priority level to use for a weapon.
Definition: targetSelectionController.h:434
DtObjectTypesListOutputPort * myTypesToDetectOutputPort
Port I/O Interface:
Definition: targetSelectionController.h:410
std::set< DtRwSensorContactInfo *, DtTargetRankOperatorWrapper > DtOrderedTargetSet
Definition: targetSelectionController.h:173
Task for firing at a target.
Definition: fireAtTargetTask.h:25
std::list< DtWeaponComponentInterface * > DtWeaponInterfaceList
Definition: targetSelectionController.h:91
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
DtWeaponInterfaceList myWeaponInterfaceList
List of weapon interfaces through which the target selection controller communicates with weapon syst...
Definition: targetSelectionController.h:430
Abstract base class for all psrs that will serve as an interface between a controlling component on t...
Definition: baseWeaponComponentInterface.h:28
bool mySetupDetectableForcesRequired
Flag set to true if a re-run of the setupDetectableForces() is required on the next tick...
Definition: targetSelectionController.h:424
bool myRegisteredAddCallback
Definition: targetSelectionController.h:456
DtTargetSelectionController is a controller that takes the list know object contacts from the entity'...
Definition: targetSelectionController.h:79
Represents the interface between the DtTargetSelectionController and a weapon system.
Definition: weaponComponentInterface.h:21
DtForceType myForce
Force used to put information onto port for hostility matrix.
Definition: targetSelectionController.h:419