Переглянути джерело

Merge pull request #21161 from Mugen87/dev51

Mesh: Remove dependency to Face3.
Mr.doob 4 роки тому
батько
коміт
e34161d6e0
2 змінених файлів з 17 додано та 4 видалено
  1. 9 2
      src/core/Raycaster.d.ts
  2. 8 2
      src/objects/Mesh.js

+ 9 - 2
src/core/Raycaster.d.ts

@@ -1,17 +1,24 @@
 import { Vector3 } from './../math/Vector3';
-import { Face3 } from './Face3';
 import { Object3D } from './Object3D';
 import { Vector2 } from './../math/Vector2';
 import { Ray } from './../math/Ray';
 import { Camera } from './../cameras/Camera';
 import { Layers } from './Layers';
 
+export interface Face {
+	a: number;
+	b: number;
+	c: number;
+	normal: Vector3;
+	materialIndex: number;
+}
+
 export interface Intersection {
 	distance: number;
 	distanceToRay?: number;
 	point: Vector3;
 	index?: number;
-	face?: Face3 | null;
+	face?: Face | null;
 	faceIndex?: number;
 	object: Object3D;
 	uv?: Vector2;

+ 8 - 2
src/objects/Mesh.js

@@ -5,7 +5,6 @@ import { Ray } from '../math/Ray.js';
 import { Matrix4 } from '../math/Matrix4.js';
 import { Object3D } from '../core/Object3D.js';
 import { Triangle } from '../math/Triangle.js';
-import { Face3 } from '../core/Face3.js';
 import { DoubleSide, BackSide } from '../constants.js';
 import { MeshBasicMaterial } from '../materials/MeshBasicMaterial.js';
 import { BufferGeometry } from '../core/BufferGeometry.js';
@@ -401,7 +400,14 @@ function checkBufferGeometryIntersection( object, material, raycaster, ray, posi
 
 		}
 
-		const face = new Face3( a, b, c );
+		const face = {
+			a: a,
+			b: a,
+			c: c,
+			normal: new Vector3(),
+			materialIndex: 0
+		};
+
 		Triangle.getNormal( _vA, _vB, _vC, face.normal );
 
 		intersection.face = face;