libosmscout 1.1.1
Loading...
Searching...
No Matches
osmscout::FastestPathRoutingProfile Class Reference

#include <libosmscout/include/osmscout/routing/RoutingProfile.h>

Inheritance diagram for osmscout::FastestPathRoutingProfile:
Collaboration diagram for osmscout::FastestPathRoutingProfile:

Public Member Functions

 FastestPathRoutingProfile (const TypeConfigRef &typeConfig)
void ParametrizeForFoot (const TypeConfig &typeConfig, double maxSpeed) override
void ParametrizeForBicycle (const TypeConfig &typeConfig, double maxSpeed) override
bool ParametrizeForCar (const TypeConfig &typeConfig, const std::map< std::string, double > &speedMap, double maxSpeed) override
bool HasJunctionPenalty () const
void SetJunctionPenalty (bool b)
Distance GetPenaltySameType () const
void SetPenaltySameType (const Distance &d)
Distance GetPenaltyDifferentType () const
void SetPenaltyDifferentType (const Distance &d)
HourDuration GetMaxPenalty () const
void SetMaxPenalty (const HourDuration &d)
double GetCosts (const RouteNode &currentNode, const std::vector< ObjectVariantData > &objectVariantData, size_t inPathIndex, size_t outPathIndex) const override
double GetCosts (const Area &area, const Distance &distance) const override
double GetCosts (const Way &way, const Distance &distance) const override
double GetCosts (const Distance &distance) const override
double GetUTurnCost () const override
std::string GetCostString (double cost) const override
Public Member Functions inherited from osmscout::AbstractRoutingProfile
 AbstractRoutingProfile (const TypeConfigRef &typeConfig)
void SetVehicle (Vehicle vehicle)
void SetVehicleMaxSpeed (double maxSpeed)
Vehicle GetVehicle () const override
double GetVehicleMaxSpeed () const
void SetCostLimitDistance (const Distance &costLimitDistance)
Distance GetCostLimitDistance () const override
void SetCostLimitFactor (double costLimitFactor)
double GetCostLimitFactor () const override
void AddType (const TypeInfoRef &type, double speed)
void AddType (const TypeInfoRef &type, SpeedVariant speed)
bool CanUse (const RouteNode &currentNode, const std::vector< ObjectVariantData > &objectVariantData, size_t pathIndex) const override
bool CanUse (const Area &area) const override
bool CanUse (const Way &way) const override
bool CanUseForward (const Way &way) const override
bool CanUseBackward (const Way &way) const override
Duration GetTime (const Area &area, const Distance &distance) const override
Duration GetTime (const Way &way, const Distance &distance) const override
Public Member Functions inherited from osmscout::RoutingProfile
virtual ~RoutingProfile ()=default

Protected Attributes

bool applyJunctionPenalty =true
Distance penaltySameType =Meters(40)
Distance penaltyDifferentType =Meters(250)
HourDuration maxPenalty =std::chrono::seconds(10)
Protected Attributes inherited from osmscout::AbstractRoutingProfile
TypeConfigRef typeConfig
AccessFeatureValueReader accessReader
MaxSpeedFeatureValueReader maxSpeedReader
GradeFeatureValueReader gradeReader
Vehicle vehicle
uint8_t vehicleRouteNodeBit
Distance costLimitDistance
double costLimitFactor
std::vector< SpeedVariantspeeds
 maximum vehicle speed on route type and its grade
double minSpeed
double maxSpeed
double vehicleMaxSpeed

Additional Inherited Members

Protected Member Functions inherited from osmscout::AbstractRoutingProfile
template<typename Obj>
Duration GetTime2 (const Obj &obj, const Distance &distance) const

Detailed Description

Profile that defines costs base of the time the traveling device needs for a certain way resulting in the fastest path chosen (cost=distance/speedForWayType).

Constructor & Destructor Documentation

◆ FastestPathRoutingProfile()

osmscout::FastestPathRoutingProfile::FastestPathRoutingProfile ( const TypeConfigRef & typeConfig)
explicit

Member Function Documentation

◆ GetCosts() [1/4]

double osmscout::FastestPathRoutingProfile::GetCosts ( const Area & area,
const Distance & distance ) const
inlineoverridevirtual

