angular-three-soba 1.13.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstractions/lib/billboard/billboard.d.ts +1 -1
- package/abstractions/lib/catmull-rom-line/catmull-rom-line.d.ts +1 -1
- package/abstractions/lib/cubic-bezier-line/cubic-bezier-line.d.ts +1 -1
- package/abstractions/lib/edges/edges.d.ts +2 -2
- package/abstractions/lib/gizmo-helper/gizmo-helper.d.ts +1 -1
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +1 -1
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +2 -2
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.d.ts +1 -1
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +1 -1
- package/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +2 -2
- package/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +1 -1
- package/abstractions/lib/line/line-input.d.ts +1 -1
- package/abstractions/lib/line/line.d.ts +1 -1
- package/abstractions/lib/quadratic-bezier-line/quadratic-bezier-line.d.ts +1 -1
- package/abstractions/lib/text/text.d.ts +1 -1
- package/abstractions/lib/text-3d/text-3d.d.ts +1 -1
- package/cameras/lib/camera/camera-content.d.ts +1 -1
- package/cameras/lib/camera/camera.d.ts +1 -1
- package/cameras/lib/cube-camera/cube-camera.d.ts +1 -1
- package/cameras/lib/orthographic-camera/orthographic-camera.d.ts +1 -1
- package/controls/lib/orbit-controls/orbit-controls.d.ts +1 -1
- package/esm2022/abstractions/lib/billboard/billboard.mjs +74 -0
- package/esm2022/abstractions/lib/catmull-rom-line/catmull-rom-line.mjs +120 -0
- package/esm2022/abstractions/lib/cubic-bezier-line/cubic-bezier-line.mjs +99 -0
- package/esm2022/abstractions/lib/edges/edges.mjs +96 -0
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-helper.mjs +213 -0
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +92 -0
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +184 -0
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +46 -0
- package/{esm2020 → esm2022}/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +8 -7
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +195 -0
- package/{esm2020 → esm2022}/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +8 -7
- package/esm2022/abstractions/lib/line/line-input.mjs +76 -0
- package/esm2022/abstractions/lib/line/line.mjs +133 -0
- package/esm2022/abstractions/lib/quadratic-bezier-line/quadratic-bezier-line.mjs +128 -0
- package/esm2022/abstractions/lib/text/text.mjs +115 -0
- package/esm2022/abstractions/lib/text-3d/text-3d.mjs +145 -0
- package/esm2022/cameras/lib/camera/camera-content.mjs +21 -0
- package/esm2022/cameras/lib/camera/camera.mjs +75 -0
- package/esm2022/cameras/lib/cube-camera/cube-camera.mjs +131 -0
- package/esm2022/cameras/lib/orthographic-camera/orthographic-camera.mjs +93 -0
- package/{esm2020 → esm2022}/cameras/lib/perspective-camera/perspective-camera.mjs +8 -7
- package/esm2022/controls/lib/orbit-controls/orbit-controls.mjs +147 -0
- package/{esm2020 → esm2022}/loaders/lib/cube-texture-loader/cube-texture-loader.mjs +3 -3
- package/esm2022/loaders/lib/loader/loader.mjs +134 -0
- package/esm2022/materials/lib/mesh-distort-material/mesh-distort-material.mjs +75 -0
- package/esm2022/materials/lib/mesh-reflector-material/mesh-reflector-material.mjs +328 -0
- package/esm2022/materials/lib/mesh-refraction-material/mesh-refraction-material.mjs +158 -0
- package/esm2022/materials/lib/mesh-transmission-material/mesh-transmission-material.mjs +238 -0
- package/esm2022/materials/lib/mesh-wobble-material/mesh-wobble-material.mjs +68 -0
- package/esm2022/misc/lib/bake-shadows/bake-shadows.mjs +26 -0
- package/esm2022/performance/lib/adaptive/adaptive-dpr.mjs +47 -0
- package/esm2022/performance/lib/adaptive/adaptive-events.mjs +37 -0
- package/esm2022/performance/lib/detailed/detailed.mjs +54 -0
- package/esm2022/performance/lib/stats/stats.mjs +80 -0
- package/esm2022/shaders/lib/blur-pass/blur-pass.mjs +61 -0
- package/esm2022/staging/lib/accumulative-shadows/accumulative-shadows.mjs +249 -0
- package/esm2022/staging/lib/accumulative-shadows/randomized-lights.mjs +201 -0
- package/{esm2020 → esm2022}/staging/lib/bounds/bounds.mjs +8 -7
- package/esm2022/staging/lib/camera-shake/camera-shake.mjs +122 -0
- package/esm2022/staging/lib/caustics/caustics.mjs +364 -0
- package/esm2022/staging/lib/center/center.mjs +143 -0
- package/esm2022/staging/lib/cloud/cloud.mjs +160 -0
- package/esm2022/staging/lib/contact-shadows/contact-shadows.mjs +228 -0
- package/esm2022/staging/lib/environment/environment-cube.mjs +41 -0
- package/esm2022/staging/lib/environment/environment-ground.mjs +67 -0
- package/esm2022/staging/lib/environment/environment-inputs.mjs +87 -0
- package/esm2022/staging/lib/environment/environment-map.mjs +39 -0
- package/esm2022/staging/lib/environment/environment-portal.mjs +111 -0
- package/{esm2020 → esm2022}/staging/lib/environment/environment.mjs +13 -11
- package/esm2022/staging/lib/float/float.mjs +77 -0
- package/esm2022/staging/lib/sky/sky.mjs +109 -0
- package/esm2022/staging/lib/sparkles/sparkles.mjs +210 -0
- package/esm2022/staging/lib/spot-light/shadow-mesh-input.mjs +51 -0
- package/esm2022/staging/lib/spot-light/spot-light-input.mjs +62 -0
- package/esm2022/staging/lib/spot-light/spot-light-shadow-no-shader.mjs +74 -0
- package/esm2022/staging/lib/spot-light/spot-light-shadow-shader.mjs +126 -0
- package/{esm2020 → esm2022}/staging/lib/spot-light/spot-light-shadow.mjs +8 -7
- package/esm2022/staging/lib/spot-light/spot-light.mjs +117 -0
- package/esm2022/staging/lib/spot-light/volumetric-mesh.mjs +86 -0
- package/{esm2020 → esm2022}/staging/lib/stage/stage.mjs +13 -11
- package/esm2022/staging/lib/stars/stars.mjs +140 -0
- package/{fesm2020 → fesm2022}/angular-three-soba-abstractions.mjs +89 -89
- package/{fesm2015 → fesm2022}/angular-three-soba-abstractions.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/angular-three-soba-cameras.mjs +21 -21
- package/{fesm2015 → fesm2022}/angular-three-soba-cameras.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/angular-three-soba-controls.mjs +5 -5
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/angular-three-soba-loaders.mjs +7 -7
- package/{fesm2020 → fesm2022}/angular-three-soba-loaders.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/angular-three-soba-materials.mjs +25 -25
- package/{fesm2020 → fesm2022}/angular-three-soba-materials.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/angular-three-soba-misc.mjs +3 -3
- package/{fesm2020 → fesm2022}/angular-three-soba-misc.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/angular-three-soba-performance.mjs +14 -14
- package/{fesm2020 → fesm2022}/angular-three-soba-performance.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/angular-three-soba-shaders.mjs +2 -2
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/angular-three-soba-staging.mjs +139 -139
- package/{fesm2020 → fesm2022}/angular-three-soba-staging.mjs.map +1 -1
- package/loaders/lib/loader/loader.d.ts +1 -1
- package/materials/lib/mesh-distort-material/mesh-distort-material.d.ts +1 -1
- package/materials/lib/mesh-reflector-material/mesh-reflector-material.d.ts +1 -1
- package/materials/lib/mesh-refraction-material/mesh-refraction-material.d.ts +1 -1
- package/materials/lib/mesh-transmission-material/mesh-transmission-material.d.ts +1 -1
- package/materials/lib/mesh-wobble-material/mesh-wobble-material.d.ts +1 -1
- package/package.json +43 -68
- package/performance/lib/adaptive/adaptive-dpr.d.ts +1 -1
- package/performance/lib/detailed/detailed.d.ts +1 -1
- package/performance/lib/stats/stats.d.ts +1 -1
- package/plugin/package.json +1 -1
- package/plugin/src/generators/init/compat.js +1 -1
- package/plugin/src/generators/init/compat.js.map +1 -1
- package/plugin/src/generators/init/init.d.ts +1 -1
- package/plugin/src/generators/init/init.js +1 -1
- package/plugin/src/generators/init/init.js.map +1 -1
- package/staging/lib/accumulative-shadows/accumulative-shadows.d.ts +2 -2
- package/staging/lib/accumulative-shadows/randomized-lights.d.ts +1 -1
- package/staging/lib/bounds/bounds.d.ts +1 -1
- package/staging/lib/camera-shake/camera-shake.d.ts +1 -1
- package/staging/lib/caustics/caustics.d.ts +2 -2
- package/staging/lib/center/center.d.ts +1 -1
- package/staging/lib/cloud/cloud.d.ts +1 -1
- package/staging/lib/contact-shadows/contact-shadows.d.ts +1 -1
- package/staging/lib/environment/environment-inputs.d.ts +1 -1
- package/staging/lib/float/float.d.ts +1 -1
- package/staging/lib/sky/sky.d.ts +1 -1
- package/staging/lib/sparkles/sparkles.d.ts +2 -2
- package/staging/lib/spot-light/shadow-mesh-input.d.ts +1 -1
- package/staging/lib/spot-light/spot-light-input.d.ts +1 -1
- package/staging/lib/spot-light/spot-light-shadow-no-shader.d.ts +1 -1
- package/staging/lib/spot-light/spot-light-shadow-shader.d.ts +1 -1
- package/staging/lib/spot-light/spot-light.d.ts +1 -1
- package/staging/lib/spot-light/volumetric-mesh.d.ts +1 -1
- package/staging/lib/stage/stage.d.ts +2 -2
- package/staging/lib/stars/stars.d.ts +2 -2
- package/esm2020/abstractions/lib/billboard/billboard.mjs +0 -73
- package/esm2020/abstractions/lib/catmull-rom-line/catmull-rom-line.mjs +0 -119
- package/esm2020/abstractions/lib/cubic-bezier-line/cubic-bezier-line.mjs +0 -98
- package/esm2020/abstractions/lib/edges/edges.mjs +0 -95
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-helper.mjs +0 -211
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -91
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -182
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +0 -45
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -193
- package/esm2020/abstractions/lib/line/line-input.mjs +0 -75
- package/esm2020/abstractions/lib/line/line.mjs +0 -132
- package/esm2020/abstractions/lib/quadratic-bezier-line/quadratic-bezier-line.mjs +0 -127
- package/esm2020/abstractions/lib/text/text.mjs +0 -114
- package/esm2020/abstractions/lib/text-3d/text-3d.mjs +0 -144
- package/esm2020/cameras/lib/camera/camera-content.mjs +0 -20
- package/esm2020/cameras/lib/camera/camera.mjs +0 -74
- package/esm2020/cameras/lib/cube-camera/cube-camera.mjs +0 -130
- package/esm2020/cameras/lib/orthographic-camera/orthographic-camera.mjs +0 -92
- package/esm2020/controls/lib/orbit-controls/orbit-controls.mjs +0 -146
- package/esm2020/loaders/lib/loader/loader.mjs +0 -133
- package/esm2020/materials/lib/mesh-distort-material/mesh-distort-material.mjs +0 -74
- package/esm2020/materials/lib/mesh-reflector-material/mesh-reflector-material.mjs +0 -327
- package/esm2020/materials/lib/mesh-refraction-material/mesh-refraction-material.mjs +0 -157
- package/esm2020/materials/lib/mesh-transmission-material/mesh-transmission-material.mjs +0 -237
- package/esm2020/materials/lib/mesh-wobble-material/mesh-wobble-material.mjs +0 -67
- package/esm2020/misc/lib/bake-shadows/bake-shadows.mjs +0 -25
- package/esm2020/performance/lib/adaptive/adaptive-dpr.mjs +0 -46
- package/esm2020/performance/lib/adaptive/adaptive-events.mjs +0 -36
- package/esm2020/performance/lib/detailed/detailed.mjs +0 -53
- package/esm2020/performance/lib/stats/stats.mjs +0 -79
- package/esm2020/shaders/lib/blur-pass/blur-pass.mjs +0 -61
- package/esm2020/staging/lib/accumulative-shadows/accumulative-shadows.mjs +0 -247
- package/esm2020/staging/lib/accumulative-shadows/randomized-lights.mjs +0 -199
- package/esm2020/staging/lib/camera-shake/camera-shake.mjs +0 -121
- package/esm2020/staging/lib/caustics/caustics.mjs +0 -363
- package/esm2020/staging/lib/center/center.mjs +0 -142
- package/esm2020/staging/lib/cloud/cloud.mjs +0 -159
- package/esm2020/staging/lib/contact-shadows/contact-shadows.mjs +0 -227
- package/esm2020/staging/lib/environment/environment-cube.mjs +0 -40
- package/esm2020/staging/lib/environment/environment-ground.mjs +0 -66
- package/esm2020/staging/lib/environment/environment-inputs.mjs +0 -86
- package/esm2020/staging/lib/environment/environment-map.mjs +0 -38
- package/esm2020/staging/lib/environment/environment-portal.mjs +0 -110
- package/esm2020/staging/lib/float/float.mjs +0 -76
- package/esm2020/staging/lib/sky/sky.mjs +0 -108
- package/esm2020/staging/lib/sparkles/sparkles.mjs +0 -209
- package/esm2020/staging/lib/spot-light/shadow-mesh-input.mjs +0 -50
- package/esm2020/staging/lib/spot-light/spot-light-input.mjs +0 -61
- package/esm2020/staging/lib/spot-light/spot-light-shadow-no-shader.mjs +0 -73
- package/esm2020/staging/lib/spot-light/spot-light-shadow-shader.mjs +0 -125
- package/esm2020/staging/lib/spot-light/spot-light.mjs +0 -116
- package/esm2020/staging/lib/spot-light/volumetric-mesh.mjs +0 -85
- package/esm2020/staging/lib/stars/stars.mjs +0 -139
- package/fesm2015/angular-three-soba-abstractions.mjs +0 -2048
- package/fesm2015/angular-three-soba-controls.mjs +0 -153
- package/fesm2015/angular-three-soba-controls.mjs.map +0 -1
- package/fesm2015/angular-three-soba-loaders.mjs +0 -229
- package/fesm2015/angular-three-soba-loaders.mjs.map +0 -1
- package/fesm2015/angular-three-soba-materials.mjs +0 -851
- package/fesm2015/angular-three-soba-materials.mjs.map +0 -1
- package/fesm2015/angular-three-soba-misc.mjs +0 -148
- package/fesm2015/angular-three-soba-misc.mjs.map +0 -1
- package/fesm2015/angular-three-soba-performance.mjs +0 -210
- package/fesm2015/angular-three-soba-performance.mjs.map +0 -1
- package/fesm2015/angular-three-soba-shaders.mjs +0 -1239
- package/fesm2015/angular-three-soba-shaders.mjs.map +0 -1
- package/fesm2015/angular-three-soba-staging.mjs +0 -3772
- package/fesm2015/angular-three-soba-staging.mjs.map +0 -1
- package/fesm2020/angular-three-soba-abstractions.mjs.map +0 -1
- package/fesm2020/angular-three-soba-cameras.mjs +0 -347
- package/fesm2020/angular-three-soba-cameras.mjs.map +0 -1
- package/fesm2020/angular-three-soba-controls.mjs.map +0 -1
- package/fesm2020/angular-three-soba-shaders.mjs.map +0 -1
- package/fesm2020/angular-three-soba.mjs +0 -6
- package/fesm2020/angular-three-soba.mjs.map +0 -1
- /package/{esm2020 → esm2022}/abstractions/angular-three-soba-abstractions.mjs +0 -0
- /package/{esm2020 → esm2022}/abstractions/index.mjs +0 -0
- /package/{esm2020 → esm2022}/abstractions/lib/gizmo-helper/gizmo-viewcube/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/angular-three-soba.mjs +0 -0
- /package/{esm2020 → esm2022}/cameras/angular-three-soba-cameras.mjs +0 -0
- /package/{esm2020 → esm2022}/cameras/index.mjs +0 -0
- /package/{esm2020 → esm2022}/controls/angular-three-soba-controls.mjs +0 -0
- /package/{esm2020 → esm2022}/controls/index.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/loaders/angular-three-soba-loaders.mjs +0 -0
- /package/{esm2020 → esm2022}/loaders/index.mjs +0 -0
- /package/{esm2020 → esm2022}/loaders/lib/gltf-loader/gltf-loader.mjs +0 -0
- /package/{esm2020 → esm2022}/loaders/lib/progress/progress.mjs +0 -0
- /package/{esm2020 → esm2022}/loaders/lib/texture-loader/texture-loader.mjs +0 -0
- /package/{esm2020 → esm2022}/materials/angular-three-soba-materials.mjs +0 -0
- /package/{esm2020 → esm2022}/materials/index.mjs +0 -0
- /package/{esm2020 → esm2022}/misc/angular-three-soba-misc.mjs +0 -0
- /package/{esm2020 → esm2022}/misc/index.mjs +0 -0
- /package/{esm2020 → esm2022}/misc/lib/animations/animations.mjs +0 -0
- /package/{esm2020 → esm2022}/misc/lib/depth-buffer/depth-buffer.mjs +0 -0
- /package/{esm2020 → esm2022}/misc/lib/fbo/fbo.mjs +0 -0
- /package/{esm2020 → esm2022}/performance/angular-three-soba-performance.mjs +0 -0
- /package/{esm2020 → esm2022}/performance/index.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/angular-three-soba-shaders.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/index.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/caustics-material/caustics-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/caustics-projection-material/caustics-projection-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/convolution-material/convolution-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/discard-material/discard-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/mesh-distort-material/mesh-distort-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/mesh-reflector-material/mesh-reflector-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/mesh-refraction-material/mesh-refraction-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/mesh-transmission-material/mesh-transmission-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/mesh-wobble-material/mesh-wobble-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/shader-material/shader-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/soft-shadow-material/soft-shadow-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/spot-light-material/spot-light-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/star-field-material/star-field-material.mjs +0 -0
- /package/{esm2020 → esm2022}/staging/angular-three-soba-staging.mjs +0 -0
- /package/{esm2020 → esm2022}/staging/index.mjs +0 -0
- /package/{esm2020 → esm2022}/staging/lib/accumulative-shadows/progressive-light-map.mjs +0 -0
- /package/{esm2020 → esm2022}/staging/lib/environment/assets.mjs +0 -0
- /package/{esm2020 → esm2022}/staging/lib/environment/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/staging/lib/spot-light/common.mjs +0 -0
- /package/{fesm2015 → fesm2022}/angular-three-soba.mjs +0 -0
- /package/{fesm2015 → fesm2022}/angular-three-soba.mjs.map +0 -0
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { startWithUndefined } from 'angular-three';
|
|
3
|
-
import { combineLatest, startWith } from 'rxjs';
|
|
4
|
-
import { NgtsEnvironmentInputs } from './environment-inputs';
|
|
5
|
-
import { injectNgtsEnvironment, setEnvProps } from './utils';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class NgtsEnvironmentCube extends NgtsEnvironmentInputs {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.textureRef = injectNgtsEnvironment((params) => this.select().pipe(startWith(params)));
|
|
11
|
-
}
|
|
12
|
-
initialize() {
|
|
13
|
-
super.initialize();
|
|
14
|
-
this.set({ background: false });
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
this.setEnvProps();
|
|
18
|
-
}
|
|
19
|
-
setEnvProps() {
|
|
20
|
-
this.effect(combineLatest([
|
|
21
|
-
this.store.select('scene'),
|
|
22
|
-
this.select('scene').pipe(startWithUndefined()),
|
|
23
|
-
this.select('background'),
|
|
24
|
-
this.select('blur').pipe(startWithUndefined()),
|
|
25
|
-
this.textureRef.$,
|
|
26
|
-
]), ([defaultScene, scene, background, blur, texture]) => {
|
|
27
|
-
return setEnvProps(background, scene, defaultScene, texture, blur);
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
NgtsEnvironmentCube.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsEnvironmentCube, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
32
|
-
NgtsEnvironmentCube.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: NgtsEnvironmentCube, isStandalone: true, selector: "ngts-environment-cube", usesInheritance: true, ngImport: i0 });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsEnvironmentCube, decorators: [{
|
|
34
|
-
type: Directive,
|
|
35
|
-
args: [{
|
|
36
|
-
selector: 'ngts-environment-cube',
|
|
37
|
-
standalone: true,
|
|
38
|
-
}]
|
|
39
|
-
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtY3ViZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci10aHJlZS1zb2JhL3N0YWdpbmcvc3JjL2xpYi9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC1jdWJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBTTdELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxxQkFBcUI7SUFKOUQ7O1FBS2EsZUFBVSxHQUFHLHFCQUFxQixDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7S0F5QmxHO0lBdkJZLFVBQVU7UUFDZixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxXQUFXO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FDUCxhQUFhLENBQUM7WUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNwQixDQUFDLEVBQ0YsQ0FBQyxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ2pELE9BQU8sV0FBVyxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7O2dIQXpCUSxtQkFBbUI7b0dBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzdGFydFdpdGhVbmRlZmluZWQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmd0c0Vudmlyb25tZW50SW5wdXRzIH0gZnJvbSAnLi9lbnZpcm9ubWVudC1pbnB1dHMnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0c0Vudmlyb25tZW50LCBzZXRFbnZQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ25ndHMtZW52aXJvbm1lbnQtY3ViZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0Vudmlyb25tZW50Q3ViZSBleHRlbmRzIE5ndHNFbnZpcm9ubWVudElucHV0cyBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcmVhZG9ubHkgdGV4dHVyZVJlZiA9IGluamVjdE5ndHNFbnZpcm9ubWVudCgocGFyYW1zKSA9PiB0aGlzLnNlbGVjdCgpLnBpcGUoc3RhcnRXaXRoKHBhcmFtcykpKTtcblxuICAgIG92ZXJyaWRlIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5zZXQoeyBiYWNrZ3JvdW5kOiBmYWxzZSB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zZXRFbnZQcm9wcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RW52UHJvcHMoKSB7XG4gICAgICAgIHRoaXMuZWZmZWN0KFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ3NjZW5lJyksXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ3NjZW5lJykucGlwZShzdGFydFdpdGhVbmRlZmluZWQoKSksXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ2JhY2tncm91bmQnKSxcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgnYmx1cicpLnBpcGUoc3RhcnRXaXRoVW5kZWZpbmVkKCkpLFxuICAgICAgICAgICAgICAgIHRoaXMudGV4dHVyZVJlZi4kLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAoW2RlZmF1bHRTY2VuZSwgc2NlbmUsIGJhY2tncm91bmQsIGJsdXIsIHRleHR1cmVdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNldEVudlByb3BzKGJhY2tncm91bmQsIHNjZW5lLCBkZWZhdWx0U2NlbmUsIHRleHR1cmUsIGJsdXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
3
|
-
import { extend, NgtArgs, startWithUndefined } from 'angular-three';
|
|
4
|
-
import { combineLatest, map, startWith } from 'rxjs';
|
|
5
|
-
import { GroundProjectedEnv } from 'three-stdlib';
|
|
6
|
-
import { NgtsEnvironmentInputs } from './environment-inputs';
|
|
7
|
-
import { NgtsEnvironmentMap } from './environment-map';
|
|
8
|
-
import { injectNgtsEnvironment } from './utils';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
extend({ GroundProjectedEnv });
|
|
11
|
-
export class NgtsEnvironmentGround extends NgtsEnvironmentInputs {
|
|
12
|
-
constructor() {
|
|
13
|
-
super(...arguments);
|
|
14
|
-
this.defaultTexture = injectNgtsEnvironment((params) => this.select().pipe(startWith(params)));
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
this.connect('texture', combineLatest([this.select('map').pipe(startWithUndefined()), this.defaultTexture.$]).pipe(map(([map, texture]) => map || texture)));
|
|
18
|
-
this.connect('groundArgs', this.select('texture').pipe(map((texture) => [texture])));
|
|
19
|
-
this.connect('groundHeight', this.select(['ground'], ({ ground }) => ground?.height));
|
|
20
|
-
this.connect('groundRadius', this.select(['ground'], ({ ground }) => ground?.radius));
|
|
21
|
-
this.connect('groundScale', this.select(['ground'], ({ ground }) => ground?.scale ?? 1000));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
NgtsEnvironmentGround.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsEnvironmentGround, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
NgtsEnvironmentGround.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NgtsEnvironmentGround, isStandalone: true, selector: "ngts-environment-ground", usesInheritance: true, ngImport: i0, template: `
|
|
26
|
-
<ngts-environment-map
|
|
27
|
-
[background]="get('background')"
|
|
28
|
-
[blur]="get('blur')"
|
|
29
|
-
[scene]="get('scene')"
|
|
30
|
-
[map]="get('texture')"
|
|
31
|
-
/>
|
|
32
|
-
<ng-container *ngIf="get('groundArgs') as groundArgs">
|
|
33
|
-
<ngt-ground-projected-env
|
|
34
|
-
*args="groundArgs"
|
|
35
|
-
[scale]="get('groundScale')"
|
|
36
|
-
[height]="get('groundHeight')"
|
|
37
|
-
[radius]="get('groundRadius')"
|
|
38
|
-
/>
|
|
39
|
-
</ng-container>
|
|
40
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgtsEnvironmentMap, selector: "ngts-environment-map" }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsEnvironmentGround, decorators: [{
|
|
42
|
-
type: Component,
|
|
43
|
-
args: [{
|
|
44
|
-
selector: 'ngts-environment-ground',
|
|
45
|
-
standalone: true,
|
|
46
|
-
template: `
|
|
47
|
-
<ngts-environment-map
|
|
48
|
-
[background]="get('background')"
|
|
49
|
-
[blur]="get('blur')"
|
|
50
|
-
[scene]="get('scene')"
|
|
51
|
-
[map]="get('texture')"
|
|
52
|
-
/>
|
|
53
|
-
<ng-container *ngIf="get('groundArgs') as groundArgs">
|
|
54
|
-
<ngt-ground-projected-env
|
|
55
|
-
*args="groundArgs"
|
|
56
|
-
[scale]="get('groundScale')"
|
|
57
|
-
[height]="get('groundHeight')"
|
|
58
|
-
[radius]="get('groundRadius')"
|
|
59
|
-
/>
|
|
60
|
-
</ng-container>
|
|
61
|
-
`,
|
|
62
|
-
imports: [NgtsEnvironmentMap, NgtArgs, NgIf],
|
|
63
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
64
|
-
}]
|
|
65
|
-
}] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtZ3JvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlLXNvYmEvc3RhZ2luZy9zcmMvbGliL2Vudmlyb25tZW50L2Vudmlyb25tZW50LWdyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFaEQsTUFBTSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0FBd0IvQixNQUFNLE9BQU8scUJBQXNCLFNBQVEscUJBQXFCO0lBdEJoRTs7UUF1QmEsbUJBQWMsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBdUJ0RztJQXJCRyxRQUFRO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FDUixTQUFTLEVBQ1QsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3RGLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLENBQzFDLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsT0FBTyxDQUNSLGNBQWMsRUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQzFELENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxDQUNSLGNBQWMsRUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQzFELENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxDQUNSLGFBQWEsRUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUNqRSxDQUFDO0lBQ04sQ0FBQzs7a0hBdkJRLHFCQUFxQjtzR0FBckIscUJBQXFCLDBHQW5CcEI7Ozs7Ozs7Ozs7Ozs7OztLQWVULDREQUNTLGtCQUFrQixpRUFBRSxPQUFPLHFFQUFFLElBQUk7MkZBR2xDLHFCQUFxQjtrQkF0QmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7O0tBZVQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kLCBOZ3RBcmdzLCBzdGFydFdpdGhVbmRlZmluZWQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHcm91bmRQcm9qZWN0ZWRFbnYgfSBmcm9tICd0aHJlZS1zdGRsaWInO1xuaW1wb3J0IHsgTmd0c0Vudmlyb25tZW50SW5wdXRzIH0gZnJvbSAnLi9lbnZpcm9ubWVudC1pbnB1dHMnO1xuaW1wb3J0IHsgTmd0c0Vudmlyb25tZW50TWFwIH0gZnJvbSAnLi9lbnZpcm9ubWVudC1tYXAnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0c0Vudmlyb25tZW50IH0gZnJvbSAnLi91dGlscyc7XG5cbmV4dGVuZCh7IEdyb3VuZFByb2plY3RlZEVudiB9KTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWVudmlyb25tZW50LWdyb3VuZCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmd0cy1lbnZpcm9ubWVudC1tYXBcbiAgICAgICAgICAgIFtiYWNrZ3JvdW5kXT1cImdldCgnYmFja2dyb3VuZCcpXCJcbiAgICAgICAgICAgIFtibHVyXT1cImdldCgnYmx1cicpXCJcbiAgICAgICAgICAgIFtzY2VuZV09XCJnZXQoJ3NjZW5lJylcIlxuICAgICAgICAgICAgW21hcF09XCJnZXQoJ3RleHR1cmUnKVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXQoJ2dyb3VuZEFyZ3MnKSBhcyBncm91bmRBcmdzXCI+XG4gICAgICAgICAgICA8bmd0LWdyb3VuZC1wcm9qZWN0ZWQtZW52XG4gICAgICAgICAgICAgICAgKmFyZ3M9XCJncm91bmRBcmdzXCJcbiAgICAgICAgICAgICAgICBbc2NhbGVdPVwiZ2V0KCdncm91bmRTY2FsZScpXCJcbiAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cImdldCgnZ3JvdW5kSGVpZ2h0JylcIlxuICAgICAgICAgICAgICAgIFtyYWRpdXNdPVwiZ2V0KCdncm91bmRSYWRpdXMnKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ3RzRW52aXJvbm1lbnRNYXAsIE5ndEFyZ3MsIE5nSWZdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0Vudmlyb25tZW50R3JvdW5kIGV4dGVuZHMgTmd0c0Vudmlyb25tZW50SW5wdXRzIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICByZWFkb25seSBkZWZhdWx0VGV4dHVyZSA9IGluamVjdE5ndHNFbnZpcm9ubWVudCgocGFyYW1zKSA9PiB0aGlzLnNlbGVjdCgpLnBpcGUoc3RhcnRXaXRoKHBhcmFtcykpKTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNvbm5lY3QoXG4gICAgICAgICAgICAndGV4dHVyZScsXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnNlbGVjdCgnbWFwJykucGlwZShzdGFydFdpdGhVbmRlZmluZWQoKSksIHRoaXMuZGVmYXVsdFRleHR1cmUuJF0pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChbbWFwLCB0ZXh0dXJlXSkgPT4gbWFwIHx8IHRleHR1cmUpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuY29ubmVjdCgnZ3JvdW5kQXJncycsIHRoaXMuc2VsZWN0KCd0ZXh0dXJlJykucGlwZShtYXAoKHRleHR1cmUpID0+IFt0ZXh0dXJlXSkpKTtcbiAgICAgICAgdGhpcy5jb25uZWN0KFxuICAgICAgICAgICAgJ2dyb3VuZEhlaWdodCcsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdChbJ2dyb3VuZCddLCAoeyBncm91bmQgfSkgPT4gZ3JvdW5kPy5oZWlnaHQpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuY29ubmVjdChcbiAgICAgICAgICAgICdncm91bmRSYWRpdXMnLFxuICAgICAgICAgICAgdGhpcy5zZWxlY3QoWydncm91bmQnXSwgKHsgZ3JvdW5kIH0pID0+IGdyb3VuZD8ucmFkaXVzKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmNvbm5lY3QoXG4gICAgICAgICAgICAnZ3JvdW5kU2NhbGUnLFxuICAgICAgICAgICAgdGhpcy5zZWxlY3QoWydncm91bmQnXSwgKHsgZ3JvdW5kIH0pID0+IGdyb3VuZD8uc2NhbGUgPz8gMTAwMClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Directive, inject, Input } from '@angular/core';
|
|
2
|
-
import { NgtRxStore, NgtStore } from 'angular-three';
|
|
3
|
-
import { Texture } from 'three';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class NgtsEnvironmentInputs extends NgtRxStore {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.store = inject(NgtStore);
|
|
9
|
-
}
|
|
10
|
-
set frames(frames) {
|
|
11
|
-
this.set({ frames });
|
|
12
|
-
}
|
|
13
|
-
set near(near) {
|
|
14
|
-
this.set({ near });
|
|
15
|
-
}
|
|
16
|
-
set far(far) {
|
|
17
|
-
this.set({ far });
|
|
18
|
-
}
|
|
19
|
-
set resolution(resolution) {
|
|
20
|
-
this.set({ resolution });
|
|
21
|
-
}
|
|
22
|
-
set background(background) {
|
|
23
|
-
this.set({ background });
|
|
24
|
-
}
|
|
25
|
-
set blur(blur) {
|
|
26
|
-
this.set({ blur });
|
|
27
|
-
}
|
|
28
|
-
set map(map) {
|
|
29
|
-
this.set({ map });
|
|
30
|
-
}
|
|
31
|
-
set files(files) {
|
|
32
|
-
this.set({ files });
|
|
33
|
-
}
|
|
34
|
-
set path(path) {
|
|
35
|
-
this.set({ path });
|
|
36
|
-
}
|
|
37
|
-
set preset(preset) {
|
|
38
|
-
this.set({ preset });
|
|
39
|
-
}
|
|
40
|
-
set scene(scene) {
|
|
41
|
-
this.set({ scene });
|
|
42
|
-
}
|
|
43
|
-
set extensions(extensions) {
|
|
44
|
-
this.set({ extensions });
|
|
45
|
-
}
|
|
46
|
-
set ground(ground) {
|
|
47
|
-
this.set({ ground });
|
|
48
|
-
}
|
|
49
|
-
set encoding(encoding) {
|
|
50
|
-
this.set({ encoding });
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
NgtsEnvironmentInputs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsEnvironmentInputs, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
54
|
-
NgtsEnvironmentInputs.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: NgtsEnvironmentInputs, inputs: { frames: "frames", near: "near", far: "far", resolution: "resolution", background: "background", blur: "blur", map: "map", files: "files", path: "path", preset: "preset", scene: "scene", extensions: "extensions", ground: "ground", encoding: "encoding" }, usesInheritance: true, ngImport: i0 });
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsEnvironmentInputs, decorators: [{
|
|
56
|
-
type: Directive
|
|
57
|
-
}], propDecorators: { frames: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], near: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], far: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}], resolution: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}], background: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], blur: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}], map: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], files: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}], path: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}], preset: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}], scene: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], extensions: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], ground: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], encoding: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtaW5wdXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlLXNvYmEvc3RhZ2luZy9zcmMvbGliL2Vudmlyb25tZW50L2Vudmlyb25tZW50LWlucHV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFpQixPQUFPLEVBQW1CLE1BQU0sT0FBTyxDQUFDOztBQUloRSxNQUFNLE9BQWdCLHFCQUFzQixTQUFRLFVBQVU7SUFEOUQ7O1FBRXVCLFVBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FpRS9DO0lBL0RHLElBQWEsTUFBTSxDQUFDLE1BQWM7UUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQWEsSUFBSSxDQUFDLElBQVk7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQWEsR0FBRyxDQUFDLEdBQVc7UUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQWEsVUFBVSxDQUFDLFVBQWtCO1FBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFhLFVBQVUsQ0FBQyxVQUE0QjtRQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBYSxJQUFJLENBQUMsSUFBWTtRQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBYSxHQUFHLENBQUMsR0FBWTtRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBYSxLQUFLLENBQUMsS0FBd0I7UUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQWEsSUFBSSxDQUFDLElBQVk7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQWEsTUFBTSxDQUFDLE1BQWtDO1FBQ2xELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFhLEtBQUssQ0FBQyxLQUFnQztRQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBYSxVQUFVLENBQUMsVUFBb0M7UUFDeEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQWEsTUFBTSxDQUNmLE1BTU87UUFFUCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBYSxRQUFRLENBQUMsUUFBeUI7UUFDM0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7a0hBakVpQixxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUQxQyxTQUFTOzhCQUlPLE1BQU07c0JBQWxCLEtBQUs7Z0JBSU8sSUFBSTtzQkFBaEIsS0FBSztnQkFJTyxHQUFHO3NCQUFmLEtBQUs7Z0JBSU8sVUFBVTtzQkFBdEIsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLO2dCQUlPLElBQUk7c0JBQWhCLEtBQUs7Z0JBSU8sR0FBRztzQkFBZixLQUFLO2dCQUlPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBSU8sSUFBSTtzQkFBaEIsS0FBSztnQkFJTyxNQUFNO3NCQUFsQixLQUFLO2dCQUlPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBSU8sVUFBVTtzQkFBdEIsS0FBSztnQkFJTyxNQUFNO3NCQUFsQixLQUFLO2dCQVlPLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndFJ4U3RvcmUsIE5ndFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBMb2FkZXIsIFNjZW5lLCBUZXh0dXJlLCBUZXh0dXJlRW5jb2RpbmcgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RzRW52aXJvbm1lbnRQcmVzZXRzVHlwZSB9IGZyb20gJy4vYXNzZXRzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmd0c0Vudmlyb25tZW50SW5wdXRzIGV4dGVuZHMgTmd0UnhTdG9yZSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KE5ndFN0b3JlKTtcblxuICAgIEBJbnB1dCgpIHNldCBmcmFtZXMoZnJhbWVzOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBmcmFtZXMgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG5lYXIobmVhcjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbmVhciB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZmFyKGZhcjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZmFyIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCByZXNvbHV0aW9uKHJlc29sdXRpb246IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHJlc29sdXRpb24gfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGJhY2tncm91bmQoYmFja2dyb3VuZDogYm9vbGVhbiB8ICdvbmx5Jykge1xuICAgICAgICB0aGlzLnNldCh7IGJhY2tncm91bmQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGJsdXIoYmx1cjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgYmx1ciB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbWFwKG1hcDogVGV4dHVyZSkge1xuICAgICAgICB0aGlzLnNldCh7IG1hcCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZmlsZXMoZmlsZXM6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZmlsZXMgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHBhdGgocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgcGF0aCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgcHJlc2V0KHByZXNldDogTmd0c0Vudmlyb25tZW50UHJlc2V0c1R5cGUpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBwcmVzZXQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNjZW5lKHNjZW5lOiBTY2VuZSB8IEVsZW1lbnRSZWY8U2NlbmU+KSB7XG4gICAgICAgIHRoaXMuc2V0KHsgc2NlbmUgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGV4dGVuc2lvbnMoZXh0ZW5zaW9uczogKGxvYWRlcjogTG9hZGVyKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZXh0ZW5zaW9ucyB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZ3JvdW5kKFxuICAgICAgICBncm91bmQ6XG4gICAgICAgICAgICB8IGJvb2xlYW5cbiAgICAgICAgICAgIHwge1xuICAgICAgICAgICAgICAgICAgcmFkaXVzPzogbnVtYmVyO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgICAgICAgICAgICAgICAgc2NhbGU/OiBudW1iZXI7XG4gICAgICAgICAgICAgIH1cbiAgICApIHtcbiAgICAgICAgdGhpcy5zZXQoeyBncm91bmQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGVuY29kaW5nKGVuY29kaW5nOiBUZXh0dXJlRW5jb2RpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBlbmNvZGluZyB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { startWithUndefined } from 'angular-three';
|
|
3
|
-
import { combineLatest } from 'rxjs';
|
|
4
|
-
import { NgtsEnvironmentInputs } from './environment-inputs';
|
|
5
|
-
import { setEnvProps } from './utils';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class NgtsEnvironmentMap extends NgtsEnvironmentInputs {
|
|
8
|
-
initialize() {
|
|
9
|
-
super.initialize();
|
|
10
|
-
this.set({ background: false });
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
this.setEnvProps();
|
|
14
|
-
}
|
|
15
|
-
setEnvProps() {
|
|
16
|
-
this.effect(combineLatest([
|
|
17
|
-
this.store.select('scene'),
|
|
18
|
-
this.select('map'),
|
|
19
|
-
this.select('scene').pipe(startWithUndefined()),
|
|
20
|
-
this.select('background'),
|
|
21
|
-
this.select('blur').pipe(startWithUndefined()),
|
|
22
|
-
]), ([defaultScene, map, scene, background, blur]) => {
|
|
23
|
-
if (map) {
|
|
24
|
-
return setEnvProps(background, scene, defaultScene, map, blur);
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
NgtsEnvironmentMap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsEnvironmentMap, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
-
NgtsEnvironmentMap.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: NgtsEnvironmentMap, isStandalone: true, selector: "ngts-environment-map", usesInheritance: true, ngImport: i0 });
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsEnvironmentMap, decorators: [{
|
|
32
|
-
type: Directive,
|
|
33
|
-
args: [{
|
|
34
|
-
selector: 'ngts-environment-map',
|
|
35
|
-
standalone: true,
|
|
36
|
-
}]
|
|
37
|
-
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtbWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlLXNvYmEvc3RhZ2luZy9zcmMvbGliL2Vudmlyb25tZW50L2Vudmlyb25tZW50LW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBTXRDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxxQkFBcUI7SUFDaEQsVUFBVTtRQUNmLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLFdBQVc7UUFDZixJQUFJLENBQUMsTUFBTSxDQUNQLGFBQWEsQ0FBQztZQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDakQsQ0FBQyxFQUNGLENBQUMsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUM3QyxJQUFJLEdBQUcsRUFBRTtnQkFDTCxPQUFPLFdBQVcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDbEU7UUFDTCxDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7OytHQXpCUSxrQkFBa0I7bUdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzdGFydFdpdGhVbmRlZmluZWQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5ndHNFbnZpcm9ubWVudElucHV0cyB9IGZyb20gJy4vZW52aXJvbm1lbnQtaW5wdXRzJztcbmltcG9ydCB7IHNldEVudlByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbmd0cy1lbnZpcm9ubWVudC1tYXAnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNFbnZpcm9ubWVudE1hcCBleHRlbmRzIE5ndHNFbnZpcm9ubWVudElucHV0cyBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgb3ZlcnJpZGUgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgICAgICB0aGlzLnNldCh7IGJhY2tncm91bmQ6IGZhbHNlIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnNldEVudlByb3BzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRFbnZQcm9wcygpIHtcbiAgICAgICAgdGhpcy5lZmZlY3QoXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnc2NlbmUnKSxcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgnbWFwJyksXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ3NjZW5lJykucGlwZShzdGFydFdpdGhVbmRlZmluZWQoKSksXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ2JhY2tncm91bmQnKSxcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgnYmx1cicpLnBpcGUoc3RhcnRXaXRoVW5kZWZpbmVkKCkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAoW2RlZmF1bHRTY2VuZSwgbWFwLCBzY2VuZSwgYmFja2dyb3VuZCwgYmx1cl0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobWFwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZXRFbnZQcm9wcyhiYWNrZ3JvdW5kLCBzY2VuZSwgZGVmYXVsdFNjZW5lLCBtYXAsIGJsdXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
3
|
-
import { extend, injectBeforeRender, injectNgtRef, NgtArgs, NgtPortal, NgtPortalContent, prepare, } from 'angular-three';
|
|
4
|
-
import { combineLatest } from 'rxjs';
|
|
5
|
-
import * as THREE from 'three';
|
|
6
|
-
import { CubeCamera, HalfFloatType } from 'three';
|
|
7
|
-
import { NgtsEnvironmentCube } from './environment-cube';
|
|
8
|
-
import { NgtsEnvironmentInputs } from './environment-inputs';
|
|
9
|
-
import { NgtsEnvironmentMap } from './environment-map';
|
|
10
|
-
import { setEnvProps } from './utils';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
extend({ CubeCamera });
|
|
13
|
-
export class NgtsEnvironmentPortal extends NgtsEnvironmentInputs {
|
|
14
|
-
initialize() {
|
|
15
|
-
super.initialize();
|
|
16
|
-
this.set({ near: 1, far: 1000, resolution: 256, frames: 1, background: false, preset: undefined });
|
|
17
|
-
this.connect('fbo', this.select(['resolution'], ({ resolution }) => {
|
|
18
|
-
const fbo = new THREE.WebGLCubeRenderTarget(resolution);
|
|
19
|
-
fbo.texture.type = HalfFloatType;
|
|
20
|
-
return fbo;
|
|
21
|
-
}));
|
|
22
|
-
this.connect('cameraArgs', this.select(['fbo', 'near', 'far'], ({ near, far, fbo }) => [near, far, fbo]));
|
|
23
|
-
}
|
|
24
|
-
constructor() {
|
|
25
|
-
super();
|
|
26
|
-
this.virtualSceneRef = injectNgtRef(prepare(new THREE.Scene()));
|
|
27
|
-
this.cubeCameraRef = injectNgtRef();
|
|
28
|
-
injectBeforeRender(this.onBeforeRender.bind(this, 1));
|
|
29
|
-
}
|
|
30
|
-
ngOnInit() {
|
|
31
|
-
this.setEnvProps();
|
|
32
|
-
}
|
|
33
|
-
setEnvProps() {
|
|
34
|
-
this.effect(combineLatest([
|
|
35
|
-
this.store.select('gl'),
|
|
36
|
-
this.store.select('scene'),
|
|
37
|
-
this.select('fbo'),
|
|
38
|
-
this.select('scene'),
|
|
39
|
-
this.select('background'),
|
|
40
|
-
this.select('frames'),
|
|
41
|
-
this.select('blur'),
|
|
42
|
-
this.virtualSceneRef.$,
|
|
43
|
-
this.cubeCameraRef.$,
|
|
44
|
-
]), ([gl, defaultScene, fbo, scene, background, frames, blur, virtualScene, camera]) => {
|
|
45
|
-
if (frames === 1)
|
|
46
|
-
camera.update(gl, virtualScene);
|
|
47
|
-
return setEnvProps(background, scene, defaultScene, fbo.texture, blur);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
onBeforeRender(count, { gl }) {
|
|
51
|
-
const { frames } = this.get();
|
|
52
|
-
if (frames === Infinity || count < frames) {
|
|
53
|
-
if (this.cubeCameraRef.nativeElement) {
|
|
54
|
-
this.cubeCameraRef.nativeElement.update(gl, this.virtualSceneRef.nativeElement);
|
|
55
|
-
count++;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
NgtsEnvironmentPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsEnvironmentPortal, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
-
NgtsEnvironmentPortal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NgtsEnvironmentPortal, isStandalone: true, selector: "ngts-environment-portal", usesInheritance: true, ngImport: i0, template: `
|
|
62
|
-
<ngt-portal [container]="virtualSceneRef">
|
|
63
|
-
<ng-template ngtPortalContent>
|
|
64
|
-
<ng-content />
|
|
65
|
-
<ngt-cube-camera *args="get('cameraArgs')" [ref]="cubeCameraRef" />
|
|
66
|
-
<ng-container *ngIf="get('files') || get('preset'); else environmentMap">
|
|
67
|
-
<ngts-environment-cube
|
|
68
|
-
[background]="true"
|
|
69
|
-
[files]="get('files')"
|
|
70
|
-
[preset]="get('preset')"
|
|
71
|
-
[path]="get('path')"
|
|
72
|
-
[extensions]="get('extensions')"
|
|
73
|
-
/>
|
|
74
|
-
</ng-container>
|
|
75
|
-
<ng-template #environmentMap>
|
|
76
|
-
<ngts-environment-map [background]="true" [map]="get('map')" [extensions]="get('extensions')" />
|
|
77
|
-
</ng-template>
|
|
78
|
-
</ng-template>
|
|
79
|
-
</ngt-portal>
|
|
80
|
-
`, isInline: true, dependencies: [{ kind: "component", type: NgtPortal, selector: "ngt-portal", inputs: ["container", "state", "autoRender", "autoRenderPriority"], outputs: ["beforeRender"] }, { kind: "directive", type: NgtPortalContent, selector: "ng-template[ngtPortalContent]" }, { kind: "directive", type: NgtsEnvironmentMap, selector: "ngts-environment-map" }, { kind: "directive", type: NgtsEnvironmentCube, selector: "ngts-environment-cube" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsEnvironmentPortal, decorators: [{
|
|
82
|
-
type: Component,
|
|
83
|
-
args: [{
|
|
84
|
-
selector: 'ngts-environment-portal',
|
|
85
|
-
standalone: true,
|
|
86
|
-
template: `
|
|
87
|
-
<ngt-portal [container]="virtualSceneRef">
|
|
88
|
-
<ng-template ngtPortalContent>
|
|
89
|
-
<ng-content />
|
|
90
|
-
<ngt-cube-camera *args="get('cameraArgs')" [ref]="cubeCameraRef" />
|
|
91
|
-
<ng-container *ngIf="get('files') || get('preset'); else environmentMap">
|
|
92
|
-
<ngts-environment-cube
|
|
93
|
-
[background]="true"
|
|
94
|
-
[files]="get('files')"
|
|
95
|
-
[preset]="get('preset')"
|
|
96
|
-
[path]="get('path')"
|
|
97
|
-
[extensions]="get('extensions')"
|
|
98
|
-
/>
|
|
99
|
-
</ng-container>
|
|
100
|
-
<ng-template #environmentMap>
|
|
101
|
-
<ngts-environment-map [background]="true" [map]="get('map')" [extensions]="get('extensions')" />
|
|
102
|
-
</ng-template>
|
|
103
|
-
</ng-template>
|
|
104
|
-
</ngt-portal>
|
|
105
|
-
`,
|
|
106
|
-
imports: [NgtPortal, NgtPortalContent, NgtsEnvironmentMap, NgtsEnvironmentCube, NgIf, NgtArgs],
|
|
107
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
108
|
-
}]
|
|
109
|
-
}], ctorParameters: function () { return []; } });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtcG9ydGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlLXNvYmEvc3RhZ2luZy9zcmMvbGliL2Vudmlyb25tZW50L2Vudmlyb25tZW50LXBvcnRhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQ0gsTUFBTSxFQUNOLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osT0FBTyxFQUNQLFNBQVMsRUFDVCxnQkFBZ0IsRUFFaEIsT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFdEMsTUFBTSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztBQTRCdkIsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHFCQUFxQjtJQUluRCxVQUFVO1FBQ2YsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdB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Q0FBQztnQkFDaEYsS0FBSyxFQUFFLENBQUM7YUFDWDtTQUNKO0lBQ0wsQ0FBQzs7a0hBMURRLHFCQUFxQjtzR0FBckIscUJBQXFCLDBHQXZCcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FtQlQsNERBQ1MsU0FBUyxzSkFBRSxnQkFBZ0IsMEVBQUUsa0JBQWtCLGlFQUFFLG1CQUFtQixrRUFBRSxJQUFJLDZGQUFFLE9BQU87MkZBR3BGLHFCQUFxQjtrQkExQmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW1CVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQztvQkFDOUYsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBleHRlbmQsXG4gICAgaW5qZWN0QmVmb3JlUmVuZGVyLFxuICAgIGluamVjdE5ndFJlZixcbiAgICBOZ3RBcmdzLFxuICAgIE5ndFBvcnRhbCxcbiAgICBOZ3RQb3J0YWxDb250ZW50LFxuICAgIE5ndFJlbmRlclN0YXRlLFxuICAgIHByZXBhcmUsXG59IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgQ3ViZUNhbWVyYSwgSGFsZkZsb2F0VHlwZSB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndHNFbnZpcm9ubWVudEN1YmUgfSBmcm9tICcuL2Vudmlyb25tZW50LWN1YmUnO1xuaW1wb3J0IHsgTmd0c0Vudmlyb25tZW50SW5wdXRzIH0gZnJvbSAnLi9lbnZpcm9ubWVudC1pbnB1dHMnO1xuaW1wb3J0IHsgTmd0c0Vudmlyb25tZW50TWFwIH0gZnJvbSAnLi9lbnZpcm9ubWVudC1tYXAnO1xuaW1wb3J0IHsgc2V0RW52UHJvcHMgfSBmcm9tICcuL3V0aWxzJztcblxuZXh0ZW5kKHsgQ3ViZUNhbWVyYSB9KTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWVudmlyb25tZW50LXBvcnRhbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmd0LXBvcnRhbCBbY29udGFpbmVyXT1cInZpcnR1YWxTY2VuZVJlZlwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5ndFBvcnRhbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgICAgICAgICA8bmd0LWN1YmUtY2FtZXJhICphcmdzPVwiZ2V0KCdjYW1lcmFBcmdzJylcIiBbcmVmXT1cImN1YmVDYW1lcmFSZWZcIiAvPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXQoJ2ZpbGVzJykgfHwgZ2V0KCdwcmVzZXQnKTsgZWxzZSBlbnZpcm9ubWVudE1hcFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmd0cy1lbnZpcm9ubWVudC1jdWJlXG4gICAgICAgICAgICAgICAgICAgICAgICBbYmFja2dyb3VuZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlc109XCJnZXQoJ2ZpbGVzJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ByZXNldF09XCJnZXQoJ3ByZXNldCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoXT1cImdldCgncGF0aCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtleHRlbnNpb25zXT1cImdldCgnZXh0ZW5zaW9ucycpXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vudmlyb25tZW50TWFwPlxuICAgICAgICAgICAgICAgICAgICA8bmd0cy1lbnZpcm9ubWVudC1tYXAgW2JhY2tncm91bmRdPVwidHJ1ZVwiIFttYXBdPVwiZ2V0KCdtYXAnKVwiIFtleHRlbnNpb25zXT1cImdldCgnZXh0ZW5zaW9ucycpXCIgLz5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZ3QtcG9ydGFsPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05ndFBvcnRhbCwgTmd0UG9ydGFsQ29udGVudCwgTmd0c0Vudmlyb25tZW50TWFwLCBOZ3RzRW52aXJvbm1lbnRDdWJlLCBOZ0lmLCBOZ3RBcmdzXSxcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNFbnZpcm9ubWVudFBvcnRhbCBleHRlbmRzIE5ndHNFbnZpcm9ubWVudElucHV0cyBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcmVhZG9ubHkgdmlydHVhbFNjZW5lUmVmID0gaW5qZWN0Tmd0UmVmPFRIUkVFLlNjZW5lPihwcmVwYXJlKG5ldyBUSFJFRS5TY2VuZSgpKSk7XG4gICAgcmVhZG9ubHkgY3ViZUNhbWVyYVJlZiA9IGluamVjdE5ndFJlZjxUSFJFRS5DdWJlQ2FtZXJhPigpO1xuXG4gICAgb3ZlcnJpZGUgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgICAgICB0aGlzLnNldCh7IG5lYXI6IDEsIGZhcjogMTAwMCwgcmVzb2x1dGlvbjogMjU2LCBmcmFtZXM6IDEsIGJhY2tncm91bmQ6IGZhbHNlLCBwcmVzZXQ6IHVuZGVmaW5lZCB9KTtcbiAgICAgICAgdGhpcy5jb25uZWN0KFxuICAgICAgICAgICAgJ2ZibycsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdChbJ3Jlc29sdXRpb24nXSwgKHsgcmVzb2x1dGlvbiB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmJvID0gbmV3IFRIUkVFLldlYkdMQ3ViZVJlbmRlclRhcmdldChyZXNvbHV0aW9uKTtcbiAgICAgICAgICAgICAgICBmYm8udGV4dHVyZS50eXBlID0gSGFsZkZsb2F0VHlwZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmJvO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jb25uZWN0KFxuICAgICAgICAgICAgJ2NhbWVyYUFyZ3MnLFxuICAgICAgICAgICAgdGhpcy5zZWxlY3QoWydmYm8nLCAnbmVhcicsICdmYXInXSwgKHsgbmVhciwgZmFyLCBmYm8gfSkgPT4gW25lYXIsIGZhciwgZmJvXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgaW5qZWN0QmVmb3JlUmVuZGVyKHRoaXMub25CZWZvcmVSZW5kZXIuYmluZCh0aGlzLCAxKSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RW52UHJvcHMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEVudlByb3BzKCkge1xuICAgICAgICB0aGlzLmVmZmVjdChcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdnbCcpLFxuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdzY2VuZScpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdmYm8nKSxcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgnc2NlbmUnKSxcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgnYmFja2dyb3VuZCcpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdmcmFtZXMnKSxcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgnYmx1cicpLFxuICAgICAgICAgICAgICAgIHRoaXMudmlydHVhbFNjZW5lUmVmLiQsXG4gICAgICAgICAgICAgICAgdGhpcy5jdWJlQ2FtZXJhUmVmLiQsXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIChbZ2wsIGRlZmF1bHRTY2VuZSwgZmJvLCBzY2VuZSwgYmFja2dyb3VuZCwgZnJhbWVzLCBibHVyLCB2aXJ0dWFsU2NlbmUsIGNhbWVyYV0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZnJhbWVzID09PSAxKSBjYW1lcmEudXBkYXRlKGdsLCB2aXJ0dWFsU2NlbmUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBzZXRFbnZQcm9wcyhiYWNrZ3JvdW5kLCBzY2VuZSwgZGVmYXVsdFNjZW5lLCBmYm8udGV4dHVyZSwgYmx1cik7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkJlZm9yZVJlbmRlcihjb3VudDogbnVtYmVyLCB7IGdsIH06IE5ndFJlbmRlclN0YXRlKSB7XG4gICAgICAgIGNvbnN0IHsgZnJhbWVzIH0gPSB0aGlzLmdldCgpO1xuICAgICAgICBpZiAoZnJhbWVzID09PSBJbmZpbml0eSB8fCBjb3VudCA8IGZyYW1lcykge1xuICAgICAgICAgICAgaWYgKHRoaXMuY3ViZUNhbWVyYVJlZi5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdWJlQ2FtZXJhUmVmLm5hdGl2ZUVsZW1lbnQudXBkYXRlKGdsLCB0aGlzLnZpcnR1YWxTY2VuZVJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBjb3VudCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
2
|
-
import { extend, injectBeforeRender, injectNgtRef, NgtRxStore } from 'angular-three';
|
|
3
|
-
import * as THREE from 'three';
|
|
4
|
-
import { Group } from 'three';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
extend({ Group });
|
|
7
|
-
export class NgtsFloat extends NgtRxStore {
|
|
8
|
-
set speed(speed) {
|
|
9
|
-
this.set({ speed });
|
|
10
|
-
}
|
|
11
|
-
set rotationIntensity(rotationIntensity) {
|
|
12
|
-
this.set({ rotationIntensity });
|
|
13
|
-
}
|
|
14
|
-
set floatIntensity(floatIntensity) {
|
|
15
|
-
this.set({ floatIntensity });
|
|
16
|
-
}
|
|
17
|
-
set floatingRange(floatingRange) {
|
|
18
|
-
this.set({ floatingRange });
|
|
19
|
-
}
|
|
20
|
-
initialize() {
|
|
21
|
-
super.initialize();
|
|
22
|
-
this.set({ speed: 1, rotationIntensity: 1, floatIntensity: 1, floatingRange: [-0.1, 0.1] });
|
|
23
|
-
}
|
|
24
|
-
constructor() {
|
|
25
|
-
super();
|
|
26
|
-
this.offset = Math.random() * 10000;
|
|
27
|
-
this.floatRef = injectNgtRef();
|
|
28
|
-
injectBeforeRender(this.onBeforeRender.bind(this));
|
|
29
|
-
}
|
|
30
|
-
onBeforeRender({ clock }) {
|
|
31
|
-
if (!this.floatRef.nativeElement)
|
|
32
|
-
return;
|
|
33
|
-
const { speed, floatingRange, floatIntensity, rotationIntensity } = this.get();
|
|
34
|
-
const t = this.offset + clock.getElapsedTime();
|
|
35
|
-
this.floatRef.nativeElement.rotation.x = (Math.cos((t / 4) * speed) / 8) * rotationIntensity;
|
|
36
|
-
this.floatRef.nativeElement.rotation.y = (Math.sin((t / 4) * speed) / 8) * rotationIntensity;
|
|
37
|
-
this.floatRef.nativeElement.rotation.z = (Math.sin((t / 4) * speed) / 20) * rotationIntensity;
|
|
38
|
-
let yPosition = Math.sin((t / 4) * speed) / 10;
|
|
39
|
-
yPosition = THREE.MathUtils.mapLinear(yPosition, -0.1, 0.1, floatingRange[0] ?? -0.1, floatingRange[1] ?? 0.1);
|
|
40
|
-
this.floatRef.nativeElement.position.y = yPosition * floatIntensity;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
NgtsFloat.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsFloat, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
-
NgtsFloat.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NgtsFloat, isStandalone: true, selector: "ngts-float", inputs: { floatRef: "floatRef", speed: "speed", rotationIntensity: "rotationIntensity", floatIntensity: "floatIntensity", floatingRange: "floatingRange" }, usesInheritance: true, ngImport: i0, template: `
|
|
45
|
-
<ngt-group ngtCompound>
|
|
46
|
-
<ngt-group [ref]="floatRef">
|
|
47
|
-
<ng-content />
|
|
48
|
-
</ngt-group>
|
|
49
|
-
</ngt-group>
|
|
50
|
-
`, isInline: true });
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsFloat, decorators: [{
|
|
52
|
-
type: Component,
|
|
53
|
-
args: [{
|
|
54
|
-
selector: 'ngts-float',
|
|
55
|
-
standalone: true,
|
|
56
|
-
template: `
|
|
57
|
-
<ngt-group ngtCompound>
|
|
58
|
-
<ngt-group [ref]="floatRef">
|
|
59
|
-
<ng-content />
|
|
60
|
-
</ngt-group>
|
|
61
|
-
</ngt-group>
|
|
62
|
-
`,
|
|
63
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
64
|
-
}]
|
|
65
|
-
}], ctorParameters: function () { return []; }, propDecorators: { floatRef: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], speed: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}], rotationIntensity: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], floatIntensity: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}], floatingRange: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUtc29iYS9zdGFnaW5nL3NyYy9saWIvZmxvYXQvZmxvYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQWtCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQUU5QixNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBY2xCLE1BQU0sT0FBTyxTQUFVLFNBQVEsVUFBVTtJQUtyQyxJQUFhLEtBQUssQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFhLGlCQUFpQixDQUFDLGlCQUF5QjtRQUNwRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFhLGNBQWMsQ0FBQyxjQUFzQjtRQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBYSxhQUFhLENBQUMsYUFBaUM7UUFDeEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVRLFVBQVU7UUFDZixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBMUJLLFdBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXZDLGFBQVEsR0FBRyxZQUFZLEVBQWUsQ0FBQztRQXlCNUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFrQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhO1lBQUUsT0FBTztRQUN6QyxNQUFNLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDL0UsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUM7UUFDN0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUM7UUFDN0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUM7UUFDOUYsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDL0MsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUMvRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLFNBQVMsR0FBRyxjQUFjLENBQUM7SUFDeEUsQ0FBQzs7c0dBekNRLFNBQVM7MEZBQVQsU0FBUyx5UEFUUjs7Ozs7O0tBTVQ7MkZBR1EsU0FBUztrQkFackIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7O0tBTVQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDOzBFQUlZLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRU8sS0FBSztzQkFBakIsS0FBSztnQkFJTyxpQkFBaUI7c0JBQTdCLEtBQUs7Z0JBSU8sY0FBYztzQkFBMUIsS0FBSztnQkFJTyxhQUFhO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kLCBpbmplY3RCZWZvcmVSZW5kZXIsIGluamVjdE5ndFJlZiwgTmd0UmVuZGVyU3RhdGUsIE5ndFJ4U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAndGhyZWUnO1xuXG5leHRlbmQoeyBHcm91cCB9KTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWZsb2F0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtZ3JvdXAgbmd0Q29tcG91bmQ+XG4gICAgICAgICAgICA8bmd0LWdyb3VwIFtyZWZdPVwiZmxvYXRSZWZcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICAgICAgPC9uZ3QtZ3JvdXA+XG4gICAgICAgIDwvbmd0LWdyb3VwPlxuICAgIGAsXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzRmxvYXQgZXh0ZW5kcyBOZ3RSeFN0b3JlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9mZnNldCA9IE1hdGgucmFuZG9tKCkgKiAxMDAwMDtcblxuICAgIEBJbnB1dCgpIGZsb2F0UmVmID0gaW5qZWN0Tmd0UmVmPFRIUkVFLkdyb3VwPigpO1xuXG4gICAgQElucHV0KCkgc2V0IHNwZWVkKHNwZWVkOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBzcGVlZCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgcm90YXRpb25JbnRlbnNpdHkocm90YXRpb25JbnRlbnNpdHk6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHJvdGF0aW9uSW50ZW5zaXR5IH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBmbG9hdEludGVuc2l0eShmbG9hdEludGVuc2l0eTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZmxvYXRJbnRlbnNpdHkgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGZsb2F0aW5nUmFuZ2UoZmxvYXRpbmdSYW5nZTogW251bWJlcj8sIG51bWJlcj9dKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZmxvYXRpbmdSYW5nZSB9KTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5pbml0aWFsaXplKCk7XG4gICAgICAgIHRoaXMuc2V0KHsgc3BlZWQ6IDEsIHJvdGF0aW9uSW50ZW5zaXR5OiAxLCBmbG9hdEludGVuc2l0eTogMSwgZmxvYXRpbmdSYW5nZTogWy0wLjEsIDAuMV0gfSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIGluamVjdEJlZm9yZVJlbmRlcih0aGlzLm9uQmVmb3JlUmVuZGVyLmJpbmQodGhpcykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25CZWZvcmVSZW5kZXIoeyBjbG9jayB9OiBOZ3RSZW5kZXJTdGF0ZSkge1xuICAgICAgICBpZiAoIXRoaXMuZmxvYXRSZWYubmF0aXZlRWxlbWVudCkgcmV0dXJuO1xuICAgICAgICBjb25zdCB7IHNwZWVkLCBmbG9hdGluZ1JhbmdlLCBmbG9hdEludGVuc2l0eSwgcm90YXRpb25JbnRlbnNpdHkgfSA9IHRoaXMuZ2V0KCk7XG4gICAgICAgIGNvbnN0IHQgPSB0aGlzLm9mZnNldCArIGNsb2NrLmdldEVsYXBzZWRUaW1lKCk7XG4gICAgICAgIHRoaXMuZmxvYXRSZWYubmF0aXZlRWxlbWVudC5yb3RhdGlvbi54ID0gKE1hdGguY29zKCh0IC8gNCkgKiBzcGVlZCkgLyA4KSAqIHJvdGF0aW9uSW50ZW5zaXR5O1xuICAgICAgICB0aGlzLmZsb2F0UmVmLm5hdGl2ZUVsZW1lbnQucm90YXRpb24ueSA9IChNYXRoLnNpbigodCAvIDQpICogc3BlZWQpIC8gOCkgKiByb3RhdGlvbkludGVuc2l0eTtcbiAgICAgICAgdGhpcy5mbG9hdFJlZi5uYXRpdmVFbGVtZW50LnJvdGF0aW9uLnogPSAoTWF0aC5zaW4oKHQgLyA0KSAqIHNwZWVkKSAvIDIwKSAqIHJvdGF0aW9uSW50ZW5zaXR5O1xuICAgICAgICBsZXQgeVBvc2l0aW9uID0gTWF0aC5zaW4oKHQgLyA0KSAqIHNwZWVkKSAvIDEwO1xuICAgICAgICB5UG9zaXRpb24gPSBUSFJFRS5NYXRoVXRpbHMubWFwTGluZWFyKHlQb3NpdGlvbiwgLTAuMSwgMC4xLCBmbG9hdGluZ1JhbmdlWzBdID8/IC0wLjEsIGZsb2F0aW5nUmFuZ2VbMV0gPz8gMC4xKTtcbiAgICAgICAgdGhpcy5mbG9hdFJlZi5uYXRpdmVFbGVtZW50LnBvc2l0aW9uLnkgPSB5UG9zaXRpb24gKiBmbG9hdEludGVuc2l0eTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
2
|
-
import { injectNgtRef, NgtArgs, NgtRxStore } from 'angular-three';
|
|
3
|
-
import { Vector3 } from 'three';
|
|
4
|
-
import { Sky } from 'three-stdlib';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export function calcPosFromAngles(inclination, azimuth, vector = new Vector3()) {
|
|
7
|
-
const theta = Math.PI * (inclination - 0.5);
|
|
8
|
-
const phi = 2 * Math.PI * (azimuth - 0.5);
|
|
9
|
-
vector.x = Math.cos(phi);
|
|
10
|
-
vector.y = Math.sin(theta);
|
|
11
|
-
vector.z = Math.sin(phi);
|
|
12
|
-
return vector;
|
|
13
|
-
}
|
|
14
|
-
export class NgtsSky extends NgtRxStore {
|
|
15
|
-
constructor() {
|
|
16
|
-
super(...arguments);
|
|
17
|
-
this.skyRef = injectNgtRef();
|
|
18
|
-
this.sky = new Sky();
|
|
19
|
-
}
|
|
20
|
-
set distance(distance) {
|
|
21
|
-
this.set({ distance });
|
|
22
|
-
}
|
|
23
|
-
set sunPosition(sunPosition) {
|
|
24
|
-
this.set({ sunPosition });
|
|
25
|
-
}
|
|
26
|
-
set inclination(inclination) {
|
|
27
|
-
this.set({ inclination });
|
|
28
|
-
}
|
|
29
|
-
set azimuth(azimuth) {
|
|
30
|
-
this.set({ azimuth });
|
|
31
|
-
}
|
|
32
|
-
set mieCoefficient(mieCoefficient) {
|
|
33
|
-
this.set({ mieCoefficient });
|
|
34
|
-
}
|
|
35
|
-
set mieDirectionalG(mieDirectionalG) {
|
|
36
|
-
this.set({ mieDirectionalG });
|
|
37
|
-
}
|
|
38
|
-
set rayleigh(rayleigh) {
|
|
39
|
-
this.set({ rayleigh });
|
|
40
|
-
}
|
|
41
|
-
set turbidity(turbidity) {
|
|
42
|
-
this.set({ turbidity });
|
|
43
|
-
}
|
|
44
|
-
initialize() {
|
|
45
|
-
super.initialize();
|
|
46
|
-
const inclination = 0.6;
|
|
47
|
-
const azimuth = 0.1;
|
|
48
|
-
this.set({
|
|
49
|
-
inclination,
|
|
50
|
-
azimuth,
|
|
51
|
-
distance: 1000,
|
|
52
|
-
mieCoefficient: 0.005,
|
|
53
|
-
mieDirectionalG: 0.8,
|
|
54
|
-
rayleigh: 0.5,
|
|
55
|
-
turbidity: 10,
|
|
56
|
-
sunPosition: calcPosFromAngles(inclination, azimuth),
|
|
57
|
-
});
|
|
58
|
-
this.connect('sunPosition', this.select(['inclination', 'azimuth'], ({ inclination, azimuth }) => calcPosFromAngles(inclination, azimuth)));
|
|
59
|
-
this.connect('scale', this.select(['distance'], ({ distance }) => new Vector3().setScalar(distance)));
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
NgtsSky.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsSky, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
-
NgtsSky.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NgtsSky, isStandalone: true, selector: "ngts-sky", inputs: { skyRef: "skyRef", distance: "distance", sunPosition: "sunPosition", inclination: "inclination", azimuth: "azimuth", mieCoefficient: "mieCoefficient", mieDirectionalG: "mieDirectionalG", rayleigh: "rayleigh", turbidity: "turbidity" }, usesInheritance: true, ngImport: i0, template: `
|
|
64
|
-
<ngt-primitive ngtCompound *args="[sky]" [ref]="skyRef" [scale]="get('scale')">
|
|
65
|
-
<ngt-value [rawValue]="get('mieCoefficient')" attach="material.uniforms.mieCoefficient.value" />
|
|
66
|
-
<ngt-value [rawValue]="get('mieDirectionalG')" attach="material.uniforms.mieDirectionalG.value" />
|
|
67
|
-
<ngt-value [rawValue]="get('rayleigh')" attach="material.uniforms.rayleigh.value" />
|
|
68
|
-
<ngt-value [rawValue]="get('sunPosition')" attach="material.uniforms.sunPosition.value" />
|
|
69
|
-
<ngt-value [rawValue]="get('turbidity')" attach="material.uniforms.turbidity.value" />
|
|
70
|
-
</ngt-primitive>
|
|
71
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsSky, decorators: [{
|
|
73
|
-
type: Component,
|
|
74
|
-
args: [{
|
|
75
|
-
selector: 'ngts-sky',
|
|
76
|
-
standalone: true,
|
|
77
|
-
template: `
|
|
78
|
-
<ngt-primitive ngtCompound *args="[sky]" [ref]="skyRef" [scale]="get('scale')">
|
|
79
|
-
<ngt-value [rawValue]="get('mieCoefficient')" attach="material.uniforms.mieCoefficient.value" />
|
|
80
|
-
<ngt-value [rawValue]="get('mieDirectionalG')" attach="material.uniforms.mieDirectionalG.value" />
|
|
81
|
-
<ngt-value [rawValue]="get('rayleigh')" attach="material.uniforms.rayleigh.value" />
|
|
82
|
-
<ngt-value [rawValue]="get('sunPosition')" attach="material.uniforms.sunPosition.value" />
|
|
83
|
-
<ngt-value [rawValue]="get('turbidity')" attach="material.uniforms.turbidity.value" />
|
|
84
|
-
</ngt-primitive>
|
|
85
|
-
`,
|
|
86
|
-
imports: [NgtArgs],
|
|
87
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
88
|
-
}]
|
|
89
|
-
}], propDecorators: { skyRef: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], distance: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], sunPosition: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], inclination: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], azimuth: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}], mieCoefficient: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}], mieDirectionalG: [{
|
|
102
|
-
type: Input
|
|
103
|
-
}], rayleigh: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}], turbidity: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlLXNvYmEvc3RhZ2luZy9zcmMvbGliL3NreS9za3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFbkMsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFdBQW1CLEVBQUUsT0FBZSxFQUFFLFNBQWtCLElBQUksT0FBTyxFQUFFO0lBQ25HLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDNUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFMUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFekIsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQWlCRCxNQUFNLE9BQU8sT0FBUSxTQUFRLFVBQVU7SUFmdkM7O1FBZ0JhLFdBQU0sR0FBRyxZQUFZLEVBQU8sQ0FBQztRQWtDN0IsUUFBRyxHQUFHLElBQUksR0FBRyxFQUFFLENB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UztzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdE5ndFJlZiwgTmd0QXJncywgTmd0UnhTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IFNreSB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjUG9zRnJvbUFuZ2xlcyhpbmNsaW5hdGlvbjogbnVtYmVyLCBhemltdXRoOiBudW1iZXIsIHZlY3RvcjogVmVjdG9yMyA9IG5ldyBWZWN0b3IzKCkpIHtcbiAgICBjb25zdCB0aGV0YSA9IE1hdGguUEkgKiAoaW5jbGluYXRpb24gLSAwLjUpO1xuICAgIGNvbnN0IHBoaSA9IDIgKiBNYXRoLlBJICogKGF6aW11dGggLSAwLjUpO1xuXG4gICAgdmVjdG9yLnggPSBNYXRoLmNvcyhwaGkpO1xuICAgIHZlY3Rvci55ID0gTWF0aC5zaW4odGhldGEpO1xuICAgIHZlY3Rvci56ID0gTWF0aC5zaW4ocGhpKTtcblxuICAgIHJldHVybiB2ZWN0b3I7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0cy1za3knLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5ndC1wcmltaXRpdmUgbmd0Q29tcG91bmQgKmFyZ3M9XCJbc2t5XVwiIFtyZWZdPVwic2t5UmVmXCIgW3NjYWxlXT1cImdldCgnc2NhbGUnKVwiPlxuICAgICAgICAgICAgPG5ndC12YWx1ZSBbcmF3VmFsdWVdPVwiZ2V0KCdtaWVDb2VmZmljaWVudCcpXCIgYXR0YWNoPVwibWF0ZXJpYWwudW5pZm9ybXMubWllQ29lZmZpY2llbnQudmFsdWVcIiAvPlxuICAgICAgICAgICAgPG5ndC12YWx1ZSBbcmF3VmFsdWVdPVwiZ2V0KCdtaWVEaXJlY3Rpb25hbEcnKVwiIGF0dGFjaD1cIm1hdGVyaWFsLnVuaWZvcm1zLm1pZURpcmVjdGlvbmFsRy52YWx1ZVwiIC8+XG4gICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJnZXQoJ3JheWxlaWdoJylcIiBhdHRhY2g9XCJtYXRlcmlhbC51bmlmb3Jtcy5yYXlsZWlnaC52YWx1ZVwiIC8+XG4gICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJnZXQoJ3N1blBvc2l0aW9uJylcIiBhdHRhY2g9XCJtYXRlcmlhbC51bmlmb3Jtcy5zdW5Qb3NpdGlvbi52YWx1ZVwiIC8+XG4gICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJnZXQoJ3R1cmJpZGl0eScpXCIgYXR0YWNoPVwibWF0ZXJpYWwudW5pZm9ybXMudHVyYmlkaXR5LnZhbHVlXCIgLz5cbiAgICAgICAgPC9uZ3QtcHJpbWl0aXZlPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05ndEFyZ3NdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c1NreSBleHRlbmRzIE5ndFJ4U3RvcmUge1xuICAgIEBJbnB1dCgpIHNreVJlZiA9IGluamVjdE5ndFJlZjxTa3k+KCk7XG5cbiAgICBASW5wdXQoKSBzZXQgZGlzdGFuY2UoZGlzdGFuY2U6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGRpc3RhbmNlIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzdW5Qb3NpdGlvbihzdW5Qb3NpdGlvbjogVEhSRUUuVmVjdG9yMyB8IFBhcmFtZXRlcnM8VEhSRUUuVmVjdG9yM1snc2V0J10+KSB7XG4gICAgICAgIHRoaXMuc2V0KHsgc3VuUG9zaXRpb24gfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGluY2xpbmF0aW9uKGluY2xpbmF0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBpbmNsaW5hdGlvbiB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgYXppbXV0aChhemltdXRoOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBhemltdXRoIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBtaWVDb2VmZmljaWVudChtaWVDb2VmZmljaWVudDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbWllQ29lZmZpY2llbnQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG1pZURpcmVjdGlvbmFsRyhtaWVEaXJlY3Rpb25hbEc6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IG1pZURpcmVjdGlvbmFsRyB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgcmF5bGVpZ2gocmF5bGVpZ2g6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHJheWxlaWdoIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCB0dXJiaWRpdHkodHVyYmlkaXR5OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyB0dXJiaWRpdHkgfSk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgc2t5ID0gbmV3IFNreSgpO1xuXG4gICAgb3ZlcnJpZGUgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgICAgICBjb25zdCBpbmNsaW5hdGlvbiA9IDAuNjtcbiAgICAgICAgY29uc3QgYXppbXV0aCA9IDAuMTtcbiAgICAgICAgdGhpcy5zZXQoe1xuICAgICAgICAgICAgaW5jbGluYXRpb24sXG4gICAgICAgICAgICBhemltdXRoLFxuICAgICAgICAgICAgZGlzdGFuY2U6IDEwMDAsXG4gICAgICAgICAgICBtaWVDb2VmZmljaWVudDogMC4wMDUsXG4gICAgICAgICAgICBtaWVEaXJlY3Rpb25hbEc6IDAuOCxcbiAgICAgICAgICAgIHJheWxlaWdoOiAwLjUsXG4gICAgICAgICAgICB0dXJiaWRpdHk6IDEwLFxuICAgICAgICAgICAgc3VuUG9zaXRpb246IGNhbGNQb3NGcm9tQW5nbGVzKGluY2xpbmF0aW9uLCBhemltdXRoKSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29ubmVjdChcbiAgICAgICAgICAgICdzdW5Qb3NpdGlvbicsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdChbJ2luY2xpbmF0aW9uJywgJ2F6aW11dGgnXSwgKHsgaW5jbGluYXRpb24sIGF6aW11dGggfSkgPT5cbiAgICAgICAgICAgICAgICBjYWxjUG9zRnJvbUFuZ2xlcyhpbmNsaW5hdGlvbiwgYXppbXV0aClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jb25uZWN0KFxuICAgICAgICAgICAgJ3NjYWxlJyxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0KFsnZGlzdGFuY2UnXSwgKHsgZGlzdGFuY2UgfSkgPT4gbmV3IFZlY3RvcjMoKS5zZXRTY2FsYXIoZGlzdGFuY2UpKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|