该接口对应一条直线(LLine对象)。
更多...
|
double | AcuteAngle (ILLine *line) |
|
double | AngleTo (ILLine *line) |
|
ILLine * | BisectLine (ILLine *line) |
|
double | Distance (ILLine *line) |
|
void | Draw (HDC hdc, double zoomX, double zoomY, double panX, double panY) |
|
void | FromRotRectRegion (ILRotRectRegion *val) |
|
double | GetAngle () |
|
ILPoint * | GetEndPoint () |
|
double | GetLength () |
|
ILPoint * | GetMidPoint () |
|
ILPoint * | GetStartPoint () |
|
double | GetX (double y) |
|
double | GetY (double x) |
|
LPVIntersectType | IntersectCircle (ILCircle *circle, ILPoints **intersectPoints) |
|
LPVIntersectType | IntersectLine (ILLine *line, ILPoint **intersectPoint) |
|
LPVIntersectType | IntersectPoly (ILPolygon *polygon, ILPoints **intersectPoints) |
|
double | Parallel (ILLine *line) |
|
double | Perpendicular (ILPoint *point, ILPoint **rootPoint) |
|
ILPolygon * | Resample (int num) |
|
ILPolygon * | ResampleByStep (double step, double stepThreshold) |
|
void | Set (double x1, double y1, double x2, double y2) |
|
void | Set2 (double midx, double midy, double lineAngle, double length) |
|
ILRotRectRegion * | ToRotRectRegion (int exp) |
|
ILLine * | Transform (ILTransform *tf) |
|
ILLine * | Translate (double offsetX, double offsetY) |
|
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) |
|
ILObject * | Copy () |
|
LPVErrorCode | Load (LString filename) |
|
void | Reset () |
|
LPVErrorCode | Save (LString filename) |
|
BOOL | Valid () |
|
◆ AcuteAngle()
double AcuteAngle |
( |
ILLine * |
line | ) |
|
计算当前直线和输入直线的夹角(锐角)
- 参数
-
- 返回值
-
◆ AngleTo()
double AngleTo |
( |
ILLine * |
line | ) |
|
◆ BisectLine()
◆ Distance()
double Distance |
( |
ILLine * |
line | ) |
|
计算当前直线和输入直线的距离。对非平行的直线,该距离指的是直线中点到另一条直线的距离的均值。
- 参数
-
- 返回值
-
◆ Draw()
void Draw |
( |
HDC |
hdc, |
|
|
double |
zoomX, |
|
|
double |
zoomY, |
|
|
double |
panX, |
|
|
double |
panY |
|
) |
| |
◆ FromRotRectRegion()
根据输入的旋转矩形区域对象,设置该直线的位置。 直线的角度于该旋转矩形区域相同,线长与其宽度相同
◆ GetAngle()
◆ GetEndPoint()
计算和获取直线的终点 \( (X2, Y2) \)
- 自从
- 2.1.0
◆ GetLength()
◆ GetMidPoint()
◆ GetStartPoint()
计算和获取直线的起点 \( (X1, Y1) \)
- 自从
- 2.1.0
◆ GetX()
给定直线上一个点的 y 坐标,计算其 x 坐标
- 参数
-
- 返回值
-
◆ GetY()
给定直线上一个点的 x 坐标,计算其 y 坐标
- 参数
-
- 返回值
-
◆ IntersectCircle()
判断当前直线和输入圆形是否相交,若相交,返回 1 或 2 个交点。
- 参数
-
[in] | circle | 输入的圆形 |
[out] | intersectPoints | 返回交点的点集,若当前圆形和输入直线不相交,则该点集为空,若当前圆形和输入直线相切,返回 1 个交点, 若当前圆形和输入直线相交,返回 2 个交点。 |
- 返回值
-
- 参见
- ILCircle::IntersectLine().
◆ IntersectLine()
判断当前直线和输入直线是否相交,若相交,返回交点。
- 参数
-
[in] | line | 输入的直线 |
[out] | intersectPoint | 返回交点 |
- 返回值
-
◆ IntersectPoly()
判断当前直线和输入多边形是否相交,若相交,返回一个或多个交点。
- 参数
-
[in] | polygon | 输入的多边形 |
[out] | intersectPoints | 返回交点的点集,若当前直线和输入多边形不相交,则该点集为空,否则可能包含一个或多个点。 |
- 返回值
-
- 参见
- ILPolygon::IntersectLine().
◆ Parallel()
double Parallel |
( |
ILLine * |
line | ) |
|
评价当前直线和输入直线的平行度
- 参数
-
- 返回值
-
result | 返回评价值,在 (0, 1) 范围内。返回值越接近 1,越接近标准平行线。 |
◆ Perpendicular()
计算输入的点到当前直线的垂足和垂直距离
- 参数
-
[in] | point | 输入的点 |
[out] | rootPoint | 返回垂足 |
- 返回值
-
◆ Resample()
◆ ResampleByStep()
ILPolygon* ResampleByStep |
( |
double |
step, |
|
|
double |
stepThreshold |
|
) |
| |
沿该直线采样,按指定距离步长,生成一个非闭合多边形。 直线的起点和终点总是包含在采样结果中。
- 参数
-
[in] | step | 采样距离步长 |
[in] | stepThreshold | 若最后一个采样点(直线终点附近)与直线终点的剩余距离小于该设定阈值,则忽略该采样点。 默认设置为 0,表示使用 \( Step / 4 \) 距离作为阈值。 |
- 返回值
-
- 参见
- Resample()
◆ Set()
void Set |
( |
double |
x1, |
|
|
double |
y1, |
|
|
double |
x2, |
|
|
double |
y2 |
|
) |
| |
设置直线的位置,使用端点坐标
- 参数
-
[in] | x1 | 直线起点的 x 坐标 |
[in] | y1 | 直线起点的 y 坐标 |
[in] | x2 | 直线终点的 x 坐标 |
[in] | y2 | 直线终点的 y 坐标 |
◆ Set2()
void Set2 |
( |
double |
midx, |
|
|
double |
midy, |
|
|
double |
lineAngle, |
|
|
double |
length |
|
) |
| |
设置直线的位置,使用中点坐标和角度
- 参数
-
[in] | midx | 直线中点的 x 坐标 |
[in] | midy | 直线中点的 y 坐标 |
[in] | lineAngle | 直线的角度 |
[in] | length | 直线线段的长度 |
◆ ToRotRectRegion()
根据当前直线的位置和给定的扩展宽度,生成一个旋转矩形区域
- 参数
-
- 返回值
-
◆ Transform()
应用指定的变换矩阵到当前直线,得到一个新的直线
- 参数
-
- 返回值
-
◆ Translate()
ILLine* Translate |
( |
double |
offsetX, |
|
|
double |
offsetY |
|
) |
| |
平移当前直线,得到一条新的直线
- 参数
-
[in] | offsetX | x 方向的平移量 |
[in] | offsetY | y 方向的平移量 |
- 返回值
-