Back to Adaptive Vision Library Lite websiteYou are here:
Start »
Geometry 2D Normalizations »
NormalizeRectangleOrientation
NormalizeRectangleOrientation
Header: | AVL.h |
Namespace: | avl |
Changes orientation of the given rectangle according to parameters.
Syntax
void avl::NormalizeRectangleOrientation
(
const avl::Rectangle2D& inRectangle,
const float inReferenceAngle,
const avl::RectangleOrientation::Type inRectangleOrientation,
avl::Rectangle2D& outRectangle
)
Parameters
|
Name |
Type |
Default |
Description |
![](../../img/in.png) |
inRectangle |
const Rectangle2D& |
|
Input rectangle |
![](../../img/in.png) |
inReferenceAngle |
const float |
0.0f |
The middle angle of the valid range of the output rectangle's angle |
![](../../img/in.png) |
inRectangleOrientation |
const RectangleOrientation::Type |
Horizontal |
Orientation of the output rectangle |
![](../../img/out.png) |
outRectangle |
Rectangle2D& |
|
|
Description
The operation changes the input rectangle's marked corner so the output rectangle's rotation angle is the lowest possible not lower than
inReferenceAngle - 90 satisfying the
inRectangleOrientation parameter at the same time. Some sample parameters configurations are:
- inReferenceAngle = 90, inRectangleOrientation = Any – the marked corner will have the least y coordinate possible
- inReferenceAngle = 0, inRectangleOrientation = Any – the marked corner will have the least x coordinate possible
- inRectangleOrientation = Horizontal – the output rectangle's width will be not shorter than its height
- inRectangleOrientation = Vertical – the output rectangle's height will be not shorter than its width
Examples
NormalizeRectangleOrientation performed on a sample rectangle with inReferenceAngle = 90 and inRectangleOrientation = Any.