浏览代码

ConvexGeometry: Added docs

Mugen87 8 年之前
父节点
当前提交
58099074b2

+ 56 - 0
docs/api/geometries/ConvexBufferGeometry.html

@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">[name] can be used to generate a convex hull for a given array of 3D points.
+			The average time complexity for this task is considered to be O(nlog(n)).</div>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#ConvexGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			var scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>Example</h2>
+
+		<code>var geometry = new THREE.ConvexBufferGeometry( points );
+		var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
+		var mesh = new THREE.Mesh( geometry, material );
+		scene.add( mesh );
+		</code>
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( [page:Array points] )</h3>
+		<div>
+		points — Array of [page:Vector3 Vector3s] that the resulting convex hull will contain.
+		</div>
+
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 56 - 0
docs/api/geometries/ConvexGeometry.html

@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Geometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">[name] can be used to generate a convex hull for a given array of 3D points.
+			The average time complexity for this task is considered to be O(nlog(n)).</div>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#ConvexGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			var scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>Example</h2>
+
+		<code>var geometry = new THREE.ConvexGeometry( points );
+		var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
+		var mesh = new THREE.Mesh( geometry, material );
+		scene.add( mesh );
+		</code>
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( [page:Array points] )</h3>
+		<div>
+		points — Array of [page:Vector3 Vector3s] that the resulting convex hull will contain.
+		</div>
+
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 2 - 0
docs/list.js

@@ -139,6 +139,8 @@ var list = {
 			[ "CircleGeometry", "api/geometries/CircleGeometry" ],
 			[ "ConeBufferGeometry", "api/geometries/ConeBufferGeometry" ],
 			[ "ConeGeometry", "api/geometries/ConeGeometry" ],
+			[ "ConvexBufferGeometry", "api/geometries/ConvexBufferGeometry" ],
+			[ "ConvexGeometry", "api/geometries/ConvexGeometry" ],
 			[ "CylinderBufferGeometry", "api/geometries/CylinderBufferGeometry" ],
 			[ "CylinderGeometry", "api/geometries/CylinderGeometry" ],
 			[ "DodecahedronBufferGeometry", "api/geometries/DodecahedronBufferGeometry" ],

+ 1 - 1
docs/scenes/geometry-browser.html

@@ -34,7 +34,7 @@
 
 		<a id='newWindow' href='./geometry-browser.html' target='_blank'>Open in New Window</a>
 
-		<script src="../../build/three.min.js"></script>
+		<script src="../../build/three.js"></script>
 		<script src='../../examples/js/libs/dat.gui.min.js'></script>
 		<script src="../../examples/js/controls/OrbitControls.js"></script>
 		<script src="../../examples/js/ParametricGeometries.js"></script>

+ 68 - 0
docs/scenes/js/geometry.js

@@ -1300,6 +1300,74 @@ var guis = {
 
 		generateGeometry();
 
+	},
+
+	ConvexGeometry: function( mesh ) {
+
+		var data = {
+			randomPoints: 1000
+		 };
+
+		function generateGeometry() {
+
+			var vertices = [];
+
+			for ( var i = 0; i < data.randomPoints; i ++ ) {
+
+				var vertex = new THREE.Vector3();
+				vertex.x = THREE.Math.randFloat( -10, 10 );
+				vertex.y = THREE.Math.randFloat( -10, 10 );
+				vertex.z = THREE.Math.randFloat( -10, 10 );
+				vertices.push( vertex );
+
+			}
+
+			updateGroupGeometry( mesh,
+				new THREE.ConvexGeometry( vertices )
+			);
+
+		}
+
+		var folder = gui.addFolder( 'THREE.ConvexGeometry' );
+
+		folder.add( data, 'randomPoints', 4, 10000 ).step( 100 ).onChange( generateGeometry );
+
+		generateGeometry();
+
+	},
+
+	ConvexBufferGeometry: function( mesh ) {
+
+		var data = {
+			randomPoints: 1000
+		 };
+
+		function generateGeometry() {
+
+			var vertices = [];
+
+			for ( var i = 0; i < data.randomPoints; i ++ ) {
+
+				var vertex = new THREE.Vector3();
+				vertex.x = THREE.Math.randFloat( -10, 10 );
+				vertex.y = THREE.Math.randFloat( -10, 10 );
+				vertex.z = THREE.Math.randFloat( -10, 10 );
+				vertices.push( vertex );
+
+			}
+
+			updateGroupGeometry( mesh,
+				new THREE.ConvexBufferGeometry( vertices )
+			);
+
+		}
+
+		var folder = gui.addFolder( 'THREE.ConvexBufferGeometry' );
+
+		folder.add( data, 'randomPoints', 4, 10000 ).step( 100 ).onChange( generateGeometry );
+
+		generateGeometry();
+
 	}
 
 };

+ 1 - 1
src/geometries/ConvexGeometry.js

@@ -41,7 +41,7 @@ function ConvexBufferGeometry( points ) {
 
   var faces = quickHull.faces;
 
-  for ( let i = 0; i < faces.length; i ++ ) {
+  for ( var i = 0; i < faces.length; i ++ ) {
 
     var face = faces[ i ];
     var edge = face.edge;