Back to Adaptive Vision Library Lite websiteYou are here:
Start »
Geometry 2D Spatial Transforms »
PointAlongPath
Header: | AVL.h |
Namespace: | avl |
Transforms a point to a coordinate system in which the 'axis' path is vertical or horizontal.
Syntax
void avl::PointAlongPath
(
const avl::Point2D& inPoint,
const avl::Path& inAxis,
avl::Axis::Type inAxisType,
float inAxisCoordinate,
bool inInverse,
avl::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
- PointAlongArc – Transforms a point to a coordinate system in which the 'axis' arc is vertical or horizontal.