Classes | Public Member Functions | Protected Types | Protected Member Functions | List of all members
iipr::CDirectionalOptimalPathSolver Class Reference

#include <CDirectionalOptimalPathSolver.h>

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. More...
 
double GetOptimalPath (const i2d::CVector2d &destPoint, i2d::CPolypoint *optimalPathPtr=NULL) const
 Get cost of optimal path. More...
 

Protected Types

typedef std::multimap< double,
istd::CIndex2d
ProcessingQueue
 

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 25 of file CDirectionalOptimalPathSolver.h.

Member Typedef Documentation

typedef std::multimap<double, istd::CIndex2d> iipr::CDirectionalOptimalPathSolver::ProcessingQueue
protected

Definition at line 57 of file CDirectionalOptimalPathSolver.h.

Constructor & Destructor Documentation

iipr::CDirectionalOptimalPathSolver::CDirectionalOptimalPathSolver ( )

Member Function Documentation

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.

double iipr::CDirectionalOptimalPathSolver::GetOptimalPath ( const i2d::CVector2d destPoint,
i2d::CPolypoint optimalPathPtr = NULL 
) const

Get cost of optimal path.

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

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 
)
bool iipr::CDirectionalOptimalPathSolver::IsInitialized ( ) const
inline

Definition at line 105 of file CDirectionalOptimalPathSolver.h.

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

Definition at line 141 of file CDirectionalOptimalPathSolver.h.

__forceinline void iipr::CDirectionalOptimalPathSolver::TryChangeNeighbour ( const CostElement element,
const Neighbourhood neigbourhood,
const istd::CIndex2d neighbourIndex,
CostElement neighbourElement 
)
protected

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

© 2007-2017 Witold Gantzke and Kirill Lepskiy