Trax3 3.1.0
trax track library
Loading...
Searching...
No Matches
trax::JumpSite Struct Referenceabstract

A Signal that triggers a Train to jump to a jump site. More...

#include <C:/Trend/Development/Trax3/Code/trax/Signal.h>

Inheritance diagram for trax::JumpSite:

Public Member Functions

virtual void Target (const Location &target)=0
 Sets the target to a location.
virtual void Target (std::shared_ptr< Depot > pDepot)=0
 Sets the target to a depot.
virtual bool IsTargetLocation () const =0
virtual const LocationTargetLocation () const =0
virtual std::shared_ptr< Depot > TargetDepot () const =0
virtual JackJackOnJump ()=0
 Gets a Jack that pulses its Plug if the signal is set to jump.
virtual JackJackOnChangeToJump ()=0
 Gets a Jack that pulses its Plug if the signal is set to jump and was not set so before.
virtual MultiPlugPlugToJump ()=0
 Gets a Plug that sets the signal to jump.
virtual JackJackOnClear ()=0
 Gets a Jack that pulses its Plug if the signal is set to clear.
virtual JackJackOnChangeToClear ()=0
 Gets a Jack that pulses its Plug if the signal is set to clear and was not set so before.
virtual MultiPlugPlugToClear ()=0
 Gets a Plug that sets the signal to clear.
Public Member Functions inherited from trax::Signal
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 TrackBuilderTrackAttached () 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 MultiPlugPlugToToggle ()=0
virtual JackJackOnChange ()=0
virtual JackJackOn (Status status)=0
 Gets a Jack that pulses its Plug if the specified Status is set.
virtual JackJackOnChangeTo (Status status)=0
 Gets a Jack that pulses its Plug if the specified Status is set and was not set before.
virtual MultiPlugPlugTo (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

Static Public Member Functions

static dclspc std::unique_ptr< JumpSiteMake () noexcept
 Makes a JumpSite object.

Additional Inherited Members

Public Types inherited from trax::Signal
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.

Detailed Description

A Signal that triggers a Train to jump to a jump site.

A 'train jump' will be performed as soon as the train's first WheelFrame will pass the JumpSite's range starting point and will jump to the attached JumpSite's range end point plus that piece of arc length that it overshot the starting point in the simulation step. The train will keep its velocities and will move in the target JumpSite's direction. A JumpSite with range 0 and itself as a jump target will not alter the train movement, since it performes a jump to the location of the next simulation step.

Member Function Documentation

◆ IsTargetLocation()

virtual bool trax::JumpSite::IsTargetLocation ( ) const
pure virtual
Returns
true if the target is a track location, false if it is a depot or the jump signal has no target

◆ TargetDepot()

virtual std::shared_ptr< Depot > trax::JumpSite::TargetDepot ( ) const
pure virtual
Returns
A pointer to the target depot or nullptr if the target is a location or tzhere is no target.

◆ TargetLocation()

virtual const Location & trax::JumpSite::TargetLocation ( ) const
pure virtual
Returns
The target location.

The documentation for this struct was generated from the following file:
  • C:/Trend/Development/Trax3/Code/trax/Signal.h