Options
All
  • Public
  • Public/Protected
  • All
Menu

Point类

层次结构

  • Point

Point表示二维空间中的X和Y坐标

使用静态函数 Point.parsePoint.stringify 与标准字符串表示形式进行转换,该表示形式独立于当前语言环境

当此类的实例是 GraphObject 类或者 Diagram 或者 CommandHandler 或者 Tool 类的属性的值时,你应该将对象视为冻结或者只读的对象,你不能修改其属性。 这允许属性返回一个值,而无需分配新实例。 如果你需要使用该值进行自己的计算,请调用 copy 以使用可以修改的相同值创建一个新实例

许多方法会修改对象的属性,然后返回 "this" 对象的引用。 分配新对象的唯一实例方法是 copy 方法。 静态方法 Point.parse 还分配一个新对象

此类的 "Debug" 实现比 "Release" 实现明显慢的多,这主要是由于附加的错误检查

你不能从此类继承

Index

Constructors

constructor

  • new Point(x?: number, y?: number): Point
  • 默认构造函数产生Point(0,0),该构造函数可以采用零个或两个参数

    Parameters

    • Optional x: number

      x值

    • Optional y: number

      y值

    Returns Point

Properties

x : number

  • 获取或设置Point的X值

y : number

  • 获取或者设置Point的Y值

Methods

add

  • 修改此Point使其成为当前Point与给定Point的X和Y坐标之和

    see

    offset, subtract

    Parameters

    • p: Point

      添加到此Point的Point

    Returns Point

    this.

Virtual copy

  • 使用相同的值创建此Point的副本

    Returns Point

direction

  • direction(px: number, py: number): number
  • 计算从该Point到给定Point(px,py)的角度,如果该Point与此点相同,则方向为0

    see

    directionPoint

    Parameters

    • px: number
    • py: number

    Returns number

    从此Point到给定点的线的角度(以度为单位)

Static direction

  • direction(px: number, py: number, qx: number, qy: number): number
  • 此静态函数返回从点P到点Q的直线角度(以度为单位)

    Parameters

    • px: number
    • py: number
    • qx: number
    • qy: number

    Returns number

directionPoint

  • directionPoint(p: Point): number
  • 计算从该Point到给定Point的角度,如果该Point与此Point相同,则方向为0

    see

    direction

    Parameters

    • p: Point

      另一个要测量相对角度的点

    Returns number

    从此Point到给定Point的线的角度(以度为单位)

Static distanceLineSegmentSquared

  • distanceLineSegmentSquared(px: number, py: number, ax: number, ay: number, bx: number, by: number): number
  • 此静态函数返回从点P到从点A到点B的有限线段的距离的平方

    Parameters

    • px: number
    • py: number
    • ax: number
    • ay: number
    • bx: number
    • by: number

    Returns number

    欧氏距离

distanceSquared

  • distanceSquared(px: number, py: number): number
  • 返回从此Point到给定点(px,py)的距离的平方

    see

    distanceSquaredPoint

    Parameters

    • px: number
    • py: number

    Returns number

    欧氏距离的平方

Static distanceSquared

  • distanceSquared(px: number, py: number, qx: number, qy: number): number
  • 此静态函数返回从点P到点Q的距离的平方

    Parameters

    • px: number
    • py: number
    • qx: number
    • qy: number

    Returns number

distanceSquaredPoint

  • distanceSquaredPoint(p: Point): number
  • 返回该Point到给定Point的距离的平方

    see

    distanceSquared

    Parameters

    • p: Point

      另一个要测量的点

    Returns number

    欧氏距离的平方

equalTo

  • equalTo(x: number, y: number): boolean
  • 表示给定点(x,y)是否等于该Point

    see

    equals

    Parameters

    • x: number
    • y: number

    Returns boolean

    如果两个点的X和Y值相同,则为true,否则为false

equals

  • equals(p: Point): boolean
  • 表示给定的Point是否等于此Point

    see

    equalTo

    Parameters

    • p: Point

      与当前Point比较的Point

    Returns boolean

    如果两个Point的(x,y)值相同,则为true,否则为false

isReal

  • isReal(): boolean
  • 如果此Point的X和Y值是实数而不是无穷大,则为true

    Returns boolean

normalize

  • 修改此Point,使其X和Y值已标准化为单位长度。但是如果此Point是原点(0,0),则其长度仍为0

    Returns Point

    this.

