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

An exact (floating-point) location in the 2D space. More...

#include <eVision/Easy/EPoint.h>

Public Member Functions

 EPoint ()
 Constructs a EPoint object.
 EPoint (float centerX, float centerY)
 Constructs a EPoint object.
 EPoint (const eVision::EFrame &frame)
 Constructs a EPoint object.
eVision::EPoint operator+ (const eVision::EPoint &point) const
 Adds to the current EPoint center coordinates the center coordinates of another EPoint object.
eVision::EPoint operator- (const eVision::EPoint &point) const
 Subtracts from the current EPoint center coordinates the center coordinates of another EPoint object.
eVision::EPoint operator* (float scalar) const
 Multiplies the current EPoint center coordinates by a given multiplier.
eVision::EPoint operator/ (float scalar) const
 Divides the current EPoint center coordinates by a given divisor.
bool operator== (const eVision::EPoint &point) const
 Compares the current EPoint center coordinates with the center coordinates of another EPoint object.
bool operator!= (const eVision::EPoint &point) const
 Compares the current EPoint center coordinates with the center coordinates of another EPoint object.
void CopyTo (eVision::EPoint &other) const
 Copies all the data of the current EPoint object into another EPoint object and returns it.
eVision::EPoint * CopyTo (eVision::EPoint *other) const
 Copies all the data of the current EPoint object into another EPoint object and returns it.
void SetCenter (const eVision::EPoint &center)
 Center coordinates of a EPoint object.
eVision::EPoint GetCenter () const
 Center coordinates of a EPoint object.
void SetCenterXY (float centerX, float centerY)
 Sets the center coordinates of a EPoint object.
float GetX () const
 Abscissa (X coordinate) of the EPoint object.
void SetX (float value)
 Abscissa (X coordinate) of the EPoint object.
float GetY () const
 Ordinate (Y coordinate) of the EPoint object.
void SetY (float value)
 Abscissa (X coordinate) of the EPoint object.
eVision::EPoint MidPoint (const eVision::EPoint &Point) const
 Returns the middle coordinate between this EPoint object and another EPoint object.
eVision::EPoint Rotate (float angle) const
 Returns another EPoint object containing the coordinated of the rotated point.
float Square () const
 Compute the sum of the squared coordinates of a EPoint.
float Modulus () const
 Compute the euclidean modulus of a EPoint.
float Argument () const
 Compute the polar argument of a EPoint object.
float Dot (const eVision::EPoint &Point) const
 Compute the dot product of two EPoint object.
float Cross (const eVision::EPoint &Point) const
 Compute the cross product of two EPoint object.
float Area (const eVision::EPoint &Point) const
 Compute the oriented area of the parallelogram built on two EPoint.
eVision::EPoint Project (const eVision::ELine &line, bool segmentOnly) const
 Compute the orthogonal projection of a EPoint on another shape.
eVision::EPoint Project (const eVision::ELine &line) const
 Compute the orthogonal projection of a EPoint on another shape.
eVision::EPoint Project (const eVision::ECircle &circle, bool arcOnly) const
 Compute the orthogonal projection of a EPoint on another shape.
eVision::EPoint Project (const eVision::ECircle &circle) const
 Compute the orthogonal projection of a EPoint on another shape.
eVision::EPoint Project (const eVision::Legacy::ELine &line, bool segmentOnly) const
 Compute the orthogonal projection of a EPoint on another shape.
eVision::EPoint Project (const eVision::Legacy::ELine &line) const
 Compute the orthogonal projection of a EPoint on another shape.
eVision::EPoint Project (const eVision::Legacy::ECircle &circle, bool arcOnly) const
 Compute the orthogonal projection of a EPoint on another shape.
eVision::EPoint Project (const eVision::Legacy::ECircle &circle) const
 Compute the orthogonal projection of a EPoint on another shape.
float SquaredDistance (const eVision::EPoint &Point) const
 Compute the squared distance between two EPoint.
eVision::EPoint Move (float angle, float distance) const
 Return the position by moving the point along angle by distance.
float Distance (const eVision::EPoint &point) const
 Returns the distance between the addressed point and an EPoint object.
float Distance (const eVision::ELine &line, bool segmentOnly) const
 Returns the distance between the addressed point and an EPoint object.
float Distance (const eVision::ELine &line) const
 Returns the distance between the addressed point and an EPoint object.
float Distance (const eVision::ECircle &circle, bool arcOnly) const
 Returns the distance between the addressed point and an EPoint object.
float Distance (const eVision::ECircle &circle) const
 Returns the distance between the addressed point and an EPoint object.
float Distance (const eVision::Legacy::ELine &line, bool segmentOnly) const
 Returns the distance between the addressed point and an EPoint object.
float Distance (const eVision::Legacy::ELine &line) const
 Returns the distance between the addressed point and an EPoint object.
float Distance (const eVision::Legacy::ECircle &circle, bool arcOnly) const
 Returns the distance between the addressed point and an EPoint object.
