From ed0b2eafe895de62bd5dbe63db14501f28647573 Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Sun, 24 May 2015 18:40:11 +0100 Subject: [PATCH] DirectGeometry: Removed indices. --- src/core/BufferGeometry.js | 21 +++++++++++++-------- src/core/DirectGeometry.js | 21 +-------------------- src/core/Index.js | 11 ----------- utils/build/includes/common.json | 1 - 4 files changed, 14 insertions(+), 40 deletions(-) delete mode 100644 src/core/Index.js diff --git a/src/core/BufferGeometry.js b/src/core/BufferGeometry.js index 91c0152133..04f561d773 100644 --- a/src/core/BufferGeometry.js +++ b/src/core/BufferGeometry.js @@ -228,15 +228,23 @@ THREE.BufferGeometry.prototype = { updateFromObject: function ( object ) { - var geometry; + var geometry = object.geometry; - if ( object instanceof THREE.PointCloud || object instanceof THREE.Line ) { + if ( object instanceof THREE.Mesh ) { - geometry = object.geometry; + var direct = geometry.__directGeometry; - } else if ( object instanceof THREE.Mesh ) { + direct.verticesNeedUpdate = geometry.verticesNeedUpdate; + direct.normalsNeedUpdate = geometry.normalsNeedUpdate; + direct.colorsNeedUpdate = geometry.colorsNeedUpdate; + direct.uvsNeedUpdate = geometry.uvsNeedUpdate; + + geometry.verticesNeedUpdate = false; + geometry.normalsNeedUpdate = false; + geometry.colorsNeedUpdate = false; + geometry.uvsNeedUpdate = false; - geometry = object.geometry.__directGeometry.updateFromGeometry( object.geometry ); + geometry = direct; } @@ -299,9 +307,6 @@ THREE.BufferGeometry.prototype = { fromDirectGeometry: function ( geometry ) { - var indices = new Uint16Array( geometry.indices.length * 3 ); - this.addAttribute( 'index', new THREE.BufferAttribute( indices, 1 ).copyIndicesArray( geometry.indices ) ); - if ( geometry.vertices.length > 0 ) { var positions = new Float32Array( geometry.vertices.length * 3 ); diff --git a/src/core/DirectGeometry.js b/src/core/DirectGeometry.js index 1aeb7db067..df1f7976b7 100644 --- a/src/core/DirectGeometry.js +++ b/src/core/DirectGeometry.js @@ -11,7 +11,6 @@ THREE.DirectGeometry = function () { this.name = ''; this.type = 'DirectGeometry'; - this.indices = []; this.vertices = []; this.colors = []; this.normals = []; @@ -66,9 +65,7 @@ THREE.DirectGeometry.prototype = { var hasFaceVertexUv = faceVertexUvs[ 0 ] && faceVertexUvs[ 0 ].length > 0; var hasFaceVertexUv2 = faceVertexUvs[ 1 ] && faceVertexUvs[ 1 ].length > 0; - for ( var i = 0, i3 = 0; i < faces.length; i ++, i3 += 3 ) { - - this.indices.push( new THREE.Index( i3, i3 + 1, i3 + 2 ) ); + for ( var i = 0; i < faces.length; i ++ ) { var face = faces[ i ]; @@ -160,22 +157,6 @@ THREE.DirectGeometry.prototype = { }, - updateFromGeometry: function ( geometry, material ) { - - this.verticesNeedUpdate = geometry.verticesNeedUpdate; - this.normalsNeedUpdate = geometry.normalsNeedUpdate; - this.colorsNeedUpdate = geometry.colorsNeedUpdate; - this.uvsNeedUpdate = geometry.uvsNeedUpdate; - - geometry.verticesNeedUpdate = false; - geometry.normalsNeedUpdate = false; - geometry.colorsNeedUpdate = false; - geometry.uvsNeedUpdate = false; - - return this; - - }, - dispose: function () { this.dispatchEvent( { type: 'dispose' } ); diff --git a/src/core/Index.js b/src/core/Index.js deleted file mode 100644 index ddc971e695..0000000000 --- a/src/core/Index.js +++ /dev/null @@ -1,11 +0,0 @@ -/** - * @author mrdoob / http://mrdoob.com/ - */ - -THREE.Index = function ( a, b, c ) { - - this.a = a; - this.b = b; - this.c = c; - -}; diff --git a/utils/build/includes/common.json b/utils/build/includes/common.json index 26401a0be2..87a67530c3 100644 --- a/utils/build/includes/common.json +++ b/utils/build/includes/common.json @@ -20,7 +20,6 @@ "src/math/Triangle.js", "src/core/Clock.js", "src/core/EventDispatcher.js", - "src/core/Index.js", "src/core/Raycaster.js", "src/core/Object3D.js", "src/core/Face3.js", -- GitLab