IAnalyseDistance Class Referenceabstract

interface for analysing distances between polyline objects (see GeometricAlgorithms::analyseDistance) More...

#include "GeometricAlgorithms.hpp"

Public Member Functions

virtual void closest (double distance, unsigned idx, const IPoint &basePt, unsigned lineIdx1, unsigned lineIdx2, const IPoint &minDistPt)=0
 this function is called if non max. distance threshold is set or the distance is below the given threshold. More...
 
virtual void exceeds (unsigned idx)=0
 this function is called if the distance between the current base vertex and the 'other' polyline exceeds the given distance threshold More...
 

Detailed Description

interface for analysing distances between polyline objects (see GeometricAlgorithms::analyseDistance)

Member Function Documentation

◆ closest()

virtual void closest ( double  distance,
unsigned  idx,
const IPoint basePt,
unsigned  lineIdx1,
unsigned  lineIdx2,
const IPoint minDistPt 
)
pure virtual

this function is called if non max. distance threshold is set or the distance is below the given threshold.

Note: if lineIdx1 == lineIdx2 then the closest point is a vertex and not a point on a segment

Parameters
[in]distanceshortest 3d/2d distance between basePt (=base[idx]) and polyline 'other'
[in]idxindex of the current vertex (of the base polyline)
[in]basePtcurrent vertex (of the base polyline)
[in]lineIdx1source point index of closest segment of polyline 'other'
[in]lineIdx2target point index of closest segment of polyline 'other'
[in]minDistPtpoint on polyline 'other' with the shortest distance to basePt

◆ exceeds()

virtual void exceeds ( unsigned  idx)
pure virtual

this function is called if the distance between the current base vertex and the 'other' polyline exceeds the given distance threshold

Parameters
[in]idxindex of the current vertex (of the base polyline)