float Distance (const eVision::Legacy::ECircle &circle) const
 Returns the distance between the addressed point and an EPoint object.
void Load (const std::string &path)
 Load the EPoint configuration. The given ESerializer must have been created for reading.
void Load (eVision::ESerializer *serializer)
 Load the EPoint configuration. The given ESerializer must have been created for reading.
void Save (const std::string &path)
 Save the EPoint configuration. The given ESerializer must have been created for writing.
void Save (eVision::ESerializer *serializer)
 Save the EPoint configuration. The given ESerializer must have been created for writing.
void Draw (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY, float panX, float panY) const
 Draws the EPoint.
void Draw (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY, float panX) const
 Draws the EPoint.
void Draw (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY) const
 Draws the EPoint.
void Draw (eVision::EDrawAdapter *drawAdapter, float zoomX) const
 Draws the EPoint.
void Draw (eVision::EDrawAdapter *drawAdapter) const
 Draws the EPoint.
void Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY) const
 Draws the EPoint.
void Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX, float zoomY, float panX) const
 Draws the EPoint.
void Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX, float zoomY) const
 Draws the EPoint.
void Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX) const
 Draws the EPoint.
void Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame) const
 Draws the EPoint.
void DrawHandle (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY, float panX, float panY) const
 Draws the EPoint handle for graphical manipulation.
void DrawHandle (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY, float panX) const
 Draws the EPoint handle for graphical manipulation.
void DrawHandle (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY) const
 Draws the EPoint handle for graphical manipulation.
void DrawHandle (eVision::EDrawAdapter *drawAdapter, float zoomX) const
 Draws the EPoint handle for graphical manipulation.
void DrawHandle (eVision::EDrawAdapter *drawAdapter) const
 Draws the EPoint handle for graphical manipulation.
void DrawHandle (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY) const
 Draws the EPoint handle for graphical manipulation.
void DrawHandle (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX, float zoomY, float panX) const
 Draws the EPoint handle for graphical manipulation.
void DrawHandle (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX, float zoomY) const
 Draws the EPoint handle for graphical manipulation.
void DrawHandle (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX) const
 Draws the EPoint handle for graphical manipulation.
void DrawHandle (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame) const
 Draws the EPoint handle for graphical manipulation.
eVision::EEditionMode HitTest (int32_t x, int32_t y, float zoomX, float zoomY, float panX, float panY)
 Detects if the cursor is placed over the point.
eVision::EEditionMode HitTest (int32_t x, int32_t y, float zoomX, float zoomY, float panX)
 Detects if the cursor is placed over the point.
eVision::EEditionMode HitTest (int32_t x, int32_t y, float zoomX, float zoomY)
 Detects if the cursor is placed over the point.
eVision::EEditionMode HitTest (int32_t x, int32_t y, float zoomX)
 Detects if the cursor is placed over the point.
eVision::EEditionMode HitTest (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY)
 Detects if the cursor is placed over the point.
eVision::EEditionMode HitTest (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX, float zoomY, float panX)
 Detects if the cursor is placed over the point.
eVision::EEditionMode HitTest (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX, float zoomY)
 Detects if the cursor is placed over the point.
eVision::EEditionMode HitTest (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX)
 Detects if the cursor is placed over the point.
void Drag (int32_t x, int32_t y, float zoomX, float zoomY, float panX, float panY)
 Moves the point to a new position.
void Drag (int32_t x, int32_t y, float zoomX, float zoomY, float panX)
 Moves the point to a new position.
void Drag (int32_t x, int32_t y, float zoomX, float zoomY)
 Moves the point to a new position.
void Drag (int32_t x, int32_t y, float zoomX)
 Moves the point to a new position.
void Drag (int32_t x, int32_t y)
 Moves the point to a new position.
void Drag (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY)
 Moves the point to a new position.
void Drag (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX, float zoomY, float panX)
 Moves the point to a new position.
void Drag (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX, float zoomY)
 Moves the point to a new position.
void Drag (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX)
 Moves the point to a new position.
void Drag (int32_t x, int32_t y, const eVision::EFrame &frame)
 Moves the point to a new position.

Public Attributes

float X
 Abscissa (X coordinate) of the EPoint object.
float Y
 Ordinate (Y coordinate) of the EPoint object.

Detailed Description

An exact (floating-point) location in the 2D space.

License(s): None

Constructor & Destructor Documentation

◆ EPoint() [1/3]

eVision::EPoint::EPoint ( )

Constructs a EPoint object.

◆ EPoint() [2/3]

eVision::EPoint::EPoint ( float centerX,
float centerY )

Constructs a EPoint object.

Parameters
centerXCenter coordinates of the EPoint object.
centerYCenter coordinates of the EPoint object.

◆ EPoint() [3/3]

eVision::EPoint::EPoint ( const eVision::EFrame & frame)

Constructs a EPoint object.

Parameters
frameTo construct a EPoint from the center of a EFrame
Deprecated

Use EFrame::SetCenter or EFrame::GetSensorCenter instead.

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

