22#include <vrfobjcore/humanLocalObjectFacade.h>
24class DtAnalogInputPort;
29class DtDetonationEvent;
61 DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
74 virtual bool init()
override;
81 virtual const char*
type()
const override;
90 virtual void tick()
override;
103 static DtSimComponent*
creator(
const DtString& name, DtLocalObject* owner, DtSimulationServices* simManager,
104 DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
170 const DtVector& shooterPosition,
const DtTaitBryan shooterOrienation,
DtFireResult& fireResult);
180 const DtVector& firingPosition,
const DtTaitBryan firingOrientation);
192 const DtTaitBryan firingOrientation,
const DtFireResult& fireResult, DtReal& detTime);
229 virtual DtTaitBryan
recoilEffect(DtVector worldShooterPosition, DtTaitBryan worldShooterOrientation);
Extends the DtBallisticGun class with joystick control capabilities.
const DtHumanGunJoyActuator & operator=(const DtHumanGunJoyActuator &orig)
Assignment operator (not implemented)
DtHumanGunJoyActuator(const DtHumanGunJoyActuator &orig)
Copy constructor (not implemented)
DtTaitBryan myTriggerWorldOrientation
World orientation for weapon firing.
Definition humanGunJoyActuator.h:293
DtVector myTriggerWorldPosition
World position for weapon firing.
Definition humanGunJoyActuator.h:287
DtVreHumanGunActuatorDescriptor * myHumanGunDescriptor
Pointer to the human gun actuator descriptor.
Definition humanGunJoyActuator.h:254
virtual void tick() override
Updates the component state each simulation frame.
DtHumanGunJoyActuator()
Default constructor (not implemented)
virtual bool init() override
Initializes the component.
virtual void depleteResource(int amount=1)
Reduces ammunition count after firing.
virtual DtTaitBryan recoilEffect(DtVector worldShooterPosition, DtTaitBryan worldShooterOrientation)
Calculates weapon recoil effects.
virtual makVre::DtVreMessageResult handleFireInput(makVre::DtVreMessage *msg)
Processes fire input messages.
DtAnalogInputPort * myAimAzimuthInputPort
Input port for controlling weapon azimuth aim.
Definition humanGunJoyActuator.h:263
DtRwInt * myFirepowerHealth
Pointer to the firepower health state value.
Definition humanGunJoyActuator.h:270
DtHumanGunJoyActuator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Constructor.
virtual bool createPSR() override
Creates the process state repository for this component.
DtVreMunitionLoader * myVreMunitionLoader
Pointer to the munition loader component.
Definition humanGunJoyActuator.h:310
DtHumanLocalObjectFacade myHumanLocalObjectFacade
Facade for human local object access.
Definition humanGunJoyActuator.h:298
virtual makVrfEvents::DtDetonationEvent * createDetonationInteraction(const DtVector &firingPosition, const DtTaitBryan firingOrientation, const DtFireResult &fireResult, DtReal &detTime)
Creates a detonation event to send to the simulation.
virtual bool aimGunElevation()
Aims the gun in elevation.
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.
bool myPlayerControlled
Flag indicating if this entity is currently player-controlled.
Definition humanGunJoyActuator.h:304
virtual const char * type() const override
Gets the type identifier for this component.
virtual bool createPorts() override
Creates input and output ports for this component.
virtual void getFireResult(const DtVector &shooterPosition, const DtTaitBryan shooterOrienation, DtFireResult &fireResult)
Calculates the result of firing the weapon.
virtual makVrfEvents::DtFireEvent * createFireInteraction(const DtVector &firingPosition, const DtTaitBryan firingOrientation)
Creates a fire event to send to the simulation.
virtual ~DtHumanGunJoyActuator() override
Virtual destructor.
DtEntityType myTriggerMunition
Type of munition selected for firing.
Definition humanGunJoyActuator.h:281
virtual makVre::DtVreMessageResult fire()
Initiates the weapon firing sequence.
int myBurstRoundsRemaining
Number of rounds remaining in current burst.
Definition humanGunJoyActuator.h:275
virtual bool allowWeaponFiring()
Checks if the weapon is allowed to fire.
virtual void setRestored()
Re-initializes pointers after a restore operation.
virtual bool aimGun() override
Aims the gun based on input port values.
Human gun actuator descriptor for VREngage.
Definition vreHumanGunActuatorDescriptor.h:33
Abstract base class for all VREngage messages.
Definition vreMessage.h:50
Extended munition loader with VREngage-specific functionality.
Definition vreMunitionLoader.h:30
DtVreSimComponent(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Definition vreSimComponent.h:54
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 DtHumanGunJoyActuatorType[]
Type identifier for the human gun joystick actuator component.
Definition humanGunJoyActuator.h:38
DtVreMessageResult
Enumeration of possible message handling results.
Definition vreMessage.h:33
Definition vrfRemoteControlConnector.h:87
Structure to store fire event results.
Definition humanGunJoyActuator.h:151
DtDetonationResult result
Result of the detonation calculation.
Definition humanGunJoyActuator.h:153
double rangeToTarget
Distance to the target in meters.
Definition humanGunJoyActuator.h:156
DtSimObjectReference targetEntity
Reference to the target entity, if one was hit.
Definition humanGunJoyActuator.h:159
Defines the base class for all VREngage messages.
Base template class for VR-Engage simulation components.