| Name | 
 Description | 
 | 
| constructor(x: number = 0, y: number = 0): Vector2d | 
  | 
  | 
| angleTo(vectorB: Readonly<WritableXAndY>): Angle | 
return the (strongly typed) signed angle from this to vectorB. | 
  | 
| clone(result?: Vector2d): Vector2d | 
Return a new Vector2d with the same x,y | 
  | 
| crossProduct(vectorB: Readonly<WritableXAndY>): number | 
vector cross product {this CROSS vectorB} | 
  | 
| dotProduct(vectorB: Readonly<WritableXAndY>): number | 
return the dot product of this with vectorB | 
  | 
| dotProductStartEnd(pointA: Readonly<WritableXAndY>, pointB: Readonly<WritableXAndY>): number | 
dot product with vector from pointA to pointB | 
  | 
| fractionOfProjectionToVector(target: Vector2d, defaultFraction?: number): number | 
Return fractional projection of target vector onto this | 
  | 
| interpolate(fraction: number, vectorB: Vector2d, result?: Vector2d): Vector2d | 
Return a vector computed at fractional position between this vector and vectorB | 
  | 
| isParallelTo(other: Vector2d, oppositeIsParallel: boolean = false, returnValueIfAnInputIsZeroLength: boolean = false, options?: PerpParallelOptions): boolean | 
Test if this vector is parallel to other. | 
  | 
| isPerpendicularTo(other: Vector2d, returnValueIfAnInputIsZeroLength: boolean = false, options?: PerpParallelOptions): boolean | 
Test if this vector is perpendicular to other. | 
  | 
| minus(vector: Readonly<WritableXAndY>, result?: Vector2d): Vector2d | 
return {this - vector}. | 
  | 
| negate(result?: Vector2d): Vector2d | 
Return a new vector with components negated from this instance. | 
  | 
| normalize(result?: Vector2d): undefined | Vector2d | 
Return a unit vector in direction of this instance (undefined if this instance has near zero length) | 
  | 
| plus(vector: Readonly<WritableXAndY>, result?: Vector2d): Vector2d | 
return {this + vector}. | 
  | 
| plus2Scaled(vectorA: Readonly<WritableXAndY>, scalarA: number, vectorB: Readonly<WritableXAndY>, scalarB: number, result?: Vector2d): Vector2d | 
Return {point + vectorA * scalarA + vectorB * scalarB} | 
  | 
| plus3Scaled(vectorA: Readonly<WritableXAndY>, scalarA: number, vectorB: Readonly<WritableXAndY>, scalarB: number, vectorC: Readonly<WritableXAndY>, scalarC: number, result?: Vector2d): Vector2d | 
Return {this + vectorA * scalarA + vectorB * scalarB + vectorC * scalarC} | 
  | 
| plusScaled(vector: Readonly<WritableXAndY>, scaleFactor: number, result?: Vector2d): Vector2d | 
Return {point + vector * scalar} | 
  | 
| radiansTo(vectorB: Readonly<WritableXAndY>): number | 
return the radians (as a simple number, not strongly typed Angle) signed angle from this to vectorB. | 
  | 
| rotate90CCWXY(result?: Vector2d): Vector2d | 
Return a vector same length as this but rotated 90 degrees counter clockwise | 
  | 
| rotate90CWXY(result?: Vector2d): Vector2d | 
Return a vector same length as this but rotated 90 degrees clockwise | 
  | 
| rotateXY(angle: Angle, result?: Vector2d): Vector2d | 
return a new Vector2d rotated CCW by given angle | 
  | 
| safeDivideOrNull(denominator: number, result?: Vector2d): undefined | Vector2d | 
Return a (new or optionally reused) vector which is this divided by denominator | 
  | 
| scale(scale: number, result?: Vector2d): Vector2d | 
Return {this * scale} | 
  | 
| scaleToLength(length: number, result?: Vector2d): undefined | Vector2d | 
return a vector parallel to this but with specified length | 
  | 
| unitPerpendicularXY(result?: Vector2d): Vector2d | 
Return a unit vector perpendicular to this instance. | 
  | 
| create(x: number = 0, y: number = 0, result?: Vector2d): Vector2d Static | 
Return a new Vector2d with given x and y | 
  | 
| createFrom(data: Float64Array | Readonly<WritableXAndY>, result?: Vector2d): Vector2d Static | 
copy contents from another Point3d, Point2d, Vector2d, or Vector3d, or leading entries of Float64Array | 
  | 
| createOffsetBisector(unitPerpA: Vector2d, unitPerpB: Vector2d, offset: number): undefined | Vector2d Static | 
Return a vector that bisects the angle between two normals and extends to the intersection of two offset lines | 
  | 
| createPolar(r: number, theta: Angle): Vector2d Static | 
Return a new Vector2d from polar coordinates for radius and Angle from x axis | 
  | 
| createStartEnd(point0: Readonly<WritableXAndY>, point1: Readonly<WritableXAndY>, result?: Vector2d): Vector2d Static | 
Return a new Vector2d extending from point0 to point1 | 
  | 
| createZero(result?: Vector2d): Vector2d Static | 
Return a Vector2d with components 0,0 | 
  | 
| fromJSON(json?: XYProps): Vector2d Static | 
Set x and y from a JSON input such as [1,2] or {x:1, y:2} | 
  | 
| unitX(scale: number = 1): Vector2d Static | 
Return a (new) Vector2d with components scale,0 | 
  | 
| unitY(scale: number = 1): Vector2d Static | 
Return a (new) Vector2d with components 0,scale | 
  |