@xeokit/xeokit-sdk 2.6.0-beta-7 → 2.6.0-beta-9

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.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xeokit/xeokit-sdk",
3
- "version": "2.6.0-beta-7",
3
+ "version": "2.6.0-beta-9",
4
4
  "description": "Web Programming Toolkit for 3D/2D BIM and AEC Graphics",
5
5
  "module": "./dist/xeokit-sdk.es.js",
6
6
  "main": "./dist/xeokit-sdk.cjs.js",
@@ -71,6 +71,7 @@ import {Plugin} from "../../viewer/Plugin.js";
71
71
  * hidePBR: true, // No physically-based rendering while we interact (default is true)
72
72
  * hideTransparentObjects: true, // Hide transparent objects while we interact (default is false)
73
73
  * scaleCanvasResolution: true, // Scale canvas resolution while we interact (default is false)
74
+ * defaultScaleCanvasResolutionFactor: 1.0, // Factor by which we scale canvas resolution when we stop interacting (default is 1.0)
74
75
  * scaleCanvasResolutionFactor: 0.5, // Factor by which we scale canvas resolution when we interact (default is 0.6)
75
76
  * delayBeforeRestore: true, // When we stop interacting, delay before restoring normal render (default is true)
76
77
  * delayBeforeRestoreSeconds: 0.5 // The delay duration, in seconds (default is 0.5)
@@ -103,6 +104,7 @@ class FastNavPlugin extends Plugin {
103
104
  * @param {Boolean} [cfg.hideEdges=true] Whether to temporarily hide edges whenever we interact with the Viewer.
104
105
  * @param {Boolean} [cfg.hideTransparentObjects=false] Whether to temporarily hide transparent objects whenever we interact with the Viewer.
105
106
  * @param {Number} [cfg.scaleCanvasResolution=false] Whether to temporarily down-scale the canvas resolution whenever we interact with the Viewer.
107
+ * @param {Number} [cfg.defaultScaleCanvasResolutionFactor=0.6] The factor by which we downscale the canvas resolution whenever we stop interacting with the Viewer.
106
108
  * @param {Number} [cfg.scaleCanvasResolutionFactor=0.6] The factor by which we downscale the canvas resolution whenever we interact with the Viewer.
107
109
  * @param {Boolean} [cfg.delayBeforeRestore=true] Whether to temporarily have a delay before restoring normal rendering after we stop interacting with the Viewer.
108
110
  * @param {Number} [cfg.delayBeforeRestoreSeconds=0.5] Delay in seconds before restoring normal rendering after we stop interacting with the Viewer.
@@ -117,6 +119,7 @@ class FastNavPlugin extends Plugin {
117
119
  this._hideEdges = cfg.hideEdges !== false;
118
120
  this._hideTransparentObjects = !!cfg.hideTransparentObjects;
119
121
  this._scaleCanvasResolution = !!cfg.scaleCanvasResolution;
122
+ this._defaultScaleCanvasResolutionFactor = cfg.defaultScaleCanvasResolutionFactor || 1.0;
120
123
  this._scaleCanvasResolutionFactor = cfg.scaleCanvasResolutionFactor || 0.6;
121
124
  this._delayBeforeRestore = (cfg.delayBeforeRestore !== false);
122
125
  this._delayBeforeRestoreSeconds = cfg.delayBeforeRestoreSeconds || 0.5;
@@ -135,14 +138,14 @@ class FastNavPlugin extends Plugin {
135
138
  if (this._scaleCanvasResolution) {
136
139
  viewer.scene.canvas.resolutionScale = this._scaleCanvasResolutionFactor;
137
140
  } else {
138
- viewer.scene.canvas.resolutionScale = 1;
141
+ viewer.scene.canvas.resolutionScale = this._defaultScaleCanvasResolutionFactor;
139
142
  }
140
143
  fastMode = true;
141
144
  }
142
145
  };
143
146
 
144
147
  const switchToHighQuality = () => {
145
- viewer.scene.canvas.resolutionScale = 1;
148
+ viewer.scene.canvas.resolutionScale = this._defaultScaleCanvasResolutionFactor;
146
149
  viewer.scene._renderer.setEdgesEnabled(true);
147
150
  viewer.scene._renderer.setColorTextureEnabled(true);
148
151
  viewer.scene._renderer.setPBREnabled(true);
@@ -310,7 +313,7 @@ class FastNavPlugin extends Plugin {
310
313
  }
311
314
 
312
315
  /**
313
- * Sets whether to temporarily scale the canvas resolution whenever we interact with the Viewer.
316
+ * Sets the factor to which we restore the canvas resolution scale when we stop interacting with the viewer.
314
317
  *
315
318
  * Default is ````false````.
316
319
  *
@@ -322,6 +325,34 @@ class FastNavPlugin extends Plugin {
322
325
  this._scaleCanvasResolution = scaleCanvasResolution;
323
326
  }
324
327
 
328
+ /**
329
+ * Gets the factor to which we restore the canvas resolution scale when we stop interacting with the viewer.
330
+ *
331
+ * Default is ````1.0````.
332
+ *
333
+ * Enable canvas resolution scaling by setting {@link FastNavPlugin#scaleCanvasResolution} ````true````.
334
+ *
335
+ * @return {Number} Factor by scale canvas resolution when we stop interacting with the viewer.
336
+ */
337
+ get defaultScaleCanvasResolutionFactor() {
338
+ return this._defaultScaleCanvasResolutionFactor;
339
+ }
340
+
341
+ /**
342
+ * Sets the factor to which we restore the canvas resolution scale when we stop interacting with the viewer.
343
+ *
344
+ * Accepted range is ````[0.0 .. 1.0]````.
345
+ *
346
+ * Default is ````1.0````.
347
+ *
348
+ * Enable canvas resolution scaling by setting {@link FastNavPlugin#scaleCanvasResolution} ````true````.
349
+ *
350
+ * @param {Number} defaultScaleCanvasResolutionFactor Factor by scale canvas resolution when we stop interacting with the viewer.
351
+ */
352
+ set defaultScaleCanvasResolutionFactor(defaultScaleCanvasResolutionFactor) {
353
+ this._defaultScaleCanvasResolutionFactor = defaultScaleCanvasResolutionFactor || 1.0;
354
+ }
355
+
325
356
  /**
326
357
  * Gets the factor by which we temporarily scale the canvas resolution when we interact with the viewer.
327
358
  *
@@ -103,6 +103,9 @@ class CameraUpdater {
103
103
  }
104
104
  }
105
105
  }
106
+ } else {
107
+ dollyDistFactor = 1;
108
+ followPointerWorldPos = null;
106
109
  }
107
110
 
108
111
  const dollyDeltaForDist = (updates.dollyDelta * dollyDistFactor);
@@ -309,4 +312,4 @@ class CameraUpdater {
309
312
  }
310
313
  }
311
314
 
312
- export {CameraUpdater};
315
+ export {CameraUpdater};
@@ -860,7 +860,9 @@ export class DTXTrianglesLayer {
860
860
  // Color
861
861
 
862
862
  let f0;
863
- if (!visible || culled || xrayed) { // Highlight & select are layered on top of color - not mutually exclusive
863
+ if (!visible || culled || xrayed
864
+ || (highlighted && !this.model.scene.highlightMaterial.glowThrough)
865
+ || (selected && !this.model.scene.selectedMaterial.glowThrough)) {
864
866
  f0 = RENDER_PASSES.NOT_RENDERED;
865
867
  } else {
866
868
  if (transparent) {