angular-three-soba 1.14.1 → 2.0.0-beta.11
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/README.md +2 -2
- package/abstractions/billboard/billboard.d.ts +28 -0
- package/abstractions/detailed/detailed.d.ts +26 -0
- package/abstractions/edges/edges.d.ts +34 -0
- package/abstractions/grid/grid.d.ts +50 -0
- package/abstractions/index.d.ts +6 -11
- package/abstractions/text/text.d.ts +82 -0
- package/abstractions/text-3d/text-3d.d.ts +81 -0
- package/cameras/{lib/camera → camera}/camera-content.d.ts +2 -2
- package/cameras/camera/camera.d.ts +26 -0
- package/cameras/cube-camera/cube-camera.d.ts +69 -0
- package/cameras/index.d.ts +4 -4
- package/cameras/orthographic-camera/orthographic-camera.d.ts +37 -0
- package/cameras/{lib/perspective-camera → perspective-camera}/perspective-camera.d.ts +10 -1
- package/controls/index.d.ts +1 -1
- package/controls/orbit-controls/orbit-controls.d.ts +54 -0
- package/esm2022/abstractions/angular-three-soba-abstractions.mjs +1 -1
- package/esm2022/abstractions/billboard/billboard.mjs +74 -0
- package/esm2022/abstractions/detailed/detailed.mjs +64 -0
- package/esm2022/abstractions/edges/edges.mjs +88 -0
- package/esm2022/abstractions/grid/grid.mjs +180 -0
- package/esm2022/abstractions/index.mjs +7 -12
- package/esm2022/abstractions/text/text.mjs +274 -0
- package/esm2022/abstractions/text-3d/text-3d.mjs +165 -0
- package/esm2022/angular-three-soba.mjs +1 -1
- package/esm2022/cameras/angular-three-soba-cameras.mjs +1 -1
- package/esm2022/cameras/camera/camera-content.mjs +20 -0
- package/esm2022/cameras/camera/camera.mjs +77 -0
- package/esm2022/cameras/cube-camera/cube-camera.mjs +161 -0
- package/esm2022/cameras/index.mjs +5 -5
- package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +102 -0
- package/esm2022/cameras/perspective-camera/perspective-camera.mjs +46 -0
- package/esm2022/controls/angular-three-soba-controls.mjs +1 -1
- package/esm2022/controls/index.mjs +2 -2
- package/esm2022/controls/orbit-controls/orbit-controls.mjs +181 -0
- package/esm2022/index.mjs +1 -1
- package/esm2022/loaders/angular-three-soba-loaders.mjs +1 -1
- package/esm2022/loaders/gltf-loader/gltf-loader.mjs +30 -0
- package/esm2022/loaders/index.mjs +5 -6
- package/esm2022/loaders/loader/loader.mjs +138 -0
- package/esm2022/loaders/progress/progress.mjs +45 -0
- package/esm2022/loaders/texture-loader/texture-loader.mjs +28 -0
- package/esm2022/materials/angular-three-soba-materials.mjs +1 -1
- package/esm2022/materials/index.mjs +7 -6
- package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +82 -0
- package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +367 -0
- package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +171 -0
- package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +278 -0
- package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +68 -0
- package/esm2022/materials/point-material/point-material.mjs +46 -0
- package/esm2022/misc/angular-three-soba-misc.mjs +1 -1
- package/esm2022/misc/animations/animations.mjs +59 -0
- package/esm2022/misc/bake-shadows/bake-shadows.mjs +24 -0
- package/esm2022/misc/caustics/caustics.mjs +387 -0
- package/esm2022/misc/decal/decal.mjs +187 -0
- package/esm2022/misc/depth-buffer/depth-buffer.mjs +44 -0
- package/esm2022/misc/example/example.mjs +160 -0
- package/esm2022/misc/fbo/fbo.mjs +47 -0
- package/esm2022/misc/html/html-wrapper.mjs +478 -0
- package/esm2022/misc/html/html.mjs +304 -0
- package/esm2022/misc/index.mjs +14 -5
- package/esm2022/misc/sampler/sampler.mjs +142 -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 +209 -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 +6 -0
- package/esm2022/performances/points/points-input.mjs +64 -0
- package/esm2022/performances/points/points.mjs +329 -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 +182 -0
- package/esm2022/shaders/angular-three-soba-shaders.mjs +1 -1
- package/esm2022/shaders/blur-pass/blur-pass.mjs +61 -0
- package/esm2022/shaders/caustics/caustics-material.mjs +130 -0
- package/esm2022/shaders/caustics/caustics-projection-material.mjs +31 -0
- package/esm2022/shaders/convolution-material/convolution-material.mjs +94 -0
- package/esm2022/shaders/discard-material/discard-material.mjs +3 -0
- package/esm2022/shaders/grid-material/grid-material.mjs +77 -0
- package/esm2022/shaders/index.mjs +18 -15
- package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +56 -0
- package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +223 -0
- package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +170 -0
- package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +268 -0
- package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +37 -0
- package/esm2022/shaders/shader-material/shader-material.mjs +34 -0
- package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +25 -0
- package/esm2022/shaders/sparkles-material/sparkles-material.mjs +33 -0
- package/esm2022/shaders/spot-light-material/spot-light-material.mjs +86 -0
- package/esm2022/shaders/star-field-material/star-field-material.mjs +33 -0
- package/esm2022/shaders/wireframe-material/wireframe-material.mjs +247 -0
- package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +267 -0
- package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +108 -0
- package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +206 -0
- package/esm2022/staging/angular-three-soba-staging.mjs +1 -1
- package/esm2022/staging/backdrop/backdrop.mjs +77 -0
- package/esm2022/staging/bb-anchor/bb-anchor.mjs +69 -0
- package/esm2022/staging/bounds/bounds.mjs +308 -0
- package/esm2022/staging/camera-shake/camera-shake.mjs +123 -0
- package/esm2022/staging/center/center.mjs +163 -0
- package/esm2022/staging/cloud/cloud.mjs +158 -0
- package/esm2022/staging/contact-shadows/contact-shadows.mjs +246 -0
- package/esm2022/staging/environment/assets.mjs +13 -0
- package/esm2022/staging/environment/environment-cube.mjs +47 -0
- package/esm2022/staging/environment/environment-ground.mjs +41 -0
- package/esm2022/staging/environment/environment-input.mjs +119 -0
- package/esm2022/staging/environment/environment-map.mjs +53 -0
- package/esm2022/staging/environment/environment-portal.mjs +113 -0
- package/esm2022/staging/environment/environment.mjs +61 -0
- package/esm2022/staging/environment/utils.mjs +105 -0
- package/esm2022/staging/float/float.mjs +94 -0
- package/esm2022/staging/index.mjs +22 -18
- 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 +119 -0
- package/esm2022/staging/sparkles/sparkles.mjs +164 -0
- package/esm2022/staging/spot-light/shadow-mesh-input.mjs +63 -0
- package/esm2022/staging/spot-light/shadow-mesh.mjs +266 -0
- package/esm2022/staging/spot-light/spot-light-input.mjs +84 -0
- package/esm2022/staging/spot-light/spot-light.mjs +81 -0
- package/esm2022/staging/spot-light/volumetric-mesh.mjs +98 -0
- package/esm2022/staging/stage/stage.mjs +388 -0
- package/esm2022/staging/stars/stars.mjs +147 -0
- package/esm2022/staging/wireframe/wireframe-input.mjs +191 -0
- package/esm2022/staging/wireframe/wireframe.mjs +224 -0
- package/esm2022/utils/angular-three-soba-utils.mjs +5 -0
- package/esm2022/utils/content/content.mjs +15 -0
- package/esm2022/utils/index.mjs +2 -0
- package/fesm2022/angular-three-soba-abstractions.mjs +668 -1882
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +279 -232
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +104 -69
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-loaders.mjs +177 -164
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +630 -482
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +2248 -122
- 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 +697 -0
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -0
- package/fesm2022/angular-three-soba-shaders.mjs +554 -209
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +3230 -2852
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-utils.mjs +22 -0
- package/fesm2022/angular-three-soba-utils.mjs.map +1 -0
- package/fesm2022/angular-three-soba.mjs.map +1 -1
- package/loaders/gltf-loader/gltf-loader.d.ts +10 -0
- package/loaders/index.d.ts +4 -5
- package/loaders/loader/loader.d.ts +33 -0
- package/loaders/progress/progress.d.ts +9 -0
- package/loaders/texture-loader/texture-loader.d.ts +7 -0
- package/materials/index.d.ts +6 -5
- package/materials/mesh-distort-material/mesh-distort-material.d.ts +40 -0
- package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +99 -0
- package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +62 -0
- package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +107 -0
- package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +29 -0
- package/materials/point-material/point-material.d.ts +24 -0
- package/metadata.json +1 -0
- package/misc/animations/animations.d.ts +15 -0
- package/misc/{lib/bake-shadows → bake-shadows}/bake-shadows.d.ts +2 -5
- package/misc/caustics/caustics.d.ts +87 -0
- package/misc/decal/decal.d.ts +49 -0
- package/misc/depth-buffer/depth-buffer.d.ts +9 -0
- package/misc/example/example.d.ts +81 -0
- package/misc/{lib/fbo → fbo}/fbo.d.ts +4 -2
- package/misc/html/html-wrapper.d.ts +559 -0
- package/misc/html/html.d.ts +214 -0
- package/misc/index.d.ts +13 -4
- 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 +43 -32
- package/performances/README.md +3 -0
- package/performances/adaptive-dpr/adaptive-dpr.d.ts +14 -0
- package/{performance/lib/adaptive → performances/adaptive-events}/adaptive-events.d.ts +5 -6
- package/performances/index.d.ts +5 -0
- package/performances/points/points-input.d.ts +32 -0
- package/performances/points/points.d.ts +92 -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 +124 -0
- package/shaders/{lib/blur-pass → blur-pass}/blur-pass.d.ts +2 -2
- package/shaders/grid-material/grid-material.d.ts +37 -0
- package/shaders/index.d.ts +17 -14
- package/shaders/{lib/mesh-distort-material → mesh-distort-material}/mesh-distort-material.d.ts +147 -2
- package/shaders/{lib/mesh-transmission-material → mesh-transmission-material}/mesh-transmission-material.d.ts +1 -1
- package/shaders/{lib/mesh-wobble-material → mesh-wobble-material}/mesh-wobble-material.d.ts +1 -0
- package/shaders/{lib/shader-material → shader-material}/shader-material.d.ts +2 -2
- package/shaders/soft-shadow-material/soft-shadow-material.d.ts +19 -0
- package/shaders/sparkles-material/sparkles-material.d.ts +17 -0
- package/shaders/spot-light-material/spot-light-material.d.ts +13 -0
- package/shaders/star-field-material/star-field-material.d.ts +13 -0
- package/shaders/wireframe-material/wireframe-material.d.ts +58 -0
- package/staging/accumulative-shadows/accumulative-shadows.d.ts +146 -0
- package/staging/{lib/accumulative-shadows → accumulative-shadows}/progressive-light-map.d.ts +2 -2
- package/staging/accumulative-shadows/randomized-lights.d.ts +90 -0
- package/staging/backdrop/backdrop.d.ts +30 -0
- package/staging/bb-anchor/bb-anchor.d.ts +27 -0
- package/staging/bounds/bounds.d.ts +134 -0
- package/staging/camera-shake/camera-shake.d.ts +43 -0
- package/staging/center/center.d.ts +70 -0
- package/staging/cloud/cloud.d.ts +51 -0
- package/staging/contact-shadows/contact-shadows.d.ts +70 -0
- package/staging/{lib/environment → environment}/assets.d.ts +9 -9
- package/staging/environment/environment-cube.d.ts +15 -0
- package/staging/environment/environment-ground.d.ts +13 -0
- package/staging/environment/environment-input.d.ts +68 -0
- package/staging/environment/environment-map.d.ts +16 -0
- package/staging/environment/environment-portal.d.ts +18 -0
- package/staging/{lib/environment → environment}/environment.d.ts +2 -6
- package/staging/environment/utils.d.ts +7 -0
- package/staging/float/float.d.ts +31 -0
- package/staging/index.d.ts +21 -17
- 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 +48 -0
- package/staging/sparkles/sparkles.d.ts +63 -0
- 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 +38 -0
- package/staging/spot-light/spot-light.d.ts +39 -0
- package/staging/spot-light/volumetric-mesh.d.ts +24 -0
- package/staging/stage/stage.d.ts +130 -0
- package/staging/stars/stars.d.ts +45 -0
- 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/content/content.d.ts +8 -0
- package/utils/index.d.ts +1 -0
- package/web-types.json +1 -0
- package/abstractions/lib/billboard/billboard.d.ts +0 -14
- package/abstractions/lib/catmull-rom-line/catmull-rom-line.d.ts +0 -15
- package/abstractions/lib/cubic-bezier-line/cubic-bezier-line.d.ts +0 -15
- package/abstractions/lib/edges/edges.d.ts +0 -18
- package/abstractions/lib/gizmo-helper/gizmo-helper.d.ts +0 -41
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -12
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -16
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -24
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.d.ts +0 -14
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -15
- package/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -28
- package/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -21
- package/abstractions/lib/line/line-input.d.ts +0 -19
- package/abstractions/lib/line/line.d.ts +0 -21
- package/abstractions/lib/quadratic-bezier-line/quadratic-bezier-line.d.ts +0 -19
- package/abstractions/lib/text/text.d.ts +0 -21
- package/abstractions/lib/text-3d/text-3d.d.ts +0 -39
- package/assets/default-spot-light-shadow.glsl +0 -10
- package/cameras/lib/camera/camera.d.ts +0 -19
- package/cameras/lib/cube-camera/cube-camera.d.ts +0 -27
- package/cameras/lib/orthographic-camera/orthographic-camera.d.ts +0 -17
- package/controls/lib/orbit-controls/orbit-controls.d.ts +0 -27
- package/esm2022/abstractions/lib/billboard/billboard.mjs +0 -74
- package/esm2022/abstractions/lib/catmull-rom-line/catmull-rom-line.mjs +0 -120
- package/esm2022/abstractions/lib/cubic-bezier-line/cubic-bezier-line.mjs +0 -99
- package/esm2022/abstractions/lib/edges/edges.mjs +0 -96
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-helper.mjs +0 -213
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -92
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -184
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +0 -46
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -134
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -195
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -267
- package/esm2022/abstractions/lib/line/line-input.mjs +0 -76
- package/esm2022/abstractions/lib/line/line.mjs +0 -133
- package/esm2022/abstractions/lib/quadratic-bezier-line/quadratic-bezier-line.mjs +0 -128
- package/esm2022/abstractions/lib/text/text.mjs +0 -115
- package/esm2022/abstractions/lib/text-3d/text-3d.mjs +0 -145
- package/esm2022/cameras/lib/camera/camera-content.mjs +0 -21
- package/esm2022/cameras/lib/camera/camera.mjs +0 -75
- package/esm2022/cameras/lib/cube-camera/cube-camera.mjs +0 -131
- package/esm2022/cameras/lib/orthographic-camera/orthographic-camera.mjs +0 -93
- package/esm2022/cameras/lib/perspective-camera/perspective-camera.mjs +0 -47
- package/esm2022/controls/lib/orbit-controls/orbit-controls.mjs +0 -147
- package/esm2022/loaders/lib/cube-texture-loader/cube-texture-loader.mjs +0 -10
- package/esm2022/loaders/lib/gltf-loader/gltf-loader.mjs +0 -32
- package/esm2022/loaders/lib/loader/loader.mjs +0 -134
- package/esm2022/loaders/lib/progress/progress.mjs +0 -39
- package/esm2022/loaders/lib/texture-loader/texture-loader.mjs +0 -19
- package/esm2022/materials/lib/mesh-distort-material/mesh-distort-material.mjs +0 -75
- package/esm2022/materials/lib/mesh-reflector-material/mesh-reflector-material.mjs +0 -328
- package/esm2022/materials/lib/mesh-refraction-material/mesh-refraction-material.mjs +0 -158
- package/esm2022/materials/lib/mesh-transmission-material/mesh-transmission-material.mjs +0 -238
- package/esm2022/materials/lib/mesh-wobble-material/mesh-wobble-material.mjs +0 -68
- package/esm2022/misc/lib/animations/animations.mjs +0 -52
- package/esm2022/misc/lib/bake-shadows/bake-shadows.mjs +0 -26
- package/esm2022/misc/lib/depth-buffer/depth-buffer.mjs +0 -39
- package/esm2022/misc/lib/fbo/fbo.mjs +0 -39
- package/esm2022/performance/angular-three-soba-performance.mjs +0 -5
- package/esm2022/performance/index.mjs +0 -5
- package/esm2022/performance/lib/adaptive/adaptive-dpr.mjs +0 -47
- package/esm2022/performance/lib/adaptive/adaptive-events.mjs +0 -37
- package/esm2022/performance/lib/detailed/detailed.mjs +0 -54
- package/esm2022/performance/lib/stats/stats.mjs +0 -80
- package/esm2022/shaders/lib/blur-pass/blur-pass.mjs +0 -61
- package/esm2022/shaders/lib/caustics-material/caustics-material.mjs +0 -128
- package/esm2022/shaders/lib/caustics-projection-material/caustics-projection-material.mjs +0 -33
- package/esm2022/shaders/lib/convolution-material/convolution-material.mjs +0 -94
- package/esm2022/shaders/lib/discard-material/discard-material.mjs +0 -3
- package/esm2022/shaders/lib/mesh-distort-material/mesh-distort-material.mjs +0 -55
- package/esm2022/shaders/lib/mesh-reflector-material/mesh-reflector-material.mjs +0 -223
- package/esm2022/shaders/lib/mesh-refraction-material/mesh-refraction-material.mjs +0 -169
- package/esm2022/shaders/lib/mesh-transmission-material/mesh-transmission-material.mjs +0 -268
- package/esm2022/shaders/lib/mesh-wobble-material/mesh-wobble-material.mjs +0 -37
- package/esm2022/shaders/lib/shader-material/shader-material.mjs +0 -34
- package/esm2022/shaders/lib/soft-shadow-material/soft-shadow-material.mjs +0 -33
- package/esm2022/shaders/lib/spot-light-material/spot-light-material.mjs +0 -86
- package/esm2022/shaders/lib/star-field-material/star-field-material.mjs +0 -32
- package/esm2022/staging/lib/accumulative-shadows/accumulative-shadows.mjs +0 -249
- package/esm2022/staging/lib/accumulative-shadows/progressive-light-map.mjs +0 -108
- package/esm2022/staging/lib/accumulative-shadows/randomized-lights.mjs +0 -201
- package/esm2022/staging/lib/bounds/bounds.mjs +0 -284
- package/esm2022/staging/lib/camera-shake/camera-shake.mjs +0 -122
- package/esm2022/staging/lib/caustics/caustics.mjs +0 -364
- package/esm2022/staging/lib/center/center.mjs +0 -143
- package/esm2022/staging/lib/cloud/cloud.mjs +0 -160
- package/esm2022/staging/lib/contact-shadows/contact-shadows.mjs +0 -228
- package/esm2022/staging/lib/environment/assets.mjs +0 -13
- package/esm2022/staging/lib/environment/environment-cube.mjs +0 -41
- package/esm2022/staging/lib/environment/environment-ground.mjs +0 -67
- package/esm2022/staging/lib/environment/environment-inputs.mjs +0 -87
- package/esm2022/staging/lib/environment/environment-map.mjs +0 -39
- package/esm2022/staging/lib/environment/environment-portal.mjs +0 -111
- package/esm2022/staging/lib/environment/environment.mjs +0 -165
- package/esm2022/staging/lib/environment/utils.mjs +0 -70
- package/esm2022/staging/lib/float/float.mjs +0 -77
- package/esm2022/staging/lib/sky/sky.mjs +0 -109
- package/esm2022/staging/lib/sparkles/sparkles.mjs +0 -210
- package/esm2022/staging/lib/spot-light/common.mjs +0 -42
- package/esm2022/staging/lib/spot-light/shadow-mesh-input.mjs +0 -51
- package/esm2022/staging/lib/spot-light/spot-light-input.mjs +0 -62
- package/esm2022/staging/lib/spot-light/spot-light-shadow-no-shader.mjs +0 -74
- package/esm2022/staging/lib/spot-light/spot-light-shadow-shader.mjs +0 -126
- package/esm2022/staging/lib/spot-light/spot-light-shadow.mjs +0 -63
- package/esm2022/staging/lib/spot-light/spot-light.mjs +0 -117
- package/esm2022/staging/lib/spot-light/volumetric-mesh.mjs +0 -86
- package/esm2022/staging/lib/stage/stage.mjs +0 -368
- package/esm2022/staging/lib/stars/stars.mjs +0 -140
- package/fesm2022/angular-three-soba-performance.mjs +0 -210
- package/fesm2022/angular-three-soba-performance.mjs.map +0 -1
- package/loaders/lib/cube-texture-loader/cube-texture-loader.d.ts +0 -3
- package/loaders/lib/gltf-loader/gltf-loader.d.ts +0 -8
- package/loaders/lib/loader/loader.d.ts +0 -26
- package/loaders/lib/progress/progress.d.ts +0 -16
- package/loaders/lib/texture-loader/texture-loader.d.ts +0 -5
- package/materials/lib/mesh-distort-material/mesh-distort-material.d.ts +0 -24
- package/materials/lib/mesh-reflector-material/mesh-reflector-material.d.ts +0 -41
- package/materials/lib/mesh-refraction-material/mesh-refraction-material.d.ts +0 -28
- package/materials/lib/mesh-transmission-material/mesh-transmission-material.d.ts +0 -46
- package/materials/lib/mesh-wobble-material/mesh-wobble-material.d.ts +0 -14
- package/misc/lib/animations/animations.d.ts +0 -13
- package/misc/lib/depth-buffer/depth-buffer.d.ts +0 -7
- package/performance/README.md +0 -3
- package/performance/index.d.ts +0 -4
- package/performance/lib/adaptive/adaptive-dpr.d.ts +0 -11
- package/performance/lib/detailed/detailed.d.ts +0 -13
- package/performance/lib/stats/stats.d.ts +0 -15
- package/plugin/README.md +0 -11
- package/plugin/generators.json +0 -19
- 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 -4
- package/plugin/src/generators/init/init.js +0 -22
- 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/shaders/lib/soft-shadow-material/soft-shadow-material.d.ts +0 -10
- package/shaders/lib/spot-light-material/spot-light-material.d.ts +0 -4
- package/shaders/lib/star-field-material/star-field-material.d.ts +0 -3
- package/staging/lib/accumulative-shadows/accumulative-shadows.d.ts +0 -58
- package/staging/lib/accumulative-shadows/randomized-lights.d.ts +0 -42
- package/staging/lib/bounds/bounds.d.ts +0 -48
- package/staging/lib/camera-shake/camera-shake.d.ts +0 -28
- package/staging/lib/caustics/caustics.d.ts +0 -47
- package/staging/lib/center/center.d.ts +0 -40
- package/staging/lib/cloud/cloud.d.ts +0 -23
- package/staging/lib/contact-shadows/contact-shadows.d.ts +0 -29
- package/staging/lib/environment/environment-cube.d.ts +0 -11
- package/staging/lib/environment/environment-ground.d.ts +0 -9
- package/staging/lib/environment/environment-inputs.d.ts +0 -28
- package/staging/lib/environment/environment-map.d.ts +0 -10
- package/staging/lib/environment/environment-portal.d.ts +0 -15
- package/staging/lib/environment/utils.d.ts +0 -8
- package/staging/lib/float/float.d.ts +0 -16
- package/staging/lib/sky/sky.d.ts +0 -20
- package/staging/lib/sparkles/sparkles.d.ts +0 -29
- package/staging/lib/spot-light/common.d.ts +0 -3
- package/staging/lib/spot-light/shadow-mesh-input.d.ts +0 -14
- package/staging/lib/spot-light/spot-light-input.d.ts +0 -16
- package/staging/lib/spot-light/spot-light-shadow-no-shader.d.ts +0 -14
- package/staging/lib/spot-light/spot-light-shadow-shader.d.ts +0 -25
- package/staging/lib/spot-light/spot-light-shadow.d.ts +0 -6
- package/staging/lib/spot-light/spot-light.d.ts +0 -17
- package/staging/lib/spot-light/volumetric-mesh.d.ts +0 -15
- package/staging/lib/stage/stage.d.ts +0 -87
- package/staging/lib/stars/stars.d.ts +0 -20
- /package/shaders/{lib/caustics-material → caustics}/caustics-material.d.ts +0 -0
- /package/shaders/{lib/caustics-projection-material → caustics}/caustics-projection-material.d.ts +0 -0
- /package/shaders/{lib/convolution-material → convolution-material}/convolution-material.d.ts +0 -0
- /package/shaders/{lib/discard-material → discard-material}/discard-material.d.ts +0 -0
- /package/shaders/{lib/mesh-reflector-material → mesh-reflector-material}/mesh-reflector-material.d.ts +0 -0
- /package/shaders/{lib/mesh-refraction-material → mesh-refraction-material}/mesh-refraction-material.d.ts +0 -0
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
import * as THREE from 'three';
|
|
3
|
-
import { Line2 } from 'three-stdlib';
|
|
4
|
-
import { NgtsLineInput } from '../line/line-input';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class NgtsQuadraticBezierLine extends NgtsLineInput implements OnInit {
|
|
7
|
-
readonly curve: THREE.QuadraticBezierCurve3;
|
|
8
|
-
lineRef: import("angular-three").NgtInjectedRef<Line2>;
|
|
9
|
-
set start(start: THREE.Vector3 | [number, number, number]);
|
|
10
|
-
set end(end: THREE.Vector3 | [number, number, number]);
|
|
11
|
-
set mid(mid: THREE.Vector3 | [number, number, number]);
|
|
12
|
-
set segments(segments: number);
|
|
13
|
-
initialize(): void;
|
|
14
|
-
ngOnInit(): void;
|
|
15
|
-
private replaceSetPoints;
|
|
16
|
-
private getPoints;
|
|
17
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgtsQuadraticBezierLine, never>;
|
|
18
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgtsQuadraticBezierLine, "ngts-quadratic-bezier-line", never, { "lineRef": { "alias": "lineRef"; "required": false; }; "start": { "alias": "start"; "required": false; }; "end": { "alias": "end"; "required": false; }; "mid": { "alias": "mid"; "required": false; }; "segments": { "alias": "segments"; "required": false; }; }, {}, never, never, true, never>;
|
|
19
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { NgtRxStore } from 'angular-three';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class NgtsText extends NgtRxStore implements OnInit, OnDestroy {
|
|
5
|
-
textRef: import("angular-three").NgtInjectedRef<Text>;
|
|
6
|
-
set text(text: string);
|
|
7
|
-
set characters(characters: string);
|
|
8
|
-
set font(font: string);
|
|
9
|
-
set anchorX(anchorX: number | 'left' | 'center' | 'right');
|
|
10
|
-
set anchorY(anchorY: number | 'top' | 'top-baseline' | 'middle' | 'bottom-baseline' | 'bottom');
|
|
11
|
-
sync: EventEmitter<Text>;
|
|
12
|
-
initialize(): void;
|
|
13
|
-
private readonly store;
|
|
14
|
-
readonly troikaText: any;
|
|
15
|
-
ngOnInit(): void;
|
|
16
|
-
ngOnDestroy(): void;
|
|
17
|
-
private preloadFont;
|
|
18
|
-
private syncText;
|
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgtsText, never>;
|
|
20
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgtsText, "ngts-text[text]", never, { "textRef": { "alias": "textRef"; "required": false; }; "text": { "alias": "text"; "required": false; }; "characters": { "alias": "characters"; "required": false; }; "font": { "alias": "font"; "required": false; }; "anchorX": { "alias": "anchorX"; "required": false; }; "anchorY": { "alias": "anchorY"; "required": false; }; }, { "sync": "sync"; }, never, ["*"], true, never>;
|
|
21
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { NgtRxStore } from 'angular-three';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
declare type Glyph = {
|
|
4
|
-
_cachedOutline: string[];
|
|
5
|
-
ha: number;
|
|
6
|
-
o: string;
|
|
7
|
-
};
|
|
8
|
-
declare type FontData = {
|
|
9
|
-
boundingBox: {
|
|
10
|
-
yMax: number;
|
|
11
|
-
yMin: number;
|
|
12
|
-
};
|
|
13
|
-
familyName: string;
|
|
14
|
-
glyphs: {
|
|
15
|
-
[k: string]: Glyph;
|
|
16
|
-
};
|
|
17
|
-
resolution: number;
|
|
18
|
-
underlineThickness: number;
|
|
19
|
-
};
|
|
20
|
-
export declare class NgtsText3D extends NgtRxStore {
|
|
21
|
-
set font(font: FontData | string);
|
|
22
|
-
set text(text: string);
|
|
23
|
-
set bevelEnabled(bevelEnabled: boolean);
|
|
24
|
-
set bevelOffset(bevelOffset: number);
|
|
25
|
-
set bevelSize(bevelSize: number);
|
|
26
|
-
set bevelThickness(bevelThickness: number);
|
|
27
|
-
set curveSegments(curveSegments: number);
|
|
28
|
-
set bevelSegments(bevelSegments: number);
|
|
29
|
-
set height(height: number);
|
|
30
|
-
set size(size: number);
|
|
31
|
-
set lineHeight(lineHeight: number);
|
|
32
|
-
set letterSpacing(letterSpacing: number);
|
|
33
|
-
initialize(): void;
|
|
34
|
-
private readonly font$;
|
|
35
|
-
readonly geometryArgs$: import("rxjs").Observable<any[]>;
|
|
36
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgtsText3D, never>;
|
|
37
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgtsText3D, "ngts-text-3d[font]", never, { "font": { "alias": "font"; "required": false; }; "text": { "alias": "text"; "required": false; }; "bevelEnabled": { "alias": "bevelEnabled"; "required": false; }; "bevelOffset": { "alias": "bevelOffset"; "required": false; }; "bevelSize": { "alias": "bevelSize"; "required": false; }; "bevelThickness": { "alias": "bevelThickness"; "required": false; }; "curveSegments": { "alias": "curveSegments"; "required": false; }; "bevelSegments": { "alias": "bevelSegments"; "required": false; }; "height": { "alias": "height"; "required": false; }; "size": { "alias": "size"; "required": false; }; "lineHeight": { "alias": "lineHeight"; "required": false; }; "letterSpacing": { "alias": "letterSpacing"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
38
|
-
}
|
|
39
|
-
export {};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
import { NgtCamera, NgtRxStore, NgtStore } from 'angular-three';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare abstract class NgtsCamera<TCamera extends NgtCamera> extends NgtRxStore implements OnInit {
|
|
5
|
-
set makeDefault(makeDefault: boolean);
|
|
6
|
-
set manual(manual: boolean);
|
|
7
|
-
set frames(frames: number);
|
|
8
|
-
set resolution(resolution: number);
|
|
9
|
-
set envMap(envMap: THREE.Texture);
|
|
10
|
-
cameraRef: import("angular-three").NgtInjectedRef<TCamera>;
|
|
11
|
-
protected readonly store: NgtStore;
|
|
12
|
-
readonly fboRef: import("angular-three").NgtInjectedRef<import("three").WebGLRenderTarget>;
|
|
13
|
-
initialize(): void;
|
|
14
|
-
ngOnInit(): void;
|
|
15
|
-
private setDefaultCamera;
|
|
16
|
-
private updateProjectionMatrix;
|
|
17
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgtsCamera<any>, never>;
|
|
18
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgtsCamera<any>, never, never, { "makeDefault": { "alias": "makeDefault"; "required": false; }; "manual": { "alias": "manual"; "required": false; }; "frames": { "alias": "frames"; "required": false; }; "resolution": { "alias": "resolution"; "required": false; }; "envMap": { "alias": "envMap"; "required": false; }; "cameraRef": { "alias": "cameraRef"; "required": false; }; }, {}, never, never, false, never>;
|
|
19
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ElementRef } from '@angular/core';
|
|
2
|
-
import { NgtRxStore } from 'angular-three';
|
|
3
|
-
import * as THREE from 'three';
|
|
4
|
-
import { NgtsCameraContent } from '../camera/camera-content';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class NgtsCubeCamera extends NgtRxStore {
|
|
7
|
-
groupRef: ElementRef<THREE.Group>;
|
|
8
|
-
cameraContent?: NgtsCameraContent;
|
|
9
|
-
readonly cameraRef: import("angular-three").NgtInjectedRef<THREE.CubeCamera>;
|
|
10
|
-
/** Number of frames to render, Infinity */
|
|
11
|
-
set frames(frames: number);
|
|
12
|
-
/** Resolution of the FBO, 256 */
|
|
13
|
-
set resolution(resolution: number);
|
|
14
|
-
/** Camera near, 0.1 */
|
|
15
|
-
set near(near: number);
|
|
16
|
-
/** Camera far, 1000 */
|
|
17
|
-
set far(far: number);
|
|
18
|
-
/** Custom environment map that is temporarily set as the scenes background */
|
|
19
|
-
set envMap(envMap: THREE.Texture);
|
|
20
|
-
/** Custom fog that is temporarily set as the scenes fog */
|
|
21
|
-
set fog(fog: THREE.Fog | THREE.FogExp2);
|
|
22
|
-
private readonly store;
|
|
23
|
-
initialize(): void;
|
|
24
|
-
constructor();
|
|
25
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgtsCubeCamera, never>;
|
|
26
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgtsCubeCamera, "ngts-cube-camera", never, { "frames": { "alias": "frames"; "required": false; }; "resolution": { "alias": "resolution"; "required": false; }; "near": { "alias": "near"; "required": false; }; "far": { "alias": "far"; "required": false; }; "envMap": { "alias": "envMap"; "required": false; }; "fog": { "alias": "fog"; "required": false; }; }, {}, ["cameraContent"], never, true, never>;
|
|
27
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { NgtsCamera } from '../camera/camera';
|
|
2
|
-
import { NgtsCameraContent } from '../camera/camera-content';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class NgtsOrthographicCamera extends NgtsCamera<THREE.OrthographicCamera> {
|
|
5
|
-
cameraContent?: NgtsCameraContent;
|
|
6
|
-
set left(left: number);
|
|
7
|
-
set right(right: number);
|
|
8
|
-
set top(top: number);
|
|
9
|
-
set bottom(bottom: number);
|
|
10
|
-
initialize(): void;
|
|
11
|
-
readonly left$: import("rxjs").Observable<any>;
|
|
12
|
-
readonly right$: import("rxjs").Observable<any>;
|
|
13
|
-
readonly top$: import("rxjs").Observable<any>;
|
|
14
|
-
readonly bottom$: import("rxjs").Observable<any>;
|
|
15
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgtsOrthographicCamera, never>;
|
|
16
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgtsOrthographicCamera, "ngts-orthographic-camera", never, { "left": { "alias": "left"; "required": false; }; "right": { "alias": "right"; "required": false; }; "top": { "alias": "top"; "required": false; }; "bottom": { "alias": "bottom"; "required": false; }; }, {}, ["cameraContent"], never, true, never>;
|
|
17
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
-
import { NgtRxStore } from 'angular-three';
|
|
3
|
-
import { OrbitControls } from 'three-stdlib';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class NgtsOrbitControls extends NgtRxStore implements OnInit {
|
|
6
|
-
controlsRef: import("angular-three").NgtInjectedRef<OrbitControls>;
|
|
7
|
-
set camera(camera: THREE.Camera);
|
|
8
|
-
set domElement(domElement: HTMLElement);
|
|
9
|
-
set makeDefault(makeDefault: boolean);
|
|
10
|
-
set regress(regress: boolean);
|
|
11
|
-
set target(target: THREE.Vector3 | Parameters<THREE.Vector3['set']>);
|
|
12
|
-
set enableDamping(enableDamping: boolean);
|
|
13
|
-
change: EventEmitter<import("three").Event>;
|
|
14
|
-
start: EventEmitter<import("three").Event>;
|
|
15
|
-
end: EventEmitter<import("three").Event>;
|
|
16
|
-
private readonly store;
|
|
17
|
-
readonly enableDamping$: import("rxjs").Observable<any>;
|
|
18
|
-
constructor();
|
|
19
|
-
initialize(): void;
|
|
20
|
-
ngOnInit(): void;
|
|
21
|
-
private setControls;
|
|
22
|
-
private connectElement;
|
|
23
|
-
private makeControlsDefault;
|
|
24
|
-
private setEvents;
|
|
25
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgtsOrbitControls, never>;
|
|
26
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgtsOrbitControls, "ngts-orbit-controls", never, { "controlsRef": { "alias": "controlsRef"; "required": false; }; "camera": { "alias": "camera"; "required": false; }; "domElement": { "alias": "domElement"; "required": false; }; "makeDefault": { "alias": "makeDefault"; "required": false; }; "regress": { "alias": "regress"; "required": false; }; "target": { "alias": "target"; "required": false; }; "enableDamping": { "alias": "enableDamping"; "required": false; }; }, { "change": "change"; "start": "start"; "end": "end"; }, never, never, true, never>;
|
|
27
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
2
|
-
import { extend, injectNgtRef, NgtRxStore } from 'angular-three';
|
|
3
|
-
import { Group } from 'three';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
extend({ Group });
|
|
6
|
-
class NgtsBillboard extends NgtRxStore {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.billboardRef = injectNgtRef();
|
|
10
|
-
}
|
|
11
|
-
set follow(follow) {
|
|
12
|
-
this.set({ follow });
|
|
13
|
-
}
|
|
14
|
-
set lockX(lockX) {
|
|
15
|
-
this.set({ lockX });
|
|
16
|
-
}
|
|
17
|
-
set lockY(lockY) {
|
|
18
|
-
this.set({ lockY });
|
|
19
|
-
}
|
|
20
|
-
set lockZ(lockZ) {
|
|
21
|
-
this.set({ lockZ });
|
|
22
|
-
}
|
|
23
|
-
initialize() {
|
|
24
|
-
super.initialize();
|
|
25
|
-
this.set({ follow: true, lockX: false, lockY: false, lockZ: false });
|
|
26
|
-
}
|
|
27
|
-
onBeforeRender({ state, object }) {
|
|
28
|
-
const { follow, lockX, lockY, lockZ } = this.get();
|
|
29
|
-
if (!follow)
|
|
30
|
-
return;
|
|
31
|
-
// save prev rotation in case we're locking axises
|
|
32
|
-
const prevRotation = object.rotation.clone();
|
|
33
|
-
// always face the camera
|
|
34
|
-
state.camera.getWorldQuaternion(object.quaternion);
|
|
35
|
-
// readjust any axis that is locked
|
|
36
|
-
if (lockX)
|
|
37
|
-
object.rotation.x = prevRotation.x;
|
|
38
|
-
if (lockY)
|
|
39
|
-
object.rotation.y = prevRotation.y;
|
|
40
|
-
if (lockZ)
|
|
41
|
-
object.rotation.z = prevRotation.z;
|
|
42
|
-
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsBillboard, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsBillboard, isStandalone: true, selector: "ngts-billboard", inputs: { billboardRef: "billboardRef", follow: "follow", lockX: "lockX", lockY: "lockY", lockZ: "lockZ" }, usesInheritance: true, ngImport: i0, template: `
|
|
45
|
-
<ngt-group ngtCompound [ref]="billboardRef" (beforeRender)="onBeforeRender($any($event))">
|
|
46
|
-
<ng-content />
|
|
47
|
-
</ngt-group>
|
|
48
|
-
`, isInline: true }); }
|
|
49
|
-
}
|
|
50
|
-
export { NgtsBillboard };
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsBillboard, decorators: [{
|
|
52
|
-
type: Component,
|
|
53
|
-
args: [{
|
|
54
|
-
selector: 'ngts-billboard',
|
|
55
|
-
standalone: true,
|
|
56
|
-
template: `
|
|
57
|
-
<ngt-group ngtCompound [ref]="billboardRef" (beforeRender)="onBeforeRender($any($event))">
|
|
58
|
-
<ng-content />
|
|
59
|
-
</ngt-group>
|
|
60
|
-
`,
|
|
61
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
62
|
-
}]
|
|
63
|
-
}], propDecorators: { billboardRef: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}], follow: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], lockX: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}], lockY: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], lockZ: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlLXNvYmEvYWJzdHJhY3Rpb25zL3NyYy9saWIvYmlsbGJvYXJkL2JpbGxib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBd0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxPQUFPLENBQUM7O0FBRTlCLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFFbEIsTUFVYSxhQUFjLFNBQVEsVUFBVTtJQVY3Qzs7UUFXYSxpQkFBWSxHQUFHLFlBQVksRUFBUyxDQUFDO0tBa0NqRDtJQWhDRyxJQUFhLE1BQU0sQ0FBQyxNQUFlO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFhLEtBQUssQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFhLEtBQUssQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFhLEtBQUssQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFUSxVQUFVO1FBQ2YsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBK0I7UUFDekQsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFFcEIsa0RBQWtEO1FBQ2xELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0MseUJBQXlCO1FBQ3pCLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRW5ELG1DQUFtQztRQUNuQyxJQUFJLEtBQUs7WUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzlDLElBQUksS0FBSztZQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxLQUFLO1lBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDOzhHQWxDUSxhQUFhO2tHQUFiLGFBQWEsNk1BUFo7Ozs7S0FJVDs7U0FHUSxhQUFhOzJGQUFiLGFBQWE7a0JBVnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7OztLQUlUO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQzs4QkFFWSxZQUFZO3NCQUFwQixLQUFLO2dCQUVPLE1BQU07c0JBQWxCLEtBQUs7Z0JBR08sS0FBSztzQkFBakIsS0FBSztnQkFHTyxLQUFLO3NCQUFqQixLQUFLO2dCQUdPLEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIGluamVjdE5ndFJlZiwgTmd0QmVmb3JlUmVuZGVyRXZlbnQsIE5ndFJ4U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAndGhyZWUnO1xuXG5leHRlbmQoeyBHcm91cCB9KTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWJpbGxib2FyZCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmd0LWdyb3VwIG5ndENvbXBvdW5kIFtyZWZdPVwiYmlsbGJvYXJkUmVmXCIgKGJlZm9yZVJlbmRlcik9XCJvbkJlZm9yZVJlbmRlcigkYW55KCRldmVudCkpXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L25ndC1ncm91cD5cbiAgICBgLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0JpbGxib2FyZCBleHRlbmRzIE5ndFJ4U3RvcmUge1xuICAgIEBJbnB1dCgpIGJpbGxib2FyZFJlZiA9IGluamVjdE5ndFJlZjxHcm91cD4oKTtcblxuICAgIEBJbnB1dCgpIHNldCBmb2xsb3coZm9sbG93OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZm9sbG93IH0pO1xuICAgIH1cbiAgICBASW5wdXQoKSBzZXQgbG9ja1gobG9ja1g6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBsb2NrWCB9KTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IGxvY2tZKGxvY2tZOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbG9ja1kgfSk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCBsb2NrWihsb2NrWjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IGxvY2taIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGluaXRpYWxpemUoKSB7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5zZXQoeyBmb2xsb3c6IHRydWUsIGxvY2tYOiBmYWxzZSwgbG9ja1k6IGZhbHNlLCBsb2NrWjogZmFsc2UgfSk7XG4gICAgfVxuXG4gICAgb25CZWZvcmVSZW5kZXIoeyBzdGF0ZSwgb2JqZWN0IH06IE5ndEJlZm9yZVJlbmRlckV2ZW50PEdyb3VwPikge1xuICAgICAgICBjb25zdCB7IGZvbGxvdywgbG9ja1gsIGxvY2tZLCBsb2NrWiB9ID0gdGhpcy5nZXQoKTtcbiAgICAgICAgaWYgKCFmb2xsb3cpIHJldHVybjtcblxuICAgICAgICAvLyBzYXZlIHByZXYgcm90YXRpb24gaW4gY2FzZSB3ZSdyZSBsb2NraW5nIGF4aXNlc1xuICAgICAgICBjb25zdCBwcmV2Um90YXRpb24gPSBvYmplY3Qucm90YXRpb24uY2xvbmUoKTtcbiAgICAgICAgLy8gYWx3YXlzIGZhY2UgdGhlIGNhbWVyYVxuICAgICAgICBzdGF0ZS5jYW1lcmEuZ2V0V29ybGRRdWF0ZXJuaW9uKG9iamVjdC5xdWF0ZXJuaW9uKTtcblxuICAgICAgICAvLyByZWFkanVzdCBhbnkgYXhpcyB0aGF0IGlzIGxvY2tlZFxuICAgICAgICBpZiAobG9ja1gpIG9iamVjdC5yb3RhdGlvbi54ID0gcHJldlJvdGF0aW9uLng7XG4gICAgICAgIGlmIChsb2NrWSkgb2JqZWN0LnJvdGF0aW9uLnkgPSBwcmV2Um90YXRpb24ueTtcbiAgICAgICAgaWYgKGxvY2taKSBvYmplY3Qucm90YXRpb24ueiA9IHByZXZSb3RhdGlvbi56O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
2
|
-
import { injectNgtRef, startWithUndefined } from 'angular-three';
|
|
3
|
-
import { combineLatest, map } from 'rxjs';
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { CatmullRomCurve3 } from 'three';
|
|
6
|
-
import { NgtsLine } from '../line/line';
|
|
7
|
-
import { NgtsLineInput } from '../line/line-input';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
class NgtsCatmullRomLine extends NgtsLineInput {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.lineRef = injectNgtRef();
|
|
13
|
-
}
|
|
14
|
-
set points(points) {
|
|
15
|
-
this.set({ points });
|
|
16
|
-
}
|
|
17
|
-
set closed(closed) {
|
|
18
|
-
this.set({ closed });
|
|
19
|
-
}
|
|
20
|
-
set curveType(curveType) {
|
|
21
|
-
this.set({ curveType });
|
|
22
|
-
}
|
|
23
|
-
set tension(tension) {
|
|
24
|
-
this.set({ tension });
|
|
25
|
-
}
|
|
26
|
-
set segments(segments) {
|
|
27
|
-
this.set({ segments });
|
|
28
|
-
}
|
|
29
|
-
initialize() {
|
|
30
|
-
super.initialize();
|
|
31
|
-
this.set({ closed: false, curveType: 'centripetal', tension: 0.5, segments: 64 });
|
|
32
|
-
this.connect('curve', combineLatest([
|
|
33
|
-
this.select('points'),
|
|
34
|
-
this.select('closed'),
|
|
35
|
-
this.select('curveType'),
|
|
36
|
-
this.select('tension'),
|
|
37
|
-
]).pipe(map(([points, closed, curveType, tension]) => {
|
|
38
|
-
const mappedPoints = points.map((p) => p instanceof THREE.Vector3 ? p : new THREE.Vector3(...p));
|
|
39
|
-
return new CatmullRomCurve3(mappedPoints, closed, curveType, tension);
|
|
40
|
-
})));
|
|
41
|
-
this.connect('segmentedPoints', combineLatest([this.select('curve'), this.select('segments')]).pipe(map(([curve, segments]) => curve.getPoints(segments))));
|
|
42
|
-
this.connect('interpolatedVertexColors', combineLatest([this.select('vertexColors').pipe(startWithUndefined()), this.select('segments')]).pipe(map(([vertexColors, segments]) => {
|
|
43
|
-
if (!vertexColors || vertexColors.length < 2)
|
|
44
|
-
return undefined;
|
|
45
|
-
if (vertexColors.length === segments + 1)
|
|
46
|
-
return vertexColors;
|
|
47
|
-
const mappedColors = vertexColors.map((color) => color instanceof THREE.Color ? color : new THREE.Color(...color));
|
|
48
|
-
if (this.get('closed'))
|
|
49
|
-
mappedColors.push(mappedColors[0].clone());
|
|
50
|
-
const iColors = [mappedColors[0]];
|
|
51
|
-
const divisions = segments / (mappedColors.length - 1);
|
|
52
|
-
for (let i = 0; i < segments; i++) {
|
|
53
|
-
const alpha = (i % divisions) / divisions;
|
|
54
|
-
const colorIndex = Math.floor(i / divisions);
|
|
55
|
-
iColors.push(mappedColors[colorIndex].clone().lerp(mappedColors[colorIndex + 1], alpha));
|
|
56
|
-
}
|
|
57
|
-
iColors.push(mappedColors[mappedColors.length - 1]);
|
|
58
|
-
})));
|
|
59
|
-
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCatmullRomLine, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsCatmullRomLine, isStandalone: true, selector: "ngts-catmull-rom-line[points]", inputs: { lineRef: "lineRef", points: "points", closed: "closed", curveType: "curveType", tension: "tension", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
|
|
62
|
-
<ngts-line
|
|
63
|
-
[lineRef]="lineRef"
|
|
64
|
-
[points]="get('segmentedPoints')"
|
|
65
|
-
[color]="get('color')"
|
|
66
|
-
[vertexColors]="get('interpolatedVertexColors')"
|
|
67
|
-
[resolution]="get('resolution')"
|
|
68
|
-
[lineWidth]="get('lineWidth')"
|
|
69
|
-
[alphaToCoverage]="get('alphaToCoverage')"
|
|
70
|
-
[dashed]="get('dashed')"
|
|
71
|
-
[dashScale]="get('dashScale')"
|
|
72
|
-
[dashOffset]="get('dashOffset')"
|
|
73
|
-
[dashSize]="get('dashSize')"
|
|
74
|
-
[gapSize]="get('gapSize')"
|
|
75
|
-
[wireframe]="get('wireframe')"
|
|
76
|
-
[worldUnits]="get('worldUnits')"
|
|
77
|
-
/>
|
|
78
|
-
`, isInline: true, dependencies: [{ kind: "component", type: NgtsLine, selector: "ngts-line[points]", inputs: ["lineRef", "points", "segments"] }] }); }
|
|
79
|
-
}
|
|
80
|
-
export { NgtsCatmullRomLine };
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCatmullRomLine, decorators: [{
|
|
82
|
-
type: Component,
|
|
83
|
-
args: [{
|
|
84
|
-
selector: 'ngts-catmull-rom-line[points]',
|
|
85
|
-
standalone: true,
|
|
86
|
-
template: `
|
|
87
|
-
<ngts-line
|
|
88
|
-
[lineRef]="lineRef"
|
|
89
|
-
[points]="get('segmentedPoints')"
|
|
90
|
-
[color]="get('color')"
|
|
91
|
-
[vertexColors]="get('interpolatedVertexColors')"
|
|
92
|
-
[resolution]="get('resolution')"
|
|
93
|
-
[lineWidth]="get('lineWidth')"
|
|
94
|
-
[alphaToCoverage]="get('alphaToCoverage')"
|
|
95
|
-
[dashed]="get('dashed')"
|
|
96
|
-
[dashScale]="get('dashScale')"
|
|
97
|
-
[dashOffset]="get('dashOffset')"
|
|
98
|
-
[dashSize]="get('dashSize')"
|
|
99
|
-
[gapSize]="get('gapSize')"
|
|
100
|
-
[wireframe]="get('wireframe')"
|
|
101
|
-
[worldUnits]="get('worldUnits')"
|
|
102
|
-
/>
|
|
103
|
-
`,
|
|
104
|
-
imports: [NgtsLine],
|
|
105
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
106
|
-
}]
|
|
107
|
-
}], propDecorators: { lineRef: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], points: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], closed: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], curveType: [{
|
|
114
|
-
type: Input
|
|
115
|
-
}], tension: [{
|
|
116
|
-
type: Input
|
|
117
|
-
}], segments: [{
|
|
118
|
-
type: Input
|
|
119
|
-
}] } });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0bXVsbC1yb20tbGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci10aHJlZS1zb2JhL2Fic3RyYWN0aW9ucy9zcmMvbGliL2NhdG11bGwtcm9tLWxpbmUvY2F0bXVsbC1yb20tbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUV6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFbkQsTUF3QmEsa0JBQW1CLFNBQVEsYUFBYTtJQXhCckQ7O1FBeUJhLFlBQU8sR0FBRyxZQUFZLEVBQVMsQ0FBQztLQTJFNUM7SUF6RUcsSUFBYSxNQUFNLENBQ2YsTUFBbUc7UUFFbkcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQWEsTUFBTSxDQUFDLE1BQWU7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQWEsU0FBUyxDQUFDLFNBQW1EO1FBQ3RFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFhLE9BQU8sQ0FBQyxPQUFlO1FBQ2hDLElB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SU8sU0FBUztzQkFBckIsS0FBSztnQkFJTyxPQUFPO3NCQUFuQixLQUFLO2dCQUlPLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3ROZ3RSZWYsIHN0YXJ0V2l0aFVuZGVmaW5lZCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBDYXRtdWxsUm9tQ3VydmUzIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTGluZTIgfSBmcm9tICd0aHJlZS1zdGRsaWInO1xuaW1wb3J0IHsgTmd0c0xpbmUgfSBmcm9tICcuLi9saW5lL2xpbmUnO1xuaW1wb3J0IHsgTmd0c0xpbmVJbnB1dCB9IGZyb20gJy4uL2xpbmUvbGluZS1pbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0cy1jYXRtdWxsLXJvbS1saW5lW3BvaW50c10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5ndHMtbGluZVxuICAgICAgICAgICAgW2xpbmVSZWZdPVwibGluZVJlZlwiXG4gICAgICAgICAgICBbcG9pbnRzXT1cImdldCgnc2VnbWVudGVkUG9pbnRzJylcIlxuICAgICAgICAgICAgW2NvbG9yXT1cImdldCgnY29sb3InKVwiXG4gICAgICAgICAgICBbdmVydGV4Q29sb3JzXT1cImdldCgnaW50ZXJwb2xhdGVkVmVydGV4Q29sb3JzJylcIlxuICAgICAgICAgICAgW3Jlc29sdXRpb25dPVwiZ2V0KCdyZXNvbHV0aW9uJylcIlxuICAgICAgICAgICAgW2xpbmVXaWR0aF09XCJnZXQoJ2xpbmVXaWR0aCcpXCJcbiAgICAgICAgICAgIFthbHBoYVRvQ292ZXJhZ2VdPVwiZ2V0KCdhbHBoYVRvQ292ZXJhZ2UnKVwiXG4gICAgICAgICAgICBbZGFzaGVkXT1cImdldCgnZGFzaGVkJylcIlxuICAgICAgICAgICAgW2Rhc2hTY2FsZV09XCJnZXQoJ2Rhc2hTY2FsZScpXCJcbiAgICAgICAgICAgIFtkYXNoT2Zmc2V0XT1cImdldCgnZGFzaE9mZnNldCcpXCJcbiAgICAgICAgICAgIFtkYXNoU2l6ZV09XCJnZXQoJ2Rhc2hTaXplJylcIlxuICAgICAgICAgICAgW2dhcFNpemVdPVwiZ2V0KCdnYXBTaXplJylcIlxuICAgICAgICAgICAgW3dpcmVmcmFtZV09XCJnZXQoJ3dpcmVmcmFtZScpXCJcbiAgICAgICAgICAgIFt3b3JsZFVuaXRzXT1cImdldCgnd29ybGRVbml0cycpXCJcbiAgICAgICAgLz5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ3RzTGluZV0sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzQ2F0bXVsbFJvbUxpbmUgZXh0ZW5kcyBOZ3RzTGluZUlucHV0IHtcbiAgICBASW5wdXQoKSBsaW5lUmVmID0gaW5qZWN0Tmd0UmVmPExpbmUyPigpO1xuXG4gICAgQElucHV0KCkgc2V0IHBvaW50cyhcbiAgICAgICAgcG9pbnRzOiBBcnJheTxUSFJFRS5WZWN0b3IzIHwgVEhSRUUuVmVjdG9yMiB8IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSB8IFtudW1iZXIsIG51bWJlcl0gfCBudW1iZXI+XG4gICAgKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgcG9pbnRzIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBjbG9zZWQoY2xvc2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgY2xvc2VkIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBjdXJ2ZVR5cGUoY3VydmVUeXBlOiAnY2VudHJpcGV0YWwnIHwgJ2Nob3JkYWwnIHwgJ2NhdG11bGxyb20nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgY3VydmVUeXBlIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCB0ZW5zaW9uKHRlbnNpb246IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHRlbnNpb24gfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNlZ21lbnRzKHNlZ21lbnRzOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBzZWdtZW50cyB9KTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5pbml0aWFsaXplKCk7XG4gICAgICAgIHRoaXMuc2V0KHsgY2xvc2VkOiBmYWxzZSwgY3VydmVUeXBlOiAnY2VudHJpcGV0YWwnLCB0ZW5zaW9uOiAwLjUsIHNlZ21lbnRzOiA2NCB9KTtcbiAgICAgICAgdGhpcy5jb25uZWN0KFxuICAgICAgICAgICAgJ2N1cnZlJyxcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdwb2ludHMnKSxcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgnY2xvc2VkJyksXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ2N1cnZlVHlwZScpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCd0ZW5zaW9uJyksXG4gICAgICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoW3BvaW50cywgY2xvc2VkLCBjdXJ2ZVR5cGUsIHRlbnNpb25dKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcHBlZFBvaW50cyA9IChwb2ludHMgYXMgTmd0c0NhdG11bGxSb21MaW5lWydwb2ludHMnXSkubWFwKChwKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgcCBpbnN0YW5jZW9mIFRIUkVFLlZlY3RvcjMgPyBwIDogbmV3IFRIUkVFLlZlY3RvcjMoLi4uKHAgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXJdKSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDYXRtdWxsUm9tQ3VydmUzKG1hcHBlZFBvaW50cywgY2xvc2VkLCBjdXJ2ZVR5cGUsIHRlbnNpb24pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jb25uZWN0KFxuICAgICAgICAgICAgJ3NlZ21lbnRlZFBvaW50cycsXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnNlbGVjdCgnY3VydmUnKSwgdGhpcy5zZWxlY3QoJ3NlZ21lbnRzJyldKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoW2N1cnZlLCBzZWdtZW50c10pID0+IGN1cnZlLmdldFBvaW50cyhzZWdtZW50cykpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jb25uZWN0KFxuICAgICAgICAgICAgJ2ludGVycG9sYXRlZFZlcnRleENvbG9ycycsXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnNlbGVjdCgndmVydGV4Q29sb3JzJykucGlwZShzdGFydFdpdGhVbmRlZmluZWQoKSksIHRoaXMuc2VsZWN0KCdzZWdtZW50cycpXSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKFt2ZXJ0ZXhDb2xvcnMsIHNlZ21lbnRzXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXZlcnRleENvbG9ycyB8fCB2ZXJ0ZXhDb2xvcnMubGVuZ3RoIDwgMikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZlcnRleENvbG9ycy5sZW5ndGggPT09IHNlZ21lbnRzICsgMSkgcmV0dXJuIHZlcnRleENvbG9ycztcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXBwZWRDb2xvcnMgPSB2ZXJ0ZXhDb2xvcnMubWFwKChjb2xvcjogVEhSRUUuQ29sb3IgfCBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvciBpbnN0YW5jZW9mIFRIUkVFLkNvbG9yID8gY29sb3IgOiBuZXcgVEhSRUUuQ29sb3IoLi4uY29sb3IpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmdldCgnY2xvc2VkJykpIG1hcHBlZENvbG9ycy5wdXNoKG1hcHBlZENvbG9yc1swXS5jbG9uZSgpKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpQ29sb3JzOiBUSFJFRS5Db2xvcltdID0gW21hcHBlZENvbG9yc1swXV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpdmlzaW9ucyA9IHNlZ21lbnRzIC8gKG1hcHBlZENvbG9ycy5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZWdtZW50czsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhbHBoYSA9IChpICUgZGl2aXNpb25zKSAvIGRpdmlzaW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbG9ySW5kZXggPSBNYXRoLmZsb29yKGkgLyBkaXZpc2lvbnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaUNvbG9ycy5wdXNoKG1hcHBlZENvbG9yc1tjb2xvckluZGV4XS5jbG9uZSgpLmxlcnAobWFwcGVkQ29sb3JzW2NvbG9ySW5kZXggKyAxXSwgYWxwaGEpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpQ29sb3JzLnB1c2gobWFwcGVkQ29sb3JzW21hcHBlZENvbG9ycy5sZW5ndGggLSAxXSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
3
|
-
import { injectNgtRef } from 'angular-three';
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { NgtsLine } from '../line/line';
|
|
6
|
-
import { NgtsLineInput } from '../line/line-input';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
class NgtsCubicBezierLine extends NgtsLineInput {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this.lineRef = injectNgtRef();
|
|
12
|
-
}
|
|
13
|
-
set start(start) {
|
|
14
|
-
this.set({ start });
|
|
15
|
-
}
|
|
16
|
-
set end(end) {
|
|
17
|
-
this.set({ end });
|
|
18
|
-
}
|
|
19
|
-
set midA(midA) {
|
|
20
|
-
this.set({ midA });
|
|
21
|
-
}
|
|
22
|
-
set midB(midB) {
|
|
23
|
-
this.set({ midB });
|
|
24
|
-
}
|
|
25
|
-
set segments(segments) {
|
|
26
|
-
this.set({ segments });
|
|
27
|
-
}
|
|
28
|
-
initialize() {
|
|
29
|
-
super.initialize();
|
|
30
|
-
this.set({ segments: 10 });
|
|
31
|
-
this.connect('points', this.select(['start', 'end', 'midA', 'midB', 'segments'], ({ start, end, midA, midB, segments }) => {
|
|
32
|
-
const startV = start instanceof THREE.Vector3 ? start : new THREE.Vector3(...start);
|
|
33
|
-
const endV = end instanceof THREE.Vector3 ? end : new THREE.Vector3(...end);
|
|
34
|
-
const midAV = midA instanceof THREE.Vector3 ? midA : new THREE.Vector3(...midA);
|
|
35
|
-
const midBV = midB instanceof THREE.Vector3 ? midB : new THREE.Vector3(...midB);
|
|
36
|
-
return new THREE.CubicBezierCurve3(startV, midAV, midBV, endV).getPoints(segments);
|
|
37
|
-
}));
|
|
38
|
-
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCubicBezierLine, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsCubicBezierLine, isStandalone: true, selector: "ngts-cubic-bezier-line[start][end][midA][midB]", inputs: { lineRef: "lineRef", start: "start", end: "end", midA: "midA", midB: "midB", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
|
|
41
|
-
<ngts-line
|
|
42
|
-
[lineRef]="lineRef"
|
|
43
|
-
[points]="get('points')"
|
|
44
|
-
[color]="get('color')"
|
|
45
|
-
[vertexColors]="get('vertexColors')"
|
|
46
|
-
[resolution]="get('resolution')"
|
|
47
|
-
[lineWidth]="get('lineWidth')"
|
|
48
|
-
[alphaToCoverage]="get('alphaToCoverage')"
|
|
49
|
-
[dashed]="get('dashed')"
|
|
50
|
-
[dashScale]="get('dashScale')"
|
|
51
|
-
[dashSize]="get('dashSize')"
|
|
52
|
-
[dashOffset]="get('dashOffset')"
|
|
53
|
-
[gapSize]="get('gapSize')"
|
|
54
|
-
[wireframe]="get('wireframe')"
|
|
55
|
-
[worldUnits]="get('worldUnits')"
|
|
56
|
-
/>
|
|
57
|
-
`, isInline: true, dependencies: [{ kind: "component", type: NgtsLine, selector: "ngts-line[points]", inputs: ["lineRef", "points", "segments"] }] }); }
|
|
58
|
-
}
|
|
59
|
-
export { NgtsCubicBezierLine };
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCubicBezierLine, decorators: [{
|
|
61
|
-
type: Component,
|
|
62
|
-
args: [{
|
|
63
|
-
selector: 'ngts-cubic-bezier-line[start][end][midA][midB]',
|
|
64
|
-
standalone: true,
|
|
65
|
-
template: `
|
|
66
|
-
<ngts-line
|
|
67
|
-
[lineRef]="lineRef"
|
|
68
|
-
[points]="get('points')"
|
|
69
|
-
[color]="get('color')"
|
|
70
|
-
[vertexColors]="get('vertexColors')"
|
|
71
|
-
[resolution]="get('resolution')"
|
|
72
|
-
[lineWidth]="get('lineWidth')"
|
|
73
|
-
[alphaToCoverage]="get('alphaToCoverage')"
|
|
74
|
-
[dashed]="get('dashed')"
|
|
75
|
-
[dashScale]="get('dashScale')"
|
|
76
|
-
[dashSize]="get('dashSize')"
|
|
77
|
-
[dashOffset]="get('dashOffset')"
|
|
78
|
-
[gapSize]="get('gapSize')"
|
|
79
|
-
[wireframe]="get('wireframe')"
|
|
80
|
-
[worldUnits]="get('worldUnits')"
|
|
81
|
-
/>
|
|
82
|
-
`,
|
|
83
|
-
imports: [NgtsLine, NgIf],
|
|
84
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
85
|
-
}]
|
|
86
|
-
}], propDecorators: { lineRef: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}], start: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], end: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], midA: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], midB: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}], segments: [{
|
|
97
|
-
type: Input
|
|
98
|
-
}] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViaWMtYmV6aWVyLWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUtc29iYS9hYnN0cmFjdGlvbnMvc3JjL2xpYi9jdWJpYy1iZXppZXItbGluZS9jdWJpYy1iZXppZXItbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFbkQsTUF3QmEsbUJBQW9CLFNBQVEsYUFBYTtJQXhCdEQ7O1FBeUJhLFlBQU8sR0FBRyxZQUFZLEVBQVMsQ0FBQztLQW9DNUM7SUFsQ0csSUFBYSxLQUFLLENBQUMsS0FBK0M7UUFDOUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQWEsR0FBRyxDQUFDLEdBQTZDO1FBQzFELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFhLElBQUksQ0FBQyxJQUE4QztRQUM1RCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBYSxJQUFJLENBQUMsSUFBOEM7UUFDNUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQWEsUUFBUSxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFUSxVQUFVO1FBQ2YsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxDQUNSLFFBQVEsRUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUMvRixNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUNwRixNQUFNLElBQUksR0FBRyxHQUFHLFlBQVksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUM1RSxNQUFNLEtBQUssR0FBRyxJQUFJLFlBQVksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNoRixNQUFNLEtBQUssR0FBRyxJQUFJLFlBQVksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNoRixPQUFPLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs4R0FwQ1EsbUJBQW1CO2tHQUFuQixtQkFBbUIsK09BckJsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpQlQsNERBQ1MsUUFBUTs7U0FHVCxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkF4Qi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdEQUFnRDtvQkFDMUQsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpQlQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztvQkFDekIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDOzhCQUVZLE9BQU87c0JBQWYsS0FBSztnQkFFTyxLQUFLO3NCQUFqQixLQUFLO2dCQUlPLEdBQUc7c0JBQWYsS0FBSztnQkFJTyxJQUFJO3NCQUFoQixLQUFLO2dCQUlPLElBQUk7c0JBQWhCLEtBQUs7Z0JBSU8sUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0UmVmIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBMaW5lMiB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5pbXBvcnQgeyBOZ3RzTGluZSB9IGZyb20gJy4uL2xpbmUvbGluZSc7XG5pbXBvcnQgeyBOZ3RzTGluZUlucHV0IH0gZnJvbSAnLi4vbGluZS9saW5lLWlucHV0JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWN1YmljLWJlemllci1saW5lW3N0YXJ0XVtlbmRdW21pZEFdW21pZEJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3RzLWxpbmVcbiAgICAgICAgICAgIFtsaW5lUmVmXT1cImxpbmVSZWZcIlxuICAgICAgICAgICAgW3BvaW50c109XCJnZXQoJ3BvaW50cycpXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJnZXQoJ2NvbG9yJylcIlxuICAgICAgICAgICAgW3ZlcnRleENvbG9yc109XCJnZXQoJ3ZlcnRleENvbG9ycycpXCJcbiAgICAgICAgICAgIFtyZXNvbHV0aW9uXT1cImdldCgncmVzb2x1dGlvbicpXCJcbiAgICAgICAgICAgIFtsaW5lV2lkdGhdPVwiZ2V0KCdsaW5lV2lkdGgnKVwiXG4gICAgICAgICAgICBbYWxwaGFUb0NvdmVyYWdlXT1cImdldCgnYWxwaGFUb0NvdmVyYWdlJylcIlxuICAgICAgICAgICAgW2Rhc2hlZF09XCJnZXQoJ2Rhc2hlZCcpXCJcbiAgICAgICAgICAgIFtkYXNoU2NhbGVdPVwiZ2V0KCdkYXNoU2NhbGUnKVwiXG4gICAgICAgICAgICBbZGFzaFNpemVdPVwiZ2V0KCdkYXNoU2l6ZScpXCJcbiAgICAgICAgICAgIFtkYXNoT2Zmc2V0XT1cImdldCgnZGFzaE9mZnNldCcpXCJcbiAgICAgICAgICAgIFtnYXBTaXplXT1cImdldCgnZ2FwU2l6ZScpXCJcbiAgICAgICAgICAgIFt3aXJlZnJhbWVdPVwiZ2V0KCd3aXJlZnJhbWUnKVwiXG4gICAgICAgICAgICBbd29ybGRVbml0c109XCJnZXQoJ3dvcmxkVW5pdHMnKVwiXG4gICAgICAgIC8+XG4gICAgYCxcbiAgICBpbXBvcnRzOiBbTmd0c0xpbmUsIE5nSWZdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0N1YmljQmV6aWVyTGluZSBleHRlbmRzIE5ndHNMaW5lSW5wdXQge1xuICAgIEBJbnB1dCgpIGxpbmVSZWYgPSBpbmplY3ROZ3RSZWY8TGluZTI+KCk7XG5cbiAgICBASW5wdXQoKSBzZXQgc3RhcnQoc3RhcnQ6IFRIUkVFLlZlY3RvcjMgfCBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBzdGFydCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZW5kKGVuZDogVEhSRUUuVmVjdG9yMyB8IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSkge1xuICAgICAgICB0aGlzLnNldCh7IGVuZCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbWlkQShtaWRBOiBUSFJFRS5WZWN0b3IzIHwgW251bWJlciwgbnVtYmVyLCBudW1iZXJdKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbWlkQSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbWlkQihtaWRCOiBUSFJFRS5WZWN0b3IzIHwgW251bWJlciwgbnVtYmVyLCBudW1iZXJdKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbWlkQiB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgc2VnbWVudHMoc2VnbWVudHM6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHNlZ21lbnRzIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5zZXQoeyBzZWdtZW50czogMTAgfSk7XG4gICAgICAgIHRoaXMuY29ubmVjdChcbiAgICAgICAgICAgICdwb2ludHMnLFxuICAgICAgICAgICAgdGhpcy5zZWxlY3QoWydzdGFydCcsICdlbmQnLCAnbWlkQScsICdtaWRCJywgJ3NlZ21lbnRzJ10sICh7IHN0YXJ0LCBlbmQsIG1pZEEsIG1pZEIsIHNlZ21lbnRzIH0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydFYgPSBzdGFydCBpbnN0YW5jZW9mIFRIUkVFLlZlY3RvcjMgPyBzdGFydCA6IG5ldyBUSFJFRS5WZWN0b3IzKC4uLnN0YXJ0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmRWID0gZW5kIGluc3RhbmNlb2YgVEhSRUUuVmVjdG9yMyA/IGVuZCA6IG5ldyBUSFJFRS5WZWN0b3IzKC4uLmVuZCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbWlkQVYgPSBtaWRBIGluc3RhbmNlb2YgVEhSRUUuVmVjdG9yMyA/IG1pZEEgOiBuZXcgVEhSRUUuVmVjdG9yMyguLi5taWRBKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtaWRCViA9IG1pZEIgaW5zdGFuY2VvZiBUSFJFRS5WZWN0b3IzID8gbWlkQiA6IG5ldyBUSFJFRS5WZWN0b3IzKC4uLm1pZEIpO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgVEhSRUUuQ3ViaWNCZXppZXJDdXJ2ZTMoc3RhcnRWLCBtaWRBViwgbWlkQlYsIGVuZFYpLmdldFBvaW50cyhzZWdtZW50cyk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
3
|
-
import { extend, injectNgtRef, NgtRxStore } from 'angular-three';
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { LineBasicMaterial, LineSegments } from 'three';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
extend({ LineSegments, LineBasicMaterial });
|
|
8
|
-
class NgtsEdges extends NgtRxStore {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this.edgesRef = injectNgtRef();
|
|
12
|
-
this.withChildren = false;
|
|
13
|
-
this.noop = () => null;
|
|
14
|
-
}
|
|
15
|
-
set threshold(threshold) {
|
|
16
|
-
this.set({ threshold });
|
|
17
|
-
}
|
|
18
|
-
set color(color) {
|
|
19
|
-
this.set({ color });
|
|
20
|
-
}
|
|
21
|
-
set geometry(geometry) {
|
|
22
|
-
this.set({ geometry });
|
|
23
|
-
}
|
|
24
|
-
set userData(userData) {
|
|
25
|
-
this.set({ userData });
|
|
26
|
-
}
|
|
27
|
-
initialize() {
|
|
28
|
-
super.initialize();
|
|
29
|
-
this.set({
|
|
30
|
-
threshold: 15,
|
|
31
|
-
color: 'black',
|
|
32
|
-
userData: {},
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
this.setupGeometry();
|
|
37
|
-
}
|
|
38
|
-
setupGeometry() {
|
|
39
|
-
this.hold(this.edgesRef.$, (segments) => {
|
|
40
|
-
const parent = segments.parent;
|
|
41
|
-
if (parent) {
|
|
42
|
-
const geom = this.get('geometry') || parent.geometry;
|
|
43
|
-
const threshold = this.get('threshold');
|
|
44
|
-
if (geom !== segments.userData['currentGeom'] || threshold !== segments.userData['currentThreshold']) {
|
|
45
|
-
segments.userData['currentGeom'] = geom;
|
|
46
|
-
segments.userData['currentThreshold'] = threshold;
|
|
47
|
-
segments.geometry = new THREE.EdgesGeometry(geom, threshold);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsEdges, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsEdges, isStandalone: true, selector: "ngts-edges", inputs: { edgesRef: "edgesRef", threshold: "threshold", color: "color", geometry: "geometry", userData: "userData", withChildren: "withChildren" }, usesInheritance: true, ngImport: i0, template: `
|
|
54
|
-
<ngt-line-segments [ref]="edgesRef" [raycast]="noop" ngtCompound>
|
|
55
|
-
<ng-container *ngIf="withChildren; else noChildren">
|
|
56
|
-
<ng-content />
|
|
57
|
-
</ng-container>
|
|
58
|
-
<ng-template #noChildren>
|
|
59
|
-
<ngt-line-basic-material [color]="color" />
|
|
60
|
-
</ng-template>
|
|
61
|
-
</ngt-line-segments>
|
|
62
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
63
|
-
}
|
|
64
|
-
export { NgtsEdges };
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsEdges, decorators: [{
|
|
66
|
-
type: Component,
|
|
67
|
-
args: [{
|
|
68
|
-
selector: 'ngts-edges',
|
|
69
|
-
standalone: true,
|
|
70
|
-
template: `
|
|
71
|
-
<ngt-line-segments [ref]="edgesRef" [raycast]="noop" ngtCompound>
|
|
72
|
-
<ng-container *ngIf="withChildren; else noChildren">
|
|
73
|
-
<ng-content />
|
|
74
|
-
</ng-container>
|
|
75
|
-
<ng-template #noChildren>
|
|
76
|
-
<ngt-line-basic-material [color]="color" />
|
|
77
|
-
</ng-template>
|
|
78
|
-
</ngt-line-segments>
|
|
79
|
-
`,
|
|
80
|
-
imports: [NgIf],
|
|
81
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
82
|
-
}]
|
|
83
|
-
}], propDecorators: { edgesRef: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], threshold: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], color: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], geometry: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], userData: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], withChildren: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}] } });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUtc29iYS9hYnN0cmFjdGlvbnMvc3JjL2xpYi9lZGdlcy9lZGdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWdCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQUV4RCxNQUFNLENBQUMsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0FBRTVDLE1BZ0JhLFNBQVUsU0FBUSxVQUFVO0lBaEJ6Qzs7UUFpQmEsYUFBUSxHQUFHLFlBQVksRUFBc0IsQ0FBQztRQWtCOUMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsU0FBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztLQTZCOUI7SUEvQ0csSUFBYSxTQUFTLENBQUMsU0FBaUI7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQWEsS0FBSyxDQUFDLEtBQWdDO1FBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFhLFFBQVEsQ0FBQyxRQUE4QjtRQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBYSxRQUFRLENBQUMsUUFBc0I7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQU1RLFVBQVU7UUFDZixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNMLFNBQVMsRUFBRSxFQUFFO1lBQ2IsS0FBSyxFQUFFLE9BQU87WUFDZCxRQUFRLEVBQUUsRUFBRTtTQUNmLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNwQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBb0IsQ0FBQztZQUM3QyxJQUFJLE1BQU0sRUFBRTtnQkFDUixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUM7Z0JBQ3JELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3hDLElBQUksSUFBSSxLQUFLLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksU0FBUyxLQUFLLFFBQVEsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBRTtvQkFDbEcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7b0JBQ3hDLFFBQVEsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ2xELFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztpQkFDaEU7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FqRFEsU0FBUztrR0FBVCxTQUFTLGlQQWJSOzs7Ozs7Ozs7S0FTVCw0REFDUyxJQUFJOztTQUdMLFNBQVM7MkZBQVQsU0FBUztrQkFoQnJCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7OztLQVNUO29CQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQztvQkFDZixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7OEJBRVksUUFBUTtzQkFBaEIsS0FBSztnQkFFTyxTQUFTO3NCQUFyQixLQUFLO2dCQUlPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBSU8sUUFBUTtzQkFBcEIsS0FBSztnQkFJTyxRQUFRO3NCQUFwQixLQUFLO2dCQUlHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kLCBpbmplY3ROZ3RSZWYsIE5ndEFueVJlY29yZCwgTmd0UnhTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTGluZUJhc2ljTWF0ZXJpYWwsIExpbmVTZWdtZW50cyB9IGZyb20gJ3RocmVlJztcblxuZXh0ZW5kKHsgTGluZVNlZ21lbnRzLCBMaW5lQmFzaWNNYXRlcmlhbCB9KTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWVkZ2VzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtbGluZS1zZWdtZW50cyBbcmVmXT1cImVkZ2VzUmVmXCIgW3JheWNhc3RdPVwibm9vcFwiIG5ndENvbXBvdW5kPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpdGhDaGlsZHJlbjsgZWxzZSBub0NoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub0NoaWxkcmVuPlxuICAgICAgICAgICAgICAgIDxuZ3QtbGluZS1iYXNpYy1tYXRlcmlhbCBbY29sb3JdPVwiY29sb3JcIiAvPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZ3QtbGluZS1zZWdtZW50cz5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ0lmXSxcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNFZGdlcyBleHRlbmRzIE5ndFJ4U3RvcmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGVkZ2VzUmVmID0gaW5qZWN0Tmd0UmVmPFRIUkVFLkxpbmVTZWdtZW50cz4oKTtcblxuICAgIEBJbnB1dCgpIHNldCB0aHJlc2hvbGQodGhyZXNob2xkOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyB0aHJlc2hvbGQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGNvbG9yKGNvbG9yOiBUSFJFRS5Db2xvclJlcHJlc2VudGF0aW9uKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgY29sb3IgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGdlb21ldHJ5KGdlb21ldHJ5OiBUSFJFRS5CdWZmZXJHZW9tZXRyeSkge1xuICAgICAgICB0aGlzLnNldCh7IGdlb21ldHJ5IH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCB1c2VyRGF0YSh1c2VyRGF0YTogTmd0QW55UmVjb3JkKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgdXNlckRhdGEgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgd2l0aENoaWxkcmVuID0gZmFsc2U7XG5cbiAgICByZWFkb25seSBub29wID0gKCkgPT4gbnVsbDtcblxuICAgIG92ZXJyaWRlIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5zZXQoe1xuICAgICAgICAgICAgdGhyZXNob2xkOiAxNSxcbiAgICAgICAgICAgIGNvbG9yOiAnYmxhY2snLFxuICAgICAgICAgICAgdXNlckRhdGE6IHt9LFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXR1cEdlb21ldHJ5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cEdlb21ldHJ5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvbGQodGhpcy5lZGdlc1JlZi4kLCAoc2VnbWVudHMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHNlZ21lbnRzLnBhcmVudCBhcyBUSFJFRS5NZXNoO1xuICAgICAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdlb20gPSB0aGlzLmdldCgnZ2VvbWV0cnknKSB8fCBwYXJlbnQuZ2VvbWV0cnk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhyZXNob2xkID0gdGhpcy5nZXQoJ3RocmVzaG9sZCcpO1xuICAgICAgICAgICAgICAgIGlmIChnZW9tICE9PSBzZWdtZW50cy51c2VyRGF0YVsnY3VycmVudEdlb20nXSB8fCB0aHJlc2hvbGQgIT09IHNlZ21lbnRzLnVzZXJEYXRhWydjdXJyZW50VGhyZXNob2xkJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgc2VnbWVudHMudXNlckRhdGFbJ2N1cnJlbnRHZW9tJ10gPSBnZW9tO1xuICAgICAgICAgICAgICAgICAgICBzZWdtZW50cy51c2VyRGF0YVsnY3VycmVudFRocmVzaG9sZCddID0gdGhyZXNob2xkO1xuICAgICAgICAgICAgICAgICAgICBzZWdtZW50cy5nZW9tZXRyeSA9IG5ldyBUSFJFRS5FZGdlc0dlb21ldHJ5KGdlb20sIHRocmVzaG9sZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|