@xeokit/xeokit-sdk 2.6.0-beta-16 → 2.6.0

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.
Files changed (69) hide show
  1. package/README.md +0 -2
  2. package/dist/xeokit-sdk.cjs.js +140 -150
  3. package/dist/xeokit-sdk.es.js +140 -150
  4. package/dist/xeokit-sdk.es5.js +140 -151
  5. package/package.json +3 -4
  6. package/src/extras/ContextMenu/ContextMenu.js +5 -5
  7. package/src/extras/PointerLens/PointerLens.js +1 -1
  8. package/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsPlugin.js +5 -5
  9. package/src/plugins/AnnotationsPlugin/AnnotationsPlugin.js +8 -8
  10. package/src/plugins/AxisGizmoPlugin/AxisGizmoPlugin.js +1 -1
  11. package/src/plugins/BCFViewpointsPlugin/BCFViewpointsPlugin.js +7 -7
  12. package/src/plugins/CityJSONLoaderPlugin/CityJSONLoaderPlugin.js +3 -3
  13. package/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsPlugin.js +8 -8
  14. package/src/plugins/FaceAlignedSectionPlanesPlugin/FaceAlignedSectionPlanesPlugin.js +2 -2
  15. package/src/plugins/FastNavPlugin/FastNavPlugin.js +2 -2
  16. package/src/plugins/LASLoaderPlugin/LASLoaderPlugin.js +3 -3
  17. package/src/plugins/NavCubePlugin/NavCubePlugin.js +2 -2
  18. package/src/plugins/OBJLoaderPlugin/OBJLoaderPlugin.js +1 -1
  19. package/src/plugins/STLLoaderPlugin/STLLoaderPlugin.js +3 -3
  20. package/src/plugins/SectionPlanesPlugin/SectionPlanesPlugin.js +2 -2
  21. package/src/plugins/TreeViewPlugin/TreeViewPlugin.js +5 -5
  22. package/src/plugins/WebIFCLoaderPlugin/WebIFCLoaderPlugin.js +3 -3
  23. package/src/plugins/XKTLoaderPlugin/XKTLoaderPlugin.js +8 -16
  24. package/src/plugins/XML3DLoaderPlugin/XML3DLoaderPlugin.js +8 -8
  25. package/src/viewer/Configs.js +1 -1
  26. package/src/viewer/localization/LocaleService.js +1 -1
  27. package/src/viewer/metadata/MetaScene.js +1 -1
  28. package/src/viewer/scene/Bitmap/Bitmap.js +2 -2
  29. package/src/viewer/scene/CameraControl/CameraControl.js +6 -6
  30. package/src/viewer/scene/ImagePlane/ImagePlane.js +4 -4
  31. package/src/viewer/scene/LineSet/LineSet.js +2 -2
  32. package/src/viewer/scene/camera/CameraFlightAnimation.js +1 -1
  33. package/src/viewer/scene/camera/CameraPathAnimation.js +1 -1
  34. package/src/viewer/scene/geometry/ReadableGeometry.js +1 -1
  35. package/src/viewer/scene/geometry/VBOGeometry.js +1 -1
  36. package/src/viewer/scene/geometry/builders/buildBoxGeometry.js +1 -1
  37. package/src/viewer/scene/geometry/builders/buildBoxLinesGeometry.js +2 -2
  38. package/src/viewer/scene/geometry/builders/buildCylinderGeometry.js +1 -1
  39. package/src/viewer/scene/geometry/builders/buildGridGeometry.js +1 -1
  40. package/src/viewer/scene/geometry/builders/buildPlaneGeometry.js +1 -1
  41. package/src/viewer/scene/geometry/builders/buildPolylineGeometry.js +2 -2
  42. package/src/viewer/scene/geometry/builders/buildSphereGeometry.js +1 -1
  43. package/src/viewer/scene/geometry/builders/buildTorusGeometry.js +1 -1
  44. package/src/viewer/scene/geometry/builders/buildVectorTextGeometry.js +1 -1
  45. package/src/viewer/scene/geometry/loaders/load3DSGeometry.js +0 -2
  46. package/src/viewer/scene/geometry/loaders/loadOBJGeometry.js +0 -2
  47. package/src/viewer/scene/lights/AmbientLight.js +1 -1
  48. package/src/viewer/scene/lights/DirLight.js +1 -1
  49. package/src/viewer/scene/lights/PointLight.js +1 -1
  50. package/src/viewer/scene/lights/Shadow.js +1 -0
  51. package/src/viewer/scene/marker/Marker.js +0 -2
  52. package/src/viewer/scene/marker/SpriteMarker.js +1 -1
  53. package/src/viewer/scene/materials/EdgeMaterial.js +1 -1
  54. package/src/viewer/scene/materials/Fresnel.js +1 -1
  55. package/src/viewer/scene/materials/LambertMaterial.js +1 -1
  56. package/src/viewer/scene/materials/LinesMaterial.js +1 -1
  57. package/src/viewer/scene/materials/MetallicMaterial.js +1 -1
  58. package/src/viewer/scene/materials/PhongMaterial.js +1 -1
  59. package/src/viewer/scene/materials/PointsMaterial.js +1 -1
  60. package/src/viewer/scene/materials/Texture.js +1 -1
  61. package/src/viewer/scene/mesh/Mesh.js +1 -1
  62. package/src/viewer/scene/model/SceneModel.js +5 -5
  63. package/src/viewer/scene/nodes/Node.js +1 -1
  64. package/src/viewer/scene/postfx/SAO.js +5 -5
  65. package/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js +3 -3
  66. package/src/viewer/scene/webgl/occlusion/OcclusionLayer.js +3 -0
  67. package/src/viewer/scene/webgl/occlusion/OcclusionTester.js +1 -0
  68. package/dist/web-ifc.wasm +0 -0
  69. package/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsControlLegacy.js +0 -472