Member Function Documentation

◆ Area()

float eVision::EPoint::Area ( const eVision::EPoint & Point) const

Compute the oriented area of the parallelogram built on two EPoint.

Parameters
PointSecond edge of the parallelogram.

Compute the oriented area of the parallelogram built on two EPoint. The area is counted as positive if the oriented vector pair ('first edge', 'second edge') is in the same sense that the axis frame. This oriented area can also be viewed as the z-coordinate of a vector product of two 3D vectors obtained in supplementing each edges with a third z-coordinate (set to zero).

◆ Argument()

float eVision::EPoint::Argument ( ) const

Compute the polar argument of a EPoint object.

Compute the angle (in radians) between the oriented X-axis and the vector going from the axis origin and the EPoint. If the axis frame is orthogonal, this number is also the polar argument of the EPoint.

◆ CopyTo() [1/2]

void eVision::EPoint::CopyTo ( eVision::EPoint & other) const

Copies all the data of the current EPoint object into another EPoint object and returns it.

Parameters
otherEPoint object in which the current EPoint object data have to be copied.

In the overload taking a pointer, in case of a NULL pointer, a new EPoint object will be created and returned.

◆ CopyTo() [2/2]

eVision::EPoint * eVision::EPoint::CopyTo ( eVision::EPoint * other) const

Copies all the data of the current EPoint object into another EPoint object and returns it.

Parameters
otherEPoint object in which the current EPoint object data have to be copied.

In the overload taking a pointer, in case of a NULL pointer, a new EPoint object will be created and returned.

Deprecated

Use the overload taking a reference.

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

◆ Cross()

float eVision::EPoint::Cross ( const eVision::EPoint & Point) const

Compute the cross product of two EPoint object.

Parameters
PointSecond factor of the cross product.

◆ Distance() [1/9]

float eVision::EPoint::Distance ( const eVision::ECircle & circle) const

Returns the distance between the addressed point and an EPoint object.

Parameters
circleECircle object with which to calculate the distance.

Many EasyGauge members provide measurement result as a EPoint::EPoint object (see EPointGauge::GetCenter, EPointGauge::GetMeasuredPoint,...). The EPoint class has its own members to retrieve all the information pertaining to a point. Among them, the Distance method returns the distance between a point pair or between a point and a line segment, a circle arc or a rectangle.

◆ Distance() [2/9]

float eVision::EPoint::Distance ( const eVision::ECircle & circle,
bool arcOnly ) const

Returns the distance between the addressed point and an EPoint object.

Parameters
circleECircle object with which to calculate the distance.
arcOnlyBy default (false), the circle is not restricted to an arc.

Many EasyGauge members provide measurement result as a EPoint::EPoint object (see EPointGauge::GetCenter, EPointGauge::GetMeasuredPoint,...). The EPoint class has its own members to retrieve all the information pertaining to a point. Among them, the Distance method returns the distance between a point pair or between a point and a line segment, a circle arc or a rectangle.

◆ Distance() [3/9]

float eVision::EPoint::Distance ( const eVision::ELine & line) const

Returns the distance between the addressed point and an EPoint object.

Parameters
lineELine object with which to calculate the distance.

Many EasyGauge members provide measurement result as a EPoint::EPoint object (see EPointGauge::GetCenter, EPointGauge::GetMeasuredPoint,...). The EPoint class has its own members to retrieve all the information pertaining to a point. Among them, the Distance method returns the distance between a point pair or between a point and a line segment, a circle arc or a rectangle.

◆ Distance() [4/9]

float eVision::EPoint::Distance ( const eVision::ELine & line,
bool segmentOnly ) const

Returns the distance between the addressed point and an EPoint object.

Parameters
lineELine object with which to calculate the distance.
segmentOnlyBy default (false), the line is not restricted to a segment.

Many EasyGauge members provide measurement result as a EPoint::EPoint object (see EPointGauge::GetCenter, EPointGauge::GetMeasuredPoint,...). The EPoint class has its own members to retrieve all the information pertaining to a point. Among them, the Distance method returns the distance between a point pair or between a point and a line segment, a circle arc or a rectangle.

◆ Distance() [5/9]

float eVision::EPoint::Distance ( const eVision::EPoint & point) const

Returns the distance between the addressed point and an EPoint object.

Parameters
pointEPoint::EPoint object with which to calculate the distance.

Many EasyGauge members provide measurement result as a EPoint::EPoint object (see EPointGauge::GetCenter, EPointGauge::GetMeasuredPoint,...). The EPoint class has its own members to retrieve all the information pertaining to a point. Among them, the Distance method returns the distance between a point pair or between a point and a line segment, a circle arc or a rectangle.

◆ Distance() [6/9]

float eVision::EPoint::Distance ( const eVision::Legacy::ECircle & circle) const

Returns the distance between the addressed point and an EPoint object.

Parameters
circleECircle object with which to calculate the distance.

