GeometricAlgorithms.hpp
16 /// \brief interface for analysing distances between polyline objects (see GeometricAlgorithms::analyseDistance)
23 /// \brief this function is called if non max. distance threshold is set or the distance is below the given threshold.
34 virtual void closest(double distance, unsigned idx, const IPoint &basePt, unsigned lineIdx1, unsigned lineIdx2, const IPoint &minDistPt) = 0;
36 /// \brief this function is called if the distance between the current base vertex and the 'other' polyline exceeds the given distance threshold
44 /// \brief provides a set of geometric algorithms (Douglas-Peucker algorithm, densification of lines)
47 /// \brief Use the Douglas-Peucker algorithm to create a polyline with a subset of vertices of the provided line object.
51 \param[in] maxOrthoDist Discarded vertices feature an orthogonal distance to the returned polyline <= d_maxOrthoDist
73 /// \brief For analysing 2d/3d distances between vertices of the base polyline to the other provided polyline (optional a max distance threshold is considered)
74 /** The function computes the shortest 2d/3d distances of all vertices of the base polyline to the 'other' polyline. With the results of each
75 base vertex distance computation the corresponding function of the provided callback object is called. If an maximum distance threshold is provided (maxDist>0),
76 the algorithms only considers distances up to the given threshold (see IAnalyseDistance). The implemented algorithm uses the maxDist threshold during spatial
77 search and therfore, is more efficient than only handling the distance threshold within the callback oject.
85 DM_API void analyseDistance(const PolylineHandle &base, const PolylineHandle &other, IAnalyseDistance &callback, double maxDist = -1, bool d3 = true);
