Browse Source

Removed FaceNormalsHelper.

Mr.doob 4 years ago
parent
commit
4f4b54f542

+ 0 - 83
docs/examples/en/helpers/FaceNormalsHelper.html

@@ -1,83 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:Object3D] &rarr; [page:Line] &rarr; [page:LineSegments] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">
-			Renders [page:ArrowHelper arrows] to visualize an object's [page:Face3 face] normals.
-			Requires  that face normals have been specified on all 	[page:Face3 faces] or calculated
-			with [page:Geometry.computeFaceNormals computeFaceNormals]. <br /><br />
-
-			Note that this only works with the objects whose geometry is an instance of [page:Geometry].
-			For [page:BufferGeometry] use a [page:VertexNormalsHelper] instead.
-		<p>
-
-		<h2>Code Example</h2>
-
-		<code>
-		geometry = new THREE.BoxGeometry( 10, 10, 10, 2, 2, 2 );
-		material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
-		box = new THREE.Mesh( geometry, material );
-
-		helper = new FaceNormalsHelper( box, 2, 0x00ff00, 1 );
-
-		scene.add( box );
-		scene.add( helper );
-		</code>
-
-		<h2>Examples</h2>
-
-		<p>[example:webgl_helpers WebGL / helpers]</p>
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]( [param:Object3D object], [param:Number size], [param:Color color], [param:Number linewidth] )</h3>
-		<p>
-		[page:Object3D object] -- object for which to render face normals.<br />
-		[page:Number size] -- (optional) length of the arrows. Default is *1*.<br />
-		[page:Hex color] -- (optional) hex color of the arrows. Default is *0xffff00*.<br />
-		[page:Number linewidth] -- (optional) width of the arrow lines.  Default is *1*.
-		</p>
-
-
-		<h2>Properties</h2>
-		<p>See the base [page:LineSegments] class for common properties.</p>
-
-		<h3>[property:Object matrixAutoUpdate]</h3>
-		<p>
-			See [page:Object3D.matrixAutoUpdate]. Set to *false* here as the helper is using the
-			objects's [page:Object3D.matrixWorld matrixWorld].
-		</p>
-
-		<h3>[property:Object3D object]</h3>
-		<p>The object for which the face normals are being visualized.</p>
-
-		<h3>[property:Number size]</h3>
-		<p>Length of the arrows. Default is *1*.</p>
-
-
-
-		<h2>Methods</h2>
-		<p>See the base [page:LineSegments] class for common methods.</p>
-
-
-		<h3>[method:null update]()</h3>
-		<p>Updates the face normal preview based on movement of the object.</p>
-
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/helpers/FaceNormalsHelper.js examples/jsm/helpers/FaceNormalsHelper.js]
-		</p>
-	</body>
-</html>

+ 0 - 83
docs/examples/zh/helpers/FaceNormalsHelper.html

@@ -1,83 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:Object3D] &rarr; [page:Line] &rarr; [page:LineSegments] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">
-			渲染箭头辅助对象 [page:ArrowHelper arrows] 来模拟面 [page:Face3 face] 的法线.
-			需要所有面 [page:Face3 faces] 都指定了法线 或
-			通过 [page:Geometry.computeFaceNormals computeFaceNormals] 方法计算面的法线. <br /><br />
-
-			注意:仅几何体为 [page:Geometry] 类型的对象能正常运行.
-			对于 [page:BufferGeometry] 类型几何体的对象请使用 [page:VertexNormalsHelper] 代替.
-		<p>
-
-		<h2>代码示例</h2>
-
-		<code>
-		geometry = new THREE.BoxGeometry( 10, 10, 10, 2, 2, 2 );
-		material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
-		box = new THREE.Mesh( geometry, material );
-
-		helper = new FaceNormalsHelper( box, 2, 0x00ff00, 1 );
-
-		scene.add( box );
-		scene.add( helper );
-		</code>
-
-		<h2>例子</h2>
-
-		<div>[example:webgl_helpers WebGL / helpers]</div>
-
-		<h2>构造函数</h2>
-
-
-		<h3>[name]( [param:Object3D object], [param:Number size], [param:Color color], [param:Number linewidth] )</h3>
-		<p>
-		[page:Object3D object] -- 要渲染面法线辅助的对象.<br />
-		[page:Number size] -- (可选的) 箭头的长度. 默认为 *1*.<br />
-		[page:Hex color] -- (可选的) 箭头的颜色. 默认为 *0xffff00*.<br />
-		[page:Number linewidth] -- (可选的) 箭头线段的宽度.  默认为 *1*.
-		</p>
-
-
-		<h2>属性</h2>
-		<p>请到基类 [page:LineSegments] 页面查看公共属性.</p>
-
-		<h3>[property:Object matrixAutoUpdate]</h3>
-		<p>
-			请查看 [page:Object3D.matrixAutoUpdate]. 这里设置为 *false* 表示辅助对象
-			使用对象的世界矩阵 [page:Object3D.matrixWorld matrixWorld].
-		</p>
-
-		<h3>[property:Object3D object]</h3>
-		<p>被渲染面法线辅助的对象.</p>
-
-		<h3>[property:Number size]</h3>
-		<p>箭头的长度. 默认为 *1*.</p>
-
-
-
-		<h2>方法</h2>
-		<p>请到基类 [page:LineSegments] 页面查看公共方法.</p>
-
-
-		<h3>[method:null update]()</h3>
-		<p>基于对象的运动更新面法线辅助对象.</p>
-
-
-		<h2>源码</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/helpers/FaceNormalsHelper.js examples/jsm/helpers/FaceNormalsHelper.js]
-		</p>
-	</body>
-</html>

