|
| virtual void | DivergedTrack (std::shared_ptr< TrackBuilder > pDivergedTrack, Track::EndType trackEnd)=0 |
| | Occupies the slot for the diverged track.
|
| virtual std::pair< std::shared_ptr< TrackBuilder >, Track::EndType > | DivergedTrack () const =0 |
|
virtual void | ClearDivergedTrack ()=0 |
| | Clears the slot for the diverged track.
|
|
virtual void | SwapTracks ()=0 |
| | Swaps the straight and the diverged track.
|
| virtual bool | IsNormal (bool bStopAtFirstTrack=true, Length maxDistance=infinite__length) const =0 |
| | Returns true, if the straight track has fewer deviation from the narrow's track direction than the diverged track.
|
| virtual bool | Normalize ()=0 |
| | Swaps the outgoing tracks if this switch is not normal.
|
| virtual bool | IsY (bool bStopAtFirstTrack=true, Length maxDistance=infinite__length, AnglePerLength margin=epsilon__angle/80_m) const =0 |
| | Is this an Y - switch?
|
| virtual bool | IsHorizontal (bool bStopAtFirstTrack=true, Length maxDistance=infinite__length) const =0 |
| virtual bool | IsVertical (bool bStopAtFirstTrack=true, Length maxDistance=infinite__length) const =0 |
| virtual bool | BranchLeftOrRight (bool bStopAtFirstTrack=true, Length maxDistance=infinite__length) const =0 |
| | Tests wether the branching track develops to the left or right side of the straight track.
|
| virtual bool | BranchUpOrDown (bool bStopAtFirstTrack=true, Length maxDistance=infinite__length) const =0 |
| | Tests wether the branching track develops to the up or down side of the straight track.
|
|
virtual Jack & | JackOnBranch () noexcept=0 |
| | Gets a Jack that pulses its Plug if the switch is set to branch.
|
|
virtual MultiPlug & | PlugToBranch () noexcept=0 |
| | Gets a Plug that sets the switch to branch.
|
| virtual void | DivergedTrack (int divTrackID, std::shared_ptr< TrackBuilder > pDivergedTrack, Track::EndType trackEnd)=0 |
| | Occupies the slot for the diverging track.
|
| virtual std::pair< std::shared_ptr< TrackBuilder >, Track::EndType > | DivergedTrack (int divTrackID) const=0 |
| virtual void | ClearDivergedTrack (int divTrackID)=0 |
| | Clears the slot for the straight track.
|
| virtual Status | Set (Status to, bool pulse=true)=0 |
| | Turns the switch to the specified setting.
|
|
virtual Status | Get () const =0 |
| | Gets the setting of the switch.
|
| virtual void | NarrowTrack (std::shared_ptr< TrackBuilder > pNarrowTrack, Track::EndType trackEnd)=0 |
| | Occupies the slot for the narrow track.
|
| virtual std::pair< std::shared_ptr< TrackBuilder >, Track::EndType > | NarrowTrack () const =0 |
|
virtual void | ClearNarrowTrack ()=0 |
| | Clears the slot for the narrow track.
|
| virtual void | StraightTrack (std::shared_ptr< TrackBuilder > pStaightTrack, Track::EndType trackEnd)=0 |
| | Occupies the slot for the straight track.
|
| virtual std::pair< std::shared_ptr< TrackBuilder >, Track::EndType > | StraightTrack () const =0 |
|
virtual void | ClearStraightTrack ()=0 |
| | Clears the slot for the straight track.
|
| virtual int | CntDivergedTracks () const =0 |
|
virtual Location | Bifurcation () const =0 |
| | Gets a track Location object right at the bifurcation point of the switch with a foreward direction aiming towards the branching tracks.
|
|
virtual Jack & | JackOnGo () noexcept=0 |
| | Gets a Jack that pulses its Plug if the switch is set to go.
|
|
virtual MultiPlug & | PlugToGo () noexcept=0 |
| | Gets a Plug that sets the switch to go.
|
|
virtual Jack & | JackOn (Status status)=0 |
| | Gets a Jack that pulses its Plug if the specified Status is set.
|
|
virtual MultiPlug & | PlugTo (Status status)=0 |
| | Gets a Plug that switches to the specified Status.
|
|
virtual Jack & | JackOnDivergedTrack (int divTrackID)=0 |
| | Gets a Jack that pulses its Plug if the switch is set to the branching track.
|
|
virtual MultiPlug & | PlugToDivergedTrack (int divTrackID)=0 |
| | Gets a Plug that sets the switch to the outgoing track.
|
| virtual void | Set (const Track &trackA, Track::EndType trackendA, const Track &trackB, Track::EndType trackendB, bool pulse=true)=0 |
| | Sets the Connector to the setting that connects the two track ends.
|
| virtual ConnectorType | GetConnectorType () const noexcept=0 |
| virtual const char * | TypeName () const noexcept=0 |
| virtual bool | IsValid () const noexcept=0 |
| | Checks whether the connector is valid.
|
| virtual void | Toggle (bool pulse=true)=0 |
| | Sets the connector to the next setting.
|
|
virtual void | Disconnect ()=0 |
| | Disconnects all track ends from each other.
|
| virtual std::pair< std::shared_ptr< TrackBuilder >, Track::EndType > | Slot (int slot) const noexcept=0 |
| virtual int | Slot (const Track &track, Track::EndType trackend) const =0 |
| virtual int | CntSlots () const noexcept=0 |
| virtual void | SwapSlots (int slotA, int slotB)=0 |
| | Exchanges the content of the two slots.
|
| virtual bool | IsComplete () const =0 |
| virtual bool | Check (std::ostream &os, Length e_distance=epsilon__length, Angle e_kink=epsilon__angle, Angle e_twist=epsilon__angle) const noexcept=0 |
| | Checks the connector for consistency.
|
| virtual void | Clear (int slot)=0 |
| | clears the slot with index slot.
|
|
virtual void | Clear ()=0 |
| | Releases all the tracks from the slots.
|
|
virtual void | GetCenter (spat::Frame< Length, One > ¢er) const =0 |
| | Gets the center of the tracks the connector is connecting.
|
| virtual MultiPlug & | PlugToToggle () noexcept=0 |
| virtual const MultiPlug & | PlugToToggle () const noexcept=0 |
| virtual Jack & | JackOnChange () noexcept=0 |
| virtual const Jack & | JackOnChange () const noexcept=0 |
|
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.
|
| virtual void | UserData (ConnectorUserData *pData) noexcept=0 |
| | Sets a pointer to user provided data.
|
| virtual ConnectorUserData * | UserData () const noexcept=0 |
|
virtual int | Slot (int slot, std::shared_ptr< TrackBuilder > pTrack, Track::EndType trackend, bool connectAnonymous=false)=0 |
| | Populates a slot with a tracks end.
|
|
virtual int | Slot (std::shared_ptr< TrackBuilder > pTrack, Track::EndType trackend, bool connectAnonymous=false)=0 |
| | Populates the slot with the smallest ID that is still unpopulated.
|
| 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 Switch rearranges the connections between three track ends.
Tracks only have one connection at each end. A switch will reconnect these connections according to its setting.