eVision C++ API 26.10.0-beta.2.dev
Loading...
Searching...
No Matches
eVision::Legacy::ECircle Class Reference

Represents a model of a circle (or arc) in EasyGauge. More...

#include <eVision/Easy/Legacy/ECircle.h>

Inheritance diagram for eVision::Legacy::ECircle:
Collaboration diagram for eVision::Legacy::ECircle:

Public Member Functions

 ECircle ()
 Constructs a ECircle object.
 ECircle (const eVision::EPoint &center, float diameter, float originAngle, bool direct)
 Constructs a ECircle object.
 ECircle (const eVision::EPoint &center, float diameter, float originAngle)
 Constructs a ECircle object.
 ECircle (const eVision::EPoint &center, float diameter)
 Constructs a ECircle object.
 ECircle (const eVision::EPoint &center, const eVision::EPoint &origin, bool direct)
 Constructs a ECircle object.
 ECircle (const eVision::EPoint &center, const eVision::EPoint &origin)
 Constructs a ECircle object.
 ECircle (const eVision::EPoint &center, float diameter, float originAngle, float amplitude)
 Constructs a ECircle object.
 ECircle (const eVision::EPoint &origin, const eVision::EPoint &middle, const eVision::EPoint &end, bool fullCircle)
 Constructs a ECircle object.
 ECircle (const eVision::EPoint &origin, const eVision::EPoint &middle, const eVision::EPoint &end)
 Constructs a ECircle object.
 ECircle (const eVision::Legacy::ECircle &other)
 Constructs a ECircle object.
virtual ~ECircle () throw ()
eVision::Legacy::ECircle & operator= (const eVision::Legacy::ECircle &other)
 Copies all the data from another ECircle object into the current ECircle object.
void CopyTo (eVision::Legacy::ECircle &other) const
 Copies all the data of the current ECircle object into another ECircle object and returns it.
eVision::Legacy::ECircle * CopyTo (eVision::Legacy::ECircle *other) const
 Copies all the data of the current ECircle object into another ECircle object and returns it.
void SetFromCenterAndOrigin (const eVision::EPoint &center, const eVision::EPoint &origin, bool direct)
 Sets the geometric parameters (nominal position and diameter, angular position and amplitude) of an ECircle object.
void SetFromCenterAndOrigin (const eVision::EPoint &center, const eVision::EPoint &origin)
 Sets the geometric parameters (nominal position and diameter, angular position and amplitude) of an ECircle object.
void SetFromOriginMiddleEnd (const eVision::EPoint &origin, const eVision::EPoint &middle, const eVision::EPoint &end, bool fullCircle)
 Sets the geometric parameters (nominal position and diameter, angular position and amplitude) of an ECircle object.
void SetFromOriginMiddleEnd (const eVision::EPoint &origin, const eVision::EPoint &middle, const eVision::EPoint &end)
 Sets the geometric parameters (nominal position and diameter, angular position and amplitude) of an ECircle object.
float GetRadius () const
 Radius of a ECircle object.
void SetRadius (float f32Radius)
 Radius of a ECircle object.
float GetDiameter () const
 Diameter of a ECircle object.
void SetDiameter (float f32Diameter)
 Diameter of a ECircle object.
float GetArcLength () const
 Circle arc length of a ECircle object.
float GetOrgAngle () const
 Angular position from where the ECircle object extents.
float GetApexAngle () const
 Angular position at the apex of a ECircle object.
float GetEndAngle () const
 Angular position of the end of a ECircle object.
eVision::EPoint GetOrg () const
 Origin point coordinates of a ECircle object.
eVision::EPoint GetApex () const
 Apex point coordinates of a ECircle object.
eVision::EPoint GetEnd () const
 End point coordinates of a ECircle object.
eVision::EPoint GetPoint (float fraction) const
 Returns the coordinates of a particular point specified by its location along the circle arc.
bool GetFull () const
 Flag indicating whether the ECircle object is a full circle or not.
bool GetDirect () const
 Flag indicating whether positive angles correspond to a clockwise or an anticlockwise rotation.
void SetDirectInternal (bool direct)
float GetAmplitude () const
 Angular amplitude of the ECircle object.
void SetAmplitude (float amplitude)
 Angular amplitude of the ECircle object.
virtual float Distance (const eVision::Legacy::ECircle &circle) const
 Returns the smallest distance between this ECircle object an another ECircle.
 ECircle (CppWrapperInternal::InternalConstructor)
