Biarc Class Reference
Clothoids
|
#include <Biarc.hxx>
Friends | |
ostream_type & | operator<< (ostream_type &stream, Biarc const &bi) |
Detailed Description
Compute biarc fitting by Hemite data
Constructor & Destructor Documentation
◆ Biarc() [1/3]
|
delete |
eof: BaseCurve_using.hxx Construct and empty biarc
◆ Biarc() [2/3]
|
inline |
Make a copy of an existing biarc
◆ Biarc() [3/3]
|
explicit |
Construct a biarc passing from the points \((x_0,y_0)\) to the point \((x_1,y_1)\) with initial angle \(\theta_0\) and final angle \(\theta_1\)
- Parameters
-
[in] x0 \( x_0 \) [in] y0 \( y_0 \) [in] theta0 \( \theta_0 \) [in] x1 \( x_1 \) [in] y1 \( y_1 \) [in] theta1 \( \theta_1 \) [in] name name of the biarc
Member Function Documentation
◆ bb_triangles()
|
inlineoverridevirtual |
Build a cover with triangles of the curve.
- Parameters
-
[out] tvec list of covering triangles [out] max_angle maximum angle variation of the curve covered by a triangle [out] max_size maximum admissible size of the covering tirnagles [out] icurve index of the covering triangles
Implements G2lib::BaseCurve.
◆ bb_triangles_ISO()
|
inlineoverridevirtual |
Build a cover with triangles of the curve with offset (ISO).
- Parameters
-
[out] offs curve offset [out] tvec list of covering triangles [out] max_angle maximum angle variation of the curve covered by a triangle [out] max_size maximum admissible size of the covering tirnagles [out] icurve index of the covering triangles
Implements G2lib::BaseCurve.
◆ bb_triangles_SAE()
|
inlineoverridevirtual |
Build a cover with triangles of the curve with offset (SAE).
- Parameters
-
[out] offs curve offset [out] tvec list of covering triangles [out] max_angle maximum angle variation of the arc covered by a triangle [out] max_size maximum admissible size of the covering tirnagles [out] icurve index of the covering triangles
Implements G2lib::BaseCurve.
◆ bbox()
|
overridevirtual |
Compute the bounding box of the curve.
- Parameters
-
[out] xmin left bottom [out] ymin left bottom [out] xmax right top [out] ymax right top
Implements G2lib::BaseCurve.
◆ bbox_ISO()
|
overridevirtual |
Compute the bounding box of the curve with offset (ISO).
- Parameters
-
[in] offs curve offset [out] xmin left bottom [out] ymin left bottom [out] xmax right top [out] ymax right top
Implements G2lib::BaseCurve.
◆ build() [1/3]
void G2lib::Biarc::build | ( | CircleArc const & | C | ) |
Build a biarc from a circle arc.
◆ build() [2/3]
void G2lib::Biarc::build | ( | LineSegment const & | LS | ) |
Build a biarc from a line segment
◆ build() [3/3]
bool G2lib::Biarc::build | ( | real_type | x0, |
real_type | y0, | ||
real_type | theta0, | ||
real_type | x1, | ||
real_type | y1, | ||
real_type | theta1 ) |
Construct a biarc passing from the points \( (x_0,y_0) \) to the point \( (x_1,y_1) \) with initial angle \( \theta_0 \) and final angle \( \theta_1 \)
- Parameters
-
[in] x0 \( x_0 \) [in] y0 \( y_0 \) [in] theta0 \( \theta_0 \) [in] x1 \( x_1 \) [in] y1 \( y_1 \) [in] theta1 \( \theta_1 \)
- Returns
- false if biarc cannot be computed
◆ build_3P()
bool G2lib::Biarc::build_3P | ( | real_type | x0, |
real_type | y0, | ||
real_type | x1, | ||
real_type | y1, | ||
real_type | x2, | ||
real_type | y2 ) |
Construct a biarc by 3 point at "minimum energy"
- Planar point set fairing and fitting by arc splines
- Xunnian Yang and Guozhao Wang
- Computer-Aided Design, vol 33, 2001
◆ C0()
|
inline |
Return the first circle arc of the biarc.
◆ C1()
|
inline |
Return the first circle arc of the biarc.
◆ change_origin()
Translate curve so that origin will be (newx0
, newy0
).
Implements G2lib::BaseCurve.
◆ closest_point_ISO() [1/2]
|
overridevirtual |
Given a point find closest point on the curve.
- Parameters
-
qx \(x\)-coordinate of the point qy \(y\)-coordinate of the point x \(x\)-coordinate of the projected point on the curve y \(y\)-coordinate of the projected point on the curve s parameter on the curve of the projection t curvilinear coordinate of the point x,y (if orthogonal projection) dst distance point projected point
- Returns
- 1 = point is projected orthogonal 0 = more than one projection (first returned) -1 = minimum point is not othogonal projection to curve
Implements G2lib::BaseCurve.
◆ closest_point_ISO() [2/2]
|
overridevirtual |
Given a point find closest point on the curve.
- Parameters
-
qx \(x\)-coordinate of the point qy \(y\)-coordinate of the point offs offset of the curve x \(x\)-coordinate of the projected point on the curve y \(y\)-coordinate of the projected point on the curve s parameter on the curve of the projection t curvilinear coordinate of the point x,y (if orthogonal projection) dst distance point projected point
- Returns
- 1 = point is projected orthogonal 0 = more than one projection (first returned) -1 = minimum point is not othogonal projection to curve
Implements G2lib::BaseCurve.
◆ closest_point_SAE() [1/2]
|
inline |
Given a point find closest point on the curve.
- Parameters
-
qx \(x\)-coordinate of the point qy \(y\)-coordinate of the point x \(x\)-coordinate of the projected point on the curve y \(y\)-coordinate of the projected point on the curve s parameter on the curve of the projection t curvilinear coordinate of the point x,y (if orthogonal projection) dst distance point projected point
- Returns
- 1 = point is projected orthogonal 0 = more than one projection (first returned) -1 = minimum point is not othogonal projection to curve
◆ closest_point_SAE() [2/2]
|
inline |
Given a point find closest point on the curve.
- Parameters
-
qx \(x\)-coordinate of the point qy \(y\)-coordinate of the point offs offset of the curve x \(x\)-coordinate of the projected point on the curve y \(y\)-coordinate of the projected point on the curve s parameter on the curve of the projection t curvilinear coordinate of the point x,y (if orthogonal projection) dst distance point projected point
- Returns
- 1 = point is projected orthogonal 0 = more than one projection (first returned) -1 = minimum point is not othogonal projection to curve
◆ collision() [1/2]
|
overridevirtual |
Check collision with another curve.
Implements G2lib::BaseCurve.
◆ collision() [2/2]
|
inline |
Detect a collision with another biarc.
◆ collision_ISO() [1/2]
|
overridevirtual |
Check collision with another curve with offset (ISO).
- Parameters
-
[in] offs curve offset [in] pC second curve to check collision [in] offs_C curve offset of the second curve
- Returns
- true if collision is detected
Implements G2lib::BaseCurve.
◆ collision_ISO() [2/2]
Detect a collision with another biarc with offset.
- Parameters
-
[in] offs offset of first biarc [in] B second biarc [in] offs_B offset of second biarc
◆ copy()
|
inline |
Make a copy of an existing biarc.
◆ delta_theta()
|
inline |
Change of the angle of the biarc ( \( \theta_1-\theta_0 \)).
◆ distance_ISO()
|
inline |
Compute the distance between a point \(q=(q_x,q_y)\) and the curve with offset (ISO).
- Parameters
-
[in] qx component \(q_x\) [in] qy component \(q_y\) [in] offs offset of the curve
- Returns
- the computed distance
◆ distance_SAE()
|
inline |
Compute the distance between a point \(q=(q_x,q_y)\) and the curve with offset (SAE).
- Parameters
-
[in] qx component \(q_x\) [in] qy component \(q_y\) [in] offs offset of the curve
- Returns
- the computed distance
◆ eval()
x and \(y\)-coordinate at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ eval_D()
x and \(y\)-coordinate derivative at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ eval_DD()
|
overridevirtual |
x and \(y\)-coordinate second derivative at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ eval_DDD()
|
overridevirtual |
x and \(y\)-coordinate third derivative at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ eval_ISO()
|
overridevirtual |
Compute curve at position s
with offset offs
(ISO).
- Parameters
-
[in] s parameter on the curve [in] offs offset of the curve [out] x coordinate [out] y coordinate
Reimplemented from G2lib::BaseCurve.
◆ eval_ISO_D()
|
overridevirtual |
Compute derivative curve at position s
with offset offs
(ISO).
- Parameters
-
[in] s parameter on the curve [in] offs offset of the curve [out] x_D \(x\)-coordinate [out] y_D \(y\)-coordinate
Reimplemented from G2lib::BaseCurve.
◆ eval_ISO_DD()
|
overridevirtual |
Compute second derivative curve at position s
with offset offs
(ISO).
- Parameters
-
[in] s parameter on the curve [in] offs offset of the curve [out] x_DD \(x\)-coordinate second derivative [out] y_DD \(y\)-coordinate second derivative
Reimplemented from G2lib::BaseCurve.
◆ eval_ISO_DDD()
|
overridevirtual |
Compute third derivative curve at position s
with offset offs
(ISO).
- Parameters
-
[in] s parameter on the curve [in] offs offset of the curve [out] x_DDD \(x\)-coordinate third derivative [out] y_DDD \(y\)-coordinate third derivative
Reimplemented from G2lib::BaseCurve.
◆ eval_SAE()
|
inline |
Compute curve at position s
with offset offs
(SAE).
- Parameters
-
[in] s parameter on the curve [in] offs offset of the curve [out] x coordinate [out] y coordinate
◆ eval_SAE_D()
|
inline |
Compute derivative curve at position s
with offset offs
(SAE).
- Parameters
-
[in] s parameter on the curve [in] offs offset of the curve [out] x_D \(x\)-coordinate first derivative [out] y_D \(y\)-coordinate first derivative
◆ eval_SAE_DD()
|
inline |
Compute second derivative curve at position s
with offset offs
(SAE).
- Parameters
-
[in] s parameter on the curve [in] offs offset of the curve [out] x_DD \(x\)-coordinate second derivative [out] y_DD \(y\)-coordinate second derivative
◆ eval_SAE_DDD()
|
inline |
Compute third derivative curve at position s
with offset offs
(SAE).
- Parameters
-
[in] s parameter on the curve [in] offs offset of the curve [out] x_DDD \(x\)-coordinate third derivative [out] y_DDD \(y\)-coordinate third derivative
◆ evaluate()
|
overridevirtual |
Evaluate curve at curvilinear coordinate \(s\).
- Parameters
-
[in] s curvilinear coordinate [out] th angle [out] k curvature [out] x \(x\)-coordinate [out] y \(y\)-coordinate
Reimplemented from G2lib::BaseCurve.
◆ evaluate_ISO()
|
inlinevirtual |
Evaluate curve with offset at curvilinear coordinate \(s\) (ISO).
- Parameters
-
[in] s curvilinear coordinate [in] offs offset [out] th angle [out] k curvature [out] x \(x\)-coordinate [out] y \(y\)-coordinate
Reimplemented from G2lib::BaseCurve.
◆ evaluate_SAE()
|
inlinevirtual |
Evaluate curve with offset at curvilinear coordinate \(s\) (SAE).
- Parameters
-
[in] s curvilinear coordinate [in] offs offset [out] th angle [out] k curvature [out] x \(x\)-coordinate [out] y \(y\)-coordinate
Reimplemented from G2lib::BaseCurve.
◆ info()
|
inlineoverridevirtual |
Pretty print of the curve data.
Implements G2lib::BaseCurve.
◆ intersect() [1/2]
|
overridevirtual |
Intersect the curve with another curve.
- Parameters
-
[in] pC second curve intersect [out] ilist list of the intersection (as parameter on the curves)
Implements G2lib::BaseCurve.
◆ intersect() [2/2]
void G2lib::Biarc::intersect | ( | Biarc const & | B, |
IntersectList & | ilist ) const |
Intersect a biarc with another biarc.
- Parameters
-
[in] B second biarc [out] ilist list of the intersection (as parameter on the curves)
◆ intersect_ISO() [1/2]
|
overridevirtual |
Intersect the curve with another curve with offset (ISO)
- Parameters
-
[in] offs offset first curve [in] pC second curve intersect [in] offs_C offset second curve [out] ilist list of the intersection (as parameter on the curves)
Implements G2lib::BaseCurve.
◆ intersect_ISO() [2/2]
void G2lib::Biarc::intersect_ISO | ( | real_type | offs, |
Biarc const & | B, | ||
real_type | offs_B, | ||
IntersectList & | ilist ) const |
Intersect a biarc with another biarc with offset (ISO).
- Parameters
-
[in] offs offset of first biarc [in] B second biarc [in] offs_B offset of second biarc [out] ilist list of the intersection (as parameter on the curves)
◆ kappa0()
|
inline |
Return the curvature of the first arc of the biarc.
◆ kappa1()
|
inline |
Return the curvature of the first arc of the biarc.
◆ kappa_begin()
|
inlineoverridevirtual |
Initial curvature.
Reimplemented from G2lib::BaseCurve.
◆ kappa_end()
|
inlineoverridevirtual |
Final curvature.
Reimplemented from G2lib::BaseCurve.
◆ length()
|
inlineoverridevirtual |
The length of the curve
Implements G2lib::BaseCurve.
◆ length0()
|
inline |
Intial angle of the biarc.
◆ length1()
|
inline |
Final angle of the biarc.
◆ length_ISO()
The length of the curve with offset (ISO)
Implements G2lib::BaseCurve.
◆ nx_begin_ISO()
|
inlineoverridevirtual |
Intial normal \(x\)-coordinate (ISO).
Reimplemented from G2lib::BaseCurve.
◆ nx_begin_SAE()
|
inline |
Intial normal \(x\)-coordinate (SAE).
◆ nx_end_ISO()
|
inlineoverridevirtual |
Final normal \(x\)-coordinate (ISO).
Reimplemented from G2lib::BaseCurve.
◆ nx_end_SAE()
|
inline |
Final normal \(x\)-coordinate (SAE).
◆ ny_begin_ISO()
|
inlineoverridevirtual |
Intial normal \(y\)-coordinate (ISO).
Reimplemented from G2lib::BaseCurve.
◆ ny_begin_SAE()
|
inline |
Intial normal \(y\)-coordinate (SAE).
◆ ny_end_ISO()
|
inlineoverridevirtual |
Final normal \(y\)-coordinate (ISO).
Reimplemented from G2lib::BaseCurve.
◆ ny_end_SAE()
|
inline |
Intial normal \(y\)-coordinate (SAE).
◆ operator=()
◆ reverse()
|
overridevirtual |
Reverse curve parameterization.
Implements G2lib::BaseCurve.
◆ rotate()
Rotate curve by angle \(\theta\) centered at point \((c_x,c_y)\).
- Parameters
-
[in] angle angle \(\theta\) [in] cx \(c_x\) [in] cy \(c_y\)
Implements G2lib::BaseCurve.
◆ scale()
|
overridevirtual |
Scale curve by factor sc
.
Implements G2lib::BaseCurve.
◆ setup()
|
overridevirtual |
Implements G2lib::BaseCurve.
◆ tg()
Tangent at curvilinear coordinate \(s\).
Reimplemented from G2lib::BaseCurve.
◆ tg_D()
|
overridevirtual |
Tangent derivative at curvilinear coordinate \(s\).
Reimplemented from G2lib::BaseCurve.
◆ tg_DD()
|
overridevirtual |
Tangent second derivative at curvilinear coordinate \(s\).
Reimplemented from G2lib::BaseCurve.
◆ tg_DDD()
|
overridevirtual |
Tangent third derivative at curvilinear coordinate \(s\).
Reimplemented from G2lib::BaseCurve.
◆ theta()
Angle at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ theta_begin()
|
inlineoverridevirtual |
Initial angle of the curve.
Reimplemented from G2lib::BaseCurve.
◆ theta_D()
Angle derivative (curvature) at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ theta_DD()
Angle second derivative (devitive of curvature) at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ theta_DDD()
Angle third derivative at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ theta_end()
|
inlineoverridevirtual |
Final angle of the curve.
Reimplemented from G2lib::BaseCurve.
◆ theta_middle()
|
inline |
Return the angle of the juction point of the biarc.
◆ translate()
translate curve by \((t_x,t_y)\)
Implements G2lib::BaseCurve.
◆ trim()
Cut curve at parametric coordinate s_begin
and s_end
.
Implements G2lib::BaseCurve.
◆ tx()
Tangent \(x\)-coordinate at curvilinear coordinate \(s\).
Reimplemented from G2lib::BaseCurve.
◆ tx_begin()
|
inlineoverridevirtual |
Initial tangent \(x\)-coordinate.
Reimplemented from G2lib::BaseCurve.
◆ tx_D()
Tangent derivative \(x\)-coordinate at curvilinear coordinate \(s\).
Reimplemented from G2lib::BaseCurve.
◆ tx_DD()
Tangent second derivative \(x\)-coordinate at curvilinear coordinate \(s\).
Reimplemented from G2lib::BaseCurve.
◆ tx_DDD()
Tangent third derivative \(x\)-coordinate at curvilinear coordinate \(s\).
Reimplemented from G2lib::BaseCurve.
◆ tx_end()
|
inlineoverridevirtual |
Final tangent \(x\)-coordinate.
Reimplemented from G2lib::BaseCurve.
◆ ty()
Tangent \(y\)-coordinate at curvilinear coordinate \(s\).
Reimplemented from G2lib::BaseCurve.
◆ ty_begin()
|
inlineoverridevirtual |
Initial tangent \(y\)-coordinate.
Reimplemented from G2lib::BaseCurve.
◆ ty_D()
Tangent derivative \(y\)-coordinate at curvilinear coordinate \(s\).
Reimplemented from G2lib::BaseCurve.
◆ ty_DD()
Tangent second derivative \(y\)-coordinate at curvilinear coordinate \(s\).
Reimplemented from G2lib::BaseCurve.
◆ ty_DDD()
Tangent third derivative \(y\)-coordinate at curvilinear coordinate \(s\).
Reimplemented from G2lib::BaseCurve.
◆ ty_end()
|
inlineoverridevirtual |
Final tangent \(y\)-coordinate.
Reimplemented from G2lib::BaseCurve.
◆ type()
|
inlineoverridevirtual |
The name of the curve type
Implements G2lib::BaseCurve.
◆ X()
\(x\)-coordinate at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ x_begin()
|
inlineoverridevirtual |
Initial \(x\)-coordinate.
Reimplemented from G2lib::BaseCurve.
◆ x_begin_ISO()
Initial \(x\)-coordinate with offset (ISO standard).
Reimplemented from G2lib::BaseCurve.
◆ x_begin_SAE()
Initial \(x\)-coordinate with offset (SAE standard).
◆ X_D()
\(x\)-coordinate derivative at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ X_DD()
\(x\)-coordinate second derivative at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ X_DDD()
\(x\)-coordinate third derivative at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ x_end()
|
inlineoverridevirtual |
Final \(x\)-coordinate.
Reimplemented from G2lib::BaseCurve.
◆ x_end_ISO()
Final \(x\)-coordinate with offset (ISO standard).
Reimplemented from G2lib::BaseCurve.
◆ x_end_SAE()
Final \(y\)-coordinate with offset (SAE standard).
◆ X_ISO()
\(x\)-coordinate at curvilinear coordinate \(s\) with offset offs
(ISO).
Reimplemented from G2lib::BaseCurve.
◆ X_ISO_D()
\(x\)-coordinate derivative at curvilinear coordinate \(s\) with offset offs
(ISO).
Reimplemented from G2lib::BaseCurve.
◆ X_ISO_DD()
\(x\)-coordinate second derivative at curvilinear coordinate \(s\) with offset offs
(ISO).
Reimplemented from G2lib::BaseCurve.
◆ X_ISO_DDD()
\(x\)-coordinate third derivative at curvilinear coordinate \(s\) with offset offs
(ISO).
Reimplemented from G2lib::BaseCurve.
◆ x_middle()
|
inline |
Return the \(x\)-coordinate of the juction point of the biarc.
◆ X_SAE()
\(x\)-coordinate at curvilinear coordinate \(s\) with offset offs
(SAE).
◆ X_SAE_D()
\(x\)-coordinate derivative at curvilinear coordinate \(s\) with offset offs
(SAE).
◆ X_SAE_DD()
\(x\)-coordinate second derivative at curvilinear coordinate \(s\) with offset offs
(SAE).
◆ X_SAE_DDD()
\(x\)-coordinate third derivative at curvilinear coordinate \(s\) with offset offs
(SAE).
◆ Y()
\(y\)-coordinate at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ y_begin()
|
inlineoverridevirtual |
Initial \(y\)-coordinate.
Reimplemented from G2lib::BaseCurve.
◆ y_begin_ISO()
Initial \(y\)-coordinate with offset (ISO standard).
Reimplemented from G2lib::BaseCurve.
◆ y_begin_SAE()
Initial \(y\)-coordinate with offset (SAE standard).
◆ Y_D()
\(y\)-coordinate derivative at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ Y_DD()
\(y\)-coordinate second derivative at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ Y_DDD()
\(y\)-coordinate third derivative at curvilinear coordinate \(s\).
Implements G2lib::BaseCurve.
◆ y_end()
|
inlineoverridevirtual |
Final \(y\)-coordinate.
Reimplemented from G2lib::BaseCurve.
◆ y_end_ISO()
Final \(y\)-coordinate with offset (ISO standard).
Reimplemented from G2lib::BaseCurve.
◆ y_end_SAE()
Final \(y\)-coordinate with offset (ISO standard).
◆ Y_ISO()
\(y\)-coordinate at curvilinear coordinate \(s\) with offset offs
(ISO).
Reimplemented from G2lib::BaseCurve.
◆ Y_ISO_D()
\(y\)-coordinate derivative at curvilinear coordinate \(s\) with offset offs
(ISO).
Reimplemented from G2lib::BaseCurve.
◆ Y_ISO_DD()
\(y\)-coordinate second derivative at curvilinear coordinate \(s\) with offset offs
(ISO).
Reimplemented from G2lib::BaseCurve.
◆ Y_ISO_DDD()
\(y\)-coordinate third derivative at curvilinear coordinate \(s\) with offset offs
(ISO).
Reimplemented from G2lib::BaseCurve.
◆ y_middle()
|
inline |
Return the \(y\)-coordinate of the juction point of the biarc.
◆ Y_SAE()
\(y\)-coordinate at curvilinear coordinate \(s\) with offset offs
(SAE).
◆ Y_SAE_D()
\(y\)-coordinate derivative at curvilinear coordinate \(s\) with offset offs
(SAE).
◆ Y_SAE_DD()
\(y\)-coordinate second derivative at curvilinear coordinate \(s\) with offset offs
(SAE).
◆ Y_SAE_DDD()
\(y\)-coordinate third derivative at curvilinear coordinate \(s\) with offset offs
(SAE).
Friends And Related Symbol Documentation
◆ operator<<
|
friend |
The documentation for this class was generated from the following files:
- /Users/enrico/Ricerca/develop/PINS/pins-mechatronix/LibSources/submodules/Clothoids/src/Clothoids/Biarc.hxx
- /Users/enrico/Ricerca/develop/PINS/pins-mechatronix/LibSources/submodules/Clothoids/src/Biarc.cc
Generated by 1.12.0