Leaper Vision Toolkit
中文 / English 2.x
Public Member Functions | Properties
ILEllipse Interface Reference

This interface represents an ellipse(LEllipse object) More...

Inheritance diagram for ILEllipse:
ILGeomObject ILObject LEllipse

Public Member Functions

void Draw (BOOL bFill, HDC hdc, double zoomX, double zoomY, double panX, double panY)
 
void FromEllipseRegion (ILEllipseRegion *val)
 
double GetArea ()
 
ILPointGetBottom ()
 
ILRectGetBoundingRect ()
 
ILRectGetBoundingRotRect ()
 
ILPointGetCenter ()
 
ILPointGetLeft ()
 
double GetPerimeter ()
 
ILPointGetRight ()
 
ILPointGetTop ()
 
ILPolygonResample (int num)
 
ILPolygonSamplingByAngle (double startArcAngle, double endArcAngle, double stepAngle)
 
void Set (double x, double y, double w, double h, double a)
 
ILEllipseRegionToEllipseRegion ()
 
ILEllipseTransform (ILTransform *tf)
 
ILEllipseTranslate (double offsetX, double offsetY)
 
- Public Member Functions inherited from ILGeomObject
void Drag (LPVGeomHandle geomHandle, int posX, int posY, double zoomX, double zoomY, double panX, double panY)
 
void EnableHandle (LPVGeomHandle geomHandle, BOOL enabled)
 
LPVGeomHandle HitTest (int posX, int posY, double zoomX, double zoomY, double panX, double panY)
 
void ScaleTo (double factorX, double factorY)
 
void TransformTo (ILTransform *tf)
 
void TranslateTo (double offsetX, double offsetY)
 
- Public Member Functions inherited from ILObject
ILObjectCopy ()
 
LPVErrorCode Load (LString filename)
 
void Reset ()
 
LPVErrorCode Save (LString filename)
 
BOOL Valid ()
 

Properties

double Angle [get, set]
 The angle of the ellipse, aka. the orientation of the long axis.
 
double Height [get, set]
 The height of the ellipse's minor axis.
 
double Width [get, set]
 The length of the ellipse's major axis.
 
double X [get, set]
 The x-coordinate of the ellipse's center.
 
double Y [get, set]
 The y-coordinate of the ellipse's center.
 
- Properties inherited from ILObject
LString Name [get, set]
 Name of the object. By default, the object has no name.
In most cases, LPV classes don't make use of the names.
The name is drawn on canvas around the object if ILDrawable::SetDrawName() is enabled. More...
 

Detailed Description

This interface represents an ellipse(LEllipse object)

Member Function Documentation

◆ Draw()

void Draw ( BOOL  bFill,
HDC  hdc,
double  zoomX,
double  zoomY,
double  panX,
double  panY 
)

Draw the ellipse on HDC.

Parameters
[in]bFillWhether to fill the circle using current brush.
See also
Use Draw Functions
Remarks
This function is currently not available on Linux / MacOS platform.

◆ FromEllipseRegion()

void FromEllipseRegion ( ILEllipseRegion val)

Set placement of the ellipse from the input ellipse region

◆ GetArea()

double GetArea ( )

Get the area of the ellipse

Return values
valReturn the area value

◆ GetBottom()

ILPoint* GetBottom ( )

Get the bottom end point of the ellipse which is on its minor axis

◆ GetBoundingRect()

ILRect* GetBoundingRect ( )

Get the bounding rectangle of the ellipse

◆ GetBoundingRotRect()

ILRect* GetBoundingRotRect ( )

Get the rotated bounding rectangle of the ellipse

◆ GetCenter()

ILPoint* GetCenter ( )

Get the center point of the ellipse

◆ GetLeft()

ILPoint* GetLeft ( )

Get the left end point of the ellipse which is on its major axis

◆ GetPerimeter()

double GetPerimeter ( )

Get the perimeter of the ellipse, using Ramanujan formula

Return values
valReturn the perimeter value

◆ GetRight()

ILPoint* GetRight ( )

Get the right end point of the ellipse which is on its major axis

◆ GetTop()

ILPoint* GetTop ( )

Get the top end point of the ellipse which is on its minor axis

◆ Resample()

ILPolygon* Resample ( int  num)

Resample the ellipse object into a closed polygon of the specified vertex count.

Parameters
[in]numThe count of the resampled vertexes. At least 3.
Return values
resultReturn the resampling result polygon

◆ SamplingByAngle()

ILPolygon* SamplingByAngle ( double  startArcAngle,
double  endArcAngle,
double  stepAngle 
)

Sampling the ellipse into a polygon by the angle. The points are generated clockwise from the start to the end angle, one point per specified step angle.

Parameters
[in]startArcAngleThe start angle of the ellipse arc, in degrees
[in]endArcAngleThe end angle of the ellipse arc, in degrees
[in]stepAngleThe step angle in degrees
Return values
resultReturn the result polygon

◆ Set()

void Set ( double  x,
double  y,
double  w,
double  h,
double  a 
)

Set placement of the ellipse

Parameters
[in]xThe x-coordinate of the ellipse's center
[in]yThe x-coordinate of the ellipse's center
[in]wThe width of the ellipse
[in]hThe height of the ellipse
[in]aThe angle of the ellipse, aka. the orientation of the long axis

◆ ToEllipseRegion()

ILEllipseRegion* ToEllipseRegion ( )

Generate an ellipse region use the ellipse object

Return values
valReturn the ellipse region

◆ Transform()

ILEllipse* Transform ( ILTransform tf)

Transform the ellipse via the given transformation and return a new ellipse

Parameters
[in]tfThe transformation.
Return values
Returnthe new ellipse

◆ Translate()

ILEllipse* Translate ( double  offsetX,
double  offsetY 
)

Translate the ellipse by the given offset and return a new ellipse

Parameters
[in]offsetXThe x-coordinate of the offset
[in]offsetYThe y-coordinate of the offset
Return values
resultReturn the new ellipse