+ 0 - 2
docs/list.json

@@ -377,7 +377,6 @@
 			},
 			},
 
 
 			"Helpers": {
 			"Helpers": {
-				"FaceNormalsHelper": "examples/en/helpers/FaceNormalsHelper",
 				"LightProbeHelper": "examples/en/helpers/LightProbeHelper",
 				"LightProbeHelper": "examples/en/helpers/LightProbeHelper",
 				"PositionalAudioHelper": "examples/en/helpers/PositionalAudioHelper",
 				"PositionalAudioHelper": "examples/en/helpers/PositionalAudioHelper",
 				"RectAreaLightHelper": "examples/en/helpers/RectAreaLightHelper",
 				"RectAreaLightHelper": "examples/en/helpers/RectAreaLightHelper",
@@ -912,7 +911,6 @@
 			},
 			},
 
 
 			"辅助对象": {
 			"辅助对象": {
-				"FaceNormalsHelper": "examples/zh/helpers/FaceNormalsHelper",
 				"LightProbeHelper": "examples/zh/helpers/LightProbeHelper",
 				"LightProbeHelper": "examples/zh/helpers/LightProbeHelper",
 				"PositionalAudioHelper": "examples/zh/helpers/PositionalAudioHelper",
 				"PositionalAudioHelper": "examples/zh/helpers/PositionalAudioHelper",
 				"RectAreaLightHelper": "examples/zh/helpers/RectAreaLightHelper",
 				"RectAreaLightHelper": "examples/zh/helpers/RectAreaLightHelper",

+ 0 - 27
examples/jsm/helpers/FaceNormalsHelper.d.ts

@@ -1,27 +0,0 @@
-import {
-	Object3D,
-	LineSegments
-} from '../../../src/Three';
-
-/**
- * @deprecated Use {@link EdgesGeometry THREE.EdgesGeometry}
- */
-// export class EdgesHelper extends LineSegments {
-//	 constructor(object: Object3D, hex?: number, thresholdAngle?: number);
-// }
-
-export class FaceNormalsHelper extends LineSegments {
-
-	constructor(
-		object: Object3D,
-		size?: number,
-		hex?: number,
-		linewidth?: number
-	);
-
-	object: Object3D;
-	size: number;
-
-	update( object?: Object3D ): void;
-
-}

+ 0 - 113
examples/jsm/helpers/FaceNormalsHelper.js

@@ -1,113 +0,0 @@
-import {
-	BufferGeometry,
-	Float32BufferAttribute,
-	LineSegments,
-	LineBasicMaterial,
-	Matrix3,
-	Vector3
-} from '../../../build/three.module.js';
-
-var _v1 = new Vector3();
-var _v2 = new Vector3();
-var _normalMatrix = new Matrix3();
-
-function FaceNormalsHelper( object, size, hex, linewidth ) {
-
-	// FaceNormalsHelper only supports THREE.Geometry
-
-	this.object = object;
-
-	this.size = ( size !== undefined ) ? size : 1;
-
-	var color = ( hex !== undefined ) ? hex : 0xffff00;
-
-	var width = ( linewidth !== undefined ) ? linewidth : 1;
-
-	//
-
-	var nNormals = 0;
-
-	var objGeometry = this.object.geometry;
-
-	if ( objGeometry && objGeometry.isGeometry ) {
-
-		nNormals = objGeometry.faces.length;
-
-	} else {
-
-		console.warn( 'THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.' );
-
-	}
-
-	//
-
-	var geometry = new BufferGeometry();
-
-	var positions = new Float32BufferAttribute( nNormals * 2 * 3, 3 );
-
-	geometry.setAttribute( 'position', positions );
-
-	LineSegments.call( this, geometry, new LineBasicMaterial( { color: color, linewidth: width } ) );
-
-	this.type = 'FaceNormalsHelper';
-
-	//
-
-	this.matrixAutoUpdate = false;
-	this.update();
-
-}
-
-FaceNormalsHelper.prototype = Object.create( LineSegments.prototype );
-FaceNormalsHelper.prototype.constructor = FaceNormalsHelper;
-
-FaceNormalsHelper.prototype.update = function () {
-
-	this.object.updateMatrixWorld( true );
-
-	_normalMatrix.getNormalMatrix( this.object.matrixWorld );
-
-	var matrixWorld = this.object.matrixWorld;
-
-	var position = this.geometry.attributes.position;
-
-	//
-
-	var objGeometry = this.object.geometry;
-
-	var vertices = objGeometry.vertices;
-
-	var faces = objGeometry.faces;
-
-	var idx = 0;
-
-	for ( var i = 0, l = faces.length; i < l; i ++ ) {
-
-		var face = faces[ i ];
-
-		var normal = face.normal;
-
-		_v1.copy( vertices[ face.a ] )
-			.add( vertices[ face.b ] )
-			.add( vertices[ face.c ] )
-			.divideScalar( 3 )
-			.applyMatrix4( matrixWorld );
-
-		_v2.copy( normal ).applyMatrix3( _normalMatrix ).normalize().multiplyScalar( this.size ).add( _v1 );
-
-		position.setXYZ( idx, _v1.x, _v1.y, _v1.z );
-
-		idx = idx + 1;
-
-		position.setXYZ( idx, _v2.x, _v2.y, _v2.z );
-
-		idx = idx + 1;
-
-	}
-
-	position.needsUpdate = true;
-
-};
-
-
-export { FaceNormalsHelper };