com.supermap.data
类 Point2D

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

public class Point2D
extends java.lang.Object

点类。点类的的实例为点对象,用于表示坐标值为双精度的点对象,即其坐标值的范围为±5.0*1e-324到±1.7*1e308,有效位为15-16位。

点对象是各种几何对象的基础,如几何线对象实际就是一串 Point2D 的点串,而几何面则是一串起始点和结束点相同的点串,因而在描绘几何对象的位置和形状上,点对象是一个很重要的角色。

当使用默认构造函数创建一个 Point2D 的新实例时,其 x,y 坐标均为-1.7976931348623157e+308;还可以使用给定 x,y 坐标的方式,和创建已有点对象的拷贝的方式来构造一个新的点对象。

该类除提供返回和设置点的坐标值的方法外,还提供了对已有点的坐标采取各种形式的取整来创建新的坐标值为整数的点对象的方法,以及平移该点对象的方法。


构造方法摘要
Point2D()
          构造一个新的 Point2D 对象。
Point2D(double x, double y)
          根据指定的参数来构造一个 Point2D 的新对象。
Point2D(Point2D pt)
          根据给定的 Point2D 对象构造一个与其完全相同的新对象。
 
方法摘要
static Point2D ceiling(Point2D pt)
          返回一个新的点对象,其 X、Y 坐标值分别为大于等于指定点对象的 X、Y 坐标值的最小整数值,例如:给定点对象的 X、Y 坐标值为(32.12, 20.67),则生成的新的点对象的 X 坐标值应取大于等于给定点对象 X 坐标值的最小整数值,所以新的点对象的 X 坐标值为33,同理新的点对象的 Y 坐标值为21,因此,得到的新的点对象的坐标为(33,21)。
 Point2D clone()
          返回当前 Point2D 对象的一个拷贝。
 boolean equals(java.lang.Object obj)
          指定此 Point2D 是否包含与指定 System.Object 有相同的坐标。
 boolean equals(Point2D pt)
          判定此 Point2D 是否与指定的 Point2D 相等,即有相同的坐标值。
static Point2D floor(Point2D pt)
          返回一个新的点对象,其 X、Y 坐标值分别为小于等于指定点对象的 X、Y 坐标值的最大整数值,例如:给定点对象的 X、Y 坐标值为(32.12,20.67),则生成的新的点对象的 X 坐标值应取小于等于给定点对象 X 坐标值的最大整数值,所以新的点对象的 X 坐标值为32,同理新的点对象的 Y 坐标值为20,因此,得到的新的点对象的坐标为(32,20)。
static Point2D getEMPTY()
          返回一个空的点对象,即其 X,Y 坐标值均为-1.7976931348623157e+308。
 double getX()
          返回此点对象的 X 坐标。
 double getY()
          返回此点对象的 Y 坐标。
 int hashCode()
          返回此 Point2D 结构体对象的哈希代码。
 boolean isEmpty()
          判断此点对象是否为空,即其 X 坐标和 Y 坐标是否都为-1.7976931348623157e+308。
 void offset(double dx, double dy)
          将此点对象的坐标平移指定的量。
static Point2D round(Point2D pt)
          返回一个新的点对象。
 void setX(double value)
          设置此点对象的 X 坐标。
 void setY(double value)
          设置此点对象的 Y 坐标。
 java.lang.String toString()
          返回一个表示此点对象的坐标的格式化字符串,如点(2,3),则返回的格式化的字符串为“{X=2.0,Y=3.0}”。
 
从类 java.lang.Object 继承的方法
getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

Point2D

public Point2D()
构造一个新的 Point2D 对象。


Point2D

public Point2D(double x,
               double y)
根据指定的参数来构造一个 Point2D 的新对象。

参数:
x - Point2D 的 X 坐标值。
y - Point2D 的 Y 坐标值。

Point2D

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

参数:
pt - 指定的 Point2D 对象。
方法详细信息

getEMPTY

public static final Point2D getEMPTY()
返回一个空的点对象,即其 X,Y 坐标值均为-1.7976931348623157e+308。

返回:
一个空的点对象。
示例:
以下代码示范如何构造空的二维点对象。
 public void getEmptyTest() {
        // 构造空的二维点对象
        Point2D point2D = Point2D.getEMPTY();
        System.out.println(point2D.isEmpty()); // true
    }
 

isEmpty

public boolean isEmpty()
判断此点对象是否为空,即其 X 坐标和 Y 坐标是否都为-1.7976931348623157e+308。

其使用的判断精度为默认零值精度。关于默认零值精度的详细信息请参见 Environment 类。

返回:
如果此 Point2D 对象为空则返回 true,否则返回 false。
默认值:
默认值为 true,即 Point2D 对象为空。

getX

public double getX()
返回此点对象的 X 坐标。

返回:
此二维点对象的 X 坐标。
默认值:
默认值为 -1.79769313486232E+308。

