|
| virtual int | CntTwistValues () const =0 |
| virtual void | Create (const Data &data)=0 |
| | Creates the twist from the data.
|
| virtual std::pair< Length, spat::Vector< One > > | Twist (int idx) const =0 |
|
virtual const Data & | GetData () const noexcept=0 |
| virtual Angle | Twist (Length s) const=0 |
Add a control point to the Twist.
- Parameters
-
| s | Arc length along the track to place the attractor. |
| attractor | Directional attractor in coordinates local to the track. |
| pair | attractor pair. |
|
|
virtual void | Add (Length s, const spat::Vector< One > &attractor)=0 |
|
virtual void | Add (const std::pair< Length, spat::Vector< One > > &pair)=0 |
|
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 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 |
A twist that works like a DirectionalTwist but interpolates (linearly) two neighbouring attractors according to arc length and uses the resulting attractor.
The vectors in Data are local to the track.