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

GeometryUtils.clone() to geometry.clone()

上级 29f6ccdf
此差异已折叠。
此差异已折叠。
......@@ -753,7 +753,41 @@ THREE.Geometry.prototype = {
clone: function () {
// TODO
var geometry = new THREE.Geometry();
var vertices = this.vertices;
for ( var i = 0, il = vertices.length; i < il; i ++ ) {
geometry.vertices.push( vertices[ i ].clone() );
}
var faces = this.faces;
for ( var i = 0, il = faces.length; i < il; i ++ ) {
geometry.faces.push( faces[ i ].clone() );
}
var uvs = this.faceVertexUvs[ 0 ];
for ( var i = 0, il = uvs.length; i < il; i ++ ) {
var uv = uvs[ i ], uvCopy = [];
for ( var j = 0, jl = uv.length; j < jl; j ++ ) {
uvCopy.push( new THREE.UV( uv[ j ].u, uv[ j ].v ) );
}
geometry.faceVertexUvs[ 0 ].push( uvCopy );
}
return geometry;
},
......
......@@ -85,11 +85,7 @@ THREE.GeometryUtils = {
}
if ( face.materialIndex !== undefined ) {
faceCopy.materialIndex = face.materialIndex;
}
faceCopy.materialIndex = face.materialIndex;
faceCopy.centroid.copy( face.centroid );
if ( matrix ) matrix.multiplyVector3( faceCopy.centroid );
......@@ -116,56 +112,6 @@ THREE.GeometryUtils = {
},
clone: function ( geometry ) {
var cloneGeo = new THREE.Geometry();
var i, il;
var vertices = geometry.vertices,
faces = geometry.faces,
uvs = geometry.faceVertexUvs[ 0 ];
// vertices
for ( i = 0, il = vertices.length; i < il; i ++ ) {
var vertex = vertices[ i ];
cloneGeo.vertices.push( vertex.clone() );
}
// faces
for ( i = 0, il = faces.length; i < il; i ++ ) {
var face = faces[ i ];
cloneGeo.faces.push( face.clone() );
}
// uvs
for ( i = 0, il = uvs.length; i < il; i ++ ) {
var uv = uvs[ i ], uvCopy = [];
for ( var j = 0, jl = uv.length; j < jl; j ++ ) {
uvCopy.push( new THREE.UV( uv[ j ].u, uv[ j ].v ) );
}
cloneGeo.faceVertexUvs[ 0 ].push( uvCopy );
}
return cloneGeo;
},
removeMaterials: function ( geometry, materialIndexArray ) {
var materialIndexMap = {};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册