viral-viewer-2 5.4.9 → 5.5.1

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.
@@ -15,4 +15,5 @@ export declare class ViralInstancedMesh extends InstancedMesh {
15
15
  isolateAts(indexs: number[]): void;
16
16
  overrideMaterialAts(indexs: number[], material: Material): void;
17
17
  reverseToOriginal(): void;
18
+ get totalOverrideIndexs(): number[];
18
19
  }
@@ -15,7 +15,9 @@ class ViralInstancedMesh extends three_1.InstancedMesh {
15
15
  this._originMesh = null;
16
16
  this._isOrigin = true;
17
17
  this.overrideMeshes = [];
18
- //before change anything, keep original mesh
18
+ this.userData.hoveredIndexs = [];
19
+ this.userData.selectedIndexs = [];
20
+ this.userData.totalOverrideIndexs = [];
19
21
  }
20
22
  hideAts(indexs) {
21
23
  //check if current mesh is origin or not
@@ -111,6 +113,12 @@ class ViralInstancedMesh extends three_1.InstancedMesh {
111
113
  this._originMesh.dispose();
112
114
  }
113
115
  }
116
+ get totalOverrideIndexs() {
117
+ let result = [];
118
+ this.userData.totalOverrideIndexs = this.userData.hoveredIndexs.concat(this.userData.selectedIndexs);
119
+ result = this.userData.totalOverrideIndexs;
120
+ return result;
121
+ }
114
122
  }
115
123
  exports.ViralInstancedMesh = ViralInstancedMesh;
116
124
  //# sourceMappingURL=viral-instanced-mesh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viral-instanced-mesh.js","sourceRoot":"","sources":["../../../src/components/custom-objects/viral-instanced-mesh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viral-instanced-mesh.js","sourceRoot":"","sources":["../../../src/components/custom-objects/viral-instanced-mesh.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,12 @@
1
1
  import { ViralViewerApi } from "../../viral-viewer-api";
2
2
  export declare class ViralCentralizedEventHandler {
3
3
  viralViewerApi: ViralViewerApi;
4
+ private _visibilityManager;
4
5
  constructor(viralViewerApi: ViralViewerApi);
5
6
  private contextMenuEventHandler;
6
7
  windowHandler(): void;
7
- private hoverMeshes;
8
- private cloneMeshes;
9
- private reverseColor;
10
8
  hoverElementHandler(): void;
11
- private selectedMesh;
12
- private selectedCloneMesh;
13
- private reverseElement;
14
9
  selectElementHandler(): void;
10
+ isShiftPressed: boolean;
11
+ keyboardHandler(): void;
15
12
  }
@@ -1,23 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ViralCentralizedEventHandler = void 0;
4
- const three_1 = require("three");
5
4
  const types_1 = require("../../types");
