diff --git a/js/elementMenu.js b/js/elementMenu.js index 89012de9dbbb09bc245b78595b614eaefbd16436..5d8ca667da4d5408bc5c6d34a3cc7c8994e151a1 100644 --- a/js/elementMenu.js +++ b/js/elementMenu.js @@ -52,12 +52,13 @@ $(function(){ var meshesToAdd = []; var cubeDim = localEnv.cubeDim; var boundingBox = localEnv.boundingBox; -// for (var y=boundingBox.min.y;y<boundingBox.max.y;y+=cubeDim){ -//// if () -// 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(localEnv.modelMesh).length; + var modelClone = new THREE.Mesh(localEnv.modelMesh.geometry, localEnv.modelMesh.material);//had to do this for some reason + 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(modelClone).length; +// console.log(numIntersections); // if (numIntersections % 2 == 1) { // var mesh = createCubeGeometry(cubeDim); // mesh.position.set(x+cubeDim/2, y+cubeDim/2, z+cubeDim/2); @@ -67,8 +68,8 @@ $(function(){ //// global.env.three.scene.add(mesh); // } else if (numIntersections == 0){ // } -// } -// } + } + } return x*x; } });