Many EasyGauge members provide measurement result as a EPoint::EPoint object (see EPointGauge::GetCenter, EPointGauge::GetMeasuredPoint,...). The EPoint class has its own members to retrieve all the information pertaining to a point. Among them, the Distance method returns the distance between a point pair or between a point and a line segment, a circle arc or a rectangle.

◆ Distance() [7/9]

float eVision::EPoint::Distance ( const eVision::Legacy::ECircle & circle,
bool arcOnly ) const

Returns the distance between the addressed point and an EPoint object.

Parameters
circleECircle object with which to calculate the distance.
arcOnlyBy default (false), the circle is not restricted to an arc.

Many EasyGauge members provide measurement result as a EPoint::EPoint object (see EPointGauge::GetCenter, EPointGauge::GetMeasuredPoint,...). The EPoint class has its own members to retrieve all the information pertaining to a point. Among them, the Distance method returns the distance between a point pair or between a point and a line segment, a circle arc or a rectangle.

◆ Distance() [8/9]

float eVision::EPoint::Distance ( const eVision::Legacy::ELine & line) const

Returns the distance between the addressed point and an EPoint object.

Parameters
lineELine object with which to calculate the distance.

Many EasyGauge members provide measurement result as a EPoint::EPoint object (see EPointGauge::GetCenter, EPointGauge::GetMeasuredPoint,...). The EPoint class has its own members to retrieve all the information pertaining to a point. Among them, the Distance method returns the distance between a point pair or between a point and a line segment, a circle arc or a rectangle.

◆ Distance() [9/9]

float eVision::EPoint::Distance ( const eVision::Legacy::ELine & line,
bool segmentOnly ) const

Returns the distance between the addressed point and an EPoint object.

Parameters
lineELine object with which to calculate the distance.
segmentOnlyBy default (false), the line is not restricted to a segment.

Many EasyGauge members provide measurement result as a EPoint::EPoint object (see EPointGauge::GetCenter, EPointGauge::GetMeasuredPoint,...). The EPoint class has its own members to retrieve all the information pertaining to a point. Among them, the Distance method returns the distance between a point pair or between a point and a line segment, a circle arc or a rectangle.

◆ Dot()

float eVision::EPoint::Dot ( const eVision::EPoint & Point) const

Compute the dot product of two EPoint object.

Parameters
PointSecond factor of the dot product.

◆ Drag() [1/10]

void eVision::EPoint::Drag ( int32_t x,
int32_t y )

Moves the point to a new position.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.

A point doesn't need to be hit before being draggable. If you want this behavior, save the returned value of EPoint::HitTest and call this method only when this value is different from EEditionMode.None.

◆ Drag() [2/10]

void eVision::EPoint::Drag ( int32_t x,
int32_t y,
const eVision::EFrame & frame )

Moves the point to a new position.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
frameFrame of reference in which the point is defined.

A point doesn't need to be hit before being draggable. If you want this behavior, save the returned value of EPoint::HitTest and call this method only when this value is different from EEditionMode.None.

◆ Drag() [3/10]

void eVision::EPoint::Drag ( int32_t x,
int32_t y,
const eVision::EFrame & frame,
float zoomX )

Moves the point to a new position.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
frameFrame of reference in which the point is defined.
zoomXHorizontal zoom factor. By default, true scale is used.

A point doesn't need to be hit before being draggable. If you want this behavior, save the returned value of EPoint::HitTest and call this method only when this value is different from EEditionMode.None.

◆ Drag() [4/10]

void eVision::EPoint::Drag ( int32_t x,
int32_t y,
const eVision::EFrame & frame,
float zoomX,
float zoomY )

Moves the point to a new position.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
frameFrame of reference in which the point is defined.
zoomXHorizontal zoom factor. By default, true scale is used.
zoomYVertical zoom factor. By default, true scale is used.

A point doesn't need to be hit before being draggable. If you want this behavior, save the returned value of EPoint::HitTest and call this method only when this value is different from EEditionMode.None.

◆ Drag() [5/10]

void eVision::EPoint::Drag ( int32_t x,
int32_t y,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX )

Moves the point to a new position.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
frameFrame of reference in which the point is defined.
zoomXHorizontal zoom factor. By default, true scale is used.
zoomYVertical zoom factor. By default, true scale is used.
panXHorizontal pan offset. By default, no pan is added.

A point doesn't need to be hit before being draggable. If you want this behavior, save the returned value of EPoint::HitTest and call this method only when this value is different from EEditionMode.None.

◆ Drag() [6/10]

void eVision::EPoint::Drag ( int32_t x,
int32_t y,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX,
float panY )

Moves the point to a new position.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
frameFrame of reference in which the point is defined.
zoomXHorizontal zoom factor. By default, true scale is used.
zoomYVertical zoom factor. By default, true scale is used.
panXHorizontal pan offset. By default, no pan is added.
panYVertical pan offset. By default, no pan is added.

A point doesn't need to be hit before being draggable. If you want this behavior, save the returned value of EPoint::HitTest and call this method only when this value is different from EEditionMode.None.

