27#include <vrfobjcore/controllerComponent.h>
30class DtBooleanOutputPort;
31class DtVectorOutputPort;
32class DtStringOutputPort;
77 DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
89 virtual const char*
type()
const override;
123 static DtSimComponent*
creator(
const DtString& name, DtLocalObject* owner, DtSimulationServices* simManager,
124 DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
Abstract base class for all VREngage messages.
Definition vreMessage.h:50
DtVectorOutputPort * myTargetLocationOutputPort
Output port for the laser target location.
Definition vrePlayerLaserController.h:231
virtual makVre::DtVreMessageResult handleStartLasing(makVre::DtVreMessage *msg)
Handles messages to start lasing.
virtual void processSetRestore(DtSimMessage *msg)
Processes entity restoration messages.
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.
static void setLaserCodeRequestCallback(DtSimMessage *msg, void *usrData)
Callback for laser code change requests.
virtual ~DtVrePlayerLaserController() override
Virtual destructor.
DtLasingPSR * myProcessState
Pointer to the lasing process state repository.
Definition vrePlayerLaserController.h:207
virtual void preFirstTickInit() override
Performs initialization before the first simulation tick.
virtual makVre::DtVreMessageResult handleStopLasing(makVre::DtVreMessage *msg)
Handles messages to stop lasing.
bool myLasingTargetLastTick
Flag indicating whether the player was lasing a target in the previous tick.
Definition vrePlayerLaserController.h:219
virtual const char * type() const override
Gets the type identifier for this component.
virtual bool init() override
Initializes the player laser controller.
const DtVrePlayerLaserController & operator=(const DtVrePlayerLaserController &orig)
Assignment operator (not implemented)
DtBooleanOutputPort * myLaserOnOutputPort
Output port for the laser on/off state.
Definition vrePlayerLaserController.h:225
virtual void tick() override
Updates the controller state each simulation frame.
DtVrePlayerLaserController(const DtVrePlayerLaserController &orig)
Copy constructor (not implemented)
static void setRestoreCallback(DtSimMessage *msg, void *usrData)
Callback for entity restoration events.
void getProcessSR()
Retrieves the process state repository.
virtual void processSetLaserCodeRequestMessage(DtSimMessage *msg)
Processes laser code change requests.
DtVrePlayerLaserController()
Default constructor (not implemented)
bool myPlayerIsLasing
Flag indicating whether the player is currently lasing.
Definition vrePlayerLaserController.h:213
virtual makVre::DtVreMessageResult handleUpdateLasingState(makVre::DtVreMessage *msg)
Handles messages to update the lasing state.
virtual bool createPorts() override
Creates input and output ports for the component.
DtStringOutputPort * myTargetObjectOutputPort
Output port for the laser target object.
Definition vrePlayerLaserController.h:237
DtVrePlayerLaserController(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Constructor.
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 DtVrePlayerLaserControllerType[]
Type identifier for the VRE player laser controller component.
Definition vrePlayerLaserController.h:37
DtVreMessageResult
Enumeration of possible message handling results.
Definition vreMessage.h:33
Defines the base class for all VREngage messages.
Base template class for VR-Engage simulation components.