Plane3dByOriginAndVectors Class

A Point3dVector3dVector3d is an origin and a pair of vectors. This defines a plane with a (possibly skewed) uv coordinate grid

  • The grid directions (vectorU and vectorV)
    • are NOT required to be unit vectors.
    • are NOT required to be perpendicular vectors.

Implements

Methods

Name Description
clone(): Plane3dByOriginAndVectors clone to a new plane.  
fractionToPoint(u: number, v: number, result?: Point3d): Point3d Evaluate a point a grid coordinates on the plane.  
fractionToVector(u: number, v: number, result?: Vector3d): Vector3d Return the vector from the plane origin to parametric coordinate (u.v)  
isAlmostEqual(other: Plane3dByOriginAndVectors): boolean Test origin and vectors for isAlmostEqual with other  
normalizeInPlace(): boolean Normalize both vectorU and vectorV in place.  
setFromJSON(json?: any): void Set coordinates from a json object such as {origin: [1,2,3], vectorU:[4,5,6], vectorV[3,2,1]}  
setOriginAndVectors(origin: Point3d, vectorU: Vector3d, vectorV: Vector3d): Plane3dByOriginAndVectors Set all origin and both vectors from coordinates in given origin and vectors.  
setOriginAndVectorsXYZ(x0: number, y0: number, z0: number, ux: number, uy: number, uz: number, vx: number, vy: number, vz: number): Plane3dByOriginAndVectors Set all origin and both vectors from direct numeric parameters  
toJSON(): any Convert an Angle to a JSON object.  
toRigidFrame(result?: Transform): undefined | Transform Create a rigid frame (i.e.  
transformInPlace(transform: Transform): void Apply the transform to the origin and vectors in place.  
unitNormal(result?: Vector3d): undefined | Vector3d Return (if possible) a unit normal to the plane.  
unitNormalRay(result?: Ray3d): undefined | Ray3d Return (if possible) a ray with origin at plane origin, direction as unit normal to the plane.  
createCapture(origin: Point3d, vectorU: Vector3d, vectorV: Vector3d, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static Capture origin and directions in a new plane.  
createFromTransformColumnsXYAndLengths(transform: Transform, xLength: undefined | number, yLength: undefined | number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static Return a Plane3dByOriginAndVectors, with  
createOriginAndTargets(origin: Point3d, targetU: Point3d, targetV: Point3d, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static Define a plane by three points in the plane.  
createOriginAndVectors(origin: Point3d, vectorU: Vector3d, vectorV: Vector3d, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static create a new plane from origin and vectors.  
createOriginAndVectorsArrays(origin: Float64Array, vectorU: Float64Array, vectorV: Float64Array, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static create a plane from data presented as Float64Arrays.  
createOriginAndVectorsWeightedArrays(originW: Float64Array, vectorUw: Float64Array, vectorVw: Float64Array, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static create a plane from data presented as Float64Array with weights  
createOriginAndVectorsXYZ(x0: number, y0: number, z0: number, ux: number, uy: number, uz: number, vx: number, vy: number, vz: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static Create a new plane from direct numeric parameters  
createXYPlane(result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static Create a plane with origin at 000, unit vectorU in x direction, and unit vectorV in the y direction.  
fromJSON(json?: any): Plane3dByOriginAndVectors Static create a new plane.  

Properties

Name Type Description
origin Point3d origin of plane grid  
vectorU Vector3d u direction in plane grid  
vectorV Vector3d v direction in plane grid  

Defined in

Last Updated: 20 June, 2023