17#include <vrfobjcore/controllerComponent.h>
18#include <vrfmodel/joystickControllerInterface.h>
21class DtSimulationServices;
22class DtJoyDeviceControllerDescriptor;
24class DtHumanStateRepository;
25class DtBooleanOutputPort;
26class DtIntegerOutputPort;
27class DtAnalogOutputPort;
28class DtVectorOutputPort;
29class DtConstrainedAnalogOutputPort;
46 public DtJoystickControllerInterface
58 DtComponentDescriptor* desc, DtReaderWriterRegistry* parentRegistry = 0);
70 virtual const char*
type()
const override;
97 static DtSimComponent*
creator(
const DtString& name, DtLocalObject* owner, DtSimulationServices* simManager,
98 DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
129 const DtString& functionGroup,
const DtString& function,
double value,
bool repeat)
override;
bool myAiming
Flag indicating if the entity is currently aiming.
Definition humanJoystickCombatController.h:228
virtual void calcAndSetPortValues(const DtString &functionGroup, const DtString &function, double value, bool repeat) override
Processes joystick input and updates output ports.
DtIntegerOutputPort * myQuantityOutputPort
Output port for ammunition quantity.
Definition humanJoystickCombatController.h:193
DtOutputPortGroup * myAimWeaponOutputPortGroup
Output port group for aiming weapon systems.
Definition humanJoystickCombatController.h:158
double myCurrentAimAzimuth
Current weapon aim azimuth.
Definition humanJoystickCombatController.h:278
DtAnalogOutputPort * myAimElevationOutputPort
Output port for elevation aim angle.
Definition humanJoystickCombatController.h:178
double myMousePitch
Current mouse-controlled pitch contribution.
Definition humanJoystickCombatController.h:248
DtBooleanOutputPort * myActiveJoystickPort
Output port for primary joystick active state.
Definition humanJoystickCombatController.h:208
DtBooleanOutputPort * myLoadedPort
Output port for loaded state.
Definition humanJoystickCombatController.h:198
DtHumanJoystickCombatController()
Default constructor (not implemented)
DtHumanJoystickCombatController & operator=(const DtHumanJoystickCombatController &orig)
Assignment operator (not implemented)
double myPitch
Current pitch (elevation) angle.
Definition humanJoystickCombatController.h:243
virtual bool createPortGroups() override
Creates port groups for this component.
int myCurrentWeaponState
Current state of the weapon.
Definition humanJoystickCombatController.h:268
bool myTrigger
Flag indicating if the trigger is currently activated.
Definition humanJoystickCombatController.h:233
double myYawingRate
Rate of change for yaw (azimuth) control.
Definition humanJoystickCombatController.h:253
DtBooleanOutputPort * myAllowAzimuthAimingPort
Output port for enabling azimuth aiming.
Definition humanJoystickCombatController.h:168
DtOutputPortGroup * myBalGunControlPortGroup
Output port group for ballistic gun control.
Definition humanJoystickCombatController.h:183
DtIntegerOutputPort * myLosPort
Output port for line-of-sight state.
Definition humanJoystickCombatController.h:203
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Factory method to create a new instance of this component.
virtual const char * type() const override
Gets the type identifier for this component.
double myPitchingRate
Rate of change for pitch (elevation) control.
Definition humanJoystickCombatController.h:238
DtConstrainedAnalogOutputPort * myElevationPort
Output port for elevation control.
Definition humanJoystickCombatController.h:223
DtBooleanOutputPort * myAimAtAnglePort
Output port for enabling aiming at specific angles.
Definition humanJoystickCombatController.h:163
DtAnalogOutputPort * myAimAzimuthOutputPort
Output port for azimuth aim angle.
Definition humanJoystickCombatController.h:173
double myYaw
Current yaw (azimuth) angle.
Definition humanJoystickCombatController.h:258
DtHumanJoystickCombatController(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc, DtReaderWriterRegistry *parentRegistry=0)
Constructor.
virtual bool createPorts() override
Creates input and output ports for this component.
DtBooleanOutputPort * myTriggerPort
Output port for weapon trigger state.
Definition humanJoystickCombatController.h:188
virtual void tick() override
Updates the controller state each simulation frame.
virtual void joystickDisconnected() override
Handles joystick disconnection event.
virtual void joystickConnected() override
Handles joystick connection event.
virtual ~DtHumanJoystickCombatController() override
Virtual destructor.
double myCurrentAimElevation
Current weapon aim elevation.
Definition humanJoystickCombatController.h:273
double myMouseYaw
Current mouse-controlled yaw contribution.
Definition humanJoystickCombatController.h:263
DtHumanStateRepository * myHumanStateRepository
Pointer to the human state repository.
Definition humanJoystickCombatController.h:218
DtBooleanOutputPort * mySecondActiveJoystickPort
Output port for secondary joystick active state.
Definition humanJoystickCombatController.h:213
DtHumanJoystickCombatController(const DtHumanJoystickCombatController &orig)
Copy constructor (not implemented)
Defines export macros for the vreVrfmodel library.
#define VREVRFMODEL_DLL
Definition export.h:22
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
const char DtHumanJoystickCombatControllerType[]
Type identifier for the human joystick combat controller component.
Definition humanJoystickCombatController.h:35