◆ Drag() [7/10]

void eVision::EPoint::Drag ( int32_t x,
int32_t y,
float zoomX )

Moves the point to a new position.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
zoomXHorizontal zoom factor. By default, true scale is used.

A point doesn't need to be hit before being draggable. If you want this behavior, save the returned value of EPoint::HitTest and call this method only when this value is different from EEditionMode.None.

◆ Drag() [8/10]

void eVision::EPoint::Drag ( int32_t x,
int32_t y,
float zoomX,
float zoomY )

Moves the point to a new position.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
zoomXHorizontal zoom factor. By default, true scale is used.
zoomYVertical zoom factor. By default, true scale is used.

A point doesn't need to be hit before being draggable. If you want this behavior, save the returned value of EPoint::HitTest and call this method only when this value is different from EEditionMode.None.

◆ Drag() [9/10]

void eVision::EPoint::Drag ( int32_t x,
int32_t y,
float zoomX,
float zoomY,
float panX )

Moves the point to a new position.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
zoomXHorizontal zoom factor. By default, true scale is used.
zoomYVertical zoom factor. By default, true scale is used.
panXHorizontal pan offset. By default, no pan is added.

A point doesn't need to be hit before being draggable. If you want this behavior, save the returned value of EPoint::HitTest and call this method only when this value is different from EEditionMode.None.

◆ Drag() [10/10]

void eVision::EPoint::Drag ( int32_t x,
int32_t y,
float zoomX,
float zoomY,
float panX,
float panY )

Moves the point to a new position.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
zoomXHorizontal zoom factor. By default, true scale is used.
zoomYVertical zoom factor. By default, true scale is used.
panXHorizontal pan offset. By default, no pan is added.
panYVertical pan offset. By default, no pan is added.

A point doesn't need to be hit before being draggable. If you want this behavior, save the returned value of EPoint::HitTest and call this method only when this value is different from EEditionMode.None.

◆ Draw() [1/10]

void eVision::EPoint::Draw ( eVision::EDrawAdapter * drawAdapter) const

Draws the EPoint.

Parameters
drawAdapterHandle of the device context on which to draw.

◆ Draw() [2/10]

void eVision::EPoint::Draw ( eVision::EDrawAdapter * drawAdapter,
const eVision::EFrame & frame ) const

Draws the EPoint.

Parameters
drawAdapterHandle of the device context on which to draw.
frameFrame of reference in which the point is defined.

◆ Draw() [3/10]

void eVision::EPoint::Draw ( eVision::EDrawAdapter * drawAdapter,
const eVision::EFrame & frame,
float zoomX ) const

Draws the EPoint.

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

◆ Draw() [4/10]

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

Draws the EPoint.

Parameters
drawAdapterHandle of the device context on which to draw.
frameFrame of reference in which the point 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.

◆ Draw() [5/10]

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

Draws the EPoint.

Parameters
drawAdapterHandle of the device context on which to draw.
frameFrame of reference in which the point 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.

◆ Draw() [6/10]

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

Draws the EPoint.

Parameters
drawAdapterHandle of the device context on which to draw.
frameFrame of reference in which the point 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.

◆ Draw() [7/10]

void eVision::EPoint::Draw ( eVision::EDrawAdapter * drawAdapter,
float zoomX ) const

Draws the EPoint.

Parameters
drawAdapterHandle of the device context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.

◆ Draw() [8/10]

void eVision::EPoint::Draw ( eVision::EDrawAdapter * drawAdapter,
float zoomX,
float zoomY ) const

Draws the EPoint.

Parameters
drawAdapterHandle of the device 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.

◆ Draw() [9/10]

void eVision::EPoint::Draw ( eVision::EDrawAdapter * drawAdapter,
float zoomX,
float zoomY,
float panX ) const

Draws the EPoint.

Parameters
drawAdapterHandle of the device 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.

◆ Draw() [10/10]

