Skip to content
Snippets Groups Projects
Commit 99f82ebe authored by Amanda Ghassaei's avatar Amanda Ghassaei
Browse files

cleaning

parent 917c99ad
No related branches found
No related tags found
No related merge requests found
/**
* Created by aghassaei on 1/8/15.
*/
$(function(){
three = three || {};
modelMesh = modelMesh || {};
workers = workers || {};
$("#elementCube").click(function(e){
e.preventDefault();
var cubeDim = 10;
var boundingBox = new THREE.Box3();
boundingBox.setFromObject(modelMesh);
var xRange = [];
for (var x=boundingBox.min.x;x<boundingBox.max.x;x+=cubeDim){
xRange.push(x);
}
var localEnv = {boundingBox:boundingBox,cubeDim:cubeDim,modelMesh:modelMesh};
// workers.map(xRange, fillWithElements, localEnv, incrCallback);
for (x=boundingBox.min.x;x<boundingBox.max.x;x+=cubeDim){
var boxOrigins = fillWithElements(x);
_.each(boxOrigins, function(origin){
var mesh = createCubeGeometry(cubeDim);
mesh.position.set(origin[0], origin[1], origin[2]);
mesh.updateMatrix();
mesh.matrixAutoUpdate = false;
three.scene.add(mesh);
});
}
three.render();
function incrCallback(result){
console.log(result);
}
function fillWithElements(x){
var origins = [];
var cubeDim = localEnv.cubeDim;
var boundingBox = localEnv.boundingBox;
for (var y=boundingBox.min.y;y<boundingBox.max.y;y+=cubeDim){
for (var z=boundingBox.min.z;z<boundingBox.max.z;z+=cubeDim){
var raycaster = new THREE.Raycaster(new THREE.Vector3(x+cubeDim/2, y+cubeDim/2, z+cubeDim/2),
new THREE.Vector3(0, 0, 1), 0, boundingBox.max.z-z+cubeDim/2);
var numIntersections = raycaster.intersectObject(modelMesh).length;
if (numIntersections % 2 == 1){
origins.push([x,y,z]);
} else if (numIntersections == 0){
break;
}
}
}
return origins;
}
});
function createCubeGeometry(size){
var geometry = new THREE.BoxGeometry(size, size, size);
var material = new THREE.MeshLambertMaterial( { color:0xffffff} );
return new THREE.Mesh( geometry, material );
}
});
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment