![]() |
Trax3 3.1.0
trax track library
|
A twist that stays constant over the whole track range. More...
#include <C:/Trend/Development/Trax3/Code/trax/RoadwayTwist.h>

Public Types | |
| using | Data = Angle |
| Public Types inherited from trax::RoadwayTwist | |
| enum class | TwistType : char { Unknown = -2 , None = -1 , Zero = 0 , Constant , Linear , Piecewise , PiecewiseLinear , PiecewiseCircular , PiecewiseDirectional , Directional , Positional , Combined , Parallel } |
Public Member Functions | |
| virtual void | TwistValue (Angle twist) noexcept=0 |
| Set twist value. | |
| virtual Angle | TwistValue () const noexcept=0 |
| Get twist value. | |
| virtual const Data & | GetData () const noexcept=0 |
| virtual void | Create (const Data &data) noexcept=0 |
| Public Member Functions inherited from trax::RoadwayTwist | |
| virtual const char * | TypeName () const noexcept=0 |
| Name for the object type that implements this interface. | |
| virtual TwistType | GetTwistType () const noexcept=0 |
| virtual std::unique_ptr< RoadwayTwist > | Clone () const =0 |
| Make a clone from this object. | |
| virtual bool | IsValid () const noexcept=0 |
| virtual Angle | Twist (Length s) const =0 |
| virtual AnglePerLength | D1 (Length s) const =0 |
| virtual bool | ZeroFlip (bool bActive) noexcept=0 |
| virtual void | Flip () noexcept=0 |
| Flips the effect of the twist along the track. After calling this function, the Twist() and D1() methods will give pi - Twist(Track::GetLength() - s) and -D1(Track::GetLength() - s). Calling Flip() a second time will nullify the effect. | |
| virtual void | Mirror () noexcept=0 |
| Multiplies all twist angle by -1. | |
| virtual bool | Offset (Angle offset) noexcept=0 |
| Adds a global offset angle to the Twist. | |
| virtual bool | IsDynamic () const noexcept=0 |
| A twist is dynamic if it relates to geometry global to the track. | |
| virtual bool | IsDirectionalConstant () const noexcept=0 |
| Find wether the twist is directional only offsetted by a constant. | |
| virtual bool | IsConstant () const noexcept=0 |
| virtual void | Freeze (bool bFreeze=true) noexcept=0 |
| Freezes the twist, so that dynamic twists like DirectionalTwist don't update anymore. | |
| virtual bool | IsFrozen () const noexcept=0 |
| virtual bool | IsNull () const noexcept=0 |
| virtual bool | Equals (const RoadwayTwist &toTwist, Angle epsilon_angle=epsilon__angle) const noexcept=0 |
| Comparison. | |
| virtual void | OnAttach (const TrackBuilder &track) noexcept=0 |
| Called on attachment to a track. | |
| virtual void | OnDetach () noexcept=0 |
| Called on detachment from a track. | |
| virtual Angle | DoTwist (Length) const =0 |
| virtual AnglePerLength | DoD1 (Length) const =0 |
| RoadwayTwist (RoadwayTwist &&)=delete | |
| RoadwayTwist & | operator= (const RoadwayTwist &)=delete |
| RoadwayTwist & | operator= (RoadwayTwist &&)=delete |
Static Public Member Functions | |
| static dclspc std::unique_ptr< ConstantTwist > | Make () noexcept |
| Makes a ConstantTwist object. | |
| static dclspc std::unique_ptr< ConstantTwist > | Make (const RoadwayTwist &fromTwist) noexcept |
| Makes a ConstantTwist object from another twist. | |
| Static Public Member Functions inherited from trax::RoadwayTwist | |
| static dclspc std::unique_ptr< RoadwayTwist > | Make (TwistType type) noexcept |
| Makes a RoadwayTwist object. | |
| static dclspc std::unique_ptr< RoadwayTwist > | Make (TwistType type, const RoadwayTwist &fromTwist) noexcept |
| Makes a RoadwayTwist object from another twist. | |
Additional Inherited Members | |
| Protected Member Functions inherited from trax::RoadwayTwist | |
| RoadwayTwist (const RoadwayTwist &)=default | |
A twist that stays constant over the whole track range.