three-base 1.0.51 → 1.0.53

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/declare.d.ts ADDED
@@ -0,0 +1,6 @@
1
+
2
+ // 声明模块
3
+ // declare module "canvas-to-png";
4
+
5
+ declare interface Window {
6
+ }
package/lib/ThreeBase.ts CHANGED
@@ -322,6 +322,17 @@ export default class ThreeBase extends EventDispatcher {
322
322
 
323
323
  renderBindThis = this.render.bind(this);
324
324
 
325
+ // 下载渲染图
326
+ download(fileName: string = "download") {
327
+ this.render();
328
+ const base64 = this.renderer.domElement.toDataURL('image/png');
329
+ let saveLink = document.createElement("a");
330
+ saveLink.download = `${fileName}.png`;
331
+ saveLink.href = base64;
332
+ document.body.append(saveLink);
333
+ saveLink.click();
334
+ }
335
+
325
336
  // 清理渲染目标
326
337
  clearRendererTargte(rendererTarget: WebGLRenderTarget | null) {
327
338
  const originTarget = this.renderer.getRenderTarget();
package/lib/Transition.ts CHANGED
@@ -188,7 +188,9 @@ export default class Transition {
188
188
  threeUtils.removeEventListener("requestAnimationFrame", this.runbindThis);
189
189
  threeUtils.addEventListener("requestAnimationFrame", this.runbindThis);
190
190
 
191
- await new Promise(resolve => setTimeout(resolve, this._duration));
191
+ if (!this._isDone) {
192
+ await new Promise(resolve => setTimeout(resolve, this._duration));
193
+ }
192
194
 
193
195
  return this;
194
196
  }
package/lib/threeUtils.ts CHANGED
@@ -159,15 +159,11 @@ class ThreeUtils extends EventDispatcher {
159
159
 
160
160
  //缩放至指定大小
161
161
  scaleTo(object3d: Object3D | BufferGeometry, size: number = 1) {
162
+ const originSize = this.getSize(object3d);
163
+ const scale = size / Math.max(originSize.x, originSize.y, originSize.z);
162
164
  if (object3d instanceof Object3D) {
163
- this.box3.setFromObject(object3d);
164
- this.box3.getSize(this.size);
165
- const scale = size / Math.max(this.size.x, this.size.y, this.size.z);
166
165
  object3d.scale.multiplyScalar(scale);
167
- object3d.updateMatrixWorld(true);
168
166
  } else if (object3d instanceof BufferGeometry) {
169
- const originSize = this.getSize(object3d);
170
- const scale = size / Math.max(originSize.x, originSize.y, originSize.z);
171
167
  object3d.scale(scale, scale, scale);
172
168
  }
173
169
  }
package/lib/type.ts CHANGED
@@ -5,7 +5,9 @@
5
5
  * @Last Modified time: 2022-01-05 14:21:42
6
6
  */
7
7
 
8
- declare module '*?url' {
9
- const src: string
10
- export default src
11
- }
8
+
9
+
10
+ // declare module '*?url' {
11
+ // const src: string
12
+ // export default src
13
+ // }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "three-base",
3
- "version": "1.0.51",
3
+ "version": "1.0.53",
4
4
  "description": "three 3d three-base",
5
5
  "repository": {
6
6
  "type": "git",