eVision .NET API
Loading...
Searching...
No Matches
eVision.EEllipse Class Reference

Represents a model of an (arc of) ellipse. More...

Inheritance diagram for eVision.EEllipse:
Collaboration diagram for eVision.EEllipse:

Public Member Functions

 EEllipse ()
 Constructs a EEllipse object.
 EEllipse (eVision.EPoint center, float radiusX, float radiusY, float radiusXOrientation, bool direct)
 Constructs a EEllipse object.
 EEllipse (eVision.EPoint center, float radiusX, float radiusY, float radiusXOrientation)
 Constructs a EEllipse object.
 EEllipse (eVision.EPoint center, float radiusX, float radiusY, float radiusXOrientation, float originAngle, float amplitude, bool direct)
 Constructs a EEllipse object.
 EEllipse (eVision.EPoint center, float radiusX, float radiusY, float radiusXOrientation, float originAngle, float amplitude)
 Constructs a EEllipse object.
 EEllipse (eVision.EEllipse other)
 Constructs a EEllipse object.
void CopyTo (eVision.EEllipse other)
 Copies all the data of the current EEllipse object into another EEllipse object and returns it.
bool IsFull ()
 Flag indicating whether the EEllipse object is a full ellipse or not.
bool IsDirect ()
 Flag indicating whether positive angles correspond to a clockwise or an anticlockwise rotation.
