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

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

类 ILCircle 继承关系图:
ILGeomObject 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 成员函数 继承自 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 成员函数 继承自 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 坐标
 
- 属性 继承自 ILObject
LString Name [get, set]
 对象的名称,默认为空。
大多数情况下,LPV 算法类并不使用这个名称。
ILDrawable::SetDrawName() 启用,该名称将被绘制在对象的附近 更多...
 

详细描述

该接口对应一个圆形(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返回新的圆形