Skip to content

Commit

Permalink
WireframeHelper code clean up.
Browse files Browse the repository at this point in the history
  • Loading branch information
mrdoob committed Dec 11, 2013
1 parent 63db3f2 commit 600c283
Showing 1 changed file with 27 additions and 25 deletions.
52 changes: 27 additions & 25 deletions src/extras/helpers/WireframeHelper.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,32 @@

THREE.WireframeHelper = function ( object ) {

var edge = [ 0, 0 ], hash = {}, key;
var edge = [ 0, 0 ], hash = {};
var sortFunction = function ( a, b ) { return a - b };

var keys = [ 'a', 'b', 'c', 'd' ];
var geometry = new THREE.BufferGeometry();
var numEdges = 0;
var vertices, edges, faces, coords;
var i, j, index;

if ( object.geometry instanceof THREE.Geometry ) {

vertices = object.geometry.vertices;
faces = object.geometry.faces;
var vertices = object.geometry.vertices;
var faces = object.geometry.faces;

// allocate maximal size
edges = new Uint32Array(6 * faces.length);
var edges = new Uint32Array(6 * faces.length);

for ( i = 0, l = faces.length; i < l; i ++ ) {
for ( var i = 0, l = faces.length; i < l; i ++ ) {

var face = faces[ i ];

for ( j = 0; j < 3; j ++ ) {
for ( var j = 0; j < 3; j ++ ) {

edge[ 0 ] = face[ keys[ j ] ];
edge[ 1 ] = face[ keys[ ( j + 1 ) % 3 ] ];
edge.sort( sortFunction );

key = edge.toString();
var key = edge.toString();

if ( hash[ key ] === undefined ) {

Expand All @@ -47,15 +45,15 @@ THREE.WireframeHelper = function ( object ) {
}

geometry.addAttribute( 'position', Float32Array, 2 * numEdges , 3 );
coords = geometry.attributes.position.array;
var coords = geometry.attributes.position.array;

for ( i = 0, l = numEdges; i < l; i ++ ) {
for ( var i = 0, l = numEdges; i < l; i ++ ) {

for ( j = 0; j < 2; j ++ ) {
for ( var j = 0; j < 2; j ++ ) {

var vertex = vertices[ edges [ 2 * i + j] ];

index = 6 * i + 3 * j;
var index = 6 * i + 3 * j;
coords[ index + 0 ] = vertex.x;
coords[ index + 1 ] = vertex.y;
coords[ index + 2 ] = vertex.z;
Expand All @@ -65,21 +63,24 @@ THREE.WireframeHelper = function ( object ) {
}

} else {
vertices = object.geometry.attributes.position.array;
faces = object.geometry.attributes.index.array;

var vertices = object.geometry.attributes.position.array;
var faces = object.geometry.attributes.index.array;

// allocate maximal size
edges = new Uint32Array(2 * faces.length);
var edges = new Uint32Array(2 * faces.length);

for ( var i = 0, l = faces.length / 3; i < l; i ++ ) {

for ( i = 0, l = faces.length / 3; i < l; i ++ ) {
for ( var j = 0; j < 3; j ++ ) {

var index = i * 3;

for ( j = 0; j < 3; j ++ ) {
index = i * 3;
edge[ 0 ] = faces[ index + j ];
edge[ 1 ] = faces[ index + (j + 1) % 3 ];
edge[ 1 ] = faces[ index + ( j + 1 ) % 3 ];
edge.sort( sortFunction );

key = edge.toString();
var key = edge.toString();

if ( hash[ key ] === undefined ) {

Expand All @@ -95,13 +96,14 @@ THREE.WireframeHelper = function ( object ) {
}

geometry.addAttribute( 'position', Float32Array, 2 * numEdges , 3 );
coords = geometry.attributes.position.array;

for ( i = 0, l = numEdges; i < l; i ++ ) {
var coords = geometry.attributes.position.array;

for ( var i = 0, l = numEdges; i < l; i ++ ) {

for ( j = 0; j < 2; j ++ ) {
for ( var j = 0; j < 2; j ++ ) {

index = 6 * i + 3 * j;
var index = 6 * i + 3 * j;
var index2 = 3 * edges[ 2 * i + j];
coords[ index + 0 ] = vertices[ index2 ];
coords[ index + 1 ] = vertices[ index2 + 1 ];
Expand Down

0 comments on commit 600c283

Please sign in to comment.