You are here: Start » Function Reference » Path » Path Metrics » PathToPathDistanceProfile

PathToPathDistanceProfile
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | FoundationPro |
Computes the profile of distances between two paths.
Syntax
void fil::PathToPathDistanceProfile ( const fil::Path& inPath1, const fil::Path& inPath2, fil::PathDistanceMode::Type inPathDistanceMode, float inResolution, fil::Profile& outDistanceProfile, ftl::Optional<ftl::Array<float>&> outDistances = ftl::NIL, ftl::Optional<ftl::Array<fil::Segment2D>&> outConnectingSegments = ftl::NIL )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() |
inPath1 | const Path& | First input path | ||
![]() |
inPath2 | const Path& | Second input path | ||
![]() |
inPathDistanceMode | PathDistanceMode::Type | Distance measuring method | ||
![]() |
inResolution | float | 0.0 - ![]() |
1.0f | |
![]() |
outDistanceProfile | Profile& | Profile of distances between second path and consecutive points of first path | ||
![]() |
outDistances | Optional<Array<float>&> | NIL | Distances between second path and consecutive points of first path | |
![]() |
outConnectingSegments | Optional<Array<Segment2D>&> | NIL | Segments connecting second path and consecutive points of first path having minimal length |
Optional Outputs
The computation of following outputs can be switched off by passing value ftl::NIL
to these parameters: outDistances, outConnectingSegments.
Read more about Optional Outputs.
Description
The operation iterates over characteristic points of inPath1 and at each point computes the distance from this point to inPath2. The distance is computed as follows, depending on the value of inPathDistanceMode:
- The distance to nearest characteristic point of inPath2, if inPathDistanceMode is set to PointToPoint.
- The minimal distance to inPath2 segments adjacent to the nearest characteristic point of inPath2 (which is much more precise), if inPathDistanceMode is set to PointToSegment.
The operation computes outDistanceProfile profile of consecutive distances and, additionally, outConnectingSegments array of corresponding line segments.
Examples
![]() Sample paths |
![]() |
![]() |
The resulting outConnectingSegments drawn onto the input paths. |
The resulting outDistanceProfile. |
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Second input path is empty and first input path is not empty in PathToPathDistanceProfile. |
See Also
- PathToPathDistance – Computes the minimum distance between two paths.