From 6dce5c5ca62c7c7ada4b31673749870dffb2503b Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Thu, 14 Dec 2023 20:41:53 -0500 Subject: [PATCH] Triangle: Return null in getInterpolation() if triangle is degenerate. (#708) --- types/three/src/math/Triangle.d.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/types/three/src/math/Triangle.d.ts b/types/three/src/math/Triangle.d.ts index f790ace10..4c700f32d 100644 --- a/types/three/src/math/Triangle.d.ts +++ b/types/three/src/math/Triangle.d.ts @@ -39,14 +39,14 @@ export class Triangle { getMidpoint(target: Vector3): Vector3; getNormal(target: Vector3): Vector3; getPlane(target: Plane): Plane; - getBarycoord(point: Vector3, target: Vector3): Vector3; + getBarycoord(point: Vector3, target: Vector3): Vector3 | null; /** * @deprecated Triangle.getUV() has been renamed to Triangle.getInterpolation(). */ getUV(point: Vector3, uv1: Vector2, uv2: Vector2, uv3: Vector2, target: Vector2): Vector2; - getInterpolation(point: Vector3, v1: Vector2, v2: Vector2, v3: Vector2, target: Vector2): Vector2; - getInterpolation(point: Vector3, v1: Vector3, v2: Vector3, v3: Vector3, target: Vector3): Vector3; - getInterpolation(point: Vector3, v1: Vector4, v2: Vector4, v3: Vector4, target: Vector4): Vector4; + getInterpolation(point: Vector3, v1: Vector2, v2: Vector2, v3: Vector2, target: Vector2): Vector2 | null; + getInterpolation(point: Vector3, v1: Vector3, v2: Vector3, v3: Vector3, target: Vector3): Vector3 | null; + getInterpolation(point: Vector3, v1: Vector4, v2: Vector4, v3: Vector4, target: Vector4): Vector4 | null; containsPoint(point: Vector3): boolean; intersectsBox(box: Box3): boolean; isFrontFacing(direction: Vector3): boolean; @@ -78,7 +78,7 @@ export class Triangle { v2: Vector2, v3: Vector2, target: Vector2, - ): Vector2; + ): Vector2 | null; static getInterpolation( point: Vector3, p1: Vector3, @@ -88,7 +88,7 @@ export class Triangle { v2: Vector3, v3: Vector3, target: Vector3, - ): Vector3; + ): Vector3 | null; static getInterpolation( point: Vector3, p1: Vector3, @@ -98,6 +98,6 @@ export class Triangle { v2: Vector4, v3: Vector4, target: Vector4, - ): Vector4; + ): Vector4 | null; static isFrontFacing(a: Vector3, b: Vector3, c: Vector3, direction: Vector3): boolean; }