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 <vector>
26
27#include <boost/geometry.hpp>
28#include <boost/geometry/geometries/point_xy.hpp>
29#include <boost/geometry/geometries/polygon.hpp>
30
31#include <Eigen/Core>
32
34{
35 using point_type = boost::geometry::model::d2::point_xy<float>;
36 using polygon_type = boost::geometry::model::polygon<point_type>;
37
38 polygon_type toPolygon(const std::vector<Eigen::Vector2f>& hull);
39 point_type toPoint(const Eigen::Vector2f& pt);
40 Eigen::Vector2f fromPoint(const point_type& pt);
41 float computeDistance(const std::vector<polygon_type>& obstacles, const Eigen::Vector2f& pt);
42
43
44} // namespace armarx::navigation::util::geometry
This file is part of ArmarX.
Definition geometry.cpp:13
Eigen::Vector2f fromPoint(const point_type &pt)
Definition geometry.cpp:49
boost::geometry::model::d2::point_xy< float > point_type
Definition geometry.h:35
point_type toPoint(const Eigen::Vector2f &pt)
Definition geometry.cpp:43
polygon_type toPolygon(const std::vector< Eigen::Vector2f > &hull)
Definition geometry.cpp:31
float computeDistance(const std::vector< polygon_type > &obstacles, const Eigen::Vector2f &pt)
Definition geometry.cpp:16
boost::geometry::model::polygon< point_type > polygon_type
Definition geometry.h:36