Skip to content

Commit

Permalink
js adding
Browse files Browse the repository at this point in the history
  • Loading branch information
macouno committed Nov 4, 2011
1 parent f133837 commit b1ef3c3
Showing 1 changed file with 145 additions and 0 deletions.
145 changes: 145 additions & 0 deletions blend/mynewpart.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
var mynewpart = function(pick){

var scope = this;

scope.scale = 10;

scope.settings = new Array();

THREE.Geometry.call(this);

// Let's create a fresh list of parts
scope.parts = new Array();
scope.connectors = new Array();

// Let's start a fresh new part
part = new Object();
part.name = 'head';
part.id = 0;
part.vertices = [[7.8,6.0,-1.0],[7.8,-6.0,-1.0],[-7.8,-6.0,-1.0],[-7.8,6.0,-1.0],[7.8,6.0,11.0],[7.8,-6.0,11.0],[-7.8,-6.0,11.0],[-7.8,6.0,11.0],[4.68,-6.0,-1.0],[1.56,-6.0,-1.0],[-1.56,-6.0,-1.0],[-4.68,-6.0,-1.0],[4.68,6.0,-1.0],[1.56,6.0,-1.0],[-1.56,6.0,-1.0],[-4.68,6.0,-1.0],[4.68,-6.0,11.0],[1.56,-6.0,11.0],[-1.56,-6.0,11.0],[-4.68,-6.0,11.0],[4.68,6.0,11.0],[1.56,6.0,11.0],[-1.56,6.0,11.0],[-4.68,6.0,11.0],[7.8,-6.0,5.0],[7.8,-6.0,9.0],[7.8,6.0,5.0],[7.8,6.0,9.0],[-7.8,-6.0,5.0],[-7.8,-6.0,9.0],[-7.8,6.0,5.0],[-7.8,6.0,9.0],[4.68,-6.0,5.0],[4.68,-6.0,9.0],[1.56,-6.0,5.0],[1.56,-6.0,9.0],[-1.56,-6.0,5.0],[-1.56,-6.0,9.0],[-4.68,-6.0,5.0],[-4.68,-6.0,9.0],[4.68,6.0,5.0],[4.68,6.0,9.0],[1.56,6.0,5.0],[1.56,6.0,9.0],[-1.56,6.0,5.0],[-1.56,6.0,9.0],[-4.68,6.0,5.0],[-4.68,6.0,9.0],[1.56,-5.0,9.0],[1.56,-5.0,5.0],[4.68,-5.0,9.0],[4.68,-5.0,5.0],[-4.68,-5.0,9.0],[-4.68,-5.0,5.0],[-1.56,-5.0,9.0],[-1.56,-5.0,5.0],[7.8,2.0,-1.0],[7.8,-2.0,-1.0],[-7.8,-2.0,-1.0],[-7.8,2.0,-1.0],[7.8,2.0,11.0],[7.8,-2.0,11.0],[-7.8,-2.0,11.0],[-7.8,2.0,11.0],[4.68,-2.0,-1.0],[4.68,2.0,-1.0],[1.56,-2.0,-1.0],[1.56,2.0,-1.0],[-1.56,-2.0,-1.0],[-1.56,2.0,-1.0],[-4.68,-2.0,-1.0],[-4.68,2.0,-1.0],[4.68,-2.0,11.0],[4.68,2.0,11.0],[1.56,-1.571,11.0],[1.56,1.571,11.0],[-1.56,-1.571,11.0],[-1.56,1.571,11.0],[-4.68,-2.0,11.0],[-4.68,2.0,11.0],[7.8,-2.0,5.0],[7.8,2.0,5.0],[7.8,-2.0,9.0],[7.8,2.0,9.0],[-7.8,-2.0,5.0],[-7.8,2.0,5.0],[-7.8,-2.0,9.0],[-7.8,2.0,9.0],[-9.126,2.0,5.0],[-9.126,2.0,9.0],[-9.126,-2.0,5.0],[-9.126,-2.0,9.0],[9.126,-2.0,5.0],[9.126,-2.0,9.0],[9.126,2.0,5.0],[9.126,2.0,9.0],[7.8,-6.0,1.0],[7.8,-6.0,3.0],[7.8,6.0,1.0],[7.8,6.0,3.0],[-7.8,-6.0,1.0],[-7.8,-6.0,3.0],[-7.8,6.0,1.0],[-7.8,6.0,3.0],[4.68,-6.0,1.0],[4.68,-6.0,3.0],[1.56,-6.0,1.0],[1.56,-6.0,3.0],[-1.56,-6.0,1.0],[-1.56,-6.0,3.0],[-4.68,-6.0,1.0],[-4.68,-6.0,3.0],[4.68,6.0,1.0],[4.68,6.0,3.0],[1.56,6.0,1.0],[1.56,6.0,3.0],[-1.56,6.0,1.0],[-1.56,6.0,3.0],[-4.68,6.0,1.0],[-4.68,6.0,3.0],[7.8,2.0,1.0],[7.8,2.0,3.0],[7.8,-2.0,1.0],[7.8,-2.0,3.0],[-7.8,-2.0,1.0],[-7.8,-2.0,3.0],[-7.8,2.0,1.0],[-7.8,2.0,3.0],[-1.56,-5.0,1.0],[-4.68,-5.0,1.0],[-1.56,-5.0,3.0],[-4.68,-5.0,3.0],[1.56,-5.0,1.0],[1.56,-5.0,3.0],[4.68,-5.0,1.0],[4.68,-5.0,3.0]];
part.faces = [[16,33,25,5],[33,32,24,25],[17,35,33,16],[18,37,35,17],[37,36,34,35],[19,39,37,18],[6,29,39,19],[29,28,38,39],[40,41,27,26],[41,20,4,27],[42,43,41,40],[43,21,20,41],[44,45,43,42],[45,22,21,43],[46,47,45,44],[47,23,22,45],[30,31,47,46],[31,7,23,47],[34,32,51,49],[33,35,48,50],[35,34,49,48],[32,33,50,51],[48,49,51,50],[38,36,55,53],[37,39,52,54],[39,38,53,52],[36,37,54,55],[52,53,55,54],[0,56,65,12],[56,57,64,65],[57,1,8,64],[9,66,64,8],[66,67,65,64],[67,13,12,65],[10,68,66,9],[68,69,67,66],[69,14,13,67],[11,70,68,10],[70,71,69,68],[71,15,14,69],[2,58,70,11],[58,59,71,70],[59,3,15,71],[20,73,60,4],[73,72,61,60],[72,16,5,61],[21,75,73,20],[75,74,72,73],[74,17,16,72],[22,77,75,21],[76,18,17,74],[23,79,77,22],[79,78,76,77],[78,19,18,76],[7,63,79,23],[63,62,78,79],[62,6,19,78],[27,83,81,26],[82,25,24,80],[4,60,83,27],[60,61,82,83],[61,5,25,82],[29,86,84,28],[87,31,30,85],[6,62,86,29],[62,63,87,86],[63,7,31,87],[87,85,88,89],[84,86,91,90],[82,80,92,93],[81,83,95,94],[86,87,89,91],[85,84,90,88],[83,82,93,95],[80,81,94,92],[91,89,88,90],[95,93,92,94],[32,105,97,24],[105,104,96,97],[104,8,1,96],[34,107,105,32],[106,9,8,104],[36,109,107,34],[108,10,9,106],[38,111,109,36],[110,11,10,108],[28,101,111,38],[101,100,110,111],[100,2,11,110],[26,99,113,40],[99,98,112,113],[98,0,12,112],[13,114,112,12],[114,115,113,112],[115,42,40,113],[14,116,114,13],[116,117,115,114],[117,44,42,115],[15,118,116,14],[118,119,117,116],[119,46,44,117],[3,102,118,15],[102,103,119,118],[103,30,46,119],[0,98,120,56],[98,99,121,120],[99,26,81,121],[80,123,121,81],[123,122,120,121],[122,57,56,120],[24,97,123,80],[97,96,122,123],[96,1,57,122],[84,125,101,28],[125,124,100,101],[124,58,2,100],[85,127,125,84],[127,126,124,125],[126,59,58,124],[30,103,127,85],[103,102,126,127],[102,3,59,126],[110,108,128,129],[109,111,131,130],[108,106,132,128],[107,109,130,133],[106,104,134,132],[105,107,133,135],[111,110,129,131],[104,105,135,134],[131,129,128,130],[130,128,132,133],[133,132,134,135],[74,75,77,76]];

scope.parts[part.name] = part;

c = new Object();
c.name = part.name;
c.position = [0.0,-0.0,11.0];
c.quaternion = [0.0,0.0,0.0,1.0];
scope.connectors[part.name] = c;

// Let's start a fresh new part
part = new Object();
part.name = 'leg_l';
part.id = 1;
part.vertices = [[-3.0,3.0,-12.0],[-3.0,-3.0,-12.0],[-3.0,-3.0,3.0],[-3.0,3.0,3.0],[3.0,3.0,-12.0],[3.0,-3.0,-12.0],[3.0,-3.0,3.0],[3.0,3.0,3.0],[-3.0,3.0,-15.0],[3.0,3.0,-15.0],[-3.0,-3.0,-15.0],[3.0,-3.0,-15.0],[3.0,-5.0,-15.0],[3.0,-5.0,-12.0],[-3.0,-5.0,-15.0],[-3.0,-5.0,-12.0]];
part.faces = [[0,1,2,3],[4,7,6,5],[1,5,6,2],[2,6,7,3],[4,0,3,7],[0,4,9,8],[4,5,11,9],[1,0,8,10],[8,9,11,10],[11,5,13,12],[10,11,12,14],[1,10,14,15],[5,1,15,13],[13,15,14,12]];

scope.parts[part.name] = part;

c = new Object();
c.name = part.name;
c.position = [5.0,0.0,-9.0];
c.quaternion = [0.0,0.0,0.0,1.0];
scope.connectors[part.name] = c;

// Let's start a fresh new part
part = new Object();
part.name = 'leg_r';
part.id = 2;
part.vertices = [[-3.0,3.0,-12.0],[-3.0,-3.0,-12.0],[-3.0,-3.0,3.0],[-3.0,3.0,3.0],[3.0,3.0,-12.0],[3.0,-3.0,-12.0],[3.0,-3.0,3.0],[3.0,3.0,3.0],[-3.0,3.0,-15.0],[3.0,3.0,-15.0],[-3.0,-3.0,-15.0],[3.0,-3.0,-15.0],[3.0,-5.0,-15.0],[3.0,-5.0,-12.0],[-3.0,-5.0,-15.0],[-3.0,-5.0,-12.0]];
part.faces = [[0,1,2,3],[4,7,6,5],[1,5,6,2],[2,6,7,3],[4,0,3,7],[0,4,9,8],[4,5,11,9],[1,0,8,10],[8,9,11,10],[11,5,13,12],[10,11,12,14],[1,10,14,15],[5,1,15,13],[13,15,14,12]];

scope.parts[part.name] = part;

c = new Object();
c.name = part.name;
c.position = [-5.0,0.0,-9.0];
c.quaternion = [0.0,0.0,0.0,1.0];
scope.connectors[part.name] = c;

// Let's start a fresh new part
part = new Object();
part.name = 'arm_r';
part.id = 3;
part.vertices = [[-3.0,3.0,-3.0],[-3.0,-3.0,-3.0],[3.0,-3.0,-3.0],[3.0,3.0,-3.0],[-3.0,3.0,3.0],[-3.0,-3.0,3.0],[3.0,-3.0,3.0],[3.0,3.0,3.0],[-9.0,3.0,-3.0],[-9.0,3.0,3.0],[-9.0,-3.0,-3.0],[-9.0,-3.0,3.0],[-9.0,-3.0,-12.0],[-9.0,3.0,-12.0],[-3.0,-3.0,-12.0],[-3.0,3.0,-12.0]];
part.faces = [[0,3,2,1],[4,5,6,7],[1,2,6,5],[2,3,7,6],[3,0,4,7],[0,8,9,4],[5,11,10,1],[4,9,11,5],[8,10,11,9],[8,13,12,10],[10,12,14,1],[0,15,13,8],[15,0,1,14],[14,12,13,15]];

scope.parts[part.name] = part;

c = new Object();
c.name = part.name;
c.position = [-9.0,0.0,5.0];
c.quaternion = [0.0,0.0,0.0,1.0];
scope.connectors[part.name] = c;

// Let's start a fresh new part
part = new Object();
part.name = 'arm_l';
part.id = 4;
part.vertices = [[3.0,3.0,-3.0],[3.0,-3.0,-3.0],[-3.0,-3.0,-3.0],[-3.0,3.0,-3.0],[3.0,3.0,3.0],[3.0,-3.0,3.0],[-3.0,-3.0,3.0],[-3.0,3.0,3.0],[9.0,3.0,-3.0],[9.0,3.0,3.0],[9.0,-3.0,-3.0],[9.0,-3.0,3.0],[9.0,-3.0,-12.0],[9.0,3.0,-12.0],[3.0,-3.0,-12.0],[3.0,3.0,-12.0]];
part.faces = [[0,1,2,3],[4,7,6,5],[1,5,6,2],[2,6,7,3],[4,0,3,7],[0,4,9,8],[5,1,10,11],[4,5,11,9],[8,9,11,10],[8,10,12,13],[10,1,14,12],[0,8,13,15],[1,0,15,14],[14,15,13,12]];

scope.parts[part.name] = part;

c = new Object();
c.name = part.name;
c.position = [9.0,0.0,5.0];
c.quaternion = [0.0,0.0,0.0,1.0];
scope.connectors[part.name] = c;

// Let's start a fresh new part
part = new Object();
part.name = 'torso';
part.id = 5;
part.vertices = [[10.0,6.0,-10.0],[10.0,-6.0,-10.0],[-10.0,-6.0,-10.0],[-10.0,6.0,-10.0],[10.0,6.0,7.0],[10.0,-6.0,7.0],[-10.0,-6.0,7.0],[-10.0,6.0,7.0],[4.2,3.6,7.0],[-4.2,3.6,7.0],[-4.2,-3.6,7.0],[4.2,-3.6,7.0],[4.2,-3.6,12.0],[4.2,3.6,12.0],[-4.2,-3.6,12.0],[-4.2,3.6,12.0],[-6.0,-6.0,-0.05],[-6.0,-6.0,5.05],[6.0,-6.0,-0.05],[6.0,-6.0,5.05],[-6.0,-7.0,-0.05],[6.0,-7.0,-0.05],[6.0,-7.0,5.05],[-6.0,-7.0,5.05]];
part.faces = [[0,1,2,3],[0,4,5,1],[2,6,7,3],[4,0,3,7],[4,7,9,8],[7,6,10,9],[6,5,11,10],[5,4,8,11],[11,8,13,12],[10,11,12,14],[9,10,14,15],[8,9,15,13],[13,15,14,12],[6,2,16,17],[1,5,19,18],[5,6,17,19],[2,1,18,16],[16,18,21,20],[19,17,23,22],[18,19,22,21],[17,16,20,23],[21,22,23,20]];

scope.parts[part.name] = part;

c = new Object();
c.name = part.name;
c.position = [0.0,0.0,0.0];
c.quaternion = [0.0,0.0,0.0,1.0];
scope.connectors[part.name] = c;


items = scope.parts

if(pick === undefined){
scope.pick = Math.round(partRand.getRandomNumber() * (items.length - 1));
}else{
scope.pick = pick;
}

scope.part = items[scope.pick];

for (var i = 0; i < scope.part.vertices.length; i ++ ){
v(scope.part.vertices[i]);
}

for (var i = 0; i < scope.part.faces.length; i ++ ){
face = scope.part.faces[i];
if(face.length == 4){
f4(face);
}else{
f3(face);
}
}

this.computeCentroids();
this.computeFaceNormals();

function v(co){
scope.vertices.push( new THREE.Vertex( new THREE.Vector3(co[0],co[1],co[2])));
}
function f3(v){
scope.faces.push( new THREE.Face3(v[0],v[1],v[2]));
}
function f4(v){
scope.faces.push( new THREE.Face4(v[0],v[1],v[2],v[3]));
}

};

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

0 comments on commit b1ef3c3

Please sign in to comment.