com.supermap.data
类 Rectangle2D

java.lang.Object
  继承者 com.supermap.data.Rectangle2D

public class Rectangle2D
extends java.lang.Object

矩形类。

用来表示坐标值为双精度的矩形对象,即其左边界坐标值、下边界坐标值、右边界坐标值、上边界坐标值均为双精度类型,其中左边界坐标值小于等于右边界坐标值,下边界坐标值小于等于上边界坐标值。

该类的对象通常用于确定范围,可用来表示几何对象的最小外接矩形、地图窗口的可视范围,数据集的范围等,另外在进行矩形选择,矩形查询等时也会用到此类的对象。

最通常的构造矩形对象的方法为用指定的左边界坐标值、下边界坐标值、右边界坐标值、上边界坐标值来构造;使用默认构造函数构造矩形对象为一个空对象,即左边界坐标值、下边界坐标值、右边界坐标值和上边界坐标值均为 -1.7976931348623157e+308,另外还可以通过给定左下角点和右上角点的方式,以及给定左下角点和矩形宽度和高度的方式来构造新的矩形对象。

该类提供了与矩形对象相关的关系的判断,以及返回矩形对象之间的交集和并集的方法。使用该类提供的方法,您还可以对矩形对象进行缩放和平移,以及对已有矩形对象的边界坐标值采用某种取整方法来返回边界坐标值为整数的新的矩形对象。


构造方法摘要
Rectangle2D()
          构造一个新的 Rectangle2D 对象,其坐标值均为 -1.7976931348623157e+308。
Rectangle2D(double left, double bottom, double right, double top)
          根据指定的参数来构造一个 Rectangle2D 的新对象。
Rectangle2D(Point2D leftBottom, double width, double height)
          根据指定的参数来构造一个 Rectangle2D 的新对象。
Rectangle2D(Point2D leftBottom, Point2D rightTop)
          根据指定的参数来构造一个 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(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 dx, double dy)
          该方法在垂直和水平方向对此矩形进行缩放。
 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)
          设置此矩形对象上边界的坐标值。
 java.lang.String toString()
          返回一个表示此矩形对象的坐标的格式化字符串,格式为{Left=,Bottom=,Right=,Top=}。
 void union(Rectangle2D rect)
          用包含此矩形与指定矩形并集的最小矩形替换此矩形。
 
从类 java.lang.Object 继承的方法
equals, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

Rectangle2D

public Rectangle2D()
构造一个新的 Rectangle2D 对象,其坐标值均为 -1.7976931348623157e+308。


Rectangle2D

public Rectangle2D(Rectangle2D rect)
根据给定的 Rectangle2D 对象构造一个与其完全相同的新对象。

参数:
rect - 指定的 Rectangle2D 对象。

Rectangle2D

public Rectangle2D(Point2D leftBottom,
                   double width,
                   double height)
根据指定的参数来构造一个 Rectangle2D 的新对象。

参数:
leftBottom - 矩形的左下角点坐标。
width - 矩形的宽度。
height - 矩形的高度。

Rectangle2D

public Rectangle2D(Point2D leftBottom,
                   Point2D rightTop)
根据指定的参数来构造一个 Rectangle2D 的新对象。

参数:
leftBottom - 左下角点。
rightTop - 右上角点。

Rectangle2D

public Rectangle2D(double left,
                   double bottom,
                   double right,
                   double top)
根据指定的参数来构造一个 Rectangle2D 的新对象。

参数:
left - 左边界的 X 坐标。
bottom - 底边的 Y 坐标。
right - 右边界的 X 坐标。
top - 顶边的 Y 坐标。

Rectangle2D

public Rectangle2D(Point2D center,
                   Size2D size)
根据指定的参数来构造一个 Rectangle2D 的新对象。

参数:
center - 指定的矩形的中心点。
size - 指定的矩形的大小。
方法详细信息

getEMPTY

public static final Rectangle2D getEMPTY()
返回一个空的矩形对象,其左边界坐标值、下边界坐标值、右边界坐标值和上边界坐标值均为 -1.7976931348623157e+308。

返回:
一个空的 Rectangle2D 对象。

isEmpty