Public Member Functions inherited from eVision::Legacy::EFrame
 EFrame ()
 Constructs a EFrame object.
 EFrame (float centerX, float centerY, float angle, float scale)
 Constructs a EFrame object.
 EFrame (float centerX, float centerY, float angle)
 Constructs a EFrame object.
 EFrame (float centerX, float centerY)
 Constructs a EFrame object.
 EFrame (const eVision::EPoint &center, float angle, float scale)
 Constructs a EFrame object.
 EFrame (const eVision::Legacy::EFrame &frame)
 Constructs a EFrame object.
virtual ~EFrame () throw ()
eVision::Legacy::EFrame & operator= (const eVision::Legacy::EFrame &frame)
 Copies all the data from another EFrame object into the current EFrame object.
eVision::EPoint operator+ (const eVision::EPoint &point) const
 Returns the addition of the point to the center of the EFrame.
eVision::EPoint operator- (const eVision::EPoint &point) const
 Returns the substraction of the center of the EFrame with the given point.
eVision::EPoint operator* (float scalar) const
 Returns the multiplication of the center of the EFrame with the given multiplier.
eVision::EPoint operator/ (float scalar) const
 Returns the division of the center of the EFrame with the given divisor.
bool operator== (const eVision::Legacy::EFrame &frame) const
 Compares the current EFrame center coordinates with the center coordinates of another EFrame object.
bool operator!= (const eVision::Legacy::EFrame &frame) const
 Compares the current EFrame center coordinates with the center coordinates of another EFrame object.
void CopyTo (eVision::Legacy::EFrame &other) const
 Copies all the data from the current EFrame object into another EFrame object, and returns it.
eVision::Legacy::EFrame * CopyTo (eVision::Legacy::EFrame *other) const
 Copies all the data from the current EFrame object into another EFrame object, and returns it.
void SetAngle (float angle)
 Orientation of the frame.
void SetScale (float scale)
 Horizontal sensor resolution, in pixels per unit.
float GetCenterX () const
 Abscissa of the origin point of the frame.
float GetCenterY () const
 Ordinate of the origin point of the frame.
float GetAngle () const
 Orientation of the frame.
float GetScale () const
 Horizontal sensor resolution, in pixels per unit.
eVision::EPoint LocalToGlobal (const eVision::EPoint &local) const
 Transforms a geometrical element from local to global coordinates (local to world).
eVision::Legacy::EFrame LocalToGlobal (const eVision::Legacy::EFrame &local) const
 Transforms a geometrical element from local to global coordinates (local to world).
eVision::Legacy::ELine LocalToGlobal (const eVision::Legacy::ELine &local) const
 Transforms a geometrical element from local to global coordinates (local to world).
eVision::Legacy::ECircle LocalToGlobal (const eVision::Legacy::ECircle &local) const
 Transforms a geometrical element from local to global coordinates (local to world).
eVision::EPoint GlobalToLocal (const eVision::EPoint &global) const
 Transforms a geometrical element from global to local coordinates (world to local).
eVision::Legacy::EFrame GlobalToLocal (const eVision::Legacy::EFrame &global) const
 Transforms a geometrical element from global to local coordinates (world to local).
void Load (const std::string &path)
 Load the EFrame configuration. The given ESerializer must have been created for reading.
void Load (eVision::ESerializer *serializer)
 Load the EFrame configuration. The given ESerializer must have been created for reading.
void Save (const std::string &path)
 Save the EFrame configuration. The given ESerializer must have been created for writing.
void Save (eVision::ESerializer *serializer)
 Save the EFrame configuration. The given ESerializer must have been created for writing.
virtual void SetCenter (const eVision::EPoint &center)
 Center coordinates of a EFrame object.
virtual eVision::EPoint GetCenter () const
 Center.
void SetCenterXY (float centerX, float centerY)
 Sets the center coordinates of a EFrame object.
float GetX () const
 Abscissa (X coordinate) of the EFrame object.
void SetX (float value)
 Abscissa (X coordinate) of the EFrame object.
float GetY () const
 Ordinate (Y coordinate) of the EFrame object.
void SetY (float value)
 Ordinate (Y coordinate) of the EFrame object.
eVision::EPoint MidPoint (const eVision::EPoint &Point) const
 Returns the middle coordinate between this EFrame object's center and another EFrame object's center.
eVision::EPoint Rotate (float angle) const
 Returns another EPoint object containing the coordinates of the rotated center point.
float Square () const
 Compute the sum of the squared coordinates of the center of a EFrame.
float Modulus () const
 Compute the euclidean modulus of the center of a EFrame.
float Argument () const
 Compute the polar argument of the center of EFrame object.
float Dot (const eVision::EPoint &Point) const
 Compute the dot product of the centers of two EFrame objects.
