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

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

Inheritance diagram for ILEllipse:
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 ()
 
ILPoint * GetBottom ()
 
ILRect * GetBoundingRect ()
 
ILRect * GetBoundingRotRect ()
 
ILPoint * GetCenter ()
 
ILPoint * GetLeft ()
 
double GetPerimeter ()
 
ILPoint * GetRight ()
 
ILPoint * GetTop ()
 
ILPolygon * Resample (int num)
 
ILPolygon * SamplingByAngle (double startArcAngle, double endArcAngle, double stepAngle)
 
void Set (double x, double y, double w, double h, double a)
 
ILEllipseRegion * ToEllipseRegion ()
 
ILEllipse * Transform (ILTransform *tf)
 
ILEllipse * Translate (double offsetX, double offsetY)
 
- Public Member Functions inherited from ILObject
ILObject * Copy ()
 
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.
 

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