geometry.h
Go to the documentation of this file.
1 
8 /*****************************************************************************
9  ** Ifdefs
10  *****************************************************************************/
11 #ifndef TURTLEBOT_PANORAMA_GEOMETRY_H_
12 #define TURTLEBOT_PANORAMA_GEOMETRY_H_
13 
14 /*****************************************************************************
15  ** Includes
16  *****************************************************************************/
17 #include <cmath>
18 
19 /*****************************************************************************
20  ** Namespaces
21  *****************************************************************************/
23 {
24 
25 /*****************************************************************************
26  ** Interfaces
27  *****************************************************************************/
28 template<typename T>
29  T degrees_to_radians(const T &degrees)
30  {
31  static const double degs_to_rads = M_PI / 180.0;
32  return degrees * degs_to_rads;
33  }
34 
35 template<typename T>
36  T radians_to_degrees(const T &radians)
37  {
38  static const double rads_to_degs = 180.0 / M_PI;
39  return radians * rads_to_degs;
40  }
41 
42 template<typename T>
43  T wrap_angle(const T &angle)
44  {
45  float wrapped;
46  if ((angle <= M_PI) && (angle >= -M_PI))
47  {
48  wrapped = angle;
49  }
50  else if (angle < 0.0)
51  {
52  wrapped = fmodf(angle - M_PI, 2.0 * M_PI) + M_PI;
53  }
54  else
55  {
56  wrapped = fmodf(angle + M_PI, 2.0 * M_PI) - M_PI;
57  }
58  return wrapped;
59  }
60 
61 } // namespace turtlebot_panorama
62 
63 #endif /* TURTLEBOT_PANORAMA_GEOMETRY_H_ */
T radians_to_degrees(const T &radians)
Definition: geometry.h:36
angle
Definition: loop.py:21
T degrees_to_radians(const T &degrees)
Definition: geometry.h:29
T wrap_angle(const T &angle)
Definition: geometry.h:43


turtlebot3_panorama
Author(s): Younghun Ju, Jihoon Lee, Marcus Liebhardt, Christopher Tatsch
autogenerated on Wed May 6 2020 03:15:44