@ridp/threejs 1.0.11 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/threejs.cjs +1 -1
- package/dist/threejs.js +6 -6
- package/package.json +1 -1
package/dist/threejs.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var b=Object.defineProperty;var O=(d,e,t)=>e in d?b(d,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):d[e]=t;var s=(d,e,t)=>O(d,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./useGLTFLoader-BiveFkS6.cjs"),r=require("./ImageLoader-DwvBWW6h.cjs"),f=require("./common-BHi3qsZW.cjs"),o=require("three"),m=require("vue"),L={enableDamping:!0,dampingFactor:.25,screenSpacePanning:!1,minDistance:.1,maxDistance:1e3,maxPolarAngle:o.MathUtils.degToRad(60)};class p{constructor(e,t){s(this,"isReady",m.ref(!1));s(this,"scene",null);s(this,"camera",null);s(this,"renderer",null);s(this,"control",null);s(this,"css3dRenderer",null);s(this,"el",null);s(this,"renderRequested",!1);s(this,"selector",null);s(this,"eventsListener",{});s(this,"stats",null);s(this,"isDispose",!1);s(this,"initOpt",{css3d:!1,stats:!1,renderType:"change",initListener:"True",control:{init:!0,options:{}}});s(this,"onContextLost",e=>{e.preventDefault(),cancelAnimationFrame(this.animate)});s(this,"onContextRestored",e=>{e.preventDefault(),this.dispose(),m.nextTick(()=>{this.setup(this.selector)})});s(this,"initListener",()=>{window&&window.addEventListener("resize",()=>this.onResize(),!1),this.renderer.domElement.addEventListener("webglcontextlost",this.onContextLost,!1),this.renderer.domElement.addEventListener("webglcontextrestored",this.onContextRestored,!1)});s(this,"animate",()=>{this.initOpt.renderType==="loop"&&this.onRender(),requestAnimationFrame(this.animate)});s(this,"onRender",()=>{this.isDispose||(this.renderRequested=!1,this.stats&&this.stats.update(),this.control&&this.control.update(),this.renderer.render(this.scene,this.camera),this.css3dRenderer&&this.css3dRenderer.render(this.scene,this.camera))});s(this,"requestRenderIfNotRequested",()=>{this.renderRequested||(this.renderRequested=!0,requestAnimationFrame(()=>{this.onRender()}))});this.isReady.value=!1,t&&(this.initOpt=Object.assign(this.initOpt,t)),e&&this.setup(e)}setup(e){this.isDispose=!1,this.selector=e,this.el=document.querySelector(e),this.scene=new o.Scene({}),this.camera=new o.PerspectiveCamera(50,1,.1,2e3),this.renderer=new o.WebGLRenderer({antialias:!0,alpha:!0,precision:"mediump",logarithmicDepthBuffer:!0});const t=Math.tan(Math.PI/180*this.camera.fov/2),[i,c]=this.getTargetSize();if(this.camera.aspect=i/c,this.camera.position.set(47,39,100),this.camera.fov=360/Math.PI*Math.atan(t*(c/i)),this.camera.lookAt(0,0,0),this.camera.updateProjectionMatrix(),this.renderer.setPixelRatio(window.devicePixelRatio),this.renderer.setSize(i,c),this.el.appendChild(this.renderer.domElement),this.initOpt.control&&this.initOpt.control.init){this.control=r.createOrbitControl(this.camera,this.renderer.domElement);const h=Object.assign(L,this.initOpt.control.options||{});Object.keys(h).forEach(n=>{this.control[n]=h[n]})}m.nextTick(()=>this.isReady.value=!0),this.initOpt.stats&&this.initStats(),this.initOpt.css3d&&this.initCss3dRenderer(),this.initOpt.renderType==="loop"?requestAnimationFrame(this.animate):this.initOpt.renderType==="change"&&this.control&&this.control.addEventListener("change",this.requestRenderIfNotRequested),this.initOpt.initListener=="True"&&this.initListener()}removeListener(){window&&window.removeEventListener("resize",this.onResize,!1),this.renderer.domElement.removeEventListener("webglcontextlost",this.onContextLost.bind(p),!1),this.renderer.domElement.removeEventListener("webglcontextrestored",this.onContextRestored.bind(p),!1)}initStats(){const e=new Stats;e.dom.style.cssText="position:absolute;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",this.el.appendChild(e.dom)}initCss3dRenderer(){this.css3dRenderer=new r.CSS3DRenderer;const[e,t]=this.getTargetSize();this.css3dRenderer.setSize(e,t),this.css3dRenderer.domElement.style.position="absolute",this.css3dRenderer.domElement.style.pointerEvents="none",this.css3dRenderer.domElement.style.top=0,this.css3dRenderer.domElement.style.left=0,this.el.appendChild(this.css3dRenderer.domElement)}getTargetSize(){const e=document.querySelector(this.selector);return e?[e.clientWidth,e.clientHeight]:[0,0]}
|
|
1
|
+
"use strict";var b=Object.defineProperty;var O=(d,e,t)=>e in d?b(d,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):d[e]=t;var s=(d,e,t)=>O(d,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./useGLTFLoader-BiveFkS6.cjs"),r=require("./ImageLoader-DwvBWW6h.cjs"),f=require("./common-BHi3qsZW.cjs"),o=require("three"),m=require("vue"),L={enableDamping:!0,dampingFactor:.25,screenSpacePanning:!1,minDistance:.1,maxDistance:1e3,maxPolarAngle:o.MathUtils.degToRad(60)};class p{constructor(e,t){s(this,"isReady",m.ref(!1));s(this,"scene",null);s(this,"camera",null);s(this,"renderer",null);s(this,"control",null);s(this,"css3dRenderer",null);s(this,"el",null);s(this,"renderRequested",!1);s(this,"selector",null);s(this,"eventsListener",{});s(this,"stats",null);s(this,"isDispose",!1);s(this,"initOpt",{css3d:!1,stats:!1,renderType:"change",initListener:"True",control:{init:!0,options:{}}});s(this,"onContextLost",e=>{e.preventDefault(),cancelAnimationFrame(this.animate)});s(this,"onContextRestored",e=>{e.preventDefault(),this.dispose(),m.nextTick(()=>{this.setup(this.selector)})});s(this,"initListener",()=>{window&&window.addEventListener("resize",()=>this.onResize(),!1),this.renderer.domElement.addEventListener("webglcontextlost",this.onContextLost,!1),this.renderer.domElement.addEventListener("webglcontextrestored",this.onContextRestored,!1)});s(this,"animate",()=>{this.initOpt.renderType==="loop"&&this.onRender(),requestAnimationFrame(this.animate)});s(this,"onRender",()=>{this.isDispose||(this.renderRequested=!1,this.stats&&this.stats.update(),this.control&&this.control.update(),this.renderer.render(this.scene,this.camera),this.css3dRenderer&&this.css3dRenderer.render(this.scene,this.camera))});s(this,"requestRenderIfNotRequested",()=>{this.renderRequested||(this.renderRequested=!0,requestAnimationFrame(()=>{this.onRender()}))});s(this,"onResize",()=>{m.nextTick(()=>{const e=Math.tan(Math.PI/180*this.camera.fov/2),[t,i]=this.getTargetSize();this.camera.aspect=t/i,this.camera.fov=360/Math.PI*Math.atan(e*(i/t)),this.camera.updateProjectionMatrix(),this.camera.lookAt(this.scene.position),this.renderer.setSize(t,i),this.css3dRenderer&&this.css3dRenderer.setSize(t,i),this.onRender()})});this.isReady.value=!1,t&&(this.initOpt=Object.assign(this.initOpt,t)),e&&this.setup(e)}setup(e){this.isDispose=!1,this.selector=e,this.el=document.querySelector(e),this.scene=new o.Scene({}),this.camera=new o.PerspectiveCamera(50,1,.1,2e3),this.renderer=new o.WebGLRenderer({antialias:!0,alpha:!0,precision:"mediump",logarithmicDepthBuffer:!0});const t=Math.tan(Math.PI/180*this.camera.fov/2),[i,c]=this.getTargetSize();if(this.camera.aspect=i/c,this.camera.position.set(47,39,100),this.camera.fov=360/Math.PI*Math.atan(t*(c/i)),this.camera.lookAt(0,0,0),this.camera.updateProjectionMatrix(),this.renderer.setPixelRatio(window.devicePixelRatio),this.renderer.setSize(i,c),this.el.appendChild(this.renderer.domElement),this.initOpt.control&&this.initOpt.control.init){this.control=r.createOrbitControl(this.camera,this.renderer.domElement);const h=Object.assign(L,this.initOpt.control.options||{});Object.keys(h).forEach(n=>{this.control[n]=h[n]})}m.nextTick(()=>this.isReady.value=!0),this.initOpt.stats&&this.initStats(),this.initOpt.css3d&&this.initCss3dRenderer(),this.initOpt.renderType==="loop"?requestAnimationFrame(this.animate):this.initOpt.renderType==="change"&&this.control&&this.control.addEventListener("change",this.requestRenderIfNotRequested),this.initOpt.initListener=="True"&&this.initListener()}removeListener(){window&&window.removeEventListener("resize",this.onResize,!1),this.renderer.domElement.removeEventListener("webglcontextlost",this.onContextLost.bind(p),!1),this.renderer.domElement.removeEventListener("webglcontextrestored",this.onContextRestored.bind(p),!1)}initStats(){const e=new Stats;e.dom.style.cssText="position:absolute;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",this.el.appendChild(e.dom)}initCss3dRenderer(){this.css3dRenderer=new r.CSS3DRenderer;const[e,t]=this.getTargetSize();this.css3dRenderer.setSize(e,t),this.css3dRenderer.domElement.style.position="absolute",this.css3dRenderer.domElement.style.pointerEvents="none",this.css3dRenderer.domElement.style.top=0,this.css3dRenderer.domElement.style.left=0,this.el.appendChild(this.css3dRenderer.domElement)}getTargetSize(){const e=document.querySelector(this.selector);return e?[e.clientWidth,e.clientHeight]:[0,0]}frameArea(e,t,i){const c=new o.Box3().setFromObject(e),h=c.getSize(new o.Vector3).length(),n=c.getCenter(new o.Vector3);i&&n.add(i);const R=h*t*.5,g=o.MathUtils.degToRad(this.camera.fov*.5),x=R/Math.tan(g),u=new o.Vector3().subVectors(this.camera.position,n).multiply(new o.Vector3(1,1,1)).normalize().multiplyScalar(x).add(n),l={x:u.x,y:u.y,z:u.z,lookAt_x:n.x,lookAt_y:n.y,lookAt_z:n.z};return this.camera.position.set(l.x,l.y,l.z),this.camera.lookAt(l.lookAt_x,l.lookAt_y,l.lookAt_z),this.camera.updateProjectionMatrix(),this.control.target.copy(n),this.control.update(),h}on(e,t){!e||!t||(this.eventsListener[e]||(this.eventsListener[e]=[]),this.eventsListener[e].push(t))}off(e){e||(this.eventsListener={}),this.eventsListener[e]&&(this.eventsListener[e]=[])}dispose(){this.isDispose=!0,this.removeListener(),r.disposeThreeObject(this.scene),this.renderer.dispose(),this.renderer.domElement.remove(),this.el=null,this.renderer=null,this.camera=null,this.scene=null,this.control=null,this.css3dRenderer=null}}exports.IDBCache=a.IDBCache;exports.intersectColor=a.intersectColor;exports.obbObjects=a.obbObjects;exports.useGLTFLoader=a.useGLTFLoader;exports.useObb=a.useObb;exports.useRaycaster=a.useRaycaster;exports.useThreeJs=a.useThreeJs;exports.ImageLoader=r.ImageLoader;exports.createArrowHelper=r.createArrowHelper;exports.createAxesHelper=r.createAxesHelper;exports.createBox3Helper=r.createBox3Helper;exports.createCameraHelper=r.createCameraHelper;exports.createGridHelper=r.createGridHelper;exports.createMapControls=r.createMapControls;exports.createOrbitControl=r.createOrbitControl;exports.createRaycaster=r.createRaycaster;exports.createStats=r.createStats;exports.disposeThreeObject=r.disposeThreeObject;exports.initEnvImage=r.initEnvImage;exports.createInfoPlane=f.createInfoPlane;exports.createTagPlane=f.createTagPlane;exports.getCommonParent=f.getCommonParent;exports.ThreeIns=p;
|
package/dist/threejs.js
CHANGED
|
@@ -69,6 +69,12 @@ class m {
|
|
|
69
69
|
this.onRender();
|
|
70
70
|
}));
|
|
71
71
|
});
|
|
72
|
+
s(this, "onResize", () => {
|
|
73
|
+
l(() => {
|
|
74
|
+
const e = Math.tan(Math.PI / 180 * this.camera.fov / 2), [t, i] = this.getTargetSize();
|
|
75
|
+
this.camera.aspect = t / i, this.camera.fov = 360 / Math.PI * Math.atan(e * (i / t)), this.camera.updateProjectionMatrix(), this.camera.lookAt(this.scene.position), this.renderer.setSize(t, i), this.css3dRenderer && this.css3dRenderer.setSize(t, i), this.onRender();
|
|
76
|
+
});
|
|
77
|
+
});
|
|
72
78
|
this.isReady.value = !1, t && (this.initOpt = Object.assign(this.initOpt, t)), e && this.setup(e);
|
|
73
79
|
}
|
|
74
80
|
setup(e) {
|
|
@@ -118,12 +124,6 @@ class m {
|
|
|
118
124
|
const e = document.querySelector(this.selector);
|
|
119
125
|
return e ? [e.clientWidth, e.clientHeight] : [0, 0];
|
|
120
126
|
}
|
|
121
|
-
onResize() {
|
|
122
|
-
l(() => {
|
|
123
|
-
const e = Math.tan(Math.PI / 180 * this.camera.fov / 2), [t, i] = this.getTargetSize();
|
|
124
|
-
this.camera.aspect = t / i, this.camera.fov = 360 / Math.PI * Math.atan(e * (i / t)), this.camera.updateProjectionMatrix(), this.camera.lookAt(this.scene.position), this.renderer.setSize(t, i), this.css3dRenderer && this.css3dRenderer.setSize(t, i), this.onRender();
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
127
|
/**物体视窗自动适应
|
|
128
128
|
*
|
|
129
129
|
* @param {Object3D} model
|