Download node_modules/three/src/helpers/Box3Helper.js from SimWorld-AI/industrial-harbor-viewer: direct link, hf CLI and curl.
- Browser
- Download file 1.29 kB
-
https://huggingface.co/spaces/SimWorld-AI/industrial-harbor-viewer/resolve/main/node_modules/three/src/helpers/Box3Helper.js
- Command line
-
hf download hf://spaces/SimWorld-AI/industrial-harbor-viewer/node_modules/three/src/helpers/Box3Helper.js
-
curl -L -o Box3Helper.js https://huggingface.co/spaces/SimWorld-AI/industrial-harbor-viewer/resolve/main/node_modules/three/src/helpers/Box3Helper.js
1.29 kB
| import { LineSegments } from '../objects/LineSegments.js'; | |
| import { LineBasicMaterial } from '../materials/LineBasicMaterial.js'; | |
| import { BufferAttribute, Float32BufferAttribute } from '../core/BufferAttribute.js'; | |
| import { BufferGeometry } from '../core/BufferGeometry.js'; | |
| class Box3Helper extends LineSegments { | |
| constructor( box, color = 0xffff00 ) { | |
| const 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 ] ); | |
| const positions = [ 1, 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, - 1, 1, 1, 1, - 1, - 1, 1, - 1, - 1, - 1, - 1, 1, - 1, - 1 ]; | |
| const geometry = new BufferGeometry(); | |
| geometry.setIndex( new BufferAttribute( indices, 1 ) ); | |
| geometry.setAttribute( 'position', new Float32BufferAttribute( positions, 3 ) ); | |
| super( geometry, new LineBasicMaterial( { color: color, toneMapped: false } ) ); | |
| this.box = box; | |
| this.type = 'Box3Helper'; | |
| this.geometry.computeBoundingSphere(); | |
| } | |
| updateMatrixWorld( force ) { | |
| const box = this.box; | |
| if ( box.isEmpty() ) return; | |
| box.getCenter( this.position ); | |
| box.getSize( this.scale ); | |
| this.scale.multiplyScalar( 0.5 ); | |
| super.updateMatrixWorld( force ); | |
| } | |
| dispose() { | |
| this.geometry.dispose(); | |
| this.material.dispose(); | |
| } | |
| } | |
| export { Box3Helper }; | |