![]() |
Trax3 3.1.0
trax track library
|
A Signal is positioned along a track and is submitted to a Train if it runs over it. More...
#include <C:/Trend/Development/Trax3/Code/trax/Signal.h>

Public Types | |
| enum class | Status { none = -1 , stop = 0 , clear = 1 , slow , velocity0 = stop , velocity1 = clear , velocity2 = slow , velocity3 , velocity4 , velocity5 , velocity6 , velocity7 , velocity8 , velocity9 , velocity10 , velocity11 , velocity12 , velocityMax = velocity12 , caution , doors_open , doors_close , uncouple , lights_on , jump , count , toggle , change } |
| Various Signal status settings. | |
Public Member Functions | |
| virtual const char * | TypeName () const noexcept=0 |
| virtual Status | Set (Status status, bool pulse=true)=0 |
| Set the Signal's setting. | |
| virtual void | Toggle (bool pulse=true)=0 |
| Sets the signal state to the next setting. | |
| virtual Status | Get () const =0 |
| Get the Signal's setting. | |
| virtual int | CountStatus () const =0 |
| Gets the number of signal status the signal provides. | |
| virtual void | Attach (TrackBuilder *pTrackBuilder) noexcept=0 |
| Attaches the Signal to a TrackBuilder. | |
| virtual TrackBuilder * | TrackAttached () const =0 |
| virtual void | GetTrackRange (TrackRange &trackRange) const =0 |
| Gets the range on the track on wich the signal is effective. | |
| virtual Location | GetLocation () const =0 |
| Creates a Location for the signals reference point on the tracks. | |
| virtual MultiPlug & | PlugToToggle ()=0 |
| virtual Jack & | JackOnChange ()=0 |
| virtual Jack & | JackOn (Status status)=0 |
| Gets a Jack that pulses its Plug if the specified Status is set. | |
| virtual Jack & | JackOnChangeTo (Status status)=0 |
| Gets a Jack that pulses its Plug if the specified Status is set and was not set before. | |
| virtual MultiPlug & | PlugTo (Status status)=0 |
| Gets a Plug that switches to the specified Status. | |
| virtual void | RegisterSockets (SocketRegistry &modul)=0 |
| Registers all the Plugs with the module and supplies the Jacks with plug ids for connecting. | |
| virtual void | UnregisterSockets (SocketRegistry &modul)=0 |
| Removes all references to Plugs and Jacks from the module. | |
| Public Member Functions inherited from trax::Identified< Signal > | |
| virtual const std::string & | Reference (const std::string &name) const=0 |
| Gets a reference that was set for this object by name. | |
| virtual const std::vector< char const * > & | ReferenceNames (const std::string &namePart) const=0 |
| Searches for all reference names that countain namePart as substring in the name. | |
| virtual IDType | ID () const noexcept=0 |
| Identified (const Identified &)=delete | |
| Identified & | operator= (const Identified &)=delete |
A Signal is positioned along a track and is submitted to a Train if it runs over it.
All messages that count potentially for all trains should be implemented as Signals.
|
pure virtual |
Creates a Location for the signals reference point on the tracks.
This would be the Far() value of the range it is registered with.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Sets the signal state to the next setting.
| pulse | True if the action shall pulse a plug. |
|
pure virtual |
|
pure virtualnoexcept |