public boolean isEmpty()
判断此矩形对象是否为空,即其左边界坐标值、下边界坐标值、右边界坐标值和上边界坐标值是否都为 -1.7976931348623157e+308。关于默认零值判断精度的详细信息请参见 Environment 类。

返回:
当矩形对象的左边界的 X 坐标,底边的 Y 坐标,右边界的 X 坐标和顶边的 Y 坐标均为 -1.7976931348623157e+308 时,返回 true, 否则返回 false。
默认值:
默认值为 true。

getCenter

public Point2D getCenter()
返回矩形对象的中心点,其 x 坐标值为(左边界坐标值+右边界坐标值)/2,y 坐标值为(上边界坐标值+下边界坐标值)/2。

返回:
表示矩形中心点的 Point2D 对象。
默认值:
默认值为 {X = -Infinity,Y = -Infinity}。

getTop

public double getTop()
返回此矩形对象上边界的坐标值。

返回:
此矩形对象上边界的坐标值。
默认值:
默认值为 -1.79769313486232E+308。

setTop

public void setTop(double value)
设置此矩形对象上边界的坐标值。

参数:
value - 此矩形对象上边界的坐标值。

getBottom

public double getBottom()
返回此矩形对象下边界的坐标值。

返回:
此矩形对象下边界的坐标值。
默认值:
默认值为 0。

setBottom

public void setBottom(double value)
设置此矩形对象下边界的纵坐标值。

参数:
value - 此矩形对象下边界的坐标值。

getLeft

public double getLeft()
返回此矩形对象左边界的坐标值。

返回:
此矩形对象左边界的坐标值。
默认值:
默认值为 -1.79769313486232E+308。

setLeft

public void setLeft(double value)
设置此矩形对象左边界的坐标值。

参数:
value - 此矩形对象左边界的坐标值。

getRight

public double getRight()
返回此矩形对象右边界的坐标值。

返回:
此矩形对象右边界的坐标值。
默认值:
默认值为 -1.79769313486232E+308。

setRight

public void setRight(double value)
设置此矩形对象右边界的坐标值。

参数:
value - 此矩形对象右边界的坐标值。

getWidth

public double getWidth()
返回此矩形对象的宽度,其值为右边界坐标值与左边界值之差。

返回:
此矩形对象的宽度。
默认值:
默认值为 -1.79769313486232E+308。

getHeight

public double getHeight()
返回此矩形对象的高度,其值为上边界坐标值与下边界坐标值之差。

返回:
此矩形对象的高度。
默认值:
默认值为 0。

clone

public Rectangle2D clone()
返回当前 Rectangle2D 对象的一个拷贝。

覆盖:
java.lang.Object 中的 clone
返回:
通过克隆操作得到的 Rectangle2D 对象。

ceiling

public static Rectangle2D ceiling(Rectangle2D rect)
分别取大于或等于指定矩形对象的左边界的 X 坐标,上边界的 Y 坐标,右边界的 X 坐标和下边界的 Y 坐标的最小整数值,并以这些整数值构造一个新的矩形对象返回。

参数:
rect - 要转换的 Rectanlge2D。
返回:
此方法转换得到的 Rectangle2D。

floor

public static Rectangle2D floor(Rectangle2D rect)
返回一个矩形对象,其左边界的 X 坐标,上边界的 Y 坐标,右边界的 X 坐标和下边界的 Y 坐标值是不大于指定矩形对象相应坐标值的最大整数值。

参数:
rect - 要转换的 Rectangle2D。
返回:
此方法转换得到的 Rectangle2D。

round

public static Rectangle2D round(Rectangle2D rect)
对指定矩形对象的左边界的 X 坐标,上边界的 Y 坐标,右边界的 X 坐标和下边界的 Y 坐标值进行四舍五入处理,并以这些整数值构造一个新的矩形对象返回。

参数:
rect - 要转换的 Rectangle2D。
返回:
此方法转换得到的 Rectangle2D。

contains

public boolean contains(Point2D pt)
判定指定的点是否包含在此矩形内。当点在矩形内部和边界上时,均认为其包含在矩形内。

