|
@@ -4259,9 +4259,15 @@
|
|
|
|
|
|
},
|
|
|
|
|
|
- fromArray: function ( array ) {
|
|
|
+ fromArray: function ( array, offset ) {
|
|
|
+
|
|
|
+ if ( offset === undefined ) offset = 0;
|
|
|
|
|
|
- this.elements.set( array );
|
|
|
+ for( var i = 0; i < 16; i ++ ) {
|
|
|
+
|
|
|
+ this.elements[ i ] = array[ i + offset ];
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
return this;
|
|
|
|
|
@@ -8622,9 +8628,15 @@
|
|
|
|
|
|
},
|
|
|
|
|
|
- fromArray: function ( array ) {
|
|
|
+ fromArray: function ( array, offset ) {
|
|
|
+
|
|
|
+ if ( offset === undefined ) offset = 0;
|
|
|
+
|
|
|
+ for( var i = 0; i < 9; i ++ ) {
|
|
|
|
|
|
- this.elements.set( array );
|
|
|
+ this.elements[ i ] = array[ i + offset ];
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
return this;
|
|
|
|
|
@@ -11737,7 +11749,9 @@
|
|
|
faces1 = this.faces,
|
|
|
faces2 = geometry.faces,
|
|
|
uvs1 = this.faceVertexUvs[ 0 ],
|
|
|
- uvs2 = geometry.faceVertexUvs[ 0 ];
|
|
|
+ uvs2 = geometry.faceVertexUvs[ 0 ],
|
|
|
+ colors1 = this.colors,
|
|
|
+ colors2 = geometry.colors;
|
|
|
|
|
|
if ( materialIndexOffset === undefined ) materialIndexOffset = 0;
|
|
|
|
|
@@ -11761,6 +11775,14 @@
|
|
|
|
|
|
}
|
|
|
|
|
|
+ // colors
|
|
|
+
|
|
|
+ for ( var i = 0, il = colors2.length; i < il; i ++ ) {
|
|
|
+
|
|
|
+ colors1.push( colors2[ i ].clone() );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
// faces
|
|
|
|
|
|
for ( i = 0, il = faces2.length; i < il; i ++ ) {
|
|
@@ -12213,6 +12235,7 @@
|
|
|
this.vertices = [];
|
|
|
this.faces = [];
|
|
|
this.faceVertexUvs = [ [] ];
|
|
|
+ this.colors = [];
|
|
|
|
|
|
var vertices = source.vertices;
|
|
|
|
|
@@ -12222,6 +12245,14 @@
|
|
|
|
|
|
}
|
|
|
|
|
|
+ var colors = source.colors;
|
|
|
+
|
|
|
+ for ( var i = 0, il = colors.length; i < il; i ++ ) {
|
|
|
+
|
|
|
+ this.colors.push( colors[ i ].clone() );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
var faces = source.faces;
|
|
|
|
|
|
for ( var i = 0, il = faces.length; i < il; i ++ ) {
|
|
@@ -20130,7 +20161,7 @@
|
|
|
//
|
|
|
|
|
|
var dataStart = 0;
|
|
|
- var dataCount = Infinity;
|
|
|
+ var dataCount = 0;
|
|
|
|
|
|
if ( index !== null ) {
|
|
|
|
|
@@ -20153,6 +20184,8 @@
|
|
|
|
|
|
var drawCount = Math.max( 0, drawEnd - drawStart + 1 );
|
|
|
|
|
|
+ if ( drawCount === 0 ) return;
|
|
|
+
|
|
|
//
|
|
|
|
|
|
if ( object.isMesh ) {
|
|
@@ -26827,9 +26860,6 @@
|
|
|
|
|
|
}
|
|
|
|
|
|
- // maybe only do these on demand, as doing them here could potentially slow down loading
|
|
|
- // but leaving these here during development as this ensures a lot of testing of these functions
|
|
|
- this.trim();
|
|
|
this.optimize();
|
|
|
|
|
|
}
|