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

This interface represents an arc(LArc object) More...

Inheritance diagram for ILArc:
ILGeomObject ILObject LArc

Public Member Functions

void Draw (BOOL bFill, HDC hdc, double zoomX, double zoomY, double panX, double panY)
 
void FromAnnulusSectorRegion (ILAnnulusSectorRegion *val)
 
double GetAngle ()
 
ILRectGetBoundingRect ()
 
ILPointGetCenter ()
 
ILCircleGetCircle ()
 
ILPointGetEndPoint ()
 
double GetLength ()
 
ILPointGetStartPoint ()
 
ILPolygonResample (int num)
 
void Set (double x, double y, double r, double aStart, double aEnd)
 
ILAnnulusSectorRegionToAnnulusSectorRegion (int inExp, int outExp)
 
ILArcTransform (ILTransform *tf)
 
ILArcTranslate (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 EndAngle [get, set]
 The end angle in degrees.
 
double Radius [get, set]
 The radius of the imaginary circle.
 
double StartAngle [get, set]
 The start angle in degrees. The arc starts clockwise from the StartAngle and ends to EndAngle.
 
double X [get, set]
 The x-coordinate of the imaginary circle's center.
 
double Y [get, set]
 The y-coordinate of the imaginary circle'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 arc(LArc object)

Member Function Documentation

◆ Draw()

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

Draw the arc on HDC.

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

◆ FromAnnulusSectorRegion()

void FromAnnulusSectorRegion ( ILAnnulusSectorRegion val)

Set placement of the arc from the input annulus sector region. The start and end angle is the same as the annulus sector region, the radius is the averaging of the inner and outer radius of the region.

◆ GetAngle()

double GetAngle ( )

Get the angle size of the arc segment

Return values
resultReturn the angle.

◆ GetBoundingRect()

ILRect* GetBoundingRect ( )

Get the bounding rectangle of all the points

◆ GetCenter()

ILPoint* GetCenter ( )

Get the center point of the imaginary circle

◆ GetCircle()

ILCircle* GetCircle ( )

Get the imaginary circle

◆ GetEndPoint()

ILPoint* GetEndPoint ( )

Get the end point

◆ GetLength()

double GetLength ( )

Get the length of the arc segment

Return values
resultReturn the length.

◆ GetStartPoint()

ILPoint* GetStartPoint ( )

Get the start point

◆ Resample()

ILPolygon* Resample ( int  num)

Resample the arc object into an open polygon of the specified vertex count The start and end point is always kept in the resampled result.

Parameters
[in]numThe count of the resampled vertexes, at least 2
Return values
resultReturn the resampling result polygon

◆ Set()

void Set ( double  x,
double  y,
double  r,
double  aStart,
double  aEnd 
)

Set placement of the arc

Parameters
[in]xThe x-coordinate of the imaginary circle's center point
[in]yThe y-coordinate of the imaginary circle's center point
[in]rThe radius of the imaginary circle
[in]aStartThe start angle in degrees
[in]aEndThe end angle in degrees

◆ ToAnnulusSectorRegion()

ILAnnulusSectorRegion* ToAnnulusSectorRegion ( int  inExp,
int  outExp 
)

Generate an annulus sector region use the arc object with the given expansion

Parameters
[in]inExpThe expansion pixels from the imaginary circle's placement that generate the inner radius of the output annulus sector region
[in]outExpThe expansion pixels from the imaginary circle's placement that generate the outer radius of the output annulus sector region
Return values
valReturn the annulus sector region

◆ Transform()

ILArc* Transform ( ILTransform tf)

Transform the arc via the given transformation and return a new arc. Note that for an affine or perspective transformation, the result arc's imaginary circle is the bounding circle of the mapping result which may be an ellipse arc.

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

◆ Translate()

ILArc* Translate ( double  offsetX,
double  offsetY 
)

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

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