27 #ifndef MPBLOCKS_DUBINS_CURVES_FUNCS_HPP_
28 #define MPBLOCKS_DUBINS_CURVES_FUNCS_HPP_
35 template <
typename Format_t>
38 const Format_t _PI =
static_cast<Format_t
>(M_PI);
39 const Format_t
_2 =
static_cast<Format_t
>(2);
41 while (a > _PI) a -= _2 * _PI;
42 while (a < -_PI) a += _2 * _PI;
49 template <
typename Format_t>
52 const Format_t _PI =
static_cast<Format_t
>(M_PI);
53 const Format_t
_2 =
static_cast<Format_t
>(2);
56 while (r < 0) r += _2 * _PI;
62 template <
typename Format_t>
70 template <
typename Format_t>
73 const Format_t _PI =
static_cast<Format_t
>(M_PI);
74 const Format_t
_2 =
static_cast<Format_t
>(2);
77 while (r < 0) r += _2 * _PI;
83 template <
typename Format_t>
92 #endif // MPBLOCKS_DUBINS_CURVES_FUNCS_HPP_
__host__ __device__ Format_t cwArc(Format_t a, Format_t b)
returns the clockwise (right) distance from a to b
empty struct used to template "variant" of three arc primitives
__host__ __device__ Format_t ccwArc(Format_t a, Format_t b)
returns the counter clockwise (left) distance from a to b
empty struct used to template "variant" of three arc primitives
__host__ __device__ Format_t clampRadian(Format_t a)
wraps the input onto [-pi,pi]
__host__ __device__ Format_t rightArc(Format_t a, Format_t b)
returns the clockwise (right) distance from a to b
__host__ __device__ Format_t leftArc(Format_t a, Format_t b)
returns the counter clockwise (left) distance from a to b