geometry.h
Go to the documentation of this file.
1 /**
2  * This file is part of ArmarX.
3  *
4  * ArmarX is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * ArmarX is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * @author Fabian Reister ( fabian dot reister at kit dot edu )
17  * @date 2023
18  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19  * GNU General Public License
20  */
21 
22 #pragma once
23 
24 
25 #include <boost/geometry.hpp>
26 #include <boost/geometry/geometries/point_xy.hpp>
27 #include <boost/geometry/geometries/polygon.hpp>
28 
29 #include <Eigen/Core>
30 
32 {
33  using point_type = boost::geometry::model::d2::point_xy<float>;
34  using polygon_type = boost::geometry::model::polygon<point_type>;
35 
36  polygon_type toPolygon(const std::vector<Eigen::Vector2f>& hull);
37  point_type toPoint(const Eigen::Vector2f& pt);
38  float computeDistance(const std::vector<polygon_type>& obstacles, const Eigen::Vector2f& pt);
39 
40 
41 } // namespace armarx::navigation::util::geometry
armarx::navigation::util::geometry::toPolygon
polygon_type toPolygon(const std::vector< Eigen::Vector2f > &hull)
Definition: geometry.cpp:30
armarx::navigation::util::geometry::computeDistance
float computeDistance(const std::vector< polygon_type > &obstacles, const Eigen::Vector2f &pt)
Definition: geometry.cpp:12
armarx::navigation::util::geometry::point_type
boost::geometry::model::d2::point_xy< float > point_type
Definition: geometry.h:33
armarx::navigation::util::geometry
This file is part of ArmarX.
Definition: geometry.cpp:8
armarx::navigation::util::geometry::polygon_type
boost::geometry::model::polygon< point_type > polygon_type
Definition: geometry.h:34
armarx::navigation::util::geometry::toPoint
point_type toPoint(const Eigen::Vector2f &pt)
Definition: geometry.cpp:42