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

Interface for streching the curvature of a curve, by trying to reach an end point Z, while keeping the starting point local, if possible. More...

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

Inheritance diagram for trax::CurvatureStrecher:

Public Member Functions

virtual spat::Vector< OneDirection (Length s) const =0
virtual AnglePerLength Start (Length s, const spat::Position< Length > &Z, common::Interval< AnglePerLength > curvatureLimits={epsilon__angle/maximum__length, 180_deg/epsilon__length})=0
virtual AnglePerLength Strech (Length s, const spat::Position< Length > &Z)=0
 CurvatureStrecher (CurvatureStrecher &&)=delete
CurvatureStrecher & operator= (const CurvatureStrecher &)=delete
CurvatureStrecher & operator= (CurvatureStrecher &&)=delete

Static Public Member Functions

Get CurvatureStrecher Interface

Retrieve interface for curvature streching.

static dclspc const CurvatureStrecher * InterfaceFrom (const Curve &curve) noexcept
static dclspc CurvatureStrecher * InterfaceFrom (Curve &curve) noexcept

Protected Member Functions

 CurvatureStrecher (const CurvatureStrecher &)=default

Detailed Description

Interface for streching the curvature of a curve, by trying to reach an end point Z, while keeping the starting point local, if possible.

Some curves that can get parametrized by a curvature parameter support this interface. Supporting curves are: Arc, ArcP, Helix, HelixP, Clothoid. Streching is useful with graphical editors.

Member Function Documentation

◆ Direction()

virtual spat::Vector< One > trax::CurvatureStrecher::Direction ( Length s) const
pure virtual
Returns
The direction the point on curve at s will move on changing the curvature.

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