mrs_lib
Various reusable classes, functions and utilities for use in MRS projects
safety_zone.h
1
// clang: TomasFormat
2
#ifndef MRS_LIB_SAFETYZONE_H
3
#define MRS_LIB_SAFETYZONE_H
4
5
#include <mrs_lib/safety_zone/polygon.h>
6
#include <visualization_msgs/Marker.h>
7
#include <eigen3/Eigen/Eigen>
8
#include <vector>
9
10
namespace
mrs_lib
11
{
12
class
SafetyZone
{
13
public
:
14
SafetyZone
(
Polygon
outerBorder);
15
~
SafetyZone
();
16
17
SafetyZone
(
const
Eigen::MatrixXd& outerBorderMatrix);
18
19
bool
isPointValid(
const
double
px,
const
double
py);
20
bool
isPathValid(
const
double
p1x,
const
double
p1y,
const
double
p2x,
const
double
p2y);
21
22
Polygon
getBorder();
23
24
private
:
25
Polygon
* outerBorder;
26
27
public
:
28
struct
BorderError
:
public
std::exception
29
{
30
const
char
* what()
const
throw
() {
31
return
"SafeZone: Wrong configuration for the border"
;
32
}
33
};
34
};
35
}
// namespace mrs_lib
36
37
#endif // MRS_LIB_SAFETYZONE_H
mrs_lib
All mrs_lib functions, classes, variables and definitions are contained in this namespace.
Definition:
attitude_converter.h:29
mrs_lib::SafetyZone::BorderError
Definition:
safety_zone.h:28
mrs_lib::Polygon
Definition:
polygon.h:13
mrs_lib::SafetyZone
Definition:
safety_zone.h:12
include
mrs_lib
safety_zone
safety_zone.h
Generated by
1.8.17