Download node_modules/three/src/math/Line3.js from SimWorld-AI/industrial-harbor-viewer: direct link, hf CLI and curl.
- Browser
- Download file 1.78 kB
-
https://huggingface.co/spaces/SimWorld-AI/industrial-harbor-viewer/resolve/main/node_modules/three/src/math/Line3.js
- Command line
-
hf download hf://spaces/SimWorld-AI/industrial-harbor-viewer/node_modules/three/src/math/Line3.js
-
curl -L -o Line3.js https://huggingface.co/spaces/SimWorld-AI/industrial-harbor-viewer/resolve/main/node_modules/three/src/math/Line3.js
1.78 kB
| import { Vector3 } from './Vector3.js'; | |
| import * as MathUtils from './MathUtils.js'; | |
| const _startP = /*@__PURE__*/ new Vector3(); | |
| const _startEnd = /*@__PURE__*/ new Vector3(); | |
| class Line3 { | |
| constructor( start = new Vector3(), end = new Vector3() ) { | |
| this.start = start; | |
| this.end = end; | |
| } | |
| set( start, end ) { | |
| this.start.copy( start ); | |
| this.end.copy( end ); | |
| return this; | |
| } | |
| copy( line ) { | |
| this.start.copy( line.start ); | |
| this.end.copy( line.end ); | |
| return this; | |
| } | |
| getCenter( target ) { | |
| return target.addVectors( this.start, this.end ).multiplyScalar( 0.5 ); | |
| } | |
| delta( target ) { | |
| return target.subVectors( this.end, this.start ); | |
| } | |
| distanceSq() { | |
| return this.start.distanceToSquared( this.end ); | |
| } | |
| distance() { | |
| return this.start.distanceTo( this.end ); | |
| } | |
| at( t, target ) { | |
| return this.delta( target ).multiplyScalar( t ).add( this.start ); | |
| } | |
| closestPointToPointParameter( point, clampToLine ) { | |
| _startP.subVectors( point, this.start ); | |
| _startEnd.subVectors( this.end, this.start ); | |
| const startEnd2 = _startEnd.dot( _startEnd ); | |
| const startEnd_startP = _startEnd.dot( _startP ); | |
| let t = startEnd_startP / startEnd2; | |
| if ( clampToLine ) { | |
| t = MathUtils.clamp( t, 0, 1 ); | |
| } | |
| return t; | |
| } | |
| closestPointToPoint( point, clampToLine, target ) { | |
| const t = this.closestPointToPointParameter( point, clampToLine ); | |
| return this.delta( target ).multiplyScalar( t ).add( this.start ); | |
| } | |
| applyMatrix4( matrix ) { | |
| this.start.applyMatrix4( matrix ); | |
| this.end.applyMatrix4( matrix ); | |
| return this; | |
| } | |
| equals( line ) { | |
| return line.start.equals( this.start ) && line.end.equals( this.end ); | |
| } | |
| clone() { | |
| return new this.constructor().copy( this ); | |
| } | |
| } | |
| export { Line3 }; | |