Public Member Functions inherited from eVision.EShape
void Load (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 (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)
 Draws the EShape shape.
void Draw (eVision.EDrawAdapter drawAdapter, float zoomX, float zoomY, float panX, float panY)
 Draws the EShape shape.
void Draw (eVision.EDrawAdapter drawAdapter, float zoomX, float zoomY, float panX)
 Draws the EShape shape.
void Draw (eVision.EDrawAdapter drawAdapter, float zoomX, float zoomY)
 Draws the EShape shape.
void Draw (eVision.EDrawAdapter drawAdapter, float zoomX)
 Draws the EShape shape.
void Draw (eVision.EDrawAdapter drawAdapter)
 Draws the EShape shape.
void Draw (eVision.EDrawAdapter drawAdapter, eVision.EFrame frame, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals)
 Draws the EShape shape.
void Draw (eVision.EDrawAdapter drawAdapter, eVision.EFrame frame, float zoomX, float zoomY, float panX, float panY)
 Draws the EShape shape.
void Draw (eVision.EDrawAdapter drawAdapter, eVision.EFrame frame, float zoomX, float zoomY, float panX)
 Draws the EShape shape.
void Draw (eVision.EDrawAdapter drawAdapter, eVision.EFrame frame, float zoomX, float zoomY)
 Draws the EShape shape.
void Draw (eVision.EDrawAdapter drawAdapter, eVision.EFrame frame, float zoomX)
 Draws the EShape shape.
void Draw (eVision.EDrawAdapter drawAdapter, eVision.EFrame frame)
 Draws the EShape shape.
eVision.EEditionMode HitTest (int x, int y, float zoomX, float zoomY, float panX, float panY)
 Detects if the cursor is placed over one of the dragging handles.
eVision.EEditionMode HitTest (int x, int y, float zoomX, float zoomY, float panX)
 Detects if the cursor is placed over one of the dragging handles.
eVision.EEditionMode HitTest (int x, int y, float zoomX, float zoomY)
 Detects if the cursor is placed over one of the dragging handles.
eVision.EEditionMode HitTest (int x, int y, float zoomX)
 Detects if the cursor is placed over one of the dragging handles.
eVision.EEditionMode HitTest (int x, int y, 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 (int x, int y, eVision.EFrame frame, float zoomX, float zoomY, float panX)
 Detects if the cursor is placed over one of the dragging handles.
eVision.EEditionMode HitTest (int x, int y, eVision.EFrame frame, float zoomX, float zoomY)
 Detects if the cursor is placed over one of the dragging handles.
eVision.EEditionMode HitTest (int x, int y, eVision.EFrame frame, float zoomX)
 Detects if the cursor is placed over one of the dragging handles.
void Drag (int x, int 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 (int x, int 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 (int x, int y, float zoomX, float zoomY)
 Moves the specified handle to a new position and updates all placement parameters of the region.
void Drag (int x, int y, float zoomX)
 Moves the specified handle to a new position and updates all placement parameters of the region.
void Drag (int x, int y)
 Moves the specified handle to a new position and updates all placement parameters of the region.
void Drag (int x, int y, 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 (int x, int y, 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 (int x, int y, 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 (int x, int y, eVision.EFrame frame, float zoomX)
 Moves the specified handle to a new position and updates all placement parameters of the region.
void Drag (int x, int y, eVision.EFrame frame)
 Moves the specified handle to a new position and updates all placement parameters of the region.
eVision.EFrame ToFrame (bool useAngle, eVision.EFrameScaling frameScaling)
 Converts the shape to a frame.
eVision.EFrame ToFrame (bool useAngle, eVision.EFrameScaling frameScaling, eVision.EFrame shapeFrame)
 Converts the shape to a frame.

Static Public Member Functions

static float GetDistanceBetweenPointAndEllipse (eVision.EPoint pt, eVision.EEllipse ellipse, bool limited)
 Computes the distance between a point and an ellipse.
static float GetDistanceBetweenPointAndEllipse (eVision.EPoint pt, eVision.EEllipse ellipse)
 Computes the distance between a point and an ellipse.
static eVision.EEllipse Fit (eVision.EPoint[] points, bool fitArc, uint numFilteringPasses, float filteringThreshold)
 Fits an ellipse to a set of points.
static eVision.EEllipse Fit (eVision.EPoint[] points, bool fitArc, uint numFilteringPasses)
 Fits an ellipse to a set of points.
static eVision.EEllipse Fit (eVision.EPoint[] points, bool fitArc)
 Fits an ellipse to a set of points.
static eVision.EEllipse Fit (eVision.EPoint[] points)
 Fits an ellipse to a set of points.

Properties

eVision.EPoint Center [get, set]
 Center of the EEllipse.
float CenterX [get, set]
 Abscissa of the center of the EEllipse.
float CenterY [get, set]
 Ordinate of the the center of the EEllipse.
float Angle [get, set]
 Orientation of the EEllipse.
float HorizontalRadius [get, set]
 Horizontal Radius of a EEllipse object.
float VerticalRadius [get, set]
 Vertical Radius of a EEllipse object.
float HorizontalRadiusOrientation [get, set]
 Orientation of the horizontal Radius of a EEllipse object.
float OriginAngle [get, set]
 Angular position from where the EEllipse object extents.
float EndAngle [get]
 Angular position of the end of a EEllipse object.
float Amplitude [get, set]
 Angular amplitude of the EEllipse object.
override eVision.EEditionMode AvailableEditionModes [get]
 Available edition modes for the shape.
override string Description [get]
 Textual description of the shape and its parameters.
Properties inherited from eVision.EShape
eVision.EEditionMode EditionMode [get, set]
 Current edition mode for the shape. Default: EEditionMode_None.
eVision.EEditionMode AvailableEditionModes [get]
 Available edition modes for the shape.
string Description [get]
 Textual description of the shape and its parameters.

Detailed Description

Represents a model of an (arc of) ellipse.

License(s): BasicTypes

Constructor & Destructor Documentation

◆ EEllipse() [1/6]

eVision.EEllipse.EEllipse ( )

Constructs a EEllipse object.

◆ EEllipse() [2/6]

eVision.EEllipse.EEllipse ( eVision.EPoint center,
float radiusX,
float radiusY,
float radiusXOrientation,
bool direct )

Constructs a EEllipse object.

Parameters
centerCenter coordinates of the ellipse at its nominal position. The default value is (0,0).
radiusXhorizontal radius of the ellipse. The default value is 100.
radiusYvertical radius of the ellipse. The default value is 50.
radiusXOrientationOrientation of the horizontal radius of the ellipse. The default value is 0.
directtrue (default) means that angles increase anticlockwisely in a direct coordinate system.

◆ EEllipse() [3/6]

eVision.EEllipse.EEllipse ( eVision.EPoint center,
float radiusX,
float radiusY,
float radiusXOrientation )

Constructs a EEllipse object.

Parameters
centerCenter coordinates of the ellipse at its nominal position. The default value is (0,0).
radiusXhorizontal radius of the ellipse. The default value is 100.
radiusYvertical radius of the ellipse. The default value is 50.
radiusXOrientationOrientation of the horizontal radius of the ellipse. The default value is 0.

◆ EEllipse() [4/6]

eVision.EEllipse.EEllipse ( eVision.EPoint center,
float radiusX,
float radiusY,
float radiusXOrientation,
float originAngle,
float amplitude,
bool direct )

Constructs a EEllipse object.

Parameters
centerCenter coordinates of the ellipse at its nominal position. The default value is (0,0).
radiusXhorizontal radius of the ellipse. The default value is 100.
radiusYvertical radius of the ellipse. The default value is 50.
radiusXOrientationOrientation of the horizontal radius of the ellipse. The default value is 0.
originAngleNominal angular origin of the (arc of) ellipse. The default value is 0°.
amplitudeNominal angular amplitude of the (arc of) ellipse. The default value is 360°.
directtrue (default) means that angles increase anticlockwisely in a direct coordinate system.

◆ EEllipse() [5/6]

eVision.EEllipse.EEllipse ( eVision.EPoint center,
float radiusX,
float radiusY,
float radiusXOrientation,
float originAngle,
float amplitude )

Constructs a EEllipse object.

Parameters
centerCenter coordinates of the ellipse at its nominal position. The default value is (0,0).
radiusXhorizontal radius of the ellipse. The default value is 100.
radiusYvertical radius of the ellipse. The default value is 50.
radiusXOrientationOrientation of the horizontal radius of the ellipse. The default value is 0.
originAngleNominal angular origin of the (arc of) ellipse. The default value is 0°.
amplitudeNominal angular amplitude of the (arc of) ellipse. The default value is 360°.

◆ EEllipse() [6/6]

eVision.EEllipse.EEllipse ( eVision.EEllipse other)

Constructs a EEllipse object.

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

Member Function Documentation

◆ CopyTo()

void eVision.EEllipse.CopyTo ( eVision.EEllipse other)

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

Parameters
otherEEllipse object in which the current EEllipse object data have to be copied.

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

◆ Fit() [1/4]

eVision.EEllipse eVision.EEllipse.Fit ( eVision.EPoint[] points)
static

Fits an ellipse to a set of points.

Parameters
pointsVector of points to fit.

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" EEllipse, see EEllipse.IsDirect.

◆ Fit() [2/4]

eVision.EEllipse eVision.EEllipse.Fit ( eVision.EPoint[] points,
bool fitArc )
static

Fits an ellipse to a set of points.

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

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" EEllipse, see EEllipse.IsDirect.

◆ Fit() [3/4]

eVision.EEllipse eVision.EEllipse.Fit ( eVision.EPoint[] points,
bool fitArc,
uint numFilteringPasses )
static

Fits an ellipse to a set of points.

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

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" EEllipse, see EEllipse.IsDirect.

◆ Fit() [4/4]

eVision.EEllipse eVision.EEllipse.Fit ( eVision.EPoint[] points,
bool fitArc,
uint numFilteringPasses,
float filteringThreshold )
static

Fits an ellipse to a set of points.

Parameters
pointsVector of points to fit.
fitArcIf true, an ellipse arc big enough to be close to all points will be returned instead of a full ellipse. Defaults to false.
numFilteringPassesNumber of filtering passes for an ellipse 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.

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" EEllipse, see EEllipse.IsDirect.

◆ GetDistanceBetweenPointAndEllipse() [1/2]

float eVision.EEllipse.GetDistanceBetweenPointAndEllipse ( eVision.EPoint pt,
eVision.EEllipse ellipse )
static

Computes the distance between a point and an ellipse.

Note that we compute the distance between the point and its projection on the ellipse. This is not always the shortest distance.

Parameters
ptThe point.
ellipseThe ellipse.

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

◆ GetDistanceBetweenPointAndEllipse() [2/2]

float eVision.EEllipse.GetDistanceBetweenPointAndEllipse ( eVision.EPoint pt,
eVision.EEllipse ellipse,
bool limited )
static

Computes the distance between a point and an ellipse.

Note that we compute the distance between the point and its projection on the ellipse. This is not always the shortest distance.

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

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

◆ IsDirect()

bool eVision.EEllipse.IsDirect ( )

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.

◆ IsFull()

bool eVision.EEllipse.IsFull ( )

Flag indicating whether the EEllipse object is a full ellipse or not.

By default (true), the EEllipse object is a full ellipse.

Property Documentation

◆ Amplitude

float eVision.EEllipse.Amplitude
getset

Angular amplitude of the EEllipse object.

The default value is 360°. 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.

◆ Angle

float eVision.EEllipse.Angle
getset

Orientation of the EEllipse.

◆ AvailableEditionModes

override eVision.EEditionMode eVision.EEllipse.AvailableEditionModes
get

Available edition modes for the shape.

◆ Center

eVision.EPoint eVision.EEllipse.Center
getset

Center of the EEllipse.

◆ CenterX

float eVision.EEllipse.CenterX
getset

Abscissa of the center of the EEllipse.

◆ CenterY

float eVision.EEllipse.CenterY
getset

Ordinate of the the center of the EEllipse.

◆ Description

override string eVision.EEllipse.Description
get

Textual description of the shape and its parameters.

◆ EndAngle

float eVision.EEllipse.EndAngle
get

Angular position of the end of a EEllipse object.

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.

◆ HorizontalRadius

float eVision.EEllipse.HorizontalRadius
getset

Horizontal Radius of a EEllipse object.

◆ HorizontalRadiusOrientation

float eVision.EEllipse.HorizontalRadiusOrientation
getset

Orientation of the horizontal Radius of a EEllipse object.

◆ OriginAngle

float eVision.EEllipse.OriginAngle
getset

Angular position from where the EEllipse object extents.

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.

◆ VerticalRadius

float eVision.EEllipse.VerticalRadius
getset

Vertical Radius of a EEllipse object.