float Cross (const eVision::EPoint &Point) const
 Compute the cross product of the centers of two EFrame objects.
float Area (const eVision::EPoint &Point) const
 Compute the oriented area of the parallelogram built on the centers of two EFrame.
eVision::EPoint Project (const eVision::Legacy::ELine &shape) const
 Compute the orthogonal projection of the center of a EFrame on another shape.
eVision::EPoint Project (const eVision::Legacy::ECircle &shape) const
 Compute the orthogonal projection of the center of a EFrame on another shape.
float SquaredDistance (const eVision::EPoint &Point) const
 Compute the squared distance between the centers of two EFrame.
eVision::EPoint Move (float angle, float distance) const
 Return the position by moving the center along angle by distance.
virtual float Distance (const eVision::EPoint &point) const
 Returns the distance between the addressed point and the center of EFrame object.
virtual float Distance (const eVision::Legacy::ELine &line, bool segmentOnly) const
 Returns the distance between the addressed point and the center of EFrame object.
virtual float Distance (const eVision::Legacy::ELine &line) const
 Returns the distance between the addressed point and the center of EFrame object.
virtual float Distance (const eVision::Legacy::ECircle &circle, bool arcOnly) const
 Returns the distance between the addressed point and the center of EFrame object.
 EFrame (CppWrapperInternal::InternalConstructor)

Static Public Member Functions

static eVision::EPoint GetProjectionOfPointOnCircle (const eVision::EPoint &pt, const eVision::Legacy::ECircle &circle, bool limited)
 Computes the projection of a point on a circle.
static eVision::EPoint GetProjectionOfPointOnCircle (const eVision::EPoint &pt, const eVision::Legacy::ECircle &circle)
 Computes the projection of a point on a circle.
static float GetDistanceBetweenPointAndCircle (const eVision::EPoint &pt, const eVision::Legacy::ECircle &circle, bool limited)
 Computes the distance between a point and a circle.
static float GetDistanceBetweenPointAndCircle (const eVision::EPoint &pt, const eVision::Legacy::ECircle &circle)
 Computes the distance between a point and a circle.
static float GetDistanceBetweenLineAndCircle (const eVision::Legacy::ELine &line, const eVision::Legacy::ECircle &circle, bool limited)
 Computes the distance between a line and a circle.
static float GetDistanceBetweenLineAndCircle (const eVision::Legacy::ELine &line, const eVision::Legacy::ECircle &circle)
 Computes the distance between a line and a circle.
static int32_t GetIntersectionOfLineAndCircle (const eVision::Legacy::ELine &line, const eVision::Legacy::ECircle &circle, eVision::EPoint &intersection1, eVision::EPoint &intersection2, bool limited)
 Computes the intersections between a line and circle. Returns the number of intersections and stores the found intersections in the provided point parameters.
static int32_t GetIntersectionOfLineAndCircle (const eVision::Legacy::ELine &line, const eVision::Legacy::ECircle &circle, eVision::EPoint &intersection1, eVision::EPoint &intersection2)
 Computes the intersections between a line and circle. Returns the number of intersections and stores the found intersections in the provided point parameters.
static int32_t GetIntersectionOfCircles (const eVision::Legacy::ECircle &circle1, const eVision::Legacy::ECircle &circle2, eVision::EPoint &intersection1, eVision::EPoint &intersection2, bool limited)
 Computes the intersections between two circles. Returns the number of intersections and stores the found intersections in the provided point parameters.
static int32_t GetIntersectionOfCircles (const eVision::Legacy::ECircle &circle1, const eVision::Legacy::ECircle &circle2, eVision::EPoint &intersection1, eVision::EPoint &intersection2)
 Computes the intersections between two circles. Returns the number of intersections and stores the found intersections in the provided point parameters.
static eVision::Legacy::ECircle Fit (const std::vector< eVision::EPoint > &points, bool fitArc, uint32_t numFilteringPasses, float filteringThreshold)
 Fits an ECircle to a set of points.
static eVision::Legacy::ECircle Fit (const std::vector< eVision::EPoint > &points, bool fitArc, uint32_t numFilteringPasses)
 Fits an ECircle to a set of points.
static eVision::Legacy::ECircle Fit (const std::vector< eVision::EPoint > &points, bool fitArc)
 Fits an ECircle to a set of points.
static eVision::Legacy::ECircle Fit (const std::vector< eVision::EPoint > &points)
 Fits an ECircle to a set of points.

Additional Inherited Members

Public Attributes inherited from eVision::Legacy::EFrame
CppWrapperInternal::WrappedClass wrappedClass_

Detailed Description

Represents a model of a circle (or arc) in EasyGauge.

