eVision C++ API 26.10.0-beta.2.dev
Loading...
Searching...
No Matches
eVision::EQuadrangle Struct Reference

This class represents a polygon with four corners (with sub-pixel accuracy). More...

#include <eVision/Easy/EQuadrangle.h>

Collaboration diagram for eVision::EQuadrangle:

Public Member Functions

 EQuadrangle ()
 Constructs a EQuadrangle. The default constructor initializes all points to 0.
 EQuadrangle (std::vector< eVision::EPoint > corners)
 Constructs a EQuadrangle. The default constructor initializes all points to 0.
void SetPoint (const uint32_t &index, const eVision::EPoint &location)
 Sets the coordinates of a given corner of the quadrangle.
bool IsInside (const eVision::EPoint &point, bool includeEdges) const
bool IsInside (const eVision::EPoint &point) const
bool IsPointInside (const eVision::EPoint &point, bool includeEdges) const
 Tests if a point is inside the quadrangle.
bool IsPointInside (const eVision::EPoint &point) const
 Tests if a point is inside the quadrangle.
bool IsQuadrangleInside (const eVision::EQuadrangle &quadrangle, bool includeEdges) const
 Tests if a quadrangle is inside the quadrangle.
bool IsQuadrangleInside (const eVision::EQuadrangle &quadrangle) const
 Tests if a quadrangle is inside the quadrangle.
bool OverLaps (const eVision::EQuadrangle &other) const
 Tests if the quadrangles overlap.
float ComputeOverlap (const eVision::EQuadrangle &other) const
 Computes the overlap (intersection / min(area1, area2)) of this and the other EQuadrangle.
eVision::EPoint GetPoint (const uint32_t index) const
 Returns the coordinate of a given corner of the quadrangle.
float GetSideAngle (uint32_t sideIndex) const
 Returns the angle of a given side of the quadrangle.
float GetSideLength (uint32_t sideIndex) const
 Returns the length of a given side of the quadrangle.
float GetCornerAngle (uint32_t cornerIndex) const
 Returns the angle of a given corner of the quadrangle.
eVision::EPoint GetGravityCenter () const
 Returns the gravity center of the quadrangle.
float GetArea () const
 Returns the area of the quadrangle.
float GetPerimeter () const
 Returns the perimeter of the quadrangle.
std::vector< eVision::EPoint > GetCorners () const
 The corners of the EQuadrangle.
eVision::EPoint GetUpperLeftCorner () const
 Returns the coordinates of the upper left corner of the quadrangle (the position with the minimum Y and then minimum X).
eVision::EQuadrangle SensorToLocal (const eVision::EFrame &frame) const
 Converts the EQuadrangle from the sensor reference frame to the local reference frame.
eVision::EQuadrangle LocalToSensor (const eVision::EFrame &frame) const
 Converts the EQuadrangle from the local reference frame to the sensor reference frame.
