From f5efb5e469a2aa30bbb041ce343f359b34712c5a Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Thu, 14 Jan 2016 13:52:37 +0000 Subject: [PATCH] BufferGeometryLoader: Use internal object instead of relying on self. See #7787. --- src/loaders/BufferGeometryLoader.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/loaders/BufferGeometryLoader.js b/src/loaders/BufferGeometryLoader.js index b7fa501bf4..acf00b96dc 100644 --- a/src/loaders/BufferGeometryLoader.js +++ b/src/loaders/BufferGeometryLoader.js @@ -31,9 +31,21 @@ THREE.BufferGeometryLoader.prototype = { var index = json.data.index; + var TYPED_ARRAYS = { + 'Int8Array': Int8Array, + 'Uint8Array': Uint8Array, + 'Uint8ClampedArray': Uint8ClampedArray, + 'Int16Array': Int16Array, + 'Uint16Array': Uint16Array, + 'Int32Array': Int32Array, + 'Uint32Array': Uint32Array, + 'Float32Array': Float32Array, + 'Float64Array': Float64Array + }; + if ( index !== undefined ) { - var typedArray = new self[ index.type ]( index.array ); + var typedArray = new TYPED_ARRAYS[ index.type ]( index.array ); geometry.setIndex( new THREE.BufferAttribute( typedArray, 1 ) ); } @@ -43,7 +55,7 @@ THREE.BufferGeometryLoader.prototype = { for ( var key in attributes ) { var attribute = attributes[ key ]; - var typedArray = new self[ attribute.type ]( attribute.array ); + var typedArray = new TYPED_ARRAYS[ attribute.type ]( attribute.array ); geometry.addAttribute( key, new THREE.BufferAttribute( typedArray, attribute.itemSize ) ); -- GitLab