5
+ const __1 = require("../..");
6
6
  class ViralCentralizedEventHandler {
7
7
  constructor(viralViewerApi) {
8
8
  this.viralViewerApi = viralViewerApi;
9
9
  //#endregion
10
- //#region Hover Element Handler
11
- this.hoverMeshes = [];
12
- this.cloneMeshes = [];
13
- //#endregion
14
- //#region Select Element Handler
15
- this.selectedMesh = [];
16
- this.selectedCloneMesh = [];
10
+ //#region Keyboard
11
+ this.isShiftPressed = false;
17
12
  this.windowHandler();
18
13
  this.contextMenuEventHandler();
19
- // this.hoverElementHandler();
20
- // this.selectElementHandler();
14
+ this.hoverElementHandler();
15
+ this.selectElementHandler();
16
+ this._visibilityManager = this.viralViewerApi.viralVisibilityManager;
21
17
  }
22
18
  //#region Context Menu
23
19
  contextMenuEventHandler() {
@@ -28,12 +24,7 @@ class ViralCentralizedEventHandler {
28
24
  this.viralViewerApi.viralContextMenu.addContextItem(1, "Isolate", (result) => {
29
25
  this.viralViewerApi.viralContextMenu.hideContextMenu();
30
26
  });
31
- this.viralViewerApi.viralContextMenu.addContextItem(2, "Hide", (result) => {
32
- if (this.selectedMesh.length > 0)
33
- this.selectedMesh.forEach(element => {
34
- element.visible = false;
35
- });
36
- });
27
+ this.viralViewerApi.viralContextMenu.addContextItem(2, "Hide", (result) => { });
37
28
  this.viralViewerApi.viralContextMenu.addContextItem(3, "Focus", (result) => {
38
29
  this.viralViewerApi.viralContextMenu.hideContextMenu();
39
30
  });
@@ -56,118 +47,104 @@ class ViralCentralizedEventHandler {
56
47
  this.viralViewerApi.viralCamera.resizeCanvas();
57
48
  };
58
49
  }
59
- reverseColor() {
60
- if (this.hoverMeshes.length == 0 && this.cloneMeshes.length == 0)
61
- return;
62
- this.hoverMeshes.forEach((element) => {
63
- element.material = element.userData.originalMaterial;
64
- });
65
- this.cloneMeshes.forEach((element) => {
66
- element.geometry.dispose();
67
- element.material.dispose();
68
- element.removeFromParent();
69
- });
70
- this.viralViewerApi.viralRenderer.render();
71
- this.hoverMeshes = [];
72
- this.cloneMeshes = [];
73
- }
50
+ //#endregion
51
+ //#region Hover Element Handler
74
52
  hoverElementHandler() {
75
- this.viralViewerApi.viralMouse.addEventListener(types_1.ViralMouseEventType.ON_MOUSE_MOVE, "HoverElement", (result) => {
76
- var _a, _b;
77
- this.reverseColor();
53
+ const debouncedHandler = new types_1.DebouncedEventHandler(15, (evt) => {
54
+ var _a;
55
+ if (this._visibilityManager.hoverMeshes.length > 0) {
56
+ this._visibilityManager.reverseHoverMeshes =
57
+ this._visibilityManager.hoverMeshes;
58
+ }
59
+ if (this._visibilityManager.hoverInstancedMeshes.length > 0) {
60
+ this._visibilityManager.reverseHoverInstancedMeshes =
61
+ this._visibilityManager.hoverInstancedMeshes;
62
+ }
63
+ //execute only when camera stop moving
78
64
  if (!((_a = this.viralViewerApi) === null || _a === void 0 ? void 0 : _a.viralCamera.onUsing)) {
79
65
  let intersects = this.viralViewerApi.viralCamera.clientToWorld();
66
+ // console.log(intersects)
80
67
  if (intersects && intersects.length > 0) {
81
68
  let intersect = intersects[0];
82
69
  if ((intersect === null || intersect === void 0 ? void 0 : intersect.instanceId) != null) {
83
70
  let instancedMesh = intersect.object;
84
- // console.log(instancedMesh.);
85
- let matrix4 = new three_1.Matrix4();
86
- instancedMesh.getMatrixAt(intersect.instanceId, matrix4);
87
- let clone = new three_1.Mesh(instancedMesh.geometry, this.viralViewerApi.viralMaterialManager.hoverMaterial);
88
- clone.applyMatrix4(matrix4);
89
- clone.updateMatrix();
90
- clone.userData.instancedMeshId = instancedMesh.id;
91
- clone.userData.instanceIndex = intersect.instanceId;
92
- clone.renderOrder = 1;
93
- (_b = this.viralViewerApi) === null || _b === void 0 ? void 0 : _b.viralScene.addModel(clone);
94
- this.cloneMeshes.push(clone);
95
- this.viralViewerApi.viralRenderer.render();
71
+ instancedMesh.userData.hoveredIndexs.push(intersect.instanceId);
72
+ this._visibilityManager.hoverInstancedMeshes.push(instancedMesh);
73
+ this._visibilityManager.update();
96
74
  return;
97
75
  }
98
76
  if (intersect.object &&
99
77
  intersect.object.userData &&
100
78
  intersect.object.userData.Type == 1) {
101
79
  let mesh = intersect.object;
102
- mesh.userData.originalMaterial = Array.isArray(mesh.material)
103
- ? mesh.material.map((x) => x.clone())
104
- : mesh.material.clone();
105
- mesh.material =
106
- this.viralViewerApi.viralMaterialManager.hoverMaterial;
107
- this.hoverMeshes.push(mesh);
108
- this.viralViewerApi.viralRenderer.render();
80
+ this._visibilityManager.hoverMeshes.push(mesh);
81
+ this._visibilityManager.update();
109
82
  return;
110
83
  }
111
84
  }
112
85
  }
113
86
  });
114
- }
115
- reverseElement() {
116
- if (this.selectedMesh.length == 0 && this.selectedCloneMesh.length == 0)
117
- return;
118
- this.selectedMesh.forEach((element) => {
119
- element.material = element.userData.originalMaterial;
120
- });
121
- this.selectedCloneMesh.forEach((element) => {
122
- element.geometry.dispose();
123
- element.material.dispose();
124
- element.removeFromParent();
87
+ this.viralViewerApi.viralMouse.addEventListener(types_1.ViralMouseEventType.ON_MOUSE_MOVE, "HoverElement", (result) => {
88
+ debouncedHandler.handleEvent(result);
125
89
  });
126
- this.viralViewerApi.viralRenderer.render();
127
- this.selectedMesh = [];
128
- this.selectedCloneMesh = [];
129
90
  }
91
+ //#endregion
92
+ //#region Select Element Handler
130
93
  selectElementHandler() {
131
94
  this.viralViewerApi.viralMouse.addEventListener(types_1.ViralMouseEventType.ON_MOUSE_DOWN_LEFT, "SelectElement", (result) => {
132
- var _a, _b;
133
- this.reverseElement();
134
- if (!((_a = this.viralViewerApi) === null || _a === void 0 ? void 0 : _a.viralCamera.onUsing)) {
135
- let intersects = this.viralViewerApi.viralCamera.clientToWorld();
136
- if (intersects && intersects.length > 0) {
137
- let intersect = intersects[0];
138
- if ((intersect === null || intersect === void 0 ? void 0 : intersect.instanceId) != null) {
139
- let instancedMesh = intersect.object;
140
- // console.log(instancedMesh.);
141
- let matrix4 = new three_1.Matrix4();
142
- instancedMesh.getMatrixAt(intersect.instanceId, matrix4);
143
- let clone = new three_1.Mesh(instancedMesh.geometry, this.viralViewerApi.viralMaterialManager.hoverMaterial);
144
- clone.applyMatrix4(matrix4);
145
- clone.updateMatrix();
146
- clone.userData.instancedMeshId = instancedMesh.id;
147
- clone.userData.instanceIndex = intersect.instanceId;
148
- clone.renderOrder = 1;
149
- (_b = this.viralViewerApi) === null || _b === void 0 ? void 0 : _b.viralScene.addModel(clone);
150
- this.selectedCloneMesh.push(clone);
151
- this.viralViewerApi.viralRenderer.render();
152
- return;
153
- }
154
- if (intersect.object &&
155
- intersect.object.userData &&
156
- intersect.object.userData.Type == 1) {
157
- let mesh = intersect.object;
158
- mesh.userData.originalMaterial = Array.isArray(mesh.material)
159
- ? mesh.material.map((x) => x.clone())
160
- : mesh.material.clone();
161
- mesh.material =
162
- this.viralViewerApi.viralMaterialManager.hoverMaterial;
163
- this.selectedMesh.push(mesh);
164
- this.viralViewerApi.viralRenderer.render();
165
- return;
166
- }
95
+ /**
96
+ * reverse material, in case pressing shift will ignore
97
+ */
98
+ if (!this.isShiftPressed) {
99
+ if (this._visibilityManager.selectedMeshes.length > 0) {
100
+ this._visibilityManager.reverseSelectedMeshes =
101
+ this._visibilityManager.selectedMeshes;
102
+ }
103
+ if (this._visibilityManager.selectedInstancedMeshes.length > 0) {
104
+ this._visibilityManager.reverseSelectedInstancedMeshes =
105
+ this._visibilityManager.selectedInstancedMeshes;
106
+ }
107
+ }
108
+ let intersects = this.viralViewerApi.viralCamera.clientToWorld();
109
+ // console.log(intersects)
110
+ if (intersects && intersects.length > 0) {
111
+ let intersect = intersects[0];
112
+ //in case instanced mesh
113
+ if ((intersect === null || intersect === void 0 ? void 0 : intersect.instanceId) != null) {
114
+ let instancedMesh = intersect.object;
115
+ instancedMesh.userData.selectedIndexs.push(intersect.instanceId);
116
+ this._visibilityManager.selectedInstancedMeshes.push(instancedMesh);
117
+ this._visibilityManager.update();
118
+ return;
119
+ }
120
+ //normal object
121
+ if (intersect.object &&
122
+ intersect.object.userData &&
123
+ intersect.object.userData.Type == 1) {
124
+ let mesh = intersect.object;
125
+ this._visibilityManager.selectedMeshes.push(mesh);
126
+ this._visibilityManager.update();
127
+ return;
167
128
  }
168
129
  }
169
130
  });
170
131
  }
132
+ keyboardHandler() {
133
+ if (this.viralViewerApi.viralKeyboard) {
134
+ this.viralViewerApi.viralKeyboard.addEventListener(types_1.ViralKeyboardEventType.KEYUP, "KeyUp", (result) => {
135
+ if (result.shiftKey == false) {
136
+ this.isShiftPressed = false;
137
+ __1.LogUtil.information("release shift");
138
+ }
139
+ });
140
+ this.viralViewerApi.viralKeyboard.addEventListener(types_1.ViralKeyboardEventType.KEYDOWN, "KeyDown", (result) => {
141
+ if (result.shiftKey) {
142
+ this.isShiftPressed = true;
143
+ __1.LogUtil.information("press shift");
144
+ }
145
+ });
146
+ }
147
+ }
171
148
  }
172
149
  exports.ViralCentralizedEventHandler = ViralCentralizedEventHandler;
173
150
  //# sourceMappingURL=viral-centralized-event-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viral-centralized-event-handler.js","sourceRoot":"","sources":["../../../src/components/event-handler/viral-centralized-event-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viral-centralized-event-handler.js","sourceRoot":"","sources":["../../../src/components/event-handler/viral-centralized-event-handler.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export declare class ViralKeyboard {
4
4
  constructor(viralViewerApi: ViralViewerApi);
5
5
  private setupKeyPress;
6
6
  private keydownQueuedEvents;
7
+ private keyupQueuedEvents;
7
8
  /**
8
9
  *
9
10
  * @param type Mouse type event
@@ -7,10 +7,19 @@ class ViralKeyboard {
7
7
  this.viralViewerApi = viralViewerApi;
8
8
  //#region Event Handler
9
9
  this.keydownQueuedEvents = [];
10
+ this.keyupQueuedEvents = [];
10
11
  this.setupKeyPress();
11
12
  }
12
13
  setupKeyPress() {
13
- document.addEventListener('keydown', (event) => {
14
+ document.addEventListener("keydown", (event) => {
15
+ // console.log(event)
16
+ //#region Tools
17
+ if (this.viralViewerApi.viralTools.viralToolMeasure.isActivated) {
18
+ this.viralViewerApi.viralTools.viralToolMeasure.onKeyPress(event);
19
+ }
20
+ //#endregion
21
+ });
22
+ document.addEventListener("keyup", (event) => {
14
23
  // console.log(event)
15
24
  //#region Tools
16
25
  if (this.viralViewerApi.viralTools.viralToolMeasure.isActivated) {
@@ -30,6 +39,9 @@ class ViralKeyboard {
30
39
  case __1.ViralKeyboardEventType.KEYDOWN:
31
40
  this.keydownQueuedEvents.push([key, resolve]);
32
41
  break;
42
+ case __1.ViralKeyboardEventType.KEYUP:
43
+ this.keyupQueuedEvents.push([key, resolve]);
44
+ break;
33
45
  default:
34
46
  break;
35
47
  }
@@ -38,7 +50,7 @@ class ViralKeyboard {
38
50
  switch (type) {
39
51
  case __1.ViralKeyboardEventType.KEYDOWN:
40
52
  {
41
- let index = this.keydownQueuedEvents.findIndex(x => x[0] == key);
53
+ let index = this.keydownQueuedEvents.findIndex((x) => x[0] == key);
42
54
  this.keydownQueuedEvents.splice(index, 1);
43
55
  }
44
56
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"viral-keyboard.js","sourceRoot":"","sources":["../../../src/components/keyboard/viral-keyboard.ts"],"names":[],"mappings":";;;AAAA,6BAA+D;AAE/D,MAAa,aAAa;IAEtB,YAAmB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAejD,uBAAuB;QACf,wBAAmB,GAA4C,EAAE,CAAC;QAftE,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAEO,aAAa;QACjB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAoB,EAAE,EAAE;YAC1D,qBAAqB;YACrB,eAAe;YACf,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE;gBAC7D,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACrE;YACD,YAAY;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAID;;;;;OAKG;IAEI,gBAAgB,CAAC,IAA4B,EAAE,GAAW,EAAE,OAAoC;QACnG,QAAQ,IAAI,EAAE;YACV,KAAK,0BAAsB,CAAC,OAAO;gBAC/B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;gBAC7C,MAAM;YAEV;gBACI,MAAM;SACb;IACL,CAAC;IAEM,mBAAmB,CAAC,IAA4B,EAAE,GAAW;QAChE,QAAQ,IAAI,EAAE;YACV,KAAK,0BAAsB,CAAC,OAAO;gBAC/B;oBACI,IAAI,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;oBACjE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;iBAC5C;gBACD,MAAM;YACV;gBACI,MAAM;SACb;IACL,CAAC;IAEM,mBAAmB;QACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC;CAEJ;AAtDD,sCAsDC"}
1
+ {"version":3,"file":"viral-keyboard.js","sourceRoot":"","sources":["../../../src/components/keyboard/viral-keyboard.ts"],"names":[],"mappings":";;;AAAA,6BAA+D;AAE/D,MAAa,aAAa;IACxB,YAAmB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAuBjD,uBAAuB;QACf,wBAAmB,GAA6C,EAAE,CAAC;QACnE,sBAAiB,GAA6C,EAAE,CAAC;QAxBvE,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAoB,EAAE,EAAE;YAC5D,qBAAqB;YACrB,eAAe;YACf,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE;gBAC/D,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACnE;YACD,YAAY;QACd,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAoB,EAAE,EAAE;YAC1D,qBAAqB;YACrB,eAAe;YACf,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE;gBAC/D,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACnE;YACD,YAAY;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAKD;;;;;OAKG;IAEI,gBAAgB,CACrB,IAA4B,EAC5B,GAAW,EACX,OAAqC;QAErC,QAAQ,IAAI,EAAE;YACZ,KAAK,0BAAsB,CAAC,OAAO;gBACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,0BAAsB,CAAC,KAAK;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC5C,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;IAEM,mBAAmB,CAAC,IAA4B,EAAE,GAAW;QAClE,QAAQ,IAAI,EAAE;YACZ,KAAK,0BAAsB,CAAC,OAAO;gBACjC;oBACE,IAAI,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;oBACnE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAC3C;gBACD,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;IAEM,mBAAmB;QACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACxC,CAAC;CAEF;AApED,sCAoEC"}
@@ -1,10 +1,11 @@
1
- import { Material, MeshPhongMaterial, ShaderMaterial } from "three";
1
+ import { LineBasicMaterial, Material, MeshPhongMaterial, ShaderMaterial } from "three";
2
2
  import { ViralViewerApi } from "../../viral-viewer-api";
3
3
  import { Dictionary } from "../../types";
4
4
  export declare class ViralMaterialManager {
5
5
  private viralViewerApi;
6
6
  hoverMaterial: MeshPhongMaterial;
7
7
  selectedMaterial: MeshPhongMaterial;
8
+ lineMaterial: LineBasicMaterial;
8
9
  vertexShader: string;
9
10
  fragmentShader: string;
10
11
  outlineMaterial: ShaderMaterial;
@@ -24,6 +24,11 @@ class ViralMaterialManager {
24
24
  depthTest: false,
25
25
  flatShading: true
26
26
  });
27
+ this.lineMaterial = new three_1.LineBasicMaterial({
28
+ color: __1.THREEUtil.hexToThreejsColor(colors_1.LightTheme.accent),
29
+ linewidth: 500,
30
+ // depthTest: false,
31
+ });
27
32
  this.vertexShader = `
28
33
  uniform float outline;
29
34
  void main() {
@@ -1 +1 @@
1
- {"version":3,"file":"viral-material-manager.js","sourceRoot":"","sources":["../../../src/components/material/viral-material-manager.ts"],"names":[],"mappings":";;;AAAA,iCAMe;AAEf,+CAAgD;AAChD,uCAA0D;AAC1D,6BAAkC;AAElC,MAAa,oBAAoB;IA4C/B,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QA3C3C,kBAAa,GAAG,IAAI,yBAAiB,CAAC;YAC3C,KAAK,EAAE,aAAS,CAAC,iBAAiB,CAAC,mBAAU,CAAC,SAAS,CAAC;YACxD,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,IAAI;YACjB,SAAS,EAAC,KAAK;YACf,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAC,IAAI;SACjB,CAAC,CAAC;QACI,qBAAgB,GAAG,IAAI,yBAAiB,CAAC;YAC9C,KAAK,EAAE,aAAS,CAAC,iBAAiB,CAAC,mBAAU,CAAC,SAAS,CAAC;YACxD,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAC,KAAK;YACf,WAAW,EAAC,IAAI;SACjB,CAAC,CAAC;QACH,iBAAY,GAAG;;;;;CAKhB,CAAC;QAEA,mBAAc,GAAG;;;;;;CAMlB,CAAC;QAEO,oBAAe,GAAG,IAAI,sBAAc,CAAC;YAC1C,QAAQ,EAAE;gBACR,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,aAAK,CAAC,mBAAU,CAAC,SAAS,CAAC,EAAE;gBACjD,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;gBACvB,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;aACxB;YACD,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,IAAI,EAAE,gBAAQ;SACf,CAAC,CAAC;QACH,cAAS,GAAiC,IAAI,kBAAU,EAAoB,CAAC;QAG3E,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,uBAAe,CAAC,uBAAuB,CAAC,CAAC;IAEnF,CAAC;CACF;AAhDD,oDAgDC"}
1
+ {"version":3,"file":"viral-material-manager.js","sourceRoot":"","sources":["../../../src/components/material/viral-material-manager.ts"],"names":[],"mappings":";;;AAAA,iCAOe;AAEf,+CAAgD;AAChD,uCAA0D;AAC1D,6BAAkC;AAElC,MAAa,oBAAoB;IAmD/B,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAlD3C,kBAAa,GAAG,IAAI,yBAAiB,CAAC;YAC3C,KAAK,EAAE,aAAS,CAAC,iBAAiB,CAAC,mBAAU,CAAC,SAAS,CAAC;YACxD,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,IAAI;YACjB,SAAS,EAAC,KAAK;YACf,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAC,IAAI;SACjB,CAAC,CAAC;QACI,qBAAgB,GAAG,IAAI,yBAAiB,CAAC;YAC9C,KAAK,EAAE,aAAS,CAAC,iBAAiB,CAAC,mBAAU,CAAC,SAAS,CAAC;YACxD,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAC,KAAK;YACf,WAAW,EAAC,IAAI;SACjB,CAAC,CAAC;QAEI,iBAAY,GAAG,IAAI,yBAAiB,CAAC;YAC1C,KAAK,EAAE,aAAS,CAAC,iBAAiB,CAAC,mBAAU,CAAC,MAAM,CAAC;YACrD,SAAS,EAAE,GAAG;YACd,oBAAoB;SACrB,CAAC,CAAC;QAEH,iBAAY,GAAG;;;;;CAKhB,CAAC;QAEA,mBAAc,GAAG;;;;;;CAMlB,CAAC;QAEO,oBAAe,GAAG,IAAI,sBAAc,CAAC;YAC1C,QAAQ,EAAE;gBACR,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,aAAK,CAAC,mBAAU,CAAC,SAAS,CAAC,EAAE;gBACjD,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;gBACvB,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;aACxB;YACD,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,IAAI,EAAE,gBAAQ;SACf,CAAC,CAAC;QACH,cAAS,GAAiC,IAAI,kBAAU,EAAoB,CAAC;QAG3E,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,uBAAe,CAAC,uBAAuB,CAAC,CAAC;IAEnF,CAAC;CACF;AAvDD,oDAuDC"}
@@ -1,5 +1,21 @@
1
+ import { Mesh } from "three";
1
2
  import { ViralViewerApi } from "../../viral-viewer-api";
3
+ import { ViralInstancedMesh } from "../..";
2
4
  export declare class ViralVisibilityManager {
3
5
  private viralViewerApi;
4
6
  constructor(viralViewerApi: ViralViewerApi);
7
+ hoverMeshes: Mesh<any, any>[];
8
+ hoverInstancedMeshes: ViralInstancedMesh[];
9
+ reverseHoverMeshes: Mesh<any, any>[];
10
+ reverseHoverInstancedMeshes: ViralInstancedMesh[];
11
+ selectedMeshes: Mesh<any, any>[];
12
+ selectedInstancedMeshes: ViralInstancedMesh[];
13
+ reverseSelectedMeshes: Mesh<any, any>[];
14
+ reverseSelectedInstancedMeshes: ViralInstancedMesh[];
15
+ isolateMeshes: Mesh<any, any>[];
16
+ isolateInstancedMeshes: ViralInstancedMesh[];
17
+ hiddenMeshes: Mesh<any, any>[];
18
+ hiddenInstancedMeshes: ViralInstancedMesh[];
19
+ update(): void;
20
+ showAll(): void;
5
21
  }
@@ -4,6 +4,98 @@ exports.ViralVisibilityManager = void 0;
4
4
  class ViralVisibilityManager {
5
5
  constructor(viralViewerApi) {
6
6
  this.viralViewerApi = viralViewerApi;
7
+ //#region Hover Meshes
8
+ this.hoverMeshes = [];
9
+ this.hoverInstancedMeshes = [];
10
+ this.reverseHoverMeshes = [];
11
+ this.reverseHoverInstancedMeshes = [];
12
+ //#endregion
13
+ //#region Selected Meshes
14
+ this.selectedMeshes = [];
15
+ this.selectedInstancedMeshes = [];
16
+ this.reverseSelectedMeshes = [];
17
+ this.reverseSelectedInstancedMeshes = [];
18
+ //#endregion
19
+ //#region Isolate Meshes
20
+ this.isolateMeshes = [];
21
+ this.isolateInstancedMeshes = [];
22
+ //#endregion
23
+ //#region Hidden Meshes
24
+ this.hiddenMeshes = [];
25
+ this.hiddenInstancedMeshes = [];
26
+ }
27
+ //#endregion
28
+ update() {
29
+ /**
30
+ * priority of progress is important, we progress hover objects first then select object after,
31
+ * so we can reverse material hover without effect selected object
32
+ *
33
+ *
34
+ *
35
+ */
36
+ //progress hover meshes
37
+ this.reverseHoverMeshes.forEach((mesh) => {
38
+ mesh.material = mesh.userData.originalMaterial;
39
+ //remove from hover mesh list
40
+ this.hoverMeshes = this.hoverMeshes.filter((x) => x.id !== mesh.id);
41
+ });
42
+ this.hoverMeshes.forEach((mesh) => {
43
+ if (!mesh.userData.originalMaterial) {
44
+ mesh.userData.originalMaterial = Array.isArray(mesh.material)
45
+ ? mesh.material.map((x) => x.clone())
46
+ : mesh.material.clone();
47
+ }
48
+ mesh.material = this.viralViewerApi.viralMaterialManager.hoverMaterial;
49
+ });
50
+ //progress hover instanced meshes
51
+ this.reverseHoverInstancedMeshes.forEach((instancedMesh) => {
52
+ //reverse to original and clear hovered indexs in user data.
53
+ instancedMesh.reverseToOriginal();
54
+ instancedMesh.userData.hoveredIndexs = [];
55
+ //remove from hover instanced mesh list
56
+ this.hoverInstancedMeshes = this.hoverInstancedMeshes.filter((x) => x.id !== instancedMesh.id);
57
+ });
58
+ this.hoverInstancedMeshes.forEach((instancedMesh) => {
59
+ instancedMesh.overrideMaterialAts(instancedMesh.totalOverrideIndexs, this.viralViewerApi.viralMaterialManager.hoverMaterial);
60
+ });
61
+ //progress selected meshes
62
+ this.reverseSelectedMeshes.forEach((mesh) => {
63
+ mesh.material = mesh.userData.originalMaterial;
64
+ //remove from selected mesh list
65
+ this.selectedMeshes = this.selectedMeshes.filter((x) => x.id !== mesh.id);
66
+ });
67
+ this.selectedMeshes.forEach((mesh) => {
68
+ if (!mesh.userData.originalMaterial) {
69
+ mesh.userData.originalMaterial = Array.isArray(mesh.material)
70
+ ? mesh.material.map((x) => x.clone())
71
+ : mesh.material.clone();
72
+ }
73
+ mesh.material = this.viralViewerApi.viralMaterialManager.hoverMaterial;
74
+ });
75
+ //progress selected instanced meshes
76
+ this.reverseSelectedInstancedMeshes.forEach((instancedMesh) => {
77
+ //clear selected indexs in user data
78
+ instancedMesh.reverseToOriginal();
79
+ instancedMesh.userData.selectedIndexs = [];
80
+ //remove from selected instanced mesh list
81
+ this.selectedInstancedMeshes = this.selectedInstancedMeshes.filter((x) => x.id !== instancedMesh.id);
82
+ });
83
+ this.selectedInstancedMeshes.forEach((instancedMesh) => {
84
+ instancedMesh.overrideMaterialAts(instancedMesh.totalOverrideIndexs, this.viralViewerApi.viralMaterialManager.hoverMaterial);
85
+ });
86
+ this.viralViewerApi.viralRenderer.render();
87
+ }
88
+ showAll() {
89
+ if (this.hiddenMeshes.length > 0) {
90
+ this.hiddenMeshes.forEach((mesh) => {
91
+ mesh.visible = true;
92
+ });
93
+ }
94
+ if (this.hiddenInstancedMeshes.length > 0) {
95
+ this.hiddenInstancedMeshes.forEach((instancedMesh) => {
96
+ instancedMesh.reverseToOriginal();
97
+ });
98
+ }
7
99
  }
8
100
  }
9
101
  exports.ViralVisibilityManager = ViralVisibilityManager;
@@ -1 +1 @@
1
- {"version":3,"file":"viral-visibility-manager.js","sourceRoot":"","sources":["../../../src/components/visibility-manager/viral-visibility-manager.ts"],"names":[],"mappings":";;;AAEA,MAAa,sBAAsB;IAE/B,YAAoB,cAA6B;QAA7B,mBAAc,GAAd,cAAc,CAAe;IAGjD,CAAC;CACJ;AAND,wDAMC"}
1
+ {"version":3,"file":"viral-visibility-manager.js","sourceRoot":"","sources":["../../../src/components/visibility-manager/viral-visibility-manager.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -69,7 +69,8 @@ export declare enum ViralCameraEventType {
69
69
  ON_SLEEP = 1
70
70
  }
71
71
  export declare enum ViralKeyboardEventType {
72
- KEYDOWN = 0
72
+ KEYDOWN = 0,
73
+ KEYUP = 1
73
74
  }
74
75
  export declare enum ViralutionEvent {
75
76
  LOADED_SCENE = 0,
@@ -110,3 +111,10 @@ export declare class ViralutionTrackingModel {
110
111
  Data: Dictionary<number, number[][]>;
111
112
  CameraData: ViralutionCamera;
112
113
  }
114
+ export declare class DebouncedEventHandler<T> {
115
+ private delay;
116
+ private eventHandler;
117
+ private timerId;
118
+ constructor(delay: number, eventHandler: (event: T) => void);
119
+ handleEvent: (event: T) => void;
120
+ }
package/dist/types.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ViralutionTrackingModel = exports.ViralutionCamera = exports.ViralutionSolid = exports.ViralutionElement = exports.Dictionary = exports.ViralutionEvent = exports.ViralKeyboardEventType = exports.ViralCameraEventType = exports.ViralMouseEventType = exports.ViralPoint = exports.ViralViewerRevitGeometry = exports.ViralViewerRevitNoneStructuralGeometry = void 0;
3
+ exports.DebouncedEventHandler = exports.ViralutionTrackingModel = exports.ViralutionCamera = exports.ViralutionSolid = exports.ViralutionElement = exports.Dictionary = exports.ViralutionEvent = exports.ViralKeyboardEventType = exports.ViralCameraEventType = exports.ViralMouseEventType = exports.ViralPoint = exports.ViralViewerRevitGeometry = exports.ViralViewerRevitNoneStructuralGeometry = void 0;
4
4
  class ViralViewerRevitNoneStructuralGeometry {
5
5
  constructor() {
6
6
  this.MaterialIndex = 0;
@@ -44,6 +44,7 @@ var ViralCameraEventType;
44
44
  var ViralKeyboardEventType;
45
45
  (function (ViralKeyboardEventType) {
46
46
  ViralKeyboardEventType[ViralKeyboardEventType["KEYDOWN"] = 0] = "KEYDOWN";
47
+ ViralKeyboardEventType[ViralKeyboardEventType["KEYUP"] = 1] = "KEYUP";
47
48
  })(ViralKeyboardEventType = exports.ViralKeyboardEventType || (exports.ViralKeyboardEventType = {}));
48
49
  var ViralutionEvent;
49
50
  (function (ViralutionEvent) {
@@ -125,4 +126,20 @@ class ViralutionTrackingModel {
125
126
  }
126
127
  }
127
128
  exports.ViralutionTrackingModel = ViralutionTrackingModel;
129
+ class DebouncedEventHandler {
130
+ constructor(delay, eventHandler) {
131
+ this.delay = delay;
132
+ this.eventHandler = eventHandler;
133
+ this.timerId = null;
134
+ this.handleEvent = (event) => {
135
+ if (this.timerId) {
136
+ clearTimeout(this.timerId);
137
+ }
138
+ this.timerId = setTimeout(() => {
139
+ this.eventHandler(event);
140
+ }, this.delay);
141
+ };
142
+ }
143
+ }
144
+ exports.DebouncedEventHandler = DebouncedEventHandler;
128
145
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { ViralViewerWorker4 } from "./components/worker/viral-viewer-4.worker";
19
19
  import { ViralMaterialManager } from "./components/material/viral-material-manager";
20
20
  import { EventDispatcher } from "./components/event-handler/base/event-dispatcher";
21
21
  import { ViralLifecycleEventHandler } from "./components/event-handler/viral-lifecycle-event-handler";
22
+ import { ViralVisibilityManager } from "./components/visibility-manager/viral-visibility-manager";
22
23
  export declare class ViralViewerApi {
23
24
  lifeCycleEvent: EventDispatcher;
24
25
  options: ViewerOptions;
@@ -39,6 +40,7 @@ export declare class ViralViewerApi {
39
40
  viralLoader: ViralLoader;
40
41
  viralCompressProcessor: ViralCompressProcessor;
41
42
  viralBVH: ViralBVH;
43
+ viralVisibilityManager: ViralVisibilityManager;
42
44
  worker4: ViralViewerWorker4;
43
45
  localStorageService: LocalStorageService;
44
46
  viralStats: ViralStats | null;
@@ -22,6 +22,7 @@ const viral_material_manager_1 = require("./components/material/viral-material-m
22
22
  const event_dispatcher_1 = require("./components/event-handler/base/event-dispatcher");
23
23
  const viral_lifecycle_event_handler_1 = require("./components/event-handler/viral-lifecycle-event-handler");
24
24
  const fonts_1 = require("./gui/fonts/fonts");
25
+ const viral_visibility_manager_1 = require("./components/visibility-manager/viral-visibility-manager");
25
26
  class ViralViewerApi {
26
27
  constructor(options = {
27
28
  isDev: false,
@@ -53,6 +54,7 @@ class ViralViewerApi {
53
54
  this.viralCentralizedEventHandler = new viral_centralized_event_handler_1.ViralCentralizedEventHandler(this);
54
55
  this.viralLoader = new viral_loader_1.ViralLoader(this);
55
56
  this.viralBVH = new viral_bvh_1.ViralBVH();
57
+ this.viralVisibilityManager = new viral_visibility_manager_1.ViralVisibilityManager(this);
56
58
  // this.worker3 = new ViralViewerWorker3(this);
57
59
  this.worker4 = new viral_viewer_4_worker_1.ViralViewerWorker4(this);
58
60
  if (this.options.isDev) {
@@ -1 +1 @@
1
- {"version":3,"file":"viral-viewer-api.js","sourceRoot":"","sources":["../src/viral-viewer-api.ts"],"names":[],"mappings":";;;AACA,6FAAwF;AACxF,mEAA+D;AAC/D,gEAA4D;AAC5D,gEAA4D;AAC5D,yEAAqE;AACrE,8FAAyF;AACzF,4EAAwE;AACxE,gEAA4D;AAC5D,sEAAkE;AAClE,4EAAuE;AACvE,yEAAqE;AAErE,qFAAgF;AAChF,gHAA0G;AAC1G,mEAA+D;AAC/D,gEAA4D;AAC5D,0DAAsD;AACtD,qFAA+E;AAC/E,yFAAoF;AACpF,uFAAmF;AACnF,4GAAsG;AACtG,6CAA4D;AAG5D,MAAa,cAAc;IAyBzB,YACE,UAAyB;QACvB,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,CAAC;QACjB,SAAS,EAAE,IAAI,WAAW,EAAE;KAC7B;QA9BH,6CAA6C;QAC7C,mBAAc,GAAG,IAAI,kCAAe,EAAE,CAAC;QAiBvC,2BAAsB,GAA2B,IAAI,iDAAsB,EAAE,CAAC;QAI9E,wBAAmB,GAAwB,IAAI,2CAAmB,EAAE,CAAC;QACrE,eAAU,GAAsB,IAAI,CAAC;QASnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,0BAA0B,GAAG,IAAI,0DAA0B,CAC9D,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,OAAO,CACb,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;QACvC,IAAA,mBAAW,EAAC,YAAY,CAAC,CAAC;QAC1B,IAAA,kBAAU,EAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,IAAI,2CAAmB,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,qCAAgB,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,IAAI,6CAAoB,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,4BAA4B,GAAG,IAAI,8DAA4B,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,EAAE,CAAC;QAC/B,+CAA+C;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,0CAAkB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK;YAChB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YACpC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;IACtC,CAAC;CACF;AAhED,wCAgEC"}
1
+ {"version":3,"file":"viral-viewer-api.js","sourceRoot":"","sources":["../src/viral-viewer-api.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "viral-viewer-2",
3
- "version": "5.4.9",
3
+ "version": "5.5.1",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",