From dd5f3919ef02a9666b262250478e3aba4342e462 Mon Sep 17 00:00:00 2001 From: Xiao Gui <xgui3783@gmail.com> Date: Fri, 22 Jul 2022 09:11:57 +0200 Subject: [PATCH] chore: remove unused direct access to worker --- docs/releases/v2.7.3.md | 4 + .../atlasViewer.workerService.service.ts | 9 +- .../nehubaViewer.component.spec.ts | 2 - .../nehubaViewer/nehubaViewer.component.ts | 98 +------------------ .../viewerCtrlCmp.component.spec.ts | 2 - 5 files changed, 11 insertions(+), 104 deletions(-) diff --git a/docs/releases/v2.7.3.md b/docs/releases/v2.7.3.md index f5dd31e92..8034c954c 100644 --- a/docs/releases/v2.7.3.md +++ b/docs/releases/v2.7.3.md @@ -3,3 +3,7 @@ ## Bugfix - fixed matomo visitor counting (broke since 2.7.0 release) + +## Under the hood + +- minor refactor of unused code diff --git a/src/atlasViewer/atlasViewer.workerService.service.ts b/src/atlasViewer/atlasViewer.workerService.service.ts index 9a1711553..67a422714 100644 --- a/src/atlasViewer/atlasViewer.workerService.service.ts +++ b/src/atlasViewer/atlasViewer.workerService.service.ts @@ -3,9 +3,6 @@ import { fromEvent } from "rxjs"; import { filter, take } from "rxjs/operators"; import { getUuid } from "src/util/fn"; -// worker is now exported in angular.json file -export const worker = new Worker('worker.js') - interface IWorkerMessage { method: string param: any @@ -17,7 +14,11 @@ interface IWorkerMessage { }) export class AtlasWorkerService { - public worker = worker + private worker: Worker + + constructor(){ + this.worker = new Worker('worker.js') + } async sendMessage(_data: IWorkerMessage){ diff --git a/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.spec.ts b/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.spec.ts index c6437fc7c..6c5bb5aeb 100644 --- a/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.spec.ts +++ b/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.spec.ts @@ -1,7 +1,6 @@ import { TestBed, fakeAsync, tick, ComponentFixture } from "@angular/core/testing" import { CommonModule } from "@angular/common" import { NehubaViewerUnit, IMPORT_NEHUBA_INJECT_TOKEN, scanFn } from "./nehubaViewer.component" -import { AtlasWorkerService } from "src/atlasViewer/atlasViewer.workerService.service" import { LoggingModule, LoggingService } from "src/logging" import { IMeshesToLoad, SET_MESHES_TO_LOAD } from "../constants" import { Subject } from "rxjs" @@ -106,7 +105,6 @@ describe('> nehubaViewer.component.ts', () => { provide: SET_COLORMAP_OBS, useValue: setcolorMap$ }, - AtlasWorkerService, LoggingService, ] }).compileComponents() diff --git a/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts b/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts index b1f70202a..4d38f0487 100644 --- a/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts +++ b/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts @@ -1,7 +1,6 @@ import { Component, ElementRef, EventEmitter, OnDestroy, Output, Inject, Optional } from "@angular/core"; -import { fromEvent, Subscription, BehaviorSubject, Observable, Subject, of, interval } from 'rxjs' -import { debounceTime, filter, map, scan, switchMap, take, distinctUntilChanged, debounce } from "rxjs/operators"; -import { AtlasWorkerService } from "src/atlasViewer/atlasViewer.workerService.service"; +import { Subscription, BehaviorSubject, Observable, Subject, of, interval } from 'rxjs' +import { debounceTime, filter, scan, switchMap, take, distinctUntilChanged, debounce } from "rxjs/operators"; import { LoggingService } from "src/logging"; import { bufferUntil, getExportNehuba, getViewer, setNehubaViewer, switchMapWaitFor } from "src/util/fn"; import { deserializeSegment, NEHUBA_INSTANCE_INJTKN } from "../util"; @@ -135,7 +134,6 @@ export class NehubaViewerUnit implements OnDestroy { constructor( public elementRef: ElementRef, - private workerService: AtlasWorkerService, private log: LoggingService, @Inject(IMPORT_NEHUBA_INJECT_TOKEN) getImportNehubaPr: () => Promise<any>, @Optional() @Inject(NEHUBA_INSTANCE_INJTKN) private nehubaViewer$: Subject<NehubaViewerUnit>, @@ -179,67 +177,6 @@ export class NehubaViewerUnit implements OnDestroy { }) .catch(e => this.errorEmitter.emit(e)) - - /** - * TODO move to layerCtrl.service - */ - this.ondestroySubscriptions.push( - fromEvent(this.workerService.worker, 'message').pipe( - filter((message: any) => { - - if (!message) { - // this.log.error('worker response message is undefined', message) - return false - } - if (!message.data) { - // this.log.error('worker response message.data is undefined', message.data) - return false - } - if (message.data.type !== 'ASSEMBLED_USERLANDMARKS_VTK') { - /* worker responded with not assembled landmark, no need to act */ - return false - } - /** - * nb url may be undefined - * if undefined, user have removed all user landmarks, and all that needs to be done - * is remove the user landmark layer - * - * message.data.url - */ - - return true - }), - debounceTime(100), - map(e => e.data.url), - ).subscribe(url => { - this.landmarksLoaded = !!url - this.removeuserLandmarks() - - /** - * url may be null if user removes all landmarks - */ - if (!url) { - /** - * remove transparency from meshes in current layer(s) - */ - this.setMeshTransparency(false) - return - } - const _ = {} - _[NG_USER_LANDMARK_LAYER_NAME] = { - type: 'mesh', - source: `vtk://${url}`, - shader: this.userLandmarkShader, - } - this.loadLayer(_) - - /** - * adding transparency to meshes in current layer(s) - */ - this.setMeshTransparency(true) - }), - ) - if (this.setColormap$) { this.ondestroySubscriptions.push( this.setColormap$.pipe( @@ -546,37 +483,6 @@ export class NehubaViewerUnit implements OnDestroy { } private userLandmarkShader: string = FRAGMENT_MAIN_WHITE - - // TODO single landmark for user landmark - public updateUserLandmarks(landmarks: any[]) { - if (!this.nehubaViewer) { - return - } - - this.workerService.worker.postMessage({ - type : 'GET_USERLANDMARKS_VTK', - scale: Math.min(...this.dim.map(v => v * NG_LANDMARK_CONSTANT)), - landmarks : landmarks.map(lm => lm.position.map(coord => coord * 1e6)), - }) - - const parseLmColor = lm => { - if (!lm) return null - const { color } = lm - if (!color) return null - if (!Array.isArray(color)) return null - if (color.length !== 3) return null - const parseNum = num => (num >= 0 && num <= 255 ? num / 255 : 1).toFixed(3) - return `emitRGB(vec3(${color.map(parseNum).join(',')}));` - } - - const appendConditional = (frag, idx) => frag && `if (label > ${idx - 0.01} && label < ${idx + 0.01}) { ${frag} }` - - if (landmarks.some(parseLmColor)) { - this.userLandmarkShader = `void main(){ ${landmarks.map(parseLmColor).map(appendConditional).filter(v => !!v).join('else ')} else {${FRAGMENT_EMIT_WHITE}} }` - } else { - this.userLandmarkShader = FRAGMENT_MAIN_WHITE - } - } public removeSpatialSearch3DLandmarks() { this.removeLayer({ diff --git a/src/viewerModule/nehuba/viewerCtrl/viewerCtrlCmp/viewerCtrlCmp.component.spec.ts b/src/viewerModule/nehuba/viewerCtrl/viewerCtrlCmp/viewerCtrlCmp.component.spec.ts index c5042ecfc..0ec1d5125 100644 --- a/src/viewerModule/nehuba/viewerCtrl/viewerCtrlCmp/viewerCtrlCmp.component.spec.ts +++ b/src/viewerModule/nehuba/viewerCtrl/viewerCtrlCmp/viewerCtrlCmp.component.spec.ts @@ -22,7 +22,6 @@ describe('> viewerCtrlCmp.component.ts', () => { let mockStore: MockStore let mockNehubaViewer = { - updateUserLandmarks: jasmine.createSpy(), nehubaViewer: { ngviewer: { layerManager: { @@ -42,7 +41,6 @@ describe('> viewerCtrlCmp.component.ts', () => { } afterEach(() => { - mockNehubaViewer.updateUserLandmarks.calls.reset() mockNehubaViewer.nehubaViewer.ngviewer.layerManager.getLayerByName.calls.reset() mockNehubaViewer.nehubaViewer.ngviewer.display.scheduleRedraw.calls.reset() }) -- GitLab