提交 28e91c46 编写于 作者: A Alexander Rose

Faster checkEdge function

This one uses a double hash, though the second hash is just a list that is linearly scanned as it is expected to be very small (there are not many edges per vertex).
上级 df6c2f95
......@@ -191,13 +191,29 @@ THREE.WebGLObjects = function ( gl, properties, info ) {
function checkEdge( edges, a, b ) {
var hash = a < b ? a + '_' + b : b + '_' + a;
if ( a > b ){
if ( edges.hasOwnProperty( hash ) ) return false;
var tmp = a;
a = b;
b = tmp;
edges[ hash ] = 1;
}
var list = edges[ a ];
if( list === undefined ){
edges[ a ] = [ b ];
return true;
}else if( list.indexOf( b ) === -1 ){
list.push( b );
return true;
}
return true;
return false;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册