var BotArmL = function () {

	var scope = this;

	THREE.Geometry.call(this);

	v( 92.491638, 127.223816, -37.000000 );
	v( 92.491638, 21.679474, -37.000000 );
	v( 138.491638, 127.223816, -37.000000 );
	v( 138.491638, 21.679474, -37.000000 );
	v( 138.491638, 127.223816, 37.000000 );
	v( 138.491638, 21.679474, 37.000000 );
	v( 92.491638, 127.223816, 37.000000 );
	v( 92.491638, 21.679474, 37.000000 );
	v( 92.491638, 192.692810, -37.000000 );
	v( 138.491638, 192.692810, -37.000000 );
	v( 138.491638, 192.692810, 37.000000 );
	v( 92.491638, 192.692810, 37.000000 );
	v( 138.491638, 192.692810, 26.723249 );
	v( 138.491638, 127.223816, 26.723249 );
	v( 150.491623, 204.761200, -26.723249 );
	v( 138.491638, 192.692810, -26.723249 );
	v( 111.229446, 192.692810, 26.723249 );
	v( 111.229446, 192.692810, -26.723249 );
	v( 150.491623, 36.327454, -26.825705 );
	v( 138.491638, 127.223816, -26.723249 );
	v( 150.491623, 204.761200, 26.723249 );
	v( 111.229446, 204.761200, 26.723249 );
	v( 150.491623, 36.327454, 26.825705 );
	v( 138.491638, 36.327454, -26.825705 );
	v( 138.491638, 36.327454, 26.825705 );
	v( 111.229446, 204.761200, -26.723249 );
	v( 92.441467, 21.679474, -26.500002 );
	v( 123.675186, 21.679474, -26.500002 );
	v( 123.675186, 21.679474, 26.500002 );
	v( 92.441467, 21.679474, 26.500002 );
	v( 92.441467, -36.918777, -26.500002 );
	v( 123.675186, -6.918777, -26.500002 );
	v( 123.675186, -6.918777, 26.500002 );
	v( 92.441467, -36.918777, 26.500002 );

	f4( 2, 3, 1, 0, 0.000000, 0.000000, 1.000000 );
	uv( 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000);
	f4( 11, 6, 11, 6, 0.000000, 0.000000, 1.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 0.000000, 1.000000, 1.000000, 1.000000);
	f4( 6, 7, 5, 4, 0.000000, 0.000000, 1.000000 );
	uv( 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000);
	f4( 0, 1, 7, 6, 0.000000, 0.000000, 1.000000 );
	uv( 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000);
	f4( 31, 32, 33, 30, 0.000000, 0.000000, 0.000000 );
	uv( 0.834036, 0.834036, 0.834036, 0.165964, 0.165964, 0.165964, 0.165964, 0.834036);
	f4( 2, 19, 23, 3, 0.000000, 0.000000, 0.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
	f4( 4, 10, 11, 6, 0.000000, 0.000000, 0.000000 );
	uv( 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 1.000000);
	f4( 12, 10, 4, 13, 0.000000, 0.000000, 0.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
	f4( 0, 8, 9, 2, 0.000000, 0.000000, -1.000000 );
	uv( 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 1.000000, 0.000000);
	f4( 6, 11, 8, 0, 0.000000, 0.000000, -1.000000 );
	uv( 0.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000);
	f4( 9, 15, 19, 2, 0.000000, 0.000000, -1.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
	f4( 13, 4, 5, 24, 0.000000, 0.000000, -1.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
	f4( 25, 21, 20, 14, 1.000000, 0.000000, 0.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
	f4( 17, 8, 11, 16, 1.000000, 0.000000, 0.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
	f4( 21, 16, 12, 20, 1.000000, 0.000000, 0.000000 );
	uv( 0.000000, 0.000000, 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000);
	f4( 8, 17, 15, 9, 1.000000, 0.000000, 0.000000 );
	uv( 0.000000, 0.000000, 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000);
	f4( 14, 20, 22, 18, -0.919978, -0.391970, 0.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
	f4( 23, 18, 22, 24, -0.919978, -0.391970, 0.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
	f4( 16, 21, 25, 17, -0.692720, -0.721207, 0.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
	f4( 12, 24, 22, 20, -0.692720, -0.721207, 0.000000 );
	uv( 0.000000, 0.000000, 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000);
	f4( 12, 16, 11, 10, -1.000000, 0.000000, 0.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
	f4( 23, 24, 5, 3, -1.000000, 0.000000, 0.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
	f4( 14, 15, 17, 25, -1.000000, 0.000000, 0.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
	f4( 15, 14, 18, 23, -1.000000, 0.000000, 0.000000 );
	uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
	f4( 3, 27, 26, 1, 0.000000, 0.000000, -1.000000 );
	uv( 1.000000, 1.000000, 0.834036, 0.834036, 0.165964, 0.834036, 0.000000, 1.000000);
	f4( 5, 28, 27, 3, 0.000000, 0.000000, -1.000000 );
	uv( 1.000000, 0.000000, 0.834036, 0.165964, 0.834036, 0.834036, 1.000000, 1.000000);
	f4( 7, 29, 28, 5, 0.000000, 0.000000, -1.000000 );
	uv( 0.000000, 0.000000, 0.165964, 0.165964, 0.834036, 0.165964, 1.000000, 0.000000);
	f4( 1, 26, 29, 7, 0.000000, 0.000000, -1.000000 );
	uv( 0.000000, 1.000000, 0.165964, 0.834036, 0.165964, 0.165964, 0.000000, 0.000000);
	f4( 27, 31, 30, 26, -1.000000, 0.000000, 0.000000 );
	uv( 0.834036, 0.834036, 0.834036, 0.834036, 0.165964, 0.834036, 0.165964, 0.834036);
	f4( 28, 32, 31, 27, -1.000000, 0.000000, 0.000000 );
	uv( 0.834036, 0.165964, 0.834036, 0.165964, 0.834036, 0.834036, 0.834036, 0.834036);
	f4( 29, 33, 32, 28, -1.000000, 0.000000, 0.000000 );
	uv( 0.165964, 0.165964, 0.165964, 0.165964, 0.834036, 0.165964, 0.834036, 0.165964);
	f4( 26, 30, 33, 29, -1.000000, 0.000000, 0.000000 );
	uv( 0.165964, 0.834036, 0.165964, 0.834036, 0.165964, 0.165964, 0.165964, 0.165964);

	this.computeCentroids();
	this.computeNormals(true);

	scope.colors = {};
	scope.selections = {};
	scope.selections["c1"] = [1, 12, 14, 16, 17, 18, 19, 22, 23, 27];
	scope.selections["c2"] = [0, 2, 3, 4, 5, 11, 21, 24, 25, 26, 28, 29, 30, 31];
	scope.selections["c3"] = [6, 7, 8, 9, 10, 13, 15, 20];
	scope.colors["c2"] = 0x028fd4;
	scope.colors["c3"] = 0xe0dc0a;
	scope.colors["c1"] = 0x000000;

	scope.autoColor = function(){
		for(var s in this.selections){
			for(var i = 0 ; i < this.selections[s].length; i++) this.faces[this.selections[s][i]].material = [new THREE.MeshBasicMaterial({color:this.colors[s]})];
		}
	}

	scope.getPosition = function(){	return new THREE.Vector3(0.00138092041015625, -167.945556640625, 33.943828582763672);	}

	scope.getRotation = function(){	return new THREE.Vector3(0.0, 0.0, 0.0);	}

	scope.getScale = function(){	return new THREE.Vector3(0.5, 0.5, 0.5);	}

	function v( x, y, z ) {

		scope.vertices.push( new THREE.Vertex( new THREE.Vector3( x, y, z ) ) );

	}

	function f3( a, b, c, nx, ny, nz ) {

		scope.faces.push( new THREE.Face3( a, b, c, nx && ny && nz ? new THREE.Vector3( nx, ny, nz ) : null ) );

	}

	function f4( a, b, c, d, nx, ny, nz ) {

		scope.faces.push( new THREE.Face4( a, b, c, d, nx && ny && nz ? new THREE.Vector3( nx, ny, nz ) : null ) );

	}

	function uv( u1, v1, u2, v2, u3, v3, u4, v4 ) {

		var uv = [];
		uv.push( new THREE.UV( u1, v1 ) );
		uv.push( new THREE.UV( u2, v2 ) );
		uv.push( new THREE.UV( u3, v3 ) );
		if ( u4 && v4 ) uv.push( new THREE.UV( u4, v4 ) );
		scope.uvs.push( uv );
	}

}

BotArmL.prototype = new THREE.Geometry();
BotArmL.prototype.constructor = BotArmL;