License(s): BasicTypes

Constructor & Destructor Documentation

◆ ECircle() [1/11]

eVision::Legacy::ECircle::ECircle ( )

Constructs a ECircle object.

◆ ECircle() [2/11]

eVision::Legacy::ECircle::ECircle ( const eVision::EPoint & center,
float diameter,
float originAngle,
bool direct )

Constructs a ECircle object.

Parameters
centerCenter coordinates of the circle at its nominal position. The default value is (0,0).
diameterNominal diameter of the circle. The default value is 100.
originAngleNominal angular origin of the circle. The default value is 0.
directtrue (default) means that angles increase anticlockwisely in a direct coordinate system.

◆ ECircle() [3/11]

eVision::Legacy::ECircle::ECircle ( const eVision::EPoint & center,
float diameter,
float originAngle )

Constructs a ECircle object.

Parameters
centerCenter coordinates of the circle at its nominal position. The default value is (0,0).
diameterNominal diameter of the circle. The default value is 100.
originAngleNominal angular origin of the circle. The default value is 0.

◆ ECircle() [4/11]

eVision::Legacy::ECircle::ECircle ( const eVision::EPoint & center,
float diameter )

Constructs a ECircle object.

Parameters
centerCenter coordinates of the circle at its nominal position. The default value is (0,0).
diameterNominal diameter of the circle. The default value is 100.

◆ ECircle() [5/11]

eVision::Legacy::ECircle::ECircle ( const eVision::EPoint & center,
const eVision::EPoint & origin,
bool direct )

Constructs a ECircle object.

Parameters
centerCenter coordinates of the circle at its nominal position. The default value is (0,0).
originOrigin point coordinates of the circle.
directtrue (default) means that angles increase anticlockwisely in a direct coordinate system.

◆ ECircle() [6/11]

eVision::Legacy::ECircle::ECircle ( const eVision::EPoint & center,
const eVision::EPoint & origin )

Constructs a ECircle object.

Parameters
centerCenter coordinates of the circle at its nominal position. The default value is (0,0).
originOrigin point coordinates of the circle.

◆ ECircle() [7/11]

eVision::Legacy::ECircle::ECircle ( const eVision::EPoint & center,
float diameter,
float originAngle,
float amplitude )

Constructs a ECircle object.

Parameters
centerCenter coordinates of the circle at its nominal position. The default value is (0,0).
diameterNominal diameter of the circle. The default value is 100.
originAngleNominal angular origin of the circle. The default value is 0.
amplitudeNominal angular amplitude of the circle. The default value is 360.

◆ ECircle() [8/11]

eVision::Legacy::ECircle::ECircle ( const eVision::EPoint & origin,
const eVision::EPoint & middle,
const eVision::EPoint & end,
bool fullCircle )

Constructs a ECircle object.

Parameters
originOrigin point coordinates of the circle.
middleMiddle point coordinates of the circle.
endEnd point coordinates of the circle.
fullCircletrue (default) in case of a full turn circle. If fullCircle is false, origin and end give the circle's amplitude.

◆ ECircle() [9/11]

eVision::Legacy::ECircle::ECircle ( const eVision::EPoint & origin,
const eVision::EPoint & middle,
const eVision::EPoint & end )

Constructs a ECircle object.

Parameters
originOrigin point coordinates of the circle.
middleMiddle point coordinates of the circle.
endEnd point coordinates of the circle.

◆ ECircle() [10/11]

eVision::Legacy::ECircle::ECircle ( const eVision::Legacy::ECircle & other)

Constructs a ECircle object.

Parameters
otherAnother ECircle object to be copied in the new ECircle object.

◆ ~ECircle()

eVision::Legacy::ECircle::~ECircle ( )
throw ( )
virtual

◆ ECircle() [11/11]

eVision::Legacy::ECircle::ECircle ( CppWrapperInternal::InternalConstructor )

Member Function Documentation

◆ CopyTo() [1/2]

void eVision::Legacy::ECircle::CopyTo ( eVision::Legacy::ECircle & other) const

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

Parameters
otherECircle object in which the current ECircle object data have to be copied.

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

◆ CopyTo() [2/2]

eVision::Legacy::ECircle * eVision::Legacy::ECircle::CopyTo ( eVision::Legacy::ECircle * other) const

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

Parameters
otherECircle object in which the current ECircle object data have to be copied.

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

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

◆ Distance()

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

Returns the smallest distance between this ECircle object an another ECircle.

Parameters
circleThe other circle

Reimplemented from eVision::Legacy::EFrame.

◆ Fit() [1/4]

