![]() |
Trax3 3.1.0
trax track library
|
If the curve function happens to be parameterized by arc length, this implementation for a curve can be used. More...
#include <C:/Trend/Development/Trax3/Code/trax/Curve_Imp.h>

Public Types | |
| using | DataType = typename Base::Data |
Public Member Functions | |
| bool | IsValid () const noexcept override |
| AnglePerLength | Curvature (Length s) const noexcept override |
| AnglePerLength | Torsion (Length s) const override |
| void | Transition (Length s, Position< Length > &pos) const override |
| void | Transition (Length s, Vector< One > &tan) const override |
| void | Transition (Length s, VectorBundle< Length, One > &bundle) const override |
| void | Transition (Length s, VectorBundle2< Length, One > &bundle) const override |
| void | Transition (Length s, Frame< Length, One > &frame) const override |
| std::vector< Length > | ZeroSet () const override |
| common::Interval< Length > | Range () const noexcept(noexcept(f.Range())) override |
| spat::Frame< Length, One > | GetCurveLocalTransformation () const override |
| bool | Mirror (const spat::VectorBundle< Length, One > &mirrorPlane) noexcept(noexcept(f.Mirror(mirrorPlane))) override |
| bool | Equals (const Curve &toCurve, common::Interval< Length > range, Length epsilon_length, Angle epsilon_angle) const override |
| common::Interval< Length > | Create (const DataType &data) override |
| const DataType & | GetData () const noexcept override |
Protected Attributes | |
| FunctionParametrizedByArcLength | f |
If the curve function happens to be parameterized by arc length, this implementation for a curve can be used.
In the general argument the dt/ds becomes 1 and the d²t/ds² becomes 0. From that it follows:
T = D1 N = D2 / sqrt(D2*D2) k = sqrt(D2*D2) t = (D1 % D2) * D3 / (D2*D2)