参数:
pt - 要测试的 Point2D。
返回:
如果指定的点在此矩形内部和边界上时,此方法将返回 true;否则将返回 false。

contains

public boolean contains(Rectangle2D rect)
判定指定的矩形区域是否完全包含在此矩形内。当指定矩形在此矩形内部,或与此矩形重合时,均认为其完全包含在此矩形内。

参数:
rect - 要测试的 Rectangle2D。
返回:
如果指定的矩形在此矩形内部,或与此矩形重合时, 此方法将返回 true;否则将返回 false。

contains

public boolean contains(double x,
                        double y)
判定指定坐标构成的点是否包含在此矩形内。当点在矩形内部和边界上时,均认为其包含在矩形内。

参数:
x - 要测试的 X 坐标。
y - 要测试的 Y 坐标。
返回:
如果指定坐标构成的点在此矩形内部和边界上时,此方法将返回 true;否则将返回 false。

equals

public boolean equals(Rectangle2D rect)
判定此矩形对象是否与指定的矩形对象相等,即有相同的边界坐标值。注意其判定精度为零值判断精度。关于更多零值判断精度的信息,请参见 Environment 类。

参数:
rect - 要测试的 Rectangle2D。
返回:
如果指定的矩形与此 Rectangle2D 的对应边界坐标值都相等,此方法将返回 true;否则将返回 false。

inflate

public void inflate(double dx,
                    double dy)
该方法在垂直和水平方向对此矩形进行缩放。

新的左边界坐标值=Min(原始左边界坐标值-dx,原始右边界坐标值+dx);

新的下边界坐标值=Min(原始上边界坐标值+dy,原始下边界坐标值-dy);

新的右边界坐标值=Max(原始左边界坐标值-dx,原始右边界坐标值+dx);

新的上边界坐标值=Max(原始上边界坐标值+dy,原始下边界坐标值-dy);

其中心点保持不变。

如左图所示,实线的矩形经缩放处理后变为虚框的矩形;若 dx,dy 为负,则虚线的矩形经缩放处理后变为实线的矩形。

当 dx,dy 为负,且|dx|大于此矩形的宽度,|dy|大于此矩形的高度时,缩放之后的原始左边界将变为新的右边界, 而原始上边界将变为新的下边界,以此内推,如右图所示,实线的矩形经缩放后变为虚框的矩形。

参数:
dx - 此 Rectangle2D 结构的水平缩放量。
dy - 此 Rectangle2D 结构的垂直缩放量。

intersect

public void intersect(Rectangle2D rect)
用此矩形与指定矩形的交集替换此矩形。若此矩形与指定矩形没有交集,此矩形将变为一个空矩形对象。

参数:
rect - 用其进行相交操作的矩形。

hasIntersection

public boolean hasIntersection(Rectangle2D rect)
判断此矩形与指定矩形是否有交集。当此矩形与指定的矩形有公共点或公共边时,认为其有交集。

参数:
rect - 要测试的矩形。
返回:
如果两个矩形有交集,则此方法返回 true。

offset

public void offset(double dx,
                   double dy)
此方法将此矩形在 x 方向平移 dx,在y方向平移 dy。

新的左边界坐标值=原始左边界坐标值+dx;

新的下边界坐标值=原始下边界坐标值+dy;

新的右边界坐标值=原始右边界坐标值+dx;

新的上边界坐标值=原始上边界坐标值+dy。

如图所示为一个矩形平移后的效果,注意矩形的大小未发生变化。

参数:
dx - 水平偏移该位置的量。
dy - 垂直偏移该位置的量。

toString

public java.lang.String toString()
返回一个表示此矩形对象的坐标的格式化字符串,格式为{Left=,Bottom=,Right=,Top=}。

覆盖:
java.lang.Object 中的 toString
返回:
表示此 Rectangle2D 的字符串。

union

public void union(Rectangle2D rect)
用包含此矩形与指定矩形并集的最小矩形替换此矩形。

参数:
rect - 要与当前矩形求并集的矩形。

hashCode

public int hashCode()
返回此矩形结构体对象的哈希代码。

覆盖:
java.lang.Object 中的 hashCode
返回:
此矩形结构体对象的哈希代码。