eVision::Legacy::ECircle eVision::Legacy::ECircle::Fit ( const std::vector< eVision::EPoint > & points)
static

Fits an ECircle to a set of points.

Parameters
pointsVector of points to fit.

The algorithm used here is the same as the one used in ECircleGauge::Measure.

During a filtering pass, the points that are too distant from the model are discarded. During a model fitting operation, the "filtering" process can be invoked to remove outliers, i.e. points that were located significantly far away from the fitted model (so that their position is dubious).

This method returns a "direct" ECircle, see ECircle::GetDirect.

◆ Fit() [2/4]

eVision::Legacy::ECircle eVision::Legacy::ECircle::Fit ( const std::vector< eVision::EPoint > & points,
bool fitArc )
static

Fits an ECircle to a set of points.

Parameters
pointsVector of points to fit.
fitArcIf true, a circle arc big enough to be close to all points will be returned instead of a full circle. Defaults to false.

The algorithm used here is the same as the one used in ECircleGauge::Measure.

During a filtering pass, the points that are too distant from the model are discarded. During a model fitting operation, the "filtering" process can be invoked to remove outliers, i.e. points that were located significantly far away from the fitted model (so that their position is dubious).

This method returns a "direct" ECircle, see ECircle::GetDirect.

◆ Fit() [3/4]

eVision::Legacy::ECircle eVision::Legacy::ECircle::Fit ( const std::vector< eVision::EPoint > & points,
bool fitArc,
uint32_t numFilteringPasses )
static

Fits an ECircle to a set of points.

Parameters
pointsVector of points to fit.
fitArcIf true, a circle arc big enough to be close to all points will be returned instead of a full circle. Defaults to false.
numFilteringPassesNumber of filtering passes for a circle fitting operation. Defaults to 0 (no filtering performed).

The algorithm used here is the same as the one used in ECircleGauge::Measure.

During a filtering pass, the points that are too distant from the model are discarded. During a model fitting operation, the "filtering" process can be invoked to remove outliers, i.e. points that were located significantly far away from the fitted model (so that their position is dubious).

This method returns a "direct" ECircle, see ECircle::GetDirect.

◆ Fit() [4/4]

eVision::Legacy::ECircle eVision::Legacy::ECircle::Fit ( const std::vector< eVision::EPoint > & points,
bool fitArc,
uint32_t numFilteringPasses,
float filteringThreshold )
static

Fits an ECircle to a set of points.

Parameters
pointsVector of points to fit.
fitArcIf true, a circle arc big enough to be close to all points will be returned instead of a full circle. Defaults to false.
numFilteringPassesNumber of filtering passes for a circle fitting operation. Defaults to 0 (no filtering performed).
filteringThresholdRelative filtering threshold, that is the fraction of the average distance between the points and the fitted model above which a point is filtered out. Defaults to 3.

The algorithm used here is the same as the one used in ECircleGauge::Measure.

During a filtering pass, the points that are too distant from the model are discarded. During a model fitting operation, the "filtering" process can be invoked to remove outliers, i.e. points that were located significantly far away from the fitted model (so that their position is dubious).

This method returns a "direct" ECircle, see ECircle::GetDirect.

◆ GetAmplitude()

float eVision::Legacy::ECircle::GetAmplitude ( ) const

Angular amplitude of the ECircle object.

The default value is 360. A ECircle object is fully defined knowing its nominal position (its center coordinates), its nominal radius (diameter), the angular position from where it extents, its angular amplitude, and its outline tolerance. The sign of the rotation angle depends whether the field of view is calibrated or not.

  • When the field of view is calibrated, the coordinate system is said to be direct, the abscissa extends rightwards and the ordinate extends upwards. In this case, an anticlockwise rotation leads to a positive angle value.
  • When the field of view is not calibrated, the coordinate system is said to be inverse, the abscissa extends rightwards and the ordinate extends downwards. In this case, a clockwise rotation leads to a positive angle value.

◆ GetApex()

eVision::EPoint eVision::Legacy::ECircle::GetApex ( ) const

Apex point coordinates of a ECircle object.

◆ GetApexAngle()

float eVision::Legacy::ECircle::GetApexAngle ( ) const

Angular position at the apex of a ECircle object.

A ECircle object is fully defined knowing its nominal position (its center coordinates), its nominal radius (diameter), the angular position from where it extents, its angular amplitude, and its outline tolerance. The sign of the rotation angle depends whether the field of view is calibrated or not.

  • When the field of view is calibrated, the coordinate system is said to be direct, the abscissa extends rightwards and the ordinate extends upwards. In this case, an anticlockwise rotation leads to a positive angle value.
  • When the field of view is not calibrated, the coordinate system is said to be inverse, the abscissa extends rightwards and the ordinate extends downwards. In this case, a clockwise rotation leads to a positive angle value.

◆ GetArcLength()

float eVision::Legacy::ECircle::GetArcLength ( ) const

Circle arc length of a ECircle object.

A ECircle object is fully defined knowing its nominal position (its center coordinates), its nominal radius (diameter), the angular position from where it extents, its angular amplitude, and its outline tolerance.

◆ GetDiameter()

float eVision::Legacy::ECircle::GetDiameter ( ) const

Diameter of a ECircle object.

A ECircle object is fully defined knowing its nominal position (its center coordinates), its nominal radius (diameter), the angular position from where it extents, its angular amplitude, and its outline tolerance. By default, the diameter is 100, which means 100 pixels when the field of view is not calibrated, and 100 physical units in case of a calibrated field of view.

◆ GetDirect()

bool eVision::Legacy::ECircle::GetDirect ( ) const

Flag indicating whether positive angles correspond to a clockwise or an anticlockwise rotation.

true (default) means that angles increase anticlockwisely in a direct coordinate system, and clockwisely in an inverse coordinate system.

  • When the field of view is calibrated, the coordinate system is said to be direct, the abscissa extends rightwards and the ordinate extends upwards.
  • When the field of view is not calibrated, the coordinate system is said to be inverse, the abscissa extends rightwards and the ordinate extends downwards.

◆ GetDistanceBetweenLineAndCircle() [1/2]

float eVision::Legacy::ECircle::GetDistanceBetweenLineAndCircle ( const eVision::Legacy::ELine & line,
const eVision::Legacy::ECircle & circle )
static

Computes the distance between a line and a circle.

Parameters
lineThe line.
circleThe circle.

◆ GetDistanceBetweenLineAndCircle() [2/2]

float eVision::Legacy::ECircle::GetDistanceBetweenLineAndCircle ( const eVision::Legacy::ELine & line,
const eVision::Legacy::ECircle & circle,
bool limited )
static

Computes the distance between a line and a circle.

Parameters
lineThe line.
circleThe circle.
limitedIndicates if the line and circle parameters should be considered as infinite lines and full circles or as a segments and arcs.

◆ GetDistanceBetweenPointAndCircle() [1/2]

float eVision::Legacy::ECircle::GetDistanceBetweenPointAndCircle ( const eVision::EPoint & pt,
const eVision::Legacy::ECircle & circle )
static

Computes the distance between a point and a circle.

Parameters
ptThe point.
circleThe circle.

When the circle is restricted to an arc and the orthogonal projection of the point onto the circle falls outside this arc, the distance to the closest endpoint of the arc is returned instead.

◆ GetDistanceBetweenPointAndCircle() [2/2]

float eVision::Legacy::ECircle::GetDistanceBetweenPointAndCircle ( const eVision::EPoint & pt,
const eVision::Legacy::ECircle & circle,
bool limited )
static

Computes the distance between a point and a circle.

Parameters
ptThe point.
circleThe circle.
limitedIndicates if the circle parameter should be considered as a full circle or as an arc.

When the circle is restricted to an arc and the orthogonal projection of the point onto the circle falls outside this arc, the distance to the closest endpoint of the arc is returned instead.

◆ GetEnd()

eVision::EPoint eVision::Legacy::ECircle::GetEnd ( ) const

End point coordinates of a ECircle object.

◆ GetEndAngle()

float eVision::Legacy::ECircle::GetEndAngle ( ) const

Angular position of the end of a ECircle object.

A ECircle object is fully defined knowing its nominal position (its center coordinates), its nominal radius (diameter), the angular position from where it extents, its angular amplitude, and its outline tolerance. The sign of the rotation angle depends whether the field of view is calibrated or not.

  • When the field of view is calibrated, the coordinate system is said to be direct, the abscissa extends rightwards and the ordinate extends upwards. In this case, an anticlockwise rotation leads to a positive angle value.
  • When the field of view is not calibrated, the coordinate system is said to be inverse, the abscissa extends rightwards and the ordinate extends downwards. In this case, a clockwise rotation leads to a positive angle value.

◆ GetFull()

bool eVision::Legacy::ECircle::GetFull ( ) const

Flag indicating whether the ECircle object is a full circle or not.

By default (true), the ECircle object is a full circle.

◆ GetIntersectionOfCircles() [1/2]

int32_t eVision::Legacy::ECircle::GetIntersectionOfCircles ( const eVision::Legacy::ECircle & circle1,
const eVision::Legacy::ECircle & circle2,
eVision::EPoint & intersection1,
eVision::EPoint & intersection2 )
static

Computes the intersections between two circles. Returns the number of intersections and stores the found intersections in the provided point parameters.

Parameters
circle1The first circle
circle2The second circle
intersection1The first intersection
intersection2The second intersection

The function returns the number of intersections found. It will return -1 if the two circles are overlapping.

◆ GetIntersectionOfCircles() [2/2]

int32_t eVision::Legacy::ECircle::GetIntersectionOfCircles ( const eVision::Legacy::ECircle & circle1,
const eVision::Legacy::ECircle & circle2,
eVision::EPoint & intersection1,
eVision::EPoint & intersection2,
bool limited )
static

Computes the intersections between two circles. Returns the number of intersections and stores the found intersections in the provided point parameters.

Parameters
circle1The first circle
circle2The second circle
intersection1The first intersection
intersection2The second intersection
limitedIndicates if the circle parameters should be considered as full circles or as arcs.

The function returns the number of intersections found. It will return -1 if the two circles are overlapping.

◆ GetIntersectionOfLineAndCircle() [1/2]

int32_t eVision::Legacy::ECircle::GetIntersectionOfLineAndCircle ( const eVision::Legacy::ELine & line,
const eVision::Legacy::ECircle & circle,
eVision::EPoint & intersection1,
eVision::EPoint & intersection2 )
static

Computes the intersections between a line and circle. Returns the number of intersections and stores the found intersections in the provided point parameters.

Parameters
lineThe line
circleThe circle
intersection1The first intersection
intersection2The second intersection

The function returns the number of intersections found.

◆ GetIntersectionOfLineAndCircle() [2/2]

int32_t eVision::Legacy::ECircle::GetIntersectionOfLineAndCircle ( const eVision::Legacy::ELine & line,
const eVision::Legacy::ECircle & circle,
eVision::EPoint & intersection1,
eVision::EPoint & intersection2,
bool limited )
static

Computes the intersections between a line and circle. Returns the number of intersections and stores the found intersections in the provided point parameters.

Parameters
lineThe line
circleThe circle
intersection1The first intersection
intersection2The second intersection
limitedIndicates if the line and circle parameters should be considered as infinite lines and full circles or as a segments and arcs.

The function returns the number of intersections found.

◆ GetOrg()

eVision::EPoint eVision::Legacy::ECircle::GetOrg ( ) const

Origin point coordinates of a ECircle object.

◆ GetOrgAngle()

float eVision::Legacy::ECircle::GetOrgAngle ( ) const

Angular position from where the ECircle object extents.

A ECircle object is fully defined knowing its nominal position (its center coordinates), its nominal radius (diameter), the angular position from where it extents, its angular amplitude, and its outline tolerance. The sign of the rotation angle depends whether the field of view is calibrated or not.

  • When the field of view is calibrated, the coordinate system is said to be direct, the abscissa extends rightwards and the ordinate extends upwards. In this case, an anticlockwise rotation leads to a positive angle value.
  • When the field of view is not calibrated, the coordinate system is said to be inverse, the abscissa extends rightwards and the ordinate extends downwards. In this case, a clockwise rotation leads to a positive angle value.

◆ GetPoint()

eVision::EPoint eVision::Legacy::ECircle::GetPoint ( float fraction) const

Returns the coordinates of a particular point specified by its location along the circle arc.

Parameters
fractionPoint location expressed as a fraction of the circle arc (range [-1, +1]).

◆ GetProjectionOfPointOnCircle() [1/2]

eVision::EPoint eVision::Legacy::ECircle::GetProjectionOfPointOnCircle ( const eVision::EPoint & pt,
const eVision::Legacy::ECircle & circle )
static

Computes the projection of a point on a circle.

Parameters
ptThe point.
circleThe circle.

When the circle is restricted to an arc and the orthogonal projection of the point onto the circle falls outside this arc, the closest endpoint of the arc is returned instead.

◆ GetProjectionOfPointOnCircle() [2/2]

eVision::EPoint eVision::Legacy::ECircle::GetProjectionOfPointOnCircle ( const eVision::EPoint & pt,
const eVision::Legacy::ECircle & circle,
bool limited )
static

Computes the projection of a point on a circle.

Parameters
ptThe point.
circleThe circle.
limitedIndicates if the circle parameter should be considered as a full circle or as an arc.

When the circle is restricted to an arc and the orthogonal projection of the point onto the circle falls outside this arc, the closest endpoint of the arc is returned instead.

◆ GetRadius()

float eVision::Legacy::ECircle::GetRadius ( ) const

Radius of a ECircle object.

