copper3d 1.15.6 → 1.15.8
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/README.md +5 -2
- package/dist/Controls/Copper3dTrackballControls.js +37 -49
- package/dist/Controls/Copper3dTrackballControls.js.map +1 -1
- package/dist/Loader/copperDicomLoader.js +0 -2
- package/dist/Loader/copperDicomLoader.js.map +1 -1
- package/dist/Loader/copperNrrdLoader.js +1 -4
- package/dist/Loader/copperNrrdLoader.js.map +1 -1
- package/dist/Renderer/baseRenderer.d.ts +3 -3
- package/dist/Renderer/baseRenderer.js +9 -5
- package/dist/Renderer/baseRenderer.js.map +1 -1
- package/dist/Renderer/copperRenderer.d.ts +2 -2
- package/dist/Renderer/copperRenderer.js +6 -2
- package/dist/Renderer/copperRenderer.js.map +1 -1
- package/dist/Renderer/copperRendererOnDemond.d.ts +2 -2
- package/dist/Renderer/copperRendererOnDemond.js +0 -3
- package/dist/Renderer/copperRendererOnDemond.js.map +1 -1
- package/dist/Scene/baseScene.d.ts +2 -2
- package/dist/Scene/baseScene.js +7 -5
- package/dist/Scene/baseScene.js.map +1 -1
- package/dist/Scene/commonSceneMethod.d.ts +4 -2
- package/dist/Scene/commonSceneMethod.js +13 -8
- package/dist/Scene/commonSceneMethod.js.map +1 -1
- package/dist/Scene/copperScene.d.ts +2 -1
- package/dist/Scene/copperScene.js +5 -11
- package/dist/Scene/copperScene.js.map +1 -1
- package/dist/Utils/convet.js.map +1 -0
- package/dist/Utils/nrrd_tool.js +0 -2
- package/dist/Utils/nrrd_tool.js.map +1 -1
- package/dist/bundle.esm.js +77 -91
- package/dist/bundle.umd.js +77 -91
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/types/Renderer/baseRenderer.d.ts +3 -3
- package/dist/types/Renderer/copperRenderer.d.ts +2 -2
- package/dist/types/Renderer/copperRendererOnDemond.d.ts +2 -2
- package/dist/types/Scene/baseScene.d.ts +2 -2
- package/dist/types/Scene/commonSceneMethod.d.ts +4 -2
- package/dist/types/Scene/copperScene.d.ts +2 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/types/types.d.ts +11 -5
- package/dist/types/types.d.ts +11 -5
- package/package.json +1 -1
- package/dist/Controls/Copper3dTrackballControls1.d.ts +0 -45
- package/dist/Controls/Copper3dTrackballControls1.js +0 -531
- package/dist/Controls/Copper3dTrackballControls1.js.map +0 -1
- package/dist/Loader/convet.js.map +0 -1
- package/dist/types/Controls/Copper3dTrackballControls1.d.ts +0 -45
- /package/dist/{Loader → Utils}/convet.d.ts +0 -0
- /package/dist/{Loader → Utils}/convet.js +0 -0
- /package/dist/types/{Loader → Utils}/convet.d.ts +0 -0
package/dist/bundle.umd.js
CHANGED
|
@@ -38590,11 +38590,9 @@
|
|
|
38590
38590
|
loader$1.load(url, (arrayBuffer) => {
|
|
38591
38591
|
var dicomFileAsBuffer = new Uint8Array(arrayBuffer);
|
|
38592
38592
|
const dataSet = dicomParser.parseDicom(dicomFileAsBuffer);
|
|
38593
|
-
// console.log(dataSet1);
|
|
38594
38593
|
// const dataSet = dicomParser.parseDicom(dicomFileAsBuffer, {
|
|
38595
38594
|
// vrCallback(tag) {
|
|
38596
38595
|
// const formatted = `(${tag.substring(1, 5)},${tag.substring(5, 9)})`;
|
|
38597
|
-
// // console.log(!!TAG_DICT[formatted] ? TAG_DICT[formatted].vr : undefined);
|
|
38598
38596
|
// return !!TAG_DICT[formatted] ? TAG_DICT[formatted].vr : undefined;
|
|
38599
38597
|
// },
|
|
38600
38598
|
// });
|
|
@@ -44102,7 +44100,6 @@
|
|
|
44102
44100
|
// 获取边界框的尺寸
|
|
44103
44101
|
const size_ = new Vector3();
|
|
44104
44102
|
boundingBox.getSize(size_);
|
|
44105
|
-
console.log(size_);
|
|
44106
44103
|
scene.add(mesh);
|
|
44107
44104
|
const gui = new GUI$1();
|
|
44108
44105
|
gui.add(volconfig, "clim1_g", -500, 500, 1).onChange((value) => {
|
|
@@ -44171,7 +44168,6 @@
|
|
|
44171
44168
|
// nrrdSlices.z.index = i;
|
|
44172
44169
|
// nrrdSlices.z.repaint(nrrdSlices.z);
|
|
44173
44170
|
// nrrdSlices.z.mesh.position.set(0, 0, 0.5);
|
|
44174
|
-
// console.log(nrrdSlices.z.mesh);
|
|
44175
44171
|
// }, 100);
|
|
44176
44172
|
// }
|
|
44177
44173
|
let up = true;
|
|
@@ -44216,7 +44212,6 @@
|
|
|
44216
44212
|
// }
|
|
44217
44213
|
// if (slicesX[index]) {
|
|
44218
44214
|
// controls.enabled = false;
|
|
44219
|
-
// console.log(slicesX[index]);
|
|
44220
44215
|
// slicesX[index].visible = false;
|
|
44221
44216
|
// // ? (slicesX[index].visible = false)
|
|
44222
44217
|
// // : (slicesX[index].visible = true);
|
|
@@ -45252,7 +45247,7 @@
|
|
|
45252
45247
|
this.maxDistance = Infinity;
|
|
45253
45248
|
this.minZoom = 0;
|
|
45254
45249
|
this.maxZoom = Infinity;
|
|
45255
|
-
this.keys = ["KeyA"
|
|
45250
|
+
this.keys = ["KeyA" /*A*/, "KeyS" /*S*/, "KeyD" /*D*/];
|
|
45256
45251
|
this.mouseButtons = {
|
|
45257
45252
|
LEFT: MOUSE.ROTATE,
|
|
45258
45253
|
MIDDLE: MOUSE.DOLLY,
|
|
@@ -45270,11 +45265,10 @@
|
|
|
45270
45265
|
this.position0 = this.object.position.clone();
|
|
45271
45266
|
this.up0 = this.object.up.clone();
|
|
45272
45267
|
this.zoom0 = this.object.zoom;
|
|
45273
|
-
//
|
|
45268
|
+
// methods
|
|
45274
45269
|
this.handleResize = function () {
|
|
45275
45270
|
const box = scope.domElement.getBoundingClientRect();
|
|
45276
|
-
// adjustments come from similar code in the jquery
|
|
45277
|
-
// get root element
|
|
45271
|
+
// adjustments come from similar code in the jquery offset() function
|
|
45278
45272
|
const d = scope.domElement.ownerDocument.documentElement;
|
|
45279
45273
|
scope.screen.left = box.left + window.pageXOffset - d.clientLeft;
|
|
45280
45274
|
scope.screen.top = box.top + window.pageYOffset - d.clientTop;
|
|
@@ -45289,18 +45283,11 @@
|
|
|
45289
45283
|
};
|
|
45290
45284
|
})();
|
|
45291
45285
|
const getMouseOnCircle = (function () {
|
|
45292
|
-
/**
|
|
45293
|
-
* convert screen coordinates to threejs coordinates ratio
|
|
45294
|
-
*/
|
|
45295
45286
|
const vector = new Vector2();
|
|
45296
|
-
return function
|
|
45297
|
-
vector.set(
|
|
45298
|
-
|
|
45299
|
-
|
|
45300
|
-
(scope.screen.width * 0.5),
|
|
45301
|
-
// the height radius of the circle diameter
|
|
45302
|
-
(scope.screen.height + 2 * (scope.screen.top - pageY)) /
|
|
45303
|
-
scope.screen.width //screen.width intentional
|
|
45287
|
+
return function getMouseOnCircle(pageX, pageY) {
|
|
45288
|
+
vector.set((pageX - scope.screen.width * 0.5 - scope.screen.left) /
|
|
45289
|
+
(scope.screen.width * 0.5), (scope.screen.height + 2 * (scope.screen.top - pageY)) /
|
|
45290
|
+
scope.screen.width // screen.width intentional
|
|
45304
45291
|
);
|
|
45305
45292
|
return vector;
|
|
45306
45293
|
};
|
|
@@ -45309,26 +45296,20 @@
|
|
|
45309
45296
|
const axis = new Vector3(), quaternion = new Quaternion(), eyeDirection = new Vector3(), objectUpDirection = new Vector3(), objectSidewaysDirection = new Vector3(), moveDirection = new Vector3();
|
|
45310
45297
|
return function rotateCamera() {
|
|
45311
45298
|
moveDirection.set(_moveCurr.x - _movePrev.x, _moveCurr.y - _movePrev.y, 0);
|
|
45312
|
-
// Computes the Euclidean length (straight-line length) from (0, 0, 0) to (x, y, z).
|
|
45313
45299
|
let angle = moveDirection.length();
|
|
45314
45300
|
if (angle) {
|
|
45315
|
-
// .sub Subtracts v from this vector.
|
|
45316
45301
|
_eye.copy(scope.object.position).sub(scope.target);
|
|
45317
|
-
// .normalize() Convert this vector to a unit vector - that is, sets it equal to a vector with the same direction as this one, but length 1.
|
|
45318
45302
|
eyeDirection.copy(_eye).normalize();
|
|
45319
45303
|
objectUpDirection.copy(scope.object.up).normalize();
|
|
45320
|
-
// .crossVectors Sets this vector to cross product of a and b.
|
|
45321
45304
|
objectSidewaysDirection
|
|
45322
45305
|
.crossVectors(objectUpDirection, eyeDirection)
|
|
45323
45306
|
.normalize();
|
|
45324
|
-
// .setLength Set this vector to a vector with the same direction as this one, but length l.
|
|
45325
45307
|
objectUpDirection.setLength(_moveCurr.y - _movePrev.y);
|
|
45326
45308
|
objectSidewaysDirection.setLength(_moveCurr.x - _movePrev.x);
|
|
45327
45309
|
moveDirection.copy(objectUpDirection.add(objectSidewaysDirection));
|
|
45328
45310
|
axis.crossVectors(moveDirection, _eye).normalize();
|
|
45329
45311
|
angle *= scope.rotateSpeed;
|
|
45330
45312
|
quaternion.setFromAxisAngle(axis, angle);
|
|
45331
|
-
// Applies a Quaternion transform to this vector.
|
|
45332
45313
|
_eye.applyQuaternion(quaternion);
|
|
45333
45314
|
scope.object.up.applyQuaternion(quaternion);
|
|
45334
45315
|
_lastAxis.copy(axis);
|
|
@@ -45383,15 +45364,15 @@
|
|
|
45383
45364
|
const mouseChange = new Vector2(), objectUp = new Vector3(), pan = new Vector3();
|
|
45384
45365
|
return function panCamera() {
|
|
45385
45366
|
mouseChange.copy(_panEnd).sub(_panStart);
|
|
45386
|
-
// .lengthSq() Computes the squared length of this vector. If you are comparing the lengths of vectors, you should compare the length squared instead as it is slightly more efficient to calculate.
|
|
45387
45367
|
if (mouseChange.lengthSq()) {
|
|
45388
45368
|
if (scope.object.isOrthographicCamera) {
|
|
45389
|
-
const
|
|
45390
|
-
|
|
45391
|
-
|
|
45369
|
+
const scale_x = (scope.object.right -
|
|
45370
|
+
scope.object.left) /
|
|
45371
|
+
scope.object.zoom /
|
|
45392
45372
|
scope.domElement.clientWidth;
|
|
45393
|
-
const scale_y = (
|
|
45394
|
-
|
|
45373
|
+
const scale_y = (scope.object.top -
|
|
45374
|
+
scope.object.bottom) /
|
|
45375
|
+
scope.object.zoom /
|
|
45395
45376
|
scope.domElement.clientWidth;
|
|
45396
45377
|
mouseChange.x *= scale_x;
|
|
45397
45378
|
mouseChange.y *= scale_y;
|
|
@@ -45477,9 +45458,10 @@
|
|
|
45477
45458
|
return;
|
|
45478
45459
|
if (_pointers.length === 0) {
|
|
45479
45460
|
scope.domElement.setPointerCapture(event.pointerId);
|
|
45480
|
-
scope.domElement.addEventListener("pointermove", onPointerMove
|
|
45481
|
-
scope.domElement.addEventListener("pointerup", onPointerUp
|
|
45461
|
+
scope.domElement.addEventListener("pointermove", onPointerMove);
|
|
45462
|
+
scope.domElement.addEventListener("pointerup", onPointerUp);
|
|
45482
45463
|
}
|
|
45464
|
+
//
|
|
45483
45465
|
addPointer(event);
|
|
45484
45466
|
if (event.pointerType === "touch") {
|
|
45485
45467
|
onTouchStart(event);
|
|
@@ -45507,11 +45489,12 @@
|
|
|
45507
45489
|
else {
|
|
45508
45490
|
onMouseUp();
|
|
45509
45491
|
}
|
|
45492
|
+
//
|
|
45510
45493
|
removePointer(event);
|
|
45511
45494
|
if (_pointers.length === 0) {
|
|
45512
45495
|
scope.domElement.releasePointerCapture(event.pointerId);
|
|
45513
|
-
scope.domElement.removeEventListener("pointermove", onPointerMove
|
|
45514
|
-
scope.domElement.removeEventListener("pointerup", onPointerUp
|
|
45496
|
+
scope.domElement.removeEventListener("pointermove", onPointerMove);
|
|
45497
|
+
scope.domElement.removeEventListener("pointerup", onPointerUp);
|
|
45515
45498
|
}
|
|
45516
45499
|
}
|
|
45517
45500
|
function onPointerCancel(event) {
|
|
@@ -45534,11 +45517,11 @@
|
|
|
45534
45517
|
_keyState = STATE.PAN;
|
|
45535
45518
|
}
|
|
45536
45519
|
}
|
|
45537
|
-
function keyup(
|
|
45520
|
+
function keyup() {
|
|
45538
45521
|
if (scope.enabled === false)
|
|
45539
45522
|
return;
|
|
45540
45523
|
_keyState = STATE.NONE;
|
|
45541
|
-
window.addEventListener("keydown", keydown
|
|
45524
|
+
window.addEventListener("keydown", keydown);
|
|
45542
45525
|
}
|
|
45543
45526
|
function onMouseDown(event) {
|
|
45544
45527
|
if (_state === STATE.NONE) {
|
|
@@ -45582,7 +45565,7 @@
|
|
|
45582
45565
|
_panEnd.copy(getMouseOnScreen(event.pageX, event.pageY));
|
|
45583
45566
|
}
|
|
45584
45567
|
}
|
|
45585
|
-
function onMouseUp(
|
|
45568
|
+
function onMouseUp() {
|
|
45586
45569
|
_state = STATE.NONE;
|
|
45587
45570
|
scope.dispatchEvent(_endEvent$2);
|
|
45588
45571
|
}
|
|
@@ -45716,7 +45699,7 @@
|
|
|
45716
45699
|
function removePointer(event) {
|
|
45717
45700
|
delete _pointerPositions[event.pointerId];
|
|
45718
45701
|
for (let i = 0; i < _pointers.length; i++) {
|
|
45719
|
-
if (_pointers[i].pointerId
|
|
45702
|
+
if (_pointers[i].pointerId == event.pointerId) {
|
|
45720
45703
|
_pointers.splice(i, 1);
|
|
45721
45704
|
return;
|
|
45722
45705
|
}
|
|
@@ -45737,21 +45720,21 @@
|
|
|
45737
45720
|
return _pointerPositions[pointer.pointerId];
|
|
45738
45721
|
}
|
|
45739
45722
|
this.dispose = function () {
|
|
45740
|
-
scope.domElement.removeEventListener("contextmenu", contextmenu
|
|
45741
|
-
scope.domElement.removeEventListener("pointerdown", onPointerDown
|
|
45742
|
-
scope.domElement.removeEventListener("pointercancel", onPointerCancel
|
|
45743
|
-
scope.domElement.removeEventListener("wheel", onMouseWheel
|
|
45744
|
-
scope.domElement.removeEventListener("pointermove", onPointerMove
|
|
45745
|
-
scope.domElement.removeEventListener("pointerup", onPointerUp
|
|
45746
|
-
window.removeEventListener("keydown", keydown
|
|
45747
|
-
window.removeEventListener("keyup", keyup
|
|
45723
|
+
scope.domElement.removeEventListener("contextmenu", contextmenu);
|
|
45724
|
+
scope.domElement.removeEventListener("pointerdown", onPointerDown);
|
|
45725
|
+
scope.domElement.removeEventListener("pointercancel", onPointerCancel);
|
|
45726
|
+
scope.domElement.removeEventListener("wheel", onMouseWheel);
|
|
45727
|
+
scope.domElement.removeEventListener("pointermove", onPointerMove);
|
|
45728
|
+
scope.domElement.removeEventListener("pointerup", onPointerUp);
|
|
45729
|
+
window.removeEventListener("keydown", keydown);
|
|
45730
|
+
window.removeEventListener("keyup", keyup);
|
|
45748
45731
|
};
|
|
45749
|
-
this.domElement.addEventListener("contextmenu", contextmenu
|
|
45750
|
-
this.domElement.addEventListener("pointerdown", onPointerDown
|
|
45751
|
-
this.domElement.addEventListener("pointercancel", onPointerCancel
|
|
45732
|
+
this.domElement.addEventListener("contextmenu", contextmenu);
|
|
45733
|
+
this.domElement.addEventListener("pointerdown", onPointerDown);
|
|
45734
|
+
this.domElement.addEventListener("pointercancel", onPointerCancel);
|
|
45752
45735
|
this.domElement.addEventListener("wheel", onMouseWheel, { passive: false });
|
|
45753
|
-
window.addEventListener("keydown", keydown
|
|
45754
|
-
window.addEventListener("keyup", keyup
|
|
45736
|
+
window.addEventListener("keydown", keydown);
|
|
45737
|
+
window.addEventListener("keyup", keyup);
|
|
45755
45738
|
this.handleResize();
|
|
45756
45739
|
// force an update at start
|
|
45757
45740
|
this.update();
|
|
@@ -47010,7 +46993,7 @@
|
|
|
47010
46993
|
}
|
|
47011
46994
|
|
|
47012
46995
|
class commonScene {
|
|
47013
|
-
constructor(container) {
|
|
46996
|
+
constructor(container, opt) {
|
|
47014
46997
|
this.subDiv = null;
|
|
47015
46998
|
this.subScene = new Scene();
|
|
47016
46999
|
this.subCamera = null;
|
|
@@ -47022,7 +47005,16 @@
|
|
|
47022
47005
|
this.pickableObjects = [];
|
|
47023
47006
|
this.container = container;
|
|
47024
47007
|
this.scene = new Scene();
|
|
47025
|
-
this.
|
|
47008
|
+
this.copperPerspectiveCamera = new PerspectiveCamera(75, container.clientWidth / container.clientHeight, 0.1, 500);
|
|
47009
|
+
const h = 1024;
|
|
47010
|
+
const aspect = window.innerWidth / window.innerHeight;
|
|
47011
|
+
this.copperOrthographicCamera = new OrthographicCamera((-h * aspect) / 2, (h * aspect) / 2, h / 2, -h / 2, 1, 2000);
|
|
47012
|
+
if ((opt === null || opt === void 0 ? void 0 : opt.camera) === "orthographic") {
|
|
47013
|
+
this.camera = this.copperOrthographicCamera;
|
|
47014
|
+
}
|
|
47015
|
+
else {
|
|
47016
|
+
this.camera = this.copperPerspectiveCamera;
|
|
47017
|
+
}
|
|
47026
47018
|
this.controls = new Copper3dTrackballControls(this.camera, this.container);
|
|
47027
47019
|
this.controls.dispose();
|
|
47028
47020
|
this.preRenderCallbackFunctions = {
|
|
@@ -47223,9 +47215,7 @@
|
|
|
47223
47215
|
}
|
|
47224
47216
|
loadNrrdTexture3d(url, callback) {
|
|
47225
47217
|
// const h = 512; // frustum height
|
|
47226
|
-
|
|
47227
|
-
const aspect = window.innerWidth / window.innerHeight;
|
|
47228
|
-
this.camera = new OrthographicCamera((-h * aspect) / 2, (h * aspect) / 2, h / 2, -h / 2, 1, 2000);
|
|
47218
|
+
this.camera.updateProjectionMatrix();
|
|
47229
47219
|
this.camera.position.set(0, 0, 1280);
|
|
47230
47220
|
this.camera.up.set(0, 0, 1);
|
|
47231
47221
|
this.camera.updateProjectionMatrix();
|
|
@@ -47246,9 +47236,7 @@
|
|
|
47246
47236
|
this.scene.add(obj);
|
|
47247
47237
|
!!callback && callback(obj);
|
|
47248
47238
|
}, // called when loading is in progresses
|
|
47249
|
-
(xhr) => {
|
|
47250
|
-
// console.log((xhr.loaded / xhr.total) * 100 + "% loaded");
|
|
47251
|
-
},
|
|
47239
|
+
(xhr) => { },
|
|
47252
47240
|
// called when loading has errors
|
|
47253
47241
|
(error) => {
|
|
47254
47242
|
console.log("An error happened");
|
|
@@ -47258,8 +47246,8 @@
|
|
|
47258
47246
|
|
|
47259
47247
|
const IS_IOS = isIOS();
|
|
47260
47248
|
class baseScene extends commonScene {
|
|
47261
|
-
constructor(container, renderer,
|
|
47262
|
-
super(container);
|
|
47249
|
+
constructor(container, renderer, opt) {
|
|
47250
|
+
super(container, opt);
|
|
47263
47251
|
// scene: THREE.Scene;
|
|
47264
47252
|
// camera: THREE.PerspectiveCamera;
|
|
47265
47253
|
this.sceneName = "";
|
|
@@ -47273,18 +47261,19 @@
|
|
|
47273
47261
|
this.lights = [];
|
|
47274
47262
|
this.onWindowResize = () => {
|
|
47275
47263
|
var _a;
|
|
47276
|
-
console.log("adaa");
|
|
47277
47264
|
this.renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
|
|
47278
47265
|
this.onRenderCameraChange();
|
|
47279
47266
|
(_a = this.vignette) === null || _a === void 0 ? void 0 : _a.style({
|
|
47280
47267
|
aspect: this.camera.aspect,
|
|
47281
47268
|
});
|
|
47269
|
+
if (this.controls instanceof Copper3dTrackballControls)
|
|
47270
|
+
this.controls.handleResize();
|
|
47282
47271
|
this.renderer.setSize(this.container.clientWidth, this.container.clientHeight);
|
|
47283
47272
|
};
|
|
47284
47273
|
this.renderer = renderer;
|
|
47285
47274
|
this.ambientLight = new AmbientLight(0x202020, 0.3);
|
|
47286
47275
|
this.directionalLight = new DirectionalLight(0xffffff, 0.3);
|
|
47287
|
-
if (!alpha) {
|
|
47276
|
+
if (!(opt === null || opt === void 0 ? void 0 : opt.alpha)) {
|
|
47288
47277
|
this.vignette = createBackground({
|
|
47289
47278
|
aspect: this.container.clientWidth / this.container.clientHeight,
|
|
47290
47279
|
grainScale: IS_IOS ? 0 : 0.001,
|
|
@@ -47299,7 +47288,7 @@
|
|
|
47299
47288
|
init() {
|
|
47300
47289
|
this.copperControl.setCameraViewPoint();
|
|
47301
47290
|
this.camera.position.z = 2;
|
|
47302
|
-
this.scene.add(this.camera);
|
|
47291
|
+
// this.scene.add(this.camera);
|
|
47303
47292
|
this.renderer.setSize(this.container.clientWidth, this.container.clientHeight);
|
|
47304
47293
|
this.addLights();
|
|
47305
47294
|
}
|
|
@@ -48109,10 +48098,14 @@
|
|
|
48109
48098
|
this.pmremGenerator.compileEquirectangularShader();
|
|
48110
48099
|
this.renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
|
|
48111
48100
|
if (!!((_b = this.options) === null || _b === void 0 ? void 0 : _b.alpha)) {
|
|
48112
|
-
this.currentScene = new baseScene(this.container, this.renderer,
|
|
48101
|
+
this.currentScene = new baseScene(this.container, this.renderer, {
|
|
48102
|
+
alpha: true,
|
|
48103
|
+
});
|
|
48113
48104
|
}
|
|
48114
48105
|
else {
|
|
48115
|
-
this.currentScene = new baseScene(this.container, this.renderer,
|
|
48106
|
+
this.currentScene = new baseScene(this.container, this.renderer, {
|
|
48107
|
+
alpha: false,
|
|
48108
|
+
});
|
|
48116
48109
|
}
|
|
48117
48110
|
this.currentScene.sceneName = "default";
|
|
48118
48111
|
!!this.currentScene.vignette &&
|
|
@@ -48197,11 +48190,11 @@
|
|
|
48197
48190
|
bgColor1Ctrl.onChange(() => this.currentScene.updateBackground(this.state.bgColor1, this.state.bgColor2));
|
|
48198
48191
|
bgColor2Ctrl.onChange(() => this.currentScene.updateBackground(this.state.bgColor1, this.state.bgColor2));
|
|
48199
48192
|
// camera
|
|
48200
|
-
if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.
|
|
48193
|
+
if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.cameraGui) {
|
|
48201
48194
|
this.cameraFolder = gui.addFolder("Camera");
|
|
48202
48195
|
}
|
|
48203
48196
|
// Performance
|
|
48204
|
-
if ((_b = this.options) === null || _b === void 0 ? void 0 : _b.
|
|
48197
|
+
if ((_b = this.options) === null || _b === void 0 ? void 0 : _b.performanceGui) {
|
|
48205
48198
|
const perfFolder = gui.addFolder("Performance");
|
|
48206
48199
|
const perfLi = document.createElement("li");
|
|
48207
48200
|
this.stats.dom.style.position = "static";
|
|
@@ -48210,7 +48203,7 @@
|
|
|
48210
48203
|
perfFolder.__ul.appendChild(perfLi);
|
|
48211
48204
|
}
|
|
48212
48205
|
// lights
|
|
48213
|
-
if ((_c = this.options) === null || _c === void 0 ? void 0 : _c.
|
|
48206
|
+
if ((_c = this.options) === null || _c === void 0 ? void 0 : _c.lightGui) {
|
|
48214
48207
|
const lightFolder = gui.addFolder("LightsFolder");
|
|
48215
48208
|
[
|
|
48216
48209
|
lightFolder.add(this.state, "addLights").listen(),
|
|
@@ -56255,11 +56248,8 @@
|
|
|
56255
56248
|
}
|
|
56256
56249
|
|
|
56257
56250
|
class copperScene extends baseScene {
|
|
56258
|
-
|
|
56259
|
-
|
|
56260
|
-
// private sort: boolean = true; //default ascending order
|
|
56261
|
-
constructor(container, renderer, controls, alpha) {
|
|
56262
|
-
super(container, renderer, alpha);
|
|
56251
|
+
constructor(container, renderer, opt) {
|
|
56252
|
+
super(container, renderer, opt);
|
|
56263
56253
|
this.clock = new Clock();
|
|
56264
56254
|
// isHalfed: boolean = false;
|
|
56265
56255
|
this.mixer = null;
|
|
@@ -56267,12 +56257,11 @@
|
|
|
56267
56257
|
this.modelReady = false;
|
|
56268
56258
|
// rayster pick
|
|
56269
56259
|
// texture2d
|
|
56270
|
-
// private depthStep: number = 0.4;
|
|
56271
56260
|
this.texture2dMesh = null;
|
|
56272
|
-
if (controls === "trackball") {
|
|
56261
|
+
if ((opt === null || opt === void 0 ? void 0 : opt.controls) === "trackball") {
|
|
56273
56262
|
this.controls = new TrackballControls(this.camera, this.renderer.domElement);
|
|
56274
56263
|
}
|
|
56275
|
-
else if (controls === "orbit") {
|
|
56264
|
+
else if ((opt === null || opt === void 0 ? void 0 : opt.controls) === "orbit") {
|
|
56276
56265
|
this.controls = new OrbitControls(this.camera, this.renderer.domElement);
|
|
56277
56266
|
}
|
|
56278
56267
|
else {
|
|
@@ -56515,13 +56504,12 @@
|
|
|
56515
56504
|
}
|
|
56516
56505
|
updateControls(camera) {
|
|
56517
56506
|
this.controls.dispose();
|
|
56518
|
-
this.controls = new
|
|
56507
|
+
this.controls = new Copper3dTrackballControls(camera, this.renderer.domElement);
|
|
56519
56508
|
// this.controls.target.set(64, 64, 128);
|
|
56520
56509
|
this.controls.target.set(0, 0, 0);
|
|
56521
56510
|
this.controls.minZoom = 0.5;
|
|
56522
56511
|
this.controls.maxZoom = 4;
|
|
56523
56512
|
// this.controls.enablePan = false;
|
|
56524
|
-
this.controls.update();
|
|
56525
56513
|
}
|
|
56526
56514
|
onRenderCameraChange() {
|
|
56527
56515
|
const { width, height } = this.container.getBoundingClientRect();
|
|
@@ -56535,7 +56523,6 @@
|
|
|
56535
56523
|
else {
|
|
56536
56524
|
this.camera.aspect = aspect;
|
|
56537
56525
|
}
|
|
56538
|
-
this.camera.updateProjectionMatrix();
|
|
56539
56526
|
}
|
|
56540
56527
|
render() {
|
|
56541
56528
|
this.controls.update();
|
|
@@ -56583,13 +56570,17 @@
|
|
|
56583
56570
|
}
|
|
56584
56571
|
}
|
|
56585
56572
|
createScene(name) {
|
|
56586
|
-
var _a, _b;
|
|
56573
|
+
var _a, _b, _c;
|
|
56587
56574
|
if (this.sceneMap[name] != undefined) {
|
|
56588
56575
|
return undefined;
|
|
56589
56576
|
}
|
|
56590
56577
|
else {
|
|
56591
56578
|
const alpha = !!((_a = this.options) === null || _a === void 0 ? void 0 : _a.alpha);
|
|
56592
|
-
const new_scene = new copperScene(this.container, this.renderer,
|
|
56579
|
+
const new_scene = new copperScene(this.container, this.renderer, {
|
|
56580
|
+
camera: (_b = this.options) === null || _b === void 0 ? void 0 : _b.cameraType,
|
|
56581
|
+
controls: (_c = this.options) === null || _c === void 0 ? void 0 : _c.controls,
|
|
56582
|
+
alpha: alpha,
|
|
56583
|
+
});
|
|
56593
56584
|
new_scene.sceneName = name;
|
|
56594
56585
|
this.updateEnvironment(new_scene.vignette);
|
|
56595
56586
|
this.sceneMap[name] = new_scene;
|
|
@@ -56733,9 +56724,6 @@
|
|
|
56733
56724
|
constructor(container, options) {
|
|
56734
56725
|
super(container, options);
|
|
56735
56726
|
this.sceneMap = {};
|
|
56736
|
-
// addGui(): void {
|
|
56737
|
-
// console.log("hello");
|
|
56738
|
-
// }
|
|
56739
56727
|
this.animate = () => {
|
|
56740
56728
|
this.render();
|
|
56741
56729
|
this.stats.update();
|
|
@@ -67843,8 +67831,6 @@
|
|
|
67843
67831
|
this.allSlicesArray[0].x.volume.dimensions[1];
|
|
67844
67832
|
this.nrrd_states.nrrd_z_pixel =
|
|
67845
67833
|
this.allSlicesArray[0].x.volume.dimensions[2];
|
|
67846
|
-
console.log("mm", this.nrrd_states.nrrd_x_mm);
|
|
67847
|
-
console.log("pixel", this.nrrd_states.nrrd_x_pixel);
|
|
67848
67834
|
this.nrrd_states.voxelSpacing = this.allSlicesArray[0].x.volume.spacing;
|
|
67849
67835
|
this.nrrd_states.ratios.x = this.allSlicesArray[0].x.volume.spacing[0];
|
|
67850
67836
|
this.nrrd_states.ratios.y = this.allSlicesArray[0].x.volume.spacing[1];
|
|
@@ -69779,8 +69765,8 @@
|
|
|
69779
69765
|
}
|
|
69780
69766
|
|
|
69781
69767
|
// import * as kiwrious from "copper3d_plugin_heart_k";
|
|
69782
|
-
const REVISION = "v1.15.
|
|
69783
|
-
console.log("%cCopper3D Visualisation %cBeta:v1.15.
|
|
69768
|
+
const REVISION = "v1.15.8";
|
|
69769
|
+
console.log("%cCopper3D Visualisation %cBeta:v1.15.8", "padding: 3px;color:white; background:#023047", "padding: 3px;color:white; background:#f50a25");
|
|
69784
69770
|
|
|
69785
69771
|
exports.CameraViewPoint = CameraViewPoint;
|
|
69786
69772
|
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.
|
|
19
|
+
export declare const REVISION = "v1.15.8";
|
|
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.
|
|
20
|
-
console.log("%cCopper3D Visualisation %cBeta:v1.15.
|
|
19
|
+
export const REVISION = "v1.15.8";
|
|
20
|
+
console.log("%cCopper3D Visualisation %cBeta:v1.15.8", "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
|
|
@@ -4,7 +4,7 @@ import baseScene from "../Scene/baseScene";
|
|
|
4
4
|
import { customMeshType } from "../lib/three-vignette";
|
|
5
5
|
import Stats from "three/examples/jsm/libs/stats.module";
|
|
6
6
|
import { GUI } from "dat.gui";
|
|
7
|
-
import {
|
|
7
|
+
import { ICopperRenderOpt } from "../types/types";
|
|
8
8
|
export default class baseRenderer {
|
|
9
9
|
container: HTMLDivElement;
|
|
10
10
|
renderer: THREE.WebGLRenderer;
|
|
@@ -12,12 +12,12 @@ export default class baseRenderer {
|
|
|
12
12
|
stats: Stats;
|
|
13
13
|
currentScene: baseScene;
|
|
14
14
|
pmremGenerator: THREE.PMREMGenerator;
|
|
15
|
-
options:
|
|
15
|
+
options: ICopperRenderOpt | undefined;
|
|
16
16
|
private state;
|
|
17
17
|
private visualiseFolder;
|
|
18
18
|
private visualCtrls;
|
|
19
19
|
private cameraFolder;
|
|
20
|
-
constructor(container: HTMLDivElement, options?:
|
|
20
|
+
constructor(container: HTMLDivElement, options?: ICopperRenderOpt);
|
|
21
21
|
init(): void;
|
|
22
22
|
updateEnvironment(vignette?: customMeshType): void;
|
|
23
23
|
private getCubeMapTexture;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import baseRenderer from "./baseRenderer";
|
|
2
2
|
import copperScene from "../Scene/copperScene";
|
|
3
|
-
import {
|
|
3
|
+
import { ICopperRenderOpt } from "../types/types";
|
|
4
4
|
export default class copperRenderer extends baseRenderer {
|
|
5
5
|
private sceneMap;
|
|
6
6
|
preRenderCallbackFunctions: Array<Function>;
|
|
7
|
-
constructor(container: HTMLDivElement, options?:
|
|
7
|
+
constructor(container: HTMLDivElement, options?: ICopperRenderOpt);
|
|
8
8
|
getSceneByName(name: string): copperScene | import("../Scene/baseScene").default | import("../index").copperMScene;
|
|
9
9
|
setCurrentScene(sceneIn: copperScene): void;
|
|
10
10
|
createScene(name: string): copperScene | undefined;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import baseRenderer from "./baseRenderer";
|
|
2
2
|
import copperScene from "../Scene/copperScene";
|
|
3
|
-
import {
|
|
3
|
+
import { ICopperRenderOpt } from "../types/types";
|
|
4
4
|
import copperSceneOnDemond from "../Scene/copperSceneOnDemond";
|
|
5
5
|
export default class copperRendererOnDemond extends baseRenderer {
|
|
6
6
|
private sceneMap;
|
|
7
|
-
constructor(container: HTMLDivElement, options?:
|
|
7
|
+
constructor(container: HTMLDivElement, options?: ICopperRenderOpt);
|
|
8
8
|
getSceneByName(name: string): copperScene | import("../Scene/baseScene").default | import("../index").copperMScene;
|
|
9
9
|
setCurrentScene(sceneIn: copperSceneOnDemond): void;
|
|
10
10
|
createScene(name: string): copperSceneOnDemond | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as THREE from "three";
|
|
2
2
|
import { Controls, CameraViewPoint } from "../Controls/copperControls";
|
|
3
3
|
import { customMeshType } from "../lib/three-vignette";
|
|
4
|
-
import { baseStateType } from "../types/types";
|
|
4
|
+
import { baseStateType, ICopperSceneOpts } from "../types/types";
|
|
5
5
|
import commonScene from "./commonSceneMethod";
|
|
6
6
|
export default class baseScene extends commonScene {
|
|
7
7
|
renderer: THREE.WebGLRenderer;
|
|
@@ -18,7 +18,7 @@ export default class baseScene extends commonScene {
|
|
|
18
18
|
private color1;
|
|
19
19
|
private color2;
|
|
20
20
|
private lights;
|
|
21
|
-
constructor(container: HTMLDivElement, renderer: THREE.WebGLRenderer,
|
|
21
|
+
constructor(container: HTMLDivElement, renderer: THREE.WebGLRenderer, opt?: ICopperSceneOpts);
|
|
22
22
|
init(): void;
|
|
23
23
|
loadMetadataUrl(url: string): void;
|
|
24
24
|
loadViewUrl(url: string): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { preRenderCallbackFunctionType, nrrdMeshesType, nrrdSliceType, loadingBarType, dicomLoaderOptsType, mouseMovePositionType } from "../types/types";
|
|
1
|
+
import { preRenderCallbackFunctionType, nrrdMeshesType, nrrdSliceType, loadingBarType, dicomLoaderOptsType, mouseMovePositionType, ICopperSceneOpts } from "../types/types";
|
|
2
2
|
import * as THREE from "three";
|
|
3
3
|
import { GUI } from "dat.gui";
|
|
4
4
|
import { optsType } from "../Loader/copperNrrdLoader";
|
|
@@ -10,6 +10,8 @@ export default class commonScene {
|
|
|
10
10
|
container: HTMLDivElement;
|
|
11
11
|
scene: THREE.Scene;
|
|
12
12
|
camera: THREE.PerspectiveCamera | THREE.OrthographicCamera;
|
|
13
|
+
copperPerspectiveCamera: THREE.PerspectiveCamera;
|
|
14
|
+
copperOrthographicCamera: THREE.OrthographicCamera;
|
|
13
15
|
subDiv: HTMLDivElement | null;
|
|
14
16
|
subScene: THREE.Scene;
|
|
15
17
|
subCamera: THREE.PerspectiveCamera | null;
|
|
@@ -21,7 +23,7 @@ export default class commonScene {
|
|
|
21
23
|
protected sort: boolean;
|
|
22
24
|
protected depthStep: number;
|
|
23
25
|
protected pickableObjects: THREE.Mesh[];
|
|
24
|
-
constructor(container: HTMLDivElement);
|
|
26
|
+
constructor(container: HTMLDivElement, opt?: ICopperSceneOpts);
|
|
25
27
|
createDemoMesh(): void;
|
|
26
28
|
addObject(obj: any): void;
|
|
27
29
|
setDepth(value: number): void;
|
|
@@ -5,6 +5,7 @@ import { OrbitControls } from "three/examples/jsm/controls/OrbitControls";
|
|
|
5
5
|
import baseScene from "./baseScene";
|
|
6
6
|
import { vtkModels } from "../types/types";
|
|
7
7
|
import { TrackballControls } from "three/examples/jsm/controls/TrackballControls";
|
|
8
|
+
import { ICopperSceneOpts } from "../types/types";
|
|
8
9
|
export default class copperScene extends baseScene {
|
|
9
10
|
clock: THREE.Clock;
|
|
10
11
|
controls: Copper3dTrackballControls | OrbitControls | TrackballControls;
|
|
@@ -13,7 +14,7 @@ export default class copperScene extends baseScene {
|
|
|
13
14
|
private modelReady;
|
|
14
15
|
private clipAction;
|
|
15
16
|
private texture2dMesh;
|
|
16
|
-
constructor(container: HTMLDivElement, renderer: THREE.WebGLRenderer,
|
|
17
|
+
constructor(container: HTMLDivElement, renderer: THREE.WebGLRenderer, opt?: ICopperSceneOpts);
|
|
17
18
|
loadGltf(url: string, callback?: (content: THREE.Group) => void): void;
|
|
18
19
|
loadVtk(url: string): void;
|
|
19
20
|
loadVtks(models: Array<vtkModels>): void;
|
package/dist/types/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.
|
|
19
|
+
export declare const REVISION = "v1.15.8";
|
|
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, };
|
|
@@ -5,13 +5,14 @@ import { GUI } from "dat.gui";
|
|
|
5
5
|
interface SceneMapType {
|
|
6
6
|
[key: string]: copperScene | baseScene | copperMScene;
|
|
7
7
|
}
|
|
8
|
-
interface
|
|
8
|
+
interface ICopperRenderOpt {
|
|
9
9
|
guiOpen: boolean;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
cameraGui?: boolean;
|
|
11
|
+
performanceGui?: boolean;
|
|
12
|
+
lightGui?: boolean;
|
|
13
13
|
alpha?: boolean;
|
|
14
14
|
controls?: "copper3d" | "trackball" | "orbit";
|
|
15
|
+
cameraType?: "perspective" | "orthographic";
|
|
15
16
|
[key: string]: string | boolean | undefined;
|
|
16
17
|
}
|
|
17
18
|
interface stateType {
|
|
@@ -77,6 +78,11 @@ interface HeartRateResult_kiwrious {
|
|
|
77
78
|
status: string;
|
|
78
79
|
value?: number;
|
|
79
80
|
}
|
|
81
|
+
interface ICopperSceneOpts {
|
|
82
|
+
controls?: "copper3d" | "orbit" | "trackball";
|
|
83
|
+
camera?: "perspective" | "orthographic";
|
|
84
|
+
alpha?: boolean;
|
|
85
|
+
}
|
|
80
86
|
declare class SerialService_kiwrious {
|
|
81
87
|
onSerialData?: (data: SensorReadResult_kiwrious) => void;
|
|
82
88
|
onSerialConnection?: (connect: boolean) => void;
|
|
@@ -196,4 +202,4 @@ interface IOptVTKLoader {
|
|
|
196
202
|
transparent?: boolean;
|
|
197
203
|
opacity?: number;
|
|
198
204
|
}
|
|
199
|
-
export type { SceneMapType,
|
|
205
|
+
export type { SceneMapType, ICopperRenderOpt, stateType, modelVisualisationDataType, preRenderCallbackFunctionType, baseStateType, nrrdMeshesType, nrrdSliceType, nrrdDragImageOptType, nrrdDrawImageOptType, loadingBarType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, SerialService_kiwrious, kiwriousType, mouseMovePositionType, positionType, paintImagesType, paintImageType, storedPaintImagesType, optionsGltfExporterType, vtkModels, undoType, copperVolumeType, dicomLoaderOptsType, skipSlicesDictType, exportPaintImagesType, exportPaintImageType, storeExportPaintImageType, IOptVTKLoader, ICopperSceneOpts, };
|