Compiling & Linking
Include the following at the top of any translation unit:
1 #include <ecl/geometry.hpp>
2
3 // Angles
4 using ecl::Angle;
5 using ecl::wrap_angle;
6 using ecl::degrees_to_radians;
7 using ecl::radians_to_degrees;
8 // Other Objects
9 using ecl::CartesianPoint;
10 using ecl::PascalsTriangle;
11 // Functionals
12 using ecl::Minimum;
13 using ecl::Maximum;
14 // Functions
15 using ecl::Polynomial;
16 using ecl::LinearFunction;
17 using ecl::CubicPolynomial;
18 using ecl::QuadraticPolynomial;
19 using ecl::TensionFunction;
20 // Splines
21 using ecl::SmoothLinearSpline;
22 using ecl::CubicSpline;
23 using ecl::TensionSpline;
24 // Transforms
25 using ecl::Pose2D;
If outside ros, you will also need to link to ecl_geometry.
Tutorials
Cartesian Points - simple object representations for cartesian points.
Angles - convenience class for abstractly storing and representing angles.
Polynomials - working with polynomials of the n-th degree.
Splines - representations for smooth linear, cubic and tension splines.
Pose - 2D and 3D representations for poses (oft used in robotics).
External Components
There are quite a few useful tools also in eigen's geometry module. You can use these directly from eigen or via the ecl_linear_algebra package.
- angle-axis pairs
- quaternions
- rotation matrices
- transforms