53#include "Configuration.h"
55#include "Identified.h"
57#include "common/Interval.h"
73 static dclspc std::unique_ptr<Sensor>
Make() noexcept;
77 virtual const
char*
TypeName() const noexcept = 0;
A Location specifies a position on a track system by referencing a track and a TrackLocation on it.
Definition Location.h:110
Namespace of all the trax track libraries classes and methods.
Definition Collection.h:17
A jack a plug can get connected with.
Definition Jack.h:83
A Plug of some object can get plugged into a jack of some object, specific to a certain event.
Definition Plug.h:57
A Sensor can get attached to a track and be triggerd when a Location runs over it.
Definition Sensor.h:71
virtual Jack & JackOnTrigger()=0
Gets a Jack that pulses its Plug if the sensor is triggering.
virtual void Trigger(const Event &_event)=0
Triggers this Sensor.
virtual void Attach(TrackBuilder *pTrackBuilder)=0
Attach the pointer to the track to the sensor.
virtual void UnregisterSockets(SocketRegistry &modul)=0
Removes all references to Plugs and Jacks from the module.
virtual void RegisterSockets(SocketRegistry &modul)=0
Registers all the Plugs with the module and supplies the Jacks with plug ids for connecting.
virtual TrackBuilder * TrackAttached() const =0
static dclspc std::unique_ptr< Sensor > Make() noexcept
Makes a Sensor object that triggers on all events.
virtual const char * TypeName() const noexcept=0
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