Estimated cost for specific area with given distance

Implements osmscout::RoutingProfile.

◆ GetCosts() [2/4]

double osmscout::FastestPathRoutingProfile::GetCosts ( const Distance & distance) const
inlineoverridevirtual

Estimated cost for distance when are no limitations (max. speed on the way)

Implements osmscout::RoutingProfile.

◆ GetCosts() [3/4]

double osmscout::FastestPathRoutingProfile::GetCosts ( const RouteNode & currentNode,
const std::vector< ObjectVariantData > & objectVariantData,
size_t inPathIndex,
size_t outPathIndex ) const
inlineoverridevirtual

Estimated cost for outgoing path (outPathIndex) from currentNode when currentNode is entered from inPathIndex

Implements osmscout::RoutingProfile.

◆ GetCosts() [4/4]

double osmscout::FastestPathRoutingProfile::GetCosts ( const Way & way,
const Distance & distance ) const
inlineoverridevirtual

Estimated cost for specific way with given distance

Implements osmscout::RoutingProfile.

◆ GetCostString()

std::string osmscout::FastestPathRoutingProfile::GetCostString ( double cost) const
inlineoverridevirtual

Textual representation of cost

Reimplemented from osmscout::AbstractRoutingProfile.

◆ GetMaxPenalty()

HourDuration osmscout::FastestPathRoutingProfile::GetMaxPenalty ( ) const
inline

◆ GetPenaltyDifferentType()

Distance osmscout::FastestPathRoutingProfile::GetPenaltyDifferentType ( ) const
inline

◆ GetPenaltySameType()

Distance osmscout::FastestPathRoutingProfile::GetPenaltySameType ( ) const
inline

◆ GetUTurnCost()

double osmscout::FastestPathRoutingProfile::GetUTurnCost ( ) const
inlineoverridevirtual

Reimplemented from osmscout::AbstractRoutingProfile.

◆ HasJunctionPenalty()

bool osmscout::FastestPathRoutingProfile::HasJunctionPenalty ( ) const
inline

◆ ParametrizeForBicycle()

void osmscout::FastestPathRoutingProfile::ParametrizeForBicycle ( const TypeConfig & typeConfig,
double maxSpeed )
inlineoverridevirtual

Setup profile for bicycle, it also setup junction penalty and multiply cost limit and cost limit factor.

Reimplemented from osmscout::AbstractRoutingProfile.

◆ ParametrizeForCar()

bool osmscout::FastestPathRoutingProfile::ParametrizeForCar ( const TypeConfig & typeConfig,
const std::map< std::string, double > & speedMap,
double maxSpeed )
inlineoverridevirtual

Setup profile for car, it also setup junction penalty and multiply cost limit and cost limit factor.

Reimplemented from osmscout::AbstractRoutingProfile.

◆ ParametrizeForFoot()

void osmscout::FastestPathRoutingProfile::ParametrizeForFoot ( const TypeConfig & typeConfig,
double maxSpeed )
inlineoverridevirtual

Reimplemented from osmscout::AbstractRoutingProfile.

◆ SetJunctionPenalty()

void osmscout::FastestPathRoutingProfile::SetJunctionPenalty ( bool b)
inline

◆ SetMaxPenalty()

void osmscout::FastestPathRoutingProfile::SetMaxPenalty ( const HourDuration & d)
inline

◆ SetPenaltyDifferentType()

void osmscout::FastestPathRoutingProfile::SetPenaltyDifferentType ( const Distance & d)
inline

◆ SetPenaltySameType()

void osmscout::FastestPathRoutingProfile::SetPenaltySameType ( const Distance & d)
inline

Member Data Documentation

◆ applyJunctionPenalty

bool osmscout::FastestPathRoutingProfile::applyJunctionPenalty =true
protected

◆ maxPenalty

HourDuration osmscout::FastestPathRoutingProfile::maxPenalty =std::chrono::seconds(10)
protected

◆ penaltyDifferentType

Distance osmscout::FastestPathRoutingProfile::penaltyDifferentType =Meters(250)
protected

◆ penaltySameType

Distance osmscout::FastestPathRoutingProfile::penaltySameType =Meters(40)
protected

The documentation for this class was generated from the following file: