Leaper Vision Toolkit
中文 / English 2.x
Public 成员函数 | 属性
ILCircle接口 参考

该接口对应一个圆形(LCircle对象)。 更多...

类 ILCircle 继承关系图:
ILObject LCircle

Public 成员函数

double Concentric (ILCircle *circle)
 
void Draw (BOOL bFill, HDC hdc, double zoomX, double zoomY, double panX, double panY)
 
void FromAnnulusRegion (ILAnnulusRegion *val)
 
void FromCircleRegion (ILCircleRegion *val)
 
ILArcGetArc (double aStart, double aEnd)
 
double GetArea ()
 
ILPointGetCenter ()
 
double GetPerimeter ()
 
LPVIntersectType IntersectLine (ILLine *line, ILPoints **intersectPoints)
 
LPVPointTestResult PointTest (ILPoint *point)
 
ILPolygonResample (int num)
 
void Set (double x, double y, double r)
 
ILAnnulusRegionToAnnulusRegion (int inExp, int outExp)
 
ILCircleRegionToCircleRegion ()
 
ILCircleTransform (ILTransform *tf)
 
ILCircleTranslate (double offsetX, double offsetY)
 
- Public 成员函数 继承自 ILObject
ILObjectCopy ()
 
LPVErrorCode Load (LString filename)
 
void Reset ()
 
LPVErrorCode Save (LString filename)
 
BOOL Valid ()
 

属性

double Radius [get, set]
 圆形的半径
 
double X [get, set]
 圆形中心的 x 坐标
 
double Y [get, set]
 圆形中心的 y 坐标
 

详细描述

该接口对应一个圆形(LCircle对象)。

成员函数说明

◆ Concentric()

double Concentric ( ILCircle circle)

评价当前圆形和输入的圆形是否同心

参数
[in]circle输入的圆形
返回值
result返回评价值,在 (0, 1) 范围内。返回值越接近 1,越接近标准同心圆。

◆ Draw()

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

绘制圆到给定的设备

参数
[in]bFill是否使用当前笔刷填充圆形
参见
Use Draw Functions
备注
该函数在 Linux / MacOS 平台暂不可用。

◆ FromAnnulusRegion()

void FromAnnulusRegion ( ILAnnulusRegion val)

根据输入的圆环区域对象,设置该圆形的位置。半径为圆环区域的内外侧半径的均值。

◆ FromCircleRegion()

void FromCircleRegion ( ILCircleRegion val)

根据输入的圆形区域对象,设置该圆形的位置。

◆ GetArc()

ILArc* GetArc ( double  aStart,
double  aEnd 
)

生成从指定从 aStart 开始,沿顺时针方向,到 aEnd 结束的圆弧

参数
[in]aStart圆弧的起始角度
[in]aEnd圆弧的结束角度
返回值
返回圆弧对象

◆ GetArea()

double GetArea ( )

获取圆形的面积

返回值
val返回圆形的面积

◆ GetCenter()

ILPoint* GetCenter ( )

获取圆心所在的点。

◆ GetPerimeter()

double GetPerimeter ( )

获取圆形的周长

返回值
val返回圆形的周长

◆ IntersectLine()

LPVIntersectType IntersectLine ( ILLine line,
ILPoints **  intersectPoints 
)

判断当前圆形和输入直线是否相交,若相交,返回 1 或 2 个交点。

参数
[in]line输入的直线
[out]intersectPoints返回交点的点集,若当前圆形和输入直线不相交,则该点集为空,若当前圆形和输入直线相切,返回 1 个交点, 若当前圆形和输入直线相交,返回 2 个交点。
返回值
type返回相交的类型,与交点的个数相关, Bounded (2), Partial (1) or Unbounded (0).
参见
ILLine::IntersectCircle().

◆ PointTest()

LPVPointTestResult PointTest ( ILPoint point)

判断输入的点是否在圆形内部、圆形外部或圆上

参数
[in]point输入的点
返回值
val返回判断结果

◆ Resample()

ILPolygon* Resample ( int  num)

沿该圆形采样,生成一个指定顶点数量的闭合多边形

参数
[in]num采样顶点数量,至少为 3
返回值
result返回采样得到的结果多边形

◆ Set()

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

设置圆形的位置和尺寸

参数
[in]x圆形中心的 x 坐标
[in]y圆形中心的 y 坐标
[in]r圆形的半径

◆ ToAnnulusRegion()

ILAnnulusRegion* ToAnnulusRegion ( int  inExp,
int  outExp 
)

根据当前圆形和指定的内外扩展半径,生成一个圆环区域对象。

参数
[in]inExp基于当前圆形向内扩展,生成圆环区域的内侧半径
[in]outExp基于当前圆形向外扩展,生成圆环区域的外侧半径
返回值
val返回生成的圆环区域

◆ ToCircleRegion()

ILCircleRegion* ToCircleRegion ( )

根据当前圆形生成一个圆形区域对象。

◆ Transform()

ILCircle* Transform ( ILTransform tf)

应用指定的变换矩阵到当前圆,得到一个新的圆。 对于仿射变换及射影变换,获得的新圆形为变换结果的包围圆。该变换结果可能是一个圆或椭圆。

参数
[in]tf变换矩阵
返回值
返回新的圆

◆ Translate()

ILCircle* Translate ( double  offsetX,
double  offsetY 
)

平移当前圆形,生成一个新的圆形

参数
[in]offsetXx 方向的平移量
[in]offsetYy 方向的平移量
返回值
result返回新的圆形