VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
weaponComponentInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include <vl/hostStructs.h>
16 #include "vrfutil/rwTemplatedMap.h"
17 
19 
22 {
23 public:
24 
26 
27 private:
30 
31 public:
32  //constructor
33  DtWeaponComponentInterface(const DtVrfObject* vrfObject,
34  const DtString& rwName = DtString::nullString(),
35  DtReaderWriterRegistry* parentRegistry = 0);
36 
37  //copy constructor
39  const DtString& rwName = DtString::nullString(),
40  DtReaderWriterRegistry* parentRegistry = 0);
41 
42  //assignment operator
44  const DtWeaponComponentInterface& orig);
45 
46  //destructor
47  virtual ~DtWeaponComponentInterface();
48 
49  //returns a copy of the PSR
51  const DtString& rwName = DtString::nullString(),
52  DtReaderWriterRegistry* parentRegistry = 0) const;
53 
55  virtual DtString type() const;
56 
58 
59  virtual void setTargetSelectionCriteria(const DtTargetSelectionCriteria& tsc);
60  virtual const DtTargetSelectionCriteria& targetSelectionCriteria() const;
62 
65  virtual void updateRegionEvaluator();
70  virtual bool locationWithinRegion(const DtVector& localLocation) const;
71 
73 
74  virtual void setTarget(const DtEntityTargetInformation& target);
75  virtual const DtEntityTargetInformation& target() const;
77 
78  virtual void clearTarget();
79  virtual bool hasTarget() const;
80 
82 
83  virtual void addTargetFiringUpon(const DtUUID& target);
84  virtual void removeTargetFiringUpon(const DtUUID& target);
85  virtual const DtRwTemplatedUUIDList& targetsFiringUpon() const;
87 
96 
97  virtual void addMunitionFired(const DtUUID& munition, const DtUUID& target);
98  virtual void removeMunitionFired(const DtUUID& munition);
99  virtual const MunitionToTargetMap& munitionsFired() const;
101 
103  static DtVrfProcessStateRepository* creator(const DtString& name,
104  DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
105 
106 protected:
109  virtual void setupRegionEvaluator();
110 
111 protected:
114 
117 
122 
127 
129 };
Definition: rwTemplatedList.h:158
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
const DtBaseWeaponComponentInterface & operator=(const DtBaseWeaponComponentInterface &orig)
Definition: readerWriterRegistry.h:39
Definition: entityTargetInformation.h:28
Defines a criteria for choosing targets for a single weapon system.
Definition: targetSelectionCriteria.h:27
DtTargetSelectionCriteria myTargetSelectionCriteria
Target selection data for this weapon.
Definition: weaponComponentInterface.h:113
DtRwTemplatedMapPtr< DtRwUUID, DtRwUUID > MunitionToTargetMap
Definition: weaponComponentInterface.h:25
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
MunitionToTargetMap myMunitions
The current munitions fired, and their targets Used only by missile launchers (as of VRF 4...
Definition: weaponComponentInterface.h:126
An abstract base class for all evaluators of spatial filters.
Definition: spatialFilterEvaluator.h:30
DtSpatialFilterEvaluator * myRegionEvaluator
Definition: weaponComponentInterface.h:128
virtual bool locationWithinRegion(const DtVector &localLocation) const =0
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories.
Definition: vrfProcessStateRepository.h:43
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
virtual void updateRegionEvaluator()=0
This must be called before calling locationWithinRegion() if the host entity has moved at all since t...
DtEntityTargetInformation myTarget
Information about current target specified by the target selection controller.
Definition: weaponComponentInterface.h:116
Abstract base class for all psrs that will serve as an interface between a controlling component on t...
Definition: baseWeaponComponentInterface.h:28
virtual DtString type() const =0
Returns the string type of the repository, as defined in procSRTypes.h.
DtRwTemplatedUUIDList myTargetsFiringUpon
The current targets that have been fired upon.
Definition: weaponComponentInterface.h:121
Represents the interface between the DtTargetSelectionController and a weapon system.
Definition: weaponComponentInterface.h:21

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)