|
TouchVG framework
|
多边形剪裁类 更多...
#include <giplclip.h>
Public 成员函数 | |
| PolygonClip (const Box2d &rect, bool closed=true) | |
| 构造函数 更多... | |
| bool | clip (int count, const Point2d *points, const Matrix2d *mat=(const Matrix2d *) 0) |
| 剪裁一个多边形 更多... | |
| int | getCount () const |
| 返回剪裁结果中的顶点个数 更多... | |
| const Point2d * | getPoints () const |
| 返回剪裁结果中的顶点数组 更多... | |
| const Point2d & | getPoint (int index) const |
| 返回剪裁结果中的指定序号的顶点坐标 更多... | |
| bool | isLinked (int index) const |
| 判断剪裁后两相邻顶点是否构成轮廓边 更多... | |
Private 类型 | |
| enum | kSideType { LEFT, TOP, RIGHT, BOTTOM } |
Private 成员函数 | |
| void | operator= (const PolygonClip &) |
| bool | clipEdge (vector< Point2d > &arr, int count, const Point2d *points, kSideType side) |
| void | output (vector< Point2d > &arr, const Point2d &p1, const Point2d &p2, kSideType side) |
| void | clipLeft (vector< Point2d > &arr, const Point2d &p1, const Point2d &p2) |
| void | clipTop (vector< Point2d > &arr, const Point2d &p1, const Point2d &p2) |
| void | clipRight (vector< Point2d > &arr, const Point2d &p1, const Point2d &p2) |
| void | clipBottom (vector< Point2d > &arr, const Point2d &p1, const Point2d &p2) |
Private 属性 | |
| const Box2d | m_rect |
| 剪裁矩形 更多... | |
| vector< Point2d > | m_vs1 |
| 剪裁交点缓冲 更多... | |
| vector< Point2d > | m_vs2 |
| 剪裁交点缓冲 更多... | |
| bool | m_closed |
| 是否闭合 更多... | |
多边形剪裁类