Skip to content
Snippets Groups Projects
Commit 47a81593 authored by Timo Weberruß's avatar Timo Weberruß
Browse files

Add GroupShapeStrategy

parent 1f282b2d
No related branches found
No related tags found
2 merge requests!109Social layers,!55Draft: Implement human grouping
This commit is part of merge request !55. Comments created here will be created in the context of that merge request.
......@@ -31,4 +31,5 @@ armarx_add_library(teb_human
EuclideanDistance.h
OrientationDistance.h
CombinedDistance.h
GroupShapeStrategy.h
)
......@@ -34,6 +34,6 @@ namespace armarx::navigation::human
{
public:
EuclideanDistance(double min = 0);
double computeDistance(Human &h1, Human &h2);
virtual double computeDistance(Human &h1, Human &h2);
};
}
/**
* This file is part of ArmarX.
*
* ArmarX is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* ArmarX is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author Timo Weberruß ( timo dot weberruss at student dot kit dot edu )
* @date 2022
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
* GNU General Public License
*/
#pragma once
#include <armarx/navigation/human/types.h>
namespace armarx::navigation::human
{
/**
* @brief Encapsules a way to create a shape describing the special area occupied by a social
* human group
*/
class GroupShapeStrategy
{
public:
GroupShapeStrategy();
virtual ~GroupShapeStrategy();
/**
* @brief createShape creates and returns the shape describing the given group
* @param group a social grouping of at least one human
* @return a polygon describing the proxemic zone occupied by the given group (not including
* the zones of the individual members of the group)
*/
virtual shapes::Polygon createShape(const HumanGroup &group) = 0;
};
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment