2016-03-21 17:42:47 -04:00
|
|
|
#ifndef PROFILE_PROPERTIES_HPP
|
|
|
|
#define PROFILE_PROPERTIES_HPP
|
|
|
|
|
2016-03-22 16:23:25 -04:00
|
|
|
#include <boost/numeric/conversion/cast.hpp>
|
|
|
|
|
2016-03-21 17:42:47 -04:00
|
|
|
namespace osrm
|
|
|
|
{
|
|
|
|
namespace extractor
|
|
|
|
{
|
|
|
|
|
|
|
|
struct ProfileProperties
|
|
|
|
{
|
|
|
|
ProfileProperties()
|
2016-05-27 15:05:04 -04:00
|
|
|
: traffic_signal_penalty(0), u_turn_penalty(0), continue_straight_at_waypoint(true),
|
|
|
|
use_turn_restrictions(false)
|
2016-03-21 17:42:47 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-05-27 15:05:04 -04:00
|
|
|
double GetUturnPenalty() const { return u_turn_penalty / 10.; }
|
2016-03-21 17:42:47 -04:00
|
|
|
|
|
|
|
void SetUturnPenalty(const double u_turn_penalty_)
|
|
|
|
{
|
2016-03-22 16:23:25 -04:00
|
|
|
u_turn_penalty = boost::numeric_cast<int>(u_turn_penalty_ * 10.);
|
2016-03-21 17:42:47 -04:00
|
|
|
}
|
|
|
|
|
2016-05-27 15:05:04 -04:00
|
|
|
double GetTrafficSignalPenalty() const { return traffic_signal_penalty / 10.; }
|
2016-03-21 17:42:47 -04:00
|
|
|
|
|
|
|
void SetTrafficSignalPenalty(const double traffic_signal_penalty_)
|
|
|
|
{
|
2016-03-22 16:23:25 -04:00
|
|
|
traffic_signal_penalty = boost::numeric_cast<int>(traffic_signal_penalty_ * 10.);
|
2016-03-21 17:42:47 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
//! penalty to cross a traffic light in deci-seconds
|
|
|
|
int traffic_signal_penalty;
|
|
|
|
//! penalty to do a uturn in deci-seconds
|
|
|
|
int u_turn_penalty;
|
2016-04-12 12:47:00 -04:00
|
|
|
bool continue_straight_at_waypoint;
|
2016-03-21 17:42:47 -04:00
|
|
|
bool use_turn_restrictions;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|