void Draw (eVision::EDrawAdapter *graphicContext, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, float zoomX, float zoomY, float panX, float panY) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, float zoomX, float zoomY, float panX) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, float zoomX, float zoomY) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, float zoomX) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::EFrame &frame, float zoomX, float zoomY, float panX) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::EFrame &frame, float zoomX, float zoomY) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::EFrame &frame, float zoomX) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::EFrame &frame) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::ERGBColor &color, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::ERGBColor &color, float zoomX, float zoomY, float panX, float panY) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::ERGBColor &color, float zoomX, float zoomY, float panX) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::ERGBColor &color, float zoomX, float zoomY) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::ERGBColor &color, float zoomX) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::ERGBColor &color) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::ERGBColor &color, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::ERGBColor &color, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::ERGBColor &color, const eVision::EFrame &frame, float zoomX, float zoomY, float panX) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::ERGBColor &color, const eVision::EFrame &frame, float zoomX, float zoomY) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::ERGBColor &color, const eVision::EFrame &frame, float zoomX) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (eVision::EDrawAdapter *graphicContext, const eVision::ERGBColor &color, const eVision::EFrame &frame) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (HDC graphicContext, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (HDC graphicContext, float zoomX, float zoomY, float panX, float panY) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (HDC graphicContext, float zoomX, float zoomY, float panX) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (HDC graphicContext, float zoomX, float zoomY) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (HDC graphicContext, float zoomX) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (HDC graphicContext) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (HDC graphicContext, const eVision::ERGBColor &color, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (HDC graphicContext, const eVision::ERGBColor &color, float zoomX, float zoomY, float panX, float panY) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (HDC graphicContext, const eVision::ERGBColor &color, float zoomX, float zoomY, float panX) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (HDC graphicContext, const eVision::ERGBColor &color, float zoomX, float zoomY) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (HDC graphicContext, const eVision::ERGBColor &color, float zoomX) const
 Draws the quadrangle, by drawing lines between its corners.
void Draw (HDC graphicContext, const eVision::ERGBColor &color) const
 Draws the quadrangle, by drawing lines between its corners.
void DrawWithCurrentPen (HDC graphicContext, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals) const
 Draws the quadrangle, by drawing lines between its corners.
void DrawWithCurrentPen (HDC graphicContext, float zoomX, float zoomY, float panX, float panY) const
 Draws the quadrangle, by drawing lines between its corners.
void DrawWithCurrentPen (HDC graphicContext, float zoomX, float zoomY, float panX) const
 Draws the quadrangle, by drawing lines between its corners.
void DrawWithCurrentPen (HDC graphicContext, float zoomX, float zoomY) const
 Draws the quadrangle, by drawing lines between its corners.
void DrawWithCurrentPen (HDC graphicContext, float zoomX) const
 Draws the quadrangle, by drawing lines between its corners.
void DrawWithCurrentPen (HDC graphicContext) const
 Draws the quadrangle, by drawing lines between its corners.

Public Attributes

eVision::EPoint Corner0
 Corner 0 of the quadrangle.
eVision::EPoint Corner1
 Corner 1 of the quadrangle.
eVision::EPoint Corner2
 Corner 2 of the quadrangle.
eVision::EPoint Corner3
 Corner 3 of the quadrangle.

Detailed Description

This class represents a polygon with four corners (with sub-pixel accuracy).

A quadrangle especially arises when representing the corners of a rotated bounding box.

License(s): None

Constructor & Destructor Documentation

◆ EQuadrangle() [1/2]

eVision::EQuadrangle::EQuadrangle ( )

Constructs a EQuadrangle. The default constructor initializes all points to 0.

◆ EQuadrangle() [2/2]

eVision::EQuadrangle::EQuadrangle ( std::vector< eVision::EPoint > corners)

Constructs a EQuadrangle. The default constructor initializes all points to 0.

Parameters
cornersThe corners of the EQuadrangle.

Member Function Documentation

◆ ComputeOverlap()

float eVision::EQuadrangle::ComputeOverlap ( const eVision::EQuadrangle & other) const

Computes the overlap (intersection / min(area1, area2)) of this and the other EQuadrangle.

Parameters
otherThe other EQuadrangle to which we compute overlap.

◆ Draw() [1/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [2/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::EFrame & frame ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
frameFrame of reference in which the quadrangle is defined.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [3/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::EFrame & frame,
float zoomX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
frameFrame of reference in which the quadrangle is defined.
zoomXHorizontal zooming factor. By default, true scale is used.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [4/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::EFrame & frame,
float zoomX,
float zoomY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
frameFrame of reference in which the quadrangle is defined.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [5/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
frameFrame of reference in which the quadrangle is defined.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [6/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
frameFrame of reference in which the quadrangle is defined.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [7/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX,
float panY,
bool drawDiagonals ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
frameFrame of reference in which the quadrangle is defined.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.
drawDiagonalsSpecifies whether or not lines are to be drawn between the 1st and 3rd corners, as well as between the 2nd and 4th corners.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [8/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::ERGBColor & color ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [9/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::ERGBColor & color,
const eVision::EFrame & frame ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
frameFrame of reference in which the quadrangle is defined.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [10/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::ERGBColor & color,
const eVision::EFrame & frame,
float zoomX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
frameFrame of reference in which the quadrangle is defined.
zoomXHorizontal zooming factor. By default, true scale is used.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [11/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::ERGBColor & color,
const eVision::EFrame & frame,
float zoomX,
float zoomY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
frameFrame of reference in which the quadrangle is defined.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [12/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::ERGBColor & color,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
frameFrame of reference in which the quadrangle is defined.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [13/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::ERGBColor & color,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
frameFrame of reference in which the quadrangle is defined.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [14/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::ERGBColor & color,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX,
float panY,
bool drawDiagonals ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
frameFrame of reference in which the quadrangle is defined.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.
drawDiagonalsSpecifies whether or not lines are to be drawn between the 1st and 3rd corners, as well as between the 2nd and 4th corners.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [15/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::ERGBColor & color,
float zoomX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
zoomXHorizontal zooming factor. By default, true scale is used.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [16/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::ERGBColor & color,
float zoomX,
float zoomY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [17/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::ERGBColor & color,
float zoomX,
float zoomY,
float panX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [18/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::ERGBColor & color,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [19/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
const eVision::ERGBColor & color,
float zoomX,
float zoomY,
float panX,
float panY,
bool drawDiagonals ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.
drawDiagonalsSpecifies whether or not lines are to be drawn between the 1st and 3rd corners, as well as between the 2nd and 4th corners.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [20/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
float zoomX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [21/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
float zoomX,
float zoomY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [22/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
float zoomX,
float zoomY,
float panX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [23/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [24/36]

void eVision::EQuadrangle::Draw ( eVision::EDrawAdapter * graphicContext,
float zoomX,
float zoomY,
float panX,
float panY,
bool drawDiagonals ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.
drawDiagonalsSpecifies whether or not lines are to be drawn between the 1st and 3rd corners, as well as between the 2nd and 4th corners.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

◆ Draw() [25/36]

void eVision::EQuadrangle::Draw ( HDC graphicContext) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ Draw() [26/36]

void eVision::EQuadrangle::Draw ( HDC graphicContext,
const eVision::ERGBColor & color ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ Draw() [27/36]

void eVision::EQuadrangle::Draw ( HDC graphicContext,
const eVision::ERGBColor & color,
float zoomX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
zoomXHorizontal zooming factor. By default, true scale is used.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ Draw() [28/36]

void eVision::EQuadrangle::Draw ( HDC graphicContext,
const eVision::ERGBColor & color,
float zoomX,
float zoomY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ Draw() [29/36]

void eVision::EQuadrangle::Draw ( HDC graphicContext,
const eVision::ERGBColor & color,
float zoomX,
float zoomY,
float panX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ Draw() [30/36]

void eVision::EQuadrangle::Draw ( HDC graphicContext,
const eVision::ERGBColor & color,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ Draw() [31/36]

void eVision::EQuadrangle::Draw ( HDC graphicContext,
const eVision::ERGBColor & color,
float zoomX,
float zoomY,
float panX,
float panY,
bool drawDiagonals ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
colorThe color in which to draw the overlay.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.
drawDiagonalsSpecifies whether or not lines are to be drawn between the 1st and 3rd corners, as well as between the 2nd and 4th corners.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ Draw() [32/36]

void eVision::EQuadrangle::Draw ( HDC graphicContext,
float zoomX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ Draw() [33/36]

void eVision::EQuadrangle::Draw ( HDC graphicContext,
float zoomX,
float zoomY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ Draw() [34/36]

void eVision::EQuadrangle::Draw ( HDC graphicContext,
float zoomX,
float zoomY,
float panX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ Draw() [35/36]

void eVision::EQuadrangle::Draw ( HDC graphicContext,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ Draw() [36/36]

void eVision::EQuadrangle::Draw ( HDC graphicContext,
float zoomX,
float zoomY,
float panX,
float panY,
bool drawDiagonals ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.
drawDiagonalsSpecifies whether or not lines are to be drawn between the 1st and 3rd corners, as well as between the 2nd and 4th corners.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ DrawWithCurrentPen() [1/6]

void eVision::EQuadrangle::DrawWithCurrentPen ( HDC graphicContext) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ DrawWithCurrentPen() [2/6]

void eVision::EQuadrangle::DrawWithCurrentPen ( HDC graphicContext,
float zoomX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ DrawWithCurrentPen() [3/6]

void eVision::EQuadrangle::DrawWithCurrentPen ( HDC graphicContext,
float zoomX,
float zoomY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ DrawWithCurrentPen() [4/6]

void eVision::EQuadrangle::DrawWithCurrentPen ( HDC graphicContext,
float zoomX,
float zoomY,
float panX ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ DrawWithCurrentPen() [5/6]

void eVision::EQuadrangle::DrawWithCurrentPen ( HDC graphicContext,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ DrawWithCurrentPen() [6/6]

void eVision::EQuadrangle::DrawWithCurrentPen ( HDC graphicContext,
float zoomX,
float zoomY,
float panX,
float panY,
bool drawDiagonals ) const

Draws the quadrangle, by drawing lines between its corners.

Parameters
graphicContextGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.
drawDiagonalsSpecifies whether or not lines are to be drawn between the 1st and 3rd corners, as well as between the 2nd and 4th corners.

Drawing is done in the device context associated to the desired window.

Deprecation notice: All methods taking HDC as parameter are deprecated. It is recommended to use their alternative taking a EDrawAdapter by using a instance of EWindowsDrawAdapter.

Deprecated
Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ GetArea()

float eVision::EQuadrangle::GetArea ( ) const

Returns the area of the quadrangle.

◆ GetCornerAngle()

float eVision::EQuadrangle::GetCornerAngle ( uint32_t cornerIndex) const

Returns the angle of a given corner of the quadrangle.

Parameters
cornerIndexThe index of the corner of interest (must lie in the range between 0 and 3, inclusive).

◆ GetCorners()

std::vector< eVision::EPoint > eVision::EQuadrangle::GetCorners ( ) const

The corners of the EQuadrangle.

If the EQuadrangle belongs to an EQRCodeGeometry object, the corners are returned in the following order: top right, top left, bottom left, bottom right. If the EQuadrangle belongs to an EBarCode or EMatrixCode object, the corners are returned in the following order: top left, top right, bottom right, bottom left. Here, top left and so on means the top left of the code, not the top left of the image.

◆ GetGravityCenter()

eVision::EPoint eVision::EQuadrangle::GetGravityCenter ( ) const

Returns the gravity center of the quadrangle.

◆ GetPerimeter()

float eVision::EQuadrangle::GetPerimeter ( ) const

Returns the perimeter of the quadrangle.

◆ GetPoint()

eVision::EPoint eVision::EQuadrangle::GetPoint ( const uint32_t index) const

Returns the coordinate of a given corner of the quadrangle.

Parameters
indexThe index of the corner of interest (must lie in the range between 0 and 3, inclusive).

◆ GetSideAngle()

float eVision::EQuadrangle::GetSideAngle ( uint32_t sideIndex) const

Returns the angle of a given side of the quadrangle.

Side i is the line between corner i and corner (i+1)%4.

Parameters
sideIndexThe index of the side of interest (must lie in the range between 0 and 3, inclusive).

◆ GetSideLength()

float eVision::EQuadrangle::GetSideLength ( uint32_t sideIndex) const

Returns the length of a given side of the quadrangle.

Side i is the line between corner i and corner (i+1)%4.

Parameters
sideIndexThe index of the side of interest (must lie in the range between 0 and 3, inclusive).

◆ GetUpperLeftCorner()

eVision::EPoint eVision::EQuadrangle::GetUpperLeftCorner ( ) const

Returns the coordinates of the upper left corner of the quadrangle (the position with the minimum Y and then minimum X).

◆ IsInside() [1/2]

bool eVision::EQuadrangle::IsInside ( const eVision::EPoint & point) const

◆ IsInside() [2/2]

bool eVision::EQuadrangle::IsInside ( const eVision::EPoint & point,
bool includeEdges ) const

◆ IsPointInside() [1/2]

bool eVision::EQuadrangle::IsPointInside ( const eVision::EPoint & point) const

Tests if a point is inside the quadrangle.

Parameters
pointThe point.

◆ IsPointInside() [2/2]

bool eVision::EQuadrangle::IsPointInside ( const eVision::EPoint & point,
bool includeEdges ) const

Tests if a point is inside the quadrangle.

Parameters
pointThe point.
includeEdgesTakes the edges as part of the interior of the EQuadrangle. Default: false.

◆ IsQuadrangleInside() [1/2]

bool eVision::EQuadrangle::IsQuadrangleInside ( const eVision::EQuadrangle & quadrangle) const

Tests if a quadrangle is inside the quadrangle.

Parameters
quadrangleThe other quadrangle that is inside the EQuadrangle or not

◆ IsQuadrangleInside() [2/2]

bool eVision::EQuadrangle::IsQuadrangleInside ( const eVision::EQuadrangle & quadrangle,
bool includeEdges ) const

Tests if a quadrangle is inside the quadrangle.

Parameters
quadrangleThe other quadrangle that is inside the EQuadrangle or not
includeEdgesTakes the edges as part of the interior of the EQuadrangle. Default: false.

◆ LocalToSensor()

eVision::EQuadrangle eVision::EQuadrangle::LocalToSensor ( const eVision::EFrame & frame) const

Converts the EQuadrangle from the local reference frame to the sensor reference frame.

Parameters
frameReference frame in which the EQuadrangle is defined.

◆ OverLaps()

bool eVision::EQuadrangle::OverLaps ( const eVision::EQuadrangle & other) const

Tests if the quadrangles overlap.

Parameters
otherThe EQuadrangle to test.

◆ SensorToLocal()

eVision::EQuadrangle eVision::EQuadrangle::SensorToLocal ( const eVision::EFrame & frame) const

Converts the EQuadrangle from the sensor reference frame to the local reference frame.

Parameters
frameReference frame in which the EQuadrangle is defined.

◆ SetPoint()

void eVision::EQuadrangle::SetPoint ( const uint32_t & index,
const eVision::EPoint & location )

Sets the coordinates of a given corner of the quadrangle.

Parameters
indexThe index of the corner of interest (must lie in the range between 0 and 3, inclusive).
locationThe coordinate.

Member Data Documentation

◆ Corner0

eVision::EPoint eVision::EQuadrangle::Corner0

Corner 0 of the quadrangle.

◆ Corner1

eVision::EPoint eVision::EQuadrangle::Corner1

Corner 1 of the quadrangle.

◆ Corner2

eVision::EPoint eVision::EQuadrangle::Corner2

Corner 2 of the quadrangle.

◆ Corner3

eVision::EPoint eVision::EQuadrangle::Corner3

Corner 3 of the quadrangle.