void eVision::EPoint::Draw ( eVision::EDrawAdapter * drawAdapter,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draws the EPoint.

Parameters
drawAdapterHandle of the device 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.

◆ DrawHandle() [1/10]

void eVision::EPoint::DrawHandle ( eVision::EDrawAdapter * drawAdapter) const

Draws the EPoint handle for graphical manipulation.

Parameters
drawAdapterHandle of the device context on which to draw.

◆ DrawHandle() [2/10]

void eVision::EPoint::DrawHandle ( eVision::EDrawAdapter * drawAdapter,
const eVision::EFrame & frame ) const

Draws the EPoint handle for graphical manipulation.

Parameters
drawAdapterHandle of the device context on which to draw.
frameFrame of reference in which the point is defined.

◆ DrawHandle() [3/10]

void eVision::EPoint::DrawHandle ( eVision::EDrawAdapter * drawAdapter,
const eVision::EFrame & frame,
float zoomX ) const

Draws the EPoint handle for graphical manipulation.

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

◆ DrawHandle() [4/10]

void eVision::EPoint::DrawHandle ( eVision::EDrawAdapter * drawAdapter,
const eVision::EFrame & frame,
float zoomX,
float zoomY ) const

Draws the EPoint handle for graphical manipulation.

Parameters
drawAdapterHandle of the device context on which to draw.
frameFrame of reference in which the point 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.

◆ DrawHandle() [5/10]

void eVision::EPoint::DrawHandle ( eVision::EDrawAdapter * drawAdapter,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX ) const

Draws the EPoint handle for graphical manipulation.

Parameters
drawAdapterHandle of the device context on which to draw.
frameFrame of reference in which the point 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.

◆ DrawHandle() [6/10]

void eVision::EPoint::DrawHandle ( eVision::EDrawAdapter * drawAdapter,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draws the EPoint handle for graphical manipulation.

Parameters
drawAdapterHandle of the device context on which to draw.
frameFrame of reference in which the point 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.

◆ DrawHandle() [7/10]

void eVision::EPoint::DrawHandle ( eVision::EDrawAdapter * drawAdapter,
float zoomX ) const

Draws the EPoint handle for graphical manipulation.

Parameters
drawAdapterHandle of the device context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.

◆ DrawHandle() [8/10]

void eVision::EPoint::DrawHandle ( eVision::EDrawAdapter * drawAdapter,
float zoomX,
float zoomY ) const

Draws the EPoint handle for graphical manipulation.

Parameters
drawAdapterHandle of the device 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.

◆ DrawHandle() [9/10]

void eVision::EPoint::DrawHandle ( eVision::EDrawAdapter * drawAdapter,
float zoomX,
float zoomY,
float panX ) const

Draws the EPoint handle for graphical manipulation.

Parameters
drawAdapterHandle of the device 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.

◆ DrawHandle() [10/10]

void eVision::EPoint::DrawHandle ( eVision::EDrawAdapter * drawAdapter,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draws the EPoint handle for graphical manipulation.

Parameters
drawAdapterHandle of the device 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.

◆ GetCenter()

eVision::EPoint eVision::EPoint::GetCenter ( ) const

Center coordinates of a EPoint object.

Deprecated

Use the copy constructor instead.

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

◆ GetX()

float eVision::EPoint::GetX ( ) const

Abscissa (X coordinate) of the EPoint object.

◆ GetY()

float eVision::EPoint::GetY ( ) const

Ordinate (Y coordinate) of the EPoint object.

◆ HitTest() [1/8]

eVision::EEditionMode eVision::EPoint::HitTest ( int32_t x,
int32_t y,
const eVision::EFrame & frame,
float zoomX )

Detects if the cursor is placed over the point.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
frameFrame of reference in which the point is defined.
zoomXHorizontal zoom factor. By default, true scale is used.

Returns an EEditionMode indicating the type of handle under the mouse.

◆ HitTest() [2/8]

eVision::EEditionMode eVision::EPoint::HitTest ( int32_t x,
int32_t y,
const eVision::EFrame & frame,
float zoomX,
float zoomY )

Detects if the cursor is placed over the point.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
frameFrame of reference in which the point is defined.
zoomXHorizontal zoom factor. By default, true scale is used.
zoomYVertical zoom factor. By default, true scale is used.

Returns an EEditionMode indicating the type of handle under the mouse.

◆ HitTest() [3/8]

eVision::EEditionMode eVision::EPoint::HitTest ( int32_t x,
int32_t y,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX )

Detects if the cursor is placed over the point.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
frameFrame of reference in which the point is defined.
zoomXHorizontal zoom factor. By default, true scale is used.
zoomYVertical zoom factor. By default, true scale is used.
panXHorizontal pan offset. By default, no pan is added.

Returns an EEditionMode indicating the type of handle under the mouse.

◆ HitTest() [4/8]

eVision::EEditionMode eVision::EPoint::HitTest ( int32_t x,
int32_t y,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX,
float panY )

Detects if the cursor is placed over the point.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
frameFrame of reference in which the point is defined.
zoomXHorizontal zoom factor. By default, true scale is used.
zoomYVertical zoom factor. By default, true scale is used.
panXHorizontal pan offset. By default, no pan is added.
panYVertical pan offset. By default, no pan is added.

Returns an EEditionMode indicating the type of handle under the mouse.

◆ HitTest() [5/8]

eVision::EEditionMode eVision::EPoint::HitTest ( int32_t x,
int32_t y,
float zoomX )

Detects if the cursor is placed over the point.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
zoomXHorizontal zoom factor. By default, true scale is used.

Returns an EEditionMode indicating the type of handle under the mouse.

◆ HitTest() [6/8]

eVision::EEditionMode eVision::EPoint::HitTest ( int32_t x,
int32_t y,
float zoomX,
float zoomY )

Detects if the cursor is placed over the point.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
zoomXHorizontal zoom factor. By default, true scale is used.
zoomYVertical zoom factor. By default, true scale is used.

Returns an EEditionMode indicating the type of handle under the mouse.

◆ HitTest() [7/8]

eVision::EEditionMode eVision::EPoint::HitTest ( int32_t x,
int32_t y,
float zoomX,
float zoomY,
float panX )

Detects if the cursor is placed over the point.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
zoomXHorizontal zoom factor. By default, true scale is used.
zoomYVertical zoom factor. By default, true scale is used.
panXHorizontal pan offset. By default, no pan is added.

Returns an EEditionMode indicating the type of handle under the mouse.

◆ HitTest() [8/8]

eVision::EEditionMode eVision::EPoint::HitTest ( int32_t x,
int32_t y,
float zoomX,
float zoomY,
float panX,
float panY )

Detects if the cursor is placed over the point.

Parameters
xx-coordinate of the mouse cursor.
yy-coordinate of the mouse cursor.
zoomXHorizontal zoom factor. By default, true scale is used.
zoomYVertical zoom factor. By default, true scale is used.
panXHorizontal pan offset. By default, no pan is added.
panYVertical pan offset. By default, no pan is added.

Returns an EEditionMode indicating the type of handle under the mouse.

◆ Load() [1/2]

void eVision::EPoint::Load ( const std::string & path)

Load the EPoint configuration. The given ESerializer must have been created for reading.

Parameters
pathThe file path.

◆ Load() [2/2]

void eVision::EPoint::Load ( eVision::ESerializer * serializer)

Load the EPoint configuration. The given ESerializer must have been created for reading.

Parameters
serializerThe serializer.

◆ MidPoint()

eVision::EPoint eVision::EPoint::MidPoint ( const eVision::EPoint & Point) const

Returns the middle coordinate between this EPoint object and another EPoint object.

Parameters
PointThe other EPoint object.

◆ Modulus()

float eVision::EPoint::Modulus ( ) const

Compute the euclidean modulus of a EPoint.

Compute the squared root of the sum of the squared coordinates of an EPoint. If the axis frame is orthogonal, this number is also the euclidean norm of the EPoint.

◆ Move()

eVision::EPoint eVision::EPoint::Move ( float angle,
float distance ) const

Return the position by moving the point along angle by distance.

Parameters
angleThe direction of the displacement, in radians.
distanceThe distance of the displacement.

◆ operator!=()

bool eVision::EPoint::operator!= ( const eVision::EPoint & point) const

Compares the current EPoint center coordinates with the center coordinates of another EPoint object.

Parameters
pointThe other EPoint object.

Returns true if X and Y are respectively different.

◆ operator*()

eVision::EPoint eVision::EPoint::operator* ( float scalar) const

Multiplies the current EPoint center coordinates by a given multiplier.

Parameters
scalarThe multiplier.

◆ operator+()

eVision::EPoint eVision::EPoint::operator+ ( const eVision::EPoint & point) const

Adds to the current EPoint center coordinates the center coordinates of another EPoint object.

Parameters
pointThe other EPoint object.

◆ operator-()

eVision::EPoint eVision::EPoint::operator- ( const eVision::EPoint & point) const

Subtracts from the current EPoint center coordinates the center coordinates of another EPoint object.

Parameters
pointThe other EPoint object.

◆ operator/()

eVision::EPoint eVision::EPoint::operator/ ( float scalar) const

Divides the current EPoint center coordinates by a given divisor.

Parameters
scalarThe divisor.

◆ operator==()

bool eVision::EPoint::operator== ( const eVision::EPoint & point) const

Compares the current EPoint center coordinates with the center coordinates of another EPoint object.

Parameters
pointThe other EPoint object.

Returns true if both X and Y are respectively the same.

◆ Project() [1/8]

eVision::EPoint eVision::EPoint::Project ( const eVision::ECircle & circle) const

Compute the orthogonal projection of a EPoint on another shape.

Parameters
circleECircle object to which point is projected.

Compute the orthogonal projection of a EPoint on another shape. This computation is only valid when the axis frame is orthogonal. When the shape is restricted and the orthogonal projection does not lie on the shape, then the closest point on the shape is returned instead.

◆ Project() [2/8]

eVision::EPoint eVision::EPoint::Project ( const eVision::ECircle & circle,
bool arcOnly ) const

Compute the orthogonal projection of a EPoint on another shape.

Parameters
circleECircle object to which point is projected.
arcOnlyBy default (false), the circle is not restricted to an arc.

Compute the orthogonal projection of a EPoint on another shape. This computation is only valid when the axis frame is orthogonal. When the shape is restricted and the orthogonal projection does not lie on the shape, then the closest point on the shape is returned instead.

◆ Project() [3/8]

eVision::EPoint eVision::EPoint::Project ( const eVision::ELine & line) const

Compute the orthogonal projection of a EPoint on another shape.

Parameters
lineELine object to which point is projected.

Compute the orthogonal projection of a EPoint on another shape. This computation is only valid when the axis frame is orthogonal. When the shape is restricted and the orthogonal projection does not lie on the shape, then the closest point on the shape is returned instead.

◆ Project() [4/8]

eVision::EPoint eVision::EPoint::Project ( const eVision::ELine & line,
bool segmentOnly ) const

Compute the orthogonal projection of a EPoint on another shape.

Parameters
lineELine object to which point is projected.
segmentOnlyBy default (false), the line is not restricted to a segment.

Compute the orthogonal projection of a EPoint on another shape. This computation is only valid when the axis frame is orthogonal. When the shape is restricted and the orthogonal projection does not lie on the shape, then the closest point on the shape is returned instead.

◆ Project() [5/8]

eVision::EPoint eVision::EPoint::Project ( const eVision::Legacy::ECircle & circle) const

Compute the orthogonal projection of a EPoint on another shape.

Parameters
circleECircle object to which point is projected.

Compute the orthogonal projection of a EPoint on another shape. This computation is only valid when the axis frame is orthogonal. When the shape is restricted and the orthogonal projection does not lie on the shape, then the closest point on the shape is returned instead.

◆ Project() [6/8]

eVision::EPoint eVision::EPoint::Project ( const eVision::Legacy::ECircle & circle,
bool arcOnly ) const

Compute the orthogonal projection of a EPoint on another shape.

Parameters
circleECircle object to which point is projected.
arcOnlyBy default (false), the circle is not restricted to an arc.

Compute the orthogonal projection of a EPoint on another shape. This computation is only valid when the axis frame is orthogonal. When the shape is restricted and the orthogonal projection does not lie on the shape, then the closest point on the shape is returned instead.

◆ Project() [7/8]

eVision::EPoint eVision::EPoint::Project ( const eVision::Legacy::ELine & line) const

Compute the orthogonal projection of a EPoint on another shape.

Parameters
lineELine object to which point is projected.

Compute the orthogonal projection of a EPoint on another shape. This computation is only valid when the axis frame is orthogonal. When the shape is restricted and the orthogonal projection does not lie on the shape, then the closest point on the shape is returned instead.

◆ Project() [8/8]

eVision::EPoint eVision::EPoint::Project ( const eVision::Legacy::ELine & line,
bool segmentOnly ) const

Compute the orthogonal projection of a EPoint on another shape.

Parameters
lineELine object to which point is projected.
segmentOnlyBy default (false), the line is not restricted to a segment.

Compute the orthogonal projection of a EPoint on another shape. This computation is only valid when the axis frame is orthogonal. When the shape is restricted and the orthogonal projection does not lie on the shape, then the closest point on the shape is returned instead.

◆ Rotate()

eVision::EPoint eVision::EPoint::Rotate ( float angle) const

Returns another EPoint object containing the coordinated of the rotated point.

Parameters
angleRotation angle (in radians)

Rotates a EPoint around the origin (0, 0) by an angle of angle radians. By definition, the smallest (in absolute value) rotation of the oriented X-Axis toward the oriented Y-Axis is chosen as the positive sense of rotation. In a direct frame, this is also the trigonometric sense (counter clockwise).

◆ Save() [1/2]

void eVision::EPoint::Save ( const std::string & path)

Save the EPoint configuration. The given ESerializer must have been created for writing.

Parameters
pathThe file path.

◆ Save() [2/2]

void eVision::EPoint::Save ( eVision::ESerializer * serializer)

Save the EPoint configuration. The given ESerializer must have been created for writing.

Parameters
serializerThe serializer.

◆ SetCenter()

void eVision::EPoint::SetCenter ( const eVision::EPoint & center)

Center coordinates of a EPoint object.

Deprecated

Use the copy constructor instead.

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

◆ SetCenterXY()

void eVision::EPoint::SetCenterXY ( float centerX,
float centerY )

Sets the center coordinates of a EPoint object.

Parameters
centerXCenter coordinates of the EPoint object.
centerYCenter coordinates of the EPoint object.
Deprecated

Use X, Y or the copy constructor instead.

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

◆ SetX()

void eVision::EPoint::SetX ( float value)

Abscissa (X coordinate) of the EPoint object.

Parameters
valueThe value to set

◆ SetY()

void eVision::EPoint::SetY ( float value)

Abscissa (X coordinate) of the EPoint object.

Parameters
valueThe value to set

◆ Square()

float eVision::EPoint::Square ( ) const

Compute the sum of the squared coordinates of a EPoint.

Compute the sum of the squared coordinates of a EPoint. If the axis frame is orthogonal, this sum of squares is also the squared euclidean norm of the EPoint object.

◆ SquaredDistance()

float eVision::EPoint::SquaredDistance ( const eVision::EPoint & Point) const

Compute the squared distance between two EPoint.

Parameters
PointSecond EPoint.

Compute the sum of squared coordinates differences of two EPoint. If the axis frame is orthogonal, this number is also the squared euclidean distance between two EPoint.

Member Data Documentation

◆ X

float eVision::EPoint::X

Abscissa (X coordinate) of the EPoint object.

◆ Y

float eVision::EPoint::Y

Ordinate (Y coordinate) of the EPoint object.