@abi-software/scaffoldvuer 0.1.52-beta.0 → 0.1.52-beta.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.
package/package-lock.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abi-software/scaffoldvuer",
3
- "version": "0.1.51",
3
+ "version": "0.1.52-beta.0",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
@@ -2151,7 +2151,8 @@
2151
2151
  },
2152
2152
  "ansi-regex": {
2153
2153
  "version": "5.0.0",
2154
- "resolved": "",
2154
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
2155
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
2155
2156
  "dev": true
2156
2157
  },
2157
2158
  "ansi-styles": {
@@ -2316,7 +2317,8 @@
2316
2317
  },
2317
2318
  "ansi-regex": {
2318
2319
  "version": "5.0.0",
2319
- "resolved": "",
2320
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
2321
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
2320
2322
  "dev": true
2321
2323
  },
2322
2324
  "ansi-styles": {
@@ -21304,7 +21306,8 @@
21304
21306
  "dependencies": {
21305
21307
  "ansi-regex": {
21306
21308
  "version": "5.0.0",
21307
- "resolved": "",
21309
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
21310
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
21308
21311
  "dev": true
21309
21312
  },
21310
21313
  "cliui": {
@@ -21433,9 +21436,9 @@
21433
21436
  }
21434
21437
  },
21435
21438
  "zincjs": {
21436
- "version": "0.41.2",
21437
- "resolved": "https://registry.npmjs.org/zincjs/-/zincjs-0.41.2.tgz",
21438
- "integrity": "sha512-sLw6tXBIQkQhBh8ZR4TeH88nLWC4hxyoDwYAroOl50UnqRdfojYSabghkT15WA0POaOqMdneaXAX2cXZZiQrKA==",
21439
+ "version": "0.50.0-beta.0",
21440
+ "resolved": "https://registry.npmjs.org/zincjs/-/zincjs-0.50.0-beta.0.tgz",
21441
+ "integrity": "sha512-0FuYExwy/ri+BexLQHk9EprG3El6FY0ruPBfrcCAgzYImJwTtXERVqlhEzwzxOPIdqvaEgzlVwun/2uE4pAhDA==",
21439
21442
  "requires": {
21440
21443
  "css-element-queries": "^1.2.2",
21441
21444
  "lodash": "^4.17.19",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abi-software/scaffoldvuer",
3
- "version": "0.1.52-beta.0",
3
+ "version": "0.1.52-beta.1",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -33,7 +33,7 @@
33
33
  "vue": "^2.6.10",
34
34
  "vue-drag-resize": "^1.3.2",
35
35
  "vue-router": "^3.5.1",
36
- "zincjs": "^0.41.2"
36
+ "zincjs": "^0.50.0-beta.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@vue/cli-plugin-babel": "^4.0.0",
package/src/App.vue CHANGED
@@ -18,6 +18,7 @@
18
18
  :region="region"
19
19
  :view-u-r-l="viewURL"
20
20
  @scaffold-selected="onSelected"
21
+ @scaffold-navigated="onNavigated"
21
22
  @timeChanged="updateCurrentTime"
22
23
  />
23
24
  <el-popover
@@ -107,6 +108,18 @@
107
108
  Export GLTF
108
109
  </el-button>
109
110
  </el-row>
111
+ <el-row :gutter="30">
112
+ <el-col
113
+ :span="7"
114
+ :offset="11"
115
+ >
116
+ <el-switch
117
+ v-model="syncMode"
118
+ active-text="Sync Mode"
119
+ active-color="#8300bf"
120
+ />
121
+ </el-col>
122
+ </el-row>
110
123
  <el-row :gutter="30">
111
124
  <el-col
112
125
  :span="7"
@@ -240,6 +253,7 @@ export default {
240
253
  selectedCoordinates: undefined,
241
254
  helpMode: false,
242
255
  displayMarkers: true,
256
+ syncMode: false,
243
257
  currentTime: 0,
244
258
  displayMinimap: true,
245
259
  tumbleOn: false,
@@ -269,6 +283,9 @@ export default {
269
283
  handler: "parseQuery",
270
284
  deep: true,
271
285
  immediate: true
286
+ },
287
+ syncMode: function(val) {
288
+ this.$refs.scaffold.toggleSyncControl(val);
272
289
  }
273
290
  },
274
291
 
@@ -335,6 +352,9 @@ export default {
335
352
  });
336
353
  }
337
354
  },
355
+ onNavigated: function(data) {
356
+ console.log(data);
357
+ },
338
358
  parseInput: function() {
339
359
  if (this.$route.query.url !== this.input)
340
360
  this.$router.replace({
@@ -1039,7 +1039,6 @@ export default {
1039
1039
  },
1040
1040
  /**
1041
1041
  * Callback using ResizeObserver.
1042
-
1043
1042
  */
1044
1043
  adjustLayout: function() {
1045
1044
  let width = this.$refs.scaffoldContainer.clientWidth;
@@ -1063,6 +1062,14 @@ export default {
1063
1062
  if (this.$module.zincRenderer) {
1064
1063
  this.$module.zincRenderer.onWindowResize();
1065
1064
  }
1065
+ },
1066
+ syncControlCallback: function() {
1067
+ const payload = this.$module.NDCCameraControl.getPanZoom();
1068
+ this.$emit("scaffold-navigated", payload);
1069
+ },
1070
+ toggleSyncControl: function(flag) {
1071
+ this.$module.toggleSyncControl(flag);
1072
+ this.$module.setSyncControlCallback(this.syncControlCallback);
1066
1073
  }
1067
1074
  }
1068
1075
  };
@@ -41,6 +41,7 @@ const OrgansSceneData = function() {
41
41
  const organPartAddedCallbacks = new Array();
42
42
  let finishDownloadCallback = undefined;
43
43
  const modelsLoader = ModelsLoaderIn;
44
+ this.NDCCameraControl = undefined;
44
45
  _this.typeName = "Organ Viewer";
45
46
 
46
47
  this.getSceneData = function() {
@@ -82,6 +83,28 @@ const OrgansSceneData = function() {
82
83
  duration);
83
84
  _this.sceneData.currentTime = currentTime / duration * 100.0;
84
85
  }
86
+
87
+ this.toggleSyncControl = (flag) => {
88
+ let cameraControl = this.scene.getZincCameraControls();
89
+ if (flag) {
90
+ cameraControl.resetView();
91
+ this.NDCCameraControl = cameraControl.enableSyncControl();
92
+ } else {
93
+ this.NDCCameraControl = cameraControl.disableSyncControl();
94
+ }
95
+ }
96
+
97
+ this.setSyncControlCallback = (callback) => {
98
+ if (this.NDCCameraControl) {
99
+ this.NDCCameraControl.setEventCallback(callback);
100
+ }
101
+ }
102
+
103
+ this.setSyncControlCenterZoom = (center, zoom) => {
104
+ if (this.NDCCameraControl) {
105
+ this.NDCCameraControl.setCenterZoom(center, zoom);
106
+ }
107
+ }
85
108
 
86
109
  const postRenderSelectedCoordinatesUpdate = function() {
87
110
  if (_this.selectedCenter) {