libosmscout  1.1.1
Public Member Functions | Protected Attributes | List of all members
osmscout::FastestPathRoutingProfile Class Reference

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

Inheritance diagram for osmscout::FastestPathRoutingProfile:
Inheritance graph
[legend]
Collaboration diagram for osmscout::FastestPathRoutingProfile:
Collaboration graph
[legend]

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
 
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 ()
 

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 More...
 
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 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() [2/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() [3/4]

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

Estimated cost for specific way with given distance

Implements osmscout::RoutingProfile.

◆ GetCosts() [4/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.

◆ 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

◆ 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: