cb_base_navigation
src
global_planner
constraint_evaluator.cpp
Go to the documentation of this file.
1
#include "
cb_base_navigation/global_planner/constraint_evaluator.h
"
2
3
namespace
cb_global_planner
{
4
5
ConstraintEvaluator::ConstraintEvaluator
() {}
6
7
bool
ConstraintEvaluator::init
(
const
std::string
& constraint)
8
{
9
symbol_table_
.clear();
10
symbol_table_
.add_variable(
"x"
,
x_
);
11
symbol_table_
.add_variable(
"y"
,
y_
);
12
expression_
.register_symbol_table(
symbol_table_
);
13
14
exprtk::parser<double> parser;
15
16
if
(!parser.compile(constraint,
expression_
)) {
17
printf(
"Error: %s\tExpression: %s\n"
, parser.error().c_str(), constraint.
c_str
());
18
return
false
;
19
}
20
21
constraint_
= constraint;
22
initialized_
=
true
;
23
return
true
;
24
}
25
26
bool
ConstraintEvaluator::evaluate
(
const
double
& x,
const
double
& y) {
27
if
(!
initialized_
)
return
false
;
28
x_
= x;
y_
= y;
29
return
expression_
.value();
30
}
31
32
}
std::string
cb_global_planner::ConstraintEvaluator::constraint_
std::string constraint_
Definition:
constraint_evaluator.h:55
cb_global_planner::ConstraintEvaluator::y_
double y_
Definition:
constraint_evaluator.h:58
cb_global_planner::ConstraintEvaluator::x_
double x_
Definition:
constraint_evaluator.h:58
cb_global_planner::ConstraintEvaluator::init
bool init(const std::string &constraint)
Init function which initializes the constraint that has to be evaluated.
Definition:
constraint_evaluator.cpp:7
cb_global_planner::ConstraintEvaluator::initialized_
bool initialized_
Definition:
constraint_evaluator.h:59
cb_global_planner::ConstraintEvaluator::evaluate
bool evaluate(const double &x, const double &y)
Evaluates the constraint for an x,y value.
Definition:
constraint_evaluator.cpp:26
cb_global_planner::ConstraintEvaluator::ConstraintEvaluator
ConstraintEvaluator()
Constructor for the ConstraintEvaluator Object.
Definition:
constraint_evaluator.cpp:5
cb_global_planner::ConstraintEvaluator::symbol_table_
exprtk::symbol_table< double > symbol_table_
Definition:
constraint_evaluator.h:56
std::string::c_str
T c_str(T... args)
cb_global_planner::ConstraintEvaluator::expression_
exprtk::expression< double > expression_
Definition:
constraint_evaluator.h:57
cb_global_planner
Definition:
a_star_planner.cpp:5
constraint_evaluator.h
Generated on Sun Feb 23 2025 04:34:29 for cb_base_navigation by
1.8.17