setX

public void setX(double value)
设置此点对象的 X 坐标。

参数:
value - 指定的此点对象的 X 坐标值。

getY

public double getY()
返回此点对象的 Y 坐标。

返回:
此点对象的 Y 坐标。
默认值:
默认值为 -1.79769313486232E+308。

setY

public void setY(double value)
设置此点对象的 Y 坐标。

参数:
value - 指定的此点对象的 Y 坐标值。

clone

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

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

equals

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

参数:
pt - 要与此 Point2D 相比较的二维点对象。
返回:
如果 pt 与此 Point2D 相同返回 true,否则返回 false。

ceiling

public static Point2D ceiling(Point2D pt)
返回一个新的点对象,其 X、Y 坐标值分别为大于等于指定点对象的 X、Y 坐标值的最小整数值,例如:给定点对象的 X、Y 坐标值为(32.12, 20.67),则生成的新的点对象的 X 坐标值应取大于等于给定点对象 X 坐标值的最小整数值,所以新的点对象的 X 坐标值为33,同理新的点对象的 Y 坐标值为21,因此,得到的新的点对象的坐标为(33,21)。

参数:
pt - 需要转换的二维点对象。
返回:
转换后的二维点对象。
示例:
以下代码示范对点几何对象进行 ceiling 操作。
 public void ceilingTest() {
        // 构造二维点对象
        Point2D point2D = new Point2D(100.5, 100.4);
        System.out.println(point2D); // {X=100.5,Y=100.4}

        // ceiling 操作
        Point2D point2D_c = Point2D.ceiling(point2D);
        System.out.println(point2D_c); // {X=101.0,Y=101.0}
    }
 

round

public static Point2D round(Point2D pt)
返回一个新的点对象。如果给定对象的 X 或 Y 坐标值是整数值,则新对象的 X 或 Y 坐标值取给定对象的整数值坐标;对于给定对象的 X 或者 Y 坐标值为小数时,则新对象的 X 或者 Y 坐标值取给定对象的小数坐标值经过舍入后的整数值, 其中,小数部分的舍入存在一定的规则:取最接近小数的整数,如果小数正好处于两个整数中间,其中一个整数为偶数,另一个整数为奇数,则返回偶数。

例如:

参数:
pt - 要转换的二维点对象。
返回:
转换后的二维点对象。

floor

public static Point2D floor(Point2D pt)
返回一个新的点对象,其 X、Y 坐标值分别为小于等于指定点对象的 X、Y 坐标值的最大整数值,例如:给定点对象的 X、Y 坐标值为(32.12,20.67),则生成的新的点对象的 X 坐标值应取小于等于给定点对象 X 坐标值的最大整数值,所以新的点对象的 X 坐标值为32,同理新的点对象的 Y 坐标值为20,因此,得到的新的点对象的坐标为(32,20)。 如果给定的点对象的 X 或者 Y 坐标值为整数值,则新的点对象的 X 或者 Y 坐标值为与给定点对象相等的整数坐标值,例如:给定的点对象坐标值为(10,20)则新的点对象的坐标值为(10,20);如果给定的点对象的坐标值为(32.12,15)则新的点对象的坐标值为(32,15)。

参数:
pt - 要转换的二维点对象。
返回:
转换后的二维点对象。
示例:
以下代码示范对点几何对象进行 floor 操作。
 public void floorTest() {
        // 构造二维点对象
        Point2D point2D = new Point2D(100.5, 100.6);
        System.out.println(point2D); // {X=100.5,Y=100.6}

        // floor 操作
        Point2D point2D_f = Point2D.floor(point2D);
        System.out.println(point2D_f); // {X=100.0,Y=100.0}
    }
 

offset

public void offset(double dx,
                   double dy)
将此点对象的坐标平移指定的量。

参数:
dx - X 坐标的偏移量。
dy - Y 坐标的偏移量。
示例:
以下代码示范对点几何对象进行偏移操作。
 public void offsetTest() {
        // 构造二维点对象
        Point2D point2D = new Point2D(100, 100);
        System.out.println(point2D); // {X=100.0,Y=100.0}

        // offset 操作
        point2D.offset(20.5, -51.6);
        System.out.println(point2D); // {X=120.5,Y=48.4}
    }
 

toString

public java.lang.String toString()
返回一个表示此点对象的坐标的格式化字符串,如点(2,3),则返回的格式化的字符串为“{X=2.0,Y=3.0}”。

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

equals

public boolean equals(java.lang.Object obj)
指定此 Point2D 是否包含与指定 System.Object 有相同的坐标。

覆盖:
java.lang.Object 中的 equals
参数:
obj - 要测试的对象。
返回:
一个布尔值,若 obj 为 Point2D 并与此 Point2D 的坐标相等,则为 true,否则为 false。

hashCode

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

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