rpos::core::RectangleF类

RectangleF表示一个矩形,其坐标参数的类型为float。

头文件

rpos/core/detail/geometry_rectangle.h

构造器

RectangleF()

RectangleF(Vector2f position, Vector2f size)

RectangleF(float x, float y, float width, float height)

RectangleF(const RectangleF&)

运算符

RectangleF& operator=(const RectangleF&)

方法

const Vector2f& position()

Vector2f& position()

const Vector2f& size()

Vector2f& size()

float x() const

float& x()

float y() const

float& y()

float width() const

float& width()

float height() const

float& height()

float left() const

float right() const

float top() const

float bottom() const

bool contains(const Vector2i& point)

bool empty()

bool contains(const RectangleF& dest)

void unionOf(const RectangleF& dest)

void intersectionOf(const RectangleF & dest)

float area() const

bool operator==(const RectangleF& a, const RectangleF& b)

bool operator!=(const RectangleF& a, const RectangleF& b)

RectangleF()构造器

创建一个x,y,width,height都为0的矩形

RectangleF(Vector2f position, Vector2f size)构造器

创建一个位置和大小为指定值的矩形

RectangleF(float x, float y, float width, float height)构造器

创建一个位置和大小为指定值的矩形

RectangleF(const RectangleF&)构造器

拷贝构造函数

RectangleF& operator=(const RectangleF&)运算符

赋值运算符

const Vector2f& position()、 Vector2f& position() 属性

矩形的位置(左上角)

const Vector2f& size()、Vector2f& size() 属性

矩形的大小

float x() const、float& x() 属性

矩形左上角的x 坐标

float y() const、float& y() 属性

矩形左上角的y 坐标

float width() const、 float& width() 属性

矩形的宽度

float height() const、float& height() 属性

矩形的高度

float left() const 属性

矩形左侧的x坐标

float right() const 属性

矩形右侧的x坐标(right=x+width)

float top() const

矩形顶部的y坐标

float bottom() const

矩形底部的y坐标(bottom=y+height)

bool contains(const Vector2i& point)

判断点是否在矩形的范围内

bool empty()

判断矩形是否是全空的(即width()<epsilon或height()<epsilon)

bool contains(const RectangleF& dest)

判断目标矩形是否完全在本矩形的区域内

void unionOf(const RectangleF& dest)

计算本矩形和目标矩形合并的部分,并将本矩形设定为该合并部分矩形,如下图所示。

void intersectionOf(const RectangleF & dest)

计算本矩形和目标矩形的重合部分,并将本矩形设定为该重合部分矩形,如下图所示。

float area() const

计算本矩形的面积