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 |
是否闭合 更多... | |
多边形剪裁类