angular-three-soba 2.0.0-beta.4 → 2.0.0-beta.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstractions/billboard/billboard.d.ts +12 -8
- package/abstractions/detailed/detailed.d.ts +26 -0
- package/abstractions/edges/edges.d.ts +24 -12
- package/abstractions/grid/grid.d.ts +42 -51
- package/abstractions/index.d.ts +1 -7
- package/abstractions/text/text.d.ts +10 -4
- package/abstractions/text-3d/text-3d.d.ts +51 -41
- package/cameras/camera/camera-content.d.ts +1 -1
- package/cameras/camera/camera.d.ts +16 -13
- package/cameras/cube-camera/cube-camera.d.ts +49 -23
- package/cameras/index.d.ts +0 -1
- package/cameras/orthographic-camera/orthographic-camera.d.ts +29 -18
- package/cameras/perspective-camera/perspective-camera.d.ts +10 -1
- package/controls/orbit-controls/orbit-controls.d.ts +34 -15
- package/esm2022/abstractions/billboard/billboard.mjs +36 -33
- package/esm2022/abstractions/detailed/detailed.mjs +64 -0
- package/esm2022/abstractions/edges/edges.mjs +58 -63
- package/esm2022/abstractions/grid/grid.mjs +140 -110
- package/esm2022/abstractions/index.mjs +2 -8
- package/esm2022/abstractions/text/text.mjs +123 -122
- package/esm2022/abstractions/text-3d/text-3d.mjs +120 -115
- package/esm2022/cameras/camera/camera-content.mjs +6 -6
- package/esm2022/cameras/camera/camera.mjs +48 -42
- package/esm2022/cameras/cube-camera/cube-camera.mjs +120 -100
- package/esm2022/cameras/index.mjs +1 -2
- package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +78 -75
- package/esm2022/cameras/perspective-camera/perspective-camera.mjs +25 -26
- package/esm2022/controls/orbit-controls/orbit-controls.mjs +109 -85
- package/esm2022/gizmos/angular-three-soba-gizmos.mjs +5 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +198 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/constants.mjs +31 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +93 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +151 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +66 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +71 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +195 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +272 -0
- package/esm2022/gizmos/index.mjs +4 -0
- package/esm2022/loaders/gltf-loader/gltf-loader.mjs +14 -9
- package/esm2022/loaders/loader/loader.mjs +92 -87
- package/esm2022/loaders/progress/progress.mjs +31 -30
- package/esm2022/loaders/texture-loader/texture-loader.mjs +20 -15
- package/esm2022/materials/index.mjs +2 -1
- package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +60 -51
- package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +239 -255
- package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +99 -97
- package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +164 -144
- package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +44 -42
- package/esm2022/materials/point-material/point-material.mjs +50 -0
- package/esm2022/misc/animations/animations.mjs +28 -23
- package/esm2022/misc/bake-shadows/bake-shadows.mjs +13 -13
- package/esm2022/misc/caustics/caustics.mjs +387 -0
- package/esm2022/misc/decal/decal.mjs +187 -0
- package/esm2022/misc/depth-buffer/depth-buffer.mjs +41 -37
- package/esm2022/misc/example/example.mjs +161 -0
- package/esm2022/misc/fbo/fbo.mjs +42 -36
- package/esm2022/misc/html/html-wrapper.mjs +478 -0
- package/esm2022/misc/html/html.mjs +305 -0
- package/esm2022/misc/index.mjs +10 -1
- package/esm2022/misc/sampler/sampler.mjs +132 -0
- package/esm2022/misc/shadow/shadow.mjs +111 -0
- package/esm2022/misc/stats-gl/stats-gl.mjs +61 -0
- package/esm2022/misc/trail/trail.mjs +204 -0
- package/esm2022/misc/trail-texture/inject-trail-texture.mjs +17 -0
- package/esm2022/misc/trail-texture/trail-texture.mjs +106 -0
- package/esm2022/modifiers/angular-three-soba-modifiers.mjs +5 -0
- package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +64 -0
- package/esm2022/modifiers/index.mjs +2 -0
- package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +44 -0
- package/esm2022/performances/adaptive-events/adaptive-events.mjs +27 -0
- package/esm2022/performances/angular-three-soba-performances.mjs +5 -0
- package/esm2022/performances/index.mjs +8 -0
- package/esm2022/performances/instances/instances.mjs +221 -0
- package/esm2022/performances/instances/position-mesh.mjs +52 -0
- package/esm2022/performances/points/points-input.mjs +64 -0
- package/esm2022/performances/points/points.mjs +327 -0
- package/esm2022/performances/points/position-point.mjs +54 -0
- package/esm2022/performances/segments/segment-object.mjs +9 -0
- package/esm2022/performances/segments/segments.mjs +183 -0
- package/esm2022/shaders/blur-pass/blur-pass.mjs +2 -2
- package/esm2022/shaders/caustics/caustics-material.mjs +130 -0
- package/esm2022/shaders/caustics/caustics-projection-material.mjs +32 -0
- package/esm2022/shaders/convolution-material/convolution-material.mjs +3 -2
- package/esm2022/shaders/discard-material/discard-material.mjs +1 -1
- package/esm2022/shaders/grid-material/grid-material.mjs +30 -14
- package/esm2022/shaders/index.mjs +5 -3
- package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +42 -41
- package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +2 -2
- package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +3 -2
- package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +7 -4
- package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +1 -1
- package/esm2022/shaders/shader-material/shader-material.mjs +3 -5
- package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +18 -25
- package/esm2022/shaders/sparkles-material/sparkles-material.mjs +32 -46
- package/esm2022/shaders/spot-light-material/spot-light-material.mjs +8 -7
- package/esm2022/shaders/star-field-material/star-field-material.mjs +3 -2
- package/esm2022/shaders/wireframe-material/wireframe-material.mjs +247 -0
- package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +161 -176
- package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +8 -8
- package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +129 -129
- package/esm2022/staging/backdrop/backdrop.mjs +77 -0
- package/esm2022/staging/bb-anchor/bb-anchor.mjs +69 -0
- package/esm2022/staging/bounds/bounds.mjs +145 -143
- package/esm2022/staging/camera-shake/camera-shake.mjs +86 -80
- package/esm2022/staging/center/center.mjs +129 -112
- package/esm2022/staging/cloud/cloud.mjs +118 -124
- package/esm2022/staging/contact-shadows/contact-shadows.mjs +131 -136
- package/esm2022/staging/environment/assets.mjs +12 -12
- package/esm2022/staging/environment/environment-cube.mjs +28 -30
- package/esm2022/staging/environment/environment-ground.mjs +17 -19
- package/esm2022/staging/environment/environment-input.mjs +98 -85
- package/esm2022/staging/environment/environment-map.mjs +33 -33
- package/esm2022/staging/environment/environment-portal.mjs +75 -97
- package/esm2022/staging/environment/environment.mjs +34 -51
- package/esm2022/staging/environment/utils.mjs +40 -17
- package/esm2022/staging/float/float.mjs +70 -58
- package/esm2022/staging/index.mjs +7 -3
- package/esm2022/staging/matcap-texture/matcap-texture.mjs +64 -0
- package/esm2022/staging/normal-texture/normal-texture.mjs +53 -0
- package/esm2022/staging/sky/sky.mjs +85 -80
- package/esm2022/staging/sparkles/sparkles.mjs +108 -105
- package/esm2022/staging/spot-light/shadow-mesh-input.mjs +63 -0
- package/esm2022/staging/spot-light/shadow-mesh.mjs +267 -0
- package/esm2022/staging/spot-light/spot-light-input.mjs +67 -58
- package/esm2022/staging/spot-light/spot-light.mjs +51 -63
- package/esm2022/staging/spot-light/volumetric-mesh.mjs +67 -70
- package/esm2022/staging/stage/stage.mjs +305 -290
- package/esm2022/staging/stars/stars.mjs +101 -102
- package/esm2022/staging/wireframe/wireframe-input.mjs +191 -0
- package/esm2022/staging/wireframe/wireframe.mjs +228 -0
- package/esm2022/utils/angular-three-soba-utils.mjs +5 -0
- package/esm2022/utils/constants.mjs +3 -0
- package/esm2022/utils/content/content.mjs +15 -0
- package/esm2022/utils/index.mjs +3 -0
- package/fesm2022/angular-three-soba-abstractions.mjs +504 -2079
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +293 -260
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +108 -83
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +1045 -0
- package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -0
- package/fesm2022/angular-three-soba-loaders.mjs +148 -132
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +656 -588
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +2202 -99
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-modifiers.mjs +71 -0
- package/fesm2022/angular-three-soba-modifiers.mjs.map +1 -0
- package/fesm2022/angular-three-soba-performances.mjs +957 -0
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -0
- package/fesm2022/angular-three-soba-shaders.mjs +508 -269
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +2910 -2573
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-utils.mjs +25 -0
- package/fesm2022/angular-three-soba-utils.mjs.map +1 -0
- package/gizmos/README.md +3 -0
- package/gizmos/gizmo-helper/gizmo-helper.d.ts +73 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +22 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +29 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.d.ts +33 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +10 -0
- package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +40 -0
- package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +30 -0
- package/gizmos/index.d.ts +3 -0
- package/loaders/gltf-loader/gltf-loader.d.ts +15 -4
- package/loaders/loader/loader.d.ts +19 -17
- package/loaders/progress/progress.d.ts +1 -1
- package/loaders/texture-loader/texture-loader.d.ts +8 -3
- package/materials/index.d.ts +1 -0
- package/materials/mesh-distort-material/mesh-distort-material.d.ts +25 -15
- package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +74 -56
- package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +33 -21
- package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +55 -39
- package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +19 -10
- package/materials/point-material/point-material.d.ts +24 -0
- package/metadata.json +1 -0
- package/misc/animations/animations.d.ts +6 -4
- package/misc/caustics/caustics.d.ts +87 -0
- package/misc/decal/decal.d.ts +49 -0
- package/misc/depth-buffer/depth-buffer.d.ts +2 -2
- package/misc/example/example.d.ts +85 -0
- package/misc/fbo/fbo.d.ts +2 -2
- package/misc/html/html-wrapper.d.ts +559 -0
- package/misc/html/html.d.ts +218 -0
- package/misc/index.d.ts +9 -0
- package/misc/sampler/sampler.d.ts +67 -0
- package/misc/shadow/shadow.d.ts +37 -0
- package/misc/stats-gl/stats-gl.d.ts +24 -0
- package/misc/trail/trail.d.ts +57 -0
- package/misc/trail-texture/inject-trail-texture.d.ts +9 -0
- package/misc/trail-texture/trail-texture.d.ts +50 -0
- package/modifiers/README.md +3 -0
- package/modifiers/curve-modifier/curve-modifier.d.ts +23 -0
- package/modifiers/index.d.ts +1 -0
- package/package.json +42 -24
- package/performances/README.md +3 -0
- package/performances/adaptive-dpr/adaptive-dpr.d.ts +14 -0
- package/{performance/adaptive → performances/adaptive-events}/adaptive-events.d.ts +3 -0
- package/performances/index.d.ts +7 -0
- package/performances/instances/instances.d.ts +83 -0
- package/{performance → performances}/instances/position-mesh.d.ts +1 -1
- package/performances/points/points-input.d.ts +32 -0
- package/performances/points/points.d.ts +96 -0
- package/performances/points/position-point.d.ts +11 -0
- package/performances/segments/segment-object.d.ts +7 -0
- package/performances/segments/segments.d.ts +128 -0
- package/shaders/grid-material/grid-material.d.ts +33 -0
- package/shaders/index.d.ts +4 -2
- package/shaders/mesh-distort-material/mesh-distort-material.d.ts +173 -6
- package/shaders/mesh-transmission-material/mesh-transmission-material.d.ts +1 -1
- package/shaders/shader-material/shader-material.d.ts +2 -2
- package/shaders/soft-shadow-material/soft-shadow-material.d.ts +10 -1
- package/shaders/sparkles-material/sparkles-material.d.ts +13 -0
- package/shaders/spot-light-material/spot-light-material.d.ts +11 -2
- package/shaders/star-field-material/star-field-material.d.ts +9 -0
- package/shaders/wireframe-material/wireframe-material.d.ts +58 -0
- package/staging/accumulative-shadows/accumulative-shadows.d.ts +93 -39
- package/staging/accumulative-shadows/randomized-lights.d.ts +41 -28
- package/staging/backdrop/backdrop.d.ts +30 -0
- package/staging/bb-anchor/bb-anchor.d.ts +27 -0
- package/staging/bounds/bounds.d.ts +105 -25
- package/staging/camera-shake/camera-shake.d.ts +30 -19
- package/staging/center/center.d.ts +43 -35
- package/staging/cloud/cloud.d.ts +27 -24
- package/staging/contact-shadows/contact-shadows.d.ts +43 -30
- package/staging/environment/assets.d.ts +9 -9
- package/staging/environment/environment-cube.d.ts +9 -5
- package/staging/environment/environment-ground.d.ts +7 -7
- package/staging/environment/environment-input.d.ts +38 -38
- package/staging/environment/environment-map.d.ts +10 -5
- package/staging/environment/environment-portal.d.ts +10 -5
- package/staging/environment/environment.d.ts +0 -4
- package/staging/environment/utils.d.ts +2 -2
- package/staging/float/float.d.ts +15 -11
- package/staging/index.d.ts +6 -2
- package/staging/matcap-texture/matcap-texture.d.ts +13 -0
- package/staging/normal-texture/normal-texture.d.ts +16 -0
- package/staging/sky/sky.d.ts +28 -21
- package/staging/sparkles/sparkles.d.ts +36 -22
- package/staging/spot-light/shadow-mesh-input.d.ts +29 -0
- package/staging/spot-light/shadow-mesh.d.ts +37 -0
- package/staging/spot-light/spot-light-input.d.ts +25 -25
- package/staging/spot-light/spot-light.d.ts +35 -15
- package/staging/spot-light/volumetric-mesh.d.ts +15 -9
- package/staging/stage/stage.d.ts +89 -65
- package/staging/stars/stars.d.ts +28 -17
- package/staging/wireframe/wireframe-input.d.ts +65 -0
- package/staging/wireframe/wireframe.d.ts +28 -0
- package/utils/README.md +3 -0
- package/utils/constants.d.ts +1 -0
- package/utils/content/content.d.ts +8 -0
- package/utils/index.d.ts +2 -0
- package/web-types.json +1 -0
- package/abstractions/catmull-rom-line/catmull-rom-line.d.ts +0 -25
- package/abstractions/cubic-bezier-line/cubic-bezier-line.d.ts +0 -25
- package/abstractions/gizmo-helper/gizmo-helper.d.ts +0 -34
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -22
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -30
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.d.ts +0 -32
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -14
- package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -47
- package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -40
- package/abstractions/line/line-input.d.ts +0 -42
- package/abstractions/line/line.d.ts +0 -35
- package/abstractions/quadratic-bezier-line/quadratic-bezier-line.d.ts +0 -23
- package/esm2022/abstractions/catmull-rom-line/catmull-rom-line.mjs +0 -131
- package/esm2022/abstractions/cubic-bezier-line/cubic-bezier-line.mjs +0 -113
- package/esm2022/abstractions/gizmo-helper/gizmo-helper.mjs +0 -210
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -95
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -155
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +0 -62
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -80
- package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -206
- package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -273
- package/esm2022/abstractions/line/line-input.mjs +0 -113
- package/esm2022/abstractions/line/line.mjs +0 -165
- package/esm2022/abstractions/quadratic-bezier-line/quadratic-bezier-line.mjs +0 -128
- package/esm2022/performance/adaptive/adaptive-dpr.mjs +0 -46
- package/esm2022/performance/adaptive/adaptive-events.mjs +0 -31
- package/esm2022/performance/angular-three-soba-performance.mjs +0 -5
- package/esm2022/performance/detailed/detailed.mjs +0 -61
- package/esm2022/performance/index.mjs +0 -7
- package/esm2022/performance/instances/instance.mjs +0 -48
- package/esm2022/performance/instances/instances.mjs +0 -189
- package/esm2022/performance/instances/position-mesh.mjs +0 -52
- package/esm2022/performance/stats/stats.mjs +0 -79
- package/esm2022/shaders/caustics-material/caustics-material.mjs +0 -128
- package/esm2022/shaders/caustics-material/caustics-projection-material.mjs +0 -33
- package/esm2022/staging/caustics/caustisc.mjs +0 -384
- package/esm2022/staging/spot-light/spot-light-shadow-mesh-input.mjs +0 -57
- package/esm2022/staging/spot-light/spot-light-shadow-mesh.mjs +0 -256
- package/fesm2022/angular-three-soba-performance.mjs +0 -487
- package/fesm2022/angular-three-soba-performance.mjs.map +0 -1
- package/performance/README.md +0 -3
- package/performance/adaptive/adaptive-dpr.d.ts +0 -8
- package/performance/detailed/detailed.d.ts +0 -20
- package/performance/index.d.ts +0 -6
- package/performance/instances/instance.d.ts +0 -9
- package/performance/instances/instances.d.ts +0 -35
- package/performance/stats/stats.d.ts +0 -18
- package/plugin/generators.json +0 -19
- package/plugin/libs/plugin/README.md +0 -11
- package/plugin/package.json +0 -9
- package/plugin/src/generators/init/compat.d.ts +0 -2
- package/plugin/src/generators/init/compat.js +0 -6
- package/plugin/src/generators/init/compat.js.map +0 -1
- package/plugin/src/generators/init/init.d.ts +0 -7
- package/plugin/src/generators/init/init.js +0 -28
- package/plugin/src/generators/init/init.js.map +0 -1
- package/plugin/src/generators/init/schema.json +0 -6
- package/plugin/src/index.d.ts +0 -1
- package/plugin/src/index.js +0 -6
- package/plugin/src/index.js.map +0 -1
- package/staging/caustics/caustisc.d.ts +0 -70
- package/staging/spot-light/spot-light-shadow-mesh-input.d.ts +0 -29
- package/staging/spot-light/spot-light-shadow-mesh.d.ts +0 -38
- /package/{abstractions → gizmos}/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -0
- /package/shaders/{caustics-material → caustics}/caustics-material.d.ts +0 -0
- /package/shaders/{caustics-material → caustics}/caustics-projection-material.d.ts +0 -0
|
@@ -1,82 +1,94 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { extend, injectBeforeRender, injectNgtRef,
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, Component, Input } from '@angular/core';
|
|
2
|
+
import { extend, injectBeforeRender, injectNgtRef, signalStore } from 'angular-three';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { Group } from 'three';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
extend({ Group });
|
|
7
|
-
class NgtsFloat
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
this.set({ enabled });
|
|
7
|
+
export class NgtsFloat {
|
|
8
|
+
set _enabled(enabled) {
|
|
9
|
+
this.inputs.set({ enabled });
|
|
11
10
|
}
|
|
12
|
-
set
|
|
13
|
-
this.set({ speed });
|
|
11
|
+
set _speed(speed) {
|
|
12
|
+
this.inputs.set({ speed });
|
|
14
13
|
}
|
|
15
|
-
set
|
|
16
|
-
this.set({ rotationIntensity });
|
|
14
|
+
set _rotationIntensity(rotationIntensity) {
|
|
15
|
+
this.inputs.set({ rotationIntensity });
|
|
17
16
|
}
|
|
18
|
-
set
|
|
19
|
-
this.set({ floatIntensity });
|
|
17
|
+
set _floatIntensity(floatIntensity) {
|
|
18
|
+
this.inputs.set({ floatIntensity });
|
|
20
19
|
}
|
|
21
|
-
set
|
|
22
|
-
this.set({ floatingRange });
|
|
20
|
+
set _floatingRange(floatingRange) {
|
|
21
|
+
this.inputs.set({ floatingRange });
|
|
23
22
|
}
|
|
24
23
|
constructor() {
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
this.inputs = signalStore({
|
|
25
|
+
enabled: true,
|
|
26
|
+
speed: 1,
|
|
27
|
+
rotationIntensity: 1,
|
|
28
|
+
floatIntensity: 1,
|
|
29
|
+
floatingRange: [-0.1, 0.1],
|
|
30
|
+
});
|
|
27
31
|
this.floatRef = injectNgtRef();
|
|
28
|
-
|
|
32
|
+
this.beforeRender();
|
|
29
33
|
}
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
34
|
+
beforeRender() {
|
|
35
|
+
const offset = Math.random() * 10000;
|
|
36
|
+
injectBeforeRender(({ clock }) => {
|
|
37
|
+
const float = this.floatRef.nativeElement;
|
|
38
|
+
if (!float)
|
|
39
|
+
return;
|
|
40
|
+
const { enabled, speed, rotationIntensity, floatingRange, floatIntensity } = this.inputs.get();
|
|
41
|
+
if (!enabled || speed === 0)
|
|
42
|
+
return;
|
|
43
|
+
const t = offset + clock.getElapsedTime();
|
|
44
|
+
float.rotation.x = (Math.cos((t / 4) * speed) / 8) * rotationIntensity;
|
|
45
|
+
float.rotation.y = (Math.sin((t / 4) * speed) / 8) * rotationIntensity;
|
|
46
|
+
float.rotation.z = (Math.sin((t / 4) * speed) / 20) * rotationIntensity;
|
|
47
|
+
let yPosition = Math.sin((t / 4) * speed) / 10;
|
|
48
|
+
yPosition = THREE.MathUtils.mapLinear(yPosition, -0.1, 0.1, floatingRange?.[0] ?? -0.1, floatingRange?.[1] ?? 0.1);
|
|
49
|
+
float.position.y = yPosition * floatIntensity;
|
|
50
|
+
float.updateMatrix();
|
|
51
|
+
});
|
|
44
52
|
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsFloat, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsFloat, isStandalone: true, selector: "ngts-float", inputs: { floatRef: "floatRef", _enabled: ["enabled", "_enabled"], _speed: ["speed", "_speed"], _rotationIntensity: ["rotationIntensity", "_rotationIntensity"], _floatIntensity: ["floatIntensity", "_floatIntensity"], _floatingRange: ["floatingRange", "_floatingRange"] }, ngImport: i0, template: `
|
|
55
|
+
<ngt-group ngtCompound>
|
|
56
|
+
<ngt-group [ref]="floatRef" [matrixAutoUpdate]="false">
|
|
57
|
+
<ng-content />
|
|
58
|
+
</ngt-group>
|
|
59
|
+
</ngt-group>
|
|
60
|
+
`, isInline: true }); }
|
|
53
61
|
}
|
|
54
|
-
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsFloat, decorators: [{
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsFloat, decorators: [{
|
|
56
63
|
type: Component,
|
|
57
64
|
args: [{
|
|
58
65
|
selector: 'ngts-float',
|
|
59
66
|
standalone: true,
|
|
60
67
|
template: `
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
68
|
+
<ngt-group ngtCompound>
|
|
69
|
+
<ngt-group [ref]="floatRef" [matrixAutoUpdate]="false">
|
|
70
|
+
<ng-content />
|
|
71
|
+
</ngt-group>
|
|
72
|
+
</ngt-group>
|
|
73
|
+
`,
|
|
67
74
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
68
75
|
}]
|
|
69
76
|
}], ctorParameters: function () { return []; }, propDecorators: { floatRef: [{
|
|
70
77
|
type: Input
|
|
71
|
-
}],
|
|
72
|
-
type: Input
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}],
|
|
78
|
-
type: Input
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
}], _enabled: [{
|
|
79
|
+
type: Input,
|
|
80
|
+
args: [{ alias: 'enabled' }]
|
|
81
|
+
}], _speed: [{
|
|
82
|
+
type: Input,
|
|
83
|
+
args: [{ alias: 'speed' }]
|
|
84
|
+
}], _rotationIntensity: [{
|
|
85
|
+
type: Input,
|
|
86
|
+
args: [{ alias: 'rotationIntensity' }]
|
|
87
|
+
}], _floatIntensity: [{
|
|
88
|
+
type: Input,
|
|
89
|
+
args: [{ alias: 'floatIntensity' }]
|
|
90
|
+
}], _floatingRange: [{
|
|
91
|
+
type: Input,
|
|
92
|
+
args: [{ alias: 'floatingRange' }]
|
|
81
93
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvZmxvYXQvZmxvYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQUU5QixNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBK0JsQixNQUFNLE9BQU8sU0FBUztJQVVyQixJQUFpQyxRQUFRLENBQUMsT0FBZ0I7UUFDekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUErQixNQUFNLENBQUMsS0FBYTtRQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQTJDLGtCQUFrQixDQUFDLGlCQUF5QjtRQUN0RixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBd0MsZUFBZSxDQUFDLGNBQXNCO1FBQzdFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBdUMsY0FBYyxDQUFDLGFBQWlDO1FBQ3RGLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMs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QUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUU7Z0JBSUcsZUFBZTtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRTtnQkFJSyxjQUFjO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3ROZ3RSZWYsIHNpZ25hbFN0b3JlLCB0eXBlIE5ndEdyb3VwIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ3RocmVlJztcblxuZXh0ZW5kKHsgR3JvdXAgfSk7XG5cbmV4cG9ydCB0eXBlIE5ndHNGbG9hdFN0YXRlID0ge1xuXHRlbmFibGVkOiBib29sZWFuO1xuXHRzcGVlZDogbnVtYmVyO1xuXHRyb3RhdGlvbkludGVuc2l0eTogbnVtYmVyO1xuXHRmbG9hdEludGVuc2l0eTogbnVtYmVyO1xuXHRmbG9hdGluZ1JhbmdlOiBbbnVtYmVyPywgbnVtYmVyP107XG59O1xuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuXHRcdC8qKlxuXHRcdCAqIEBleHRlbmRzIG5ndC1ncm91cFxuXHRcdCAqL1xuXHRcdCduZ3RzLWZsb2F0JzogTmd0c0Zsb2F0U3RhdGUgJiBOZ3RHcm91cDtcblx0fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWZsb2F0Jyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwIG5ndENvbXBvdW5kPlxuXHRcdFx0PG5ndC1ncm91cCBbcmVmXT1cImZsb2F0UmVmXCIgW21hdHJpeEF1dG9VcGRhdGVdPVwiZmFsc2VcIj5cblx0XHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdDwvbmd0LWdyb3VwPlxuXHRgLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNGbG9hdCB7XG5cdHByaXZhdGUgaW5wdXRzID0gc2lnbmFsU3RvcmU8Tmd0c0Zsb2F0U3RhdGU+KHtcblx0XHRlbmFibGVkOiB0cnVlLFxuXHRcdHNwZWVkOiAxLFxuXHRcdHJvdGF0aW9uSW50ZW5zaXR5OiAxLFxuXHRcdGZsb2F0SW50ZW5zaXR5OiAxLFxuXHRcdGZsb2F0aW5nUmFuZ2U6IFstMC4xLCAwLjFdLFxuXHR9KTtcblxuXHRASW5wdXQoKSBmbG9hdFJlZiA9IGluamVjdE5ndFJlZjxHcm91cD4oKTtcblx0QElucHV0KHsgYWxpYXM6ICdlbmFibGVkJyB9KSBzZXQgX2VuYWJsZWQoZW5hYmxlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGVuYWJsZWQgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ3NwZWVkJyB9KSBzZXQgX3NwZWVkKHNwZWVkOiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBzcGVlZCB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAncm90YXRpb25JbnRlbnNpdHknIH0pIHNldCBfcm90YXRpb25JbnRlbnNpdHkocm90YXRpb25JbnRlbnNpdHk6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHJvdGF0aW9uSW50ZW5zaXR5IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdmbG9hdEludGVuc2l0eScgfSkgc2V0IF9mbG9hdEludGVuc2l0eShmbG9hdEludGVuc2l0eTogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZmxvYXRJbnRlbnNpdHkgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2Zsb2F0aW5nUmFuZ2UnIH0pIHNldCBfZmxvYXRpbmdSYW5nZShmbG9hdGluZ1JhbmdlOiBbbnVtYmVyPywgbnVtYmVyP10pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBmbG9hdGluZ1JhbmdlIH0pO1xuXHR9XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5iZWZvcmVSZW5kZXIoKTtcblx0fVxuXG5cdHByaXZhdGUgYmVmb3JlUmVuZGVyKCkge1xuXHRcdGNvbnN0IG9mZnNldCA9IE1hdGgucmFuZG9tKCkgKiAxMF8wMDA7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGNsb2NrIH0pID0+IHtcblx0XHRcdGNvbnN0IGZsb2F0ID0gdGhpcy5mbG9hdFJlZi5uYXRpdmVFbGVtZW50O1xuXHRcdFx0aWYgKCFmbG9hdCkgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCB7IGVuYWJsZWQsIHNwZWVkLCByb3RhdGlvbkludGVuc2l0eSwgZmxvYXRpbmdSYW5nZSwgZmxvYXRJbnRlbnNpdHkgfSA9IHRoaXMuaW5wdXRzLmdldCgpO1xuXG5cdFx0XHRpZiAoIWVuYWJsZWQgfHwgc3BlZWQgPT09IDApIHJldHVybjtcblx0XHRcdGNvbnN0IHQgPSBvZmZzZXQgKyBjbG9jay5nZXRFbGFwc2VkVGltZSgpO1xuXHRcdFx0ZmxvYXQucm90YXRpb24ueCA9IChNYXRoLmNvcygodCAvIDQpICogc3BlZWQpIC8gOCkgKiByb3RhdGlvbkludGVuc2l0eTtcblx0XHRcdGZsb2F0LnJvdGF0aW9uLnkgPSAoTWF0aC5zaW4oKHQgLyA0KSAqIHNwZWVkKSAvIDgpICogcm90YXRpb25JbnRlbnNpdHk7XG5cdFx0XHRmbG9hdC5yb3RhdGlvbi56ID0gKE1hdGguc2luKCh0IC8gNCkgKiBzcGVlZCkgLyAyMCkgKiByb3RhdGlvbkludGVuc2l0eTtcblx0XHRcdGxldCB5UG9zaXRpb24gPSBNYXRoLnNpbigodCAvIDQpICogc3BlZWQpIC8gMTA7XG5cdFx0XHR5UG9zaXRpb24gPSBUSFJFRS5NYXRoVXRpbHMubWFwTGluZWFyKFxuXHRcdFx0XHR5UG9zaXRpb24sXG5cdFx0XHRcdC0wLjEsXG5cdFx0XHRcdDAuMSxcblx0XHRcdFx0ZmxvYXRpbmdSYW5nZT8uWzBdID8/IC0wLjEsXG5cdFx0XHRcdGZsb2F0aW5nUmFuZ2U/LlsxXSA/PyAwLjEsXG5cdFx0XHQpO1xuXHRcdFx0ZmxvYXQucG9zaXRpb24ueSA9IHlQb3NpdGlvbiAqIGZsb2F0SW50ZW5zaXR5O1xuXHRcdFx0ZmxvYXQudXBkYXRlTWF0cml4KCk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
export * from './accumulative-shadows/accumulative-shadows';
|
|
2
2
|
export * from './accumulative-shadows/randomized-lights';
|
|
3
|
+
export * from './backdrop/backdrop';
|
|
4
|
+
export * from './bb-anchor/bb-anchor';
|
|
3
5
|
export * from './bounds/bounds';
|
|
4
6
|
export * from './camera-shake/camera-shake';
|
|
5
|
-
export * from './caustics/caustisc';
|
|
6
7
|
export * from './center/center';
|
|
7
8
|
export * from './cloud/cloud';
|
|
8
9
|
export * from './contact-shadows/contact-shadows';
|
|
9
10
|
export * from './environment/assets';
|
|
10
11
|
export * from './environment/environment';
|
|
11
12
|
export * from './float/float';
|
|
13
|
+
export * from './matcap-texture/matcap-texture';
|
|
14
|
+
export * from './normal-texture/normal-texture';
|
|
12
15
|
export * from './sky/sky';
|
|
13
16
|
export * from './sparkles/sparkles';
|
|
17
|
+
export { NgtsSpotLightShadow } from './spot-light/shadow-mesh';
|
|
14
18
|
export * from './spot-light/spot-light';
|
|
15
|
-
export { NgtsSpotLightShadow } from './spot-light/spot-light-shadow-mesh';
|
|
16
19
|
export * from './stage/stage';
|
|
17
20
|
export * from './stars/stars';
|
|
18
|
-
|
|
21
|
+
export * from './wireframe/wireframe';
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjY3VtdWxhdGl2ZS1zaGFkb3dzL2FjY3VtdWxhdGl2ZS1zaGFkb3dzJztcbmV4cG9ydCAqIGZyb20gJy4vYWNjdW11bGF0aXZlLXNoYWRvd3MvcmFuZG9taXplZC1saWdodHMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYWNrZHJvcC9iYWNrZHJvcCc7XG5leHBvcnQgKiBmcm9tICcuL2JiLWFuY2hvci9iYi1hbmNob3InO1xuZXhwb3J0ICogZnJvbSAnLi9ib3VuZHMvYm91bmRzJztcbmV4cG9ydCAqIGZyb20gJy4vY2FtZXJhLXNoYWtlL2NhbWVyYS1zaGFrZSc7XG5leHBvcnQgKiBmcm9tICcuL2NlbnRlci9jZW50ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jbG91ZC9jbG91ZCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhY3Qtc2hhZG93cy9jb250YWN0LXNoYWRvd3MnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudC9hc3NldHMnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudC9lbnZpcm9ubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Zsb2F0L2Zsb2F0JztcbmV4cG9ydCAqIGZyb20gJy4vbWF0Y2FwLXRleHR1cmUvbWF0Y2FwLXRleHR1cmUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3JtYWwtdGV4dHVyZS9ub3JtYWwtdGV4dHVyZSc7XG5leHBvcnQgKiBmcm9tICcuL3NreS9za3knO1xuZXhwb3J0ICogZnJvbSAnLi9zcGFya2xlcy9zcGFya2xlcyc7XG5leHBvcnQgeyBOZ3RzU3BvdExpZ2h0U2hhZG93IH0gZnJvbSAnLi9zcG90LWxpZ2h0L3NoYWRvdy1tZXNoJztcbmV4cG9ydCAqIGZyb20gJy4vc3BvdC1saWdodC9zcG90LWxpZ2h0JztcbmV4cG9ydCAqIGZyb20gJy4vc3RhZ2Uvc3RhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGFycy9zdGFycyc7XG5leHBvcnQgKiBmcm9tICcuL3dpcmVmcmFtZS93aXJlZnJhbWUnO1xuIl19
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { computed, effect, runInInjectionContext, signal, untracked } from '@angular/core';
|
|
2
|
+
import { injectNgtsTextureLoader } from 'angular-three-soba/loaders';
|
|
3
|
+
import { assertInjector } from 'ngxtension/assert-injector';
|
|
4
|
+
function getFormatString(format) {
|
|
5
|
+
switch (format) {
|
|
6
|
+
case 64:
|
|
7
|
+
return '-64px';
|
|
8
|
+
case 128:
|
|
9
|
+
return '-128px';
|
|
10
|
+
case 256:
|
|
11
|
+
return '-256px';
|
|
12
|
+
case 512:
|
|
13
|
+
return '-512px';
|
|
14
|
+
default:
|
|
15
|
+
return '';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const LIST_URL = 'https://cdn.jsdelivr.net/gh/pmndrs/drei-assets@master/matcaps.json';
|
|
19
|
+
const MATCAP_ROOT = 'https://rawcdn.githack.com/emmelleppi/matcaps/9b36ccaaf0a24881a39062d05566c9e92be4aa0d';
|
|
20
|
+
const defaultState = {
|
|
21
|
+
id: 0,
|
|
22
|
+
format: 1024,
|
|
23
|
+
};
|
|
24
|
+
export function injectNgtsMatcapTexture(matcapTextureState, { injector } = {}) {
|
|
25
|
+
injector = assertInjector(injectNgtsMatcapTexture, injector);
|
|
26
|
+
return runInInjectionContext(injector, () => {
|
|
27
|
+
const state = computed(() => ({ ...defaultState, ...matcapTextureState() }));
|
|
28
|
+
const matcapList = signal({});
|
|
29
|
+
const DEFAULT_MATCAP = () => matcapList()[0];
|
|
30
|
+
const numTot = () => Object.keys(matcapList()).length;
|
|
31
|
+
effect(() => {
|
|
32
|
+
if (!untracked(numTot)) {
|
|
33
|
+
fetch(LIST_URL)
|
|
34
|
+
.then((res) => res.json())
|
|
35
|
+
.then((data) => {
|
|
36
|
+
matcapList.set(data);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
const fileHash = () => {
|
|
41
|
+
const id = state().id;
|
|
42
|
+
if (typeof id === 'string') {
|
|
43
|
+
return id;
|
|
44
|
+
}
|
|
45
|
+
if (typeof id === 'number' && matcapList()[id]) {
|
|
46
|
+
return matcapList()[id];
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
};
|
|
50
|
+
const fileName = () => `${fileHash() || DEFAULT_MATCAP()}${getFormatString(state().format)}.png`;
|
|
51
|
+
const url = () => `${MATCAP_ROOT}/${state().format}/${fileName()}`;
|
|
52
|
+
let texture;
|
|
53
|
+
const matcapTexture = computed(() => {
|
|
54
|
+
if (url().includes('undefined'))
|
|
55
|
+
return null;
|
|
56
|
+
if (!texture) {
|
|
57
|
+
texture = injectNgtsTextureLoader(url, { onLoad: state().onLoad, injector });
|
|
58
|
+
}
|
|
59
|
+
return texture();
|
|
60
|
+
});
|
|
61
|
+
return { texture: matcapTexture, numTot, url };
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2FwLXRleHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvbWF0Y2FwLXRleHR1cmUvbWF0Y2FwLXRleHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVELFNBQVMsZUFBZSxDQUFDLE1BQWM7SUFDdEMsUUFBUSxNQUFNLEVBQUU7UUFDZixLQUFLLEVBQUU7WUFDTixPQUFPLE9BQU8sQ0FBQztRQUNoQixLQUFLLEdBQUc7WUFDUCxPQUFPLFFBQVEsQ0FBQztRQUNqQixLQUFLLEdBQUc7WUFDUCxPQUFPLFFBQVEsQ0FBQztRQUNqQixLQUFLLEdBQUc7WUFDUCxPQUFPLFFBQVEsQ0FBQztRQUNqQjtZQUNDLE9BQU8sRUFBRSxDQUFDO0tBQ1g7QUFDRixDQUFDO0FBRUQsTUFBTSxRQUFRLEdBQUcsb0VBQW9FLENBQUM7QUFDdEYsTUFBTSxXQUFXLEdBQUcsd0ZBQXdGLENBQUM7QUFRN0csTUFBTSxZQUFZLEdBQTJCO0lBQzVDLEVBQUUsRUFBRSxDQUFDO0lBQ0wsTUFBTSxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBTSxVQUFVLHVCQUF1QixDQUN0QyxrQkFBeUQsRUFDekQsRUFBRSxRQUFRLEtBQThCLEVBQUU7SUFFMUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3RCxPQUFPLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDM0MsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFN0UsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUF5QixFQUFFLENBQUMsQ0FBQztRQUV0RCxNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QyxNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRXRELE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2QixLQUFLLENBQUMsUUFBUSxDQUFDO3FCQUNiLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO3FCQUN6QixJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDZCxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0QixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUU7WUFDckIsTUFBTSxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3RCLElBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFFO2dCQUMzQixPQUFPLEVBQUUsQ0FBQzthQUNWO1lBRUQsSUFBSSxPQUFPLEVBQUUsS0FBSyxRQUFRLElBQUksVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQy9DLE9BQU8sVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDeEI7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNiLENBQUMsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLElBQUksY0FBYyxFQUFFLEdBQUcsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDakcsTUFBTSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxXQUFXLElBQUksS0FBSyxFQUFFLENBQUMsTUFBTSxJQUFJLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFFbkUsSUFBSSxPQUFxQyxDQUFDO1FBQzFDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbkMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQzdDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2IsT0FBTyxHQUFHLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUM3RTtZQUNELE9BQU8sT0FBTyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDaEQsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGVmZmVjdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBzaWduYWwsIHVudHJhY2tlZCwgdHlwZSBJbmplY3RvciwgdHlwZSBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdE5ndHNUZXh0dXJlTG9hZGVyIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL2xvYWRlcnMnO1xuaW1wb3J0IHsgYXNzZXJ0SW5qZWN0b3IgfSBmcm9tICduZ3h0ZW5zaW9uL2Fzc2VydC1pbmplY3Rvcic7XG5cbmZ1bmN0aW9uIGdldEZvcm1hdFN0cmluZyhmb3JtYXQ6IG51bWJlcikge1xuXHRzd2l0Y2ggKGZvcm1hdCkge1xuXHRcdGNhc2UgNjQ6XG5cdFx0XHRyZXR1cm4gJy02NHB4Jztcblx0XHRjYXNlIDEyODpcblx0XHRcdHJldHVybiAnLTEyOHB4Jztcblx0XHRjYXNlIDI1Njpcblx0XHRcdHJldHVybiAnLTI1NnB4Jztcblx0XHRjYXNlIDUxMjpcblx0XHRcdHJldHVybiAnLTUxMnB4Jztcblx0XHRkZWZhdWx0OlxuXHRcdFx0cmV0dXJuICcnO1xuXHR9XG59XG5cbmNvbnN0IExJU1RfVVJMID0gJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9wbW5kcnMvZHJlaS1hc3NldHNAbWFzdGVyL21hdGNhcHMuanNvbic7XG5jb25zdCBNQVRDQVBfUk9PVCA9ICdodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9lbW1lbGxlcHBpL21hdGNhcHMvOWIzNmNjYWFmMGEyNDg4MWEzOTA2MmQwNTU2NmM5ZTkyYmU0YWEwZCc7XG5cbmV4cG9ydCB0eXBlIE5ndHNNYXRjYXBUZXh0dXJlU3RhdGUgPSB7XG5cdGlkOiBzdHJpbmcgfCBudW1iZXI7XG5cdGZvcm1hdDogbnVtYmVyO1xuXHRvbkxvYWQ/OiAodGV4dHVyZTogVEhSRUUuVGV4dHVyZSB8IFRIUkVFLlRleHR1cmVbXSkgPT4gdm9pZDtcbn07XG5cbmNvbnN0IGRlZmF1bHRTdGF0ZTogTmd0c01hdGNhcFRleHR1cmVTdGF0ZSA9IHtcblx0aWQ6IDAsXG5cdGZvcm1hdDogMTAyNCxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROZ3RzTWF0Y2FwVGV4dHVyZShcblx0bWF0Y2FwVGV4dHVyZVN0YXRlOiAoKSA9PiBQYXJ0aWFsPE5ndHNNYXRjYXBUZXh0dXJlU3RhdGU+LFxuXHR7IGluamVjdG9yIH06IHsgaW5qZWN0b3I/OiBJbmplY3RvciB9ID0ge30sXG4pIHtcblx0aW5qZWN0b3IgPSBhc3NlcnRJbmplY3RvcihpbmplY3ROZ3RzTWF0Y2FwVGV4dHVyZSwgaW5qZWN0b3IpO1xuXHRyZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiB7XG5cdFx0Y29uc3Qgc3RhdGUgPSBjb21wdXRlZCgoKSA9PiAoeyAuLi5kZWZhdWx0U3RhdGUsIC4uLm1hdGNhcFRleHR1cmVTdGF0ZSgpIH0pKTtcblxuXHRcdGNvbnN0IG1hdGNhcExpc3QgPSBzaWduYWw8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oe30pO1xuXG5cdFx0Y29uc3QgREVGQVVMVF9NQVRDQVAgPSAoKSA9PiBtYXRjYXBMaXN0KClbMF07XG5cdFx0Y29uc3QgbnVtVG90ID0gKCkgPT4gT2JqZWN0LmtleXMobWF0Y2FwTGlzdCgpKS5sZW5ndGg7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0aWYgKCF1bnRyYWNrZWQobnVtVG90KSkge1xuXHRcdFx0XHRmZXRjaChMSVNUX1VSTClcblx0XHRcdFx0XHQudGhlbigocmVzKSA9PiByZXMuanNvbigpKVxuXHRcdFx0XHRcdC50aGVuKChkYXRhKSA9PiB7XG5cdFx0XHRcdFx0XHRtYXRjYXBMaXN0LnNldChkYXRhKTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdGNvbnN0IGZpbGVIYXNoID0gKCkgPT4ge1xuXHRcdFx0Y29uc3QgaWQgPSBzdGF0ZSgpLmlkO1xuXHRcdFx0aWYgKHR5cGVvZiBpZCA9PT0gJ3N0cmluZycpIHtcblx0XHRcdFx0cmV0dXJuIGlkO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAodHlwZW9mIGlkID09PSAnbnVtYmVyJyAmJiBtYXRjYXBMaXN0KClbaWRdKSB7XG5cdFx0XHRcdHJldHVybiBtYXRjYXBMaXN0KClbaWRdO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9O1xuXG5cdFx0Y29uc3QgZmlsZU5hbWUgPSAoKSA9PiBgJHtmaWxlSGFzaCgpIHx8IERFRkFVTFRfTUFUQ0FQKCl9JHtnZXRGb3JtYXRTdHJpbmcoc3RhdGUoKS5mb3JtYXQpfS5wbmdgO1xuXHRcdGNvbnN0IHVybCA9ICgpID0+IGAke01BVENBUF9ST09UfS8ke3N0YXRlKCkuZm9ybWF0fS8ke2ZpbGVOYW1lKCl9YDtcblxuXHRcdGxldCB0ZXh0dXJlOiBTaWduYWw8VEhSRUUuVGV4dHVyZSB8IG51bGw+O1xuXHRcdGNvbnN0IG1hdGNhcFRleHR1cmUgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0XHRpZiAodXJsKCkuaW5jbHVkZXMoJ3VuZGVmaW5lZCcpKSByZXR1cm4gbnVsbDtcblx0XHRcdGlmICghdGV4dHVyZSkge1xuXHRcdFx0XHR0ZXh0dXJlID0gaW5qZWN0Tmd0c1RleHR1cmVMb2FkZXIodXJsLCB7IG9uTG9hZDogc3RhdGUoKS5vbkxvYWQsIGluamVjdG9yIH0pO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHRleHR1cmUoKTtcblx0XHR9KTtcblxuXHRcdHJldHVybiB7IHRleHR1cmU6IG1hdGNhcFRleHR1cmUsIG51bVRvdCwgdXJsIH07XG5cdH0pO1xufVxuIl19
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { computed, effect, runInInjectionContext, signal, untracked } from '@angular/core';
|
|
2
|
+
import { injectNgtsTextureLoader } from 'angular-three-soba/loaders';
|
|
3
|
+
import { assertInjector } from 'ngxtension/assert-injector';
|
|
4
|
+
import * as THREE from 'three';
|
|
5
|
+
const NORMAL_ROOT = 'https://rawcdn.githack.com/pmndrs/drei-assets/7a3104997e1576f83472829815b00880d88b32fb';
|
|
6
|
+
const LIST_URL = 'https://cdn.jsdelivr.net/gh/pmndrs/drei-assets@master/normals/normals.json';
|
|
7
|
+
const defaultState = {
|
|
8
|
+
id: 0,
|
|
9
|
+
repeat: [1, 1],
|
|
10
|
+
anisotropy: 1,
|
|
11
|
+
offset: [0, 0],
|
|
12
|
+
};
|
|
13
|
+
export function injectNgtsNormalTexture(normalTextureState, { injector } = {}) {
|
|
14
|
+
injector = assertInjector(injectNgtsNormalTexture, injector);
|
|
15
|
+
return runInInjectionContext(injector, () => {
|
|
16
|
+
const state = computed(() => ({ ...defaultState, ...normalTextureState() }));
|
|
17
|
+
const normalsList = signal({});
|
|
18
|
+
const DEFAULT_NORMAL = () => normalsList()[0];
|
|
19
|
+
const numTot = () => Object.keys(normalsList()).length;
|
|
20
|
+
effect(() => {
|
|
21
|
+
if (!untracked(numTot)) {
|
|
22
|
+
fetch(LIST_URL)
|
|
23
|
+
.then((res) => res.json())
|
|
24
|
+
.then((data) => {
|
|
25
|
+
normalsList.set(data);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
const imageName = () => normalsList()[state().id] || DEFAULT_NORMAL();
|
|
30
|
+
const url = () => `${NORMAL_ROOT}/normals/${imageName()}`;
|
|
31
|
+
let texture;
|
|
32
|
+
const normalTexture = computed(() => {
|
|
33
|
+
if (url().includes('undefined'))
|
|
34
|
+
return null;
|
|
35
|
+
if (!texture) {
|
|
36
|
+
texture = injectNgtsTextureLoader(url, { onLoad: state().onLoad, injector });
|
|
37
|
+
}
|
|
38
|
+
return texture();
|
|
39
|
+
});
|
|
40
|
+
effect(() => {
|
|
41
|
+
const _texture = normalTexture();
|
|
42
|
+
if (!_texture)
|
|
43
|
+
return;
|
|
44
|
+
const { repeat, offset, anisotropy } = state();
|
|
45
|
+
_texture.wrapS = _texture.wrapT = THREE.RepeatWrapping;
|
|
46
|
+
_texture.repeat = new THREE.Vector2(repeat[0], repeat[1]);
|
|
47
|
+
_texture.offset = new THREE.Vector2(offset[0], offset[1]);
|
|
48
|
+
_texture.anisotropy = anisotropy;
|
|
49
|
+
});
|
|
50
|
+
return { texture: normalTexture, numTot, url };
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsLXRleHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvbm9ybWFsLXRleHR1cmUvbm9ybWFsLXRleHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE1BQU0sV0FBVyxHQUFHLHdGQUF3RixDQUFDO0FBQzdHLE1BQU0sUUFBUSxHQUFHLDRFQUE0RSxDQUFDO0FBVTlGLE1BQU0sWUFBWSxHQUEyQjtJQUM1QyxFQUFFLEVBQUUsQ0FBQztJQUNMLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDZCxVQUFVLEVBQUUsQ0FBQztJQUNiLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Q0FDZCxDQUFDO0FBRUYsTUFBTSxVQUFVLHVCQUF1QixDQUN0QyxrQkFBeUQsRUFDekQsRUFBRSxRQUFRLEtBQThCLEVBQUU7SUFFMUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3RCxPQUFPLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDM0MsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0UsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUF5QixFQUFFLENBQUMsQ0FBQztRQUV2RCxNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRXZELE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2QixLQUFLLENBQUMsUUFBUSxDQUFDO3FCQUNiLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO3FCQUN6QixJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDZCxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2QixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUN0RSxNQUFNLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLFdBQVcsWUFBWSxTQUFTLEVBQUUsRUFBRSxDQUFDO1FBRTFELElBQUksT0FBcUMsQ0FBQztRQUMxQyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25DLElBQUksR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUM3QyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDN0U7WUFDRCxPQUFPLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLE1BQU0sUUFBUSxHQUFHLGFBQWEsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFFdEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDL0MsUUFBUSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFDdkQsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFELFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRCxRQUFRLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNoRCxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgZWZmZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHQsIHNpZ25hbCwgdW50cmFja2VkLCB0eXBlIEluamVjdG9yLCB0eXBlIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0c1RleHR1cmVMb2FkZXIgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvbG9hZGVycyc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJ25neHRlbnNpb24vYXNzZXJ0LWluamVjdG9yJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuY29uc3QgTk9STUFMX1JPT1QgPSAnaHR0cHM6Ly9yYXdjZG4uZ2l0aGFjay5jb20vcG1uZHJzL2RyZWktYXNzZXRzLzdhMzEwNDk5N2UxNTc2ZjgzNDcyODI5ODE1YjAwODgwZDg4YjMyZmInO1xuY29uc3QgTElTVF9VUkwgPSAnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL3BtbmRycy9kcmVpLWFzc2V0c0BtYXN0ZXIvbm9ybWFscy9ub3JtYWxzLmpzb24nO1xuXG5leHBvcnQgdHlwZSBOZ3RzTm9ybWFsVGV4dHVyZVN0YXRlID0ge1xuXHRpZDogc3RyaW5nIHwgbnVtYmVyO1xuXHRyZXBlYXQ6IG51bWJlcltdO1xuXHRhbmlzb3Ryb3B5OiBudW1iZXI7XG5cdG9mZnNldDogbnVtYmVyW107XG5cdG9uTG9hZD86ICh0ZXh0dXJlOiBUSFJFRS5UZXh0dXJlIHwgVEhSRUUuVGV4dHVyZVtdKSA9PiB2b2lkO1xufTtcblxuY29uc3QgZGVmYXVsdFN0YXRlOiBOZ3RzTm9ybWFsVGV4dHVyZVN0YXRlID0ge1xuXHRpZDogMCxcblx0cmVwZWF0OiBbMSwgMV0sXG5cdGFuaXNvdHJvcHk6IDEsXG5cdG9mZnNldDogWzAsIDBdLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5ndHNOb3JtYWxUZXh0dXJlKFxuXHRub3JtYWxUZXh0dXJlU3RhdGU6ICgpID0+IFBhcnRpYWw8Tmd0c05vcm1hbFRleHR1cmVTdGF0ZT4sXG5cdHsgaW5qZWN0b3IgfTogeyBpbmplY3Rvcj86IEluamVjdG9yIH0gPSB7fSxcbikge1xuXHRpbmplY3RvciA9IGFzc2VydEluamVjdG9yKGluamVjdE5ndHNOb3JtYWxUZXh0dXJlLCBpbmplY3Rvcik7XG5cdHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHtcblx0XHRjb25zdCBzdGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh7IC4uLmRlZmF1bHRTdGF0ZSwgLi4ubm9ybWFsVGV4dHVyZVN0YXRlKCkgfSkpO1xuXHRcdGNvbnN0IG5vcm1hbHNMaXN0ID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KHt9KTtcblxuXHRcdGNvbnN0IERFRkFVTFRfTk9STUFMID0gKCkgPT4gbm9ybWFsc0xpc3QoKVswXTtcblx0XHRjb25zdCBudW1Ub3QgPSAoKSA9PiBPYmplY3Qua2V5cyhub3JtYWxzTGlzdCgpKS5sZW5ndGg7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0aWYgKCF1bnRyYWNrZWQobnVtVG90KSkge1xuXHRcdFx0XHRmZXRjaChMSVNUX1VSTClcblx0XHRcdFx0XHQudGhlbigocmVzKSA9PiByZXMuanNvbigpKVxuXHRcdFx0XHRcdC50aGVuKChkYXRhKSA9PiB7XG5cdFx0XHRcdFx0XHRub3JtYWxzTGlzdC5zZXQoZGF0YSk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHRjb25zdCBpbWFnZU5hbWUgPSAoKSA9PiBub3JtYWxzTGlzdCgpW3N0YXRlKCkuaWRdIHx8IERFRkFVTFRfTk9STUFMKCk7XG5cdFx0Y29uc3QgdXJsID0gKCkgPT4gYCR7Tk9STUFMX1JPT1R9L25vcm1hbHMvJHtpbWFnZU5hbWUoKX1gO1xuXG5cdFx0bGV0IHRleHR1cmU6IFNpZ25hbDxUSFJFRS5UZXh0dXJlIHwgbnVsbD47XG5cdFx0Y29uc3Qgbm9ybWFsVGV4dHVyZSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGlmICh1cmwoKS5pbmNsdWRlcygndW5kZWZpbmVkJykpIHJldHVybiBudWxsO1xuXHRcdFx0aWYgKCF0ZXh0dXJlKSB7XG5cdFx0XHRcdHRleHR1cmUgPSBpbmplY3ROZ3RzVGV4dHVyZUxvYWRlcih1cmwsIHsgb25Mb2FkOiBzdGF0ZSgpLm9uTG9hZCwgaW5qZWN0b3IgfSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdGV4dHVyZSgpO1xuXHRcdH0pO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IF90ZXh0dXJlID0gbm9ybWFsVGV4dHVyZSgpO1xuXHRcdFx0aWYgKCFfdGV4dHVyZSkgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCB7IHJlcGVhdCwgb2Zmc2V0LCBhbmlzb3Ryb3B5IH0gPSBzdGF0ZSgpO1xuXHRcdFx0X3RleHR1cmUud3JhcFMgPSBfdGV4dHVyZS53cmFwVCA9IFRIUkVFLlJlcGVhdFdyYXBwaW5nO1xuXHRcdFx0X3RleHR1cmUucmVwZWF0ID0gbmV3IFRIUkVFLlZlY3RvcjIocmVwZWF0WzBdLCByZXBlYXRbMV0pO1xuXHRcdFx0X3RleHR1cmUub2Zmc2V0ID0gbmV3IFRIUkVFLlZlY3RvcjIob2Zmc2V0WzBdLCBvZmZzZXRbMV0pO1xuXHRcdFx0X3RleHR1cmUuYW5pc290cm9weSA9IGFuaXNvdHJvcHk7XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4geyB0ZXh0dXJlOiBub3JtYWxUZXh0dXJlLCBudW1Ub3QsIHVybCB9O1xuXHR9KTtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, Component, Input, computed } from '@angular/core';
|
|
2
|
+
import { NgtArgs, injectNgtRef, signalStore } from 'angular-three';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { Sky } from 'three-stdlib';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -11,37 +11,9 @@ function calcPosFromAngles(inclination, azimuth, vector = new THREE.Vector3()) {
|
|
|
11
11
|
vector.z = Math.sin(phi);
|
|
12
12
|
return vector;
|
|
13
13
|
}
|
|
14
|
-
class NgtsSky
|
|
15
|
-
set distance(distance) {
|
|
16
|
-
this.set({ distance });
|
|
17
|
-
}
|
|
18
|
-
set sunPosition(sunPosition) {
|
|
19
|
-
this.set({ sunPosition });
|
|
20
|
-
}
|
|
21
|
-
set inclination(inclination) {
|
|
22
|
-
this.set({ inclination });
|
|
23
|
-
}
|
|
24
|
-
set azimuth(azimuth) {
|
|
25
|
-
this.set({ azimuth });
|
|
26
|
-
}
|
|
27
|
-
set mieCoefficient(mieCoefficient) {
|
|
28
|
-
this.set({ mieCoefficient });
|
|
29
|
-
}
|
|
30
|
-
set mieDirectionalG(mieDirectionalG) {
|
|
31
|
-
this.set({ mieDirectionalG });
|
|
32
|
-
}
|
|
33
|
-
set rayleigh(rayleigh) {
|
|
34
|
-
this.set({ rayleigh });
|
|
35
|
-
}
|
|
36
|
-
set turbidity(turbidity) {
|
|
37
|
-
this.set({ turbidity });
|
|
38
|
-
}
|
|
39
|
-
#inclination;
|
|
40
|
-
#azimuth;
|
|
41
|
-
#sunPosition;
|
|
42
|
-
#distance;
|
|
14
|
+
export class NgtsSky {
|
|
43
15
|
constructor() {
|
|
44
|
-
|
|
16
|
+
this.inputs = signalStore({
|
|
45
17
|
inclination: 0.6,
|
|
46
18
|
azimuth: 0.1,
|
|
47
19
|
distance: 1000,
|
|
@@ -51,64 +23,97 @@ class NgtsSky extends NgtSignalStore {
|
|
|
51
23
|
turbidity: 10,
|
|
52
24
|
});
|
|
53
25
|
this.skyRef = injectNgtRef();
|
|
54
|
-
this
|
|
55
|
-
this
|
|
56
|
-
this
|
|
57
|
-
this
|
|
26
|
+
this.inclination = this.inputs.select('inclination');
|
|
27
|
+
this.azimuth = this.inputs.select('azimuth');
|
|
28
|
+
this.sunPos = this.inputs.select('sunPosition');
|
|
29
|
+
this.distance = this.inputs.select('distance');
|
|
30
|
+
this.sunPosition = computed(() => this.sunPos() || calcPosFromAngles(this.inclination(), this.azimuth()));
|
|
31
|
+
this.scale = computed(() => new THREE.Vector3().setScalar(this.distance()));
|
|
32
|
+
this.mieCoefficient = this.inputs.select('mieCoefficient');
|
|
33
|
+
this.mieDirectionalG = this.inputs.select('mieDirectionalG');
|
|
34
|
+
this.rayleigh = this.inputs.select('rayleigh');
|
|
35
|
+
this.turbidity = this.inputs.select('turbidity');
|
|
58
36
|
this.sky = new Sky();
|
|
59
|
-
this.skyMieCoefficient = this.select('mieCoefficient');
|
|
60
|
-
this.skyMieDirectionalG = this.select('mieDirectionalG');
|
|
61
|
-
this.skyRayleigh = this.select('rayleigh');
|
|
62
|
-
this.skyTurbidity = this.select('turbidity');
|
|
63
|
-
this.calculatedSunPosition = computed(() => this.#sunPosition() || calcPosFromAngles(this.#inclination(), this.#azimuth()));
|
|
64
|
-
this.scale = computed(() => new THREE.Vector3().setScalar(this.#distance()));
|
|
65
37
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
38
|
+
set _distance(distance) {
|
|
39
|
+
this.inputs.set({ distance });
|
|
40
|
+
}
|
|
41
|
+
set _sunPosition(sunPosition) {
|
|
42
|
+
this.inputs.set({ sunPosition });
|
|
43
|
+
}
|
|
44
|
+
set _inclination(inclination) {
|
|
45
|
+
this.inputs.set({ inclination });
|
|
46
|
+
}
|
|
47
|
+
set _azimuth(azimuth) {
|
|
48
|
+
this.inputs.set({ azimuth });
|
|
49
|
+
}
|
|
50
|
+
set _mieCoefficient(mieCoefficient) {
|
|
51
|
+
this.inputs.set({ mieCoefficient });
|
|
52
|
+
}
|
|
53
|
+
set _mieDirectionalG(mieDirectionalG) {
|
|
54
|
+
this.inputs.set({ mieDirectionalG });
|
|
55
|
+
}
|
|
56
|
+
set _rayleigh(rayleigh) {
|
|
57
|
+
this.inputs.set({ rayleigh });
|
|
58
|
+
}
|
|
59
|
+
set _turbidity(turbidity) {
|
|
60
|
+
this.inputs.set({ turbidity });
|
|
61
|
+
}
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsSky, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsSky, isStandalone: true, selector: "ngts-sky", inputs: { skyRef: "skyRef", _distance: ["distance", "_distance"], _sunPosition: ["sunPosition", "_sunPosition"], _inclination: ["inclination", "_inclination"], _azimuth: ["azimuth", "_azimuth"], _mieCoefficient: ["mieCoefficient", "_mieCoefficient"], _mieDirectionalG: ["mieDirectionalG", "_mieDirectionalG"], _rayleigh: ["rayleigh", "_rayleigh"], _turbidity: ["turbidity", "_turbidity"] }, ngImport: i0, template: `
|
|
64
|
+
<ngt-primitive *args="[sky]" [ref]="skyRef" [scale]="scale()" ngtCompound>
|
|
65
|
+
<ngt-value [rawValue]="mieCoefficient()" attach="material.uniforms.mieCoefficient.value" />
|
|
66
|
+
<ngt-value [rawValue]="mieDirectionalG()" attach="material.uniforms.mieDirectionalG.value" />
|
|
67
|
+
<ngt-value [rawValue]="rayleigh()" attach="material.uniforms.rayleigh.value" />
|
|
68
|
+
<ngt-value [rawValue]="sunPosition()" attach="material.uniforms.sunPosition.value" />
|
|
69
|
+
<ngt-value [rawValue]="turbidity()" attach="material.uniforms.turbidity.value" />
|
|
70
|
+
<ng-content />
|
|
71
|
+
</ngt-primitive>
|
|
72
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
76
73
|
}
|
|
77
|
-
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsSky, decorators: [{
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsSky, decorators: [{
|
|
79
75
|
type: Component,
|
|
80
76
|
args: [{
|
|
81
77
|
selector: 'ngts-sky',
|
|
82
78
|
standalone: true,
|
|
83
79
|
template: `
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
80
|
+
<ngt-primitive *args="[sky]" [ref]="skyRef" [scale]="scale()" ngtCompound>
|
|
81
|
+
<ngt-value [rawValue]="mieCoefficient()" attach="material.uniforms.mieCoefficient.value" />
|
|
82
|
+
<ngt-value [rawValue]="mieDirectionalG()" attach="material.uniforms.mieDirectionalG.value" />
|
|
83
|
+
<ngt-value [rawValue]="rayleigh()" attach="material.uniforms.rayleigh.value" />
|
|
84
|
+
<ngt-value [rawValue]="sunPosition()" attach="material.uniforms.sunPosition.value" />
|
|
85
|
+
<ngt-value [rawValue]="turbidity()" attach="material.uniforms.turbidity.value" />
|
|
86
|
+
<ng-content />
|
|
87
|
+
</ngt-primitive>
|
|
88
|
+
`,
|
|
92
89
|
imports: [NgtArgs],
|
|
93
90
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
94
91
|
}]
|
|
95
|
-
}],
|
|
96
|
-
type: Input
|
|
97
|
-
}], distance: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}], sunPosition: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}], inclination: [{
|
|
102
|
-
type: Input
|
|
103
|
-
}], azimuth: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}], mieCoefficient: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], mieDirectionalG: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], rayleigh: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], turbidity: [{
|
|
92
|
+
}], propDecorators: { skyRef: [{
|
|
112
93
|
type: Input
|
|
94
|
+
}], _distance: [{
|
|
95
|
+
type: Input,
|
|
96
|
+
args: [{ alias: 'distance' }]
|
|
97
|
+
}], _sunPosition: [{
|
|
98
|
+
type: Input,
|
|
99
|
+
args: [{ alias: 'sunPosition' }]
|
|
100
|
+
}], _inclination: [{
|
|
101
|
+
type: Input,
|
|
102
|
+
args: [{ alias: 'inclination' }]
|
|
103
|
+
}], _azimuth: [{
|
|
104
|
+
type: Input,
|
|
105
|
+
args: [{ alias: 'azimuth' }]
|
|
106
|
+
}], _mieCoefficient: [{
|
|
107
|
+
type: Input,
|
|
108
|
+
args: [{ alias: 'mieCoefficient' }]
|
|
109
|
+
}], _mieDirectionalG: [{
|
|
110
|
+
type: Input,
|
|
111
|
+
args: [{ alias: 'mieDirectionalG' }]
|
|
112
|
+
}], _rayleigh: [{
|
|
113
|
+
type: Input,
|
|
114
|
+
args: [{ alias: 'rayleigh' }]
|
|
115
|
+
}], _turbidity: [{
|
|
116
|
+
type: Input,
|
|
117
|
+
args: [{ alias: 'turbidity' }]
|
|
113
118
|
}] } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL3NreS9za3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFbkMsU0FBUyxpQkFBaUIsQ0FBQyxXQUFtQixFQUFFLE9BQWUsRUFBRSxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO0lBQzVGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDNUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFMUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFekIsT0FBTyxNQUFNLENBQUM7QUFDZixDQUFDO0FBdUNELE1BQU0sT0FBTyxPQUFPO0lBaEJwQjtRQWlCUyxXQUFNLEdBQUcsV0FBVyxDQUFlO1lBQzFDLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLE9BQU8sRUFBRSxHQUFHO1lBQ1osUUFBUSxFQUFF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QUFDO29CQUNWLFFBQVEsRUFBRSxVQUFVO29CQUNwQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7RUFTVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNqQzs4QkFZUyxNQUFNO3NCQUFkLEtBQUs7Z0JBRTRCLFNBQVM7c0JBQTFDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO2dCQUlTLFlBQVk7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFO2dCQUlNLFlBQVk7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFO2dCQUlFLFFBQVE7c0JBQXhDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO2dCQUlhLGVBQWU7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSU8sZ0JBQWdCO3NCQUF4RCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFO2dCQUlELFNBQVM7c0JBQTFDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO2dCQUlPLFVBQVU7c0JBQTVDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgQ29tcG9uZW50LCBJbnB1dCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIGluamVjdE5ndFJlZiwgc2lnbmFsU3RvcmUsIHR5cGUgTmd0TWVzaCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgU2t5IH0gZnJvbSAndGhyZWUtc3RkbGliJztcblxuZnVuY3Rpb24gY2FsY1Bvc0Zyb21BbmdsZXMoaW5jbGluYXRpb246IG51bWJlciwgYXppbXV0aDogbnVtYmVyLCB2ZWN0b3IgPSBuZXcgVEhSRUUuVmVjdG9yMygpKSB7XG5cdGNvbnN0IHRoZXRhID0gTWF0aC5QSSAqIChpbmNsaW5hdGlvbiAtIDAuNSk7XG5cdGNvbnN0IHBoaSA9IDIgKiBNYXRoLlBJICogKGF6aW11dGggLSAwLjUpO1xuXG5cdHZlY3Rvci54ID0gTWF0aC5jb3MocGhpKTtcblx0dmVjdG9yLnkgPSBNYXRoLnNpbih0aGV0YSk7XG5cdHZlY3Rvci56ID0gTWF0aC5zaW4ocGhpKTtcblxuXHRyZXR1cm4gdmVjdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNTa3lTdGF0ZSB7XG5cdGRpc3RhbmNlOiBudW1iZXI7XG5cdHN1blBvc2l0aW9uOiBUSFJFRS5WZWN0b3IzIHwgUGFyYW1ldGVyczxUSFJFRS5WZWN0b3IzWydzZXQnXT47XG5cdGluY2xpbmF0aW9uOiBudW1iZXI7XG5cdGF6aW11dGg6IG51bWJlcjtcblx0bWllQ29lZmZpY2llbnQ6IG51bWJlcjtcblx0bWllRGlyZWN0aW9uYWxHOiBudW1iZXI7XG5cdHJheWxlaWdoOiBudW1iZXI7XG5cdHR1cmJpZGl0eTogbnVtYmVyO1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuXHRcdC8qKlxuXHRcdCAqIEBleHRlbmRzIHRocmVlLXN0ZGxpYnxTa3lcblx0XHQgKiBAZXh0ZW5kcyBuZ3QtbWVzaFxuXHRcdCAqL1xuXHRcdCduZ3RzLXNreSc6IE5ndHNTa3lTdGF0ZSAmIFNreSAmIE5ndE1lc2g7XG5cdH1cbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1za3knLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW3NreV1cIiBbcmVmXT1cInNreVJlZlwiIFtzY2FsZV09XCJzY2FsZSgpXCIgbmd0Q29tcG91bmQ+XG5cdFx0XHQ8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJtaWVDb2VmZmljaWVudCgpXCIgYXR0YWNoPVwibWF0ZXJpYWwudW5pZm9ybXMubWllQ29lZmZpY2llbnQudmFsdWVcIiAvPlxuXHRcdFx0PG5ndC12YWx1ZSBbcmF3VmFsdWVdPVwibWllRGlyZWN0aW9uYWxHKClcIiBhdHRhY2g9XCJtYXRlcmlhbC51bmlmb3Jtcy5taWVEaXJlY3Rpb25hbEcudmFsdWVcIiAvPlxuXHRcdFx0PG5ndC12YWx1ZSBbcmF3VmFsdWVdPVwicmF5bGVpZ2goKVwiIGF0dGFjaD1cIm1hdGVyaWFsLnVuaWZvcm1zLnJheWxlaWdoLnZhbHVlXCIgLz5cblx0XHRcdDxuZ3QtdmFsdWUgW3Jhd1ZhbHVlXT1cInN1blBvc2l0aW9uKClcIiBhdHRhY2g9XCJtYXRlcmlhbC51bmlmb3Jtcy5zdW5Qb3NpdGlvbi52YWx1ZVwiIC8+XG5cdFx0XHQ8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJ0dXJiaWRpdHkoKVwiIGF0dGFjaD1cIm1hdGVyaWFsLnVuaWZvcm1zLnR1cmJpZGl0eS52YWx1ZVwiIC8+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LXByaW1pdGl2ZT5cblx0YCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNTa3kge1xuXHRwcml2YXRlIGlucHV0cyA9IHNpZ25hbFN0b3JlPE5ndHNTa3lTdGF0ZT4oe1xuXHRcdGluY2xpbmF0aW9uOiAwLjYsXG5cdFx0YXppbXV0aDogMC4xLFxuXHRcdGRpc3RhbmNlOiAxMDAwLFxuXHRcdG1pZUNvZWZmaWNpZW50OiAwLjAwNSxcblx0XHRtaWVEaXJlY3Rpb25hbEc6IDAuOCxcblx0XHRyYXlsZWlnaDogMC41LFxuXHRcdHR1cmJpZGl0eTogMTAsXG5cdH0pO1xuXG5cdEBJbnB1dCgpIHNreVJlZiA9IGluamVjdE5ndFJlZjxTa3k+KCk7XG5cblx0QElucHV0KHsgYWxpYXM6ICdkaXN0YW5jZScgfSkgc2V0IF9kaXN0YW5jZShkaXN0YW5jZTogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZGlzdGFuY2UgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ3N1blBvc2l0aW9uJyB9KSBzZXQgX3N1blBvc2l0aW9uKHN1blBvc2l0aW9uOiBUSFJFRS5WZWN0b3IzIHwgUGFyYW1ldGVyczxUSFJFRS5WZWN0b3IzWydzZXQnXT4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBzdW5Qb3NpdGlvbiB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnaW5jbGluYXRpb24nIH0pIHNldCBfaW5jbGluYXRpb24oaW5jbGluYXRpb246IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGluY2xpbmF0aW9uIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdhemltdXRoJyB9KSBzZXQgX2F6aW11dGgoYXppbXV0aDogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgYXppbXV0aCB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnbWllQ29lZmZpY2llbnQnIH0pIHNldCBfbWllQ29lZmZpY2llbnQobWllQ29lZmZpY2llbnQ6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IG1pZUNvZWZmaWNpZW50IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdtaWVEaXJlY3Rpb25hbEcnIH0pIHNldCBfbWllRGlyZWN0aW9uYWxHKG1pZURpcmVjdGlvbmFsRzogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgbWllRGlyZWN0aW9uYWxHIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdyYXlsZWlnaCcgfSkgc2V0IF9yYXlsZWlnaChyYXlsZWlnaDogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgcmF5bGVpZ2ggfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ3R1cmJpZGl0eScgfSkgc2V0IF90dXJiaWRpdHkodHVyYmlkaXR5OiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyB0dXJiaWRpdHkgfSk7XG5cdH1cblxuXHRwcml2YXRlIGluY2xpbmF0aW9uID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdpbmNsaW5hdGlvbicpO1xuXHRwcml2YXRlIGF6aW11dGggPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2F6aW11dGgnKTtcblx0cHJpdmF0ZSBzdW5Qb3MgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ3N1blBvc2l0aW9uJyk7XG5cdHByaXZhdGUgZGlzdGFuY2UgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2Rpc3RhbmNlJyk7XG5cblx0c3VuUG9zaXRpb24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLnN1blBvcygpIHx8IGNhbGNQb3NGcm9tQW5nbGVzKHRoaXMuaW5jbGluYXRpb24oKSwgdGhpcy5hemltdXRoKCkpKTtcblx0c2NhbGUgPSBjb21wdXRlZCgoKSA9PiBuZXcgVEhSRUUuVmVjdG9yMygpLnNldFNjYWxhcih0aGlzLmRpc3RhbmNlKCkpKTtcblx0bWllQ29lZmZpY2llbnQgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ21pZUNvZWZmaWNpZW50Jyk7XG5cdG1pZURpcmVjdGlvbmFsRyA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnbWllRGlyZWN0aW9uYWxHJyk7XG5cdHJheWxlaWdoID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdyYXlsZWlnaCcpO1xuXHR0dXJiaWRpdHkgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ3R1cmJpZGl0eScpO1xuXG5cdHNreSA9IG5ldyBTa3koKTtcbn1cbiJdfQ==
|