Search API

- Preparing search index...
- The search index is not available

Show Summaries
GoJS® Diagramming Components
version 1.8.23 for JavaScript/HTML
by Northwoods Software®

## Class Point

A Point represents an x- and y-coordinate pair in two-dimensional space.

Use the static functions Point.parse and Point.stringify to convert to and from a standard string representation that is independent of the current locale.

When an instance of this class is the value of a property of a GraphObject class or Diagram or CommandHandler or a Tool class, you should treat the object as if it were frozen or read-only -- you cannot modify its properties. This allows the property to return a value without allocating a new instance. If you need to do your own calculations with the value, call copy to make a new instance with the same values that you can modify.

Many methods modify the object's properties and then return a reference to "this" object. The only instance method to allocate a new object is the copy method. The static Point.parse method also allocates a new object.

The "Debug" implementation of this class is significantly slower than the "Release" implementation, mostly due to additional error checking.

You cannot inherit from this class.

## Constructor Summary Details

Name | Description
--- | ---
Point(x, y) | The default constructor produces the Point(0,0).More... This constructor may take either zero arguments or two arguments. Parameters: {number=} x The x value. {number=} y The y value.

## Properties Summary Details

Name, Value Type | Description
--- | ---
x {number} | Gets or sets the x value of the Point.
y {number} | Gets or sets the y value of the Point.

## Method Summary Details

Name, Return Type | Description
--- | ---
add(p) {Point} | Modify this point so that is the sum of the current Point and the x and y co-ordinates of the given Point.More... See also: offset subtract Parameters: {Point} p The Point to add to this Point. Returns: {Point} this.
copy() {Point} | Create a copy of this Point, with the same values. Returns: {Point}
direction(px, py) {number} | Compute the angle from this Point to a given (px,py) point.More... However, if the point is the same as this Point, the direction is zero. See also: directionPoint Parameters: {number} px {number} py Returns: {number} the angle, in degrees, of the line from this Point to the given point.
<static> Point.direction(px, py, qx, qy) {number} | This static function returns the angle in degrees of the line from point P to point Q.More... Parameters: {number} px {number} py {number} qx {number} qy Returns: {number}
directionPoint(p) {number} | Compute the angle from this Point to a given Point.More... However, if the given Point is the same as this Point, the direction is zero. See also: direction Parameters: {Point} p the other Point to which to measure the relative angle. Returns: {number} the angle, in degrees, of the line from this Point to the given point.
<static> Point.distanceLineSegmentSquared(px, py, ax, ay, bx, by) {number} | This static function returns the square of the distance from the point P to the finite line segment from point A to point B.More... Parameters: {number} px {number} py {number} ax {number} ay {number} bx {number} by Returns: {number} the euclidean distance.
distanceSquared(px, py) {number} | Returns the square of the distance from this point to a given point (px, py).More... See also: distanceSquaredPoint Parameters: {number} px {number} py Returns: {number} the square of the euclidean distance.
<static> Point.distanceSquared(px, py, qx, qy) {number} | This static function returns the square of the distance from the point P to the point Q.More... Parameters: {number} px {number} py {number} qx {number} qy Returns: {number}
distanceSquaredPoint(p) {number} | Returns the square of the distance from this Point to a given Point.More... See also: distanceSquared Parameters: {Point} p the other Point to measure to. Returns: {number} the square of the euclidean distance.
equals(p) {boolean} | Indicates whether the given Point is equal to this Point.More... See also: equalTo Parameters: {Point} p The Point to compare to the current Point. Returns: {boolean} True if the two Points have identical X and Y values, false otherwise.
equalTo(x, y) {boolean} | Indicates whether the given point (x, y) is equal to this Point.More... See also: equals Parameters: {number} x {number} y Returns: {boolean} True if the two Points have identical X and Y values, false otherwise.
isReal() {boolean} | True if this Point has X and Y values that are real numbers and not infinity. Returns: {boolean}
normalize() {Point} | Modify this Point so that its X and Y values have been normalized to a unit length.More... However, if this Point is the origin (zero, zero), its length remains zero. Returns: {Point} this.
offset(dx, dy) {Point} | Modify this point by shifting its values with the given DX and DY offsets.More... See also: add subtract Parameters: {number} dx {number} dy Returns: {Point} this.
<static> Point.parse(str) {Point} | This static function can be used to read in a Point from a string that was produced by Point.stringify.More... `go.Point.parse("1 2")` produces the Point `new go.Point(1, 2)`. Parameters: {string} str Returns: {Point}
projectOntoLineSegment(px, py, qx, qy) {Point} 1.3 | Modify this point to be the closest point to this point that is on a finite line segment.More... Parameters: {number} px one end of the finite line segment {number} py one end of the finite line segment {number} qx the other end of the finite line segment {number} qy the other end of the finite line segment Returns: {Point} this modified Point
projectOntoLineSegmentPoint(p, q) {Point} 1.3 | Modify this point to be the closest point to this point that is on a finite line segment.More... Parameters: {Point} p one end of the finite line segment {Point} q the other end of the finite line segment Returns: {Point} this modified Point
rotate(angle) {Point} | Modify this Point so that has been rotated about the origin by the given angle.More... Parameters: {number} angle an angle in degrees. Returns: {Point} this.
scale(sx, sy) {Point} | Modify this Point so that its X and Y values have been scaled by given factors along the X and Y axes.More... Parameters: {number} sx {number} sy Returns: {Point} this.
set(p) {Point} | Modify this Point so that its X and Y values are the same as the given Point.More... Parameters: {Point} p the given Point. Returns: {Point} this.
setRectSpot(r, spot) {Point} | Modify this Point so that its X and Y values correspond to a particular Spot in a given Rect.More... The result is meaningless if Spot.isNoSpot is true for the given Spot. See also: setSpot Parameters: {Rect} r the Rect for which we are finding the point. {Spot} spot the Spot; Spot.isSpot must be true for this Spot. Returns: {Point} this.
setSpot(x, y, w, h, spot) {Point} | Modify this Point so that its X and Y values correspond to a particular Spot in a given rectangle.More... The result is meaningless if Spot.isNoSpot is true for the given Spot. See also: setRectSpot Parameters: {number} x The X coordinate of the Rect for which we are finding the point. {number} y The Y coordinate of the Rect for which we are finding the point. {number} w The Width of the Rect for which we are finding the point. {number} h The Height of the Rect for which we are finding the point. {Spot} spot the Spot; Spot.isSpot must be true for this Spot. Returns: {Point} this the point of the spot in the rectangle.
setTo(x, y) {Point} | Modify this Point with new X and Y values.More... Parameters: {number} x {number} y Returns: {Point} this.
snapToGrid(originx, originy, cellwidth, cellheight) {Point} 1.3 | Modify this point to be at the nearest point on an infinite grid, given the grid's origin and size of each grid cell.More... Parameters: {number} originx the top-left point of one of the grid cells {number} originy the top-left point of one of the grid cells {number} cellwidth the size of each grid cell -- must be a real number larger than zero {number} cellheight the size of each grid cell -- must be a real number larger than zero Returns: {Point} this modified Point
snapToGridPoint(origin, cellsize) {Point} 1.3 | Modify this point to be at the nearest point on an infinite grid, given the grid's origin and size of each grid cell.More... Parameters: {Point} origin the top-left point of one of the grid cells {Size} cellsize the size of each grid cell Returns: {Point} this modified Point
<static> Point.stringify(val) {string} | This static function can be used to write out a Point as a string that can be read by Point.parse.More... `go.Point.stringify(new go.Point(1, 2))` produces the string "1 2". Parameters: {Point} val Returns: {string}
subtract(p) {Point} | Modify this point so that is the difference of this Point and the x and y co-ordinates of the given Point.More... See also: offset add Parameters: {Point} p The Point to subtract from the current Point. Returns: {Point} this.