From 61b88133efc8beebab3e89dd7eaa3b9531160300 Mon Sep 17 00:00:00 2001 From: thera2002 Date: Sat, 2 Nov 2024 22:33:42 +0000 Subject: [PATCH] deploy: 6966f1b232e799fc2cd13dcc084bad6a3b04ee2f --- Annotation.js.html | 6 +- AudioPlayer.html | 6 +- AudioPlayer.js.html | 6 +- BoundingBox.html | 6 +- BoundingBox.js.html | 6 +- Cache.html | 6 +- Cache.js.html | 6 +- Camera.html | 8 +- Camera.js.html | 6 +- Canvas.html | 6 +- Canvas.js.html | 6 +- Color.html | 6 +- Colormap.html | 6 +- Colormap.js.html | 6 +- ColormapLegend.html | 6 +- Controller.html | 6 +- Controller.js.html | 6 +- Controller2D.html | 6 +- Controller2D.js.html | 6 +- ControllerFocusContext.html | 6 +- ControllerFocusContext.js.html | 6 +- ControllerLens.html | 6 +- ControllerLens.js.html | 6 +- ControllerPanZoom.html | 6 +- ControllerPanZoom.js.html | 6 +- CoordinateSystem.html | 6 +- CoordinateSystem.js.html | 6 +- Draggable.html | 6 +- Draggable.js.html | 6 +- EditorSvgAnnotation.html | 6 +- EditorSvgAnnotation.js.html | 6 +- FocusContext.html | 6 +- FocusContext.js.html | 6 +- Layer.html | 6 +- Layer.js.html | 6 +- LayerAnnotation.html | 6 +- LayerAnnotation.js.html | 6 +- LayerAnnotationImage.html | 6 +- LayerAnnotationImage.js.html | 6 +- LayerBRDF.html | 6 +- LayerBRDF.js.html | 6 +- LayerCombiner.html | 6 +- LayerCombiner.js.html | 6 +- LayerDstretch.html | 6 +- LayerDstretch.js.html | 6 +- LayerImage.html | 6 +- LayerImage.js.html | 6 +- LayerLens.html | 6 +- LayerLens.js.html | 6 +- LayerMaskedImage.html | 6 +- LayerMaskedImage.js.html | 6 +- LayerNeuralRTI.html | 6 +- LayerNeuralRTI.js.html | 6 +- LayerRTI.html | 6 +- LayerRTI.js.html | 6 +- LayerSvgAnnotation.html | 6 +- LayerSvgAnnotation.js.html | 6 +- Layout.html | 6 +- Layout.js.html | 6 +- LayoutTileImages.html | 6 +- LayoutTileImages.js.html | 6 +- LayoutTiles.html | 6 +- LayoutTiles.js.html | 6 +- LensDashboard.html | 6 +- LensDashboard.js.html | 6 +- LensDashboardNavigator.html | 6 +- LensDashboardNavigator.js.html | 6 +- LensDashboardNavigatorRadial.html | 6 +- LensDashboardNavigatorRadial.js.html | 6 +- LightSphereController.html | 6 +- LightSphereController.js.html | 6 +- PointerManager.js.html | 6 +- Raster.html | 394 ++++- Raster.js.html | 145 +- Ruler.html | 1010 +++++++++++ Ruler.js.html | 564 ++++++ ScaleBar.html | 1036 +++++++++++ ScaleBar.js.html | 435 +++++ Shader.html | 1902 ++++++++++++++++++--- Shader.js.html | 221 ++- ShaderBRDF.html | 6 +- ShaderBRDF.js.html | 6 +- ShaderCombiner.html | 6 +- ShaderCombiner.js.html | 6 +- ShaderFilter.js.html | 6 +- ShaderNeural.html | 6 +- ShaderNeural.js.html | 6 +- ShaderRTI.html | 6 +- ShaderRTI.js.html | 6 +- Signals.js.html | 6 +- Simplify.js.html | 6 +- Skin.html | 6 +- Skin.js.html | 6 +- TextToSpeechPlayer.html | 6 +- TextToSpeechPlayer.js.html | 6 +- Tile.js.html | 6 +- Transform.html | 6 +- Transform.js.html | 6 +- UIBasic.html | 6 +- UIBasic.js.html | 6 +- UIDialog.html | 6 +- Units.html | 811 +++++++++ Viewer.html | 6 +- Viewer.js.html | 6 +- classes.list.html | 105 +- global.html | 6 +- global.html#Annotation | 6 +- index.html | 229 ++- module-PointerManager-PointerManager.html | 6 +- module-PointerManager.html | 6 +- modules.list.html | 105 +- namespaces.list.html | 105 +- quicksearch.html | 2 +- tutorial-getting-started.html | 6 +- tutorials.list.html | 105 +- 115 files changed, 7066 insertions(+), 705 deletions(-) create mode 100644 Ruler.html create mode 100644 Ruler.js.html create mode 100644 ScaleBar.html create mode 100644 ScaleBar.js.html create mode 100644 Units.html diff --git a/Annotation.js.html b/Annotation.js.html index a2041471..dfa48ad0 100644 --- a/Annotation.js.html +++ b/Annotation.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -334,7 +334,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/AudioPlayer.html b/AudioPlayer.html index 426c97f5..6d3b8717 100644 --- a/AudioPlayer.html +++ b/AudioPlayer.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1307,7 +1307,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/AudioPlayer.js.html b/AudioPlayer.js.html index 4faa6866..c530d290 100644 --- a/AudioPlayer.js.html +++ b/AudioPlayer.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -350,7 +350,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/BoundingBox.html b/BoundingBox.html index 38423abe..84cae0bb 100644 --- a/BoundingBox.html +++ b/BoundingBox.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -2442,7 +2442,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/BoundingBox.js.html b/BoundingBox.js.html index b90a7e32..dc9095eb 100644 --- a/BoundingBox.js.html +++ b/BoundingBox.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -347,7 +347,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Cache.html b/Cache.html index ae97de2c..028a8b4a 100644 --- a/Cache.html +++ b/Cache.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -479,7 +479,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Cache.js.html b/Cache.js.html index 6cd98c5a..7d3e1273 100644 --- a/Cache.js.html +++ b/Cache.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -360,7 +360,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Camera.html b/Camera.html index 067fc437..cdca6a85 100644 --- a/Camera.html +++ b/Camera.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -3302,7 +3302,7 @@

    update

    @@ -3379,7 +3379,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Camera.js.html b/Camera.js.html index c641c3b3..dc8e7703 100644 --- a/Camera.js.html +++ b/Camera.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -501,7 +501,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Canvas.html b/Canvas.html index eed56aa0..c2fe2fb4 100644 --- a/Canvas.html +++ b/Canvas.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1736,7 +1736,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Canvas.js.html b/Canvas.js.html index 4e399595..2db932d6 100644 --- a/Canvas.js.html +++ b/Canvas.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -485,7 +485,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Color.html b/Color.html index 341d122e..7d3d45c8 100644 --- a/Color.html +++ b/Color.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1047,7 +1047,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Colormap.html b/Colormap.html index 4e261011..b86aca1d 100644 --- a/Colormap.html +++ b/Colormap.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1127,7 +1127,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Colormap.js.html b/Colormap.js.html index d5d45d9c..e2bfa60d 100644 --- a/Colormap.js.html +++ b/Colormap.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -712,7 +712,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ColormapLegend.html b/ColormapLegend.html index 72a23d95..7a44184d 100644 --- a/ColormapLegend.html +++ b/ColormapLegend.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -606,7 +606,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Controller.html b/Controller.html index 29789bf3..b7b38056 100644 --- a/Controller.html +++ b/Controller.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -2140,7 +2140,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Controller.js.html b/Controller.js.html index 5db02e27..0faa34b6 100644 --- a/Controller.js.html +++ b/Controller.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -336,7 +336,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Controller2D.html b/Controller2D.html index 1f73284b..2a36dbfc 100644 --- a/Controller2D.html +++ b/Controller2D.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -2557,7 +2557,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Controller2D.js.html b/Controller2D.js.html index dcb603af..0dc8f4ac 100644 --- a/Controller2D.js.html +++ b/Controller2D.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -348,7 +348,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ControllerFocusContext.html b/ControllerFocusContext.html index ed514784..0b1b17d8 100644 --- a/ControllerFocusContext.html +++ b/ControllerFocusContext.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -2583,7 +2583,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ControllerFocusContext.js.html b/ControllerFocusContext.js.html index faa7b68a..52bd1483 100644 --- a/ControllerFocusContext.js.html +++ b/ControllerFocusContext.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -595,7 +595,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ControllerLens.html b/ControllerLens.html index a10fd154..7c991091 100644 --- a/ControllerLens.html +++ b/ControllerLens.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -3446,7 +3446,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ControllerLens.js.html b/ControllerLens.js.html index 43841a16..08f61663 100644 --- a/ControllerLens.js.html +++ b/ControllerLens.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -459,7 +459,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ControllerPanZoom.html b/ControllerPanZoom.html index e97eb196..ff27e0a5 100644 --- a/ControllerPanZoom.html +++ b/ControllerPanZoom.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -974,7 +974,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ControllerPanZoom.js.html b/ControllerPanZoom.js.html index 47d809a1..a110810c 100644 --- a/ControllerPanZoom.js.html +++ b/ControllerPanZoom.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -362,7 +362,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/CoordinateSystem.html b/CoordinateSystem.html index d9b3bcf1..dec10a9c 100644 --- a/CoordinateSystem.html +++ b/CoordinateSystem.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -5341,7 +5341,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/CoordinateSystem.js.html b/CoordinateSystem.js.html index ca5dd493..27245fa4 100644 --- a/CoordinateSystem.js.html +++ b/CoordinateSystem.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -555,7 +555,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Draggable.html b/Draggable.html index 07db47a6..a90d7f98 100644 --- a/Draggable.html +++ b/Draggable.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -922,7 +922,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Draggable.js.html b/Draggable.js.html index 99fcf553..ce3653c4 100644 --- a/Draggable.js.html +++ b/Draggable.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -309,7 +309,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/EditorSvgAnnotation.html b/EditorSvgAnnotation.html index 4fc8e2a2..98222727 100644 --- a/EditorSvgAnnotation.html +++ b/EditorSvgAnnotation.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1406,7 +1406,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/EditorSvgAnnotation.js.html b/EditorSvgAnnotation.js.html index f2afabe1..15a778a1 100644 --- a/EditorSvgAnnotation.js.html +++ b/EditorSvgAnnotation.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1273,7 +1273,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/FocusContext.html b/FocusContext.html index 701ff594..85e1e42c 100644 --- a/FocusContext.html +++ b/FocusContext.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1102,7 +1102,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/FocusContext.js.html b/FocusContext.js.html index 90232dfa..da936b58 100644 --- a/FocusContext.js.html +++ b/FocusContext.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -483,7 +483,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Layer.html b/Layer.html index f36098ff..3ed7a083 100644 --- a/Layer.html +++ b/Layer.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -4561,7 +4561,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Layer.js.html b/Layer.js.html index 73d74459..33e01852 100644 --- a/Layer.js.html +++ b/Layer.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1106,7 +1106,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerAnnotation.html b/LayerAnnotation.html index 3392848e..04b01403 100644 --- a/LayerAnnotation.html +++ b/LayerAnnotation.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -4543,7 +4543,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerAnnotation.js.html b/LayerAnnotation.js.html index fe797383..d2344c6d 100644 --- a/LayerAnnotation.js.html +++ b/LayerAnnotation.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -414,7 +414,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerAnnotationImage.html b/LayerAnnotationImage.html index cedbd4f4..97cabb77 100644 --- a/LayerAnnotationImage.html +++ b/LayerAnnotationImage.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -4911,7 +4911,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerAnnotationImage.js.html b/LayerAnnotationImage.js.html index 1e98a598..19f20de8 100644 --- a/LayerAnnotationImage.js.html +++ b/LayerAnnotationImage.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -352,7 +352,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerBRDF.html b/LayerBRDF.html index 6e2f5c67..fa50f34b 100644 --- a/LayerBRDF.html +++ b/LayerBRDF.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -4576,7 +4576,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerBRDF.js.html b/LayerBRDF.js.html index 0bd99b2e..854f414e 100644 --- a/LayerBRDF.js.html +++ b/LayerBRDF.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -387,7 +387,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerCombiner.html b/LayerCombiner.html index 1cfcd1e7..d067d1a6 100644 --- a/LayerCombiner.html +++ b/LayerCombiner.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -3876,7 +3876,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerCombiner.js.html b/LayerCombiner.js.html index 73b03491..2d39558b 100644 --- a/LayerCombiner.js.html +++ b/LayerCombiner.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -409,7 +409,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerDstretch.html b/LayerDstretch.html index 88bfbb75..b8a7a716 100644 --- a/LayerDstretch.html +++ b/LayerDstretch.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -4299,7 +4299,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerDstretch.js.html b/LayerDstretch.js.html index 4a15e195..8bed6dbe 100644 --- a/LayerDstretch.js.html +++ b/LayerDstretch.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -359,7 +359,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerImage.html b/LayerImage.html index ea619826..72955158 100644 --- a/LayerImage.html +++ b/LayerImage.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -4134,7 +4134,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerImage.js.html b/LayerImage.js.html index 40930a6c..5eb1c2dd 100644 --- a/LayerImage.js.html +++ b/LayerImage.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -262,7 +262,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerLens.html b/LayerLens.html index d980b83d..d43634e7 100644 --- a/LayerLens.html +++ b/LayerLens.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -5430,7 +5430,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerLens.js.html b/LayerLens.js.html index d1de2c3f..33fd347f 100644 --- a/LayerLens.js.html +++ b/LayerLens.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -567,7 +567,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerMaskedImage.html b/LayerMaskedImage.html index 312f1332..b75bc0fd 100644 --- a/LayerMaskedImage.html +++ b/LayerMaskedImage.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -4136,7 +4136,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerMaskedImage.js.html b/LayerMaskedImage.js.html index 39a06e13..5f38c18a 100644 --- a/LayerMaskedImage.js.html +++ b/LayerMaskedImage.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -345,7 +345,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerNeuralRTI.html b/LayerNeuralRTI.html index 2e1d0a4b..ecb31195 100644 --- a/LayerNeuralRTI.html +++ b/LayerNeuralRTI.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -4145,7 +4145,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerNeuralRTI.js.html b/LayerNeuralRTI.js.html index e53e39f7..36c6f577 100644 --- a/LayerNeuralRTI.js.html +++ b/LayerNeuralRTI.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -597,7 +597,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerRTI.html b/LayerRTI.html index 7642ef43..02b9cbf0 100644 --- a/LayerRTI.html +++ b/LayerRTI.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -4210,7 +4210,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerRTI.js.html b/LayerRTI.js.html index cddf585f..f5126f32 100644 --- a/LayerRTI.js.html +++ b/LayerRTI.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -376,7 +376,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerSvgAnnotation.html b/LayerSvgAnnotation.html index b86f1120..c6498b06 100644 --- a/LayerSvgAnnotation.html +++ b/LayerSvgAnnotation.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -4785,7 +4785,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayerSvgAnnotation.js.html b/LayerSvgAnnotation.js.html index 3ab46f5c..aa64c519 100644 --- a/LayerSvgAnnotation.js.html +++ b/LayerSvgAnnotation.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -478,7 +478,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Layout.html b/Layout.html index ef07a988..16fd6e8b 100644 --- a/Layout.html +++ b/Layout.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -2535,7 +2535,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Layout.js.html b/Layout.js.html index 7f111f71..28cb28f3 100644 --- a/Layout.js.html +++ b/Layout.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -453,7 +453,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayoutTileImages.html b/LayoutTileImages.html index a715bda6..110b5d0e 100644 --- a/LayoutTileImages.html +++ b/LayoutTileImages.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -3461,7 +3461,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayoutTileImages.js.html b/LayoutTileImages.js.html index b6217833..11b54572 100644 --- a/LayoutTileImages.js.html +++ b/LayoutTileImages.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -523,7 +523,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayoutTiles.html b/LayoutTiles.html index b5a263eb..3a2c9427 100644 --- a/LayoutTiles.html +++ b/LayoutTiles.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -3520,7 +3520,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LayoutTiles.js.html b/LayoutTiles.js.html index 121c1d21..035d0439 100644 --- a/LayoutTiles.js.html +++ b/LayoutTiles.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -937,7 +937,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LensDashboard.html b/LensDashboard.html index b1cad956..b85fec49 100644 --- a/LensDashboard.html +++ b/LensDashboard.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1514,7 +1514,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LensDashboard.js.html b/LensDashboard.js.html index cbb6c862..80ef4f8f 100644 --- a/LensDashboard.js.html +++ b/LensDashboard.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -555,7 +555,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LensDashboardNavigator.html b/LensDashboardNavigator.html index 44d1da1b..18f5a3ee 100644 --- a/LensDashboardNavigator.html +++ b/LensDashboardNavigator.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -2575,7 +2575,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LensDashboardNavigator.js.html b/LensDashboardNavigator.js.html index ebaefe55..3c4ad3e5 100644 --- a/LensDashboardNavigator.js.html +++ b/LensDashboardNavigator.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -797,7 +797,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LensDashboardNavigatorRadial.html b/LensDashboardNavigatorRadial.html index b2594ec2..151bc75f 100644 --- a/LensDashboardNavigatorRadial.html +++ b/LensDashboardNavigatorRadial.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -2484,7 +2484,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LensDashboardNavigatorRadial.js.html b/LensDashboardNavigatorRadial.js.html index bcffdd27..a3c1c0e6 100644 --- a/LensDashboardNavigatorRadial.js.html +++ b/LensDashboardNavigatorRadial.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -905,7 +905,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LightSphereController.html b/LightSphereController.html index f2969989..37cdb5e2 100644 --- a/LightSphereController.html +++ b/LightSphereController.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1112,7 +1112,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/LightSphereController.js.html b/LightSphereController.js.html index dcc9d401..02712591 100644 --- a/LightSphereController.js.html +++ b/LightSphereController.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -408,7 +408,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/PointerManager.js.html b/PointerManager.js.html index 346bc4ed..4fe8a05d 100644 --- a/PointerManager.js.html +++ b/PointerManager.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -937,7 +937,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Raster.html b/Raster.html index aba47ea0..3662a509 100644 --- a/Raster.html +++ b/Raster.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -128,11 +128,15 @@

    Raster

    -

    Raster is a provider of image and/or plane of coefficients. -It support all file formats supported by Layout.

    -

    An object literal with Raster options can be specified.

    +

    Raster class handles image loading and texture creation for OpenLIME. +Provides functionality for:

      -
    • @param {Object} [options] An object literal describing the raster content.
    • +
    • Loading images from URLs or blobs
    • +
    • Converting images to WebGL textures
    • +
    • Handling different color formats
    • +
    • Supporting partial content requests
    • +
    • Managing CORS requests
    • +
    • Creating mipmaps for large textures
    @@ -145,13 +149,17 @@


    -

    new Raster()

    +

    new Raster( [options])

    +
    +

    Creates a new Raster instance.

    +
    + @@ -172,6 +180,63 @@
    Parameters:
    Type + Argument + + + + + Description + + + + + + + + + options + + + + + +Object + + + + + + + + + + <optional>
    + + + + + + + + + + +

    Configuration options

    +
    Properties
    + + + + + + + + + + + + + + @@ -186,7 +251,7 @@
    Parameters:
    - + + + - + + + + + +
    NameTypeArgumentDefault
    options.formatformat @@ -200,6 +265,16 @@
    Parameters:
    + + <optional>
    + + + + + +
    @@ -209,7 +284,19 @@
    Parameters:

    The color format of the image.

    Color format for image data:

    +
      +
    • 'vec3' for RGB images
    • +
    • 'vec4' for RGBA images
    • +
    • 'float' for coefficient data
    • +
    + + @@ -254,7 +341,7 @@
    Parameters:
    @@ -313,7 +400,8 @@

    <async> l
    -

    Gets a tile.

    +

    Loads an image tile and converts it to a WebGL texture. +Supports both full and partial content requests.

    @@ -354,7 +442,118 @@

    Parameters:
    -Tile +Object + + + + + + + + + + +

    The tile to load

    +
    Properties
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + +
    NameTypeArgumentDescription
    url + + +string + + + + + + + + + + +

    URL of the image

    start + + +number + + + + + + + <optional>
    + + + + + +

    Start byte for partial requests

    end + + +number @@ -362,10 +561,27 @@
    Parameters:
    + + <optional>
    + + + + +

    A tile.

    End byte for partial requests

    + + @@ -389,7 +605,7 @@
    Parameters:
    -

    The WebGL rendering context .

    +

    The WebGL rendering context

    @@ -434,7 +650,7 @@
    Parameters:
    @@ -457,13 +673,45 @@
    Parameters:
    +
    Throws:
    + + + +
    +
    +
    +

    If server doesn't support partial content requests when required

    +
    +
    +
    +
    +
    + Type +
    +
    + +Error + + + +
    +
    +
    +
    + + +
    Returns:
    -

    A pair (tex,size).

    +

    Promise resolving to [texture, size]:

    +
      +
    • texture: WebGLTexture object
    • +
    • size: Size of the image in bytes (width * height * components)
    • +
    @@ -474,7 +722,7 @@
    Returns:
    -'[tex, size]' +Promise.<Array> @@ -504,12 +752,7 @@

    Format

    -

    An Raster Format describes the way that the images in textures and renderbuffers store their data.

    -
      -
    • 'vec3' format must be specified if the image is RGB (without alpha).
    • -
    • 'vec4' is related to RGBA images.
    • -
    • 'float' is for file containg coefficients.
    • -
    +

    Defines the color format for image data storage in textures and renderbuffers.

    @@ -536,6 +779,107 @@
    Type:
    +
    Properties:
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    vec3 + + +'vec3' + + + + +

    RGB format (3 components without alpha)

    vec4 + + +'vec4' + + + + +

    RGBA format (4 components with alpha)

    float + + +'float' + + + + +

    Single-channel format for coefficient data

    +
    + + + @@ -568,7 +912,7 @@
    Type:
    @@ -635,7 +979,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Raster.js.html b/Raster.js.html index 9600b9a1..7414e227 100644 --- a/Raster.js.html +++ b/Raster.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -124,46 +124,68 @@

    Source: Raster.js

    /**
    - * An Raster Format describes the way that the images in textures and renderbuffers store their data.
    - * * 'vec3' format must be specified if the image is RGB (without alpha).
    - * * 'vec4' is related to RGBA images.
    - * * 'float' is for file containg coefficients.
    - * @typedef {('vec3'|'vec4'|'float')} Raster#Format
    - */
    +            class="sunlight-highlight-javascript linenums">/*
    +* @fileoverview 
    +* Raster module provides functionality for loading and managing image data in various formats.
    +* Supports multiple color formats and handles both local and remote image loading with CORS support.
    +*/
     
     /**
    - * Raster is a provider of image and/or plane of coefficients.
    - * It support all file formats supported by {@link Layout}.
    - * 
    - * An object literal with Raster `options` can be specified.
    - *  * @param {Object} [options] An object literal describing the raster content.
    - * @param {Raster#Format} options.format='vec3' The color format of the image.
    - */
    +* @typedef {('vec3'|'vec4'|'float')} Raster#Format
    +* Defines the color format for image data storage in textures and renderbuffers.
    +* @property {'vec3'} vec3 - RGB format (3 components without alpha)
    +* @property {'vec4'} vec4 - RGBA format (4 components with alpha)
    +* @property {'float'} float - Single-channel format for coefficient data
    +*/
     
    +/**
    +* Raster class handles image loading and texture creation for OpenLIME.
    +* Provides functionality for:
    +* - Loading images from URLs or blobs
    +* - Converting images to WebGL textures
    +* - Handling different color formats
    +* - Supporting partial content requests
    +* - Managing CORS requests
    +* - Creating mipmaps for large textures
    +*/
     class Raster {
    -
    +	/**
    +	 * Creates a new Raster instance.
    +	 * @param {Object} [options] - Configuration options
    +	 * @param {Raster#Format} [options.format='vec3'] - Color format for image data:
    +	 *   - 'vec3' for RGB images
    +	 *   - 'vec4' for RGBA images
    +	 *   - 'float' for coefficient data
    +	 */
     	constructor(options) {
     
    -		Object.assign(this, { 
    -			format: 'vec3', 
    -		 });
    +		Object.assign(this, {
    +			format: 'vec3',
    +		});
     
     		Object.assign(this, options);
     	}
     
     	/**
    -	 * Gets a tile.
    -	 * @param {Tile} tile A tile.
    -	 * @param {WebGLRenderingContext} gl The WebGL rendering context .
    -	 * @returns {'[tex, size]'} A pair (tex,size).
    +	 * Loads an image tile and converts it to a WebGL texture.
    +	 * Supports both full and partial content requests.
    +	 * @async
    +	 * @param {Object} tile - The tile to load
    +	 * @param {string} tile.url - URL of the image
    +	 * @param {number} [tile.start] - Start byte for partial requests
    +	 * @param {number} [tile.end] - End byte for partial requests
    +	 * @param {WebGLRenderingContext} gl - The WebGL rendering context
    +	 * @returns {Promise<Array>} Promise resolving to [texture, size]:
    +	 *   - texture: WebGLTexture object
    +	 *   - size: Size of the image in bytes (width * height * components)
    +	 * @throws {Error} If server doesn't support partial content requests when required
     	 */
     	async loadImage(tile, gl) {
     		let img;
     		let cors = (new URL(tile.url, window.location.href)).origin !== window.location.origin;
     		if (tile.end || typeof createImageBitmap == 'undefined') {
     			let options = {};
    -			options.headers = { range: `bytes=${tile.start}-${tile.end}`, 'Accept-Encoding': 'indentity', mode: cors? 'cors' : 'same-origin' };
    +			options.headers = { range: `bytes=${tile.start}-${tile.end}`, 'Accept-Encoding': 'indentity', mode: cors ? 'cors' : 'same-origin' };
     			let response = await fetch(tile.url, options);
     			if (!response.ok) {
     				callback("Failed loading " + tile.url + ": " + response.statusText);
    @@ -177,43 +199,62 @@ 

    Source: Raster.js

    img = await this.blobToImage(blob, gl); } else { img = document.createElement('img'); - if (cors) img.crossOrigin=""; + if (cors) img.crossOrigin = ""; img.onerror = function (e) { console.log("Texture loading error!"); }; img.src = tile.url; - await new Promise((resolve, reject) => { - img.onload = () => { resolve(); } }); + await new Promise((resolve, reject) => { + img.onload = () => { resolve(); } + }); } let tex = this.loadTexture(gl, img); //TODO 3 is not accurate for type of image, when changing from rgb to grayscale, fix this value. let size = img.width * img.height * 3; - return [tex, size]; + return [tex, size]; } - /** @ignore */ + /** + * Converts a Blob to an Image or ImageBitmap. + * Handles browser-specific differences in image orientation. + * @private + * @async + * @param {Blob} blob - Image data as Blob + * @param {WebGLRenderingContext} gl - The WebGL rendering context + * @returns {Promise<HTMLImageElement|ImageBitmap>} Promise resolving to the image + */ async blobToImage(blob, gl) { let tex, img; - if(typeof createImageBitmap != 'undefined') { + if (typeof createImageBitmap != 'undefined') { var isFirefox = typeof InstallTrigger !== 'undefined'; //firefox does not support options for this call, BUT the image is automatically flipped. - if(isFirefox) - img = await createImageBitmap(blob); + if (isFirefox) + img = await createImageBitmap(blob); else img = await createImageBitmap(blob, { imageOrientation1: 'flipY' }); } else { //fallback for IOS let urlCreator = window.URL || window.webkitURL; img = document.createElement('img'); - img.onerror = function(e) { console.log("Texture loading error!"); }; + img.onerror = function (e) { console.log("Texture loading error!"); }; img.src = urlCreator.createObjectURL(blob); await new Promise((resolve, reject) => { img.onload = () => resolve() }); urlCreator.revokeObjectURL(img.src); - + } - return img; + return img; } - /** @ignore */ + /** + * Creates a WebGL texture from an image. + * Handles different color formats and automatically creates mipmaps for large textures. + * @private + * @param {WebGLRenderingContext} gl - The WebGL rendering context + * @param {HTMLImageElement|ImageBitmap} img - The source image + * @returns {WebGLTexture} The created texture + * + * @property {number} width - Width of the loaded image (set after loading) + * @property {number} height - Height of the loaded image (set after loading) + */ loadTexture(gl, img) { this.width = img.width; //this will be useful for layout image. this.height = img.height; @@ -222,7 +263,7 @@

    Source: Raster.js

    gl.bindTexture(gl.TEXTURE_2D, tex); let glFormat = gl.RGBA; - switch(this.format) { + switch (this.format) { case 'vec3': glFormat = gl.RGB; break; @@ -234,13 +275,13 @@

    Source: Raster.js

    break; default: break; - } + } gl.texImage2D(gl.TEXTURE_2D, 0, glFormat, glFormat, gl.UNSIGNED_BYTE, img); gl.texParameterf(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); //build mipmap for large images. - if(this.width > 1024 || this.height > 1024) { + if (this.width > 1024 || this.height > 1024) { gl.generateMipmap(gl.TEXTURE_2D); gl.texParameterf(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR); } else { @@ -252,7 +293,27 @@

    Source: Raster.js

    return tex; } } - +/** + * Example usage of Raster: + * ```javascript + * // Create a Raster for RGBA images + * const raster = new Raster({ format: 'vec4' }); + * + * // Load an image tile + * const tile = { + * url: 'https://example.com/image.jpg', + * start: 0, + * end: 1024 // Optional: for partial loading + * }; + * + * // Get WebGL context and load the image + * const gl = canvas.getContext('webgl'); + * const [texture, size] = await raster.loadImage(tile, gl); + * + * // Texture is now ready for use in WebGL + * gl.bindTexture(gl.TEXTURE_2D, texture); + * ``` + */ export { Raster }
    @@ -297,7 +358,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Ruler.html b/Ruler.html new file mode 100644 index 00000000..c4bcd7d8 --- /dev/null +++ b/Ruler.html @@ -0,0 +1,1010 @@ + + + + + + + OpenLIME Class: Ruler + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Class: Ruler

    +
    + +
    + +

    + Ruler +

    + + +
    + + +
    +
    + + +
    +
    +

    new Ruler(viewer, pixelSize [, options])

    + + +
    +
    + + +
    +

    Creates a new Ruler instance.

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDescription
    viewer + + +Viewer + + + + + + + + + + +

    The OpenLIME viewer instance

    pixelSize + + +number + + + + + + + + + + +

    Size of a pixel in real-world units

    options + + +Object + + + + + + + <optional>
    + + + + + +

    Configuration options

    +
    Properties
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    enabled + + +boolean + + + + + + + <optional>
    + + + + + +
    + + false + +

    Whether the ruler is initially enabled

    priority + + +number + + + + + + + <optional>
    + + + + + +
    + + 100 + +

    Event handling priority

    fontSize + + +number + + + + + + + <optional>
    + + + + + +
    + + 18 + +

    Font size for measurements in pixels

    markerSize + + +number + + + + + + + <optional>
    + + + + + +
    + + 8 + +

    Size of measurement markers in pixels

    cursor + + +string + + + + + + + <optional>
    + + + + + +
    + + 'crosshair' + +

    Cursor style when ruler is active

    + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + + +
    + + +
    + + + + + + + + + + + + + + +

    Methods

    + +
    + +
    +
    +

    clear()

    + + +
    +
    + + +
    +

    Clears all measurements. +Removes all SVG elements and resets measurement history.

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + + +
    + + + +
    +
    +

    end()

    + + +
    +
    + + +
    +

    Deactivates the ruler tool. +Restores original cursor and clears current measurement.

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + + +
    + + + +
    +
    +

    start()

    + + +
    +
    + + +
    +

    Activates the ruler tool. +Creates SVG elements if needed and sets up event listeners. +Changes cursor to indicate tool is active.

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + +
    + +
    ISTI - CNR & CRS4 - ViC
    + + + + Documentation generated by JSDoc 3.6.7 + + on 2024-11-02T22:33:41+00:00 + + using the DocStrap template. + +
    + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Ruler.js.html b/Ruler.js.html new file mode 100644 index 00000000..dfc99785 --- /dev/null +++ b/Ruler.js.html @@ -0,0 +1,564 @@ + + + + + + + OpenLIME Source: Ruler.js + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Source: Ruler.js

    + +
    +
    +
    import { Util } from './Util'
    +import { Units } from './ScaleBar'
    +
    +
    +/**
    + * @fileoverview
    + * Ruler module provides measurement functionality for the OpenLIME viewer.
    + * Allows users to measure distances in the scene with an interactive ruler tool.
    + * Extends the Units class to handle unit conversions and formatting.
    + *
    + * Ruler class creates an interactive measurement tool for the OpenLIME viewer.
    + * Features:
    + * - Interactive distance measurement
    + * - SVG-based visualization
    + * - Scale-aware display
    + * - Multiple measurement history
    + * - Touch and mouse support
    + * 
    + * @extends Units
    + */
    +class Ruler extends Units {
    +	/**
    +	 * Creates a new Ruler instance.
    +	 * @param {Viewer} viewer - The OpenLIME viewer instance
    +	 * @param {number} pixelSize - Size of a pixel in real-world units
    +	 * @param {Object} [options] - Configuration options
    +	 * @param {boolean} [options.enabled=false] - Whether the ruler is initially enabled
    +	 * @param {number} [options.priority=100] - Event handling priority
    +	 * @param {number} [options.fontSize=18] - Font size for measurements in pixels
    +	 * @param {number} [options.markerSize=8] - Size of measurement markers in pixels
    +	 * @param {string} [options.cursor='crosshair'] - Cursor style when ruler is active
    +	 */
    +	constructor(viewer, pixelSize, options) {
    +		super(options);
    +		Object.assign(this, {
    +			viewer: viewer,
    +			camera: viewer.camera,
    +			overlay: viewer.overlayElement,
    +			pixelSize: pixelSize,
    +			enabled: false,
    +			priority: 100,
    +			measure: null, //current measure
    +			history: [],  //past measures
    +			fontSize: 18,
    +			markerSize: 8,
    +			cursor: "crosshair",
    +
    +			svg: null,
    +			first: null,
    +			second: null
    +		});
    +		if (options)
    +			Object.assign(this, options);
    +	}
    +
    +	/**
    +	 * Activates the ruler tool.
    +	 * Creates SVG elements if needed and sets up event listeners.
    +	 * Changes cursor to indicate tool is active.
    +	 */
    +	start() {
    +		this.enabled = true;
    +		this.previousCursor = this.overlay.style.cursor;
    +		this.overlay.style.cursor = this.cursor;
    +
    +		if (!this.svg) {
    +			this.svg = Util.createSVGElement('svg', { class: 'openlime-ruler' });
    +			this.svgGroup = document.createElementNS('http://www.w3.org/2000/svg', 'g');
    +			this.svg.append(this.svgGroup);
    +			this.overlay.appendChild(this.svg);
    +			this.viewer.addEvent('draw', () => this.update());
    +			this.update();
    +		}
    +	}
    +
    +	/**
    +	 * Deactivates the ruler tool.
    +	 * Restores original cursor and clears current measurement.
    +	 */
    +	end() {
    +		this.enabled = false;
    +		this.overlay.style.cursor = this.previousCursor;
    +		this.clear();
    +	}
    +
    +	/**
    +	 * Clears all measurements.
    +	 * Removes all SVG elements and resets measurement history.
    +	 */
    +	clear() {
    +		this.svgGroup.replaceChildren([]);
    +		this.measure = null;
    +		this.history = [];
    +	}
    +
    +	/*finish() {
    +		let m = this.measure;
    +		m.line = Util.createSVGElement('line', { x1: m.x1, y1: m.y1, x2: m.x2, y2: m.y2 });
    +		this.svgGroup.appendChild(m.line);
    +
    +		m.text = Util.createSVGElement('text');
    +		m.text.textContent = this.format(this.length(m));
    +		this.svgGroup.appendChild(m.text);
    +
    +		this.history.push(m);
    +		this.measure = null;
    +		this.update();
    +	}*/
    +
    +	/**
    +	 * Updates the visual representation of all measurements.
    +	 * Handles camera transformations and viewport changes.
    +	 * @private
    +	 */
    +	update() {
    +		if (!this.history.length)
    +			return;
    +		//if not enabled skip
    +		let t = this.camera.getGlCurrentTransform(performance.now());
    +		let viewport = this.camera.glViewport();
    +		this.svg.setAttribute('viewBox', `${-viewport.w / 2} ${-viewport.h / 2} ${viewport.w} ${viewport.h}`);
    +		let c = { x: 0, y: 0 }; //this.boundingBox().corner(0);
    +		this.svgGroup.setAttribute("transform",
    +			`translate(${t.x} ${t.y}) rotate(${-t.a} 0 0) scale(${t.z} ${t.z}) translate(${c.x} ${c.y})`);
    +
    +		for (let m of this.history)
    +			this.updateMeasure(m, t);
    +	}
    +
    +	/**
    +	 * Creates a marker SVG element.
    +	 * @private
    +	 * @param {number} x - X coordinate in scene space
    +	 * @param {number} y - Y coordinate in scene space
    +	 * @returns {SVGElement} The created marker element
    +	 */
    +	createMarker(x, y) {
    +		let m = Util.createSVGElement("path");
    +		this.svgGroup.appendChild(m);
    +		return m;
    +	}
    +
    +	/**
    +	 * Updates a marker's position and size.
    +	 * @private
    +	 * @param {SVGElement} marker - The marker to update
    +	 * @param {number} x - X coordinate in scene space
    +	 * @param {number} y - Y coordinate in scene space
    +	 * @param {number} size - Marker size in pixels
    +	 */
    +	updateMarker(marker, x, y, size) {
    +		let d = `M ${x - size} ${y} L ${x + size} ${y} M ${x} ${y - size} L ${x} ${y + size}`;
    +		marker.setAttribute('d', d);
    +	}
    +
    +	/**
    +	 * Updates measurement text display.
    +	 * Handles text positioning and scaling based on camera transform.
    +	 * @private
    +	 * @param {Object} measure - The measurement object to update
    +	 * @param {number} fontsize - Font size in pixels
    +	 */
    +	updateText(measure, fontsize) {
    +		measure.text.setAttribute('font-size', fontsize + "px");
    +
    +		let dx = measure.x1 - measure.x2;
    +		let dy = measure.y1 - measure.y2;
    +
    +		let length = Math.sqrt(dx * dx + dy * dy);
    +		if (length > 0) {
    +			dx /= length;
    +			dy /= length;
    +		}
    +		if (dx < 0) {
    +			dx = -dx;
    +			dy = -dy;
    +		}
    +
    +		let mx = (measure.x1 + measure.x2) / 2;
    +		let my = (measure.y1 + measure.y2) / 2;
    +		if (dy / dx < 0) {
    +			mx -= 0.25 * dy * fontsize;
    +			my += dx * fontsize;
    +		} else {
    +			my -= 0.25 * fontsize;
    +			mx += 0.25 * fontsize;
    +		}
    +		measure.text.setAttribute('x', mx);
    +		measure.text.setAttribute('y', my);
    +		measure.text.textContent = this.format(length * this.pixelSize);
    +	}
    +
    +	/**
    +	 * Creates a new measurement.
    +	 * Sets up SVG elements for line, markers, and text.
    +	 * @private
    +	 * @param {number} x - Initial X coordinate
    +	 * @param {number} y - Initial Y coordinate
    +	 * @returns {Object} Measurement object containing all SVG elements and coordinates
    +	 */
    +	createMeasure(x, y) {
    +		let m = {
    +			marker1: this.createMarker(x, y),
    +			x1: x, y1: y,
    +			marker2: this.createMarker(x, y),
    +			x2: x, y2: y
    +		};
    +		m.line = Util.createSVGElement('line', { x1: m.x1, y1: m.y1, x2: m.x2, y2: m.y2 });
    +		this.svgGroup.appendChild(m.line);
    +
    +		m.text = Util.createSVGElement('text');
    +		m.text.textContent = '';
    +		this.svgGroup.appendChild(m.text);
    +
    +		return m;
    +	}
    +
    +	/**
    +	 * Updates a measurement's visual elements.
    +	 * @private
    +	 * @param {Object} measure - The measurement to update
    +	 * @param {Transform} transform - Current camera transform
    +	 */
    +	updateMeasure(measure, transform) {
    +		let markersize = window.devicePixelRatio * this.markerSize / transform.z;
    +
    +		this.updateMarker(measure.marker1, measure.x1, measure.y1, markersize);
    +
    +		this.updateMarker(measure.marker2, measure.x2, measure.y2, markersize);
    +
    +		let fontsize = window.devicePixelRatio * this.fontSize / transform.z;
    +		this.updateText(measure, fontsize);
    +
    +		for (let p of ['x1', 'y1', 'x2', 'y2'])
    +			measure.line.setAttribute(p, measure[p]);
    +	}
    +
    +	/**
    +	 * Handles single tap/click events.
    +	 * Creates or completes measurements.
    +	 * @private
    +	 * @param {Event} e - The pointer event
    +	 * @returns {boolean} Whether the event was handled
    +	 */
    +	fingerSingleTap(e) {
    +		if (!this.enabled)
    +			return false;
    +
    +		let transform = this.camera.getCurrentTransform(performance.now())
    +		let { x, y } = this.camera.mapToScene(e.layerX, e.layerY, transform);
    +
    +
    +		if (!this.measure) {
    +			this.measure = this.createMeasure(x, y);
    +			this.history.push(this.measure);
    +		} else {
    +			this.measure.x2 = x;
    +			this.measure.y2 = y;
    +			this.measure = null;
    +		}
    +		this.update();
    +		e.preventDefault();
    +	}
    +
    +	/**
    +	 * Handles hover/move events.
    +	 * Updates the current measurement endpoint.
    +	 * @private
    +	 * @param {Event} e - The pointer event
    +	 * @returns {boolean} Whether the event was handled
    +	 */
    +	fingerHover(e) {
    +		if (!this.enabled || !this.measure)
    +			return false;
    +
    +		let transform = this.camera.getCurrentTransform(performance.now())
    +		let { x, y } = this.camera.mapToScene(e.layerX, e.layerY, transform);
    +		this.measure.x2 = x;
    +		this.measure.y2 = y;
    +		this.update();
    +		e.preventDefault();
    +	}
    +};
    +/**
    + * Example usage of Ruler:
    + * ```javascript
    + * // Create ruler with 1mm per pixel scale
    + * const ruler = new Ruler(viewer, 0.001, {
    + *     fontSize: 24,
    + *     markerSize: 10
    + * });
    + * 
    + * // Activate ruler
    + * ruler.start();
    + * 
    + * // Deactivate ruler
    + * ruler.end();
    + * 
    + * // Clear measurements
    + * ruler.clear();
    + * ```
    + */
    +export { Ruler }
    +
    +
    +
    + + + + + +
    +
    + +
    + + + +
    +
    + + + + + +
    + +
    ISTI - CNR & CRS4 - ViC
    + + + + Documentation generated by JSDoc 3.6.7 + + on 2024-11-02T22:33:41+00:00 + + using the DocStrap template. + +
    + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ScaleBar.html b/ScaleBar.html new file mode 100644 index 00000000..a48c77fa --- /dev/null +++ b/ScaleBar.html @@ -0,0 +1,1036 @@ + + + + + + + OpenLIME Class: ScaleBar + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Class: ScaleBar

    +
    + +
    + +

    + ScaleBar +

    + +

    ScaleBar class creates a visual scale bar that updates with viewer zoom level. +Features:

    +
      +
    • Automatic scale adjustment based on zoom
    • +
    • Smart unit selection
    • +
    • SVG-based visualization
    • +
    • Configurable size and appearance
    • +
    + + +
    + + +
    +
    + + +
    +
    +

    new ScaleBar(pixelSize, viewer [, options])

    + + +
    +
    + + +
    +

    Creates a new ScaleBar instance.

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDescription
    pixelSize + + +number + + + + + + + + + + +

    Size of a pixel in real-world units (in mm)

    viewer + + +Viewer + + + + + + + + + + +

    The OpenLIME viewer instance

    options + + +Object + + + + + + + <optional>
    + + + + + +

    Configuration options

    +
    Properties
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    width + + +number + + + + + + + <optional>
    + + + + + +
    + + 200 + +

    Width of the scale bar in pixels

    fontSize + + +number + + + + + + + <optional>
    + + + + + +
    + + 24 + +

    Font size for scale text in pixels

    precision + + +number + + + + + + + <optional>
    + + + + + +
    + + 0 + +

    Number of decimal places for scale values

    + +
    + + + + +
    + + +
    Properties:
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    svg + + +SVGElement + + + + +

    Main SVG container element

    line + + +SVGElement + + + + +

    Scale bar line element

    text + + +SVGElement + + + + +

    Scale text element

    lastScaleZoom + + +number + + + + +

    Last zoom level where scale was updated

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + + +
    + + +
    + + +

    Extends

    + + + + + + + + + + + + + + + + + + + + +

    Methods

    + +
    + +
    +
    +

    format(d [, unit])

    + + +
    +
    + + +
    +

    Formats a measurement value with appropriate units. +Automatically selects the best unit if none specified.

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDescription
    d + + +number + + + + + + + + + + +

    Value to format (in millimeters)

    unit + + +string + + + + + + + <optional>
    + + + + + +

    Specific unit to use for formatting

    + + + + +
    + + + + + + + +
    Inherited From:
    +
    + +
    + + + +
    Overrides:
    +
    + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + +
    +

    Formatted measurement with units (e.g., "5.00 mm" or "1.00 m")

    +
    + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    Example
    + +
    const units = new Units();
    +units.format(1500);       // Returns "1.50 m"
    +units.format(1500, 'mm'); // Returns "1500.00 mm"
    + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + +
    + +
    ISTI - CNR & CRS4 - ViC
    + + + + Documentation generated by JSDoc 3.6.7 + + on 2024-11-02T22:33:41+00:00 + + using the DocStrap template. + +
    + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ScaleBar.js.html b/ScaleBar.js.html new file mode 100644 index 00000000..937d01e3 --- /dev/null +++ b/ScaleBar.js.html @@ -0,0 +1,435 @@ + + + + + + + OpenLIME Source: ScaleBar.js + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Source: ScaleBar.js

    + +
    +
    +
    import { Util } from './Util'
    +
    +/**
    + * @fileoverview
    + * ScaleBar module provides measurement scale visualization and unit conversion functionality.
    + * Includes both a base Units class for unit management and a ScaleBar class for visual representation.
    + *
    + * Units class provides unit conversion and formatting capabilities.
    + * Supports various measurement units and automatic unit selection based on scale.
    + */
    +class Units {
    +	/**
    +	 * Creates a new Units instance.
    +	 * @param {Object} [options] - Configuration options
    +	 * @param {string[]} [options.units=['km', 'm', 'cm', 'mm', 'µm']] - Available units in order of preference
    +	 * @param {Object.<string, number>} [options.allUnits] - All supported units and their conversion factors to millimeters
    +	 * @param {number} [options.precision=2] - Number of decimal places for formatted values
    +	 */
    +	constructor(options) {
    +		this.units = ["km", "m", "cm", "mm", "µm"],
    +			this.allUnits = { "µm": 0.001, "mm": 1, "cm": 10, "m": 1000, "km": 1e6, "in": 254, "ft": 254 * 12 }
    +		this.precision = 2;
    +		if (options)
    +			Object.assign(options, this);
    +	}
    +
    +	/**
    +	 * Formats a measurement value with appropriate units.
    +	 * Automatically selects the best unit if none specified.
    +	 * @param {number} d - Value to format (in millimeters)
    +	 * @param {string} [unit] - Specific unit to use for formatting
    +	 * @returns {string} Formatted measurement with units (e.g., "5.00 mm" or "1.00 m")
    +	 * 
    +	 * @example
    +	 * const units = new Units();
    +	 * units.format(1500);       // Returns "1.50 m"
    +	 * units.format(1500, 'mm'); // Returns "1500.00 mm"
    +	 */
    +	format(d, unit) {
    +		if (d == 0)
    +			return '';
    +		if (unit)
    +			return (d / this.allUnits[unit]).toFixed(this.precision) + unit;
    +
    +		let best_u = null;
    +		let best_penalty = 100;
    +		for (let u of this.units) {
    +			let size = this.allUnits[u];
    +			let penalty = d <= 0 ? 0 : Math.abs(Math.log10(d / size) - 1);
    +			if (penalty < best_penalty) {
    +				best_u = u;
    +				best_penalty = penalty;
    +			}
    +		}
    +		return this.format(d, best_u);
    +	}
    +}
    +
    +/**
    + * ScaleBar class creates a visual scale bar that updates with viewer zoom level.
    + * Features:
    + * - Automatic scale adjustment based on zoom
    + * - Smart unit selection
    + * - SVG-based visualization
    + * - Configurable size and appearance
    + * @extends Units
    + */
    +class ScaleBar extends Units {
    +	/**
    +	 * Creates a new ScaleBar instance.
    +	 * @param {number} pixelSize - Size of a pixel in real-world units (in mm)
    +	 * @param {Viewer} viewer - The OpenLIME viewer instance
    +	 * @param {Object} [options] - Configuration options
    +	 * @param {number} [options.width=200] - Width of the scale bar in pixels
    +	 * @param {number} [options.fontSize=24] - Font size for scale text in pixels
    +	 * @param {number} [options.precision=0] - Number of decimal places for scale values
    +	 * 
    +	 * @property {SVGElement} svg - Main SVG container element
    +	 * @property {SVGElement} line - Scale bar line element
    +	 * @property {SVGElement} text - Scale text element
    +	 * @property {number} lastScaleZoom - Last zoom level where scale was updated
    +	 */
    +	constructor(pixelSize, viewer, options) {
    +		super(options)
    +		options = Object.assign(this, {
    +			pixelSize: pixelSize,
    +			viewer: viewer,
    +			width: 200,
    +			fontSize: 24,
    +			precision: 0
    +		}, options);
    +		Object.assign(this, options);
    +
    +		this.svg = Util.createSVGElement('svg', { viewBox: `0 0 ${this.width} 30` });
    +		this.svg.classList.add('openlime-scale');
    +
    +		this.line = Util.createSVGElement('line', { x1: 5, y1: 26.5, x2: this.width - 5, y2: 26.5 });
    +
    +		this.text = Util.createSVGElement('text', { x: '50%', y: '16px', 'dominant-basiline': 'middle', 'text-anchor': 'middle' });
    +		this.text.textContent = "";
    +
    +		this.svg.appendChild(this.line);
    +		this.svg.appendChild(this.text);
    +		this.viewer.containerElement.appendChild(this.svg);
    +		this.viewer.addEvent('draw', () => { this.updateScale(); });
    +	}
    +
    +	/**
    +	 * Updates the scale bar based on current zoom level.
    +	 * Called automatically on viewer draw events.
    +	 * @private
    +	 */
    +	updateScale() {
    +		//let zoom = this.viewer.camera.getCurrentTransform(performance.now()).z;
    +		let zoom = this.viewer.camera.target.z;
    +		if (zoom == this.lastScaleZoom)
    +			return;
    +		this.lastScaleZoom = zoom;
    +		let s = this.bestLength(this.width / 2, this.width, this.pixelSize, zoom);
    +
    +		let margin = this.width - s.length;
    +		this.line.setAttribute('x1', margin / 2);
    +		this.line.setAttribute('x2', this.width - margin / 2);
    +		this.text.textContent = this.format(s.label);
    +	}
    +
    +	/**
    +	 * Calculates the best scale length and label value for current zoom.
    +	 * Tries to find a "nice" round number that fits within the given constraints.
    +	 * @private
    +	 * @param {number} min - Minimum desired length in pixels
    +	 * @param {number} max - Maximum desired length in pixels
    +	 * @param {number} pixelSize - Size of a pixel in real-world units
    +	 * @param {number} zoom - Current zoom level
    +	 * @returns {Object} Scale information
    +	 * @returns {number} .length - Length of scale bar in pixels
    +	 * @returns {number} .label - Value to display (in real-world units)
    +	 */
    +	bestLength(min, max, pixelSize, zoom) {
    +		pixelSize /= zoom;
    +		//closest power of 10:
    +		let label10 = Math.pow(10, Math.floor(Math.log(max * pixelSize) / Math.log(10)));
    +		let length10 = label10 / pixelSize;
    +		if (length10 > min) return { length: length10, label: label10 };
    +
    +		let label20 = label10 * 2;
    +		let length20 = length10 * 2;
    +		if (length20 > min) return { length: length20, label: label20 };
    +
    +		let label50 = label10 * 5;
    +		let length50 = length10 * 5;
    +
    +		if (length50 > min) return { length: length50, label: label50 };
    +		return { length: 0, label: 0 }
    +	}
    +}
    +/**
    + * Example usage:
    + * ```javascript
    + * // Create scale bar with 0.1mm per pixel
    + * const scaleBar = new ScaleBar(0.1, viewer, {
    + *     width: 300,
    + *     fontSize: 20,
    + *     precision: 1,
    + *     units: ['m', 'cm', 'mm']  // Only use these units
    + * });
    + * 
    + * // The scale bar will automatically update with viewer zoom
    + * 
    + * // Format a specific measurement
    + * scaleBar.format(1234);  // Returns "1.23 m"
    + * ```
    + */
    +export { Units, ScaleBar }
    +
    +
    +
    + + + + + +
    +
    + +
    + + + +
    +
    + + + + + +
    + +
    ISTI - CNR & CRS4 - ViC
    + + + + Documentation generated by JSDoc 3.6.7 + + on 2024-11-02T22:33:41+00:00 + + using the DocStrap template. + +
    + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Shader.html b/Shader.html index eacb856a..3210b0e5 100644 --- a/Shader.html +++ b/Shader.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -128,36 +128,17 @@

    Shader

    -

    The Shader class allows shader programs to be linked and used. -This class supports shader programs written in the OpenGL/ES Shading Language (GLSL/ES) with 2.0 amd 3.0 specifications.

    -

    The Shader class keeps the programmer away from the details of compiling and linking vertex and fragment shaders. -The following example creates a fragment shader program using the supplied source code. Once compiled and linked, -the shader program is activated in the current WebGLContext.

    -
    const shader = new OpenLIME.Shader({
    -     'label': 'Rgb',
    -     'samplers': [{ id: 0, name: 'kd' }]
    -});
    -// The fragment shader script
    -shader.fragShaderSrc = function (gl) {
    -     let gl2 = !(gl instanceof WebGLRenderingContext);
    -     let str = `${gl2 ? '#version 300 es' : ''}
    -     precision highp float;
    -     precision highp int;
    -
    -     uniform sampler2D kd;
    -     uniform float u_colorFactor;
    -     ...
    -
    -     return str;
    -};
    -// Declares a uniform.
    -shader.uniforms = {
    -     u_colorFactor: { type: 'float', needsUpdate: true, size: 1, value: 0.0 },
    -};
    -// Adds the shader to the Layer and set it as the current one.
    -this.shaders['bw'] = shader;
    -this.setShader('bw');
    -
    +

    Shader module provides WebGL shader program management for OpenLIME. +Supports both WebGL 1.0 and 2.0/3.0 GLSL specifications with automatic version detection.

    +

    Shader class manages WebGL shader programs. +Features:

    +
      +
    • GLSL/ES 2.0 and 3.0 support
    • +
    • Automatic uniform management
    • +
    • Multiple shader modes
    • +
    • Filter pipeline
    • +
    • Automatic version selection
    • +
    @@ -177,7 +158,7 @@

    new Shader( [op
    -

    Instantiates a Shader class. An object literal with Shader options can be specified.

    +

    Creates a new Shader instance.

    @@ -241,7 +222,7 @@

    Parameters:
    -

    An object literal describing the shader content.

    +

    Configuration options

    Properties
    @@ -255,8 +236,12 @@
    Properties
    Type + Argument + + Default + Description @@ -273,7 +258,87 @@
    Properties
    -Array.<Shader#Sampler> +Array.<Shader~Sampler> + + + + + + + + + + <optional>
    + + + + + + + + + + + + [] + + + + +

    Texture sampler definitions

    + + + + + + + uniforms + + + + + +Object.<string, Object> + + + + + + + + + + <optional>
    + + + + + + + + + + + + {} + + + + +

    Shader uniform variables

    + + + + + + + label + + + + + +string @@ -281,10 +346,26 @@
    Properties
    + + + <optional>
    + + + + + + + + + + null + + + -

    An array of pointers to 2D textures.

    +

    Display label for the shader

    @@ -305,10 +386,106 @@
    Properties
    + + + <optional>
    + + + + + + + + + + + + [] + + + + +

    Available shader modes

    + + + + + + + version + + + + + +number + + + + + + + + + + <optional>
    + + + + + + + + + + + + 100 + + + + +

    GLSL version (100 for WebGL1, 300 for WebGL2)

    + + + + + + + debug + + + + + +boolean + + + + + + + + + + <optional>
    + + + + + + + + + + false + + + -

    An optional array of labels that identify different shader behaviors.

    +

    Enable debug output

    @@ -360,7 +537,7 @@
    Properties
    @@ -377,6 +554,11 @@
    Properties
    +
    Fires:
    + + @@ -411,7 +593,7 @@

    Methods


    -

    fragShaderSrc(gl)

    +

    addFilter(filter)

    @@ -419,7 +601,7 @@

    fragShad
    -

    Gets the fragment shader script. This is a virtual function and MUST be redefined in derived classes.

    +

    Adds a filter to the shader pipeline.

    @@ -454,13 +636,13 @@

    Parameters:
    - gl + filter -* +Object @@ -471,7 +653,7 @@
    Parameters:
    -

    Thegl context.

    +

    Filter to add

    @@ -516,7 +698,7 @@
    Parameters:
    @@ -533,7 +715,10 @@
    Parameters:
    - +
    Fires:
    + @@ -541,30 +726,8 @@
    Parameters:
    -
    Returns:
    - - -
    -

    The vertex shader script.

    -
    - - - -
    -
    - Type -
    -
    - -string - - - -
    -
    - - + @@ -573,7 +736,7 @@
    Returns:

    -

    setMode(mode)

    +

    allUniforms()

    @@ -581,7 +744,8 @@

    setMode(mode)<
    -

    Sets the current mode of the shader

    +

    Returns all uniform variables associated with the shader and its filters. +Combines uniforms from both the base shader and all active filters into a single object.

    @@ -591,56 +755,6 @@

    setMode(mode)< -

    Parameters:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    mode - - -string - - - - -

    The mode identifier

    - -
    @@ -678,7 +792,7 @@
    Parameters:
    @@ -703,15 +817,132 @@
    Parameters:
    - +
    Returns:
    - - - + +
    +

    Combined uniform variables

    +
    + + + +
    +
    + Type +
    +
    + +Object.<string, Object> + + + +
    +
    + + + + + + + +
    -

    setUniform(name, value)

    +

    clearFilters()

    + + +
    +
    + + +
    +

    Clears all filters from the shader pipeline.

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + +
    Fires:
    + + + + + + + + + + + + +
    + + + +
    +
    +

    <abstract> fragShaderSrc(gl)

    @@ -719,7 +950,8 @@

    setUniform(
    -

    Sets the value of a uniform variable.

    +

    Gets fragment shader source code. +Must be overridden in derived classes for custom shading.

    @@ -754,37 +986,13 @@

    Parameters:
    - name - - - - - -string - - - - - - - - - - -

    The name of the uniform variable.

    - - - - - - - value + gl -* +WebGLRenderingContext @@ -795,7 +1003,7 @@
    Parameters:
    -

    The value to assign.

    +

    WebGL context

    @@ -840,7 +1048,7 @@
    Parameters:
    @@ -865,6 +1073,30 @@
    Parameters:
    +
    Returns:
    + + +
    +

    Fragment shader source code

    +
    + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + @@ -873,7 +1105,7 @@
    Parameters:

    -

    vertShaderSrc(gl)

    +

    getUniform(name)

    @@ -881,7 +1113,8 @@

    vertShad
    -

    Gets the vertex shader script. By default it only applies the view matrix and passes the texture coordinates to the fragment shader.

    +

    Gets a uniform variable by name. +Searches both shader uniforms and filter uniforms.

    @@ -916,13 +1149,13 @@

    Parameters:
    - gl + name -* +string @@ -933,7 +1166,7 @@
    Parameters:
    -

    Thegl context.

    +

    Uniform variable name

    @@ -978,7 +1211,7 @@
    Parameters:
    @@ -1007,7 +1240,7 @@
    Returns:
    -

    The vertex shader script.

    +

    Uniform object if found

    @@ -1018,7 +1251,10 @@
    Returns:
    -string +Object +| + +undefined @@ -1031,49 +1267,32 @@
    Returns:
    -
    - - - -

    Type Definitions

    - -
    - + +
    -
    -

    Sampler

    - +
    +

    removeFilter(name)

    +
    +
    -

    A reference to a 2D texture.

    +

    Removes a filter from the pipeline by name.

    -
    Type:
    -
      -
    • - -Object - - -
    • -
    -
    +
    Parameters:
    + -
    Properties:
    - -
    - - +
    @@ -1095,13 +1314,13 @@
    Properties:
    - + + + +
    idname -number +string @@ -1112,68 +1331,1176 @@
    Properties:
    -

    A sampler unique identifier.

    Name of filter to remove

    - - - name - + - - - -string + +
    + + + - - + - + - + -

    The sampler name (the texture reference name in the shader program).

    - + - - - label - + - - - -string + + + - - + - - -

    used for menu

    - + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + +
    Fires:
    + + + + + + + + + + + + +
    + + + +
    +
    +

    setMode(mode)

    + + +
    +
    + + +
    +

    Sets the current shader mode.

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    mode + + +string + + + + +

    Mode identifier (must be in options.modes)

    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + +
    Throws:
    + + + +
    +
    +
    +

    If mode is not recognized

    +
    +
    +
    +
    +
    + Type +
    +
    + +Error + + + +
    +
    +
    +
    + + + + + + + +
    + + + +
    +
    +

    setTileSize(size)

    + + +
    +
    + + +
    +

    Sets tile dimensions for shader calculations.

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    size + + +Array.<number> + + + + +

    [width, height] of tile

    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + + +
    + + + +
    +
    +

    setUniform(name, value)

    + + +
    +
    + + +
    +

    Sets a uniform variable value.

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    name + + +string + + + + +

    Uniform variable name

    value + + +number +| + +boolean +| + +Array + + + + +

    Value to set

    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + +
    Fires:
    + + + + + + + + +
    Throws:
    + + + +
    +
    +
    +

    If uniform doesn't exist

    +
    +
    +
    +
    +
    + Type +
    +
    + +Error + + + +
    +
    +
    +
    + + + + + + + +
    + + + +
    +
    +

    vertShaderSrc(gl)

    + + +
    +
    + + +
    +

    Gets vertex shader source code. +Default implementation provides basic vertex transformation and texture coordinate passing.

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    gl + + +WebGLRenderingContext + + + + +

    WebGL context

    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + +
    +

    Vertex shader source code

    +
    + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + +
    + + + +

    Type Definitions

    + +
    + +
    +
    +

    Sampler

    + + +
    +
    + +
    +

    A reference to a 2D texture used in the shader.

    +
    + + + +
    Type:
    +
      +
    • + +Object + + + +
    • +
    + + + +
    + + +
    Properties:
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + - + @@ -1278,6 +2618,98 @@
    Properties:
    +

    Events

    + +
    + +
    +
    +

    update

    + + +
    +
    + + +
    +

    Fired when shader state changes (uniforms, filters, etc).

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + @@ -1324,7 +2756,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Shader.js.html b/Shader.js.html index f58d7c11..43ea505b 100644 --- a/Shader.js.html +++ b/Shader.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -128,64 +128,46 @@

    Source: Shader.js

    import { Util } from './Util.js' /** - * A reference to a 2D texture. - * @typedef {Object} Shader#Sampler - * @property {number} id A sampler unique identifier. - * @property {string} name The sampler name (the texture reference name in the shader program). - * @property {string} label used for menu - * @property {array} samplers array of rasters {id:, type: } color, normals, etc. * *samplers*: array of rasters {id:, type: } color, normals, etc. - * bind: false will not used in preparegl - * load: false will not be loaded from raster - * both options are used in neural where the coefficients are loaded, but used by tf - * @property {array} uniforms: - * type = <vec4|vec3|vec2|float|int>, - * needsUpdate controls when updated in gl, - * size is unused, - * value is and array or a float, - * we also want to support interpolation: source (value is the target), start, end are the timing (same as camera interpolation) - */ +* @typedef {Object} Shader~Sampler +* A reference to a 2D texture used in the shader. +* @property {number} id - Unique identifier for the sampler +* @property {string} name - Sampler variable name in shader program (e.g., "kd" for diffuse texture) +* @property {string} label - Display label for UI/menus +* @property {Array<Object>} samplers - Array of raster definitions +* @property {number} samplers[].id - Raster identifier +* @property {string} samplers[].type - Raster type (e.g., 'color', 'normal') +* @property {boolean} [samplers[].bind=true] - Whether sampler should be bound in prepareGL +* @property {boolean} [samplers[].load=true] - Whether sampler should load from raster +* @property {Array<Object>} uniforms - Shader uniform variables +* @property {string} uniforms[].type - Data type ('vec4'|'vec3'|'vec2'|'float'|'int') +* @property {boolean} uniforms[].needsUpdate - Whether uniform needs GPU update +* @property {number} uniforms[].value - Uniform value or array of values +*/ /** - * The `Shader` class allows shader programs to be linked and used. - * This class supports shader programs written in the OpenGL/ES Shading Language (GLSL/ES) with 2.0 amd 3.0 specifications. + * Shader module provides WebGL shader program management for OpenLIME. + * Supports both WebGL 1.0 and 2.0/3.0 GLSL specifications with automatic version detection. * - * The `Shader` class keeps the programmer away from the details of compiling and linking vertex and fragment shaders. - * The following example creates a fragment shader program using the supplied source code. Once compiled and linked, - * the shader program is activated in the current WebGLContext. - * ``` - * const shader = new OpenLIME.Shader({ - * 'label': 'Rgb', - * 'samplers': [{ id: 0, name: 'kd' }] - * }); - * // The fragment shader script - * shader.fragShaderSrc = function (gl) { - * let gl2 = !(gl instanceof WebGLRenderingContext); - * let str = `${gl2 ? '#version 300 es' : ''} - * precision highp float; - * precision highp int; - * - * uniform sampler2D kd; - * uniform float u_colorFactor; - * ... - * - * return str; - * }; - * // Declares a uniform. - * shader.uniforms = { - * u_colorFactor: { type: 'float', needsUpdate: true, size: 1, value: 0.0 }, - * }; - * // Adds the shader to the Layer and set it as the current one. - * this.shaders['bw'] = shader; - * this.setShader('bw'); - * ``` + * Shader class manages WebGL shader programs. + * Features: + * - GLSL/ES 2.0 and 3.0 support + * - Automatic uniform management + * - Multiple shader modes + * - Filter pipeline + * - Automatic version selection */ class Shader { - /** - * Instantiates a Shader class. An object literal with Shader `options` can be specified. - * @param {Object} [options] An object literal describing the shader content. - * @param {Array<Shader#Sampler>} options.samplers An array of pointers to 2D textures. - * @param {Array<string>} options.modes An optional array of labels that identify different shader behaviors. - */ + /** + * Creates a new Shader instance. + * @param {Object} [options] - Configuration options + * @param {Array<Shader~Sampler>} [options.samplers=[]] - Texture sampler definitions + * @param {Object.<string,Object>} [options.uniforms={}] - Shader uniform variables + * @param {string} [options.label=null] - Display label for the shader + * @param {Array<string>} [options.modes=[]] - Available shader modes + * @param {number} [options.version=100] - GLSL version (100 for WebGL1, 300 for WebGL2) + * @param {boolean} [options.debug=false] - Enable debug output + * @fires Shader#update + */ constructor(options) { Object.assign(this, { version: 100, //check for webglversion. @@ -204,12 +186,21 @@

    Source: Shader.js

    this.filters = []; } + /** + * Clears all filters from the shader pipeline. + * @fires Shader#update + */ clearFilters() { this.filters = []; this.needsUpdate = true; this.emit('update'); } + /** + * Adds a filter to the shader pipeline. + * @param {Object} filter - Filter to add + * @fires Shader#update + */ addFilter(f) { f.shader = this; this.filters.push(f); @@ -218,6 +209,11 @@

    Source: Shader.js

    this.emit('update'); } + /** + * Removes a filter from the pipeline by name. + * @param {string} name - Name of filter to remove + * @fires Shader#update + */ removeFilter(name) { this.filters = this.filters.filter((v) => { return v.name != name; @@ -227,8 +223,9 @@

    Source: Shader.js

    } /** - * Sets the current mode of the shader - * @param {string} mode The mode identifier + * Sets the current shader mode. + * @param {string} mode - Mode identifier (must be in options.modes) + * @throws {Error} If mode is not recognized */ setMode(mode) { if (this.modes.indexOf(mode) == -1) @@ -237,20 +234,30 @@

    Source: Shader.js

    this.needsUpdate = true; } - /** @ignore */ + /** + * Restores WebGL state after context loss. + * @param {WebGLRenderingContext} gl - WebGL context + * @private + */ restoreWebGL(gl) { this.createProgram(gl); } + /** + * Sets tile dimensions for shader calculations. + * @param {number[]} size - [width, height] of tile + */ setTileSize(sz) { this.tileSize = sz; this.needsUpdate = true; } /** - * Sets the value of a uniform variable. - * @param {string} name The name of the uniform variable. - * @param {*} value The value to assign. + * Sets a uniform variable value. + * @param {string} name - Uniform variable name + * @param {number|boolean|Array} value - Value to set + * @throws {Error} If uniform doesn't exist + * @fires Shader#update */ setUniform(name, value) { /** @@ -278,6 +285,7 @@

    Source: Shader.js

    this.emit('update'); } + /** @ignore */ completeFragShaderSrc(gl) { let gl2 = !(gl instanceof WebGLRenderingContext); @@ -308,7 +316,12 @@

    Source: Shader.js

    return src; } - /** @ignore */ + /** + * Creates the WebGL shader program. + * @param {WebGLRenderingContext} gl - WebGL context + * @private + * @throws {Error} If shader compilation or linking fails + */ createProgram(gl) { let vert = gl.createShader(gl.VERTEX_SHADER); @@ -383,6 +396,12 @@

    Source: Shader.js

    } + /** + * Gets a uniform variable by name. + * Searches both shader uniforms and filter uniforms. + * @param {string} name - Uniform variable name + * @returns {Object|undefined} Uniform object if found + */ getUniform(name) { let u = this.uniforms[name]; if (u) return u; @@ -393,6 +412,11 @@

    Source: Shader.js

    return u; } + /** + * Returns all uniform variables associated with the shader and its filters. + * Combines uniforms from both the base shader and all active filters into a single object. + * @returns {Object.<string, Object>} Combined uniform variables + */ allUniforms() { const result = this.uniforms; for (let f of this.filters) { @@ -401,7 +425,11 @@

    Source: Shader.js

    return result; } - /** @ignore */ + /** + * Updates all uniform values in the GPU. + * @param {WebGLRenderingContext} gl - WebGL context + * @private + */ updateUniforms(gl) { for (const [name, uniform] of Object.entries(this.allUniforms())) { if (!uniform.location) @@ -413,14 +441,14 @@

    Source: Shader.js

    if (uniform.needsUpdate) { let value = uniform.value; switch (uniform.type) { - case 'vec4' : gl.uniform4fv(uniform.location, value); break; - case 'vec3' : gl.uniform3fv(uniform.location, value); break; - case 'vec2' : gl.uniform2fv(uniform.location, value); break; + case 'vec4': gl.uniform4fv(uniform.location, value); break; + case 'vec3': gl.uniform3fv(uniform.location, value); break; + case 'vec2': gl.uniform2fv(uniform.location, value); break; case 'float': gl.uniform1f(uniform.location, value); break; - case 'int' : gl.uniform1i(uniform.location, value); break; - case 'bool' : gl.uniform1i(uniform.location, value); break; - case 'mat3' : gl.uniformMatrix3fv(uniform.location, false, value); break; - case 'mat4' : gl.uniformMatrix4fv(uniform.location, false, value); break; + case 'int': gl.uniform1i(uniform.location, value); break; + case 'bool': gl.uniform1i(uniform.location, value); break; + case 'mat3': gl.uniformMatrix3fv(uniform.location, false, value); break; + case 'mat4': gl.uniformMatrix4fv(uniform.location, false, value); break; default: throw Error('Unknown uniform type: ' + u.type); } uniform.needsUpdate = false; @@ -429,9 +457,10 @@

    Source: Shader.js

    } /** - * Gets the vertex shader script. By default it only applies the view matrix and passes the texture coordinates to the fragment shader. - * @param {*} gl Thegl context. - * @returns {string} The vertex shader script. + * Gets vertex shader source code. + * Default implementation provides basic vertex transformation and texture coordinate passing. + * @param {WebGLRenderingContext} gl - WebGL context + * @returns {string} Vertex shader source code */ vertShaderSrc(gl) { let gl2 = !(gl instanceof WebGLRenderingContext); @@ -453,28 +482,58 @@

    Source: Shader.js

    } /** - * Gets the fragment shader script. This is a virtual function and MUST be redefined in derived classes. - * @param {*} gl Thegl context. - * @returns {string} The vertex shader script. + * Gets fragment shader source code. + * Must be overridden in derived classes for custom shading. + * @param {WebGLRenderingContext} gl - WebGL context + * @returns {string} Fragment shader source code + * @virtual */ - - fragShaderSrc(gl) { let gl2 = !(gl instanceof WebGLRenderingContext); let str = ` uniform sampler2D kd; -${gl2? 'in' : 'varying'} vec2 v_texcoord; +${gl2 ? 'in' : 'varying'} vec2 v_texcoord; vec4 data() { - return texture${gl2?'':'2D'}(kd, v_texcoord); + return texture${gl2 ? '' : '2D'}(kd, v_texcoord); } `; return str; } } +/** + * Fired when shader state changes (uniforms, filters, etc). + * @event Shader#update + */ +/** + * Example usage: + * ```javascript + * const shader = new Shader({ + * label: 'RGB Shader', + * samplers: [{ + * id: 0, + * name: 'kd', + * label: 'Diffuse' + * }], + * uniforms: { + * u_brightness: { + * type: 'float', + * value: 1.0 + * } + * }, + * modes: ['normal', 'grayscale'] + * }); + * + * // Set shader mode + * shader.setMode('grayscale'); + * + * // Update uniform + * shader.setUniform('u_brightness', 1.5); + * ``` + */ export { Shader } @@ -520,7 +579,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ShaderBRDF.html b/ShaderBRDF.html index e3fda18a..d068aa77 100644 --- a/ShaderBRDF.html +++ b/ShaderBRDF.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -335,7 +335,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ShaderBRDF.js.html b/ShaderBRDF.js.html index 21ae609f..e4f23055 100644 --- a/ShaderBRDF.js.html +++ b/ShaderBRDF.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -364,7 +364,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ShaderCombiner.html b/ShaderCombiner.html index dc88aba5..df1ad23d 100644 --- a/ShaderCombiner.html +++ b/ShaderCombiner.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -361,7 +361,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ShaderCombiner.js.html b/ShaderCombiner.js.html index d616c3d4..22385664 100644 --- a/ShaderCombiner.js.html +++ b/ShaderCombiner.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -243,7 +243,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ShaderFilter.js.html b/ShaderFilter.js.html index 2eab4929..ef87be9b 100644 --- a/ShaderFilter.js.html +++ b/ShaderFilter.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -323,7 +323,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ShaderNeural.html b/ShaderNeural.html index c6eee4bc..39c1bd0a 100644 --- a/ShaderNeural.html +++ b/ShaderNeural.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -286,7 +286,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ShaderNeural.js.html b/ShaderNeural.js.html index 7f90b841..6f5d6be0 100644 --- a/ShaderNeural.js.html +++ b/ShaderNeural.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -377,7 +377,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ShaderRTI.html b/ShaderRTI.html index 7d7a947f..f19d3311 100644 --- a/ShaderRTI.html +++ b/ShaderRTI.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -344,7 +344,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/ShaderRTI.js.html b/ShaderRTI.js.html index e0c08ba9..3dafc61e 100644 --- a/ShaderRTI.js.html +++ b/ShaderRTI.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -780,7 +780,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Signals.js.html b/Signals.js.html index 2fd295f3..b752274b 100644 --- a/Signals.js.html +++ b/Signals.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -203,7 +203,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Simplify.js.html b/Simplify.js.html index dd4fa66d..4bd1de9d 100644 --- a/Simplify.js.html +++ b/Simplify.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -364,7 +364,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Skin.html b/Skin.html index ae6c8252..11505625 100644 --- a/Skin.html +++ b/Skin.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -871,7 +871,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Skin.js.html b/Skin.js.html index 4575fc3e..96b0cb25 100644 --- a/Skin.js.html +++ b/Skin.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -242,7 +242,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/TextToSpeechPlayer.html b/TextToSpeechPlayer.html index acc9cc25..67f30dac 100644 --- a/TextToSpeechPlayer.html +++ b/TextToSpeechPlayer.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1305,7 +1305,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/TextToSpeechPlayer.js.html b/TextToSpeechPlayer.js.html index 67ee3e78..78b9e64f 100644 --- a/TextToSpeechPlayer.js.html +++ b/TextToSpeechPlayer.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -462,7 +462,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Tile.js.html b/Tile.js.html index 12b5ee32..f5eeb005 100644 --- a/Tile.js.html +++ b/Tile.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -211,7 +211,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Transform.html b/Transform.html index b10572e9..cb34a369 100644 --- a/Transform.html +++ b/Transform.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -2674,7 +2674,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Transform.js.html b/Transform.js.html index 68a72ce1..a756e523 100644 --- a/Transform.js.html +++ b/Transform.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -427,7 +427,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/UIBasic.html b/UIBasic.html index 5328bae6..c3177eaf 100644 --- a/UIBasic.html +++ b/UIBasic.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1114,7 +1114,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/UIBasic.js.html b/UIBasic.js.html index 689595c3..7909c7a5 100644 --- a/UIBasic.js.html +++ b/UIBasic.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -970,7 +970,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/UIDialog.html b/UIDialog.html index 8491d359..d1148dac 100644 --- a/UIDialog.html +++ b/UIDialog.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1125,7 +1125,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Units.html b/Units.html new file mode 100644 index 00000000..361de145 --- /dev/null +++ b/Units.html @@ -0,0 +1,811 @@ + + + + + + + OpenLIME Class: Units + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Class: Units

    +
    + +
    + +

    + Units +

    + + +
    + + +
    +
    + + +
    +
    +

    new Units( [options])

    + + +
    +
    + + +
    +

    Creates a new Units instance.

    +
    + + + + + + + + +
    Parameters:
    + + +
    NameTypeArgumentDefaultDescription
    id + + +number + + + + + + + + + + +

    Unique identifier for the sampler

    name + + +string + + + + + + + + + + +

    Sampler variable name in shader program (e.g., "kd" for diffuse texture)

    label + + +string + + + + + + + + + + +

    Display label for UI/menus

    samplers + + +Array.<Object> + + + + + + + + + + +

    Array of raster definitions

    samplers[].id + + +number + + + + + + + + + + +

    Raster identifier

    samplers[].type + + +string + + + + + + + + + + +

    Raster type (e.g., 'color', 'normal')

    samplerssamplers[].bind + + +boolean + + + + + + + <optional>
    + + + +
    + + true + +

    Whether sampler should be bound in prepareGL

    samplers[].load + + +boolean + + + + + + + <optional>
    + + + +
    + + true + +

    Whether sampler should load from raster

    uniforms + + +Array.<Object> + + + + + + + + + + +

    Shader uniform variables

    uniforms[].type + + +string + + + + + + + + + + +

    Data type ('vec4'|'vec3'|'vec2'|'float'|'int')

    uniforms[].needsUpdate -array +boolean @@ -1181,26 +2508,33 @@
    Properties:
    + + + + + +

    array of rasters {id:, type: } color, normals, etc. * samplers: array of rasters {id:, type: } color, normals, etc. -bind: false will not used in preparegl -load: false will not be loaded from raster -both options are used in neural where the coefficients are loaded, but used by tf

    Whether uniform needs GPU update

    uniforms:uniforms[].value -array +number @@ -1208,14 +2542,20 @@
    Properties:
    + + + + + +

    type = <vec4|vec3|vec2|float|int>, -needsUpdate controls when updated in gl, -size is unused, -value is and array or a float, -we also want to support interpolation: source (value is the target), start, end are the timing (same as camera interpolation)

    Uniform value or array of values

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDescription
    options + + +Object + + + + + + + <optional>
    + + + + + +

    Configuration options

    +
    Properties
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    units + + +Array.<string> + + + + + + + <optional>
    + + + + + +
    + + ['km', 'm', 'cm', 'mm', 'µm'] + +

    Available units in order of preference

    allUnits + + +Object.<string, number> + + + + + + + <optional>
    + + + + + +
    + +

    All supported units and their conversion factors to millimeters

    precision + + +number + + + + + + + <optional>
    + + + + + +
    + + 2 + +

    Number of decimal places for formatted values

    + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + + +
    + + +
    + + + + + + + + + + + + + + +

    Methods

    + +
    + +
    +
    +

    format(d [, unit])

    + + +
    +
    + + +
    +

    Formats a measurement value with appropriate units. +Automatically selects the best unit if none specified.

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDescription
    d + + +number + + + + + + + + + + +

    Value to format (in millimeters)

    unit + + +string + + + + + + + <optional>
    + + + + + +

    Specific unit to use for formatting

    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + +
    +

    Formatted measurement with units (e.g., "5.00 mm" or "1.00 m")

    +
    + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    Example
    + +
    const units = new Units();
    +units.format(1500);       // Returns "1.50 m"
    +units.format(1500, 'mm'); // Returns "1500.00 mm"
    + + + +
    + +
    + + + + + + + + + + + + + + + +
    + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Viewer.html b/Viewer.html index 1769529f..ebfe74b0 100644 --- a/Viewer.html +++ b/Viewer.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1026,7 +1026,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/Viewer.js.html b/Viewer.js.html index ba606e52..f73cc970 100644 --- a/Viewer.js.html +++ b/Viewer.js.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -348,7 +348,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/classes.list.html b/classes.list.html index f2f1b65f..cc400902 100644 --- a/classes.list.html +++ b/classes.list.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -303,6 +303,12 @@

    Classes

    Raster
    +
    Ruler
    +
    + +
    ScaleBar
    +
    +
    Shader
    @@ -333,6 +339,9 @@

    Classes

    UIDialog
    +
    Units
    +
    +
    Viewer
    @@ -505,7 +514,7 @@

    update

    @@ -4241,6 +4250,94 @@

    updateSize

    + + + + +
    +
    +

    update

    + + +
    +
    + + +
    +

    Fired when shader state changes (uniforms, filters, etc).

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + +
    @@ -4379,7 +4476,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/global.html b/global.html index ccdeb37c..3731b232 100644 --- a/global.html +++ b/global.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -10073,7 +10073,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/global.html#Annotation b/global.html#Annotation index d4aff5c8..03fa8be5 100644 --- a/global.html#Annotation +++ b/global.html#Annotation @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ This occurs when: - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -1467,7 +1467,7 @@ id, type, body (with code, class, and description), and target selector informat Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/index.html b/index.html index 3239f78d..a2f0668f 100644 --- a/index.html +++ b/index.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -124,7 +124,7 @@ -

    openlime 0.1.1

    +

    openlime 1.0.1

    @@ -278,6 +278,227 @@

    Customization

    +

    Index

    +
    + +
    + +

    + Ruler.js +

    + + +
    + + +
    +
    + + +

    Ruler module provides measurement functionality for the OpenLIME viewer. +Allows users to measure distances in the scene with an interactive ruler tool. +Extends the Units class to handle unit conversions and formatting.

    +

    Ruler class creates an interactive measurement tool for the OpenLIME viewer. +Features:

    +
      +
    • Interactive distance measurement
    • +
    • SVG-based visualization
    • +
    • Scale-aware display
    • +
    • Multiple measurement history
    • +
    • Touch and mouse support
    • +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + +
    + + +

    Extends

    + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + +

    Index

    +
    + +
    + +

    + ScaleBar.js +

    + + +
    + + +
    +
    + + +

    ScaleBar module provides measurement scale visualization and unit conversion functionality. +Includes both a base Units class for unit management and a ScaleBar class for visual representation.

    +

    Units class provides unit conversion and formatting capabilities. +Supports various measurement units and automatic unit selection based on scale.

    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + +
    + +
    + + + + @@ -317,7 +538,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/module-PointerManager-PointerManager.html b/module-PointerManager-PointerManager.html index 627f4866..64117e55 100644 --- a/module-PointerManager-PointerManager.html +++ b/module-PointerManager-PointerManager.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -2213,7 +2213,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/module-PointerManager.html b/module-PointerManager.html index 1109e731..df39dbf2 100644 --- a/module-PointerManager.html +++ b/module-PointerManager.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -271,7 +271,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/modules.list.html b/modules.list.html index 0342a184..35386429 100644 --- a/modules.list.html +++ b/modules.list.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -303,6 +303,12 @@

    Classes

    Raster
    +
    Ruler
    +
    + +
    ScaleBar
    +
    +
    Shader
    @@ -333,6 +339,9 @@

    Classes

    UIDialog
    +
    Units
    +
    +
    Viewer
    @@ -505,7 +514,7 @@

    update

    @@ -4241,6 +4250,94 @@

    updateSize

    + + + + +
    +
    +

    update

    + + +
    +
    + + +
    +

    Fired when shader state changes (uniforms, filters, etc).

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + +
    @@ -4379,7 +4476,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/namespaces.list.html b/namespaces.list.html index 460711a2..fad430cd 100644 --- a/namespaces.list.html +++ b/namespaces.list.html @@ -49,7 +49,7 @@ @@ -73,7 +73,7 @@ - Bounding boxes are computedevent:
  • Layout#updateSize Fired when the layout size changes and scene extension needs updating. This occurs when: -- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • UIDialog#event:closed
  • +- Tile descriptors are loaded and bounding box is computedevent:
  • LayoutTileImages#event:ready
  • LayoutTileImages#event:updateSize
  • LayoutTiles#event:ready
  • LayoutTiles#event:updateSize
  • Shader#event:update
  • UIDialog#event:closed
  • @@ -303,6 +303,12 @@

    Classes

    Raster
    +
    Ruler
    +
    + +
    ScaleBar
    +
    +
    Shader
    @@ -333,6 +339,9 @@

    Classes

    UIDialog
    +
    Units
    +
    +
    Viewer
    @@ -505,7 +514,7 @@

    update

    @@ -4241,6 +4250,94 @@

    updateSize

    + + + + +
    +
    +

    update

    + + +
    +
    + + +
    +

    Fired when shader state changes (uniforms, filters, etc).

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + +
    @@ -4379,7 +4476,7 @@ Documentation generated by JSDoc 3.6.7 - on 2024-11-02T10:55:05+00:00 + on 2024-11-02T22:33:41+00:00 using the DocStrap template. diff --git a/quicksearch.html b/quicksearch.html index 9def2b28..681c954f 100644 --- a/quicksearch.html +++ b/quicksearch.html @@ -7,7 +7,7 @@