Transforms a point to a coordinate system in which the 'axis' path is vertical or horizontal.
Applications: Usually used to revert an ImageAlongPath transformation.
void avl::PointAlongPath ( const avl::Point2D& inPoint, const avl::Path& inAxis, avl::Axis::Type inAxisType, float inAxisCoordinate, bool inInverse, avl::Point2D& outPoint )
|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|
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
- 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.
List of possible exceptions:
|DomainError||Empty path on input in PointAlongPath.|