Find intersected faces
by spacorum
HTML
<script src="https://rawgit.com/mrdoob/three.js/master/build/three.min.js"></script>
<script src="https://cdn.rawgit.com/mrdoob/stats.js/r17/build/stats.min.js"></script>
<script src="https://cdn.coursesaver.com/three.js-74/examples/js/loaders/STLLoader.js"></script>
CSS
body {
padding: 0;
margin: 0;
}
canvas {
display: block;
}
JavaScript
var methodToCheck = 8; // from 1 to 7
var camera, scene, renderer, mesh, geometry, faces, vertices, helper, material, stats;
init();
animate();
function init() {
// Renderer.
renderer = new THREE.WebGLRenderer();
//renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(window.innerWidth, window.innerHeight);
// Add renderer to page
document.body.appendChild(renderer.domElement);
// Create camera.
camera = new THREE.PerspectiveCamera(70, window.innerWidth / window.innerHeight, 1, 1000);
camera.position.y = 120;
camera.position.z = 200;
// Create scene.
scene = new THREE.Scene();
var stlRaw = "solid Exported from Blender-2.78 (sub 0)" + "\r\n" +
"facet normal 0.300472 -0.699720 0.648157" + "\r\n" +
"outer loop" + "\r\n" +
"vertex -45.538338 114.480934 66.979424" + "\r\n" +
"vertex -74.252121 56.476513 17.671707" + "\r\n" +
"vertex 38.602127 72.264099 -17.601624" + "\r\n" +
"endloop" + "\r\n" +
"endfacet" + "\r\n" +
"facet normal -0.290859 -0.054973 -0.955185" + "\r\n" +
"outer loop" + "\r\n" +
"vertex 38.602127 72.264099 -17.601624" + "\r\n" +
"vertex -74.252121 56.476513 17.671707" + "\r\n" +
"vertex -21.015669 205.484344 -7.114781" + "\r\n" +
"endloop" + "\r\n" +
"endfacet" + "\r\n" +
"facet normal -0.927426 0.352252 0.125694" + "\r\n" +
"outer loop" + "\r\n" +
"vertex -74.252121 56.476513 17.671707" + "\r\n" +
"vertex -45.538338 114.480934 66.979424" + "\r\n" +
"vertex -21.015669 205.484344 -7.114781" + "\r\n" +
"endloop" + "\r\n" +
"endfacet" + "\r\n" +
"facet normal 0.746923 0.287046 0.599759" + "\r\n" +
"outer loop" + "\r\n" +
"vertex -45.538338 114.480934 66.979424" + "\r\n" +
"vertex 38.602127 72.264099 -17.601624" + "\r\n" +
"vertex -21.015669 205.484344 -7.114781" + "\r\n" +
"endloop" + "\r\n" +
"endfacet" + "\r\n" +
"facet normal -0.753162 0.652960 0.079946" + "\r\n" +
"outer loop" + "\r\n" +
"vertex 0.546631...