VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
humanAcquireController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
14 #include <vl/fireInteraction.h>
15 
17 class DtVrfBalGunPSR;
18 class DtSimMessage;
19 class DtAnalogOutputPort;
20 class DtVectorOutputPort;
23 
28 {
29 
30 public:
31 
35  DtVrfObject* owner,
36  DtSimManager* simManager,
37  DtComponentDescriptor* desc = 0,
38  DtReaderWriterRegistry* parentRegistry = 0);
39 
41  virtual ~DtHumanAcquireController();
42 
43  virtual bool init();
44 
45  virtual bool createTargetListPort();
46 
47  virtual bool createAimPointPort();
48 
50  virtual bool createAllowTurnPort();
51 
52  virtual bool createAimAtAnglePort();
53 
56  virtual const char* type() const;
57 
58  virtual void tick();
59 
62  virtual bool haveTarget() const;
63 
69  virtual double findHeadingToCurrentTarget() const;
70 
73  virtual void selectATarget();
74 
75  virtual bool inSector(const DtVrfObject* entity) const;
76 
77  virtual const DtVrfObject* easier(const DtVrfObject* entity1, const DtVrfObject* entity2) const;
78 
81  virtual void setAcquire();
82 
86  virtual void getWeaponProcessSR();
87 
90  virtual const DtVrfObject* chooseTarget(const DtEntityTargetList& targetList) const;
91 
95  virtual bool targetVisible(const DtVrfObject* targetObj,
96  const DtVector& localEyepoint) const;
97 
101  static DtSimComponent * creator(const DtString& name,
102  DtVrfObject* owner,
103  DtSimManager* simManager,
104  DtComponentDescriptor* desc = 0,
105  DtReaderWriterRegistry* parentRegistry = 0);
106 
107 protected:
108 
110  virtual bool createPorts();
111 
113  virtual bool createPortGroups();
114 
117  virtual bool postAddComponentsInit();
118 
119 protected:
120 
123 
126  DtHumanAcquireController & orig);
127 
130  const DtHumanAcquireController & orig);
131 
132 
133 protected:
134 
137 
144 
148 
156 
164 
172 
174 
176  double myTimeAiming;
180 };
181 
#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:146
double myTimeAiming
Definition: humanAcquireController.h:176
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtOutputPortGroup * myAimWeaponControlPortGroup
Output Port Group Name: aim-weapon-control Output Port Group Description: .
Definition: humanAcquireController.h:147
const DtControllerComponent & operator=(const DtControllerComponent &orig)
assignment operator
DtBooleanOutputPort * myForbidTurnPort
Output Port Name: forbid-turn Output Port Description: Indicates whether the entity can be turned to ...
Definition: humanAcquireController.h:163
Instances of DtBooleanOutputPort are output ports through which data producers can send boolean data...
Definition: boolIOPort.h:45
DtBooleanOutputPort * myAimAtAnglePort
Output Port Name: aim-at-angle Output Port Description: Indicates whether the aim controller should a...
Definition: humanAcquireController.h:171
virtual const char * type() const =0
This returns a string from compTypes.h, and identifies the type of component.
DtVectorOutputPort * myAimPointPort
Output Port Name: aim-point Output Port Description: Only active when acquiring a target...
Definition: humanAcquireController.h:155
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
DtIndividualLifeformAcquireDescriptor; descriptor for the DtIndividualLifeformAcquireComponent compon...
Definition: individualLifeformAcquireDescriptor.h:24
Definition: readerWriterRegistry.h:39
DtOutputPortGroup is a data port group of a data provider.
Definition: outputPortGroup.h:30
virtual bool init()
Calls setRadio()
Acquire controller for the human movement model.
Definition: humanAcquireController.h:27
Instances of DtAnalogOutputPort are input ports through which data producers can send real numbers...
Definition: analogIOPort.h:45
Instances of DtVectorOutputPort are output ports through which data producers can send a DtVector...
Definition: vectorIOPort.h:52
const DtIndividualLifeformAcquireDescriptor * myAcquireDescriptor
Definition: humanAcquireController.h:179
Contains class declarations for DtEntityListInputPort, DtEntityListOutputPort, and DtEntityListPortDa...
Definition: entListIOPort.h:27
File: simMsg.h.
Definition: simMessage.h:35
virtual void tick()
This gives the thread of control to the component.
double myTimeRequiredToAim
Definition: humanAcquireController.h:177
DtEntityListInputPort * myTargetListPort
Input Port Name: target-list Input Port Description: Input Port Range: Input Port Default Value: I...
Definition: humanAcquireController.h:143
bool myAcquiring
Definition: humanAcquireController.h:175
virtual bool createPorts()
Called by init.
End User Description: DtControllerComponent is the base class for all controllers components...
Definition: controllerComponent.h:29
virtual bool createPortGroups()
Called by init.
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
Instances of DtIntegerOutputPort are output ports through which data producers can send integer value...
Definition: integerIOPort.h:45
Class DtVrfBalGunPSR: Used to hold checkpointable state for the processes associated with ballistic g...
Definition: vrfBalGunPSR.h:38
DtVrfBalGunPSR * myWeaponProcessState
Definition: humanAcquireController.h:178

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)