/**
 * @author jbaicoianu / http://baicoianu.com/
 */

THREE.ProxyFace3 = function ( array, offset, vertexNormals, vertexColors, vertexTangents ) {

	this.array = array;
	this.offset = offset;
	this.vertexNormals = vertexNormals || [];
	this.vertexColors = vertexColors || [];
	this.vertexTangents = vertexTangents || [];

	this.normal = new THREE.MultiVector3( this.vertexNormals );
	this.color = new THREE.MultiColor( this.vertexColors );

	//THREE.Face3.call( this, array[offset], array[offset+1], array[offset+2] /*, normal, color, materialIndex */);

}

THREE.ProxyFace3.prototype = Object.create( THREE.Face3.prototype );
THREE.ProxyFace3.prototype.constructor = THREE.ProxyFace3;

Object.defineProperties( THREE.ProxyFace3.prototype, {
	'a': {
		enumerable: true,	
		get: function () { return this.array[ this.offset ]; },
		set: function ( v ) { this.array[ this.offset ] = v; }
	},
	'b': {
		enumerable: true,	
		get: function () { return this.array[ this.offset + 1 ]; },
		set: function ( v ) { this.array[ this.offset + 1 ] = v; }
	},
	'c': {
		enumerable: true,	
		get: function () { return this.array[ this.offset + 2 ]; },
		set: function ( v ) { this.array[ this.offset + 2 ] = v; }
	},
} );

