Trax3 3.1.0
trax track library
Loading...
Searching...
No Matches
trax::TrackJointFeeder Class Referenceabstract

Class with minimal functionality to support a track joint on a track system. More...

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

Inheritance diagram for trax::TrackJointFeeder:

Public Member Functions

dclspc TrackJointFeeder (Real engine_meters_per_unit, Real engine_kilograms_per_unit) noexcept
bool virtual dclspc Update (Time dt)
 Simulation update method, to be called, after a simulation step is finished.
bool dclspc Rail (std::shared_ptr< const Track > pTrack, const TrackLocation &tl, bool doPulse=true)
bool dclspc Rail (const Location &location, bool doPulse=true)
void dclspc DeRail (bool doPulse=true)
bool dclspc IsRailed () const noexcept
bool dclspc IsMovableBodySleeping () const noexcept
void dclspc WakeUp () noexcept
void dclspc SetVelocity (Velocity velocity)
Velocity dclspc GetVelocity () const noexcept
dclspc const LocationGetLocation () const noexcept
virtual void SetLimits (const TrackJointLimits &wfl)=0
virtual void SetMotorForceLimits (Force min, Force max) noexcept=0
virtual void SetMotorTarget (Velocity) noexcept=0
virtual Velocity GetMotorTarget () noexcept=0
virtual spat::Frame< Length, OneGlobalAnchor () const =0
 Gets the anchor in global coordinates.
virtual spat::Frame< Length, OneAnchor () const noexcept=0
 Gets the anchor in local coordinates.
virtual void Anchor (const spat::Frame< Length, One > &frame)=0
 Sets the anchor in local coordinates.
dclspc std::shared_ptr< EventAttachEvent (std::shared_ptr< Event > pEvent) noexcept
 Attaches the sensor event to this TrackJointFeeder.
dclspc std::shared_ptr< SignalTargetAttachSignal (std::shared_ptr< SignalTarget > pSignalTarget) noexcept
 Attaches the signal target to this TrackJointFeeder.
dclspc JackJackOnRail () noexcept
 Gets a Jack that pulses its Plug if the WheelFrame gets railed on a track.
dclspc JackJackOnDerail () noexcept
 Gets a Jack that pulses its Plug if the WheelFrame derails.
dclspc JackJackOnRollingStart () noexcept
 Gets a Jack that pulses its Plug if the WheelFrame starts to roll.
dclspc JackJackOnRollingStop () noexcept
 Gets a Jack that pulses its Plug if the WheelFrame stops to roll.
dclspc JackJackOnStartTilting () noexcept
 Gets a Jack that pulses its Plug if the WheelFrame starts tilting.
dclspc JackJackOnStopTilting () noexcept
 Gets a Jack that pulses its Plug if the WheelFrame starts tilting.
dclspc JackJackOnTrackTransition () noexcept
 Gets a Jack that pulses its Plug if the WheelFrame passes the connection between two tracks.
Real EngineMetersPerUnit () const noexcept
Real EngineKilogramsPerUnit () const noexcept

Protected Member Functions

virtual void TurnAnchor () const =0
virtual void TrackBodyChange (std::shared_ptr< const Body > pToBody)=0
virtual void SetTimeStep (Time dt)=0
virtual void UpdateBodies () const =0
virtual bool SetValues (const TrackData< Real > &trackData)=0
virtual bool DoIsMovableBodySleeping () const noexcept=0
virtual void DoWakeUp () const =0
virtual void DoRail ()=0
virtual void DoDerail ()=0
virtual std::pair< Length, bool > MoveBy (Length ds)

Detailed Description

Class with minimal functionality to support a track joint on a track system.

Member Function Documentation

◆ Anchor()

virtual spat::Frame< Length, One > trax::TrackJointFeeder::Anchor ( ) const
pure virtualnoexcept

Gets the anchor in local coordinates.

Will be flipped if railed on track in anti direction.

◆ AttachEvent()

dclspc std::shared_ptr< Event > trax::TrackJointFeeder::AttachEvent ( std::shared_ptr< Event > pEvent)
noexcept

Attaches the sensor event to this TrackJointFeeder.

The event will trigger qualified Sensors. There is only one Event to be attached at a time. To detach the event, attach a nullptr.

Parameters
pEventThe sensor event to attach.
Returns
The previously attached event.

◆ AttachSignal()

dclspc std::shared_ptr< SignalTarget > trax::TrackJointFeeder::AttachSignal ( std::shared_ptr< SignalTarget > pSignalTarget)
noexcept

Attaches the signal target to this TrackJointFeeder.

The target will receive information from Signals. There is only one SignalTarget to be attached at a time. To detach the target, attach a nullptr.

Parameters
pSignalTargetThe signal target to attach.
Returns
The previously attached signal target.

◆ GlobalAnchor()

virtual spat::Frame< Length, One > trax::TrackJointFeeder::GlobalAnchor ( ) const
pure virtual

Gets the anchor in global coordinates.

Will be flipped if railed on track in anti direction.

◆ Update()

bool virtual dclspc trax::TrackJointFeeder::Update ( Time dt)
virtual

Simulation update method, to be called, after a simulation step is finished.

Reimplemented in trax::TrackJointFeederMotorModel.


The documentation for this class was generated from the following file: