Represents a model of a circle (or arc) in EasyGauge. More...
#include <eVision/Easy/ECircle.h>
Public Member Functions | |
| ECircle () | |
| Constructs a ECircle object. | |
| ECircle (const eVision::EPoint ¢er, float diameter, float originAngle, bool direct) | |
| Constructs a ECircle object. | |
| ECircle (const eVision::EPoint ¢er, float diameter, float originAngle) | |
| Constructs a ECircle object. | |
| ECircle (const eVision::EPoint ¢er, float diameter) | |
| Constructs a ECircle object. | |
| ECircle (const eVision::EPoint ¢er, const eVision::EPoint &origin, bool direct) | |
| Constructs a ECircle object. | |
| ECircle (const eVision::EPoint ¢er, const eVision::EPoint &origin) | |
| Constructs a ECircle object. | |
| ECircle (const eVision::EPoint ¢er, 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::ECircle &other) | |
| Constructs a ECircle object. | |
| ECircle (const eVision::Legacy::ECircle &other) | |
| Constructs a ECircle object. | |
| virtual | ~ECircle () throw () |
| eVision::ECircle & | operator= (const eVision::ECircle &other) |
| Copies all the data from another ECircle object into the current ECircle object. | |
| void | SetCenter (const eVision::EPoint ¢er) |
| Center of the ECircle. | |
| eVision::EPoint | GetCenter () const |
| Center of the ECircle. | |
| float | GetCenterX () const |
| Abscissa of the center of the ECircle. | |
| void | SetCenterX (float centerX) |
| Abscissa of the center of the ECircle. | |
| float | GetCenterY () const |
| Ordinate of the the center of the ECircle. | |
| void | SetCenterY (float centerY) |
| Ordinate of the the center of the ECircle. | |
| float | GetAngle () const |
| Starting orientation of the ECircle. | |
| void | SetAngle (float angle) |
| Starting orientation of the ECircle. | |
| void | SetFromCenterAndOrigin (const eVision::EPoint ¢er, 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 ¢er, 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 | IsDirect () const |
| Flag indicating whether positive angles correspond to a clockwise or an anticlockwise rotation. | |
| float | GetAmplitude () const |
| Angular amplitude of the ECircle object. | |
| void | SetAmplitude (float amplitude) |
| Angular amplitude of the ECircle object. | |
| float | Distance (const eVision::ECircle &circle) const |
| Returns the smallest distance between this ECircle object an another ECircle. | |
| virtual eVision::EEditionMode | GetAvailableEditionModes () const |
| Available edition modes for the shape. | |
| virtual std::string | GetDescription () const |
| Textual description of the shape and its parameters. | |
| ECircle (CppWrapperInternal::InternalConstructor) | |
| Public Member Functions inherited from eVision::EShape | |
| virtual | ~EShape () throw () |
| void | Load (const std::string &path) |
| Load the EShape configuration. The given ESerializer must have been created for reading. | |
| void | Load (eVision::ESerializer *serializer) |
| Load the EShape configuration. The given ESerializer must have been created for reading. | |
| void | Save (const std::string &path) |
| Save the EShape configuration. The given ESerializer must have been created for writing. | |
| void | Save (eVision::ESerializer *serializer) |
| Save the EShape configuration. The given ESerializer must have been created for writing. | |
| void | Draw (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals) const |
| Draws the EShape shape. | |
| void | Draw (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY, float panX, float panY) const |
| Draws the EShape shape. | |
| void | Draw (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY, float panX) const |
| Draws the EShape shape. | |
| void | Draw (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY) const |
| Draws the EShape shape. | |
| void | Draw (eVision::EDrawAdapter *drawAdapter, float zoomX) const |
| Draws the EShape shape. | |
| void | Draw (eVision::EDrawAdapter *drawAdapter) const |
| Draws the EShape shape. | |
| void | Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals) const |
| Draws the EShape shape. | |
| void | Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY) const |
| Draws the EShape shape. | |
| void | Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX, float zoomY, float panX) const |
| Draws the EShape shape. | |
| void | Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX, float zoomY) const |
| Draws the EShape shape. | |
| void | Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX) const |
| Draws the EShape shape. | |
| void | Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame) const |
| Draws the EShape shape. | |
| eVision::EEditionMode | HitTest (int32_t x, int32_t y, float zoomX, float zoomY, float panX, float panY) |
| Detects if the cursor is placed over one of the dragging handles. | |
| eVision::EEditionMode | HitTest (int32_t x, int32_t y, float zoomX, float zoomY, float panX) |
| Detects if the cursor is placed over one of the dragging handles. | |
| eVision::EEditionMode | HitTest (int32_t x, int32_t y, float zoomX, float zoomY) |
| Detects if the cursor is placed over one of the dragging handles. | |
| eVision::EEditionMode | HitTest (int32_t x, int32_t y, float zoomX) |
| Detects if the cursor is placed over one of the dragging handles. | |
| 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 one of the dragging handles. | |
| 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 one of the dragging handles. | |
| eVision::EEditionMode | HitTest (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX, float zoomY) |
| Detects if the cursor is placed over one of the dragging handles. | |
| eVision::EEditionMode | HitTest (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX) |
| Detects if the cursor is placed over one of the dragging handles. | |
| void | Drag (int32_t x, int32_t y, float zoomX, float zoomY, float panX, float panY) |
| Moves the specified handle to a new position and updates all placement parameters of the region. | |
| void | Drag (int32_t x, int32_t y, float zoomX, float zoomY, float panX) |
| Moves the specified handle to a new position and updates all placement parameters of the region. | |
| void | Drag (int32_t x, int32_t y, float zoomX, float zoomY) |
| Moves the specified handle to a new position and updates all placement parameters of the region. | |
| void | Drag (int32_t x, int32_t y, float zoomX) |
| Moves the specified handle to a new position and updates all placement parameters of the region. | |
| void | Drag (int32_t x, int32_t y) |
| Moves the specified handle to a new position and updates all placement parameters of the region. | |
| void | Drag (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY) |
| Moves the specified handle to a new position and updates all placement parameters of the region. | |
| void | Drag (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX, float zoomY, float panX) |
| Moves the specified handle to a new position and updates all placement parameters of the region. | |
| void | Drag (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX, float zoomY) |
| Moves the specified handle to a new position and updates all placement parameters of the region. | |
| void | Drag (int32_t x, int32_t y, const eVision::EFrame &frame, float zoomX) |
| Moves the specified handle to a new position and updates all placement parameters of the region. | |
| void | Drag (int32_t x, int32_t y, const eVision::EFrame &frame) |
| Moves the specified handle to a new position and updates all placement parameters of the region. | |
| void | SetEditionMode (eVision::EEditionMode modes) |
| Current edition mode for the shape. Default: EEditionMode_None. | |
| eVision::EEditionMode | GetEditionMode () const |
| Current edition mode for the shape. Default: EEditionMode_None. | |
| eVision::EFrame | ToFrame (bool useAngle, eVision::EFrameScaling frameScaling) const |
| Converts the shape to a frame. | |
| eVision::EFrame | ToFrame (bool useAngle, eVision::EFrameScaling frameScaling, const eVision::EFrame &shapeFrame) const |
| Converts the shape to a frame. | |
| EShape (CppWrapperInternal::InternalConstructor) | |
Static Public Member Functions | |
| static eVision::EPoint | GetProjectionOfPointOnCircle (const eVision::EPoint &pt, const eVision::ECircle &circle, bool limited) |
| Computes the projection of a point on a circle. | |
| static eVision::EPoint | GetProjectionOfPointOnCircle (const eVision::EPoint &pt, const eVision::ECircle &circle) |
| Computes the projection of a point on a circle. | |
| static float | GetDistanceBetweenPointAndCircle (const eVision::EPoint &pt, const eVision::ECircle &circle, bool limited) |
| Computes the distance between a point and a circle. | |
| static float | GetDistanceBetweenPointAndCircle (const eVision::EPoint &pt, const eVision::ECircle &circle) |
| Computes the distance between a point and a circle. | |
| static float | GetDistanceBetweenLineAndCircle (const eVision::ELine &line, const eVision::ECircle &circle, bool limited) |
| Computes the distance between a line and a circle. | |
| static float | GetDistanceBetweenLineAndCircle (const eVision::ELine &line, const eVision::ECircle &circle) |
| Computes the distance between a line and a circle. | |
| static int32_t | GetIntersectionOfLineAndCircle (const eVision::ELine &line, const eVision::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::ELine &line, const eVision::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::ECircle &circle1, const eVision::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::ECircle &circle1, const eVision::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::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::ECircle | Fit (const std::vector< eVision::EPoint > &points, bool fitArc, uint32_t numFilteringPasses) |
| Fits an ECircle to a set of points. | |
| static eVision::ECircle | Fit (const std::vector< eVision::EPoint > &points, bool fitArc) |
| Fits an ECircle to a set of points. | |
| static eVision::ECircle | Fit (const std::vector< eVision::EPoint > &points) |
| Fits an ECircle to a set of points. | |
Additional Inherited Members | |
| Public Attributes inherited from eVision::EShape | |
| CppWrapperInternal::WrappedClass | wrappedClass_ |
Represents a model of a circle (or arc) in EasyGauge.
License(s): BasicTypes
| eVision::ECircle::ECircle | ( | ) |
Constructs a ECircle object.
| eVision::ECircle::ECircle | ( | const eVision::EPoint & | center, |
| float | diameter, | ||
| float | originAngle, | ||
| bool | direct ) |
Constructs a ECircle object.
| center | Center coordinates of the circle at its nominal position. The default value is (0,0). |
| diameter | Nominal diameter of the circle. The default value is 100. |
| originAngle | Nominal angular origin of the circle. The default value is 0. |
| direct | true (default) means that angles increase anticlockwisely in a direct coordinate system. |
| eVision::ECircle::ECircle | ( | const eVision::EPoint & | center, |
| float | diameter, | ||
| float | originAngle ) |
Constructs a ECircle object.
| center | Center coordinates of the circle at its nominal position. The default value is (0,0). |
| diameter | Nominal diameter of the circle. The default value is 100. |
| originAngle | Nominal angular origin of the circle. The default value is 0. |
| eVision::ECircle::ECircle | ( | const eVision::EPoint & | center, |
| float | diameter ) |
Constructs a ECircle object.
| center | Center coordinates of the circle at its nominal position. The default value is (0,0). |
| diameter | Nominal diameter of the circle. The default value is 100. |
| eVision::ECircle::ECircle | ( | const eVision::EPoint & | center, |
| const eVision::EPoint & | origin, | ||
| bool | direct ) |
Constructs a ECircle object.
| center | Center coordinates of the circle at its nominal position. The default value is (0,0). |
| origin | Origin point coordinates of the circle. |
| direct | true (default) means that angles increase anticlockwisely in a direct coordinate system. |
| eVision::ECircle::ECircle | ( | const eVision::EPoint & | center, |
| const eVision::EPoint & | origin ) |
Constructs a ECircle object.
| center | Center coordinates of the circle at its nominal position. The default value is (0,0). |
| origin | Origin point coordinates of the circle. |
| eVision::ECircle::ECircle | ( | const eVision::EPoint & | center, |
| float | diameter, | ||
| float | originAngle, | ||
| float | amplitude ) |
Constructs a ECircle object.
| center | Center coordinates of the circle at its nominal position. The default value is (0,0). |
| diameter | Nominal diameter of the circle. The default value is 100. |
| originAngle | Nominal angular origin of the circle. The default value is 0. |
| amplitude | Nominal angular amplitude of the circle. The default value is 360. |
| eVision::ECircle::ECircle | ( | const eVision::EPoint & | origin, |
| const eVision::EPoint & | middle, | ||
| const eVision::EPoint & | end, | ||
| bool | fullCircle ) |
Constructs a ECircle object.
| origin | Origin point coordinates of the circle. |
| middle | Middle point coordinates of the circle. |
| end | End point coordinates of the circle. |
| fullCircle | true (default) in case of a full turn circle. If fullCircle is false, origin and end give the circle's amplitude. |
| eVision::ECircle::ECircle | ( | const eVision::EPoint & | origin, |
| const eVision::EPoint & | middle, | ||
| const eVision::EPoint & | end ) |
Constructs a ECircle object.
| origin | Origin point coordinates of the circle. |
| middle | Middle point coordinates of the circle. |
| end | End point coordinates of the circle. |
| eVision::ECircle::ECircle | ( | const eVision::ECircle & | other | ) |
| eVision::ECircle::ECircle | ( | const eVision::Legacy::ECircle & | other | ) |
|
virtual | ||||||||||||
| eVision::ECircle::ECircle | ( | CppWrapperInternal::InternalConstructor | ) |
| float eVision::ECircle::Distance | ( | const eVision::ECircle & | circle | ) | const |
|
static |
Fits an ECircle to a set of points.
| points | Vector 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::IsDirect.
|
static |
Fits an ECircle to a set of points.
| points | Vector of points to fit. |
| fitArc | If 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::IsDirect.
|
static |
Fits an ECircle to a set of points.
| points | Vector of points to fit. |
| fitArc | If true, a circle arc big enough to be close to all points will be returned instead of a full circle. Defaults to false. |
| numFilteringPasses | Number 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::IsDirect.
|
static |
Fits an ECircle to a set of points.
| points | Vector of points to fit. |
| fitArc | If true, a circle arc big enough to be close to all points will be returned instead of a full circle. Defaults to false. |
| numFilteringPasses | Number of filtering passes for a circle fitting operation. Defaults to 0 (no filtering performed). |
| filteringThreshold | Relative 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::IsDirect.
| float eVision::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.
| float eVision::ECircle::GetAngle | ( | ) | const |
Starting orientation of the ECircle.
| eVision::EPoint eVision::ECircle::GetApex | ( | ) | const |
Apex point coordinates of a ECircle object.
| float eVision::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.
| float eVision::ECircle::GetArcLength | ( | ) | const |
|
virtual |
Available edition modes for the shape.
Implements eVision::EShape.
| eVision::EPoint eVision::ECircle::GetCenter | ( | ) | const |
Center of the ECircle.
| float eVision::ECircle::GetCenterX | ( | ) | const |
Abscissa of the center of the ECircle.
| float eVision::ECircle::GetCenterY | ( | ) | const |
Ordinate of the the center of the ECircle.
|
virtual |
Textual description of the shape and its parameters.
Implements eVision::EShape.
| float eVision::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.
|
static |
Computes the distance between a line and a circle.
| line | The line. |
| circle | The circle. |
|
static |
Computes the distance between a line and a circle.
| line | The line. |
| circle | The circle. |
| limited | Indicates if the line and circle parameters should be considered as infinite lines and full circles or as a segments and arcs. |
|
static |
Computes the distance between a point and a circle.
| pt | The point. |
| circle | The 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.
|
static |
Computes the distance between a point and a circle.
| pt | The point. |
| circle | The circle. |
| limited | Indicates 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.
| eVision::EPoint eVision::ECircle::GetEnd | ( | ) | const |
End point coordinates of a ECircle object.
| float eVision::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.
| bool eVision::ECircle::GetFull | ( | ) | const |
|
static |
Computes the intersections between two circles. Returns the number of intersections and stores the found intersections in the provided point parameters.
| circle1 | The first circle |
| circle2 | The second circle |
| intersection1 | The first intersection |
| intersection2 | The second intersection |
The function returns the number of intersections found. It will return -1 if the two circles are overlapping.
|
static |
Computes the intersections between two circles. Returns the number of intersections and stores the found intersections in the provided point parameters.
| circle1 | The first circle |
| circle2 | The second circle |
| intersection1 | The first intersection |
| intersection2 | The second intersection |
| limited | Indicates 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.
|
static |
Computes the intersections between a line and circle. Returns the number of intersections and stores the found intersections in the provided point parameters.
| line | The line |
| circle | The circle |
| intersection1 | The first intersection |
| intersection2 | The second intersection |
The function returns the number of intersections found.
|
static |
Computes the intersections between a line and circle. Returns the number of intersections and stores the found intersections in the provided point parameters.
| line | The line |
| circle | The circle |
| intersection1 | The first intersection |
| intersection2 | The second intersection |
| limited | Indicates 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.
| eVision::EPoint eVision::ECircle::GetOrg | ( | ) | const |
Origin point coordinates of a ECircle object.
| float eVision::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.
| eVision::EPoint eVision::ECircle::GetPoint | ( | float | fraction | ) | const |
Returns the coordinates of a particular point specified by its location along the circle arc.
| fraction | Point location expressed as a fraction of the circle arc (range [-1, +1]). |
|
static |
Computes the projection of a point on a circle.
| pt | The point. |
| circle | The 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.
|
static |
Computes the projection of a point on a circle.
| pt | The point. |
| circle | The circle. |
| limited | Indicates 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.
| float eVision::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.
| bool eVision::ECircle::IsDirect | ( | ) | 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.
| eVision::ECircle & eVision::ECircle::operator= | ( | const eVision::ECircle & | other | ) |
| void eVision::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.
| void eVision::ECircle::SetAngle | ( | float | angle | ) |
| void eVision::ECircle::SetCenter | ( | const eVision::EPoint & | center | ) |
| void eVision::ECircle::SetCenterX | ( | float | centerX | ) |
| void eVision::ECircle::SetCenterY | ( | float | centerY | ) |
| void eVision::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.
| void eVision::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.
| center | Center coordinates of the circle at its nominal position. The default value is (0,0). |
| origin | Origin point coordinates of the circle. |
| void eVision::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.
| center | Center coordinates of the circle at its nominal position. The default value is (0,0). |
| origin | Origin point coordinates of the circle. |
| direct | true (default) means that angles increase anticlockwisely in a direct coordinate system. |
| void eVision::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.
| origin | Origin of the circle Arc. |
| middle | Middle of the circle Arc. |
| end | End 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).
| void eVision::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.
| origin | Origin of the circle Arc. |
| middle | Middle of the circle Arc. |
| end | End of the circle Arc. |
| fullCircle | true (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).
| void eVision::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.