TouchVG framework
|
矩形框类 更多...
#include <mgbox.h>
Public 成员函数 | |
Box2d () | |
构造收缩到原点的矩形框 更多... | |
Box2d (const Box2d &src, bool normal=false) | |
拷贝构造函数,默认不自动规范化 更多... | |
Box2d (const Point2d &pnt1, const Point2d &pnt2) | |
给定两个对角点构造,自动规范化 更多... | |
Box2d (float l, float t, float r, float b, bool normal=false) | |
给定对角点坐标构造,默认不自动规范化 更多... | |
Box2d (const RECT_2D &rc, bool normal=false) | |
给定显示坐标矩形框构造,默认不自动规范化 更多... | |
Box2d (int l, int t, int r, int b, bool normal=false) | |
给定对角点整数坐标构造,默认不自动规范化 更多... | |
Box2d (const Point2d &pnt1, const Point2d &pnt2, const Point2d &pnt3, const Point2d &pnt4) | |
给定四个顶点构造 更多... | |
Box2d (int count, const Point2d *points) | |
给定多个顶点构造 更多... | |
Box2d (const Point2d ¢er, float width, float height) | |
给定中心坐标和宽高构造 更多... | |
Box2d (float width, float height) | |
给定宽高构造(0, 0, w, h) 更多... | |
void | get (Point2d &p1, Point2d &p2) const |
得到两个对角点 更多... | |
RECT_2D & | get (RECT_2D &rc) const |
转换到显示坐标矩形框,已上下对调 更多... | |
void | get (long &l, long &t, long &r, long &b) const |
得到四舍五入后的矩形(RECT),已上下对调 更多... | |
Box2d & | set (const Box2d &src, bool normal=false) |
复制矩形,默认不自动规范化 更多... | |
Box2d & | set (const Point2d &p1, const Point2d &p2) |
设置两个对角点,自动规范化 更多... | |
Box2d & | set (float x1, float y1, float x2, float y2) |
设置两个对角点坐标,自动规范化 更多... | |
Box2d & | set (const Point2d &p1, const Point2d &p2, const Point2d &p3, const Point2d &p4) |
设置为四个顶点的包容框 更多... | |
Box2d & | set (int count, const Point2d *points) |
设置为多个顶点的包容框 更多... | |
Box2d & | set (const Point2d ¢er, float width, float height) |
设置中心坐标和宽高 更多... | |
float | width () const |
返回宽度,非负数 更多... | |
float | height () const |
返回高度,非负数 更多... | |
Vector2d | size () const |
返回矩形框大小,非负数 更多... | |
Point2d | center () const |
返回中心坐标 更多... | |
Point2d | leftTop () const |
返回左上坐标 更多... | |
Point2d | rightTop () const |
返回右上坐标 更多... | |
Point2d | leftBottom () const |
返回左下坐标 更多... | |
Point2d | rightBottom () const |
返回右下坐标 更多... | |
Box2d & | normalize () |
规范化,使xmin<=xmax且ymin<=ymax 更多... | |
Box2d & | swapTopBottom () |
交换上下坐标 更多... | |
Box2d & | empty () |
设置为空矩形框 更多... | |
bool | isNormalized () const |
判断是否规范化 更多... | |
bool | isNull () const |
判断宽和高是否都为零且位于原点 更多... | |
bool | isEmpty (const Tol &tol=Tol::gTol(), bool useOr=true) const |
判断宽或高的绝对值是否为零 更多... | |
bool | isEmptyMinus (const Tol &tol=Tol::gTol()) const |
判断宽或高是否接近或小于零 更多... | |
bool | contains (const Point2d &pt) const |
判断一个点是否在本矩形框内,闭区间,矩形框必须规范化 更多... | |
bool | contains (const Point2d &pt, const Tol &tol) const |
判断一个点是否在本矩形框内,闭区间 更多... | |
bool | contains (const Box2d &box) const |
判断一个矩形框是否在本矩形框内,闭区间 更多... | |
bool | contains (const Box2d &box, const Tol &tol) const |
判断一个矩形框是否在本矩形框内,闭区间 更多... | |
Box2d & | inflate (float d) |
中心不变,扩大矩形框 更多... | |
Box2d & | inflate (float x, float y) |
中心不变,扩大矩形框 更多... | |
Box2d & | inflate (const Vector2d &vec) |
中心不变,扩大矩形框 更多... | |
Box2d & | inflate (const Box2d &box) |
中心不变,扩大矩形框 更多... | |
Box2d & | inflate (float l, float b, float r, float t) |
中心不变,扩大矩形框 更多... | |
Box2d & | deflate (float d) |
中心不变,缩小矩形框 更多... | |
Box2d & | deflate (float x, float y) |
中心不变,缩小矩形框 更多... | |
Box2d & | deflate (const Vector2d &vec) |
中心不变,缩小矩形框 更多... | |
Box2d & | deflate (const Box2d &box) |
中心不变,缩小矩形框 更多... | |
Box2d & | deflate (float l, float b, float r, float t) |
中心不变,缩小矩形框 更多... | |
Box2d & | offset (float x, float y) |
平移 更多... | |
Box2d & | offset (const Vector2d &vec) |
平移 更多... | |
Box2d & | scaleBy (float sx, float sy=0) |
比例放缩,以原点为中心 更多... | |
bool | isIntersect (const Box2d &box) const |
判断是否和一个矩形框相交(两者都是规范化矩形) 更多... | |
Box2d & | intersectWith (const Box2d &r1, const Box2d &r2) |
设置为两个矩形框的交集(两者都是规范化矩形) 更多... | |
Box2d & | intersectWith (const Box2d &box) |
设置为和一个矩形框的交集(两者都是规范化矩形) 更多... | |
Box2d & | unionWith (const Box2d &r1, const Box2d &r2) |
设置为两个矩形框的并集(两者都是规范化矩形) 更多... | |
Box2d & | unionWith (const Box2d &box) |
合并一个矩形框(两者都是规范化矩形) 更多... | |
Box2d & | unionWith (float x, float y) |
合并一个点 更多... | |
Box2d & | unionWith (const Point2d &pt) |
合并一个点 更多... | |
Box2d | offset (const Box2d &box) const |
正向平移矩形框 更多... | |
Box2d | operator+ (const Box2d &box) const |
正向平移矩形框 更多... | |
Box2d & | operator+= (const Box2d &box) |
正向平移矩形框 更多... | |
Box2d | operator- (const Box2d &box) const |
反向平移矩形框 更多... | |
Box2d & | operator-= (const Box2d &box) |
反向平移矩形框 更多... | |
Box2d | operator+ (const Vector2d &vec) const |
正向平移矩形框 更多... | |
Box2d & | operator+= (const Vector2d &vec) |
正向平移矩形框 更多... | |
Box2d | operator- (const Vector2d &vec) const |
反向平移矩形框 更多... | |
Box2d & | operator-= (const Vector2d &vec) |
反向平移矩形框 更多... | |
Box2d | operator & (const Box2d &box) const |
矩形框交集的操作符函数 更多... | |
Box2d & | operator &= (const Box2d &box) |
矩形框交集的操作符函数 更多... | |
Box2d | operator| (const Box2d &box) const |
合并矩形框的操作符函数 更多... | |
Box2d & | operator|= (const Box2d &box) |
合并矩形框的操作符函数 更多... | |
Box2d | operator* (float s) const |
得到各坐标分量乘以一个数后的新矩形框 更多... | |
Box2d & | operator*= (float s) |
各坐标分量乘以一个数 更多... | |
Box2d | operator/ (float s) const |
得到各坐标分量除以一个数后的新矩形框 更多... | |
Box2d & | operator/= (float s) |
各坐标分量除以一个数 更多... | |
Box2d | operator* (const Matrix2d &m) const |
矩阵变换,结果为规范化矩形 更多... | |
Box2d & | operator*= (const Matrix2d &m) |
矩阵变换,结果为规范化矩形 更多... | |
bool | operator== (const Box2d &box) const |
判断两个矩形框是否相等 更多... | |
bool | operator!= (const Box2d &box) const |
判断两个矩形框是否不相等 更多... | |
bool | isEqualTo (const Box2d &box, const Tol &tol=Tol::gTol()) const |
判断两个矩形框是否相等 更多... | |
静态 Public 成员函数 | |
static const Box2d | kIdentity () |
收缩到原点的空矩形框 更多... | |
Public 属性 | |
float | xmin |
矩形左下角X坐标 更多... | |
float | ymin |
矩形左下角Y坐标 更多... | |
float | xmax |
矩形右上角X坐标 更多... | |
float | ymax |
矩形右上角Y坐标 更多... | |
矩形框类
本类用于描述二维平面上水平矩形框,或坐标范围