A ECircle object is fully defined knowing its nominal position (its center coordinates), its nominal radius (diameter), the angular position from where it extents, its angular amplitude, and its outline tolerance. By default, the radius is 50, which means 50 pixels when the field of view is not calibrated, and 50 physical units in case of a calibrated field of view.

◆ operator=()

eVision::Legacy::ECircle & eVision::Legacy::ECircle::operator= ( const eVision::Legacy::ECircle & other)

Copies all the data from another ECircle object into the current ECircle object.

Parameters
otherECircle object to be copied

◆ SetAmplitude()

void eVision::Legacy::ECircle::SetAmplitude ( float amplitude)

Angular amplitude of the ECircle object.

The default value is 360. A ECircle object is fully defined knowing its nominal position (its center coordinates), its nominal radius (diameter), the angular position from where it extents, its angular amplitude, and its outline tolerance. The sign of the rotation angle depends whether the field of view is calibrated or not.

  • When the field of view is calibrated, the coordinate system is said to be direct, the abscissa extends rightwards and the ordinate extends upwards. In this case, an anticlockwise rotation leads to a positive angle value.
  • When the field of view is not calibrated, the coordinate system is said to be inverse, the abscissa extends rightwards and the ordinate extends downwards. In this case, a clockwise rotation leads to a positive angle value.

◆ SetDiameter()

void eVision::Legacy::ECircle::SetDiameter ( float f32Diameter)

Diameter of a ECircle object.

A ECircle object is fully defined knowing its nominal position (its center coordinates), its nominal radius (diameter), the angular position from where it extents, its angular amplitude, and its outline tolerance. By default, the diameter is 100, which means 100 pixels when the field of view is not calibrated, and 100 physical units in case of a calibrated field of view.

◆ SetDirectInternal()

void eVision::Legacy::ECircle::SetDirectInternal ( bool direct)

◆ SetFromCenterAndOrigin() [1/2]

void eVision::Legacy::ECircle::SetFromCenterAndOrigin ( const eVision::EPoint & center,
const eVision::EPoint & origin )

Sets the geometric parameters (nominal position and diameter, angular position and amplitude) of an ECircle object.

Parameters
centerCenter coordinates of the circle at its nominal position. The default value is (0,0).
originOrigin point coordinates of the circle.

◆ SetFromCenterAndOrigin() [2/2]

void eVision::Legacy::ECircle::SetFromCenterAndOrigin ( const eVision::EPoint & center,
const eVision::EPoint & origin,
bool direct )

Sets the geometric parameters (nominal position and diameter, angular position and amplitude) of an ECircle object.

Parameters
centerCenter coordinates of the circle at its nominal position. The default value is (0,0).
originOrigin point coordinates of the circle.
directtrue (default) means that angles increase anticlockwisely in a direct coordinate system.

◆ SetFromOriginMiddleEnd() [1/2]

void eVision::Legacy::ECircle::SetFromOriginMiddleEnd ( const eVision::EPoint & origin,
const eVision::EPoint & middle,
const eVision::EPoint & end )

Sets the geometric parameters (nominal position and diameter, angular position and amplitude) of an ECircle object.

Parameters
originOrigin of the circle Arc.
middleMiddle of the circle Arc.
endEnd of the circle Arc.

For example, for a calibrated circle centered on the origin with a radius of 1, whose arc length is 180° and origin angle 0°: Its origin is (1, 0), its middle (0, 1) and its end (-1, 0).

◆ SetFromOriginMiddleEnd() [2/2]

void eVision::Legacy::ECircle::SetFromOriginMiddleEnd ( const eVision::EPoint & origin,
const eVision::EPoint & middle,
const eVision::EPoint & end,
bool fullCircle )

Sets the geometric parameters (nominal position and diameter, angular position and amplitude) of an ECircle object.

Parameters
originOrigin of the circle Arc.
middleMiddle of the circle Arc.
endEnd of the circle Arc.
fullCircletrue (default) in case of a full turn circle. If fullCircle is false, origin and end give the circle's amplitude.

For example, for a calibrated circle centered on the origin with a radius of 1, whose arc length is 180° and origin angle 0°: Its origin is (1, 0), its middle (0, 1) and its end (-1, 0).

◆ SetRadius()

void eVision::Legacy::ECircle::SetRadius ( float f32Radius)

Radius of a ECircle object.

A ECircle object is fully defined knowing its nominal position (its center coordinates), its nominal radius (diameter), the angular position from where it extents, its angular amplitude, and its outline tolerance. By default, the radius is 50, which means 50 pixels when the field of view is not calibrated, and 50 physical units in case of a calibrated field of view.