|
@@ -1007,7 +1007,7 @@ ThreeMFLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- function buildVertexColorMesh( colorgroup, triangleProperties, modelData, meshData ) {
|
|
|
|
|
|
+ function buildVertexColorMesh( colorgroup, triangleProperties, modelData, meshData, objectData ) {
|
|
|
|
|
|
// geometry
|
|
// geometry
|
|
|
|
|
|
@@ -1041,21 +1041,21 @@ ThreeMFLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
|
|
|
|
|
|
//
|
|
//
|
|
|
|
|
|
- var p1 = triangleProperty.p1;
|
|
|
|
- var p2 = triangleProperty.p2;
|
|
|
|
- var p3 = triangleProperty.p3;
|
|
|
|
|
|
+ var p1 = ( triangleProperty.p1 !== undefined ) ? triangleProperty.p1 : objectData.pindex;
|
|
|
|
+ var p2 = ( triangleProperty.p2 !== undefined ) ? triangleProperty.p2 : p1;
|
|
|
|
+ var p3 = ( triangleProperty.p3 !== undefined ) ? triangleProperty.p3 : p1;
|
|
|
|
|
|
colorData.push( colors[ ( p1 * 3 ) + 0 ] );
|
|
colorData.push( colors[ ( p1 * 3 ) + 0 ] );
|
|
colorData.push( colors[ ( p1 * 3 ) + 1 ] );
|
|
colorData.push( colors[ ( p1 * 3 ) + 1 ] );
|
|
colorData.push( colors[ ( p1 * 3 ) + 2 ] );
|
|
colorData.push( colors[ ( p1 * 3 ) + 2 ] );
|
|
|
|
|
|
- colorData.push( colors[ ( ( p2 || p1 ) * 3 ) + 0 ] );
|
|
|
|
- colorData.push( colors[ ( ( p2 || p1 ) * 3 ) + 1 ] );
|
|
|
|
- colorData.push( colors[ ( ( p2 || p1 ) * 3 ) + 2 ] );
|
|
|
|
|
|
+ colorData.push( colors[ ( p2 * 3 ) + 0 ] );
|
|
|
|
+ colorData.push( colors[ ( p2 * 3 ) + 1 ] );
|
|
|
|
+ colorData.push( colors[ ( p2 * 3 ) + 2 ] );
|
|
|
|
|
|
- colorData.push( colors[ ( ( p3 || p1 ) * 3 ) + 0 ] );
|
|
|
|
- colorData.push( colors[ ( ( p3 || p1 ) * 3 ) + 1 ] );
|
|
|
|
- colorData.push( colors[ ( ( p3 || p1 ) * 3 ) + 2 ] );
|
|
|
|
|
|
+ colorData.push( colors[ ( p3 * 3 ) + 0 ] );
|
|
|
|
+ colorData.push( colors[ ( p3 * 3 ) + 1 ] );
|
|
|
|
+ colorData.push( colors[ ( p3 * 3 ) + 2 ] );
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1120,7 +1120,7 @@ ThreeMFLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
|
|
|
|
|
|
case 'vertexColors':
|
|
case 'vertexColors':
|
|
var colorgroup = modelData.resources.colorgroup[ resourceId ];
|
|
var colorgroup = modelData.resources.colorgroup[ resourceId ];
|
|
- meshes.push( buildVertexColorMesh( colorgroup, triangleProperties, modelData, meshData ) );
|
|
|
|
|
|
+ meshes.push( buildVertexColorMesh( colorgroup, triangleProperties, modelData, meshData, objectData ) );
|
|
break;
|
|
break;
|
|
|
|
|
|
case 'default':
|
|
case 'default':
|