angular-three-soba 2.0.0-beta.4 → 2.0.0-beta.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstractions/billboard/billboard.d.ts +12 -8
- package/abstractions/detailed/detailed.d.ts +26 -0
- package/abstractions/edges/edges.d.ts +24 -12
- package/abstractions/grid/grid.d.ts +42 -51
- package/abstractions/index.d.ts +1 -7
- package/abstractions/text/text.d.ts +10 -4
- package/abstractions/text-3d/text-3d.d.ts +51 -41
- package/cameras/camera/camera-content.d.ts +1 -1
- package/cameras/camera/camera.d.ts +16 -13
- package/cameras/cube-camera/cube-camera.d.ts +49 -23
- package/cameras/index.d.ts +0 -1
- package/cameras/orthographic-camera/orthographic-camera.d.ts +29 -18
- package/cameras/perspective-camera/perspective-camera.d.ts +10 -1
- package/controls/orbit-controls/orbit-controls.d.ts +34 -15
- package/esm2022/abstractions/billboard/billboard.mjs +36 -33
- package/esm2022/abstractions/detailed/detailed.mjs +64 -0
- package/esm2022/abstractions/edges/edges.mjs +58 -63
- package/esm2022/abstractions/grid/grid.mjs +140 -110
- package/esm2022/abstractions/index.mjs +2 -8
- package/esm2022/abstractions/text/text.mjs +123 -122
- package/esm2022/abstractions/text-3d/text-3d.mjs +120 -115
- package/esm2022/cameras/camera/camera-content.mjs +6 -6
- package/esm2022/cameras/camera/camera.mjs +48 -42
- package/esm2022/cameras/cube-camera/cube-camera.mjs +120 -100
- package/esm2022/cameras/index.mjs +1 -2
- package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +78 -75
- package/esm2022/cameras/perspective-camera/perspective-camera.mjs +25 -26
- package/esm2022/controls/orbit-controls/orbit-controls.mjs +109 -85
- package/esm2022/gizmos/angular-three-soba-gizmos.mjs +5 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +198 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/constants.mjs +31 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +93 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +151 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +66 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +71 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +195 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +272 -0
- package/esm2022/gizmos/index.mjs +4 -0
- package/esm2022/loaders/gltf-loader/gltf-loader.mjs +14 -9
- package/esm2022/loaders/loader/loader.mjs +92 -87
- package/esm2022/loaders/progress/progress.mjs +31 -30
- package/esm2022/loaders/texture-loader/texture-loader.mjs +20 -15
- package/esm2022/materials/index.mjs +2 -1
- package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +60 -51
- package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +239 -255
- package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +99 -97
- package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +164 -144
- package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +44 -42
- package/esm2022/materials/point-material/point-material.mjs +50 -0
- package/esm2022/misc/animations/animations.mjs +28 -23
- package/esm2022/misc/bake-shadows/bake-shadows.mjs +13 -13
- package/esm2022/misc/caustics/caustics.mjs +387 -0
- package/esm2022/misc/decal/decal.mjs +187 -0
- package/esm2022/misc/depth-buffer/depth-buffer.mjs +41 -37
- package/esm2022/misc/example/example.mjs +161 -0
- package/esm2022/misc/fbo/fbo.mjs +42 -36
- package/esm2022/misc/html/html-wrapper.mjs +478 -0
- package/esm2022/misc/html/html.mjs +305 -0
- package/esm2022/misc/index.mjs +10 -1
- package/esm2022/misc/sampler/sampler.mjs +132 -0
- package/esm2022/misc/shadow/shadow.mjs +111 -0
- package/esm2022/misc/stats-gl/stats-gl.mjs +61 -0
- package/esm2022/misc/trail/trail.mjs +204 -0
- package/esm2022/misc/trail-texture/inject-trail-texture.mjs +17 -0
- package/esm2022/misc/trail-texture/trail-texture.mjs +106 -0
- package/esm2022/modifiers/angular-three-soba-modifiers.mjs +5 -0
- package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +64 -0
- package/esm2022/modifiers/index.mjs +2 -0
- package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +44 -0
- package/esm2022/performances/adaptive-events/adaptive-events.mjs +27 -0
- package/esm2022/performances/angular-three-soba-performances.mjs +5 -0
- package/esm2022/performances/index.mjs +8 -0
- package/esm2022/performances/instances/instances.mjs +221 -0
- package/esm2022/performances/instances/position-mesh.mjs +52 -0
- package/esm2022/performances/points/points-input.mjs +64 -0
- package/esm2022/performances/points/points.mjs +327 -0
- package/esm2022/performances/points/position-point.mjs +54 -0
- package/esm2022/performances/segments/segment-object.mjs +9 -0
- package/esm2022/performances/segments/segments.mjs +183 -0
- package/esm2022/shaders/blur-pass/blur-pass.mjs +2 -2
- package/esm2022/shaders/caustics/caustics-material.mjs +130 -0
- package/esm2022/shaders/caustics/caustics-projection-material.mjs +32 -0
- package/esm2022/shaders/convolution-material/convolution-material.mjs +3 -2
- package/esm2022/shaders/discard-material/discard-material.mjs +1 -1
- package/esm2022/shaders/grid-material/grid-material.mjs +30 -14
- package/esm2022/shaders/index.mjs +5 -3
- package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +42 -41
- package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +2 -2
- package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +3 -2
- package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +7 -4
- package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +1 -1
- package/esm2022/shaders/shader-material/shader-material.mjs +3 -5
- package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +18 -25
- package/esm2022/shaders/sparkles-material/sparkles-material.mjs +32 -46
- package/esm2022/shaders/spot-light-material/spot-light-material.mjs +8 -7
- package/esm2022/shaders/star-field-material/star-field-material.mjs +3 -2
- package/esm2022/shaders/wireframe-material/wireframe-material.mjs +247 -0
- package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +161 -176
- package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +8 -8
- package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +129 -129
- package/esm2022/staging/backdrop/backdrop.mjs +77 -0
- package/esm2022/staging/bb-anchor/bb-anchor.mjs +69 -0
- package/esm2022/staging/bounds/bounds.mjs +145 -143
- package/esm2022/staging/camera-shake/camera-shake.mjs +86 -80
- package/esm2022/staging/center/center.mjs +129 -112
- package/esm2022/staging/cloud/cloud.mjs +118 -124
- package/esm2022/staging/contact-shadows/contact-shadows.mjs +131 -136
- package/esm2022/staging/environment/assets.mjs +12 -12
- package/esm2022/staging/environment/environment-cube.mjs +28 -30
- package/esm2022/staging/environment/environment-ground.mjs +17 -19
- package/esm2022/staging/environment/environment-input.mjs +98 -85
- package/esm2022/staging/environment/environment-map.mjs +33 -33
- package/esm2022/staging/environment/environment-portal.mjs +75 -97
- package/esm2022/staging/environment/environment.mjs +34 -51
- package/esm2022/staging/environment/utils.mjs +40 -17
- package/esm2022/staging/float/float.mjs +70 -58
- package/esm2022/staging/index.mjs +7 -3
- package/esm2022/staging/matcap-texture/matcap-texture.mjs +64 -0
- package/esm2022/staging/normal-texture/normal-texture.mjs +53 -0
- package/esm2022/staging/sky/sky.mjs +85 -80
- package/esm2022/staging/sparkles/sparkles.mjs +108 -105
- package/esm2022/staging/spot-light/shadow-mesh-input.mjs +63 -0
- package/esm2022/staging/spot-light/shadow-mesh.mjs +267 -0
- package/esm2022/staging/spot-light/spot-light-input.mjs +67 -58
- package/esm2022/staging/spot-light/spot-light.mjs +51 -63
- package/esm2022/staging/spot-light/volumetric-mesh.mjs +67 -70
- package/esm2022/staging/stage/stage.mjs +305 -290
- package/esm2022/staging/stars/stars.mjs +101 -102
- package/esm2022/staging/wireframe/wireframe-input.mjs +191 -0
- package/esm2022/staging/wireframe/wireframe.mjs +228 -0
- package/esm2022/utils/angular-three-soba-utils.mjs +5 -0
- package/esm2022/utils/constants.mjs +3 -0
- package/esm2022/utils/content/content.mjs +15 -0
- package/esm2022/utils/index.mjs +3 -0
- package/fesm2022/angular-three-soba-abstractions.mjs +504 -2079
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +293 -260
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +108 -83
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +1045 -0
- package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -0
- package/fesm2022/angular-three-soba-loaders.mjs +148 -132
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +656 -588
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +2202 -99
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-modifiers.mjs +71 -0
- package/fesm2022/angular-three-soba-modifiers.mjs.map +1 -0
- package/fesm2022/angular-three-soba-performances.mjs +957 -0
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -0
- package/fesm2022/angular-three-soba-shaders.mjs +508 -269
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +2910 -2573
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-utils.mjs +25 -0
- package/fesm2022/angular-three-soba-utils.mjs.map +1 -0
- package/gizmos/README.md +3 -0
- package/gizmos/gizmo-helper/gizmo-helper.d.ts +73 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +22 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +29 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.d.ts +33 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +10 -0
- package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +40 -0
- package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +30 -0
- package/gizmos/index.d.ts +3 -0
- package/loaders/gltf-loader/gltf-loader.d.ts +15 -4
- package/loaders/loader/loader.d.ts +19 -17
- package/loaders/progress/progress.d.ts +1 -1
- package/loaders/texture-loader/texture-loader.d.ts +8 -3
- package/materials/index.d.ts +1 -0
- package/materials/mesh-distort-material/mesh-distort-material.d.ts +25 -15
- package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +74 -56
- package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +33 -21
- package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +55 -39
- package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +19 -10
- package/materials/point-material/point-material.d.ts +24 -0
- package/metadata.json +1 -0
- package/misc/animations/animations.d.ts +6 -4
- package/misc/caustics/caustics.d.ts +87 -0
- package/misc/decal/decal.d.ts +49 -0
- package/misc/depth-buffer/depth-buffer.d.ts +2 -2
- package/misc/example/example.d.ts +85 -0
- package/misc/fbo/fbo.d.ts +2 -2
- package/misc/html/html-wrapper.d.ts +559 -0
- package/misc/html/html.d.ts +218 -0
- package/misc/index.d.ts +9 -0
- package/misc/sampler/sampler.d.ts +67 -0
- package/misc/shadow/shadow.d.ts +37 -0
- package/misc/stats-gl/stats-gl.d.ts +24 -0
- package/misc/trail/trail.d.ts +57 -0
- package/misc/trail-texture/inject-trail-texture.d.ts +9 -0
- package/misc/trail-texture/trail-texture.d.ts +50 -0
- package/modifiers/README.md +3 -0
- package/modifiers/curve-modifier/curve-modifier.d.ts +23 -0
- package/modifiers/index.d.ts +1 -0
- package/package.json +42 -24
- package/performances/README.md +3 -0
- package/performances/adaptive-dpr/adaptive-dpr.d.ts +14 -0
- package/{performance/adaptive → performances/adaptive-events}/adaptive-events.d.ts +3 -0
- package/performances/index.d.ts +7 -0
- package/performances/instances/instances.d.ts +83 -0
- package/{performance → performances}/instances/position-mesh.d.ts +1 -1
- package/performances/points/points-input.d.ts +32 -0
- package/performances/points/points.d.ts +96 -0
- package/performances/points/position-point.d.ts +11 -0
- package/performances/segments/segment-object.d.ts +7 -0
- package/performances/segments/segments.d.ts +128 -0
- package/shaders/grid-material/grid-material.d.ts +33 -0
- package/shaders/index.d.ts +4 -2
- package/shaders/mesh-distort-material/mesh-distort-material.d.ts +173 -6
- package/shaders/mesh-transmission-material/mesh-transmission-material.d.ts +1 -1
- package/shaders/shader-material/shader-material.d.ts +2 -2
- package/shaders/soft-shadow-material/soft-shadow-material.d.ts +10 -1
- package/shaders/sparkles-material/sparkles-material.d.ts +13 -0
- package/shaders/spot-light-material/spot-light-material.d.ts +11 -2
- package/shaders/star-field-material/star-field-material.d.ts +9 -0
- package/shaders/wireframe-material/wireframe-material.d.ts +58 -0
- package/staging/accumulative-shadows/accumulative-shadows.d.ts +93 -39
- package/staging/accumulative-shadows/randomized-lights.d.ts +41 -28
- package/staging/backdrop/backdrop.d.ts +30 -0
- package/staging/bb-anchor/bb-anchor.d.ts +27 -0
- package/staging/bounds/bounds.d.ts +105 -25
- package/staging/camera-shake/camera-shake.d.ts +30 -19
- package/staging/center/center.d.ts +43 -35
- package/staging/cloud/cloud.d.ts +27 -24
- package/staging/contact-shadows/contact-shadows.d.ts +43 -30
- package/staging/environment/assets.d.ts +9 -9
- package/staging/environment/environment-cube.d.ts +9 -5
- package/staging/environment/environment-ground.d.ts +7 -7
- package/staging/environment/environment-input.d.ts +38 -38
- package/staging/environment/environment-map.d.ts +10 -5
- package/staging/environment/environment-portal.d.ts +10 -5
- package/staging/environment/environment.d.ts +0 -4
- package/staging/environment/utils.d.ts +2 -2
- package/staging/float/float.d.ts +15 -11
- package/staging/index.d.ts +6 -2
- package/staging/matcap-texture/matcap-texture.d.ts +13 -0
- package/staging/normal-texture/normal-texture.d.ts +16 -0
- package/staging/sky/sky.d.ts +28 -21
- package/staging/sparkles/sparkles.d.ts +36 -22
- package/staging/spot-light/shadow-mesh-input.d.ts +29 -0
- package/staging/spot-light/shadow-mesh.d.ts +37 -0
- package/staging/spot-light/spot-light-input.d.ts +25 -25
- package/staging/spot-light/spot-light.d.ts +35 -15
- package/staging/spot-light/volumetric-mesh.d.ts +15 -9
- package/staging/stage/stage.d.ts +89 -65
- package/staging/stars/stars.d.ts +28 -17
- package/staging/wireframe/wireframe-input.d.ts +65 -0
- package/staging/wireframe/wireframe.d.ts +28 -0
- package/utils/README.md +3 -0
- package/utils/constants.d.ts +1 -0
- package/utils/content/content.d.ts +8 -0
- package/utils/index.d.ts +2 -0
- package/web-types.json +1 -0
- package/abstractions/catmull-rom-line/catmull-rom-line.d.ts +0 -25
- package/abstractions/cubic-bezier-line/cubic-bezier-line.d.ts +0 -25
- package/abstractions/gizmo-helper/gizmo-helper.d.ts +0 -34
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -22
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -30
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.d.ts +0 -32
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -14
- package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -47
- package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -40
- package/abstractions/line/line-input.d.ts +0 -42
- package/abstractions/line/line.d.ts +0 -35
- package/abstractions/quadratic-bezier-line/quadratic-bezier-line.d.ts +0 -23
- package/esm2022/abstractions/catmull-rom-line/catmull-rom-line.mjs +0 -131
- package/esm2022/abstractions/cubic-bezier-line/cubic-bezier-line.mjs +0 -113
- package/esm2022/abstractions/gizmo-helper/gizmo-helper.mjs +0 -210
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -95
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -155
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +0 -62
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -80
- package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -206
- package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -273
- package/esm2022/abstractions/line/line-input.mjs +0 -113
- package/esm2022/abstractions/line/line.mjs +0 -165
- package/esm2022/abstractions/quadratic-bezier-line/quadratic-bezier-line.mjs +0 -128
- package/esm2022/performance/adaptive/adaptive-dpr.mjs +0 -46
- package/esm2022/performance/adaptive/adaptive-events.mjs +0 -31
- package/esm2022/performance/angular-three-soba-performance.mjs +0 -5
- package/esm2022/performance/detailed/detailed.mjs +0 -61
- package/esm2022/performance/index.mjs +0 -7
- package/esm2022/performance/instances/instance.mjs +0 -48
- package/esm2022/performance/instances/instances.mjs +0 -189
- package/esm2022/performance/instances/position-mesh.mjs +0 -52
- package/esm2022/performance/stats/stats.mjs +0 -79
- package/esm2022/shaders/caustics-material/caustics-material.mjs +0 -128
- package/esm2022/shaders/caustics-material/caustics-projection-material.mjs +0 -33
- package/esm2022/staging/caustics/caustisc.mjs +0 -384
- package/esm2022/staging/spot-light/spot-light-shadow-mesh-input.mjs +0 -57
- package/esm2022/staging/spot-light/spot-light-shadow-mesh.mjs +0 -256
- package/fesm2022/angular-three-soba-performance.mjs +0 -487
- package/fesm2022/angular-three-soba-performance.mjs.map +0 -1
- package/performance/README.md +0 -3
- package/performance/adaptive/adaptive-dpr.d.ts +0 -8
- package/performance/detailed/detailed.d.ts +0 -20
- package/performance/index.d.ts +0 -6
- package/performance/instances/instance.d.ts +0 -9
- package/performance/instances/instances.d.ts +0 -35
- package/performance/stats/stats.d.ts +0 -18
- package/plugin/generators.json +0 -19
- package/plugin/libs/plugin/README.md +0 -11
- package/plugin/package.json +0 -9
- package/plugin/src/generators/init/compat.d.ts +0 -2
- package/plugin/src/generators/init/compat.js +0 -6
- package/plugin/src/generators/init/compat.js.map +0 -1
- package/plugin/src/generators/init/init.d.ts +0 -7
- package/plugin/src/generators/init/init.js +0 -28
- package/plugin/src/generators/init/init.js.map +0 -1
- package/plugin/src/generators/init/schema.json +0 -6
- package/plugin/src/index.d.ts +0 -1
- package/plugin/src/index.js +0 -6
- package/plugin/src/index.js.map +0 -1
- package/staging/caustics/caustisc.d.ts +0 -70
- package/staging/spot-light/spot-light-shadow-mesh-input.d.ts +0 -29
- package/staging/spot-light/spot-light-shadow-mesh.d.ts +0 -38
- /package/{abstractions → gizmos}/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -0
- /package/shaders/{caustics-material → caustics}/caustics-material.d.ts +0 -0
- /package/shaders/{caustics-material → caustics}/caustics-projection-material.d.ts +0 -0
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
export const colors = { bg: '#f0f0f0', hover: '#999', text: 'black', stroke: 'black' };
|
|
3
|
-
export const defaultFaces = ['Right', 'Left', 'Top', 'Bottom', 'Front', 'Back'];
|
|
4
|
-
const makePositionVector = (xyz) => new THREE.Vector3(...xyz).multiplyScalar(0.38);
|
|
5
|
-
export const corners = [
|
|
6
|
-
[1, 1, 1],
|
|
7
|
-
[1, 1, -1],
|
|
8
|
-
[1, -1, 1],
|
|
9
|
-
[1, -1, -1],
|
|
10
|
-
[-1, 1, 1],
|
|
11
|
-
[-1, 1, -1],
|
|
12
|
-
[-1, -1, 1],
|
|
13
|
-
[-1, -1, -1],
|
|
14
|
-
].map(makePositionVector);
|
|
15
|
-
export const cornerDimensions = [0.25, 0.25, 0.25];
|
|
16
|
-
export const edges = [
|
|
17
|
-
[1, 1, 0],
|
|
18
|
-
[1, 0, 1],
|
|
19
|
-
[1, 0, -1],
|
|
20
|
-
[1, -1, 0],
|
|
21
|
-
[0, 1, 1],
|
|
22
|
-
[0, 1, -1],
|
|
23
|
-
[0, -1, 1],
|
|
24
|
-
[0, -1, -1],
|
|
25
|
-
[-1, 1, 0],
|
|
26
|
-
[-1, 0, 1],
|
|
27
|
-
[-1, 0, -1],
|
|
28
|
-
[-1, -1, 0],
|
|
29
|
-
].map(makePositionVector);
|
|
30
|
-
export const edgeDimensions = edges.map((edge) => edge.toArray().map((axis) => (axis == 0 ? 0.5 : 0.25)));
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2Fic3RyYWN0aW9ucy9zcmMvZ2l6bW8taGVscGVyL2dpem1vLXZpZXdjdWJlL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUvQixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDdkYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNoRixNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFN0YsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFvQjtJQUNwQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDVixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztDQUNmLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFMUIsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBNkIsQ0FBQztBQUUvRSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQW9CO0lBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNULENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUNkLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFMUIsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQ25DLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQTZCLENBQy9HLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCBjb25zdCBjb2xvcnMgPSB7IGJnOiAnI2YwZjBmMCcsIGhvdmVyOiAnIzk5OScsIHRleHQ6ICdibGFjaycsIHN0cm9rZTogJ2JsYWNrJyB9O1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRGYWNlcyA9IFsnUmlnaHQnLCAnTGVmdCcsICdUb3AnLCAnQm90dG9tJywgJ0Zyb250JywgJ0JhY2snXTtcbmNvbnN0IG1ha2VQb3NpdGlvblZlY3RvciA9ICh4eXo6IG51bWJlcltdKSA9PiBuZXcgVEhSRUUuVmVjdG9yMyguLi54eXopLm11bHRpcGx5U2NhbGFyKDAuMzgpO1xuXG5leHBvcnQgY29uc3QgY29ybmVyczogVEhSRUUuVmVjdG9yM1tdID0gW1xuICAgIFsxLCAxLCAxXSxcbiAgICBbMSwgMSwgLTFdLFxuICAgIFsxLCAtMSwgMV0sXG4gICAgWzEsIC0xLCAtMV0sXG4gICAgWy0xLCAxLCAxXSxcbiAgICBbLTEsIDEsIC0xXSxcbiAgICBbLTEsIC0xLCAxXSxcbiAgICBbLTEsIC0xLCAtMV0sXG5dLm1hcChtYWtlUG9zaXRpb25WZWN0b3IpO1xuXG5leHBvcnQgY29uc3QgY29ybmVyRGltZW5zaW9ucyA9IFswLjI1LCAwLjI1LCAwLjI1XSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG5cbmV4cG9ydCBjb25zdCBlZGdlczogVEhSRUUuVmVjdG9yM1tdID0gW1xuICAgIFsxLCAxLCAwXSxcbiAgICBbMSwgMCwgMV0sXG4gICAgWzEsIDAsIC0xXSxcbiAgICBbMSwgLTEsIDBdLFxuICAgIFswLCAxLCAxXSxcbiAgICBbMCwgMSwgLTFdLFxuICAgIFswLCAtMSwgMV0sXG4gICAgWzAsIC0xLCAtMV0sXG4gICAgWy0xLCAxLCAwXSxcbiAgICBbLTEsIDAsIDFdLFxuICAgIFstMSwgMCwgLTFdLFxuICAgIFstMSwgLTEsIDBdLFxuXS5tYXAobWFrZVBvc2l0aW9uVmVjdG9yKTtcblxuZXhwb3J0IGNvbnN0IGVkZ2VEaW1lbnNpb25zID0gZWRnZXMubWFwKFxuICAgIChlZGdlKSA9PiBlZGdlLnRvQXJyYXkoKS5tYXAoKGF4aXM6IG51bWJlcik6IG51bWJlciA9PiAoYXhpcyA9PSAwID8gMC41IDogMC4yNSkpIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXVxuKTtcbiJdfQ==
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, signal } from '@angular/core';
|
|
2
|
-
import { extend, NgtArgs, NgtSignalStore } from 'angular-three';
|
|
3
|
-
import { BoxGeometry, Mesh, MeshBasicMaterial, Vector3 } from 'three';
|
|
4
|
-
import { NGTS_GIZMO_HELPER_API } from '../gizmo-helper';
|
|
5
|
-
import { colors } from './constants';
|
|
6
|
-
import { NgtsGizmoViewcubeInputs } from './gizmo-viewcube-inputs';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
extend({ Mesh, BoxGeometry, MeshBasicMaterial });
|
|
9
|
-
class NgtsGizmoViewcubeEdgeCube extends NgtSignalStore {
|
|
10
|
-
#gizmoHelperApi;
|
|
11
|
-
set dimensions(dimensions) {
|
|
12
|
-
this.set({ dimensions });
|
|
13
|
-
}
|
|
14
|
-
set position(position) {
|
|
15
|
-
this.set({ position });
|
|
16
|
-
}
|
|
17
|
-
constructor() {
|
|
18
|
-
super();
|
|
19
|
-
this.#gizmoHelperApi = inject(NGTS_GIZMO_HELPER_API);
|
|
20
|
-
this.viewcubeInputs = inject(NgtsGizmoViewcubeInputs);
|
|
21
|
-
this.hover = signal(false);
|
|
22
|
-
this.edgePosition = this.select('position');
|
|
23
|
-
this.edgeDimensions = this.select('dimensions');
|
|
24
|
-
this.viewcubeInputs.patch({ hoverColor: colors.hover });
|
|
25
|
-
}
|
|
26
|
-
onPointerMove(event) {
|
|
27
|
-
event.stopPropagation();
|
|
28
|
-
this.hover.set(true);
|
|
29
|
-
}
|
|
30
|
-
onPointerOut(event) {
|
|
31
|
-
event.stopPropagation();
|
|
32
|
-
this.hover.set(false);
|
|
33
|
-
}
|
|
34
|
-
onClick(event) {
|
|
35
|
-
if (this.viewcubeInputs.get('clickEmitter')?.observed) {
|
|
36
|
-
this.viewcubeInputs.get('clickEmitter').emit(event);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
event.stopPropagation();
|
|
40
|
-
this.#gizmoHelperApi()(this.get('position'));
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeEdgeCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcubeEdgeCube, isStandalone: true, selector: "ngts-gizmo-viewcube-edge-cube", inputs: { dimensions: "dimensions", position: "position" }, usesInheritance: true, ngImport: i0, template: `
|
|
45
|
-
<ngt-mesh
|
|
46
|
-
[scale]="1.01"
|
|
47
|
-
[position]="edgePosition()"
|
|
48
|
-
(pointermove)="onPointerMove($event)"
|
|
49
|
-
(pointerout)="onPointerOut($event)"
|
|
50
|
-
(click)="onClick($event)"
|
|
51
|
-
>
|
|
52
|
-
<ngt-box-geometry *args="edgeDimensions()" />
|
|
53
|
-
<ngt-mesh-basic-material
|
|
54
|
-
[color]="hover() ? viewcubeInputs.viewcubeHoverColor() : 'white'"
|
|
55
|
-
[transparent]="true"
|
|
56
|
-
[opacity]="0.6"
|
|
57
|
-
[visible]="hover()"
|
|
58
|
-
/>
|
|
59
|
-
</ngt-mesh>
|
|
60
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
|
|
61
|
-
}
|
|
62
|
-
export { NgtsGizmoViewcubeEdgeCube };
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeEdgeCube, decorators: [{
|
|
64
|
-
type: Component,
|
|
65
|
-
args: [{
|
|
66
|
-
selector: 'ngts-gizmo-viewcube-edge-cube',
|
|
67
|
-
standalone: true,
|
|
68
|
-
template: `
|
|
69
|
-
<ngt-mesh
|
|
70
|
-
[scale]="1.01"
|
|
71
|
-
[position]="edgePosition()"
|
|
72
|
-
(pointermove)="onPointerMove($event)"
|
|
73
|
-
(pointerout)="onPointerOut($event)"
|
|
74
|
-
(click)="onClick($event)"
|
|
75
|
-
>
|
|
76
|
-
<ngt-box-geometry *args="edgeDimensions()" />
|
|
77
|
-
<ngt-mesh-basic-material
|
|
78
|
-
[color]="hover() ? viewcubeInputs.viewcubeHoverColor() : 'white'"
|
|
79
|
-
[transparent]="true"
|
|
80
|
-
[opacity]="0.6"
|
|
81
|
-
[visible]="hover()"
|
|
82
|
-
/>
|
|
83
|
-
</ngt-mesh>
|
|
84
|
-
`,
|
|
85
|
-
imports: [NgtArgs],
|
|
86
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
87
|
-
}]
|
|
88
|
-
}], ctorParameters: function () { return []; }, propDecorators: { dimensions: [{
|
|
89
|
-
type: Input,
|
|
90
|
-
args: [{ required: true }]
|
|
91
|
-
}], position: [{
|
|
92
|
-
type: Input,
|
|
93
|
-
args: [{ required: true }]
|
|
94
|
-
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8tdmlld2N1YmUtZWRnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9hYnN0cmFjdGlvbnMvc3JjL2dpem1vLWhlbHBlci9naXptby12aWV3Y3ViZS9naXptby12aWV3Y3ViZS1lZGdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFbEUsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7QUFFakQsTUF1QmEseUJBQTBCLFNBQVEsY0FHN0M7SUFDVyxlQUFlLENBQWlDO0lBTXpELElBQStCLFVBQVUsQ0FBQyxVQUFvQztRQUMxRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBK0IsUUFBUSxDQUFDLFFBQWlCO1FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFLRDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBbEJILG9CQUFlLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFdEMsbUJBQWMsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUVwRSxVQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBVWIsaUJBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZDLG1CQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUloRCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWtDO1FBQzVDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWtDO1FBQzNDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQWdDO1FBQ3BDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFO1lBQ25ELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2RDthQUFNO1lBQ0gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDaEQ7SUFDTCxDQUFDOzhHQTNDUSx5QkFBeUI7a0dBQXpCLHlCQUF5Qiw0S0FwQnhCOzs7Ozs7Ozs7Ozs7Ozs7O0tBZ0JULDREQUNTLE9BQU87O1NBR1IseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBdkJyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7S0FnQlQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7MEVBV2tDLFVBQVU7c0JBQXhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlNLFFBQVE7c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBpbmplY3QsIElucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgTmd0QXJncywgTmd0U2lnbmFsU3RvcmUsIE5ndFRocmVlRXZlbnQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IEJveEdlb21ldHJ5LCBNZXNoLCBNZXNoQmFzaWNNYXRlcmlhbCwgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5HVFNfR0laTU9fSEVMUEVSX0FQSSB9IGZyb20gJy4uL2dpem1vLWhlbHBlcic7XG5pbXBvcnQgeyBjb2xvcnMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBOZ3RzR2l6bW9WaWV3Y3ViZUlucHV0cyB9IGZyb20gJy4vZ2l6bW8tdmlld2N1YmUtaW5wdXRzJztcblxuZXh0ZW5kKHsgTWVzaCwgQm94R2VvbWV0cnksIE1lc2hCYXNpY01hdGVyaWFsIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndHMtZ2l6bW8tdmlld2N1YmUtZWRnZS1jdWJlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtbWVzaFxuICAgICAgICAgICAgW3NjYWxlXT1cIjEuMDFcIlxuICAgICAgICAgICAgW3Bvc2l0aW9uXT1cImVkZ2VQb3NpdGlvbigpXCJcbiAgICAgICAgICAgIChwb2ludGVybW92ZSk9XCJvblBvaW50ZXJNb3ZlKCRldmVudClcIlxuICAgICAgICAgICAgKHBvaW50ZXJvdXQpPVwib25Qb2ludGVyT3V0KCRldmVudClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZ3QtYm94LWdlb21ldHJ5ICphcmdzPVwiZWRnZURpbWVuc2lvbnMoKVwiIC8+XG4gICAgICAgICAgICA8bmd0LW1lc2gtYmFzaWMtbWF0ZXJpYWxcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwiaG92ZXIoKSA/IHZpZXdjdWJlSW5wdXRzLnZpZXdjdWJlSG92ZXJDb2xvcigpIDogJ3doaXRlJ1wiXG4gICAgICAgICAgICAgICAgW3RyYW5zcGFyZW50XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtvcGFjaXR5XT1cIjAuNlwiXG4gICAgICAgICAgICAgICAgW3Zpc2libGVdPVwiaG92ZXIoKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L25ndC1tZXNoPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05ndEFyZ3NdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0dpem1vVmlld2N1YmVFZGdlQ3ViZSBleHRlbmRzIE5ndFNpZ25hbFN0b3JlPHtcbiAgICBwb3NpdGlvbjogVEhSRUUuVmVjdG9yMztcbiAgICBkaW1lbnNpb25zOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG59PiB7XG4gICAgcmVhZG9ubHkgI2dpem1vSGVscGVyQXBpID0gaW5qZWN0KE5HVFNfR0laTU9fSEVMUEVSX0FQSSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmlld2N1YmVJbnB1dHMgPSBpbmplY3QoTmd0c0dpem1vVmlld2N1YmVJbnB1dHMpO1xuXG4gICAgaG92ZXIgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgc2V0IGRpbWVuc2lvbnMoZGltZW5zaW9uczogW251bWJlciwgbnVtYmVyLCBudW1iZXJdKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGltZW5zaW9ucyB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzZXQgcG9zaXRpb24ocG9zaXRpb246IFZlY3RvcjMpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBwb3NpdGlvbiB9KTtcbiAgICB9XG5cbiAgICByZWFkb25seSBlZGdlUG9zaXRpb24gPSB0aGlzLnNlbGVjdCgncG9zaXRpb24nKTtcbiAgICByZWFkb25seSBlZGdlRGltZW5zaW9ucyA9IHRoaXMuc2VsZWN0KCdkaW1lbnNpb25zJyk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy52aWV3Y3ViZUlucHV0cy5wYXRjaCh7IGhvdmVyQ29sb3I6IGNvbG9ycy5ob3ZlciB9KTtcbiAgICB9XG5cbiAgICBvblBvaW50ZXJNb3ZlKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuaG92ZXIuc2V0KHRydWUpO1xuICAgIH1cblxuICAgIG9uUG9pbnRlck91dChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmhvdmVyLnNldChmYWxzZSk7XG4gICAgfVxuXG4gICAgb25DbGljayhldmVudDogTmd0VGhyZWVFdmVudDxNb3VzZUV2ZW50Pikge1xuICAgICAgICBpZiAodGhpcy52aWV3Y3ViZUlucHV0cy5nZXQoJ2NsaWNrRW1pdHRlcicpPy5vYnNlcnZlZCkge1xuICAgICAgICAgICAgdGhpcy52aWV3Y3ViZUlucHV0cy5nZXQoJ2NsaWNrRW1pdHRlcicpLmVtaXQoZXZlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLiNnaXptb0hlbHBlckFwaSgpKHRoaXMuZ2V0KCdwb3NpdGlvbicpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { Component, computed, CUSTOM_ELEMENTS_SCHEMA, inject, Input, signal } from '@angular/core';
|
|
3
|
-
import { extend, NgtRepeat, NgtSignalStore, NgtStore } from 'angular-three';
|
|
4
|
-
import { BoxGeometry, CanvasTexture, Mesh, MeshLambertMaterial } from 'three';
|
|
5
|
-
import { NGTS_GIZMO_HELPER_API } from '../gizmo-helper';
|
|
6
|
-
import { colors, defaultFaces } from './constants';
|
|
7
|
-
import { NgtsGizmoViewcubeInputs } from './gizmo-viewcube-inputs';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
extend({ MeshLambertMaterial, Mesh, BoxGeometry });
|
|
10
|
-
class NgtsGizmoViewcubeFaceMaterial extends NgtSignalStore {
|
|
11
|
-
#document;
|
|
12
|
-
#store;
|
|
13
|
-
set index(index) {
|
|
14
|
-
this.set({ index });
|
|
15
|
-
}
|
|
16
|
-
set hover(hover) {
|
|
17
|
-
this.set({ hover });
|
|
18
|
-
}
|
|
19
|
-
constructor() {
|
|
20
|
-
super();
|
|
21
|
-
this.#document = inject(DOCUMENT);
|
|
22
|
-
this.#store = inject(NgtStore);
|
|
23
|
-
this.gl = this.#store.select('gl');
|
|
24
|
-
this.viewcubeInputs = inject(NgtsGizmoViewcubeInputs);
|
|
25
|
-
this.faceIndex = this.select('index');
|
|
26
|
-
this.faceHover = this.select('hover');
|
|
27
|
-
this.texture = computed(() => {
|
|
28
|
-
const index = this.faceIndex();
|
|
29
|
-
const color = this.viewcubeInputs.viewcubeColor();
|
|
30
|
-
const font = this.viewcubeInputs.viewcubeFont();
|
|
31
|
-
const faces = this.viewcubeInputs.viewcubeFaces();
|
|
32
|
-
const textColor = this.viewcubeInputs.viewcubeTextColor();
|
|
33
|
-
const strokeColor = this.viewcubeInputs.viewcubeStrokeColor();
|
|
34
|
-
const canvas = this.#document.createElement('canvas');
|
|
35
|
-
canvas.width = 128;
|
|
36
|
-
canvas.height = 128;
|
|
37
|
-
const context = canvas.getContext('2d');
|
|
38
|
-
context.fillStyle = color;
|
|
39
|
-
context.fillRect(0, 0, canvas.width, canvas.height);
|
|
40
|
-
context.strokeStyle = strokeColor;
|
|
41
|
-
context.strokeRect(0, 0, canvas.width, canvas.height);
|
|
42
|
-
context.font = font;
|
|
43
|
-
context.textAlign = 'center';
|
|
44
|
-
context.fillStyle = textColor;
|
|
45
|
-
context.fillText(faces[index].toUpperCase(), 64, 76);
|
|
46
|
-
return new CanvasTexture(canvas);
|
|
47
|
-
});
|
|
48
|
-
this.viewcubeInputs.patch({
|
|
49
|
-
color: colors.bg,
|
|
50
|
-
font: '20px Inter var, Arial, sans-serif',
|
|
51
|
-
faces: defaultFaces,
|
|
52
|
-
hoverColor: colors.hover,
|
|
53
|
-
textColor: colors.text,
|
|
54
|
-
strokeColor: colors.stroke,
|
|
55
|
-
opacity: 1,
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeFaceMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcubeFaceMaterial, isStandalone: true, selector: "ngts-gizmo-viewcube-face-material", inputs: { index: "index", hover: "hover" }, usesInheritance: true, ngImport: i0, template: `
|
|
60
|
-
<ngt-mesh-lambert-material
|
|
61
|
-
[attach]="['material', faceIndex()]"
|
|
62
|
-
[map]="texture()"
|
|
63
|
-
[color]="faceHover() ? viewcubeInputs.viewcubeHoverColor() : viewcubeInputs.viewcubeColor()"
|
|
64
|
-
[opacity]="viewcubeInputs.viewcubeOpacity()"
|
|
65
|
-
[transparent]="true"
|
|
66
|
-
>
|
|
67
|
-
<ngt-value [rawValue]="gl().outputEncoding" attach="map.encoding" />
|
|
68
|
-
<ngt-value [rawValue]="gl().capabilities.getMaxAnisotropy() || 1" attach="map.anisotrophy" />
|
|
69
|
-
</ngt-mesh-lambert-material>
|
|
70
|
-
`, isInline: true }); }
|
|
71
|
-
}
|
|
72
|
-
export { NgtsGizmoViewcubeFaceMaterial };
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeFaceMaterial, decorators: [{
|
|
74
|
-
type: Component,
|
|
75
|
-
args: [{
|
|
76
|
-
selector: 'ngts-gizmo-viewcube-face-material',
|
|
77
|
-
standalone: true,
|
|
78
|
-
template: `
|
|
79
|
-
<ngt-mesh-lambert-material
|
|
80
|
-
[attach]="['material', faceIndex()]"
|
|
81
|
-
[map]="texture()"
|
|
82
|
-
[color]="faceHover() ? viewcubeInputs.viewcubeHoverColor() : viewcubeInputs.viewcubeColor()"
|
|
83
|
-
[opacity]="viewcubeInputs.viewcubeOpacity()"
|
|
84
|
-
[transparent]="true"
|
|
85
|
-
>
|
|
86
|
-
<ngt-value [rawValue]="gl().outputEncoding" attach="map.encoding" />
|
|
87
|
-
<ngt-value [rawValue]="gl().capabilities.getMaxAnisotropy() || 1" attach="map.anisotrophy" />
|
|
88
|
-
</ngt-mesh-lambert-material>
|
|
89
|
-
`,
|
|
90
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
91
|
-
}]
|
|
92
|
-
}], ctorParameters: function () { return []; }, propDecorators: { index: [{
|
|
93
|
-
type: Input,
|
|
94
|
-
args: [{ required: true }]
|
|
95
|
-
}], hover: [{
|
|
96
|
-
type: Input,
|
|
97
|
-
args: [{ required: true }]
|
|
98
|
-
}] } });
|
|
99
|
-
class NgtsGizmoViewcubeFaceCube {
|
|
100
|
-
constructor() {
|
|
101
|
-
this.#gizmoHelperApi = inject(NGTS_GIZMO_HELPER_API);
|
|
102
|
-
this.viewcubeInputs = inject(NgtsGizmoViewcubeInputs);
|
|
103
|
-
this.hover = signal(-1);
|
|
104
|
-
}
|
|
105
|
-
#gizmoHelperApi;
|
|
106
|
-
onPointerMove(event) {
|
|
107
|
-
event.stopPropagation();
|
|
108
|
-
this.hover.set(Math.floor(event.faceIndex / 2));
|
|
109
|
-
}
|
|
110
|
-
onPointerOut(event) {
|
|
111
|
-
event.stopPropagation();
|
|
112
|
-
this.hover.set(-1);
|
|
113
|
-
}
|
|
114
|
-
onClick(event) {
|
|
115
|
-
if (this.viewcubeInputs.get('clickEmitter')?.observed) {
|
|
116
|
-
this.viewcubeInputs.get('clickEmitter').emit(event);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
event.stopPropagation();
|
|
120
|
-
this.#gizmoHelperApi()(event.face.normal);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeFaceCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
124
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcubeFaceCube, isStandalone: true, selector: "ngts-gizmo-viewcube-face-cube", ngImport: i0, template: `
|
|
125
|
-
<ngt-mesh
|
|
126
|
-
(pointermove)="onPointerMove($any($event))"
|
|
127
|
-
(pointerout)="onPointerOut($any($event))"
|
|
128
|
-
(click)="onClick($any($event))"
|
|
129
|
-
>
|
|
130
|
-
<ngt-box-geometry />
|
|
131
|
-
<ngts-gizmo-viewcube-face-material *ngFor="let i; repeat: 6" [hover]="hover() === i" [index]="i" />
|
|
132
|
-
</ngt-mesh>
|
|
133
|
-
`, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewcubeFaceMaterial, selector: "ngts-gizmo-viewcube-face-material", inputs: ["index", "hover"] }, { kind: "directive", type: NgtRepeat, selector: "[ngFor][ngForRepeat]", inputs: ["ngForRepeat"] }] }); }
|
|
134
|
-
}
|
|
135
|
-
export { NgtsGizmoViewcubeFaceCube };
|
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeFaceCube, decorators: [{
|
|
137
|
-
type: Component,
|
|
138
|
-
args: [{
|
|
139
|
-
selector: 'ngts-gizmo-viewcube-face-cube',
|
|
140
|
-
standalone: true,
|
|
141
|
-
template: `
|
|
142
|
-
<ngt-mesh
|
|
143
|
-
(pointermove)="onPointerMove($any($event))"
|
|
144
|
-
(pointerout)="onPointerOut($any($event))"
|
|
145
|
-
(click)="onClick($any($event))"
|
|
146
|
-
>
|
|
147
|
-
<ngt-box-geometry />
|
|
148
|
-
<ngts-gizmo-viewcube-face-material *ngFor="let i; repeat: 6" [hover]="hover() === i" [index]="i" />
|
|
149
|
-
</ngt-mesh>
|
|
150
|
-
`,
|
|
151
|
-
imports: [NgtsGizmoViewcubeFaceMaterial, NgtRepeat],
|
|
152
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
153
|
-
}]
|
|
154
|
-
}] });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8tdmlld2N1YmUtZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9hYnN0cmFjdGlvbnMvc3JjL2dpem1vLWhlbHBlci9naXptby12aWV3Y3ViZS9naXptby12aWV3Y3ViZS1mYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDOUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRWxFLE1BQU0sQ0FBQyxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBRW5ELE1BaUJhLDZCQUE4QixTQUFRLGNBR2pEO0lBQ1csU0FBUyxDQUFvQjtJQUM3QixNQUFNLENBQW9CO0lBSW5DLElBQStCLEtBQUssQ0FBQyxLQUFhO1FBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUErQixLQUFLLENBQUMsS0FBYztRQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFF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QUMsTUFBTSxDQUFDLENBQUM7U0FDOUM7SUFDTCxDQUFDOzhHQXhCUSx5QkFBeUI7a0dBQXpCLHlCQUF5Qix5RkFieEI7Ozs7Ozs7OztLQVNULDREQXRFUSw2QkFBNkIsMEdBdUVHLFNBQVM7O1NBR3pDLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQWhCckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsK0JBQStCO29CQUN6QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7S0FTVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxTQUFTLENBQUM7b0JBQ25ELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIGluamVjdCwgSW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kLCBOZ3RSZXBlYXQsIE5ndFNpZ25hbFN0b3JlLCBOZ3RTdG9yZSwgTmd0VGhyZWVFdmVudCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgQm94R2VvbWV0cnksIENhbnZhc1RleHR1cmUsIE1lc2gsIE1lc2hMYW1iZXJ0TWF0ZXJpYWwgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOR1RTX0dJWk1PX0hFTFBFUl9BUEkgfSBmcm9tICcuLi9naXptby1oZWxwZXInO1xuaW1wb3J0IHsgY29sb3JzLCBkZWZhdWx0RmFjZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBOZ3RzR2l6bW9WaWV3Y3ViZUlucHV0cyB9IGZyb20gJy4vZ2l6bW8tdmlld2N1YmUtaW5wdXRzJztcblxuZXh0ZW5kKHsgTWVzaExhbWJlcnRNYXRlcmlhbCwgTWVzaCwgQm94R2VvbWV0cnkgfSk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0cy1naXptby12aWV3Y3ViZS1mYWNlLW1hdGVyaWFsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtbWVzaC1sYW1iZXJ0LW1hdGVyaWFsXG4gICAgICAgICAgICBbYXR0YWNoXT1cIlsnbWF0ZXJpYWwnLCBmYWNlSW5kZXgoKV1cIlxuICAgICAgICAgICAgW21hcF09XCJ0ZXh0dXJlKClcIlxuICAgICAgICAgICAgW2NvbG9yXT1cImZhY2VIb3ZlcigpID8gdmlld2N1YmVJbnB1dHMudmlld2N1YmVIb3ZlckNvbG9yKCkgOiB2aWV3Y3ViZUlucHV0cy52aWV3Y3ViZUNvbG9yKClcIlxuICAgICAgICAgICAgW29wYWNpdHldPVwidmlld2N1YmVJbnB1dHMudmlld2N1YmVPcGFjaXR5KClcIlxuICAgICAgICAgICAgW3RyYW5zcGFyZW50XT1cInRydWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJnbCgpLm91dHB1dEVuY29kaW5nXCIgYXR0YWNoPVwibWFwLmVuY29kaW5nXCIgLz5cbiAgICAgICAgICAgIDxuZ3QtdmFsdWUgW3Jhd1ZhbHVlXT1cImdsKCkuY2FwYWJpbGl0aWVzLmdldE1heEFuaXNvdHJvcHkoKSB8fCAxXCIgYXR0YWNoPVwibWFwLmFuaXNvdHJvcGh5XCIgLz5cbiAgICAgICAgPC9uZ3QtbWVzaC1sYW1iZXJ0LW1hdGVyaWFsPlxuICAgIGAsXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzR2l6bW9WaWV3Y3ViZUZhY2VNYXRlcmlhbCBleHRlbmRzIE5ndFNpZ25hbFN0b3JlPHtcbiAgICBpbmRleDogbnVtYmVyO1xuICAgIGhvdmVyOiBib29sZWFuO1xufT4ge1xuICAgIHJlYWRvbmx5ICNkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gICAgcmVhZG9ubHkgI3N0b3JlID0gaW5qZWN0KE5ndFN0b3JlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2wgPSB0aGlzLiNzdG9yZS5zZWxlY3QoJ2dsJyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHZpZXdjdWJlSW5wdXRzID0gaW5qZWN0KE5ndHNHaXptb1ZpZXdjdWJlSW5wdXRzKTtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHNldCBpbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgaW5kZXggfSk7XG4gICAgfVxuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgc2V0IGhvdmVyKGhvdmVyOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgaG92ZXIgfSk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgZmFjZUluZGV4ID0gdGhpcy5zZWxlY3QoJ2luZGV4Jyk7XG4gICAgcmVhZG9ubHkgZmFjZUhvdmVyID0gdGhpcy5zZWxlY3QoJ2hvdmVyJyk7XG5cbiAgICByZWFkb25seSB0ZXh0dXJlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZmFjZUluZGV4KCk7XG4gICAgICAgIGNvbnN0IGNvbG9yID0gdGhpcy52aWV3Y3ViZUlucHV0cy52aWV3Y3ViZUNvbG9yKCk7XG4gICAgICAgIGNvbnN0IGZvbnQgPSB0aGlzLnZpZXdjdWJlSW5wdXRzLnZpZXdjdWJlRm9udCgpO1xuICAgICAgICBjb25zdCBmYWNlcyA9IHRoaXMudmlld2N1YmVJbnB1dHMudmlld2N1YmVGYWNlcygpO1xuICAgICAgICBjb25zdCB0ZXh0Q29sb3IgPSB0aGlzLnZpZXdjdWJlSW5wdXRzLnZpZXdjdWJlVGV4dENvbG9yKCk7XG4gICAgICAgIGNvbnN0IHN0cm9rZUNvbG9yID0gdGhpcy52aWV3Y3ViZUlucHV0cy52aWV3Y3ViZVN0cm9rZUNvbG9yKCk7XG5cbiAgICAgICAgY29uc3QgY2FudmFzID0gdGhpcy4jZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICAgIGNhbnZhcy53aWR0aCA9IDEyODtcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IDEyODtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpITtcbiAgICAgICAgY29udGV4dC5maWxsU3R5bGUgPSBjb2xvciE7XG4gICAgICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcbiAgICAgICAgY29udGV4dC5zdHJva2VTdHlsZSA9IHN0cm9rZUNvbG9yO1xuICAgICAgICBjb250ZXh0LnN0cm9rZVJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcbiAgICAgICAgY29udGV4dC5mb250ID0gZm9udCE7XG4gICAgICAgIGNvbnRleHQudGV4dEFsaWduID0gJ2NlbnRlcic7XG4gICAgICAgIGNvbnRleHQuZmlsbFN0eWxlID0gdGV4dENvbG9yO1xuICAgICAgICBjb250ZXh0LmZpbGxUZXh0KGZhY2VzW2luZGV4XS50b1VwcGVyQ2FzZSgpLCA2NCwgNzYpO1xuXG4gICAgICAgIHJldHVybiBuZXcgQ2FudmFzVGV4dHVyZShjYW52YXMpO1xuICAgIH0pO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudmlld2N1YmVJbnB1dHMucGF0Y2goe1xuICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5iZyxcbiAgICAgICAgICAgIGZvbnQ6ICcyMHB4IEludGVyIHZhciwgQXJpYWwsIHNhbnMtc2VyaWYnLFxuICAgICAgICAgICAgZmFjZXM6IGRlZmF1bHRGYWNlcyxcbiAgICAgICAgICAgIGhvdmVyQ29sb3I6IGNvbG9ycy5ob3ZlcixcbiAgICAgICAgICAgIHRleHRDb2xvcjogY29sb3JzLnRleHQsXG4gICAgICAgICAgICBzdHJva2VDb2xvcjogY29sb3JzLnN0cm9rZSxcbiAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWdpem1vLXZpZXdjdWJlLWZhY2UtY3ViZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmd0LW1lc2hcbiAgICAgICAgICAgIChwb2ludGVybW92ZSk9XCJvblBvaW50ZXJNb3ZlKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgKHBvaW50ZXJvdXQpPVwib25Qb2ludGVyT3V0KCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGFueSgkZXZlbnQpKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZ3QtYm94LWdlb21ldHJ5IC8+XG4gICAgICAgICAgICA8bmd0cy1naXptby12aWV3Y3ViZS1mYWNlLW1hdGVyaWFsICpuZ0Zvcj1cImxldCBpOyByZXBlYXQ6IDZcIiBbaG92ZXJdPVwiaG92ZXIoKSA9PT0gaVwiIFtpbmRleF09XCJpXCIgLz5cbiAgICAgICAgPC9uZ3QtbWVzaD5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ3RzR2l6bW9WaWV3Y3ViZUZhY2VNYXRlcmlhbCwgTmd0UmVwZWF0XSxcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNHaXptb1ZpZXdjdWJlRmFjZUN1YmUge1xuICAgIHJlYWRvbmx5ICNnaXptb0hlbHBlckFwaSA9IGluamVjdChOR1RTX0dJWk1PX0hFTFBFUl9BUEkpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHZpZXdjdWJlSW5wdXRzID0gaW5qZWN0KE5ndHNHaXptb1ZpZXdjdWJlSW5wdXRzKTtcblxuICAgIGhvdmVyID0gc2lnbmFsKC0xKTtcblxuICAgIG9uUG9pbnRlck1vdmUoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50Pikge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5ob3Zlci5zZXQoTWF0aC5mbG9vcihldmVudC5mYWNlSW5kZXghIC8gMikpO1xuICAgIH1cblxuICAgIG9uUG9pbnRlck91dChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmhvdmVyLnNldCgtMSk7XG4gICAgfVxuXG4gICAgb25DbGljayhldmVudDogTmd0VGhyZWVFdmVudDxNb3VzZUV2ZW50Pikge1xuICAgICAgICBpZiAodGhpcy52aWV3Y3ViZUlucHV0cy5nZXQoJ2NsaWNrRW1pdHRlcicpPy5vYnNlcnZlZCkge1xuICAgICAgICAgICAgdGhpcy52aWV3Y3ViZUlucHV0cy5nZXQoJ2NsaWNrRW1pdHRlcicpLmVtaXQoZXZlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLiNnaXptb0hlbHBlckFwaSgpKGV2ZW50LmZhY2UhLm5vcm1hbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { NgtSignalStore } from 'angular-three';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
class NgtsGizmoViewcubeInputs extends NgtSignalStore {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.viewcubeHoverColor = this.select('hoverColor');
|
|
8
|
-
this.viewcubeOpacity = this.select('opacity');
|
|
9
|
-
this.viewcubeTextColor = this.select('textColor');
|
|
10
|
-
this.viewcubeStrokeColor = this.select('strokeColor');
|
|
11
|
-
this.viewcubeFaces = this.select('faces');
|
|
12
|
-
this.viewcubeFont = this.select('font');
|
|
13
|
-
this.viewcubeColor = this.select('color');
|
|
14
|
-
}
|
|
15
|
-
set opacity(opacity) {
|
|
16
|
-
this.set({ opacity });
|
|
17
|
-
}
|
|
18
|
-
set hoverColor(hoverColor) {
|
|
19
|
-
this.set({ hoverColor });
|
|
20
|
-
}
|
|
21
|
-
set textColor(textColor) {
|
|
22
|
-
this.set({ textColor });
|
|
23
|
-
}
|
|
24
|
-
set strokeColor(strokeColor) {
|
|
25
|
-
this.set({ strokeColor });
|
|
26
|
-
}
|
|
27
|
-
set faces(faces) {
|
|
28
|
-
this.set({ faces });
|
|
29
|
-
}
|
|
30
|
-
set font(font) {
|
|
31
|
-
this.set({ font });
|
|
32
|
-
}
|
|
33
|
-
set color(color) {
|
|
34
|
-
this.set({ color });
|
|
35
|
-
}
|
|
36
|
-
set clickEmitter(clickEmitter) {
|
|
37
|
-
this.set({ clickEmitter });
|
|
38
|
-
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeInputs, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
40
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcubeInputs, inputs: { opacity: "opacity", hoverColor: "hoverColor", textColor: "textColor", strokeColor: "strokeColor", faces: "faces", font: "font", color: "color", clickEmitter: "clickEmitter" }, usesInheritance: true, ngImport: i0 }); }
|
|
41
|
-
}
|
|
42
|
-
export { NgtsGizmoViewcubeInputs };
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeInputs, decorators: [{
|
|
44
|
-
type: Directive
|
|
45
|
-
}], propDecorators: { opacity: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], hoverColor: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}], textColor: [{
|
|
50
|
-
type: Input
|
|
51
|
-
}], strokeColor: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}], faces: [{
|
|
54
|
-
type: Input
|
|
55
|
-
}], font: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}], color: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], clickEmitter: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8tdmlld2N1YmUtaW5wdXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2Fic3RyYWN0aW9ucy9zcmMvZ2l6bW8taGVscGVyL2dpem1vLXZpZXdjdWJlL2dpem1vLXZpZXdjdWJlLWlucHV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBc0IsTUFBTSxlQUFlLENBQUM7O0FBYW5FLE1BQ3NCLHVCQUF3QixTQUFRLGNBQTRDO0lBRGxHOztRQWtDYSx1QkFBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9DLG9CQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxzQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdDLHdCQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakQsa0JBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLGlCQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDakQ7SUF2Q0csSUFBYSxPQUFPLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBYSxVQUFVLENBQUMsVUFBa0I7UUFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQWEsU0FBUyxDQUFDLFNBQWlCO1FBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFhLFdBQVcsQ0FBQyxXQUFtQjtRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBYSxLQUFLLENBQUMsS0FBZTtRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBYSxJQUFJLENBQUMsSUFBWTtRQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBYSxLQUFLLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBYSxZQUFZLENBQUMsWUFBcUQ7UUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs4R0EvQmlCLHVCQUF1QjtrR0FBdkIsdUJBQXVCOztTQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFENUMsU0FBUzs4QkFFTyxPQUFPO3NCQUFuQixLQUFLO2dCQUlPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSztnQkFJTyxXQUFXO3NCQUF2QixLQUFLO2dCQUlPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBSU8sSUFBSTtzQkFBaEIsS0FBSztnQkFJTyxLQUFLO3NCQUFqQixLQUFLO2dCQUlPLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCB0eXBlIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0U2lnbmFsU3RvcmUsIHR5cGUgTmd0VGhyZWVFdmVudCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNHaXptb1ZpZXdDdWJlSW5wdXRzU3RhdGUge1xuICAgIG9wYWNpdHk6IG51bWJlcjtcbiAgICBob3ZlckNvbG9yOiBzdHJpbmc7XG4gICAgdGV4dENvbG9yOiBzdHJpbmc7XG4gICAgc3Ryb2tlQ29sb3I6IHN0cmluZztcbiAgICBmYWNlczogc3RyaW5nW107XG4gICAgZm9udD86IHN0cmluZztcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBjbGlja0VtaXR0ZXI6IEV2ZW50RW1pdHRlcjxOZ3RUaHJlZUV2ZW50PE1vdXNlRXZlbnQ+Pjtcbn1cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmd0c0dpem1vVmlld2N1YmVJbnB1dHMgZXh0ZW5kcyBOZ3RTaWduYWxTdG9yZTxOZ3RzR2l6bW9WaWV3Q3ViZUlucHV0c1N0YXRlPiB7XG4gICAgQElucHV0KCkgc2V0IG9wYWNpdHkob3BhY2l0eTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgb3BhY2l0eSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgaG92ZXJDb2xvcihob3ZlckNvbG9yOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBob3ZlckNvbG9yIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCB0ZXh0Q29sb3IodGV4dENvbG9yOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyB0ZXh0Q29sb3IgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHN0cm9rZUNvbG9yKHN0cm9rZUNvbG9yOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBzdHJva2VDb2xvciB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZmFjZXMoZmFjZXM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZmFjZXMgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGZvbnQoZm9udDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZm9udCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgY29sb3IoY29sb3I6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCh7IGNvbG9yIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBjbGlja0VtaXR0ZXIoY2xpY2tFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Tmd0VGhyZWVFdmVudDxNb3VzZUV2ZW50Pj4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBjbGlja0VtaXR0ZXIgfSk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgdmlld2N1YmVIb3ZlckNvbG9yID0gdGhpcy5zZWxlY3QoJ2hvdmVyQ29sb3InKTtcbiAgICByZWFkb25seSB2aWV3Y3ViZU9wYWNpdHkgPSB0aGlzLnNlbGVjdCgnb3BhY2l0eScpO1xuICAgIHJlYWRvbmx5IHZpZXdjdWJlVGV4dENvbG9yID0gdGhpcy5zZWxlY3QoJ3RleHRDb2xvcicpO1xuICAgIHJlYWRvbmx5IHZpZXdjdWJlU3Ryb2tlQ29sb3IgPSB0aGlzLnNlbGVjdCgnc3Ryb2tlQ29sb3InKTtcbiAgICByZWFkb25seSB2aWV3Y3ViZUZhY2VzID0gdGhpcy5zZWxlY3QoJ2ZhY2VzJyk7XG4gICAgcmVhZG9ubHkgdmlld2N1YmVGb250ID0gdGhpcy5zZWxlY3QoJ2ZvbnQnKTtcbiAgICByZWFkb25seSB2aWV3Y3ViZUNvbG9yID0gdGhpcy5zZWxlY3QoJ2NvbG9yJyk7XG59XG4iXX0=
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { NgFor } from '@angular/common';
|
|
2
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, Output } from '@angular/core';
|
|
3
|
-
import { extend, requestAnimationInInjectionContext } from 'angular-three';
|
|
4
|
-
import { AmbientLight, Group, PointLight } from 'three';
|
|
5
|
-
import { cornerDimensions, corners, edgeDimensions, edges } from './constants';
|
|
6
|
-
import { NgtsGizmoViewcubeEdgeCube } from './gizmo-viewcube-edge';
|
|
7
|
-
import { NgtsGizmoViewcubeFaceCube } from './gizmo-viewcube-face';
|
|
8
|
-
import { NgtsGizmoViewcubeInputs } from './gizmo-viewcube-inputs';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
extend({ Group, AmbientLight, PointLight });
|
|
11
|
-
class NgtsGizmoViewcube extends NgtsGizmoViewcubeInputs {
|
|
12
|
-
constructor() {
|
|
13
|
-
super();
|
|
14
|
-
this.edges = edges;
|
|
15
|
-
this.edgeDimensions = edgeDimensions;
|
|
16
|
-
this.corners = corners;
|
|
17
|
-
this.cornerDimensions = cornerDimensions;
|
|
18
|
-
this.clicked = new EventEmitter();
|
|
19
|
-
requestAnimationInInjectionContext(() => {
|
|
20
|
-
if (this.clicked.observed) {
|
|
21
|
-
this.set({ clickEmitter: this.clicked });
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcube, isStandalone: true, selector: "ngts-gizmo-viewcube", outputs: { clicked: "clicked" }, providers: [{ provide: NgtsGizmoViewcubeInputs, useExisting: NgtsGizmoViewcube }], usesInheritance: true, ngImport: i0, template: `
|
|
27
|
-
<ngt-group [scale]="60">
|
|
28
|
-
<ngts-gizmo-viewcube-face-cube />
|
|
29
|
-
|
|
30
|
-
<ngts-gizmo-viewcube-edge-cube
|
|
31
|
-
*ngFor="let edge of edges; let i = index"
|
|
32
|
-
[position]="edge"
|
|
33
|
-
[dimensions]="edgeDimensions[i]"
|
|
34
|
-
/>
|
|
35
|
-
|
|
36
|
-
<ngts-gizmo-viewcube-edge-cube
|
|
37
|
-
*ngFor="let corner of corners"
|
|
38
|
-
[position]="corner"
|
|
39
|
-
[dimensions]="cornerDimensions"
|
|
40
|
-
/>
|
|
41
|
-
|
|
42
|
-
<ngt-ambient-light [intensity]="0.5" />
|
|
43
|
-
<ngt-point-light [position]="10" [intensity]="0.5" />
|
|
44
|
-
</ngt-group>
|
|
45
|
-
`, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewcubeEdgeCube, selector: "ngts-gizmo-viewcube-edge-cube", inputs: ["dimensions", "position"] }, { kind: "component", type: NgtsGizmoViewcubeFaceCube, selector: "ngts-gizmo-viewcube-face-cube" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
46
|
-
}
|
|
47
|
-
export { NgtsGizmoViewcube };
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcube, decorators: [{
|
|
49
|
-
type: Component,
|
|
50
|
-
args: [{
|
|
51
|
-
selector: 'ngts-gizmo-viewcube',
|
|
52
|
-
standalone: true,
|
|
53
|
-
template: `
|
|
54
|
-
<ngt-group [scale]="60">
|
|
55
|
-
<ngts-gizmo-viewcube-face-cube />
|
|
56
|
-
|
|
57
|
-
<ngts-gizmo-viewcube-edge-cube
|
|
58
|
-
*ngFor="let edge of edges; let i = index"
|
|
59
|
-
[position]="edge"
|
|
60
|
-
[dimensions]="edgeDimensions[i]"
|
|
61
|
-
/>
|
|
62
|
-
|
|
63
|
-
<ngts-gizmo-viewcube-edge-cube
|
|
64
|
-
*ngFor="let corner of corners"
|
|
65
|
-
[position]="corner"
|
|
66
|
-
[dimensions]="cornerDimensions"
|
|
67
|
-
/>
|
|
68
|
-
|
|
69
|
-
<ngt-ambient-light [intensity]="0.5" />
|
|
70
|
-
<ngt-point-light [position]="10" [intensity]="0.5" />
|
|
71
|
-
</ngt-group>
|
|
72
|
-
`,
|
|
73
|
-
imports: [NgtsGizmoViewcubeEdgeCube, NgtsGizmoViewcubeFaceCube, NgFor],
|
|
74
|
-
providers: [{ provide: NgtsGizmoViewcubeInputs, useExisting: NgtsGizmoViewcube }],
|
|
75
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
76
|
-
}]
|
|
77
|
-
}], ctorParameters: function () { return []; }, propDecorators: { clicked: [{
|
|
78
|
-
type: Output
|
|
79
|
-
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8tdmlld2N1YmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvYWJzdHJhY3Rpb25zL3NyYy9naXptby1oZWxwZXIvZ2l6bW8tdmlld2N1YmUvZ2l6bW8tdmlld2N1YmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsTUFBTSxFQUFpQixrQ0FBa0MsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUVsRSxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFFNUMsTUEyQmEsaUJBQWtCLFNBQVEsdUJBQXVCO0lBUzFEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFUSCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsbUJBQWMsR0FBRyxjQUFjLENBQUM7UUFFaEMsWUFBTyxHQUFHLE9BQU8sQ0FBQztRQUNsQixxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUVuQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFJOUQsa0NBQWtDLENBQUMsR0FBRyxFQUFFO1lBQ3BDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDNUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBaEJRLGlCQUFpQjtrR0FBakIsaUJBQWlCLG1HQUhmLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLENBQUMsaURBckJ2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW1CVCw0REFDUyx5QkFBeUIsOEdBQUUseUJBQXlCLDBFQUFFLEtBQUs7O1NBSTVELGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQTNCN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBbUJUO29CQUNELE9BQU8sRUFBRSxDQUFDLHlCQUF5QixFQUFFLHlCQUF5QixFQUFFLEtBQUssQ0FBQztvQkFDdEUsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxtQkFBbUIsRUFBRSxDQUFDO29CQUNqRixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7MEVBUWEsT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgTmd0VGhyZWVFdmVudCwgcmVxdWVzdEFuaW1hdGlvbkluSW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgQW1iaWVudExpZ2h0LCBHcm91cCwgUG9pbnRMaWdodCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IGNvcm5lckRpbWVuc2lvbnMsIGNvcm5lcnMsIGVkZ2VEaW1lbnNpb25zLCBlZGdlcyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IE5ndHNHaXptb1ZpZXdjdWJlRWRnZUN1YmUgfSBmcm9tICcuL2dpem1vLXZpZXdjdWJlLWVkZ2UnO1xuaW1wb3J0IHsgTmd0c0dpem1vVmlld2N1YmVGYWNlQ3ViZSB9IGZyb20gJy4vZ2l6bW8tdmlld2N1YmUtZmFjZSc7XG5pbXBvcnQgeyBOZ3RzR2l6bW9WaWV3Y3ViZUlucHV0cyB9IGZyb20gJy4vZ2l6bW8tdmlld2N1YmUtaW5wdXRzJztcblxuZXh0ZW5kKHsgR3JvdXAsIEFtYmllbnRMaWdodCwgUG9pbnRMaWdodCB9KTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWdpem1vLXZpZXdjdWJlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtZ3JvdXAgW3NjYWxlXT1cIjYwXCI+XG4gICAgICAgICAgICA8bmd0cy1naXptby12aWV3Y3ViZS1mYWNlLWN1YmUgLz5cblxuICAgICAgICAgICAgPG5ndHMtZ2l6bW8tdmlld2N1YmUtZWRnZS1jdWJlXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGVkZ2Ugb2YgZWRnZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIFtwb3NpdGlvbl09XCJlZGdlXCJcbiAgICAgICAgICAgICAgICBbZGltZW5zaW9uc109XCJlZGdlRGltZW5zaW9uc1tpXVwiXG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8bmd0cy1naXptby12aWV3Y3ViZS1lZGdlLWN1YmVcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29ybmVyIG9mIGNvcm5lcnNcIlxuICAgICAgICAgICAgICAgIFtwb3NpdGlvbl09XCJjb3JuZXJcIlxuICAgICAgICAgICAgICAgIFtkaW1lbnNpb25zXT1cImNvcm5lckRpbWVuc2lvbnNcIlxuICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgPG5ndC1hbWJpZW50LWxpZ2h0IFtpbnRlbnNpdHldPVwiMC41XCIgLz5cbiAgICAgICAgICAgIDxuZ3QtcG9pbnQtbGlnaHQgW3Bvc2l0aW9uXT1cIjEwXCIgW2ludGVuc2l0eV09XCIwLjVcIiAvPlxuICAgICAgICA8L25ndC1ncm91cD5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ3RzR2l6bW9WaWV3Y3ViZUVkZ2VDdWJlLCBOZ3RzR2l6bW9WaWV3Y3ViZUZhY2VDdWJlLCBOZ0Zvcl0sXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOZ3RzR2l6bW9WaWV3Y3ViZUlucHV0cywgdXNlRXhpc3Rpbmc6IE5ndHNHaXptb1ZpZXdjdWJlIH1dLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0dpem1vVmlld2N1YmUgZXh0ZW5kcyBOZ3RzR2l6bW9WaWV3Y3ViZUlucHV0cyB7XG4gICAgcmVhZG9ubHkgZWRnZXMgPSBlZGdlcztcbiAgICByZWFkb25seSBlZGdlRGltZW5zaW9ucyA9IGVkZ2VEaW1lbnNpb25zO1xuXG4gICAgcmVhZG9ubHkgY29ybmVycyA9IGNvcm5lcnM7XG4gICAgcmVhZG9ubHkgY29ybmVyRGltZW5zaW9ucyA9IGNvcm5lckRpbWVuc2lvbnM7XG5cbiAgICBAT3V0cHV0KCkgY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Tmd0VGhyZWVFdmVudDxNb3VzZUV2ZW50Pj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uSW5JbmplY3Rpb25Db250ZXh0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNsaWNrZWQub2JzZXJ2ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldCh7IGNsaWNrRW1pdHRlcjogdGhpcy5jbGlja2VkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|