offset

  • offset(dx: number, dy: number): Point
  • 通过给定的DX和DY偏移量移动其值来修改此Point

    see

    add, subtract

    Parameters

    • dx: number
    • dy: number

    Returns Point

    this.

Static parse

  • parse(str: string): Point
  • 此静态函数可用于从 Point.stringify 生成的字符串中读取 Point

    go.Point.parse("1 2") 生成Point new go.Point(1, 2).

    Parameters

    • str: string

    Returns Point

projectOntoLineSegment

  • projectOntoLineSegment(px: number, py: number, qx: number, qy: number): Point
  • 将该点修改为与该点在有限线段上最接近的点

    since

    1.3

    Parameters

    • px: number

      有限线段的一端

    • py: number

      有限线段的一端

    • qx: number

      有限线段的另一端

    • qy: number

      有限线段的另一端

    Returns Point

    修改后的Point

projectOntoLineSegmentPoint

  • 将该点修改为与该点在有限线段上最接近的点

    since

    1.3

    Parameters

    • p: Point

      有限线段的一端

    • q: Point

      有限线段的另一端

    Returns Point

    修改后的Point

rotate

  • rotate(angle: number): Point
  • 修改此Point,以使其饶原点旋转给定角度

    Parameters

    • angle: number

      以度为单位的角度

    Returns Point

    this.

scale

  • scale(sx: number, sy: number): Point
  • 修改此Point,使其X和Y值沿着X和Y轴按给定的因子缩放

    Parameters

    • sx: number
    • sy: number

    Returns Point

    this.

set

  • 修改此Point使其X和Y值与给定的Point相同

    Parameters

    • p: Point

      给定的Point.

    Returns Point

    this.

setRectSpot

  • 修改此Point,使其X和Y值对应给定Rect中特定的 Spot

    如果 Spot.isNoSpot 对于给定的Spot为true,则结果将毫无意义

    see

    setSpot

    Parameters

    • r: Rect

      该Rect为我们正在寻找的点

    • spot: Spot

      Spot; Spot.isSpot 对于此Spot必须为true

    Returns Point

    this.

setSpot

  • setSpot(x: number, y: number, w: number, h: number, spot: Spot): Point
  • 修改此Point,使其X和Y值对应给定Rect中特定的 Spot

    如果 Spot.isNoSpot 对于给定的Spot为true,则结果将毫无意义

    see

    setRectSpot

    Parameters

    • x: number

      我们正在寻找点的Rect的X坐标

    • y: number

      我们正在寻找点的Rect的Y坐标

    • w: number

      我们正在寻找点的Rect的宽度

    • h: number

      我们正在寻找点的Rect的高度.

    • spot: Spot

      Spot; Spot.isSpot 对于此Spot必须为true

    Returns Point

    这是矩形Spot的点

setTo

  • setTo(x: number, y: number): Point
  • 用新的X和Y值修改此Point

    Parameters

    • x: number
    • y: number

    Returns Point

    this.

snapToGrid

  • snapToGrid(originx: number, originy: number, cellwidth: number, cellheight: number): Point
  • 给定网格的原点和每个网格单元的大小,将该点修改为无线网格上的最近点

    since

    1.3

    Parameters

    • originx: number

      网格单元之一的左上角

    • originy: number

      网格单元之一的左上角

    • cellwidth: number

      每个网格单元的大小,必须是大于0的实数

    • cellheight: number

      每个网格单元的大小,必须是大于0的实数

    Returns Point

    修改后的Point

snapToGridPoint

  • 给定网格的原点和每个网格单元的大小,将该点修改为无线网格上的最近点

    since

    1.3

    Parameters

    • origin: Point

      网格单元之一的左上角

    • cellsize: Size

      每个网格单元的大小

    Returns Point

    修改后的Point

Static stringify

  • stringify(val: Point): string
  • 此静态函数可用于将 Point 编写为可由Point.parse 读取的字符串

    go.Point.stringify(new go.Point(1, 2)) 生成字符串 "1 2".

    Parameters

    Returns string

subtract

  • 修改此Point,使其为该Point与给定Point的X和Y坐标之差

    see

    offset, add

    Parameters

    • p: Point

      从当前Point减去的Point

    Returns Point

    this.