TpRect 类
V0.2.1TpUtils
2025-11-14
介绍
矩形区域处理工具类
基础信息
| 头文件: | include <TpRect.h> |
|---|---|
| Cmake: | None |
| 发布版本: | V0.2.1 |
| 继承类: | |
| 派生类: |
Public 成员函数
| TpRect() | 默认构造函数 | |
|---|---|---|
| TpRect(const TpRect &) | 拷贝构造函数 | |
| TpRect(const TpPoint &leftTop, const TpPoint &rightBottom) | 通过两个点构造矩形 | |
| TpRect(const TpPoint &leftTop, const TpSize &size) | 通过点和尺寸构造矩形 | |
| TpRect(int32_t x, int32_t y, int32_t w, int32_t h) | 通过点和尺寸构造矩形 | |
| ~TpRect() | 析构函数 | |
| isNull() const noexcept | 判断矩形是否为空(宽高均为0) | |
| isEmpty() const noexcept | 判断矩形是否无效(宽或高为负) | |
| isValid() const noexcept | 判断矩形是否有效(宽高均为正数) | |
| left() const noexcept | 获取矩形左边界 | |
| top() const noexcept | 获取矩形上边界 | |
| right() const noexcept | 获取矩形右边界 | |
| bottom() const noexcept | 获取矩形下边界 | |
| x() const noexcept | 获取矩形左上角x坐标 | |
| y() const noexcept | 获取矩形左上角y坐标 | |
| setLeft(int32_t pos) noexcept | 设置矩形左边界 | |
| setTop(int32_t pos) noexcept | 设置矩形上边界 | |
| setRight(int32_t pos) noexcept | 设置矩形右边界 | |
| setBottom(int32_t pos) noexcept | 设置矩形下边界 | |
| setX(int32_t x) noexcept | 设置矩形左上角x坐标 | |
| setY(int32_t y) noexcept | 设置矩形左上角y坐标 | |
| setTopLeft(const TpPoint &p) noexcept | 设置矩形左上角坐标 | |
| setBottomRight(const TpPoint &p) noexcept | 设置矩形右下角坐标 | |
| setTopRight(const TpPoint &p) noexcept | 设置矩形右上角坐标 | |
| setBottomLeft(const TpPoint &p) noexcept | 设置矩形左下角坐标 | |
| TpPoint | topLeft() const noexcept | 获取矩形左上角坐标 |
| TpPoint | bottomRight() const noexcept | 获取矩形右下角坐标 |
| TpPoint | topRight() const noexcept | 获取矩形右上角坐标 |
| TpPoint | bottomLeft() const noexcept | 获取矩形左下角坐标 |
| TpPoint | center() const noexcept | 获取矩形中心点坐标 |
| setRect(int32_t x, int32_t y, int32_t w, int32_t h) noexcept | 设置矩形位置和尺寸 | |
| getRect(int32_t *x, int32_t *y, int32_t *w, int32_t *h) const | 获取矩形位置和尺寸 | |
| setCoords(int32_t x1, int32_t y1, int32_t x2, int32_t y2) noexcept | 设置矩形对角坐标 | |
| getCoords(int32_t *x1, int32_t *y1, int32_t *x2, int32_t *y2) const | 获取矩形对角坐标 | |
| TpSize | size() const noexcept | 获取矩形尺寸 |
| width() const noexcept | 获取矩形宽度 | |
| height() const noexcept | 获取矩形高度 | |
| setWidth(int32_t w) noexcept | 设置矩形宽度 | |
| setHeight(int32_t h) noexcept | 设置矩形高度 | |
| setSize(const TpSize &s) noexcept | 设置矩形尺寸 | |
| contains(int32_t x, int32_t y) | 判断点是否在矩形内 | |
| contains(const TpPoint &) | 判断点是否在矩形内 | |
| intersect(const TpRect &) | 判断两个区域是否相交 | |
| intersect(int32_t x, int32_t y, uint32_t w, uint32_t h) | 判断矩形是否与指定区域相交 | |
| unions(const TpRect &) | 将另一个矩形合并到当前矩形 | |
| unions(int32_t x, int32_t y, uint32_t w, uint32_t h) | 将指定区域合并到当前矩形 | |
| TpRect TpRect::operator= | operator=(const TpRect &other) | 赋值运算符重载 |
| operator==(const TpRect &other) | 相等运算符重载 | |
| operator!=(const TpRect &other) | 不等运算符重载 |
成员函数说明
TpRect::TpRect()
默认构造函数...
默认构造函数
TpRect::TpRect(const TpRect &)
拷贝构造函数...
拷贝构造函数
参数:other: 源矩形对象
TpRect::TpRect(const TpPoint &leftTop, const TpPoint &rightBottom)
通过两个点构造矩形...
通过两个点构造矩形
参数:leftTop: 左上角坐标
参数:rightBottom: 右下角坐标
TpRect::TpRect(const TpPoint &leftTop, const TpSize &size)
通过点和尺寸构造矩形...
通过点和尺寸构造矩形
参数:leftTop: 左上角坐标
参数:size: 矩形尺寸
TpRect::TpRect(int32_t x, int32_t y, int32_t w, int32_t h)
通过点和尺寸构造矩形...
通过点和尺寸构造矩形
参数:x: 左上角坐标X
参数:y: 左上角坐标Y
参数:w: 宽度
参数:h: 高度
virtual TpRect::~TpRect()
析构函数...
析构函数
bool TpRect::isNull() const noexcept
判断矩形是否为空(宽高均为0)...
判断矩形是否为空(宽高均为0)
返回值:true-空矩形,false-非空矩形
bool TpRect::isEmpty() const noexcept
判断矩形是否无效(宽或高为负)...
判断矩形是否无效(宽或高为负)
返回值:true-无效矩形,false-有效矩形
bool TpRect::isValid() const noexcept
判断矩形是否有效(宽高均为正数)...
判断矩形是否有效(宽高均为正数)
返回值:true-有效矩形,false-无效矩形
int32_t TpRect::left() const noexcept
获取矩形左边界...
获取矩形左边界
返回值:左边界x坐标
int32_t TpRect::top() const noexcept
获取矩形上边界...
获取矩形上边界
返回值:上边界y坐标
int32_t TpRect::right() const noexcept
获取矩形右边界...
获取矩形右边界
返回值:右边界x坐标
int32_t TpRect::bottom() const noexcept
获取矩形下边界...
获取矩形下边界
返回值:下边界y坐标
int32_t TpRect::x() const noexcept
获取矩形左上角x坐标...
获取矩形左上角x坐标
返回值:左上角x坐标
int32_t TpRect::y() const noexcept
获取矩形左上角y坐标...
获取矩形左上角y坐标
返回值:左上角y坐标
void TpRect::setLeft(int32_t pos) noexcept
设置矩形左边界...
设置矩形左边界
参数:pos: 新的左边界x坐标
void TpRect::setTop(int32_t pos) noexcept
设置矩形上边界...
设置矩形上边界
参数:pos: 新的上边界y坐标
void TpRect::setRight(int32_t pos) noexcept
设置矩形右边界...
设置矩形右边界
参数:pos: 新的右边界x坐标
void TpRect::setBottom(int32_t pos) noexcept
设置矩形下边界...
设置矩形下边界
参数:pos: 新的下边界y坐标
void TpRect::setX(int32_t x) noexcept
设置矩形左上角x坐标...
设置矩形左上角x坐标
参数:x: 新的左上角x坐标
void TpRect::setY(int32_t y) noexcept
设置矩形左上角y坐标...
设置矩形左上角y坐标
参数:y: 新的左上角y坐标
void TpRect::setTopLeft(const TpPoint &p) noexcept
设置矩形左上角坐标...
设置矩形左上角坐标
参数:p: 新的左上角坐标点
void TpRect::setBottomRight(const TpPoint &p) noexcept
设置矩形右下角坐标...
设置矩形右下角坐标
参数:p: 新的右下角坐标点
void TpRect::setTopRight(const TpPoint &p) noexcept
设置矩形右上角坐标...
设置矩形右上角坐标
参数:p: 新的右上角坐标点
void TpRect::setBottomLeft(const TpPoint &p) noexcept
设置矩形左下角坐标...
设置矩形左下角坐标
参数:p: 新的左下角坐标点
TpPoint TpRect::topLeft() const noexcept
获取矩形左上角坐标...
获取矩形左上角坐标
返回值:左上角坐标点
TpPoint TpRect::bottomRight() const noexcept
获取矩形右下角坐标...
获取矩形右下角坐标
返回值:右下角坐标点
TpPoint TpRect::topRight() const noexcept
获取矩形右上角坐标...
获取矩形右上角坐标
返回值:右上角坐标点
TpPoint TpRect::bottomLeft() const noexcept
获取矩形左下角坐标...
获取矩形左下角坐标
返回值:左下角坐标点
TpPoint TpRect::center() const noexcept
获取矩形中心点坐标...
获取矩形中心点坐标
返回值:中心点坐标
void TpRect::setRect(int32_t x, int32_t y, int32_t w, int32_t h) noexcept
设置矩形位置和尺寸...
设置矩形位置和尺寸
参数:x: 左上角x坐标
参数:y: 左上角y坐标
参数:w: 矩形宽度
参数:h: 矩形高度
void TpRect::getRect(int32_t *x, int32_t *y, int32_t *w, int32_t *h) const
获取矩形位置和尺寸...
获取矩形位置和尺寸
参数:x: 输出左上角x坐标
参数:y: 输出左上角y坐标
参数:w: 输出矩形宽度
参数:h: 输出矩形高度
void TpRect::setCoords(int32_t x1, int32_t y1, int32_t x2, int32_t y2) noexcept
设置矩形对角坐标...
设置矩形对角坐标
参数:x1: 左上角x坐标
参数:y1: 左上角y坐标
参数:x2: 右下角x坐标
参数:y2: 右下角y坐标
void TpRect::getCoords(int32_t *x1, int32_t *y1, int32_t *x2, int32_t *y2) const
获取矩形对角坐标...
获取矩形对角坐标
参数:x1: 输出左上角x坐标
参数:y1: 输出左上角y坐标
参数:x2: 输出右下角x坐标
参数:y2: 输出右下角y坐标
TpSize TpRect::size() const noexcept
获取矩形尺寸...
获取矩形尺寸
返回值:矩形尺寸对象
int32_t TpRect::width() const noexcept
获取矩形宽度...
获取矩形宽度
返回值:矩形宽度
int32_t TpRect::height() const noexcept
获取矩形高度...
获取矩形高度
返回值:矩形高度
void TpRect::setWidth(int32_t w) noexcept
设置矩形宽度...
设置矩形宽度
参数:w: 新的宽度
void TpRect::setHeight(int32_t h) noexcept
设置矩形高度...
设置矩形高度
参数:h: 新的高度
void TpRect::setSize(const TpSize &s) noexcept
设置矩形尺寸...
设置矩形尺寸
参数:s: 新的尺寸对象
virtual bool TpRect::contains(int32_t x, int32_t y)
判断点是否在矩形内...
判断点是否在矩形内
参数:x: 点的x坐标
参数:y: 点的y坐标
返回值:true-点在矩形内,false-点不在矩形内
virtual bool TpRect::contains(const TpPoint &)
判断点是否在矩形内...
判断点是否在矩形内
参数:point: 点坐标
返回值:true-点在矩形内,false-点不在矩形内
virtual bool TpRect::intersect(const TpRect &)
判断两个区域是否相交...
判断两个区域是否相交
参数:rect: 另一个矩形
返回值:true-相交,false-不相交
virtual bool TpRect::intersect(int32_t x, int32_t y, uint32_t w, uint32_t h)
判断矩形是否与指定区域相交...
判断矩形是否与指定区域相交
参数:x: 区域左上角x坐标
参数:y: 区域左上角y坐标
参数:w: 区域宽度
参数:h: 区域高度
返回值:true-相交,false-不相交
virtual bool TpRect::unions(const TpRect &)
将另一个矩形合并到当前矩形...
将另一个矩形合并到当前矩形
参数:rect: 要合并的矩形
返回值:true-合并成功,false-合并失败
virtual bool TpRect::unions(int32_t x, int32_t y, uint32_t w, uint32_t h)
将指定区域合并到当前矩形...
将指定区域合并到当前矩形
参数:x: 区域左上角x坐标
参数:y: 区域左上角y坐标
参数:w: 区域宽度
参数:h: 区域高度
返回值:true-合并成功,false-合并失败
TpRect TpRect::operator=(const TpRect &other)
赋值运算符重载...
赋值运算符重载
参数:other: 源矩形对象
返回值:当前矩形对象的引用
bool TpRect::operator==(const TpRect &other)
相等运算符重载...
相等运算符重载
参数:other: 比较的矩形对象
返回值:true-两个矩形相等,false-不相等
bool TpRect::operator!=(const TpRect &other)
不等运算符重载...
不等运算符重载
参数:other: 比较的矩形对象
返回值:true-两个矩形不相等,false-相等
