potree
Version:
WebGL point cloud viewer - WORK IN PROGRESS
36 lines (30 loc) • 1.12 kB
JavaScript
/**
*
* code adapted from three.js BoxHelper.js
* https://github.com/mrdoob/three.js/blob/dev/src/helpers/BoxHelper.js
*
* @author mrdoob / http://mrdoob.com/
* @author Mugen87 / http://github.com/Mugen87
* @author mschuetz / http://potree.org
*/
Potree.Box3Helper = class Box3Helper extends THREE.LineSegments {
constructor (box, color) {
if (color === undefined) color = 0xffff00;
let indices = new Uint16Array([ 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7 ]);
let positions = new Float32Array([
box.min.x, box.min.y, box.min.z,
box.max.x, box.min.y, box.min.z,
box.max.x, box.min.y, box.max.z,
box.min.x, box.min.y, box.max.z,
box.min.x, box.max.y, box.min.z,
box.max.x, box.max.y, box.min.z,
box.max.x, box.max.y, box.max.z,
box.min.x, box.max.y, box.max.z
]);
let geometry = new THREE.BufferGeometry();
geometry.setIndex(new THREE.BufferAttribute(indices, 1));
geometry.addAttribute('position', new THREE.BufferAttribute(positions, 3));
let material = new THREE.LineBasicMaterial({ color: color });
super(geometry, material);
}
};