Point3d Class
3D point with x,y,z as properties
Extends
Methods
| Name | Description | |
|---|---|---|
| constructor(x: number = 0, y: number = 0, z: number = 0): Point3d | Constructor for Point3d | |
| clone(result?: Point3d): Point3d | Return a new Point3d with the same coordinates | |
| crossProductToPoints(pointA: Point3d, pointB: Point3d, result?: Vector3d): Vector3d | Return the cross product of the vectors from this to pointA and pointB | |
| crossProductToPointsMagnitude(pointA: Point3d, pointB: Point3d): number | Return the magnitude of the cross product of the vectors from this to pointA and pointB | |
| crossProductToPointsXY(pointA: Point3d, pointB: Point3d): number | Return the cross product of the vectors from this to pointA and pointB | |
| dotVectorsToTargets(targetA: Point3d, targetB: Point3d): number | Return the dot product of vectors from this to pointA and this to pointB. | |
| fractionOfProjectionToLine(startPoint: Point3d, endPoint: Point3d, defaultFraction: number = 0): number | Return the fractional projection of this onto a line between points. | |
| interpolate(fraction: number, other: Readonly<WritableXYAndZ>, result?: Point3d): Point3d | Return a point interpolated between this point and the other point. |
|
| interpolatePerpendicularXY(fraction: number, pointB: Point3d, fractionXYPerp: number, result?: Point3d): Point3d | Interpolate between points, then add a shift in the xy plane by a fraction of the XY projection perpendicular. | |
| interpolateXYZ(fractionX: number, fractionY: number, fractionZ: number, other: Point3d, result?: Point3d): Point3d | Return a point with independent x,y,z fractional interpolation. | |
| minus(vector: Readonly<WritableXYAndZ>, result?: Point3d): Point3d | Return point minus vector | |
| plus(vector: Readonly<WritableXYAndZ>, result?: Point3d): Point3d | Return point plus vector | |
| plus2Scaled(vectorA: Readonly<WritableXYAndZ>, scalarA: number, vectorB: Readonly<WritableXYAndZ>, scalarB: number, result?: Point3d): Point3d | Return point + vectorA * scalarA + vectorB * scalarB | |
| plus3Scaled(vectorA: Readonly<WritableXYAndZ>, scalarA: number, vectorB: Readonly<WritableXYAndZ>, scalarB: number, vectorC: Readonly<WritableXYAndZ>, scalarC: number, result?: Point3d): Point3d | Return point + vectorA * scalarA + vectorB * scalarB + vectorC * scalarC | |
| plusScaled(vector: Readonly<WritableXYAndZ>, scaleFactor: number, result?: Point3d): Point3d | Return point + vector * scalar | |
| plusXYZ(dx: number = 0, dy: number = 0, dz: number = 0, result?: Point3d): Point3d | Return point plus vector | |
| tripleProductToPoints(pointA: Point3d, pointB: Point3d, pointC: Point3d): number | Return the triple product of the vectors from this to pointA, pointB, pointC | |
| create(x: number = 0, y: number = 0, z: number = 0, result?: Point3d): Point3d Static | Create a new Point3d with given coordinates | |
| createAdd2Scaled(pointA: Readonly<WritableXYAndZ>, scaleA: number, pointB: Readonly<WritableXYAndZ>, scaleB: number, result?: Point3d): Point3d Static | Create a point that is a linear combination (weighted sum) of 2 input points. | |
| createAdd3Scaled(pointA: Readonly<WritableXYAndZ>, scaleA: number, pointB: Readonly<WritableXYAndZ>, scaleB: number, pointC: Readonly<WritableXYAndZ>, scaleC: number, result?: Point3d): Point3d Static | Create a point that is a linear combination (weighted sum) of 3 input points. | |
| createArrayFromPackedXYZ(data: Float64Array): Point3d[] Static | Return an array of points constructed from groups of 3 entries in a Float64Array. | |
| createFrom(data: Float64Array | Readonly<WritableXAndY> | Readonly<WritableXYAndZ>, result?: Point3d): Point3d Static | Copy contents from another Point3d, Point2d, Vector2d, or Vector3d | |
| createFromPacked(xyzData: Float64Array, pointIndex: number, result?: Point3d): undefined | Point3d Static | Copy x,y,z from | |
| createFromPackedXYZW(xyzwData: Float64Array, pointIndex: number, result?: Point3d): undefined | Point3d Static | Copy and unweight xyzw. | |
| createScale(source: Readonly<WritableXYAndZ>, scale: number, result?: Point3d): Point3d Static | Return a point that is scaled from the source point. | |
| createZero(result?: Point3d): Point3d Static | Create a new point with 000 xyz | |
| fromJSON(json?: XYZProps): Point3d Static | Convert json to Point3d. |
Inherited methods
| Name | Inherited from | Description |
|---|---|---|
| addInPlace(other: Readonly<WritableXYAndZ>): void Inherited | XYZ | Add x,y,z from other in place. |
| addScaledInPlace(other: Readonly<WritableXYAndZ>, scale: number): void Inherited | XYZ | Add (in place) the scaled x,y,z of other |
| addXYZInPlace(dx: number = 0.0, dy: number = 0.0, dz: number = 0.0): void Inherited | XYZ | Add to x, y, z parts |
| at(index: number): number Inherited | XYZ | Return the x,y, z component corresponding to 0,1,2 |
| cloneAsPoint3d(): Point3d Inherited | XYZ | Clone strongly typed as Point3d |
| distance(other: Readonly<WritableXYAndZ>): number Inherited | XYZ | Return the distance from this point to other |
| distanceSquared(other: Readonly<WritableXYAndZ>): number Inherited | XYZ | Return squared distance from this point to other |
| distanceSquaredXY(other: Readonly<WritableXAndY>): number Inherited | XYZ | Return squared XY distance from this point to other |
| distanceXY(other: Readonly<WritableXAndY>): number Inherited | XYZ | Return the XY distance from this point to other |
| freeze(): Readonly<Point3d> Inherited | XYZ | Freeze this XYZ |
| indexOfMaxAbs(): number Inherited | XYZ | Return the index (0,1,2) of the x,y,z component with largest absolute value |
| isAlmostEqual(other: Readonly<Readonly<WritableXYAndZ>>, tol?: number): boolean Inherited | XYZ | Returns true if this and other have equal x,y,z parts within Geometry.smallMetricDistance. |
| isAlmostEqualMetric(other: Readonly<WritableXYAndZ>): boolean Inherited | XYZ | Equality test with Geometry.smallMetricDistance tolerance |
| isAlmostEqualPointPlusScaledVector(other: Readonly<WritableXYAndZ>, vector: Readonly<WritableXYAndZ>, scale: number, tol?: number): boolean Inherited | XYZ | Return true if this and {other + vector*scale} have equal x,y,z parts within Geometry.smallMetricDistance. |
| isAlmostEqualXY(other: Readonly<WritableXAndY>, tol?: number): boolean Inherited | XYZ | Return true if this and other have equal x,y parts within Geometry.smallMetricDistance. |
| isAlmostEqualXYZ(x: number, y: number, z: number, tol?: number): boolean Inherited | XYZ | Return true if this and other have equal x,y,z parts within Geometry.smallMetricDistance. |
| isExactEqual(other: Readonly<WritableXYAndZ>): boolean Inherited | XYZ | Exact equality test. |
| magnitude(): number Inherited | XYZ | Return the sqrt of the sum of squared x,y,z parts |
| magnitudeSquared(): number Inherited | XYZ | Return the sum of squared x,y,z parts |
| magnitudeSquaredXY(): number Inherited | XYZ | Return the sum of squared x,y parts |
| magnitudeXY(): number Inherited | XYZ | Return sqrt of the sum of squared x,y parts |
| maxAbs(): number Inherited | XYZ | Return the largest absolute value of any component |
| maxDiff(other: Readonly<WritableXYAndZ>): number Inherited | XYZ | Return the largest absolute distance between corresponding components |
| scaledVectorTo(other: Readonly<WritableXYAndZ>, scale: number, result?: Vector3d): Vector3d Inherited | XYZ | Return a multiple of a the (full length) vector from this point to other |
| scaleInPlace(scale: number): this Inherited | XYZ | Multiply the x, y, z parts by scale. |
| set(x: number = 0, y: number = 0, z: number = 0): void Inherited | XYZ | Set the x,y,z parts. |
| setAt(index: number, value: number): void Inherited | XYZ | Set value at index 0 or 1 or 2 |
| setFrom(other: Float64Array | Readonly<WritableXAndY> | Readonly<WritableXYAndZ>): void Inherited | XYZ | Set the x,y,z parts from one of these input types |
| setFromJSON(json?: XYZProps): void Inherited | XYZ | Set the x,y,z properties from one of several json forms: |
| setFromPoint3d(other?: Readonly<WritableXYAndZ>): void Inherited | XYZ | Set the x,y,z parts from a Point3d. |
| setFromVector3d(other?: Vector3d): void Inherited | XYZ | Set the x,y,z parts from a Vector3d |
| setZero(): void Inherited | XYZ | Set the x,y,z parts to zero. |
| subtractInPlace(other: Readonly<WritableXYAndZ>): void Inherited | XYZ | Subtract x,y,z from other in place. |
| toArray(): number[] Inherited | XYZ | Return as an array [x,y,z] |
| toFloat64Array(): Float64Array Inherited | XYZ | Pack the x,y,z values in a Float64Array. |
| toJSON(): XYZProps Inherited | XYZ | Return a JSON object as array [x,y,z] |
| toJSONXYZ(): XYZProps Inherited | XYZ | Return a JSON object as key value pairs {x: value, y: value, z: value} |
| unitVectorTo(target: Readonly<WritableXYAndZ>, result?: Vector3d): undefined | Vector3d Inherited | XYZ | Return a unit vector from this vector to other. |
| vectorTo(other: Readonly<WritableXYAndZ>, result?: Vector3d): Vector3d Inherited | XYZ | Return a (full length) vector from this point to other |
| accessX(arg: any, defaultValue?: number): undefined | number Static Inherited | XYZ | Look for (in order) an x coordinate present as: |
| accessY(arg: any, defaultValue?: number): undefined | number Static Inherited | XYZ | Look for (in order) a y coordinate present as: |
| accessZ(arg: any, defaultValue?: number): undefined | number Static Inherited | XYZ | Look for (in order) a z coordinate present as: |
| hasZ(arg: any): arg is Readonly<WriteableHasZ> Static Inherited | XYZ | Type guard to determine whether an object has a member called "z" |
| isAnyImmediatePointType(arg: any): arg is number[] | Readonly<WritableXAndY> | Readonly<WritableXYAndZ> Static Inherited | XYZ | Test if arg is any of: |
| isXAndY(arg: any): arg is Readonly<WritableXAndY> Static Inherited | XYZ | Type guard for XAndY. |
| isXYAndZ(arg: any): arg is Readonly<WritableXYAndZ> Static Inherited | XYZ | Type guard for XYAndZ. |
| x(xyz: XYZProps, defaultValue: number = 0): number Static Inherited | XYZ | Access x part of XYZProps (which may be .x or [0]) |
| y(xyz: XYZProps, defaultValue: number = 0): number Static Inherited | XYZ | Access x part of XYZProps (which may be .x or [0]) |
| z(xyz: XYZProps, defaultValue: number = 0): number Static Inherited | XYZ | Access x part of XYZProps (which may be .x or [0]) |
Inherited properties
| Name | Type | Inherited from | Description |
|---|---|---|---|
| isAlmostZero Accessor Inherited ReadOnly | boolean | XYZ | Return true if the x,y,z components are all nearly zero to tolerance Geometry.smallMetricDistance |
| isZero Accessor Inherited ReadOnly | boolean | XYZ | Return true if the x,y,z components are all exactly zero |
| x Inherited | number | XYZ | x coordinate |
| y Inherited | number | XYZ | y coordinate |
| z Inherited | number | XYZ | z coordinate |
Defined in
- geometry3d/Point3dVector3d.ts Line 412
Last Updated: 24 October, 2025
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.