28#include "trax/Sensor.h"
29#include "trax/ObjectID.h"
30#include "source/Plug_Imp.h"
32#include "common/Interval.h"
35# pragma warning(disable: 4250)
47 Sensor_Imp(
const Sensor_Imp& sensor );
48 Sensor_Imp( Sensor_Imp&& ) =
default;
49 ~Sensor_Imp() =
default;
51 Sensor_Imp& operator=(
const Sensor_Imp& sensor ) =
delete;
52 Sensor_Imp& operator=( Sensor_Imp&& ) =
delete;
54 const char*
TypeName() const noexcept override;
57 return ObjectID_Imp<Sensor>::Reference( name );
60 void Reference(
const std::string& name,
const std::string& reference )
override{
61 return ObjectID_Imp<Sensor>::Reference( name, reference );
65 return ObjectID_Imp<Sensor>::ID();
68 void ID(
IDType id )
noexcept override{
69 return ObjectID_Imp<Sensor>::ID(
id );
86 const
Jack& _GetJack(
int idx ) const override;
90 Jack_Imp m_JackOnTrigger{
"JackOnTrigger" };
void RegisterSockets(SocketRegistry &module) override
Registers all the Plugs with the module and supplies the Jacks with plug ids for connecting.
IDType ID() const noexcept override
Definition Sensor_Imp.h:64
int CountJacks() const noexcept override
void Trigger(const Event &_event) override
Triggers this Sensor.
const std::string & Reference(const std::string &name) const override
Gets a reference that was set for this object by name.
Definition Sensor_Imp.h:56
TrackBuilder * TrackAttached() const noexcept override
Jack & JackOnTrigger() noexcept override
Gets a Jack that pulses its Plug if the sensor is triggering.
void UnregisterSockets(SocketRegistry &module) override
Removes all references to Plugs and Jacks from the module.
const char * TypeName() const noexcept override
void Attach(TrackBuilder *pTrackBuilder) noexcept override
Attach the pointer to the track to the sensor.
Namespace of all the trax track libraries classes and methods.
Definition Collection.h:17
Type used for IDs in the trax library.
Definition IDType.h:43
A jack a plug can get connected with.
Definition Jack.h:83
Interface for a registry that reconnects Plugs and Jacks according to their IDs.
Definition SocketRegistry.h:40
Interface for making and shaping tracks.
Definition Track.h:831