API Reference > geometry-core > CartesianGeometry > Plane3dByOriginAndUnitNormal Plane3dByOriginAndUnitNormal Class A plane defined by Any point on the plane. a unit normal. Implements BeJSONFunctions PlaneAltitudeEvaluator Methods Name Description altitude(spacePoint: Point3d): number Return the altitude of spacePoint above or below the plane. altitudeToPoint(altitude: number, result?: Point3d): Point3d return a point at specified (signed) altitude 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): Plane3dByOriginAndUnitNormal | undefined Create a clone and return the transform of the clone. 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. isAlmostEqual(other: Plane3dByOriginAndUnitNormal): boolean test for (toleranced) equality with other isPointInPlane(spacePoint: Point3d): boolean Returns true of spacePoint is within distance tolerance of the plane. 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 altitude of weighted spacePoint above or below the plane. create(origin: Point3d, normal: Vector3d, result?: Plane3dByOriginAndUnitNormal): Plane3dByOriginAndUnitNormal | undefined Static create a new Plane3dByOriginAndUnitNormal with given origin and normal. createPointPointVectorInPlane(pointA: Point3d, pointB: Point3d, vector: Vector3d): Plane3dByOriginAndUnitNormal | undefined 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): Plane3dByOriginAndUnitNormal | undefined 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. Defined in core/geometry/src/geometry3d/Plane3dByOriginAndUnitNormal.ts Line 22 Last Updated: 13 June, 2024