copper3d 1.15.9 → 1.15.11

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.
@@ -47413,7 +47413,7 @@
47413
47413
  this.container.clientWidth / this.container.clientHeight;
47414
47414
  this.camera.updateProjectionMatrix();
47415
47415
  }
47416
- render() {
47416
+ render(time) {
47417
47417
  // this.onWindowResize();
47418
47418
  this.renderer.render(this.scene, this.camera);
47419
47419
  }
@@ -56526,14 +56526,17 @@
56526
56526
  }
56527
56527
  this.camera.updateProjectionMatrix();
56528
56528
  }
56529
- render() {
56529
+ render(time) {
56530
56530
  this.controls.update();
56531
56531
  if (this.modelReady) {
56532
56532
  this.mixer && this.mixer.update(this.clock.getDelta() * this.playRate);
56533
+ // this.mixer && this.mixer.update((time as number) * this.playRate);
56534
+ }
56535
+ if (this.preRenderCallbackFunctions.cache.length > 0) {
56536
+ Object.values(this.preRenderCallbackFunctions.cache).forEach((item) => {
56537
+ item && item.call(null);
56538
+ });
56533
56539
  }
56534
- Object.values(this.preRenderCallbackFunctions.cache).forEach((item) => {
56535
- item && item.call(null);
56536
- });
56537
56540
  if (this.subDiv && this.subCamera && this.subRender) {
56538
56541
  this.subCamera.aspect =
56539
56542
  this.subDiv.clientWidth / this.subDiv.clientHeight;
@@ -56551,16 +56554,49 @@
56551
56554
  constructor(container, options) {
56552
56555
  super(container, options);
56553
56556
  this.sceneMap = {};
56557
+ this.fps = 30;
56558
+ this.renderClock = new Clock();
56559
+ this.delta = 0;
56560
+ this.interval = 1 / this.fps;
56554
56561
  this.preRenderCallbackFunctions = [];
56555
- this.animate = () => {
56556
- this.render();
56557
- this.stats.update();
56558
- requestAnimationFrame(this.animate);
56562
+ this.animate = (time) => {
56563
+ // if (this.start) {
56564
+ // this.fpsCap = createFpsCap(this.render, 10);
56565
+ // this.start = false;
56566
+ // }
56567
+ var _a, _b, _c;
56568
+ switch ((_a = this.options) === null || _a === void 0 ? void 0 : _a.fpsMode) {
56569
+ case "1":
56570
+ // fpsControl one: 30fps
56571
+ setTimeout(() => {
56572
+ requestAnimationFrame(this.animate);
56573
+ }, 1000 / this.fps);
56574
+ this.render();
56575
+ if ((_b = this.options) === null || _b === void 0 ? void 0 : _b.performanceGui)
56576
+ this.stats.update();
56577
+ break;
56578
+ default:
56579
+ // fpsControl two: 30fps
56580
+ requestAnimationFrame(this.animate);
56581
+ if (this.delta === 0) {
56582
+ this.render();
56583
+ }
56584
+ this.delta += this.renderClock.getDelta();
56585
+ if (this.delta > this.interval) {
56586
+ this.render();
56587
+ if ((_c = this.options) === null || _c === void 0 ? void 0 : _c.performanceGui)
56588
+ this.stats.update();
56589
+ this.delta = this.delta % this.interval;
56590
+ }
56591
+ }
56559
56592
  };
56560
56593
  }
56561
56594
  getSceneByName(name) {
56562
56595
  return this.sceneMap[name];
56563
56596
  }
56597
+ setFPS(fps) {
56598
+ this.fps = fps;
56599
+ }
56564
56600
  setCurrentScene(sceneIn) {
56565
56601
  var _a;
56566
56602
  if (sceneIn) {
@@ -68166,6 +68202,15 @@
68166
68202
  this.resetPaintArea();
68167
68203
  this.setIsDrawFalse(1000);
68168
68204
  }
68205
+ getContainer() {
68206
+ return this.mainAreaContainer;
68207
+ }
68208
+ getDrawingCanvas() {
68209
+ return this.drawingCanvas;
68210
+ }
68211
+ getNrrdToolsSettings() {
68212
+ return this.nrrd_states;
68213
+ }
68169
68214
  getMaxSliceNum() {
68170
68215
  if (this.nrrd_states.showContrast) {
68171
68216
  return [
@@ -68224,6 +68269,11 @@
68224
68269
  });
68225
68270
  }
68226
68271
  }
68272
+ switchAllSlicesArrayData(allSlices) {
68273
+ this.allSlicesArray.length = 0;
68274
+ this.allSlicesArray = [...allSlices];
68275
+ this.resetDisplaySlicesStatus();
68276
+ }
68227
68277
  resetDisplaySlicesStatus() {
68228
68278
  // reload slice data
68229
68279
  this.setDisplaySlicesBaseOnAxis();
@@ -69767,8 +69817,8 @@
69767
69817
  }
69768
69818
 
69769
69819
  // import * as kiwrious from "copper3d_plugin_heart_k";
69770
- const REVISION = "v1.15.9";
69771
- console.log("%cCopper3D Visualisation %cBeta:v1.15.9", "padding: 3px;color:white; background:#023047", "padding: 3px;color:white; background:#f50a25");
69820
+ const REVISION = "v1.15.11";
69821
+ console.log("%cCopper3D Visualisation %cBeta:v1.15.11", "padding: 3px;color:white; background:#023047", "padding: 3px;color:white; background:#f50a25");
69772
69822
 
69773
69823
  exports.CameraViewPoint = CameraViewPoint;
69774
69824
  exports.Copper3dTrackballControls = Copper3dTrackballControls;
package/dist/index.d.ts CHANGED
@@ -16,6 +16,6 @@ import { nrrd_tools } from "./Utils/nrrd_tool";
16
16
  import { Copper3dTrackballControls } from "./Controls/Copper3dTrackballControls";
17
17
  import { nrrdMeshesType, nrrdSliceType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, loadingBarType, paintImageType, exportPaintImageType, IOptVTKLoader } from "./types/types";
18
18
  import "./css/style.css";
19
- export declare const REVISION = "v1.15.9";
19
+ export declare const REVISION = "v1.15.11";
20
20
  export { copperRenderer, copperRendererOnDemond, copperMSceneRenderer, setHDRFilePath, addLabelToScene, convert3DPostoScreenPos, convertScreenPosto3DPos, addBoxHelper, fullScreenListenner, configKiwriousHeart, copperScene, copperSceneOnDemond, copperMScene, CameraViewPoint, kiwrious, nrrd_tools, loading, Copper3dTrackballControls, createTexture2D_NRRD, };
21
21
  export type { positionType, screenPosType, optsType, nrrdMeshesType, nrrdSliceType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, loadingBarType, paintImageType, exportPaintImageType, IOptVTKLoader, };
package/dist/index.js CHANGED
@@ -16,7 +16,7 @@ import kiwrious from "./Utils/kiwrious/configKiwrious";
16
16
  import { nrrd_tools } from "./Utils/nrrd_tool";
17
17
  import { Copper3dTrackballControls } from "./Controls/Copper3dTrackballControls";
18
18
  import "./css/style.css";
19
- export const REVISION = "v1.15.9";
20
- console.log("%cCopper3D Visualisation %cBeta:v1.15.9", "padding: 3px;color:white; background:#023047", "padding: 3px;color:white; background:#f50a25");
19
+ export const REVISION = "v1.15.11";
20
+ console.log("%cCopper3D Visualisation %cBeta:v1.15.11", "padding: 3px;color:white; background:#023047", "padding: 3px;color:white; background:#f50a25");
21
21
  export { copperRenderer, copperRendererOnDemond, copperMSceneRenderer, setHDRFilePath, addLabelToScene, convert3DPostoScreenPos, convertScreenPosto3DPos, addBoxHelper, fullScreenListenner, configKiwriousHeart, copperScene, copperSceneOnDemond, copperMScene, CameraViewPoint, kiwrious, nrrd_tools, loading, Copper3dTrackballControls, createTexture2D_NRRD, };
22
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,eAAe,EAGf,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAY,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,mBAAmB,MAAM,6BAA6B,CAAC;AAC9D,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAcjF,OAAO,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAElC,OAAO,CAAC,GAAG,CACT,yCAAyC,EACzC,8CAA8C,EAC9C,8CAA8C,CAC/C,CAAC;AAEF,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,UAAU,EACV,OAAO,EACP,yBAAyB,EACzB,oBAAoB,GACrB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,eAAe,EAGf,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAY,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,mBAAmB,MAAM,6BAA6B,CAAC;AAC9D,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAcjF,OAAO,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AAEnC,OAAO,CAAC,GAAG,CACT,0CAA0C,EAC1C,8CAA8C,EAC9C,8CAA8C,CAC/C,CAAC;AAEF,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,UAAU,EACV,OAAO,EACP,yBAAyB,EACzB,oBAAoB,GACrB,CAAC"}
@@ -3,13 +3,18 @@ import copperScene from "../Scene/copperScene";
3
3
  import { ICopperRenderOpt } from "../types/types";
4
4
  export default class copperRenderer extends baseRenderer {
5
5
  private sceneMap;
6
+ private fps;
7
+ private renderClock;
8
+ private delta;
9
+ private interval;
6
10
  preRenderCallbackFunctions: Array<Function>;
7
11
  constructor(container: HTMLDivElement, options?: ICopperRenderOpt);
8
12
  getSceneByName(name: string): copperScene | import("../Scene/baseScene").default | import("../index").copperMScene;
13
+ setFPS(fps: number): void;
9
14
  setCurrentScene(sceneIn: copperScene): void;
10
15
  createScene(name: string): copperScene | undefined;
11
16
  addPreRenderCallbackFunction(callbackFunction: Function): void;
12
17
  onWindowResize(): void;
13
- animate: () => void;
18
+ animate: (time?: number) => void;
14
19
  render(): void;
15
20
  }
@@ -34,5 +34,5 @@ export default class baseScene extends commonScene {
34
34
  updateModelChildrenVisualisation(child: THREE.Mesh): void;
35
35
  onRenderCameraChange(): void;
36
36
  onWindowResize: () => void;
37
- render(): void;
37
+ render(time?: number): void;
38
38
  }
@@ -32,5 +32,5 @@ export default class copperScene extends baseScene {
32
32
  getCurrentMixer(): THREE.AnimationMixer | null;
33
33
  updateControls(camera: THREE.PerspectiveCamera | THREE.OrthographicCamera): void;
34
34
  onRenderCameraChange(): void;
35
- render(): void;
35
+ render(time?: number): void;
36
36
  }
@@ -1,3 +1,4 @@
1
+ import * as THREE from "three";
1
2
  import { GUI } from "dat.gui";
2
3
  import { nrrdSliceType, nrrdDragImageOptType, nrrdDrawImageOptType, paintImagesType, storedPaintImagesType, storeExportPaintImageType, loadingBarType } from "../types/types";
3
4
  import copperMScene from "../Scene/copperMScene";
@@ -91,6 +92,61 @@ export declare class nrrd_tools {
91
92
  setSliceMoving(step: number): void;
92
93
  setShowInMainArea(isShowContrast: boolean): void;
93
94
  setMainAreaSize(factor: number): void;
95
+ getContainer(): HTMLDivElement;
96
+ getDrawingCanvas(): HTMLCanvasElement;
97
+ getNrrdToolsSettings(): {
98
+ originWidth: number;
99
+ originHeight: number;
100
+ nrrd_x_mm: number;
101
+ nrrd_y_mm: number;
102
+ nrrd_z_mm: number;
103
+ nrrd_x_pixel: number;
104
+ nrrd_y_pixel: number;
105
+ nrrd_z_pixel: number;
106
+ changedWidth: number;
107
+ changedHeight: number;
108
+ oldIndex: number;
109
+ currentIndex: number;
110
+ maxIndex: number;
111
+ minIndex: number;
112
+ RSARatio: number;
113
+ voxelSpacing: never[];
114
+ spaceOrigin: never[];
115
+ dimensions: never[];
116
+ loadMaskJson: boolean;
117
+ ratios: {
118
+ x: number;
119
+ y: number;
120
+ z: number;
121
+ };
122
+ sharedPlace: {
123
+ x: number[];
124
+ y: number[];
125
+ z: number[];
126
+ };
127
+ latestNotEmptyImg: HTMLImageElement;
128
+ contrastNum: number;
129
+ Max_sensitive: number;
130
+ readyToUpdate: boolean;
131
+ showContrast: boolean;
132
+ enableCursorChoose: boolean;
133
+ isCursorSelect: boolean;
134
+ cursorPageX: number;
135
+ cursorPageY: number;
136
+ Mouse_Over_x: number;
137
+ Mouse_Over_y: number;
138
+ Mouse_Over: boolean;
139
+ stepClear: number;
140
+ sizeFoctor: number;
141
+ clearAllFlag: boolean;
142
+ previousPanelL: number;
143
+ previousPanelT: number;
144
+ switchSliceFlag: boolean;
145
+ labels: string[];
146
+ getMask: (mask: ImageData, sliceId: number, label: string, width: number, height: number, clearAllFlag: boolean) => void;
147
+ defaultPaintCursor: string;
148
+ drawStartPos: THREE.Vector2;
149
+ };
94
150
  getMaxSliceNum(): number[];
95
151
  getCurrentSlicesNumAndContrastNum(): {
96
152
  currentIndex: number;
@@ -101,6 +157,7 @@ export declare class nrrd_tools {
101
157
  private setIsDrawFalse;
102
158
  private setDisplaySlicesBaseOnAxis;
103
159
  private loadDisplaySlicesArray;
160
+ switchAllSlicesArrayData(allSlices: Array<nrrdSliceType>): void;
104
161
  private resetDisplaySlicesStatus;
105
162
  private setupConfigs;
106
163
  private setMainPreSlice;
@@ -6,3 +6,7 @@ export declare function loading(): {
6
6
  progress: HTMLDivElement;
7
7
  };
8
8
  export declare function switchEraserSize(size: number, urls?: string[]): string;
9
+ export declare function createFpsCap(loop: Function, fps?: number): {
10
+ fps: number;
11
+ loop: (_scope: any, time: number) => any;
12
+ };
@@ -16,6 +16,6 @@ import { nrrd_tools } from "./Utils/nrrd_tool";
16
16
  import { Copper3dTrackballControls } from "./Controls/Copper3dTrackballControls";
17
17
  import { nrrdMeshesType, nrrdSliceType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, loadingBarType, paintImageType, exportPaintImageType, IOptVTKLoader } from "./types/types";
18
18
  import "./css/style.css";
19
- export declare const REVISION = "v1.15.9";
19
+ export declare const REVISION = "v1.15.11";
20
20
  export { copperRenderer, copperRendererOnDemond, copperMSceneRenderer, setHDRFilePath, addLabelToScene, convert3DPostoScreenPos, convertScreenPosto3DPos, addBoxHelper, fullScreenListenner, configKiwriousHeart, copperScene, copperSceneOnDemond, copperMScene, CameraViewPoint, kiwrious, nrrd_tools, loading, Copper3dTrackballControls, createTexture2D_NRRD, };
21
21
  export type { positionType, screenPosType, optsType, nrrdMeshesType, nrrdSliceType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, loadingBarType, paintImageType, exportPaintImageType, IOptVTKLoader, };
@@ -13,6 +13,7 @@ interface ICopperRenderOpt {
13
13
  alpha?: boolean;
14
14
  controls?: "copper3d" | "trackball" | "orbit";
15
15
  cameraType?: "perspective" | "orthographic";
16
+ fpsMode?: "0" | "1";
16
17
  [key: string]: string | boolean | undefined;
17
18
  }
18
19
  interface stateType {
@@ -13,6 +13,7 @@ interface ICopperRenderOpt {
13
13
  alpha?: boolean;
14
14
  controls?: "copper3d" | "trackball" | "orbit";
15
15
  cameraType?: "perspective" | "orthographic";
16
+ fpsMode?: "0" | "1";
16
17
  [key: string]: string | boolean | undefined;
17
18
  }
18
19
  interface stateType {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "copper3d",
3
3
  "description": "A 3d visualisation package base on threejs provides multiple scenes and Nrrd image load funtion.",
4
- "version": "1.15.9",
4
+ "version": "1.15.11",
5
5
  "main": "dist/bundle.umd.js",
6
6
  "moudle": "dist/bundle.esm.js",
7
7
  "types": "dist/types/index.d.ts",