Plane3dByOriginAndUnitNormal Class

A plane defined by

  • Any point on the plane.
  • a unit normal.

Extends

Implements

Methods

Name Description
altitude(spacePoint: Point3d): number Return the altitude of spacePoint above or below the plane.  
altitudeToPoint(altitude: number, result?: Point3d): Point3d Return any point at specified (signed) altitude.  
altitudeXY(x: number, y: number): number Return the altitude of point (x,y) given xy parts using only the xy parts of origin and unit normal  
altitudeXYZ(x: number, y: number, z: number): number Return the altitude of a point given as separate x,y,z components.  
altitudeXYZW(x: number, y: number, z: number, w: number): number Return the altitude of a point given as separate x,y,z,w components.  
clone(result?: Plane3dByOriginAndUnitNormal): Plane3dByOriginAndUnitNormal Return a deep clone (point and normal cloned)  
cloneTransformed(transform: Transform, inverse: boolean = false): undefined | Plane3dByOriginAndUnitNormal Create a clone and return the transform of the clone.  
getAnyPointOnPlane(result?: Point3d): Point3d Return (a clone of) the origin.  
getLocalToWorld(): Transform Return coordinate axes (as a transform) with  
getNormalRef(): Vector3d Return a reference to the unit normal.  
getOriginRef(): Point3d Return a reference to the origin.  
getProjectionToPlane(): Transform Return a (singular) transform which projects points to this plane.  
getUnitNormal(result?: Vector3d): undefined | Vector3d Return (a clone of) the unit normal.  
isAlmostEqual(other: Plane3dByOriginAndUnitNormal): boolean Test for (toleranced) equality with other  
isPointInPlane(spacePoint: Point3d, tolerance: number = Geometry.smallMetricDistance): boolean Returns true if spacePoint is within distance tolerance of the plane.  
normalX(): number Return the x component of the normal used to evaluate altitude.  
normalY(): number Return the x component of the normal used to evaluate altitude.  
normalZ(): number Return the z component of the normal used to evaluate altitude.  
projectPointToPlane(spacePoint: Point3d, result?: Point3d): Point3d Return the projection of spacePoint onto the plane.  
set(origin: Point3d, normal: Vector3d): void Copy coordinates from the given origin and normal.  
setFrom(source: Plane3dByOriginAndUnitNormal): void Copy data from the given plane.  
setFromJSON(json?: any): void Parse a json fragment {origin: [x,y,z], normal: [ux,uy,uz]}  
toJSON(): any Convert to a JSON object.  
velocity(spaceVector: Vector3d): number Return the dot product of spaceVector with the plane's unit normal.  
velocityXYZ(x: number, y: number, z: number): number Return the dot product of spaceVector with the plane's unit normal.  
weightedAltitude(spacePoint: Point4d): number Return the signed altitude of weighted spacePoint above or below the plane.  
create(origin: Point3d, normal: Vector3d, result?: Plane3dByOriginAndUnitNormal): undefined | Plane3dByOriginAndUnitNormal Static Create a new Plane3dByOriginAndUnitNormal with given origin and normal.  
createFrom(source: Plane3d, result?: Plane3dByOriginAndUnitNormal): undefined | Plane3dByOriginAndUnitNormal Static Create a new Plane3dByOriginAndUnitNormal from a variety of plane types.  
createOriginAndTargetXY(origin: Readonly<WritableXAndY>, target: Readonly<WritableXAndY>, result?: Plane3dByOriginAndUnitNormal): undefined | Plane3dByOriginAndUnitNormal Static Create a new Plane3dByOriginAndUnitNormal with unit normal (a) in the xy plane (b) perpendicular to the line  
createOriginAndTargets(pointA: Point3d, pointB: Point3d, pointC: Point3d): undefined | Plane3dByOriginAndUnitNormal Static Create a plane defined by three points.  
createOriginAndVectors(pointA: Point3d, vectorB: Vector3d, vectorC: Vector3d): undefined | Plane3dByOriginAndUnitNormal Static Create a plane defined by a point and two vectors in the plane  
createPointPointVectorInPlane(pointA: Point3d, pointB: Point3d, vector: Vector3d): undefined | Plane3dByOriginAndUnitNormal Static Create a plane defined by two points and an in-plane vector.  
createXYAngle(x: number, y: number, normalAngleFromX: Angle, result?: Plane3dByOriginAndUnitNormal): Plane3dByOriginAndUnitNormal Static Create a new Plane3dByOriginAndUnitNormal with xy origin (at z=0) and normal angle in xy plane.  
createXYPlane(origin?: Point3d): Plane3dByOriginAndUnitNormal Static Create a plane parallel to the XY plane  
createXYZUVW(ax: number, ay: number, az: number, ux: number, uy: number, uz: number, result?: Plane3dByOriginAndUnitNormal): undefined | Plane3dByOriginAndUnitNormal Static Create a new Plane3dByOriginAndUnitNormal with direct coordinates of origin and normal.  
createYZPlane(origin?: Point3d): Plane3dByOriginAndUnitNormal Static Create a plane parallel to the YZ plane  
createZXPlane(origin?: Point3d): Plane3dByOriginAndUnitNormal Static Create a plane parallel to the ZX plane  
fromJSON(json?: any): Plane3dByOriginAndUnitNormal Static Create a new Plane3dByOriginAndUnitNormal from json fragment.  

Inherited methods

Name Inherited from Description
classifyAltitude(point: Point3d, tolerance: number = Geometry.smallMetricDistance): | "1" | "-1" Plane3d Return a value -1, 0, 1 giving a signed indicator of whether the toleranced altitude of the point is
classifyAltitudeXYZ(x: number, y: number, z: number, tolerance: number = Geometry.smallMetricDistance): | "1" | "-1" Plane3d Return a value -1, 0, 1 giving a signed indicator of whether the toleranced altitude of x,y,z is

Defined in

Last Updated: 16 April, 2024