Buckets:
| 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 }; | |
Xet Storage Details
- Size:
- 1.29 kB
- Xet hash:
- 3e8d1b96504974dd16a0e7b6f5662790f368007248b4882612096be74ee909ab
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.