提交 d1a18e9b 编写于 作者: M Mr.doob

Geometry.merge(): Check that geometry is instance of THREE.Geometry.

上级 7368682b
......@@ -151,7 +151,8 @@
this.traverse(function ( child ) {
if (child instanceof THREE.Mesh) {
var tempGeometry = new THREE.Geometry();
// THREE.GeometryUtils.merge( tempGeometry, child );
tempGeometry.merge( child );
child.geometry = tempGeometry;
child.position.set( 0, 0, 0 );
child.rotation.set( 0, 0, 0 );
......@@ -215,7 +216,9 @@
var arrowGeometry = new THREE.Geometry();
var mesh = new THREE.Mesh( new THREE.CylinderGeometry( 0, 0.05, 0.2, 12, 1, false ) );
mesh.position.y = 0.5;
// THREE.GeometryUtils.merge( arrowGeometry, mesh );
mesh.updateMatrix();
arrowGeometry.merge( mesh.geometry, mesh.matrix );
var lineXGeometry = new THREE.Geometry();
lineXGeometry.vertices.push( new THREE.Vector3( 0, 0, 0 ), new THREE.Vector3( 1, 0, 0 ) );
......@@ -449,7 +452,9 @@
var arrowGeometry = new THREE.Geometry();
var mesh = new THREE.Mesh( new THREE.BoxGeometry( 0.125, 0.125, 0.125 ) );
mesh.position.y = 0.5;
// THREE.GeometryUtils.merge( arrowGeometry, mesh );
mesh.updateMatrix();
arrowGeometry.merge( mesh.geometry, mesh.matrix );
var lineXGeometry = new THREE.Geometry();
lineXGeometry.vertices.push( new THREE.Vector3( 0, 0, 0 ), new THREE.Vector3( 1, 0, 0 ) );
......
......@@ -455,6 +455,13 @@ THREE.Geometry.prototype = {
merge: function ( geometry, matrix, materialIndexOffset ) {
if ( geometry instanceof THREE.Geometry === false ) {
console.error( 'THREE.Geometry.merge():', 'geometry supplied is not an instance of THREE.Geometry' );
return;
}
var normalMatrix,
vertexOffset = this.vertices.length,
uvPosition = this.faceVertexUvs[ 0 ].length,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册