lib/toxi/geom/mesh/meshCommon.js
function(a,b,c,n,uvA,uvB,uvC){
				//can be 3 args, 4 args, 6 args, or 7 args
				//if it was 6 swap vars around,
				if( arguments.length == 6 ){
					uvC = uvB;
					uvB = uvA;
					uvA = n;
					n = undefined;
				}
				//7 param method
				var va = this.__checkVertex(a);
				var vb = this.__checkVertex(b);
				var vc = this.__checkVertex(c);

				if(va.id === vb.id || va.id === vc.id || vb.id === vc.id){
					//console.log("ignoring invalid face: "+a + ", " +b+ ", "+c);
				} else {
					if(n != null ){
						var nc = va.sub(vc).crossSelf(va.sub(vb));
						if(n.dot(nc)<0){
							var t = va;
							va = vb;
							vb = t;
						}
					}
					var f = new Face(va,vb,vc,uvA,uvB,uvC);
					this.faces.push(f);
				}
				return this;
			}
function(a,b,c,n,uvA,uvB,uvC){
				//can be 3 args, 4 args, 6 args, or 7 args
				//if it was 6 swap vars around,
				if( arguments.length == 6 ){
					uvC = uvB;
					uvB = uvA;
					uvA = n;
					n = undefined;
				}
				//7 param method
				var va = this.__checkVertex(a);
				var vb = this.__checkVertex(b);
				var vc = this.__checkVertex(c);

				if(va.id === vb.id || va.id === vc.id || vb.id === vc.id){
					//console.log("ignoring invalid face: "+a + ", " +b+ ", "+c);
				} else {
					if(n != null ){
						var nc = va.sub(vc).crossSelf(va.sub(vb));
						if(n.dot(nc)<0){
							var t = va;
							va = vb;
							vb = t;
						}
					}
					var f = new Face(va,vb,vc,uvA,uvB,uvC);
					this.faces.push(f);
				}
				return this;
			}
function ( a , b , c , n , uvA , uvB , uvC ) { //can be 3 args, 4 args, 6 args, or 7 args //if it was 6 swap vars around, if ( arguments . length == 6 ) { uvC = uvB ; uvB = uvA ; uvA = n ; n = undefined ; } //7 param method var va = this . __checkVertex ( a ) ; var vb = this . __checkVertex ( b ) ; var vc = this . __checkVertex ( c ) ; if ( va . id === vb . id || va . id === vc . id || vb . id === vc . id ) { //console.log("ignoring invalid face: "+a + ", " +b+ ", "+c); } else { if ( n != null ) { var nc = va . sub ( vc ) . crossSelf ( va . sub ( vb ) ) ; if ( n . dot ( nc ) < 0 ) { var t = va ; va = vb ; vb = t ; } } var f = new Face ( va , vb , vc , uvA , uvB , uvC ) ; this . faces . push ( f ) ; } return this ; }
add a Face to the mesh
@param {Vec3D} a
@param {Vec3D} b
@param {Vec3D} c
@param {Vec3D} [n] the normal
@param {Vec2D} [uvA]
@param {Vec2D} [uvB]
@param {Vec2D} [uvC]
@returns itself
add a Face to the mesh