You are here: Start » Function Reference » Geometry 2D » Geometry 2D Spatial Transforms » PointAlongPath
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | FoundationLite |
Transforms a point to a coordinate system in which the 'axis' path is vertical or horizontal.
Applications: Usually used to revert an ImageAlongPath transformation.
Syntax
void fil::PointAlongPath ( const fil::Point2D& inPoint, const fil::Path& inAxis, fil::Axis::Type inAxisType, float inAxisCoordinate, bool inInverse, fil::Point2D& outPoint )
Parameters
Name | Type | Default | Description | |
---|---|---|---|---|
![]() |
inPoint | const Point2D& | Input point | |
![]() |
inAxis | const Path& | Input axis path | |
![]() |
inAxisType | Axis::Type | Y | Type of axis the input axis path is parallel to |
![]() |
inAxisCoordinate | float | 0.0f | Coordinate of the axis path |
![]() |
inInverse | bool | True | Switches to the inverse operation |
![]() |
outPoint | Point2D& | Transformed point |
Description
This operation transforms a point - inPoint - between two coordinate systems: the one linked with 'axis' path inAxis and the original one. Direction of this conversion is based on inInverse value:
- if it is true, inPoint is converted to original coordinate system
- if it is false, inPoint is converted from original coordinate system
Coordinate system linked with inAxis is some transformation of the original one, satisfying these conditions:
- 'axis' path is represented as a straight line
- 'axis' path is horizontal if inAxisType is set to X or vertical if inAxisType is set to Y
- if inAxisType is set to X, the Y coordinate of 'axis' path is equal to inAxisCoordinate. If inAxisType is set to Y, the X coordinate of 'axis' path is equal to inAxisCoordinate
Hints
- If this filter is used to reverse ImageAlongPath transformation you should set inAxis and inAxisType to the same values as corresponding ones in ImageAlongPath. inAxisCoordinate should be set to a half of ImageAlongPath.inScanWidth.
Examples
![]() |
![]() |
ImageAlongPath performed on the sample image with inAxisType = X, inScanWidth = 50 and path marked with blue. Point marked with blue cross on the output image was calculated by ScanSingleEdge. Original point (marked with orange cross) was calculated using PointAlongPath with inAxisType = X, inAxisCoordinate = 25, inInverse = true and position of detected point. ImageAlongPath and PointAlongPath used the same path for transformations.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Empty path on input in PointAlongPath. |
See Also
- ImageAlongPath – Creates an image from pixels traversed along a path.
- PathAlongPath – Transforms a path to a coordinate system in which the 'axis' path is vertical or horizontal.
- PointAlongArc – Transforms a point to a coordinate system in which the 'axis' arc is vertical or horizontal.