ICF 3.0.5.47
Technical documentation of ICF Libraries
iipr::CDirectionalOptimalPathSolver Class Reference

#include <CDirectionalOptimalPathSolver.h>

Collaboration diagram for iipr::CDirectionalOptimalPathSolver:

Classes

struct  CostElement
 
struct  Neighbourhood
 

Public Member Functions

 CDirectionalOptimalPathSolver ()
 
bool Initialize (const i2d::CVector2d &beginPoint, const iimg::IBitmap &costOffsetBitmap, const iimg::IBitmap &costXBitmap, const iimg::IBitmap &costYBitmap, const iimg::CScanlineMask &costBitmapMask, double dirFactor)
 
bool IsInitialized () const
 
bool CalculateCostData (const QVector< i2d::CVector2d > &destPoints, double maxCost, int minDestPoints)
 Calculates bitmap containing cost from begin point to each pixel (it stops when cost to all destination points is calculated.
 
double GetOptimalPath (const i2d::CVector2d &destPoint, i2d::CPolypoint *optimalPathPtr=nullptr) const
 Get cost of optimal path.
 

Protected Types

typedef std::multimap< double, istd::CIndex2dProcessingQueue
 

Protected Member Functions

void TryChangeNeighbour (const CostElement &element, const Neighbourhood &neigbourhood, const istd::CIndex2d &neighbourIndex, CostElement &neighbourElement)
 
bool PopNextElement (istd::CIndex2d &elementIndex, float &elementCostSum)
 

Detailed Description

Definition at line 23 of file CDirectionalOptimalPathSolver.h.

Member Typedef Documentation

◆ ProcessingQueue

Definition at line 55 of file CDirectionalOptimalPathSolver.h.

Constructor & Destructor Documentation

◆ CDirectionalOptimalPathSolver()

iipr::CDirectionalOptimalPathSolver::CDirectionalOptimalPathSolver ( )

Member Function Documentation

◆ CalculateCostData()

bool iipr::CDirectionalOptimalPathSolver::CalculateCostData ( const QVector< i2d::CVector2d > & destPoints,
double maxCost,
int minDestPoints )

Calculates bitmap containing cost from begin point to each pixel (it stops when cost to all destination points is calculated.

The output bitmap will be created as using elements of type float.

◆ GetOptimalPath()

double iipr::CDirectionalOptimalPathSolver::GetOptimalPath ( const i2d::CVector2d & destPoint,
i2d::CPolypoint * optimalPathPtr = nullptr ) const

Get cost of optimal path.

Optional this function returns set of points to the destination points.

◆ Initialize()

bool iipr::CDirectionalOptimalPathSolver::Initialize ( const i2d::CVector2d & beginPoint,
const iimg::IBitmap & costOffsetBitmap,
const iimg::IBitmap & costXBitmap,
const iimg::IBitmap & costYBitmap,
const iimg::CScanlineMask & costBitmapMask,
double dirFactor )

◆ IsInitialized()

bool iipr::CDirectionalOptimalPathSolver::IsInitialized ( ) const
inline

Definition at line 103 of file CDirectionalOptimalPathSolver.h.

◆ PopNextElement()

bool iipr::CDirectionalOptimalPathSolver::PopNextElement ( istd::CIndex2d & elementIndex,
float & elementCostSum )
inlineprotected

Definition at line 139 of file CDirectionalOptimalPathSolver.h.

◆ TryChangeNeighbour()


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

© Witold Gantzke and Kirill Lepskiy