@@ -93,9 +93,9 @@ class Item {
93
93
  /**
94
94
  * @desc A customizable HTML context menu.
95
95
  *
96
- * [<img src="http://xeokit.io/img/docs/ContextMenu/ContextMenu.gif">](https://xeokit.github.io/xeokit-sdk/examples/#ContextMenu_Canvas_TreeViewPlugin_Custom)
96
+ * [<img src="http://xeokit.io/img/docs/ContextMenu/ContextMenu.gif">](https://xeokit.github.io/xeokit-sdk/examples/index.html#ContextMenu_Canvas_TreeViewPlugin_Custom)
97
97
  *
98
- * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#ContextMenu_Canvas_TreeViewPlugin_Custom)]
98
+ * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#ContextMenu_Canvas_TreeViewPlugin_Custom)]
99
99
  *
100
100
  * ## Overview
101
101
  *
@@ -138,7 +138,7 @@ class Item {
138
138
  *
139
139
  * We'll also initially enable the ````ContextMenu````.
140
140
  *
141
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#ContextMenu_Canvas_Custom)]
141
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#ContextMenu_Canvas_Custom)]
142
142
  *
143
143
  * ````javascript
144
144
  * const canvasContextMenu = new ContextMenu({
@@ -229,7 +229,7 @@ class Item {
229
229
  * In the example below, we'll create a simple ````ContextMenu```` that allows us to toggle the selection of an object
230
230
  * via its first item, which changes text depending on whether we are selecting or deselecting the object.
231
231
  *
232
- * [[Run an example](https://xeokit.github.io/xeokit-sdk/examples/#ContextMenu_dynamicItemTitles)]
232
+ * [[Run an example](https://xeokit.github.io/xeokit-sdk/examples/index.html#ContextMenu_dynamicItemTitles)]
233
233
  *
234
234
  * ````javascript
235
235
  * const canvasContextMenu = new ContextMenu({
@@ -270,7 +270,7 @@ class Item {
270
270
  * Note that our "Effects" item has no ````doAction```` callback, because an item with a sub-menu performs no
271
271
  * action of its own.
272
272
  *
273
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#ContextMenu_subMenus)]
273
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#ContextMenu_subMenus)]
274
274
  *
275
275
  * ````javascript
276
276
  * const canvasContextMenu = new ContextMenu({
@@ -957,7 +957,7 @@ class ContextMenu {
957
957
  * This component is used by {@link DistanceMeasurementsControl} and {@link AngleMeasurementsControl}
958
958
  * to help position the pointer when snap-to-vertex or snap-toedge is enabled.
959
959
  *
960
- * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/measurements/#distance_modelWithMeasurements)]
960
+ * [[Run an example](https://xeokit.github.io/xeokit-sdk/examples/measurement/#distance_createWithMouse_snapping)]
961
961
  *
962
962
  * ````JavaScript
963
963
  *
@@ -10412,8 +10412,6 @@ const tempVec4b$6 = math.vec4();
10412
10412
  * We'll also demonstrate how to query the Marker's visibility status and position (in the World, View and
10413
10413
  * Canvas coordinate systems), and how to subscribe to change events on those properties.
10414
10414
  *
10415
- * [[Run this example](/examples/#Markers_SimpleExample)]
10416
- *
10417
10415
  * ````javascript
10418
10416
  * import {Viewer, GLTFLoaderPlugin, Marker} from "xeokit-sdk.es.js";
10419
10417
  *
@@ -12567,10 +12565,10 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
12567
12565
  /**
12568
12566
  * {@link Viewer} plugin for measuring angles.
12569
12567
  *
12570
- * [<img src="https://user-images.githubusercontent.com/83100/63641903-61488180-c6b6-11e9-8e00-895b9d16dc4b.gif">](https://xeokit.github.io/xeokit-sdk/examples/#measurements_angle_createWithMouse)
12568
+ * [<img src="https://user-images.githubusercontent.com/83100/63641903-61488180-c6b6-11e9-8e00-895b9d16dc4b.gif">](https://xeokit.github.io/xeokit-sdk/examples/index.html#measurements_angle_createWithMouse)
12571
12569
  *
12572
- * * [[Example 1: Model with angle measurements](https://xeokit.github.io/xeokit-sdk/examples/#measurements_angle_modelWithMeasurements)]
12573
- * * [[Example 2: Create angle measurements with mouse](https://xeokit.github.io/xeokit-sdk/examples/#measurements_angle_createWithMouse)]
12570
+ * * [[Example 1: Model with angle measurements](https://xeokit.github.io/xeokit-sdk/examples/index.html#measurements_angle_modelWithMeasurements)]
12571
+ * * [[Example 2: Create angle measurements with mouse](https://xeokit.github.io/xeokit-sdk/examples/measurement/#angle_createWithMouse_snapping)]
12574
12572
  *
12575
12573
  * ## Overview
12576
12574
  *
@@ -12590,7 +12588,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
12590
12588
  * Note how each AngleMeasurement has ````origin````, ````corner```` and ````target````, which each indicate a 3D World-space
12591
12589
  * position on the surface of an {@link Entity}. These can be aon the same Entity, or on different Entitys.
12592
12590
  *
12593
- * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#measurements_angle_modelWithMeasurements)]
12591
+ * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/index.html#measurements_angle_modelWithMeasurements)]
12594
12592
  *
12595
12593
  * ````JavaScript
12596
12594
  * import {Viewer, XKTLoaderPlugin, AngleMeasurementsPlugin} from "xeokit-sdk.es.js";
@@ -12661,7 +12659,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
12661
12659
  * The AngleMeasurementControl will then wait for the next click on any Entity, to begin constructing
12662
12660
  * another AngleMeasurement, and so on, until deactivated again.
12663
12661
  *
12664
- * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#measurements_angle_createWithMouse)]
12662
+ * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/measurement/#angle_createWithMouse_snapping)]
12665
12663
  *
12666
12664
  * ````JavaScript
12667
12665
  * import {Viewer, XKTLoaderPlugin, AngleMeasurementsPlugin, AngleMeasurementsMouseControl, PointerLens} from "xeokit-sdk.es.js";
@@ -14293,13 +14291,13 @@ const tempVec3c$v = math.vec3();
14293
14291
  /**
14294
14292
  * {@link Viewer} plugin that creates {@link Annotation}s.
14295
14293
  *
14296
- * [<img src="https://user-images.githubusercontent.com/83100/58403089-26589280-8062-11e9-8652-aed61a4e8c64.gif">](https://xeokit.github.io/xeokit-sdk/examples/#annotations_clickFlyToPosition)
14294
+ * [<img src="https://user-images.githubusercontent.com/83100/58403089-26589280-8062-11e9-8652-aed61a4e8c64.gif">](https://xeokit.github.io/xeokit-sdk/examples/index.html#annotations_clickFlyToPosition)
14297
14295
  *
14298
- * * [[Example 1: Create annotations with mouse](https://xeokit.github.io/xeokit-sdk/examples/#annotations_createWithMouse)]
14299
- * * [[Example 2: Click annotations to toggle labels](https://xeokit.github.io/xeokit-sdk/examples/#annotations_clickShowLabels)]
14300
- * * [[Example 3: Hover annotations to show labels](https://xeokit.github.io/xeokit-sdk/examples/#annotations_hoverShowLabels)]
14301
- * * [[Example 4: Click annotations to fly to viewpoint](https://xeokit.github.io/xeokit-sdk/examples/#annotations_clickFlyToPosition)]
14302
- * * [[Example 5: Create Annotations with externally-created elements](https://xeokit.github.io/xeokit-sdk/examples/#annotations_externalElements)]
14296
+ * * [[Example 1: Create annotations with mouse](https://xeokit.github.io/xeokit-sdk/examples/index.html#annotations_createWithMouse)]
14297
+ * * [[Example 2: Click annotations to toggle labels](https://xeokit.github.io/xeokit-sdk/examples/index.html#annotations_clickShowLabels)]
14298
+ * * [[Example 3: Hover annotations to show labels](https://xeokit.github.io/xeokit-sdk/examples/index.html#annotations_hoverShowLabels)]
14299
+ * * [[Example 4: Click annotations to fly to viewpoint](https://xeokit.github.io/xeokit-sdk/examples/index.html#annotations_clickFlyToPosition)]
14300
+ * * [[Example 5: Create Annotations with externally-created elements](https://xeokit.github.io/xeokit-sdk/examples/index.html#annotations_externalElements)]
14303
14301
  *
14304
14302
  * ## Overview
14305
14303
  *
@@ -14329,7 +14327,7 @@ const tempVec3c$v = math.vec3();
14329
14327
  *
14330
14328
  * Finally, we'll query the Annotation's position occlusion/visibility status, and subscribe to change events on those properties.
14331
14329
  *
14332
- * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#annotations_clickShowLabels)]
14330
+ * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/index.html#annotations_clickShowLabels)]
14333
14331
  *
14334
14332
  * ````JavaScript
14335
14333
  * import {Viewer, XKTLoaderPlugin,AnnotationsPlugin} from "xeokit-sdk.es.js";
@@ -14602,7 +14600,7 @@ const tempVec3c$v = math.vec3();
14602
14600
  *
14603
14601
  * Let's now extend our example to create an Annotation wherever we click on the surface of of our model:
14604
14602
  *
14605
- * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#annotations_createWithMouse)]
14603
+ * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/index.html#annotations_createWithMouse)]
14606
14604
  *
14607
14605
  * ````javascript
14608
14606
  * var i = 1; // Used to create unique Annotation IDs
@@ -16771,6 +16769,9 @@ class ArrayBuf {
16771
16769
  }
16772
16770
  }
16773
16771
 
16772
+ /**
16773
+ * @private
16774
+ */
16774
16775
  class OcclusionLayer {
16775
16776
 
16776
16777
  constructor(scene, origin) {
@@ -16988,6 +16989,7 @@ const tempVec3a$J = math.vec3();
16988
16989
 
16989
16990
  /**
16990
16991
  * Manages occlusion testing. Private member of a Renderer.
16992
+ * @private
16991
16993
  */
16992
16994
  class OcclusionTester {
16993
16995
 
@@ -23811,7 +23813,7 @@ class Light extends Component {
23811
23813
  *
23812
23814
  * In the example below we'll replace the {@link Scene}'s default light sources with three View-space DirLights.
23813
23815
  *
23814
- * [[Run this example](/examples/#lights_DirLight_view)]
23816
+ * [[Run this example](/examples/index.html#lights_DirLight_view)]
23815
23817
  *
23816
23818
  * ````javascript
23817
23819
  * import {Viewer, Mesh, buildSphereGeometry,
@@ -24117,7 +24119,7 @@ class DirLight extends Light {
24117
24119
  *
24118
24120
  * In the example below we'll destroy the {@link Scene}'s default light sources then create an AmbientLight and a couple of {@link @DirLight}s:
24119
24121
  *
24120
- * [[Run this example](/examples/#lights_AmbientLight)]
24122
+ * [[Run this example](/examples/index.html#lights_AmbientLight)]
24121
24123
  *
24122
24124
  * ````javascript
24123
24125
  * import {Viewer, Mesh, buildTorusGeometry,
@@ -24839,7 +24841,7 @@ const tempAABB$3 = math.AABB3();
24839
24841
  *
24840
24842
  * Creating a {@link Mesh} with a ReadableGeometry that defines a single triangle, plus a {@link PhongMaterial} with diffuse {@link Texture}:
24841
24843
  *
24842
- * [[Run this example](/examples/#geometry_ReadableGeometry)]
24844
+ * [[Run this example](/examples/index.html#geometry_ReadableGeometry)]
24843
24845
  *
24844
24846
  * ````javascript
24845
24847
  * import {Viewer, Mesh, ReadableGeometry, PhongMaterial, Texture} from "xeokit-sdk.es.js";
@@ -25506,7 +25508,7 @@ class ReadableGeometry extends Geometry {
25506
25508
  *
25507
25509
  * In the example below we'll create a {@link Mesh} with a box-shaped {@link ReadableGeometry}.
25508
25510
  *
25509
- * [[Run this example](/examples/#geometry_builders_buildBoxGeometry)]
25511
+ * [[Run this example](/examples/index.html#geometry_builders_buildBoxGeometry)]
25510
25512
  *
25511
25513
  * ````javascript
25512
25514
  * import {Viewer, Mesh, buildBoxGeometry, ReadableGeometry, PhongMaterial, Texture} from "xeokit-sdk.es.js";
@@ -25785,7 +25787,7 @@ const alphaModeNames$1 = ["opaque", "mask", "blend"];
25785
25787
  *
25786
25788
  * In the example below, we'll create a {@link Mesh} with a PhongMaterial with a diffuse {@link Texture} and a specular {@link Fresnel}, using a {@link buildTorusGeometry} to create the {@link Geometry}.
25787
25789
  *
25788
- * [[Run this example](/examples/#materials_PhongMaterial)]
25790
+ * [[Run this example](/examples/index.html#materials_PhongMaterial)]
25789
25791
  *
25790
25792
  * ```` javascript
25791
25793
  * import {Viewer, Mesh, buildTorusGeometry,
@@ -27272,7 +27274,7 @@ const PRESETS$2 = {
27272
27274
  *
27273
27275
  * Recall that {@link Mesh} is a concrete subtype of the abstract {@link Entity} base class.
27274
27276
  *
27275
- * [[Run this example](/examples/#materials_EdgeMaterial)]
27277
+ * [[Run this example](/examples/index.html#materials_EdgeMaterial)]
27276
27278
  *
27277
27279
  * ````javascript
27278
27280
  * import {Viewer, Mesh, buildSphereGeometry,
@@ -27845,9 +27847,9 @@ class Metrics extends Component {
27845
27847
  /**
27846
27848
  * @desc Configures Scalable Ambient Obscurance (SAO) for a {@link Scene}.
27847
27849
  *
27848
- * <a href="https://xeokit.github.io/xeokit-sdk/examples/#postEffects_SAO_OTCConferenceCenter"><img src="http://xeokit.io/img/docs/SAO/saoEnabledDisabled.gif"></a>
27850
+ * <a href="https://xeokit.github.io/xeokit-sdk/examples/index.html#postEffects_SAO_OTCConferenceCenter"><img src="http://xeokit.io/img/docs/SAO/saoEnabledDisabled.gif"></a>
27849
27851
  *
27850
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#postEeffects_SAO_OTCConferenceCenter)]
27852
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/viewer/#sao_ConferenceCenter)]
27851
27853
  *
27852
27854
  * ## Overview
27853
27855
  *
@@ -27869,7 +27871,7 @@ class Metrics extends Component {
27869
27871
  * {@link SAO#scale} and {@link SAO#intensity} must be tuned to the distance
27870
27872
  * between {@link Perspective#near} and {@link Perspective#far}, or the distance
27871
27873
  * between {@link Ortho#near} and {@link Ortho#far}, depending on which of those two projections the {@link Camera} is currently
27872
- * using. Use the [live example](https://xeokit.github.io/xeokit-sdk/examples/#postEeffects_SAO_OTCConferenceCenter) to get a
27874
+ * using. Use the [live example](https://xeokit.github.io/xeokit-sdk/examples/viewer/#sao_ConferenceCenter) to get a
27873
27875
  * feel for that.
27874
27876
  *
27875
27877
  * ## Usage
@@ -27925,7 +27927,7 @@ class Metrics extends Component {
27925
27927
  * });
27926
27928
  * ````
27927
27929
  *
27928
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#postEeffects_SAO_OTCConferenceCenter)]
27930
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/viewer/#sao_ConferenceCenter)]
27929
27931
  *
27930
27932
  * ## Efficiency
27931
27933
  *
@@ -28008,7 +28010,7 @@ class Metrics extends Component {
28008
28010
  * });
28009
28011
  * ````
28010
28012
  *
28011
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#techniques_nonInteractiveQuality)]
28013
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#techniques_nonInteractiveQuality)]
28012
28014
  */
28013
28015
  class SAO extends Component {
28014
28016
 
@@ -28412,7 +28414,7 @@ const PRESETS$1 = {
28412
28414
  * In the example below, we'll customize the {@link Scene}'s global ````PointsMaterial````, then use
28413
28415
  * an {@link XKTLoaderPlugin} to load a model containing a point cloud.
28414
28416
  *
28415
- * [[Run this example](/examples/#materials_PointsMaterial)]
28417
+ * [[Run this example](/examples/index.html#materials_PointsMaterial)]
28416
28418
  *
28417
28419
  * ````javascript
28418
28420
  * import {Viewer, XKTLoaderPlugin} from "xeokit-sdk.es.js";
@@ -28809,7 +28811,7 @@ const PRESETS = {
28809
28811
  * In the example below, we'll customize the {@link Scene}'s global ````LinesMaterial````, then use
28810
28812
  * an {@link XKTLoaderPlugin} to load a model containing line segments.
28811
28813
  *
28812
- * [[Run this example](/examples/#materials_LinesMaterial)]
28814
+ * [[Run this example](/examples/index.html#materials_LinesMaterial)]
28813
28815
  *
28814
28816
  * ````javascript
28815
28817
  * import {Viewer, XKTLoaderPlugin} from "xeokit-sdk.es.js";
@@ -37110,7 +37112,7 @@ const identityMat$2 = math.identityMat4();
37110
37112
  *
37111
37113
  * We can also update properties of our object-Meshes via calls to {@link Scene#setObjectsHighlighted} etc.
37112
37114
  *
37113
- * [[Run this example](/examples/#sceneRepresentation_SceneGraph)]
37115
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#sceneGraph)]
37114
37116
  *
37115
37117
  * ````javascript
37116
37118
  * import {Viewer, Mesh, Node, PhongMaterial, buildBoxGeometry, ReadableGeometry} from "xeokit-sdk.es.js";
@@ -39264,7 +39266,7 @@ const pickTriangleSurface = (function () {
39264
39266
  *
39265
39267
  * Creating a {@link Mesh} with a cylinder-shaped {@link ReadableGeometry} :
39266
39268
  *
39267
- * [[Run this example](/examples/#geometry_builders_buildCylinderGeometry)]
39269
+ * [[Run this example](/examples/index.html#geometry_builders_buildCylinderGeometry)]
39268
39270
  *
39269
39271
  * ````javascript
39270
39272
  *
@@ -39531,7 +39533,7 @@ function buildCylinderGeometry(cfg = {}) {
39531
39533
  *
39532
39534
  * Creating a {@link Mesh} with a sphere-shaped {@link ReadableGeometry} :
39533
39535
  *
39534
- * [[Run this example](/examples/#geometry_builders_buildSphereGeometry)]
39536
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#buildSphereGeometry)]
39535
39537
  *
39536
39538
  * ````javascript
39537
39539
  * import {Viewer, Mesh, buildSphereGeometry, ReadableGeometry, PhongMaterial, Texture} from "xeokit-sdk.es.js";
@@ -41263,7 +41265,7 @@ const letters = {
41263
41265
  *
41264
41266
  * Creating a {@link Mesh} with vector text {@link ReadableGeometry} :
41265
41267
  *
41266
- * [[Run this example](/examples/#geometry_builders_buildVectorTextGeometry)]
41268
+ * [[Run this example](/examples/index.html#geometry_builders_buildVectorTextGeometry)]
41267
41269
  *
41268
41270
  * ````javascript
41269
41271
  *
@@ -41395,7 +41397,7 @@ function buildVectorTextGeometry(cfg = {}) {
41395
41397
  *
41396
41398
  * ## Usage
41397
41399
  *
41398
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#gizmos_AxisGizmoPlugin)]
41400
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#gizmos_AxisGizmoPlugin)]
41399
41401
  *
41400
41402
  * ````JavaScript````
41401
41403
  * import {Viewer, XKTLoaderPlugin, AxisGizmoPlugin} from "xeokit-sdk.es.js";
@@ -41931,7 +41933,7 @@ const identityMat$1 = math.identityMat4();
41931
41933
  *
41932
41934
  * We can also update properties of our object-Meshes via calls to {@link Scene#setObjectsHighlighted} etc.
41933
41935
  *
41934
- * [[Run this example](/examples/#sceneRepresentation_SceneGraph)]
41936
+ * [[Run this example](/examples/index.html#sceneRepresentation_SceneGraph)]
41935
41937
  *
41936
41938
  * ````javascript
41937
41939
  * import {Viewer, Mesh, Node, PhongMaterial} from "xeokit-sdk.es.js";
@@ -43291,7 +43293,7 @@ class Node$2 extends Component {
43291
43293
  *
43292
43294
  * ## Usage
43293
43295
  *
43294
- * [[Run this example](/examples/#materials_LambertMaterial)]
43296
+ * [[Run this example](/examples/index.html#materials_LambertMaterial)]
43295
43297
  *
43296
43298
  * In the example below we'll create a {@link Mesh} with a shape defined by a {@link buildTorusGeometry} and normal rendering appearance configured with a LambertMaterial.
43297
43299
  *
@@ -43672,7 +43674,7 @@ const modeNames = ["opaque", "mask", "blend"];
43672
43674
  * channels, which allows us a little creative flexibility. Then, in the next example further down, we'll combine those channels
43673
43675
  * within the same {@link Texture} for efficiency.
43674
43676
  *
43675
- * [[Run this example](/examples/#materials_MetallicMaterial)]
43677
+ * [[Run this example](/examples/index.html#materials_MetallicMaterial)]
43676
43678
  *
43677
43679
  * ````javascript
43678
43680
  * import {Viewer, Mesh, loadOBJGeometry, ReadableGeometry, MetallicMaterial, Texture} from "xeokit-sdk.es.js";
@@ -45914,7 +45916,7 @@ function nextHighestPowerOfTwo$1(x) {
45914
45916
  * with {@link PhongMaterial#diffuseMap} and {@link PhongMaterial#specularMap}. The {@link Texture} pixel colors directly
45915
45917
  * provide the diffuse and specular components for each fragment across the {@link ReadableGeometry} surface.
45916
45918
  *
45917
- * [[Run this example](/examples/#materials_Texture)]
45919
+ * [[Run this example](/examples/index.html#materials_Texture)]
45918
45920
  *
45919
45921
  * ```` javascript
45920
45922
  * import {Viewer, Mesh, buildTorusGeometry,
@@ -46381,7 +46383,7 @@ class Texture extends Component {
46381
46383
  *
46382
46384
  * In the example below we'll create a {@link Mesh} with a {@link PhongMaterial} that applies a Fresnel to its alpha channel to give a glasss-like effect.
46383
46385
  *
46384
- * [[Run this example](/examples/#materials_Fresnel)]
46386
+ * [[Run this example](/examples/index.html#materials_Fresnel)]
46385
46387
  *
46386
46388
  * ````javascript
46387
46389
  * import {Viewer, Mesh, buildTorusGeometry,
@@ -46601,7 +46603,7 @@ const tempAABB$2 = math.AABB3();
46601
46603
  *
46602
46604
  * Creating a {@link Mesh} with a VBOGeometry that defines a single triangle, plus a {@link PhongMaterial} with diffuse {@link Texture}:
46603
46605
  *
46604
- * [[Run this example](/examples/#geometry_VBOGeometry)]
46606
+ * [[Run this example](/examples/index.html#geometry_VBOGeometry)]
46605
46607
  *
46606
46608
  * ````javascript
46607
46609
  * import {Viewer, Mesh, VBOGeometry, PhongMaterial, Texture} from "xeokit-sdk.es.js";
@@ -47930,8 +47932,6 @@ K3D.utils.getAABB = function(vts)
47930
47932
  *
47931
47933
  * In the example below we'll create a {@link Mesh} with {@link PhongMaterial}, {@link Texture} and a {@link ReadableGeometry} loaded from 3DS.
47932
47934
  *
47933
- * [[Run this example](/examples/#geometry_loaders_3DS)]
47934
- *
47935
47935
  * ````javascript
47936
47936
  * import {Viewer, Mesh, load3DSGeometry, ReadableGeometry, PhongMaterial, Texture} from "xeokit-sdk.es.js";
47937
47937
  *
@@ -48029,8 +48029,6 @@ function load3DSGeometry(scene, cfg = {}) {
48029
48029
  *
48030
48030
  * In the example below we'll create a {@link Mesh} with {@link MetallicMaterial} and {@link ReadableGeometry} loaded from OBJ.
48031
48031
  *
48032
- * [[Run this example](/examples/#geometry_loaders_OBJ)]
48033
- *
48034
48032
  * ````javascript
48035
48033
  * import {Viewer, Mesh, loadOBJGeometry, ReadableGeometry,
48036
48034
  * MetallicMaterial, Texture} from "xeokit-sdk.es.js";
@@ -48155,7 +48153,7 @@ function loadOBJGeometry(scene, cfg = {}) {
48155
48153
  *
48156
48154
  * In the example below we'll create a {@link Mesh} with a box-shaped {@link ReadableGeometry} that has lines primitives.
48157
48155
  *
48158
- * [[Run this example](/examples/#geometry_builders_buildBoxLinesGeometry)]
48156
+ * [[Run this example](/examples/index.html#geometry_builders_buildBoxLinesGeometry)]
48159
48157
  *
48160
48158
  * ````javascript
48161
48159
  * import {Viewer, Mesh, buildBoxLinesGeometry, ReadableGeometry, PhongMaterial} from "xeokit-sdk.es.js";
@@ -48259,7 +48257,7 @@ function buildBoxLinesGeometry(cfg = {}) {
48259
48257
  * In the example below we'll create a {@link Mesh} with a box-shaped {@link ReadableGeometry} that has lines primitives.
48260
48258
  * This box will be created from AABB of a model.
48261
48259
  *
48262
- * [[Run this example](/examples/#geometry_builders_buildBoxLinesGeometryFromAABB)]
48260
+ * [[Run this example](/examples/index.html#geometry_builders_buildBoxLinesGeometryFromAABB)]
48263
48261
  *
48264
48262
  * ````javascript
48265
48263
  * import {Viewer, Mesh, Node, buildBoxGeometry, buildBoxLinesGeometryFromAABB, ReadableGeometry, PhongMaterial} from "../../dist/xeokit-sdk.min.es.js";
@@ -48390,7 +48388,7 @@ function buildBoxLinesGeometryFromAABB(cfg = {}){
48390
48388
  *
48391
48389
  * Creating a {@link Mesh} with a GridGeometry and a {@link PhongMaterial}:
48392
48390
  *
48393
- * [[Run this example](/examples/#geometry_builders_buildGridGeometry)]
48391
+ * [[Run this example](/examples/index.html#geometry_builders_buildGridGeometry)]
48394
48392
  *
48395
48393
  * ````javascript
48396
48394
  * import {Viewer, Mesh, buildGridGeometry, VBOGeometry, PhongMaterial, Texture} from "xeokit-sdk.es.js";
@@ -48488,7 +48486,7 @@ function buildGridGeometry(cfg = {}) {
48488
48486
  *
48489
48487
  * Creating a {@link Mesh} with a PlaneGeometry and a {@link PhongMaterial} with diffuse {@link Texture}:
48490
48488
  *
48491
- * [[Run this example](/examples/#geometry_builders_buildPlaneGeometry)]
48489
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#buildPlaneGeometry)]
48492
48490
  *
48493
48491
  * ````javascript
48494
48492
  * import {Viewer, Mesh, buildPlaneGeometry, ReadableGeometry, PhongMaterial, Texture} from "xeokit-sdk.es.js";
@@ -48652,7 +48650,7 @@ function buildPlaneGeometry(cfg = {}) {
48652
48650
  * ## Usage
48653
48651
  * Creating a {@link Mesh} with a torus-shaped {@link ReadableGeometry} :
48654
48652
  *
48655
- * [[Run this example](/examples/#geometry_builders_buildTorusGeometry)]
48653
+ * [[Run this example](/examples/index.html#geometry_builders_buildTorusGeometry)]
48656
48654
  *
48657
48655
  * ````javascript
48658
48656
  * import {Viewer, Mesh, buildTorusGeometry, ReadableGeometry, PhongMaterial, Texture} from "xeokit-sdk.es.js";
@@ -48821,7 +48819,7 @@ function buildTorusGeometry(cfg = {}) {
48821
48819
  *
48822
48820
  * In the example below we'll create a {@link Mesh} with a polyline {@link ReadableGeometry} that has lines primitives.
48823
48821
  *
48824
- * [[Run this example](/examples/#geometry_builders_buildPolylineGeometry)]
48822
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#buildPolylineGeometry)]
48825
48823
  *
48826
48824
  * ````javascript
48827
48825
  * //------------------------------------------------------------------------------------------------------------------
@@ -48905,7 +48903,7 @@ function buildPolylineGeometry(cfg = {}) {
48905
48903
  *
48906
48904
  * In the example below we'll create a {@link Mesh} with a polyline {@link ReadableGeometry} created from curves.
48907
48905
  *
48908
- * [[Run this example](/examples/#geometry_builders_buildPolylineGeometryFromCurve)]
48906
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#buildPolylineGeometryFromCurve)]
48909
48907
  *
48910
48908
  * ````javascript
48911
48909
  * //------------------------------------------------------------------------------------------------------------------
@@ -49029,9 +49027,9 @@ function buildPolylineGeometryFromCurve(cfg = {}) {
49029
49027
  * In the example below, we'll load the Schependomlaan model, then use
49030
49028
  * an ````Bitmap```` to show a storey plan next to the model.
49031
49029
  *
49032
- * [<img src="http://xeokit.github.io/xeokit-sdk/assets/images/Bitmap_storeyPlan.png">](/examples/#Bitmap_storeyPlan)
49030
+ * [<img src="http://xeokit.github.io/xeokit-sdk/assets/images/Bitmap_storeyPlan.png">](https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#ImagePlane_imageInSectionPlane)
49033
49031
  *
49034
- * [[Run this example](/examples/#Bitmap_grid)]
49032
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#ImagePlane_imageInSectionPlane)]
49035
49033
  *
49036
49034
  * ````javascript
49037
49035
  * import {Viewer, Bitmap, XKTLoaderPlugin} from "xeokit-sdk.es.js";
@@ -54257,7 +54255,7 @@ let maxGeometryBatchSize = 5000000;
54257
54255
  *
54258
54256
  * That's OK if we know that we're not going to view models that are geographically vast, or offset far from the World coordinate origin.
54259
54257
  *
54260
- * [[Run this example](/examples/#Configs_disableDoublePrecisionAndRAF)]
54258
+ * [[Run this example](/examples/index.html#Configs_disableDoublePrecisionAndRAF)]
54261
54259
  *
54262
54260
  * ````javascript
54263
54261
  * import {Configs, Viewer, XKTLoaderPlugin} from "https://cdn.jsdelivr.net/npm/@xeokit/xeokit-sdk/dist/xeokit-sdk.es.min.js";
@@ -79284,9 +79282,9 @@ let activeTranscoders = 0;
79284
79282
  * KTX2TextureTranscoder altogether, and let the XKTLoaderPlugin use its internal default KTX2TextureTranscoder, which is configured to
79285
79283
  * load the Codec from the CDN. We'll stick with loading our own Codec, in case we want to run our app without an Internet connection.
79286
79284
  *
79287
- * <a href="https://xeokit.github.io/xeokit-sdk/examples/#loading_XKT_Textures_HousePlan"><img src="https://xeokit.github.io/xeokit-sdk/assets/images/xktWithTextures.png"></a>
79285
+ * <a href="https://xeokit.github.io/xeokit-sdk/examples/buildings/#xkt_vbo_textures_HousePlan"><img src="https://xeokit.github.io/xeokit-sdk/assets/images/xktWithTextures.png"></a>
79288
79286
  *
79289
- * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#loading_XKT_Textures_HousePlan)]
79287
+ * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/buildings/#xkt_vbo_textures_HousePlan)]
79290
79288
  *
79291
79289
  * ````javascript
79292
79290
  * const viewer = new Viewer({
@@ -79327,7 +79325,7 @@ let activeTranscoders = 0;
79327
79325
  *
79328
79326
  * As in the previous example, we'll configure our KTX2TextureTranscoder to load the Basis Codec from a local directory.
79329
79327
  *
79330
- * * [Run a similar example](http://localhost:8080/examples/sceneRepresentation_VBOSceneModel_batching_textures_ktx2.html)
79328
+ * * [Run a similar example](https://xeokit.github.io/xeokit-sdk/examples/scenemodel/#vbo_batching_autocompressed_triangles_textures_ktx2)
79331
79329
  *
79332
79330
  * ````javascript
79333
79331
  * const viewer = new Viewer({
@@ -80839,7 +80837,7 @@ const DTX = 2;
80839
80837
  * Then, for each object in our model we'll add an {@link Entity}
80840
80838
  * that has a mesh that instances our box geometry, transforming and coloring the instance.
80841
80839
  *
80842
- * [![](http://xeokit.io/img/docs/sceneGraph.png)](https://xeokit.github.io/xeokit-sdk/examples/#sceneRepresentation_SceneModel_instancing)
80840
+ * [![](http://xeokit.io/img/docs/sceneGraph.png)](https://xeokit.github.io/xeokit-sdk/examples/index.html#sceneRepresentation_SceneModel_instancing)
80843
80841
  *
80844
80842
  * ````javascript
80845
80843
  * import {Viewer, SceneModel} from "xeokit-sdk.es.js";
@@ -81039,7 +81037,7 @@ const DTX = 2;
81039
81037
  * Let's once more use a ````SceneModel````
81040
81038
  * to build the simple table model, this time exploiting geometry batching.
81041
81039
  *
81042
- * [![](http://xeokit.io/img/docs/sceneGraph.png)](https://xeokit.github.io/xeokit-sdk/examples/#sceneRepresentation_SceneModel_batching)
81040
+ * [![](http://xeokit.io/img/docs/sceneGraph.png)](https://xeokit.github.io/xeokit-sdk/examples/index.html#sceneRepresentation_SceneModel_batching)
81043
81041
  *
81044
81042
  * ````javascript
81045
81043
  * import {Viewer, SceneModel} from "xeokit-sdk.es.js";
@@ -81307,7 +81305,7 @@ const DTX = 2;
81307
81305
  * ````
81308
81306
  *
81309
81307
  * Given an {@link Entity}, we can find the object or model of which it is a part, or the objects that comprise it. We can also generate UI
81310
- * components from the metadata, such as the tree view demonstrated in [this demo](https://xeokit.github.io/xeokit-sdk/examples/#BIMOffline_glTF_OTCConferenceCenter).
81308
+ * components from the metadata, such as the tree view demonstrated in [this demo](https://xeokit.github.io/xeokit-sdk/examples/index.html#BIMOffline_glTF_OTCConferenceCenter).
81311
81309
  *
81312
81310
  * This hierarchy allows us to express the hierarchical structure of a model while representing it in
81313
81311
  * various ways in the 3D scene (such as with ````SceneModel````, which
@@ -81340,7 +81338,7 @@ const DTX = 2;
81340
81338
  *
81341
81339
  * Note that the axis-aligned World-space boundary (AABB) of our model is ````[ -6, -9, -6, 1000000006, -2.5, 1000000006]````.
81342
81340
  *
81343
- * [![](http://xeokit.io/img/docs/sceneGraph.png)](https://xeokit.github.io/xeokit-sdk/examples/#sceneRepresentation_SceneModel_batching)
81341
+ * [![](http://xeokit.io/img/docs/sceneGraph.png)](https://xeokit.github.io/xeokit-sdk/examples/index.html#sceneRepresentation_SceneModel_batching)
81344
81342
  *
81345
81343
  * ````javascript
81346
81344
  * const origin = [100000000, 0, 100000000];
@@ -81437,7 +81435,7 @@ const DTX = 2;
81437
81435
  *
81438
81436
  * The axis-aligned World-space boundary (AABB) of our model is ````[ -6, -9, -6, 1000000006, -2.5, 1000000006]````.
81439
81437
  *
81440
- * [![](http://xeokit.io/img/docs/sceneGraph.png)](https://xeokit.github.io/xeokit-sdk/examples/#sceneRepresentation_SceneModel_batching)
81438
+ * [![](http://xeokit.io/img/docs/sceneGraph.png)](https://xeokit.github.io/xeokit-sdk/examples/index.html#sceneRepresentation_SceneModel_batching)
81441
81439
  *
81442
81440
  * ````javascript
81443
81441
  * const origin = [100000000, 0, 100000000];
@@ -84720,9 +84718,9 @@ function createDTXBuckets(geometry, enableVertexWelding, enableIndexBucketing) {
84720
84718
  * In the example below, we'll load the Schependomlaan model, then use
84721
84719
  * a ````LineSet```` to show a grid underneath the model.
84722
84720
  *
84723
- * [<img src="http://xeokit.github.io/xeokit-sdk/assets/images/LineSet_grid.png">](/examples/#LineSet_grid)
84721
+ * [<img src="http://xeokit.github.io/xeokit-sdk/assets/images/LineSet_grid.png">](https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#LineSet_grid)
84724
84722
  *
84725
- * [[Run this example](/examples/#LineSet_grid)]
84723
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#LineSet_grid)]
84726
84724
  *
84727
84725
  * ````javascript
84728
84726
  * import {Viewer, XKTLoaderPlugin, LineSet, buildGridGeometry} from "https://cdn.jsdelivr.net/npm/@xeokit/xeokit-sdk/dist/xeokit-sdk.es.min.js";
@@ -84874,10 +84872,10 @@ const tempVec3c$4 = math.vec3();
84874
84872
  /**
84875
84873
  * {@link Viewer} plugin that saves and loads BCF viewpoints as JSON objects.
84876
84874
  *
84877
- * [<img src="http://xeokit.github.io/xeokit-sdk/assets/images/BCFViewpointsPlugin.png">](/examples/#BCF_SaveViewpoint)
84875
+ * [<img src="http://xeokit.github.io/xeokit-sdk/assets/images/BCFViewpointsPlugin.png">](/examples/index.html#BCF_SaveViewpoint)
84878
84876
  *
84879
- * * [[Example 1: Saving viewer state to a BCF viewpoint](https://xeokit.github.io/xeokit-sdk/examples/#BCF_SaveViewpoint)]
84880
- * * [[Example 2: Loading viewer state from a BCF viewpoint](https://xeokit.github.io/xeokit-sdk/examples/#BCF_LoadViewpoint)]
84877
+ * * [[Example 1: Saving viewer state to a BCF viewpoint](https://xeokit.github.io/xeokit-sdk/examples/index.html#BCF_SaveViewpoint)]
84878
+ * * [[Example 2: Loading viewer state from a BCF viewpoint](https://xeokit.github.io/xeokit-sdk/examples/index.html#BCF_LoadViewpoint)]
84881
84879
  *
84882
84880
  * ## Overview
84883
84881
  *
@@ -84909,7 +84907,7 @@ const tempVec3c$4 = math.vec3();
84909
84907
  * plan view using a {@link Bitmap}, then use a {@link BCFViewpointsPlugin#getViewpoint}
84910
84908
  * to save a viewpoint to JSON, which we'll log to the JavaScript developer console.
84911
84909
  *
84912
- * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#BCF_SaveViewpoint)]
84910
+ * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#BCF_SaveViewpoint)]
84913
84911
  *
84914
84912
  * ````javascript
84915
84913
  * import {Viewer, XKTLoaderPlugin, SectionPlanesPlugin,
@@ -85138,7 +85136,7 @@ const tempVec3c$4 = math.vec3();
85138
85136
  * });
85139
85137
  * ````
85140
85138
  *
85141
- * [[Run an example](/examples/#BCF_LoadViewpoint_defaultInvisible)]
85139
+ * [[Run an example](/examples/index.html#BCF_LoadViewpoint_defaultInvisible)]
85142
85140
  *
85143
85141
  * ## Behaviour with XKTLoaderPlugin globalizeObjectIds
85144
85142
  *
@@ -85156,8 +85154,8 @@ const tempVec3c$4 = math.vec3();
85156
85154
  * capture the states of the individual ````Entitys```` that represent the duplicate IFC elements. Take a look at the
85157
85155
  * following two examples to learn more.
85158
85156
  *
85159
- * * [Example: Saving a BCF viewpoint containing duplicate models](https://xeokit.github.io/xeokit-sdk/examples/#BCF_SaveViewpoint_MultipleModels)
85160
- * * [Example: Loading a BCF viewpoint containing duplicate models](https://xeokit.github.io/xeokit-sdk/examples/#BCF_LoadViewpoint_MultipleModels)
85157
+ * * [Example: Saving a BCF viewpoint containing duplicate models](https://xeokit.github.io/xeokit-sdk/examples/index.html#BCF_SaveViewpoint_MultipleModels)
85158
+ * * [Example: Loading a BCF viewpoint containing duplicate models](https://xeokit.github.io/xeokit-sdk/examples/index.html#BCF_LoadViewpoint_MultipleModels)
85161
85159
  *
85162
85160
  * **Caveat:** when loading a BCF viewpoint, we always assume that we have loaded in our target BIM viewer the same models that were
85163
85161
  * loaded in the viewpoint's original authoring application when the viewpoint was created. In the case of multi-model
@@ -87317,11 +87315,11 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
87317
87315
  /**
87318
87316
  * {@link Viewer} plugin for measuring point-to-point distances.
87319
87317
  *
87320
- * [<img src="https://user-images.githubusercontent.com/83100/63047331-867a0a80-bed4-11e9-892f-398740013c5f.gif">](https://xeokit.github.io/xeokit-sdk/examples/#measurements_distance_createWithMouse)
87318
+ * [<img src="https://user-images.githubusercontent.com/83100/63047331-867a0a80-bed4-11e9-892f-398740013c5f.gif">](https://xeokit.github.io/xeokit-sdk/examples/index.html#measurements_distance_createWithMouse)
87321
87319
  *
87322
- * * [[Example 1: Model with distance measurements](https://xeokit.github.io/xeokit-sdk/examples/#measurements_distance_modelWithMeasurements)]
87323
- * * [[Example 2: Create distance measurements with mouse](https://xeokit.github.io/xeokit-sdk/examples/#measurements_distance_createWithMouse)]
87324
- * * [[Example 3: Configuring units and scale](https://xeokit.github.io/xeokit-sdk/examples/#measurements_distance_unitsAndScale)
87320
+ * * [[Example 1: Model with distance measurements](https://xeokit.github.io/xeokit-sdk/examples/index.html#measurements_distance_modelWithMeasurements)]
87321
+ * * [[Example 2: Create distance measurements with mouse](https://xeokit.github.io/xeokit-sdk/examples/measurement/#distance_createWithMouse_snapping)]
87322
+ * * [[Example 3: Configuring units and scale](https://xeokit.github.io/xeokit-sdk/examples/measurement/#distance_unitsAndScale)
87325
87323
  *
87326
87324
  * ## Overview
87327
87325
  *
@@ -87341,7 +87339,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
87341
87339
  * Note how each DistanceMeasurement has ````origin```` and ````target```` endpoints, which each indicate a 3D World-space
87342
87340
  * position on the surface of an {@link Entity}. The endpoints can be attached to the same Entity, or to different Entitys.
87343
87341
  *
87344
- * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/measurements/#distance_modelWithMeasurements)]
87342
+ * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/measurement/#distance_modelWithMeasurements)]
87345
87343
  *
87346
87344
  * ````JavaScript
87347
87345
  * import {Viewer, XKTLoaderPlugin, DistanceMeasurementsPlugin} from "xeokit-sdk.es.js";
@@ -87406,7 +87404,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
87406
87404
  * The DistanceMeasurementsMouseControl will then wait for the next click on any Entity, to begin constructing
87407
87405
  * another DistanceMeasurement, and so on, until deactivated again.
87408
87406
  *
87409
- * [[Run example](/examples/measurement/#distance_createWithMouse)]
87407
+ * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/measurement/#distance_createWithMouse_snapping)]
87410
87408
  *
87411
87409
  * ````JavaScript
87412
87410
  * import {Viewer, XKTLoaderPlugin, DistanceMeasurementsPlugin, DistanceMeasurementsMouseControl, PointerLens} from "xeokit-sdk.es.js";
@@ -87444,7 +87442,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
87444
87442
  *
87445
87443
  * The wires belonging to our DistanceMeasurements show their lengths in Real-space coordinates, in the current unit of measurement. They will dynamically update as we set these configurations.
87446
87444
  *
87447
- * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#measurements_distance_unitsAndScale)]
87445
+ * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/index.html#measurements_distance_unitsAndScale)]
87448
87446
  *
87449
87447
  * ````JavaScript
87450
87448
  * const metrics = viewer.scene.metrics;
@@ -87458,7 +87456,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
87458
87456
  * In our fourth example, we'll attach event handlers to our plugin, to catch when the user
87459
87457
  * hovers or right-clicks over our measurements.
87460
87458
  *
87461
- * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#measurements_distance_modelWithMeasurements)]
87459
+ * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/index.html#measurements_distance_modelWithMeasurements)]
87462
87460
  *
87463
87461
  * ````javascript
87464
87462
  * import {Viewer, XKTLoaderPlugin, DistanceMeasurementsPlugin, DistanceMeasurementsMouseControl, PointerLens} from "xeokit-sdk.es.js";
@@ -88622,7 +88620,7 @@ class DistanceMeasurementsTouchControl extends DistanceMeasurementsControl {
88622
88620
  * {@link Viewer} plugin that makes interaction smoother with large models, by temporarily switching
88623
88621
  * the Viewer to faster, lower-quality rendering modes whenever we interact.
88624
88622
  *
88625
- * [<img src="https://xeokit.io/img/docs/FastNavPlugin/FastNavPlugin.gif">](https://xeokit.github.io/xeokit-sdk/examples/#performance_FastNavPlugin)
88623
+ * [<img src="https://xeokit.io/img/docs/FastNavPlugin/FastNavPlugin.gif">](https://xeokit.github.io/xeokit-sdk/examples/index.html#performance_FastNavPlugin)
88626
88624
  *
88627
88625
  * FastNavPlugin works by hiding specified Viewer rendering features, and optionally scaling the Viewer's canvas
88628
88626
  * resolution, whenever we interact with the Viewer. Then, once we've finished interacting, FastNavPlugin restores those
@@ -88656,7 +88654,7 @@ class DistanceMeasurementsTouchControl extends DistanceMeasurementsControl {
88656
88654
  * not continually flipping between low and high quality as we interact. Since we're only rendering ambient shadows when not interacting, we'll also treat ourselves
88657
88655
  * to expensive, high-quality SAO settings, that we wouldn't normally configure for an interactive SAO effect.
88658
88656
  *
88659
- * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#performance_FastNavPlugin)]
88657
+ * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#performance_FastNavPlugin)]
88660
88658
  *
88661
88659
  * ````javascript
88662
88660
  * import {Viewer, XKTLoaderPlugin, FastNavPlugin} from "xeokit-sdk.es.js";
@@ -89246,7 +89244,7 @@ function getBasePath$1(src) {
89246
89244
  * If we didn't provide that particular translation in our LocaleService, or any translations for that locale,
89247
89245
  * then the NavCubePlugin will just fall back on its own default hard-coded translation, which in this case is "BACK".
89248
89246
  *
89249
- * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#localization_NavCubePlugin)]
89247
+ * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/index.html#localization_NavCubePlugin)]
89250
89248
  *
89251
89249
  * ````javascript
89252
89250
  * import {Viewer, LocaleService, NavCubePlugin, XKTLoaderPlugin} from "xeokit-sdk.es.js";
@@ -90245,7 +90243,7 @@ const newLookEyeVec = math.vec3();
90245
90243
  *
90246
90244
  * Let's transition the Camera to orthographic projection:
90247
90245
  *
90248
- * [[Run example](/examples/#camera_CameraFlightAnimation_projection)]
90246
+ * [[Run example](/examples/index.html#camera_CameraFlightAnimation_projection)]
90249
90247
  *
90250
90248
  * ````Javascript
90251
90249
  * viewer.cameraFlight.flyTo({ projection: "ortho", () => {
@@ -90847,7 +90845,7 @@ class CameraFlightAnimation extends Component {
90847
90845
  * In the example below, we'll load a model using a {@link GLTFLoaderPlugin}, then animate a {@link Camera}
90848
90846
  * through the frames in a {@link CameraPath}.
90849
90847
  *
90850
- * * [[Run this example](/examples/#camera_CameraPathAnimation)]
90848
+ * * [[Run this example](/examples/index.html#camera_CameraPathAnimation)]
90851
90849
  *
90852
90850
  * ````Javascript
90853
90851
  * import {Viewer, GLTFLoaderPlugin, CameraPath, CameraPathAnimation} from "xeokit-sdk.es.js";
@@ -91181,9 +91179,9 @@ const tempQuat = math.vec4([0, 0, 0, 1]);
91181
91179
  *
91182
91180
  * <img src="http://xeokit.io/img/docs/ImagePlane/schependomlaanGoogleSatMapMed.png">
91183
91181
  *
91184
- * [<img src="http://xeokit.io/img/docs/ImagePlane/ImagePlane.png">](/examples/#ImagePlane_groundPlane)
91182
+ * [<img src="http://xeokit.io/img/docs/ImagePlane/ImagePlane.png">](https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#ImagePlane_groundPlane)
91185
91183
  *
91186
- * [[Run this example](/examples/#ImagePlane_groundPlane)]
91184
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#ImagePlane_groundPlane)]
91187
91185
  *
91188
91186
  * ````javascript
91189
91187
  * import {Viewer, ImagePlane, XKTLoaderPlugin} from "xeokit-sdk.es.js";
@@ -91231,9 +91229,9 @@ const tempQuat = math.vec4([0, 0, 0, 1]);
91231
91229
  *
91232
91230
  * <img src="http://xeokit.io/img/docs/ImagePlane/schependomlaanPlanViewMed.png">
91233
91231
  *
91234
- * [<img src="http://xeokit.io/img/docs/ImagePlane/ImagePlane_planView.png">](/examples/#ImagePlane_imageInSectionPlane)
91232
+ * [<img src="http://xeokit.io/img/docs/ImagePlane/ImagePlane_planView.png">](https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#ImagePlane_imageInSectionPlane)
91235
91233
  *
91236
- * [[Run this example](/examples/#ImagePlane_imageInSectionPlane)]
91234
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#ImagePlane_imageInSectionPlane)]
91237
91235
  *
91238
91236
  * ````javascript
91239
91237
  * import {Viewer, XKTLoaderPlugin, SectionPlanesPlugin, ImagePlane} from "xeokit-sdk.es.js";
@@ -91732,7 +91730,7 @@ class ImagePlane extends Component {
91732
91730
  *
91733
91731
  * In the example below we'll replace the {@link Scene}'s default light sources with three World-space PointLights.
91734
91732
  *
91735
- * [[Run this example](/examples/#lights_PointLight_world)]
91733
+ * [[Run this example](/examples/index.html#lights_PointLight_world)]
91736
91734
  *
91737
91735
  * ````javascript
91738
91736
  * import {Viewer, Mesh, buildSphereGeometry, buildPlaneGeometry,
@@ -92416,7 +92414,7 @@ class LightMap extends CubeTexture {
92416
92414
  *
92417
92415
  * ## Usage
92418
92416
  *
92419
- * [[Run this example](/examples/#markers_SpriteMarker)]
92417
+ * [[Run this example](/examples/index.html#markers_SpriteMarker)]
92420
92418
  *
92421
92419
  * ```` javascript
92422
92420
  * import {Viewer, SpriteMarker } from "./https://cdn.jsdelivr.net/npm/@xeokit/xeokit-sdk/dist/xeokit-sdk.es.min.js";
@@ -96892,12 +96890,12 @@ const DEFAULT_SNAP_EDGE = true;
96892
96890
  *
96893
96891
  * # Examples
96894
96892
  *
96895
- * * [Orbit Navigation - Duplex Model](https://xeokit.github.io/xeokit-sdk/examples/#CameraControl_orbit_Duplex)
96896
- * * [Orbit Navigation - Holter Tower Model](https://xeokit.github.io/xeokit-sdk/examples/#CameraControl_orbit_HolterTower)
96897
- * * [First-Person Navigation - Duplex Model](https://xeokit.github.io/xeokit-sdk/examples/#CameraControl_firstPerson_Duplex)
96898
- * * [First-Person Navigation - Holter Tower Model](https://xeokit.github.io/xeokit-sdk/examples/#CameraControl_firstPerson_HolterTower)
96899
- * * [Plan-view Navigation - Schependomlaan Model](https://xeokit.github.io/xeokit-sdk/examples/#CameraControl_planView_Schependomlaan)
96900
- * * [Custom Keyboard Mapping](https://xeokit.github.io/xeokit-sdk/examples/#CameraControl_keyMap)
96893
+ * * [Orbit Navigation - Duplex Model](https://xeokit.github.io/xeokit-sdk/examples/index.html#CameraControl_orbit_Duplex)
96894
+ * * [Orbit Navigation - Holter Tower Model](https://xeokit.github.io/xeokit-sdk/examples/index.html#CameraControl_orbit_HolterTower)
96895
+ * * [First-Person Navigation - Duplex Model](https://xeokit.github.io/xeokit-sdk/examples/index.html#CameraControl_firstPerson_Duplex)
96896
+ * * [First-Person Navigation - Holter Tower Model](https://xeokit.github.io/xeokit-sdk/examples/index.html#CameraControl_firstPerson_HolterTower)
96897
+ * * [Plan-view Navigation - Schependomlaan Model](https://xeokit.github.io/xeokit-sdk/examples/index.html#CameraControl_planView_Schependomlaan)
96898
+ * * [Custom Keyboard Mapping](https://xeokit.github.io/xeokit-sdk/examples/index.html#CameraControl_keyMap)
96901
96899
  * <br><br>
96902
96900
  *
96903
96901
  * # Orbit Mode
@@ -99349,7 +99347,7 @@ class MetaModel {
99349
99347
  *
99350
99348
  * * Located in {@link Viewer#metaScene}.
99351
99349
  * * Contains {@link MetaModel}s and {@link MetaObject}s.
99352
- * * [Scene graph example with metadata](http://xeokit.github.io/xeokit-sdk/examples/#sceneRepresentation_SceneGraph_metadata)
99350
+ * * [Scene graph example with metadata](http://xeokit.github.io/xeokit-sdk/examples/index.html#sceneRepresentation_SceneGraph_metadata)
99353
99351
  */
99354
99352
  class MetaScene {
99355
99353
 
@@ -116768,9 +116766,9 @@ math.mat4();
116768
116766
  /**
116769
116767
  * {@link Viewer} plugin that lets us look at the entire {@link Scene} from along a chosen axis or diagonal.
116770
116768
  *
116771
- * [<img src="https://user-images.githubusercontent.com/83100/55674490-c93c2e00-58b5-11e9-8a28-eb08876947c0.gif">](https://xeokit.github.io/xeokit-sdk/examples/#gizmos_NavCubePlugin)
116769
+ * [<img src="https://user-images.githubusercontent.com/83100/55674490-c93c2e00-58b5-11e9-8a28-eb08876947c0.gif">](https://xeokit.github.io/xeokit-sdk/examples/index.html#gizmos_NavCubePlugin)
116772
116770
  *
116773
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#gizmos_NavCubePlugin)]
116771
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#gizmos_NavCubePlugin)]
116774
116772
  *
116775
116773
  * ## Overview
116776
116774
  *
@@ -118273,7 +118271,7 @@ function loadFile(url, ok, err) {
118273
118271
  *
118274
118272
  * ## Usage
118275
118273
  *
118276
- * [[Run this example](/examples/#loading_OBJ_SportsCar)]
118274
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/cad/#OBJ_SportsCar_ExplodeModel)]
118277
118275
  *
118278
118276
  * ````javascript
118279
118277
  * import {Viewer, OBJLoaderPlugin} from "xeokit-sdk.es.js";
@@ -120127,9 +120125,9 @@ const tempVec3$1 = math.vec3();
120127
120125
  /**
120128
120126
  * SectionPlanesPlugin is a {@link Viewer} plugin that manages {@link SectionPlane}s.
120129
120127
  *
120130
- * [<img src="https://user-images.githubusercontent.com/83100/57724962-406e9a00-768c-11e9-9f1f-3d178a3ec11f.gif">](https://xeokit.github.io/xeokit-sdk/examples/#gizmos_SectionPlanesPlugin)
120128
+ * [<img src="https://user-images.githubusercontent.com/83100/57724962-406e9a00-768c-11e9-9f1f-3d178a3ec11f.gif">](https://xeokit.github.io/xeokit-sdk/examples/index.html#gizmos_SectionPlanesPlugin)
120131
120129
  *
120132
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#gizmos_SectionPlanesPlugin)]
120130
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#gizmos_SectionPlanesPlugin)]
120133
120131
  *
120134
120132
  * ## Overview
120135
120133
  *
@@ -122428,9 +122426,9 @@ const tempVec3 = math.vec3();
122428
122426
  /**
122429
122427
  * FaceAlignedSectionPlanesPlugin is a {@link Viewer} plugin that creates and edits face-aligned {@link SectionPlane}s.
122430
122428
  *
122431
- * [<img src="https://xeokit.github.io/xeokit-sdk/assets/images/FaceAlignedSectionPlanesPlugin.gif">](https://xeokit.github.io/xeokit-sdk/examples/#gizmos_FaceAlignedSectionPlanesPlugin)
122429
+ * [<img src="https://xeokit.github.io/xeokit-sdk/assets/images/FaceAlignedSectionPlanesPlugin.gif">](https://xeokit.github.io/xeokit-sdk/examples/index.html#gizmos_FaceAlignedSectionPlanesPlugin)
122432
122430
  *
122433
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#gizmos_FaceAlignedSectionPlanesPlugin)]
122431
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/slicing/#FaceAlignedSectionPlanesPlugin)]
122434
122432
  *
122435
122433
  * ## Overview
122436
122434
  *
@@ -123358,7 +123356,7 @@ function decodeText(array) {
123358
123356
  * we'll use the {@link CameraFlightAnimation} to fly the {@link Camera} to look at boundary of the model. We'll
123359
123357
  * then get the model's {@link Entity} from the {@link Scene} and highlight the whole model.
123360
123358
  *
123361
- * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#loading_STL_SpurGear)]
123359
+ * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_STL_SpurGear)]
123362
123360
  *
123363
123361
  * ````javascript
123364
123362
  * // Create a xeokit Viewer
@@ -123403,7 +123401,7 @@ function decodeText(array) {
123403
123401
  * file data straight into the {@link STLLoaderPlugin#load} method. In the example below, to show how it's done, we'll pre-load
123404
123402
  * our STL file data, then pass it straight into that method.
123405
123403
  *
123406
- * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#loading_STL_dataAsParam)]
123404
+ * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_STL_dataAsParam)]
123407
123405
  *
123408
123406
  * ````javascript
123409
123407
  * loadSTL("./models/stl/binary/spurGear.stl", (stlData) =>{
@@ -123446,7 +123444,7 @@ function decodeText(array) {
123446
123444
  * custom data source object, through which it can load STL files. For this example, our data source just loads
123447
123445
  * them via HTTP, for simplicity. Once we've created the STLLoaderPlugin, we'll load our STL file as before.
123448
123446
  *
123449
- * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#loading_STL_dataSource)]
123447
+ * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_STL_dataSource)]
123450
123448
  *
123451
123449
  * ````javascript
123452
123450
  * // Our custom STL data access strategy - implementation happens to be the same as STLDefaultDataSource
@@ -123761,9 +123759,9 @@ const treeViews = [];
123761
123759
  * @desc A {@link Viewer} plugin that provides an HTML tree view to navigate the IFC elements in models.
123762
123760
  * <br>
123763
123761
  *
123764
- * <a href="https://xeokit.github.io/xeokit-sdk/examples/#BIMOffline_XKT_WestRiverSideHospital" style="border: 1px solid black;"><img src="http://xeokit.io/img/docs/TreeViewPlugin/TreeViewPlugin.png"></a>
123762
+ * <a href="https://xeokit.github.io/xeokit-sdk/examples/index.html#BIMOffline_XKT_WestRiverSideHospital" style="border: 1px solid black;"><img src="http://xeokit.io/img/docs/TreeViewPlugin/TreeViewPlugin.png"></a>
123765
123763
  *
123766
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#BIMOffline_XKT_WestRiverSideHospital)]
123764
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#BIMOffline_XKT_WestRiverSideHospital)]
123767
123765
  *
123768
123766
  * ## Overview
123769
123767
  *
@@ -123787,7 +123785,7 @@ const treeViews = [];
123787
123785
  * Then we'll use an {@link XKTLoaderPlugin} to load the Schependomlaan model from an
123788
123786
  * [.xkt file](https://github.com/xeokit/xeokit-sdk/tree/master/examples/models/xkt/schependomlaan).
123789
123787
  *
123790
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#BIMOffline_XKT_Schependomlaan)]
123788
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/navigation/#TreeViewPlugin_Containment)]
123791
123789
  *
123792
123790
  * ````javascript
123793
123791
  * import {Viewer, XKTLoaderPlugin, TreeViewPlugin} from "xeokit-sdk.es.js";
@@ -123969,7 +123967,7 @@ const treeViews = [];
123969
123967
  *
123970
123968
  * Let's use {@link ContextMenu} to show a simple context menu for the node we clicked.
123971
123969
  *
123972
- * [[Run an example](https://xeokit.github.io/xeokit-sdk/examples/#ContextMenu_Canvas_TreeViewPlugin_Custom)]
123970
+ * [[Run an example](https://xeokit.github.io/xeokit-sdk/examples/index.html#ContextMenu_Canvas_TreeViewPlugin_Custom)]
123973
123971
  *
123974
123972
  * ````javascript
123975
123973
  * import {ContextMenu} from "../src/extras/ContextMenu/ContextMenu.js";
@@ -124060,7 +124058,7 @@ const treeViews = [];
124060
124058
  * Let's register a callback to isolate and fit-to-view the {@link Entity}(s) represented by the node. This callback is
124061
124059
  * going to X-ray all the other Entitys, fly the camera to fit the Entity(s) for the clicked node, then hide the other Entitys.
124062
124060
  *
124063
- * [[Run an example](https://xeokit.github.io/xeokit-sdk/examples/#ContextMenu_Canvas_TreeViewPlugin_Custom)]
124061
+ * [[Run an example](https://xeokit.github.io/xeokit-sdk/examples/index.html#ContextMenu_Canvas_TreeViewPlugin_Custom)]
124064
124062
  *
124065
124063
  * ````javascript
124066
124064
  * treeView.on("nodeTitleClicked", (e) => {
@@ -129281,9 +129279,9 @@ parsers[ParserV10.version] = ParserV10;
129281
129279
  /**
129282
129280
  * {@link Viewer} plugin that loads models from xeokit's optimized *````.XKT````* format.
129283
129281
  *
129284
- * <a href="https://xeokit.github.io/xeokit-sdk/examples/#loading_XKT_OTCConferenceCenter"><img src="http://xeokit.io/img/docs/XKTLoaderPlugin/XKTLoaderPlugin.png"></a>
129282
+ * <a href="https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_XKT_OTCConferenceCenter"><img src="http://xeokit.io/img/docs/XKTLoaderPlugin/XKTLoaderPlugin.png"></a>
129285
129283
  *
129286
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#loading_XKT_OTCConferenceCenter)]
129284
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_XKT_OTCConferenceCenter)]
129287
129285
  *
129288
129286
  * # Overview
129289
129287
  *
@@ -129339,7 +129337,7 @@ parsers[ParserV10.version] = ParserV10;
129339
129337
  *
129340
129338
  * Read more about this example in the user guide on [Viewing BIM Models Offline](https://www.notion.so/xeokit/Viewing-an-IFC-Model-with-xeokit-c373e48bc4094ff5b6e5c5700ff580ee).
129341
129339
  *
129342
- * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#BIMOffline_XKT_metadata_Schependomlaan)]
129340
+ * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/index.html#BIMOffline_XKT_metadata_Schependomlaan)]
129343
129341
  *
129344
129342
  * ````javascript
129345
129343
  * import {Viewer, XKTLoaderPlugin} from "xeokit-sdk.es.js";
@@ -129426,9 +129424,9 @@ parsers[ParserV10.version] = ParserV10;
129426
129424
  * KTX2TextureTranscoder altogether, and let the XKTLoaderPlugin use its internal default KTX2TextureTranscoder, which is configured to
129427
129425
  * load the Codec from the CDN. We'll stick with loading our own Codec, in case we want to run our app without an Internet connection.
129428
129426
  *
129429
- * <a href="https://xeokit.github.io/xeokit-sdk/examples/#loading_XKT_Textures_HousePlan"><img src="https://xeokit.github.io/xeokit-sdk/assets/images/xktWithTextures.png"></a>
129427
+ * <a href="https://xeokit.github.io/xeokit-sdk/examples/buildings/#xkt_vbo_textures_HousePlan"><img src="https://xeokit.github.io/xeokit-sdk/assets/images/xktWithTextures.png"></a>
129430
129428
  *
129431
- * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#loading_XKT_Textures_HousePlan)]
129429
+ * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/buildings/#xkt_vbo_textures_HousePlan)]
129432
129430
  *
129433
129431
  * ````javascript
129434
129432
  * const viewer = new Viewer({
@@ -129464,8 +129462,6 @@ parsers[ParserV10.version] = ParserV10;
129464
129462
  * In the example below, we'll scale our model to half its size, rotate it 90 degrees about its local X-axis, then
129465
129463
  * translate it 100 units along its X axis.
129466
129464
  *
129467
- * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#loading_XKT_Duplex_transform)]
129468
- *
129469
129465
  * ````javascript
129470
129466
  * xktLoader.load({
129471
129467
  * src: "./models/xkt/Duplex.ifc.xkt",
@@ -129481,8 +129477,6 @@ parsers[ParserV10.version] = ParserV10;
129481
129477
  *
129482
129478
  * In the example below, we'll load only the objects that represent walls.
129483
129479
  *
129484
- * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#BIMOffline_XKT_includeTypes)]
129485
- *
129486
129480
  * ````javascript
129487
129481
  * const model2 = xktLoader.load({
129488
129482
  * id: "myModel2",
@@ -129495,8 +129489,6 @@ parsers[ParserV10.version] = ParserV10;
129495
129489
  *
129496
129490
  * In the example below, we'll load only the objects that do not represent empty space.
129497
129491
  *
129498
- * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#BIMOffline_XKT_excludeTypes)]
129499
- *
129500
129492
  * ````javascript
129501
129493
  * const model3 = xktLoader.load({
129502
129494
  * id: "myModel3",
@@ -129518,8 +129510,6 @@ parsers[ParserV10.version] = ParserV10;
129518
129510
  * In the example below, we'll load a model, while configuring ````IfcSpace```` elements to be always initially invisible,
129519
129511
  * and ````IfcWindow```` types to be always translucent blue.
129520
129512
  *
129521
- * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#BIMOffline_XKT_objectDefaults)]
129522
- *
129523
129513
  * ````javascript
129524
129514
  * const myObjectDefaults = {
129525
129515
  *
@@ -129580,8 +129570,6 @@ parsers[ParserV10.version] = ParserV10;
129580
129570
  * In the example below, we'll customize the way XKTLoaderPlugin loads the files by configuring it with our own data source
129581
129571
  * object. For simplicity, our custom data source example also uses HTTP, using a couple of xeokit utility functions.
129582
129572
  *
129583
- * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#loading_XKT_dataSource)]
129584
- *
129585
129573
  * ````javascript
129586
129574
  * import {utils} from "xeokit-sdk.es.js";
129587
129575
  *
@@ -129632,7 +129620,7 @@ parsers[ParserV10.version] = ParserV10;
129632
129620
  *
129633
129621
  * As shown in the example below, we do this by setting {@link XKTLoaderPlugin#globalizeObjectIds} ````true```` before we load our models.
129634
129622
  *
129635
- * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#TreeViewPlugin_Containment_MultipleModels)]
129623
+ * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/index.html#TreeViewPlugin_Containment_MultipleModels)]
129636
129624
  *
129637
129625
  * ````javascript
129638
129626
  * xktLoader.globalizeObjectIds = true;
@@ -129738,6 +129726,8 @@ parsers[ParserV10.version] = ParserV10;
129738
129726
  * Now, to load all those XKT files into a single SceneModel and MetaModel in one operation, we pass a path to the XKT
129739
129727
  * manifest to `XKTLoaderPlugin.load`, as shown in the example below:
129740
129728
  *
129729
+ * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/buildings/#xkt_manifest_KarhumakiBridge)]
129730
+ *
129741
129731
  * ````javascript
129742
129732
  * import {
129743
129733
  * Viewer,
@@ -132865,9 +132855,9 @@ getIDFromURI(str) {
132865
132855
  /**
132866
132856
  * {@link Viewer} plugin that loads models from [3DXML](https://en.wikipedia.org/wiki/3DXML) files.
132867
132857
  *
132868
- * [<img src="https://xeokit.io/img/docs/XML3DLoaderPlugin/XML3DPluginTreeView.png">](https://xeokit.github.io/xeokit-sdk/examples/#loading_3DXML_TreeView)
132858
+ * [<img src="https://xeokit.io/img/docs/XML3DLoaderPlugin/XML3DPluginTreeView.png">](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_3DXML_TreeView)
132869
132859
  *
132870
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#loading_3DXML_TreeView)]
132860
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_3DXML_TreeView)]
132871
132861
  *
132872
132862
  * ## Overview
132873
132863
  *
@@ -132891,7 +132881,7 @@ getIDFromURI(str) {
132891
132881
  * we'll use the {@link CameraFlightAnimation} to fly the {@link Camera} to look at boundary of the model. We'll
132892
132882
  * then get the model's {@link Entity} from the {@link Scene} and highlight the whole model.
132893
132883
  *
132894
- * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#loading_3DXML_Widget)]
132884
+ * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_3DXML_Widget)]
132895
132885
  *
132896
132886
  * ````javascript
132897
132887
  * // Create a xeokit Viewer
@@ -132982,7 +132972,7 @@ getIDFromURI(str) {
132982
132972
  * does not make sense because XML3DLoaderPlugin will set each {@link MetaObject#type} to "Default", and "storeys"
132983
132973
  * does not make sense because that requires some of the MetaObject#type values to be "IfcBuildingStorey".
132984
132974
  *
132985
- * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#loading_3DXML_TreeView)]
132975
+ * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_3DXML_TreeView)]
132986
132976
  *
132987
132977
  * ## Material Type
132988
132978
  *
@@ -132992,9 +132982,9 @@ getIDFromURI(str) {
132992
132982
  *
132993
132983
  * | Material Type | Material Components Loaded | Description | Example |
132994
132984
  * |:--------:|:----:|:-----:|:-----:|
132995
- * | "PhongMaterial" (default) | {@link PhongMaterial} | Non-physically-correct Blinn-Phong shading model | [Run example](https://xeokit.github.io/xeokit-sdk/examples/#loading_3DXML_materialType_Phong) |
132996
- * | "MetallicMaterial" | {@link MetallicMaterial} | Physically-accurate specular-glossiness shading model | [Run example](https://xeokit.github.io/xeokit-sdk/examples/#loading_3DXML_materialType_Metallic) |
132997
- * | "SpecularMaterial" | {@link SpecularMaterial} | Physically-accurate metallic-roughness shading model | [Run example](https://xeokit.github.io/xeokit-sdk/examples/#loading_3DXML_materialType_Specular) |
132985
+ * | "PhongMaterial" (default) | {@link PhongMaterial} | Non-physically-correct Blinn-Phong shading model | [Run example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_3DXML_materialType_Phong) |
132986
+ * | "MetallicMaterial" | {@link MetallicMaterial} | Physically-accurate specular-glossiness shading model | [Run example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_3DXML_materialType_Metallic) |
132987
+ * | "SpecularMaterial" | {@link SpecularMaterial} | Physically-accurate metallic-roughness shading model | [Run example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_3DXML_materialType_Specular) |
132998
132988
  *
132999
132989
  * <br>
133000
132990
  * Let's load our model again, this time converting the 3DXML Blinn-Phong materials to {@link SpecularMaterial}s:
@@ -133007,7 +132997,7 @@ getIDFromURI(str) {
133007
132997
  * });
133008
132998
  * ````
133009
132999
  *
133010
- * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#loading_3DXML_materialType_Specular)]
133000
+ * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_3DXML_materialType_Specular)]
133011
133001
  *
133012
133002
  * @class XML3DLoaderPlugin
133013
133003
  */
@@ -133154,9 +133144,9 @@ class WebIFCDefaultDataSource {
133154
133144
  /**
133155
133145
  * {@link Viewer} plugin that uses [web-ifc](https://github.com/tomvandig/web-ifc) to load BIM models directly from IFC files.
133156
133146
  *
133157
- * <a href="https://xeokit.github.io/xeokit-sdk/examples/#BIMOffline_WebIFCLoaderPlugin_Duplex"><img src="https://xeokit.io/img/docs/WebIFCLoaderPlugin/WebIFCLoaderPlugin.png"></a>
133147
+ * <a href="https://xeokit.github.io/xeokit-sdk/examples/index.html#BIMOffline_WebIFCLoaderPlugin_Duplex"><img src="https://xeokit.io/img/docs/WebIFCLoaderPlugin/WebIFCLoaderPlugin.png"></a>
133158
133148
  *
133159
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#BIMOffline_WebIFCLoaderPlugin_Duplex)]
133149
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#BIMOffline_WebIFCLoaderPlugin_Duplex)]
133160
133150
  *
133161
133151
  * ## Overview
133162
133152
  *
@@ -133200,7 +133190,7 @@ class WebIFCDefaultDataSource {
133200
133190
  * Since this model contains IFC types, the WebIFCLoaderPlugin will set the initial appearance of each object
133201
133191
  * {@link Entity} according to its IFC type in {@link WebIFCLoaderPlugin#objectDefaults}.
133202
133192
  *
133203
- * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#BIMOffline_WebIFCLoaderPlugin_isolateStorey)]
133193
+ * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/index.html#BIMOffline_WebIFCLoaderPlugin_isolateStorey)]
133204
133194
  *
133205
133195
  * ````javascript
133206
133196
  * import {Viewer, WebIFCLoaderPlugin} from "xeokit-sdk.es.js";
@@ -134362,9 +134352,9 @@ const MAX_VERTICES = 500000; // TODO: Rough estimate
134362
134352
  /**
134363
134353
  * {@link Viewer} plugin that loads lidar point cloud geometry from LAS files.
134364
134354
  *
134365
- * <a href="https://xeokit.github.io/xeokit-sdk/examples/#loading_LASLoaderPlugin_Autzen"><img src="https://xeokit.github.io/xeokit-sdk/assets/images/autzen.png"></a>
134355
+ * <a href="https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_LASLoaderPlugin_Autzen"><img src="https://xeokit.github.io/xeokit-sdk/assets/images/autzen.png"></a>
134366
134356
  *
134367
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#loading_LASLoaderPlugin_Autzen)]
134357
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_LASLoaderPlugin_Autzen)]
134368
134358
  *
134369
134359
  * ## Summary
134370
134360
  *
@@ -134403,7 +134393,7 @@ const MAX_VERTICES = 500000; // TODO: Rough estimate
134403
134393
  * a [LAS file](/assets/models/las/). Once the model has
134404
134394
  * loaded, we'll then find its {@link MetaModel}, and the {@link MetaObject} and {@link Entity} that represent its point cloud.
134405
134395
  *
134406
- * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#loading_LASLoaderPlugin_Autzen)]
134396
+ * * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_LASLoaderPlugin_Autzen)]
134407
134397
  *
134408
134398
  * ````javascript
134409
134399
  * import {Viewer, LASLoaderPlugin} from "xeokit-sdk.es.js";
@@ -135620,9 +135610,9 @@ const tempVec3c = math.vec3();
135620
135610
  /**
135621
135611
  * {@link Viewer} plugin that loads models from CityJSON files.
135622
135612
  *
135623
- * <a href="https://xeokit.github.io/xeokit-sdk/examples/#loading_CityJSONLoaderPlugin_Railway"><img src="https://xeokit.io/img/docs/CityJSONLoaderPlugin/CityJSONLoaderPlugin.png"></a>
135613
+ * <a href="https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_CityJSONLoaderPlugin_Railway"><img src="https://xeokit.io/img/docs/CityJSONLoaderPlugin/CityJSONLoaderPlugin.png"></a>
135624
135614
  *
135625
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#loading_CityJSONLoaderPlugin_Railway)]
135615
+ * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_CityJSONLoaderPlugin_Railway)]
135626
135616
  *
135627
135617
  * ## Overview
135628
135618
  *
@@ -135662,7 +135652,7 @@ const tempVec3c = math.vec3();
135662
135652
  * We'll also scale our model to half its size, rotate it 90 degrees about its local X-axis, then
135663
135653
  * translate it 100 units along its X axis.
135664
135654
  *
135665
- * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/#loading_CityJSONLoaderPlugin_Railway)]
135655
+ * * [[Run example](https://xeokit.github.io/xeokit-sdk/examples/index.html#loading_CityJSONLoaderPlugin_Railway)]
135666
135656
  *
135667
135657
  * ````javascript
135668
135658
  * import {Viewer, CityJSONLoaderPlugin} from "xeokit-sdk.es.js";