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

该接口对应一个可旋转的矩形(LRect对象) 更多...

类 ILRect 继承关系图:
ILGeomObject ILObject LRect

Public 成员函数

ILRectAdjust (double dtop, double dbottom, double dleft, double dright)
 
void Draw (BOOL bFill, HDC hdc, double zoomX, double zoomY, double panX, double panY)
 
void FromRectRegion (ILRectRegion *val)
 
void FromRotRectRegion (ILRotRectRegion *val)
 
double GetArea ()
 
ILLineGetBottom ()
 
ILPointGetBottomLeft ()
 
ILPointGetBottomRight ()
 
ILRectGetBoundingRect ()
 
ILPointGetCenter ()
 
ILLineGetLeft ()
 
double GetPerimeter ()
 
ILPointsGetPoints ()
 
ILLineGetRight ()
 
ILLineGetTop ()
 
ILPointGetTopLeft ()
 
ILPointGetTopRight ()
 
LPVPointTestResult PointTest (ILPoint *point)
 
ILPolygonResample (int num)
 
ILPolygonResampleByStep (double step, double stepThreshold)
 
void Set (double x, double y, double w, double h, double a)
 
ILRectRegionToRectRegion ()
 
ILRotRectRegionToRotRectRegion ()
 
ILRectTransform (ILTransform *tf)
 
ILRectTranslate (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 Angle [get, set]
 该矩形的旋转角度,若设置旋转角度,则该矩形为旋转矩形
 
double Height [get, set]
 该矩形的高度
 
double Width [get, set]
 该矩形的宽度
 
double X [get, set]
 该矩形中心点的 x 坐标
 
double Y [get, set]
 该矩形中心点的 y 坐标
 
- 属性 继承自 ILObject
LString Name [get, set]
 对象的名称,默认为空。
大多数情况下,LPV 算法类并不使用这个名称。
ILDrawable::SetDrawName() 启用,该名称将被绘制在对象的附近 更多...
 

详细描述

该接口对应一个可旋转的矩形(LRect对象)

成员函数说明

◆ Adjust()

ILRect* Adjust ( double  dtop,
double  dbottom,
double  dleft,
double  dright 
)

调整当前矩形的尺寸,生成一个新的矩形

参数
[in]dtop上边界调整值
[in]dbottom下边界调整值
[in]dleft左边界调整值
[in]dright右边界调整值
返回值
result返回新的矩形

◆ Draw()

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

绘制矩形到给定的设备上

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

◆ FromRectRegion()

void FromRectRegion ( ILRectRegion val)

根据输入的矩形区域对象,设置该矩形的位置和尺寸,角度固定为 0

◆ FromRotRectRegion()

void FromRotRectRegion ( ILRotRectRegion val)

根据输入的旋转矩形区域对象,设置该矩形的位置、尺寸和角度。

◆ GetArea()

double GetArea ( )

获取矩形的面积

返回值
val返回矩形的面积

◆ GetBottom()

ILLine* GetBottom ( )

获取矩形的下边线,由其左下角点和右下角点组成

◆ GetBottomLeft()

ILPoint* GetBottomLeft ( )

获取矩形的左下角点

◆ GetBottomRight()

ILPoint* GetBottomRight ( )

获取矩形的右下角点

◆ GetBoundingRect()

ILRect* GetBoundingRect ( )

计算矩形的包围矩形。 对于非旋转矩形,其包围矩形与自身完全相同

◆ GetCenter()

ILPoint* GetCenter ( )

获取矩形中心所在的点。

◆ GetLeft()

ILLine* GetLeft ( )

获取矩形的左边线,由其左上角点和左下角点组成

◆ GetPerimeter()

double GetPerimeter ( )

获取矩形的周长

返回值
val返回矩形的周长

◆ GetPoints()

ILPoints* GetPoints ( )

获取矩形的所有角点到一个点集,用于进行如计算包围矩形、拟合等计算。 按以下顺序排列:左下,左上,右上,右下。

返回值
val返回角点的点集

◆ GetRight()

ILLine* GetRight ( )

获取矩形的右边线,由其右上角点和右下角点组成

◆ GetTop()

ILLine* GetTop ( )

获取矩形的上边线,由其左上角点和右上角点组成

◆ GetTopLeft()

ILPoint* GetTopLeft ( )

获取矩形的左上角点

◆ GetTopRight()

ILPoint* GetTopRight ( )

获取矩形的右上角点

◆ PointTest()

LPVPointTestResult PointTest ( ILPoint point)

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

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

◆ Resample()

ILPolygon* Resample ( int  num)

沿该矩形采样,生成一个指定顶点数量的闭合多边形。 矩形的 4 个角点总是包含在采样结果中。

参数
[in]num采样顶点数量,需为一个偶数,最少为 4
返回值
result返回采样得到的结果多边形
参见
ResampleByStep()

◆ ResampleByStep()

ILPolygon* ResampleByStep ( double  step,
double  stepThreshold 
)

沿该矩形采样,按指定距离步长,生成一个闭合多边形。 矩形的 4 个角点总是包含在采样结果中。

参数
[in]step采样距离步长
[in]stepThreshold若某段矩形边的最后一个采样点与矩形角点的剩余距离小于该设定阈值,则忽略该采样点。 默认设置为 0,表示使用 \( Step / 4 \) 距离作为阈值。
返回值
result返回采样得到的结果多边形
参见
Resample()

◆ Set()

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

设置该矩形的位置和尺寸

参数
[in]x矩形中心点的 x 坐标
[in]y矩形中心点的 x 坐标
[in]w矩形的宽度
[in]h矩形的高度
[in]a矩形的角度,默认设置为 0,即非旋转矩形

◆ ToRectRegion()

ILRectRegion* ToRectRegion ( )

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

返回值
val返回生成的矩形区域对象

◆ ToRotRectRegion()

ILRotRectRegion* ToRotRectRegion ( )

根据当前矩形,生成一个旋转矩形区域对象。

返回值
返回生成的旋转矩形区域对象

◆ Transform()

ILRect* Transform ( ILTransform tf)

应用指定的变换矩阵到当前矩形,得到一个新的矩形。 对于仿射变换及射影变换,获得的新矩形为原始矩形的四个角点变换后获得的新角点的包围旋转矩形。因为通过仿射变换及射影变换,矩形可能成为任一四边形。

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

◆ Translate()

ILRect* Translate ( double  offsetX,
double  offsetY 
)

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

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