summit/frontend/node_modules/three-stdlib/loaders/AssimpLoader.cjs.map

1 line
89 KiB
Plaintext
Raw Normal View History

2025-12-08 16:31:30 +00:00
{"version":3,"file":"AssimpLoader.cjs","sources":["../../src/loaders/AssimpLoader.js"],"sourcesContent":["import {\n Bone,\n BufferAttribute,\n BufferGeometry,\n Color,\n FileLoader,\n Loader,\n LoaderUtils,\n Matrix4,\n Mesh,\n MeshLambertMaterial,\n MeshPhongMaterial,\n Object3D,\n Quaternion,\n Skeleton,\n SkinnedMesh,\n TextureLoader,\n Vector3,\n} from 'three'\n\nclass AssimpLoader extends Loader {\n load(url, onLoad, onProgress, onError) {\n var scope = this\n\n var path = scope.path === '' ? LoaderUtils.extractUrlBase(url) : scope.path\n\n var loader = new FileLoader(scope.manager)\n loader.setPath(scope.path)\n loader.setResponseType('arraybuffer')\n loader.setRequestHeader(scope.requestHeader)\n loader.setWithCredentials(scope.withCredentials)\n\n loader.load(\n url,\n function (buffer) {\n try {\n onLoad(scope.parse(buffer, path))\n } catch (e) {\n if (onError) {\n onError(e)\n } else {\n console.error(e)\n }\n\n scope.manager.itemError(url)\n }\n },\n onProgress,\n onError,\n )\n }\n\n parse(buffer, path) {\n var textureLoader = new TextureLoader(this.manager)\n textureLoader.setPath(this.resourcePath || path).setCrossOrigin(this.crossOrigin)\n\n var Virtulous = {}\n\n Virtulous.KeyFrame = class {\n constructor(time, matrix) {\n this.time = time\n this.matrix = matrix.clone()\n this.position = new Vector3()\n this.quaternion = new Quaternion()\n this.scale = new Vector3(1, 1, 1)\n this.matrix.decompose(this.position, this.quaternion, this.scale)\n this.clone = function () {\n var n = new Virtulous.KeyFrame(this.time, this.matrix)\n return n\n }\n\n this.lerp = function (nextKey, time) {\n time -= this.time\n var dist = nextKey.time - this.time\n var l = time / dist\n var l2 = 1 - l\n var keypos = this.position\n var keyrot = this.quaternion\n // var keyscl = key.parentspaceScl || key.scl;\n var key2pos = nextKey.position\n var key2rot = nextKey.quaternion\n // var key2scl = key2.parentspaceScl || key2.scl;\n Virtulous.KeyFrame.tempAniPos.x = keypos.x * l2 + key2pos.x * l\n Virtulous.KeyFrame.tempAniPos.y = keypos.y * l2 + key2pos.y * l\n Virtulous.KeyFrame.tempAniPos.z = keypos.z * l2 + key2pos.z * l\n // tempAniScale.x = keyscl[0] * l2 + key2scl[0] * l;\n // tempAniScale.y = keyscl[1] * l2 + key2scl[1] * l;\n // tempAniScale.z = keyscl[2] * l2 + key2scl[2] * l;\n Virtulous.KeyFrame.tempAniQuat.set(keyrot.x, keyrot.y, keyrot.z, keyrot.w)\n Virtulous.KeyFrame.tempAniQuat.slerp(key2rot, l)\n return Virtulous.KeyFrame.tempAniMatrix.compose(\n Virtulous.KeyFrame.tempAniPos,\n Virtulous.KeyFrame.tempAniQuat,\n Virtulous.KeyFrame.tempAniScale,\n )\n }\n }\n }\n\n Virtulous.KeyFrame.tempAniPos = new Vector3()\n Virtulous.KeyFrame.tempAniQuat = new Quaternion()\n Virtulous.KeyFrame.tempAniScale = new Vector3(1, 1, 1)\n Virtulous.KeyFrame.tempAniMatrix = new Matrix4()\n Virtulous.KeyFrameTrack = function () {\n this.keys = []\n this.target = null\n this.time = 0\n this.length = 0\n this._accelTable = {}\n this.fps = 20\n this.addKey = function (key) {\n this.keys.push(key)\n }\n\n this.init = function () {\n this.sortKeys()\n\n if (this.keys.length > 0) this.length = this.keys[this.keys.length - 1].time\n else this.length = 0\n\n if (!this.fps) return\n\n for (let j = 0; j < this.length * this.fps; j++) {\n for (let i = 0; i < this.keys.length; i++) {\n if (this.keys[i].time == j) {\n this._accelTable[j] = i\n break\n } else if (this.keys[i].time < j / this.fps && t