@xeokit/xeokit-sdk 2.6.17 → 2.6.19
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/dist/xeokit-sdk.cjs.js +2345 -117
- package/dist/xeokit-sdk.es.js +2335 -118
- package/dist/xeokit-sdk.es5.js +558 -418
- package/dist/xeokit-sdk.min.cjs.js +4 -4
- package/dist/xeokit-sdk.min.es.js +5 -5
- package/dist/xeokit-sdk.min.es5.js +4 -4
- package/package.json +2 -2
- package/src/extras/PointerLens/PointerLens.js +2 -2
- package/src/plugins/AnnotationsPlugin/Annotation.js +1 -0
- package/src/plugins/CityJSONLoaderPlugin/CityJSONDefaultDataSource.js +15 -2
- package/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurement.js +1 -1
- package/src/plugins/DotBIMLoaderPlugin/DotBIMDefaultDataSource.js +15 -2
- package/src/plugins/GLTFLoaderPlugin/GLTFDefaultDataSource.js +18 -5
- package/src/plugins/LASLoaderPlugin/LASDefaultDataSource.js +15 -1
- package/src/plugins/STLLoaderPlugin/STLDefaultDataSource.js +17 -0
- package/src/plugins/WebIFCLoaderPlugin/WebIFCDefaultDataSource.js +16 -1
- package/src/plugins/XKTLoaderPlugin/XKTDefaultDataSource.js +18 -4
- package/src/plugins/ZonesPlugin/index.js +2046 -0
- package/src/plugins/index.js +2 -1
- package/src/plugins/lib/html/Dot.js +19 -1
- package/src/viewer/Viewer.js +3 -1
- package/src/viewer/scene/CameraControl/lib/handlers/MousePickHandler.js +9 -0
- package/src/viewer/scene/geometry/builders/buildLineGeometry.js +267 -0
- package/src/viewer/scene/input/Input.js +41 -0
- package/src/viewer/scene/marker/Marker.js +1 -1
- package/src/viewer/scene/mesh/Mesh.js +5 -0
- package/src/viewer/scene/model/SceneModel.js +7 -1
- package/src/viewer/scene/scene/Scene.js +30 -4
- package/src/viewer/scene/sectionPlane/SectionPlane.js +3 -7
- package/src/viewer/scene/webgl/Renderer.js +84 -79
- package/src/viewer/scene/webgl/occlusion/OcclusionLayer.js +1 -1
- package/src/viewer/scene/webgl/occlusion/OcclusionTester.js +8 -4
- package/types/viewer/Viewer.d.ts +2 -0
- package/types/viewer/scene/geometry/builders/buildLineGeometry.d.ts +22 -0
- package/types/viewer/scene/geometry/builders/buildPolylineGeometry.d.ts +2 -2
- package/types/viewer/scene/scene/Scene.d.ts +11 -0
- package/dist/web-ifc.wasm +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xeokit/xeokit-sdk",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.19",
|
|
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",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"docs": "rm -Rf ./docs/*; ./node_modules/.bin/esdoc",
|
|
12
12
|
"typedocs": "rm -Rf ./docs/*; typedoc --tsconfig tsconfig.json",
|
|
13
13
|
"publish": "npm publish --access public",
|
|
14
|
-
"changelog": "git fetch
|
|
14
|
+
"changelog": "git fetch; auto-changelog --commit-limit false --package --template changelog-template.hbs"
|
|
15
15
|
},
|
|
16
16
|
"repository": {
|
|
17
17
|
"type": "git",
|
|
@@ -149,8 +149,8 @@ export class PointerLens {
|
|
|
149
149
|
);
|
|
150
150
|
|
|
151
151
|
const centerLensCanvas = [
|
|
152
|
-
(lensRect.left + lensRect.right) / 2,
|
|
153
|
-
(lensRect.top + lensRect.bottom) / 2
|
|
152
|
+
(lensRect.left + lensRect.right) / 2 - canvasRect.left,
|
|
153
|
+
(lensRect.top + lensRect.bottom) / 2 - canvasRect.top
|
|
154
154
|
];
|
|
155
155
|
|
|
156
156
|
if (this._snappedCanvasPos) {
|
|
@@ -347,6 +347,7 @@ class Annotation extends Marker {
|
|
|
347
347
|
if (this._marker) {
|
|
348
348
|
if (!this._markerExternal) {
|
|
349
349
|
this._marker.parentNode.removeChild(this._marker);
|
|
350
|
+
this._marker = null;
|
|
350
351
|
} else {
|
|
351
352
|
this._marker.removeEventListener("click", this._onMouseClickedExternalMarker);
|
|
352
353
|
this._marker.removeEventListener("mouseenter", this._onMouseEnterExternalMarker);
|
|
@@ -5,7 +5,20 @@ import {utils} from "../../viewer/index.js";
|
|
|
5
5
|
*/
|
|
6
6
|
class CityJSONDefaultDataSource {
|
|
7
7
|
|
|
8
|
-
constructor() {
|
|
8
|
+
constructor(cfg = {}) {
|
|
9
|
+
this.cacheBuster = (cfg.cacheBuster !== false);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
_cacheBusterURL(url) {
|
|
13
|
+
if (!this.cacheBuster) {
|
|
14
|
+
return url;
|
|
15
|
+
}
|
|
16
|
+
const timestamp = new Date().getTime();
|
|
17
|
+
if (url.indexOf('?') > -1) {
|
|
18
|
+
return url + '&_=' + timestamp;
|
|
19
|
+
} else {
|
|
20
|
+
return url + '?_=' + timestamp;
|
|
21
|
+
}
|
|
9
22
|
}
|
|
10
23
|
|
|
11
24
|
/**
|
|
@@ -16,7 +29,7 @@ class CityJSONDefaultDataSource {
|
|
|
16
29
|
* @param {Function} error Callback fired on error.
|
|
17
30
|
*/
|
|
18
31
|
getCityJSON(src, ok, error) {
|
|
19
|
-
utils.loadJSON(src,
|
|
32
|
+
utils.loadJSON(this._cacheBusterURL(src),
|
|
20
33
|
(json) => {
|
|
21
34
|
ok(json);
|
|
22
35
|
},
|
|
@@ -331,7 +331,7 @@ class DistanceMeasurement extends Component {
|
|
|
331
331
|
|
|
332
332
|
if (this._wpDirty) {
|
|
333
333
|
|
|
334
|
-
this._measurementOrientation = determineMeasurementOrientation(this._originWorld, this._targetWorld,
|
|
334
|
+
this._measurementOrientation = determineMeasurementOrientation(this._originWorld, this._targetWorld, 0);
|
|
335
335
|
if(this._measurementOrientation === 'Vertical' && this.useRotationAdjustment){
|
|
336
336
|
this._wp[0] = this._originWorld[0];
|
|
337
337
|
this._wp[1] = this._originWorld[1];
|
|
@@ -7,7 +7,20 @@ import {utils} from "../../viewer/scene/utils.js";
|
|
|
7
7
|
*/
|
|
8
8
|
export class DotBIMDefaultDataSource {
|
|
9
9
|
|
|
10
|
-
constructor() {
|
|
10
|
+
constructor(cfg = {}) {
|
|
11
|
+
this.cacheBuster = (cfg.cacheBuster !== false);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
_cacheBusterURL(url) {
|
|
15
|
+
if (!this.cacheBuster) {
|
|
16
|
+
return url;
|
|
17
|
+
}
|
|
18
|
+
const timestamp = new Date().getTime();
|
|
19
|
+
if (url.indexOf('?') > -1) {
|
|
20
|
+
return url + '&_=' + timestamp;
|
|
21
|
+
} else {
|
|
22
|
+
return url + '?_=' + timestamp;
|
|
23
|
+
}
|
|
11
24
|
}
|
|
12
25
|
|
|
13
26
|
/**
|
|
@@ -18,7 +31,7 @@ export class DotBIMDefaultDataSource {
|
|
|
18
31
|
* @param {Function} error Fired on error while loading the .BIM JSON asset.
|
|
19
32
|
*/
|
|
20
33
|
getDotBIM(dotBIMSrc, ok, error) {
|
|
21
|
-
utils.loadJSON(dotBIMSrc,
|
|
34
|
+
utils.loadJSON(this._cacheBusterURL(dotBIMSrc),
|
|
22
35
|
(json) => {
|
|
23
36
|
ok(json);
|
|
24
37
|
},
|
|
@@ -8,7 +8,20 @@ import {core} from "../../viewer/scene/core.js";
|
|
|
8
8
|
*/
|
|
9
9
|
class GLTFDefaultDataSource {
|
|
10
10
|
|
|
11
|
-
constructor() {
|
|
11
|
+
constructor(cfg = {}) {
|
|
12
|
+
this.cacheBuster = (cfg.cacheBuster !== false);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
_cacheBusterURL(url) {
|
|
16
|
+
if (!this.cacheBuster) {
|
|
17
|
+
return url;
|
|
18
|
+
}
|
|
19
|
+
const timestamp = new Date().getTime();
|
|
20
|
+
if (url.indexOf('?') > -1) {
|
|
21
|
+
return url + '&_=' + timestamp;
|
|
22
|
+
} else {
|
|
23
|
+
return url + '?_=' + timestamp;
|
|
24
|
+
}
|
|
12
25
|
}
|
|
13
26
|
|
|
14
27
|
/**
|
|
@@ -19,7 +32,7 @@ class GLTFDefaultDataSource {
|
|
|
19
32
|
* @param {Function} error Fired on error while loading the metamodel JSON asset.
|
|
20
33
|
*/
|
|
21
34
|
getMetaModel(metaModelSrc, ok, error) {
|
|
22
|
-
utils.loadJSON(metaModelSrc,
|
|
35
|
+
utils.loadJSON(this._cacheBusterURL(metaModelSrc),
|
|
23
36
|
(json) => {
|
|
24
37
|
ok(json);
|
|
25
38
|
},
|
|
@@ -36,7 +49,7 @@ class GLTFDefaultDataSource {
|
|
|
36
49
|
* @param {Function} error Fired on error while loading the glTF JSON asset.
|
|
37
50
|
*/
|
|
38
51
|
getGLTF(glTFSrc, ok, error) {
|
|
39
|
-
utils.loadArraybuffer(glTFSrc,
|
|
52
|
+
utils.loadArraybuffer(this._cacheBusterURL(glTFSrc),
|
|
40
53
|
(gltf) => {
|
|
41
54
|
ok(gltf);
|
|
42
55
|
},
|
|
@@ -53,7 +66,7 @@ class GLTFDefaultDataSource {
|
|
|
53
66
|
* @param {Function} error Fired on error while loading the .glb asset.
|
|
54
67
|
*/
|
|
55
68
|
getGLB(glbSrc, ok, error) {
|
|
56
|
-
utils.loadArraybuffer(glbSrc,
|
|
69
|
+
utils.loadArraybuffer(this._cacheBusterURL(glbSrc),
|
|
57
70
|
(arraybuffer) => {
|
|
58
71
|
ok(arraybuffer);
|
|
59
72
|
},
|
|
@@ -74,7 +87,7 @@ class GLTFDefaultDataSource {
|
|
|
74
87
|
* @param {Function} error Fired on error while loading the glTF binary asset.
|
|
75
88
|
*/
|
|
76
89
|
getArrayBuffer(glTFSrc, binarySrc, ok, error) {
|
|
77
|
-
loadArraybuffer(glTFSrc, binarySrc,
|
|
90
|
+
loadArraybuffer(this._cacheBusterURL(glTFSrc), binarySrc,
|
|
78
91
|
(arrayBuffer) => {
|
|
79
92
|
ok(arrayBuffer);
|
|
80
93
|
},
|
|
@@ -3,7 +3,20 @@
|
|
|
3
3
|
*/
|
|
4
4
|
class LASDefaultDataSource {
|
|
5
5
|
|
|
6
|
-
constructor() {
|
|
6
|
+
constructor(cfg = {}) {
|
|
7
|
+
this.cacheBuster = (cfg.cacheBuster !== false);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
_cacheBusterURL(url) {
|
|
11
|
+
if (!this.cacheBuster) {
|
|
12
|
+
return url;
|
|
13
|
+
}
|
|
14
|
+
const timestamp = new Date().getTime();
|
|
15
|
+
if (url.indexOf('?') > -1) {
|
|
16
|
+
return url + '&_=' + timestamp;
|
|
17
|
+
} else {
|
|
18
|
+
return url + '?_=' + timestamp;
|
|
19
|
+
}
|
|
7
20
|
}
|
|
8
21
|
|
|
9
22
|
/**
|
|
@@ -14,6 +27,7 @@ class LASDefaultDataSource {
|
|
|
14
27
|
* @param {Function} error Callback fired on error.
|
|
15
28
|
*/
|
|
16
29
|
getLAS(src, ok, error) {
|
|
30
|
+
src = this._cacheBusterURL(src);
|
|
17
31
|
var defaultCallback = () => {
|
|
18
32
|
};
|
|
19
33
|
ok = ok || defaultCallback;
|
|
@@ -5,6 +5,22 @@
|
|
|
5
5
|
*/
|
|
6
6
|
class STLDefaultDataSource {
|
|
7
7
|
|
|
8
|
+
constructor(cfg = {}) {
|
|
9
|
+
this.cacheBuster = (cfg.cacheBuster !== false);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
_cacheBusterURL(url) {
|
|
13
|
+
if (!this.cacheBuster) {
|
|
14
|
+
return url;
|
|
15
|
+
}
|
|
16
|
+
const timestamp = new Date().getTime();
|
|
17
|
+
if (url.indexOf('?') > -1) {
|
|
18
|
+
return url + '&_=' + timestamp;
|
|
19
|
+
} else {
|
|
20
|
+
return url + '?_=' + timestamp;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
8
24
|
/**
|
|
9
25
|
* Gets STL data.
|
|
10
26
|
*
|
|
@@ -13,6 +29,7 @@ class STLDefaultDataSource {
|
|
|
13
29
|
* @param {Function} error Fired on error while loading the STL file.
|
|
14
30
|
*/
|
|
15
31
|
getSTL(src, ok, error) {
|
|
32
|
+
src = this._cacheBusterURL(src);
|
|
16
33
|
const request = new XMLHttpRequest();
|
|
17
34
|
request.overrideMimeType("application/json");
|
|
18
35
|
request.open('GET', src, true);
|
|
@@ -3,7 +3,20 @@
|
|
|
3
3
|
*/
|
|
4
4
|
class WebIFCDefaultDataSource {
|
|
5
5
|
|
|
6
|
-
constructor() {
|
|
6
|
+
constructor(cfg = {}) {
|
|
7
|
+
this.cacheBuster = (cfg.cacheBuster !== false);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
_cacheBusterURL(url) {
|
|
11
|
+
if (!this.cacheBuster) {
|
|
12
|
+
return url;
|
|
13
|
+
}
|
|
14
|
+
const timestamp = new Date().getTime();
|
|
15
|
+
if (url.indexOf('?') > -1) {
|
|
16
|
+
return url + '&_=' + timestamp;
|
|
17
|
+
} else {
|
|
18
|
+
return url + '?_=' + timestamp;
|
|
19
|
+
}
|
|
7
20
|
}
|
|
8
21
|
|
|
9
22
|
/**
|
|
@@ -14,6 +27,8 @@ class WebIFCDefaultDataSource {
|
|
|
14
27
|
* @param {Function} error Callback fired on error.
|
|
15
28
|
*/
|
|
16
29
|
getIFC(src, ok, error) {
|
|
30
|
+
src = this._cacheBusterURL(src);
|
|
31
|
+
|
|
17
32
|
var defaultCallback = () => {
|
|
18
33
|
};
|
|
19
34
|
ok = ok || defaultCallback;
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import {utils} from "../../viewer/scene/utils.js";
|
|
2
|
+
import {math} from "../../viewer";
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Default data access strategy for {@link XKTLoaderPlugin}.
|
|
5
6
|
*/
|
|
6
7
|
class XKTDefaultDataSource {
|
|
7
8
|
|
|
8
|
-
constructor() {
|
|
9
|
+
constructor(cfg = {}) {
|
|
10
|
+
this.cacheBuster = (cfg.cacheBuster !== false);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
_cacheBusterURL(url) {
|
|
14
|
+
if (!this.cacheBuster) {
|
|
15
|
+
return url;
|
|
16
|
+
}
|
|
17
|
+
const timestamp = new Date().getTime();
|
|
18
|
+
if (url.indexOf('?') > -1) {
|
|
19
|
+
return url + '&_=' + timestamp;
|
|
20
|
+
} else {
|
|
21
|
+
return url + '?_=' + timestamp;
|
|
22
|
+
}
|
|
9
23
|
}
|
|
10
24
|
|
|
11
25
|
/**
|
|
@@ -16,7 +30,7 @@ class XKTDefaultDataSource {
|
|
|
16
30
|
* @param {Function} error Fired on error while loading the manifest JSON asset.
|
|
17
31
|
*/
|
|
18
32
|
getManifest(manifestSrc, ok, error) {
|
|
19
|
-
utils.loadJSON(manifestSrc,
|
|
33
|
+
utils.loadJSON(this._cacheBusterURL(manifestSrc),
|
|
20
34
|
(json) => {
|
|
21
35
|
ok(json);
|
|
22
36
|
},
|
|
@@ -33,7 +47,7 @@ class XKTDefaultDataSource {
|
|
|
33
47
|
* @param {Function} error Fired on error while loading the metamodel JSON asset.
|
|
34
48
|
*/
|
|
35
49
|
getMetaModel(metaModelSrc, ok, error) {
|
|
36
|
-
utils.loadJSON(metaModelSrc,
|
|
50
|
+
utils.loadJSON(this._cacheBusterURL(metaModelSrc),
|
|
37
51
|
(json) => {
|
|
38
52
|
ok(json);
|
|
39
53
|
},
|
|
@@ -75,7 +89,7 @@ class XKTDefaultDataSource {
|
|
|
75
89
|
}
|
|
76
90
|
} else {
|
|
77
91
|
const request = new XMLHttpRequest();
|
|
78
|
-
request.open('GET', src, true);
|
|
92
|
+
request.open('GET', this._cacheBusterURL(src), true);
|
|
79
93
|
request.responseType = 'arraybuffer';
|
|
80
94
|
request.onreadystatechange = function () {
|
|
81
95
|
if (request.readyState === 4) {
|