public class Rectangle2D extends Object implements Serializable
用来表示坐标值为双精度的矩形对象,即其左边界坐标值、下边界坐标值、右边界坐标值、上边界坐标值均为双精度类型,其中左边界坐标值小于等于右边界坐标值,下边界坐标值小于等于上边界坐标值。
该类的对象通常用于确定范围,可用来表示几何对象的最小外接矩形、地图窗口的可视范围,数据集的范围等,另外在进行矩形选择,矩形查询等时也会用到此类的对象。
最通常的构造矩形对象的方法为用指定的左边界坐标值、下边界坐标值、右边界坐标值、上边界坐标值来构造;使用默认构造函数构造矩形对象为一个空对象,即左边界坐标值、下边界坐标值、右边界坐标值和上边界坐标值均为 -1.7976931348623157e+308,另外还可以通过给定左下角点和右上角点的方式,以及给定左下角点和矩形宽度和高度的方式来构造新的矩形对象。
该类提供了与矩形对象相关的关系的判断,以及返回矩形对象之间的交集和并集的方法。使用该类提供的方法,您还可以对矩形对象进行缩放和平移,以及对已有矩形对象的边界坐标值采用某种取整方法来返回边界坐标值为整数的新的矩形对象。
限定符和类型 | 字段和说明 |
---|---|
Point2D |
leftBottom |
Point2D |
rightTop |
构造器和说明 |
---|
Rectangle2D()
构造一个新的 Rectangle2D 对象,其坐标值均为 -1.7976931348623157e+308。
|
Rectangle2D(double left,
double bottom,
double right,
double top)
根据指定的参数来构造一个 Rectangle2D 的新对象。
|
Rectangle2D(Point2D pntLeftBottom,
double width,
double height)
根据指定的参数来构造一个 Rectangle2D 的新对象。
|
Rectangle2D(Point2D pntLeftBottom,
Point2D pntRightTop)
根据指定的参数来构造一个 Rectangle2D 的新对象。
|
Rectangle2D(Point2D center,
Size2D size)
根据指定的参数来构造一个 Rectangle2D 的新对象。
|
Rectangle2D(Rectangle2D rect)
根据给定的 Rectangle2D 对象构造一个与其完全相同的新对象。
|
限定符和类型 | 方法和说明 |
---|---|
static Rectangle2D |
ceiling(Rectangle2D rect)
分别取大于或等于指定矩形对象的左边界的 X 坐标,上边界的 Y 坐标,右边界的 X 坐标和下边界的 Y 坐标的最小整数值,并以这些整数值构造一个新的矩形对象返回。
|
Rectangle2D |
clone()
返回当前 Rectangle2D 对象的一个拷贝。
|
boolean |
contains(double x,
double y)
判定指定坐标构成的点是否包含在此矩形内。
|
boolean |
contains(Point2D pt)
判定指定的点是否包含在此矩形内。
|
boolean |
contains(Rectangle2D rect)
判断是否包含矩形
|
boolean |
equals(Object obj)
重写基类的equals方法
|
boolean |
equals(Rectangle2D rect)
判定此矩形对象是否与指定的矩形对象相等,即有相同的边界坐标值。
|
static Rectangle2D |
floor(Rectangle2D rect)
返回一个矩形对象,其左边界的 X 坐标,上边界的 Y 坐标,右边界的 X 坐标和下边界的 Y 坐标值是不大于指定矩形对象相应坐标值的最大整数值。
|
double |
getBottom()
返回此矩形对象下边界的坐标值。
|
Point2D |
getCenter()
返回矩形对象的中心点,其 x 坐标值为(左边界坐标值+右边界坐标值)/2,y 坐标值为(上边界坐标值+下边界坐标值)/2。
|
static Rectangle2D |
getEMPTY()
返回一个空的矩形对象,其左边界坐标值、下边界坐标值、右边界坐标值和上边界坐标值均为 -1.7976931348623157e+308。
|
double |
getHeight()
返回此矩形对象的高度,其值为上边界坐标值与下边界坐标值之差。
|
double |
getLeft()
返回此矩形对象左边界的坐标值。
|
double |
getRight()
返回此矩形对象右边界的坐标值。
|
double |
getTop()
返回此矩形对象上边界的坐标值。
|
double |
getWidth()
返回此矩形对象的宽度,其值为右边界坐标值与左边界值之差。
|
int |
hashCode()
返回此矩形结构体对象的哈希代码。
|
boolean |
hasIntersection(Rectangle2D rect)
判断此矩形与指定矩形是否有交集。
|
void |
inflate(double x,
double y)
该方法在垂直和水平方向对此矩形进行缩放。
|
void |
intersect(Rectangle2D rect)
用此矩形与指定矩形的交集替换此矩形。
|
boolean |
isEmpty()
判断此矩形对象是否为空,即其左边界坐标值、下边界坐标值、右边界坐标值和上边界坐标值是否都为 -1.7976931348623157e+308。
|
void |
offset(double dx,
double dy)
此方法将此矩形在 x 方向平移 dx,在y方向平移 dy。
|
static Rectangle2D |
round(Rectangle2D rect)
对指定矩形对象的左边界的 X 坐标,上边界的 Y 坐标,右边界的 X 坐标和下边界的 Y 坐标值进行四舍五入处理,并以这些整数值构造一个新的矩形对象返回。
|
void |
setBottom(double value)
设置此矩形对象下边界的纵坐标值。
|
void |
setLeft(double value)
设置此矩形对象左边界的坐标值。
|
void |
setRight(double value)
设置此矩形对象右边界的坐标值。
|
void |
setTop(double value)
设置此矩形对象上边界的坐标值。
|
String |
toString()
返回一个表示此矩形对象的坐标的格式化字符串,格式为{Left=,Bottom=,Right=,Top=}。
|
void |
union(Rectangle2D rect)
用包含此矩形与指定矩形并集的最小矩形替换此矩形。
|
public Rectangle2D()
public Rectangle2D(Rectangle2D rect)
rect
- 指定的 Rectangle2D 对象。public Rectangle2D(Point2D pntLeftBottom, double width, double height)
leftBottom
- 矩形的左下角点坐标。width
- 矩形的宽度。height
- 矩形的高度。public Rectangle2D(Point2D pntLeftBottom, Point2D pntRightTop)
leftBottom
- 左下角点。rightTop
- 右上角点。public Rectangle2D(double left, double bottom, double right, double top)
left
- 左边界的 X 坐标。bottom
- 底边的 Y 坐标。right
- 右边界的 X 坐标。top
- 顶边的 Y 坐标。public static final Rectangle2D getEMPTY()
public boolean isEmpty()
Environment
类。public Point2D getCenter()
Point2D
对象。public double getTop()
public void setTop(double value)
value
- 此矩形对象上边界的坐标值。public double getBottom()
public void setBottom(double value)
value
- 此矩形对象下边界的坐标值。public double getLeft()
public void setLeft(double value)
value
- 此矩形对象左边界的坐标值。public double getRight()
public void setRight(double value)
value
- 此矩形对象右边界的坐标值。public double getWidth()
public double getHeight()
public Rectangle2D clone()
public static Rectangle2D ceiling(Rectangle2D rect)
rect
- 要转换的 Rectanlge2D。public static Rectangle2D floor(Rectangle2D rect)
rect
- 要转换的 Rectangle2D。public static Rectangle2D round(Rectangle2D rect)
rect
- 要转换的 Rectangle2D。public boolean contains(Point2D pt)
pt
- 要测试的 Point2D。public boolean contains(Rectangle2D rect)
rect
- Rectangle2Dpublic boolean contains(double x, double y)
x
- 要测试的 X 坐标。y
- 要测试的 Y 坐标。public boolean equals(Object obj)
public boolean equals(Rectangle2D rect)
Environment
类。rect
- 要测试的 Rectangle2D。public void inflate(double x, double y)
新的左边界坐标值=Min(原始左边界坐标值-dx,原始右边界坐标值+dx);
新的下边界坐标值=Min(原始上边界坐标值+dy,原始下边界坐标值-dy);
新的右边界坐标值=Max(原始左边界坐标值-dx,原始右边界坐标值+dx);
新的上边界坐标值=Max(原始上边界坐标值+dy,原始下边界坐标值-dy);
其中心点保持不变。
如左图所示,实线的矩形经缩放处理后变为虚框的矩形;若 dx,dy 为负,则虚线的矩形经缩放处理后变为实线的矩形。当 dx,dy 为负,且|dx|大于此矩形的宽度,|dy|大于此矩形的高度时,缩放之后的原始左边界将变为新的右边界, 而原始上边界将变为新的下边界,以此内推,如右图所示,实线的矩形经缩放后变为虚框的矩形。
x
- 此 Rectangle2D 结构的水平缩放量。y
- 此 Rectangle2D 结构的垂直缩放量。public void intersect(Rectangle2D rect)
rect
- 用其进行相交操作的矩形。public boolean hasIntersection(Rectangle2D rect)
rect
- 要测试的矩形。public void offset(double dx, double dy)
新的左边界坐标值=原始左边界坐标值+dx;
新的下边界坐标值=原始下边界坐标值+dy;
新的右边界坐标值=原始右边界坐标值+dx;
新的上边界坐标值=原始上边界坐标值+dy。
如图所示为一个矩形平移后的效果,注意矩形的大小未发生变化。
dx
- 水平偏移该位置的量。dy
- 垂直偏移该位置的量。public String toString()
public void union(Rectangle2D rect)
rect
- 要与当前矩形求并集的矩形。Copyright © 2021–2024 SuperMap. All rights reserved.