@@ -4,7 +4,7 @@
THREE.BufferGeometry = function () {
- this.id = THREE.GeometryIdCount ++;
+ this.id = THREE.Math.uuid();
// attributes
@@ -9,7 +9,7 @@
THREE.Geometry = function () {
this.name = '';
this.uuid = '';
@@ -803,5 +803,3 @@ THREE.Geometry.prototype = {
}
};
-
-THREE.GeometryIdCount = 0;
@@ -7,7 +7,7 @@
THREE.Object3D = function () {
- this.id = THREE.Object3DIdCount ++;
@@ -496,6 +496,4 @@ THREE.Object3D.prototype = {
-THREE.Object3D.defaultEulerOrder = 'XYZ',
-THREE.Object3DIdCount = 0;
+THREE.Object3D.defaultEulerOrder = 'XYZ';
@@ -5,7 +5,7 @@
THREE.Material = function () {
- this.id = THREE.MaterialIdCount ++;
@@ -132,5 +132,3 @@ THREE.Material.prototype = {
-THREE.MaterialIdCount = 0;
@@ -4,6 +4,42 @@
THREE.Math = {
+ uuid: function () {
+
+ // http://www.broofa.com/Tools/Math.uuid.htm
+ var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
+ var uuid = new Array(36);
+ var rnd = 0, r;
+ return function () {
+ for ( var i = 0; i < 36; i ++ ) {
+ if ( i == 8 || i == 13 || i == 18 || i == 23 ) {
+ uuid[ i ] = '-';
+ } else if ( i == 14 ) {
+ uuid[ i ] = '4';
+ } else {
+ if (rnd <= 0x02) rnd = 0x2000000 + (Math.random()*0x1000000)|0;
+ r = rnd & 0xf;
+ rnd = rnd >> 4;
+ uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
+ }
+ return uuid.join('');
+ };
+ }(),
// Clamp value to range <a, b>
clamp: function ( x, a, b ) {
@@ -6,7 +6,7 @@
THREE.Texture = function ( image, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) {
- this.id = THREE.TextureIdCount ++;
@@ -88,5 +88,3 @@ THREE.Texture.prototype = {
-THREE.TextureIdCount = 0;