function Triangle(v1, v2, v3, a, b, c) {
	    this.a = a;
	    this.b = b;
	    this.c = c;
	
	    this.v1 = v1;
	    this.v2 = v2;
	    this.v3 = v3;
	
	    this.normal = new _three2['default'].Vector3();
	
	    this.computeNormal();
	
	    v1.faces.push(this);
	    v1.addUniqueNeighbor(v2);
	    v1.addUniqueNeighbor(v3);
	
	    v2.faces.push(this);
	    v2.addUniqueNeighbor(v1);
	    v2.addUniqueNeighbor(v3);
	
	    v3.faces.push(this);
	    v3.addUniqueNeighbor(v1);
	    v3.addUniqueNeighbor(v2);
	  }
// we use a triangle class to represent structure of face slightly differently
we use a triangle class to represent structure of face slightly differently
we use a triangle class to represent structure of face slightly differently
function Triangle(v1, v2, v3, a, b, c) {
	    this.a = a;
	    this.b = b;
	    this.c = c;
	    this.v1 = v1;
	    this.v2 = v2;
	    this.v3 = v3;
	    this.normal = new _three2['default'].Vector3();
	    this.computeNormal();
	    v1.faces.push(this);
	    v1.addUniqueNeighbor(v2);
	    v1.addUniqueNeighbor(v3);
	    v2.faces.push(this);
	    v2.addUniqueNeighbor(v1);
	    v2.addUniqueNeighbor(v3);
	    v3.faces.push(this);
	    v3.addUniqueNeighbor(v1);
	    v3.addUniqueNeighbor(v2);
	  }
function Triangle ( v1 , v2 , v3 , a , b , c ) { this . a = a ; this . b = b ; this . c = c ; this . v1 = v1 ; this . v2 = v2 ; this . v3 = v3 ; this . normal = new _three2 [ 'default' ] . Vector3 ( ) ; this . computeNormal ( ) ; v1 . faces . push ( this ) ; v1 . addUniqueNeighbor ( v2 ) ; v1 . addUniqueNeighbor ( v3 ) ; v2 . faces . push ( this ) ; v2 . addUniqueNeighbor ( v1 ) ; v2 . addUniqueNeighbor ( v3 ) ; v3 . faces . push ( this ) ; v3 . addUniqueNeighbor ( v1 ) ; v3 . addUniqueNeighbor ( v2 ) ; }
we use a triangle class to represent structure of face slightly differently
we use a triangle class to represent structure of face slightly differently