angular-three-soba 2.0.0-beta.7 → 2.0.0-beta.8
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 +11 -7
- package/abstractions/detailed/detailed.d.ts +26 -0
- package/abstractions/edges/edges.d.ts +23 -11
- package/abstractions/grid/grid.d.ts +41 -50
- package/abstractions/index.d.ts +1 -7
- package/abstractions/text/text.d.ts +10 -4
- package/abstractions/text-3d/text-3d.d.ts +47 -40
- 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 +50 -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 +30 -13
- 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 +119 -121
- package/esm2022/cameras/camera/camera-content.mjs +5 -6
- package/esm2022/cameras/camera/camera.mjs +48 -42
- package/esm2022/cameras/cube-camera/cube-camera.mjs +129 -99
- 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 +94 -90
- package/esm2022/loaders/gltf-loader/gltf-loader.mjs +3 -6
- package/esm2022/loaders/loader/loader.mjs +92 -87
- package/esm2022/loaders/progress/progress.mjs +1 -1
- package/esm2022/loaders/texture-loader/texture-loader.mjs +4 -4
- 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 +167 -146
- package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +44 -42
- package/esm2022/materials/point-material/point-material.mjs +46 -0
- package/esm2022/misc/animations/animations.mjs +20 -16
- 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 +33 -35
- package/esm2022/misc/example/example.mjs +160 -0
- package/esm2022/misc/fbo/fbo.mjs +35 -35
- package/esm2022/misc/html/html-wrapper.mjs +478 -0
- package/esm2022/misc/html/html.mjs +304 -0
- package/esm2022/misc/index.mjs +10 -1
- 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/blur-pass/blur-pass.mjs +1 -1
- 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 +1 -1
- package/esm2022/shaders/discard-material/discard-material.mjs +1 -1
- package/esm2022/shaders/grid-material/grid-material.mjs +29 -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 +1 -1
- package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +2 -2
- package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +4 -4
- package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +1 -1
- package/esm2022/shaders/shader-material/shader-material.mjs +1 -1
- package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +17 -25
- package/esm2022/shaders/sparkles-material/sparkles-material.mjs +32 -46
- package/esm2022/shaders/spot-light-material/spot-light-material.mjs +7 -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 +160 -176
- package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +1 -1
- package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +126 -128
- package/esm2022/staging/backdrop/backdrop.mjs +77 -0
- package/esm2022/staging/bb-anchor/bb-anchor.mjs +70 -0
- package/esm2022/staging/bounds/bounds.mjs +144 -143
- package/esm2022/staging/camera-shake/camera-shake.mjs +86 -80
- package/esm2022/staging/center/center.mjs +106 -91
- package/esm2022/staging/cloud/cloud.mjs +118 -124
- package/esm2022/staging/contact-shadows/contact-shadows.mjs +131 -134
- package/esm2022/staging/environment/assets.mjs +12 -12
- package/esm2022/staging/environment/environment-cube.mjs +28 -30
- package/esm2022/staging/environment/environment-ground.mjs +18 -20
- package/esm2022/staging/environment/environment-input.mjs +97 -84
- 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 +35 -14
- 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 +266 -0
- package/esm2022/staging/spot-light/spot-light-input.mjs +67 -58
- package/esm2022/staging/spot-light/spot-light.mjs +51 -64
- package/esm2022/staging/spot-light/volumetric-mesh.mjs +61 -78
- package/esm2022/staging/stage/stage.mjs +304 -290
- package/esm2022/staging/stars/stars.mjs +101 -102
- 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 +505 -2087
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +302 -259
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +93 -88
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-loaders.mjs +94 -90
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +655 -590
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +2198 -89
- 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 +501 -264
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +2870 -2555
- 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/loaders/gltf-loader/gltf-loader.d.ts +4 -3
- package/loaders/loader/loader.d.ts +19 -17
- package/loaders/progress/progress.d.ts +1 -1
- package/loaders/texture-loader/texture-loader.d.ts +2 -2
- 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 +81 -0
- package/misc/fbo/fbo.d.ts +2 -2
- package/misc/html/html-wrapper.d.ts +559 -0
- package/misc/html/html.d.ts +214 -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 +30 -22
- 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 +5 -0
- package/performances/points/points-input.d.ts +32 -0
- package/performances/points/points.d.ts +92 -0
- package/{performance/instances/position-mesh.d.ts → performances/points/position-point.d.ts} +4 -3
- package/performances/segments/segment-object.d.ts +7 -0
- package/performances/segments/segments.d.ts +124 -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 +146 -1
- 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 +15 -1
- package/shaders/spot-light-material/spot-light-material.d.ts +11 -2
- package/shaders/star-field-material/star-field-material.d.ts +11 -1
- package/shaders/wireframe-material/wireframe-material.d.ts +58 -0
- package/staging/accumulative-shadows/accumulative-shadows.d.ts +89 -39
- package/staging/accumulative-shadows/randomized-lights.d.ts +40 -27
- package/staging/backdrop/backdrop.d.ts +30 -0
- package/staging/bb-anchor/bb-anchor.d.ts +27 -0
- package/staging/bounds/bounds.d.ts +100 -24
- package/staging/camera-shake/camera-shake.d.ts +30 -19
- package/staging/center/center.d.ts +43 -35
- package/staging/cloud/cloud.d.ts +26 -23
- package/staging/contact-shadows/contact-shadows.d.ts +41 -28
- 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 +36 -36
- 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 +14 -10
- 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 +35 -21
- 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 +31 -15
- package/staging/spot-light/volumetric-mesh.d.ts +15 -9
- package/staging/stage/stage.d.ts +88 -63
- package/staging/stars/stars.d.ts +27 -16
- 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/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/constants.d.ts +0 -12
- 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 -258
- 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/shaders/{caustics-material → caustics}/caustics-material.d.ts +0 -0
- /package/shaders/{caustics-material → caustics}/caustics-projection-material.d.ts +0 -0
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { NgFor } from '@angular/common';
|
|
2
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, Output } from '@angular/core';
|
|
3
|
-
import { extend, requestAnimationFrameInInjectionContext } 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
|
-
requestAnimationFrameInInjectionContext(() => {
|
|
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.3", ngImport: i0, type: NgtsGizmoViewcube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", 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.3", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8tdmlld2N1YmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvYWJzdHJhY3Rpb25zL3NyYy9naXptby1oZWxwZXIvZ2l6bW8tdmlld2N1YmUvZ2l6bW8tdmlld2N1YmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsTUFBTSxFQUFpQix1Q0FBdUMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUVsRSxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFFNUMsTUEyQmEsaUJBQWtCLFNBQVEsdUJBQXVCO0lBUzFEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFUSCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsbUJBQWMsR0FBRyxjQUFjLENBQUM7UUFFaEMsWUFBTyxHQUFHLE9BQU8sQ0FBQztRQUNsQixxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUVuQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFJOUQsdUNBQXVDLENBQUMsR0FBRyxFQUFFO1lBQ3pDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDNUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBaEJRLGlCQUFpQjtrR0FBakIsaUJBQWlCLG1HQUhmLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLENBQUMsaURBckJ2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW1CVCw0REFDUyx5QkFBeUIsOEdBQUUseUJBQXlCLDBFQUFFLEtBQUs7O1NBSTVELGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQTNCN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBbUJUO29CQUNELE9BQU8sRUFBRSxDQUFDLHlCQUF5QixFQUFFLHlCQUF5QixFQUFFLEtBQUssQ0FBQztvQkFDdEUsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxtQkFBbUIsRUFBRSxDQUFDO29CQUNqRixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7MEVBUWEsT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgTmd0VGhyZWVFdmVudCwgcmVxdWVzdEFuaW1hdGlvbkZyYW1lSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBBbWJpZW50TGlnaHQsIEdyb3VwLCBQb2ludExpZ2h0IH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgY29ybmVyRGltZW5zaW9ucywgY29ybmVycywgZWRnZURpbWVuc2lvbnMsIGVkZ2VzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTmd0c0dpem1vVmlld2N1YmVFZGdlQ3ViZSB9IGZyb20gJy4vZ2l6bW8tdmlld2N1YmUtZWRnZSc7XG5pbXBvcnQgeyBOZ3RzR2l6bW9WaWV3Y3ViZUZhY2VDdWJlIH0gZnJvbSAnLi9naXptby12aWV3Y3ViZS1mYWNlJztcbmltcG9ydCB7IE5ndHNHaXptb1ZpZXdjdWJlSW5wdXRzIH0gZnJvbSAnLi9naXptby12aWV3Y3ViZS1pbnB1dHMnO1xuXG5leHRlbmQoeyBHcm91cCwgQW1iaWVudExpZ2h0LCBQb2ludExpZ2h0IH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndHMtZ2l6bW8tdmlld2N1YmUnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5ndC1ncm91cCBbc2NhbGVdPVwiNjBcIj5cbiAgICAgICAgICAgIDxuZ3RzLWdpem1vLXZpZXdjdWJlLWZhY2UtY3ViZSAvPlxuXG4gICAgICAgICAgICA8bmd0cy1naXptby12aWV3Y3ViZS1lZGdlLWN1YmVcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZWRnZSBvZiBlZGdlczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cImVkZ2VcIlxuICAgICAgICAgICAgICAgIFtkaW1lbnNpb25zXT1cImVkZ2VEaW1lbnNpb25zW2ldXCJcbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDxuZ3RzLWdpem1vLXZpZXdjdWJlLWVkZ2UtY3ViZVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb3JuZXIgb2YgY29ybmVyc1wiXG4gICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cImNvcm5lclwiXG4gICAgICAgICAgICAgICAgW2RpbWVuc2lvbnNdPVwiY29ybmVyRGltZW5zaW9uc1wiXG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8bmd0LWFtYmllbnQtbGlnaHQgW2ludGVuc2l0eV09XCIwLjVcIiAvPlxuICAgICAgICAgICAgPG5ndC1wb2ludC1saWdodCBbcG9zaXRpb25dPVwiMTBcIiBbaW50ZW5zaXR5XT1cIjAuNVwiIC8+XG4gICAgICAgIDwvbmd0LWdyb3VwPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05ndHNHaXptb1ZpZXdjdWJlRWRnZUN1YmUsIE5ndHNHaXptb1ZpZXdjdWJlRmFjZUN1YmUsIE5nRm9yXSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5ndHNHaXptb1ZpZXdjdWJlSW5wdXRzLCB1c2VFeGlzdGluZzogTmd0c0dpem1vVmlld2N1YmUgfV0sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzR2l6bW9WaWV3Y3ViZSBleHRlbmRzIE5ndHNHaXptb1ZpZXdjdWJlSW5wdXRzIHtcbiAgICByZWFkb25seSBlZGdlcyA9IGVkZ2VzO1xuICAgIHJlYWRvbmx5IGVkZ2VEaW1lbnNpb25zID0gZWRnZURpbWVuc2lvbnM7XG5cbiAgICByZWFkb25seSBjb3JuZXJzID0gY29ybmVycztcbiAgICByZWFkb25seSBjb3JuZXJEaW1lbnNpb25zID0gY29ybmVyRGltZW5zaW9ucztcblxuICAgIEBPdXRwdXQoKSBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxOZ3RUaHJlZUV2ZW50PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZUluSW5qZWN0aW9uQ29udGV4dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5jbGlja2VkLm9ic2VydmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXQoeyBjbGlja0VtaXR0ZXI6IHRoaXMuY2xpY2tlZCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { Component, computed, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, inject, Input, signal } from '@angular/core';
|
|
3
|
-
import { extend, NgtArgs, NgtSignalStore, NgtStore } from 'angular-three';
|
|
4
|
-
import { BoxGeometry, CanvasTexture, Group, Mesh, MeshBasicMaterial, Sprite, SpriteMaterial } from 'three';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
extend({ Group, Mesh, BoxGeometry, MeshBasicMaterial, Sprite, SpriteMaterial });
|
|
7
|
-
class NgtsGizmoViewportAxis extends NgtSignalStore {
|
|
8
|
-
set color(color) {
|
|
9
|
-
this.set({ color });
|
|
10
|
-
}
|
|
11
|
-
set rotation(rotation) {
|
|
12
|
-
this.set({ rotation });
|
|
13
|
-
}
|
|
14
|
-
set scale(scale) {
|
|
15
|
-
this.set({ scale });
|
|
16
|
-
}
|
|
17
|
-
constructor() {
|
|
18
|
-
super({ scale: [0.8, 0.05, 0.05] });
|
|
19
|
-
this.axisRotation = this.select('rotation');
|
|
20
|
-
this.axisColor = this.select('color');
|
|
21
|
-
this.axisScale = this.select('scale');
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtsGizmoViewportAxis, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: NgtsGizmoViewportAxis, isStandalone: true, selector: "ngts-gizmo-viewport-axis", inputs: { color: "color", rotation: "rotation", scale: "scale" }, usesInheritance: true, ngImport: i0, template: `
|
|
25
|
-
<ngt-group [rotation]="axisRotation()">
|
|
26
|
-
<ngt-mesh [position]="[0.4, 0, 0]">
|
|
27
|
-
<ngt-box-geometry *args="axisScale()" />
|
|
28
|
-
<ngt-mesh-basic-material [color]="axisColor()" [toneMapped]="false" />
|
|
29
|
-
</ngt-mesh>
|
|
30
|
-
</ngt-group>
|
|
31
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
|
|
32
|
-
}
|
|
33
|
-
export { NgtsGizmoViewportAxis };
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtsGizmoViewportAxis, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{
|
|
37
|
-
selector: 'ngts-gizmo-viewport-axis',
|
|
38
|
-
standalone: true,
|
|
39
|
-
template: `
|
|
40
|
-
<ngt-group [rotation]="axisRotation()">
|
|
41
|
-
<ngt-mesh [position]="[0.4, 0, 0]">
|
|
42
|
-
<ngt-box-geometry *args="axisScale()" />
|
|
43
|
-
<ngt-mesh-basic-material [color]="axisColor()" [toneMapped]="false" />
|
|
44
|
-
</ngt-mesh>
|
|
45
|
-
</ngt-group>
|
|
46
|
-
`,
|
|
47
|
-
imports: [NgtArgs],
|
|
48
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
49
|
-
}]
|
|
50
|
-
}], ctorParameters: function () { return []; }, propDecorators: { color: [{
|
|
51
|
-
type: Input,
|
|
52
|
-
args: [{ required: true }]
|
|
53
|
-
}], rotation: [{
|
|
54
|
-
type: Input,
|
|
55
|
-
args: [{ required: true }]
|
|
56
|
-
}], scale: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}] } });
|
|
59
|
-
class NgtsGizmoViewportAxisHead extends NgtSignalStore {
|
|
60
|
-
#document;
|
|
61
|
-
#store;
|
|
62
|
-
set arcStyle(arcStyle) {
|
|
63
|
-
this.set({ arcStyle });
|
|
64
|
-
}
|
|
65
|
-
set label(label) {
|
|
66
|
-
this.set({ label });
|
|
67
|
-
}
|
|
68
|
-
set labelColor(labelColor) {
|
|
69
|
-
this.set({ labelColor });
|
|
70
|
-
}
|
|
71
|
-
set axisHeadScale(axisHeadScale) {
|
|
72
|
-
this.set({ axisHeadScale });
|
|
73
|
-
}
|
|
74
|
-
set disabled(disabled) {
|
|
75
|
-
this.set({ disabled });
|
|
76
|
-
}
|
|
77
|
-
set font(font) {
|
|
78
|
-
this.set({ font });
|
|
79
|
-
}
|
|
80
|
-
set clickEmitter(clickEmitter) {
|
|
81
|
-
this.set({ clickEmitter });
|
|
82
|
-
}
|
|
83
|
-
#arcStyle;
|
|
84
|
-
#labelColor;
|
|
85
|
-
#font;
|
|
86
|
-
#axisHeadScale;
|
|
87
|
-
constructor() {
|
|
88
|
-
super({ axisHeadScale: 1 });
|
|
89
|
-
this.#document = inject(DOCUMENT);
|
|
90
|
-
this.#store = inject(NgtStore);
|
|
91
|
-
this.gl = this.#store.select('gl');
|
|
92
|
-
this.active = signal(false);
|
|
93
|
-
this.#arcStyle = this.select('arcStyle');
|
|
94
|
-
this.#labelColor = this.select('labelColor');
|
|
95
|
-
this.#font = this.select('font');
|
|
96
|
-
this.#axisHeadScale = this.select('axisHeadScale');
|
|
97
|
-
this.axisLabel = this.select('label');
|
|
98
|
-
this.texture = computed(() => {
|
|
99
|
-
const arcStyle = this.#arcStyle();
|
|
100
|
-
const labelColor = this.#labelColor();
|
|
101
|
-
const font = this.#font();
|
|
102
|
-
const label = this.axisLabel();
|
|
103
|
-
const canvas = this.#document.createElement('canvas');
|
|
104
|
-
canvas.width = 64;
|
|
105
|
-
canvas.height = 64;
|
|
106
|
-
const context = canvas.getContext('2d');
|
|
107
|
-
context.beginPath();
|
|
108
|
-
context.arc(32, 32, 16, 0, 2 * Math.PI);
|
|
109
|
-
context.closePath();
|
|
110
|
-
context.fillStyle = arcStyle;
|
|
111
|
-
context.fill();
|
|
112
|
-
if (label) {
|
|
113
|
-
context.font = font;
|
|
114
|
-
context.textAlign = 'center';
|
|
115
|
-
context.fillStyle = labelColor;
|
|
116
|
-
context.fillText(label, 32, 41);
|
|
117
|
-
}
|
|
118
|
-
return new CanvasTexture(canvas);
|
|
119
|
-
});
|
|
120
|
-
this.scale = computed(() => {
|
|
121
|
-
const active = this.active();
|
|
122
|
-
const axisHeadScale = this.#axisHeadScale();
|
|
123
|
-
const label = this.axisLabel();
|
|
124
|
-
return (label ? 1 : 0.75) * (active ? 1.2 : 1) * axisHeadScale;
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
onPointerOver(event) {
|
|
128
|
-
if (!this.get('disabled')) {
|
|
129
|
-
event.stopPropagation();
|
|
130
|
-
this.active.set(true);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
onPointerOut(event) {
|
|
134
|
-
if (!this.get('disabled')) {
|
|
135
|
-
if (this.get('clickEmitter')?.observed) {
|
|
136
|
-
this.get('clickEmitter').emit(event);
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
event.stopPropagation();
|
|
140
|
-
this.active.set(false);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtsGizmoViewportAxisHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
145
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: NgtsGizmoViewportAxisHead, isStandalone: true, selector: "ngts-gizmo-viewport-axis-head", inputs: { arcStyle: "arcStyle", label: "label", labelColor: "labelColor", axisHeadScale: "axisHeadScale", disabled: "disabled", font: "font", clickEmitter: "clickEmitter" }, usesInheritance: true, ngImport: i0, template: `
|
|
146
|
-
<ngt-sprite
|
|
147
|
-
ngtCompound
|
|
148
|
-
[scale]="scale()"
|
|
149
|
-
(pointerover)="onPointerOver($event)"
|
|
150
|
-
(pointerout)="onPointerOut($event)"
|
|
151
|
-
>
|
|
152
|
-
<ngt-sprite-material
|
|
153
|
-
[map]="texture()"
|
|
154
|
-
[opacity]="axisLabel() ? 1 : 0.75"
|
|
155
|
-
[alphaTest]="0.3"
|
|
156
|
-
[toneMapped]="false"
|
|
157
|
-
>
|
|
158
|
-
<ngt-value [rawValue]="gl().outputEncoding" attach="map.encoding" />
|
|
159
|
-
<ngt-value [rawValue]="gl().capabilities.getMaxAnisotropy() || 1" attach="map.anisotropy" />
|
|
160
|
-
</ngt-sprite-material>
|
|
161
|
-
</ngt-sprite>
|
|
162
|
-
`, isInline: true }); }
|
|
163
|
-
}
|
|
164
|
-
export { NgtsGizmoViewportAxisHead };
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtsGizmoViewportAxisHead, decorators: [{
|
|
166
|
-
type: Component,
|
|
167
|
-
args: [{
|
|
168
|
-
selector: 'ngts-gizmo-viewport-axis-head',
|
|
169
|
-
standalone: true,
|
|
170
|
-
template: `
|
|
171
|
-
<ngt-sprite
|
|
172
|
-
ngtCompound
|
|
173
|
-
[scale]="scale()"
|
|
174
|
-
(pointerover)="onPointerOver($event)"
|
|
175
|
-
(pointerout)="onPointerOut($event)"
|
|
176
|
-
>
|
|
177
|
-
<ngt-sprite-material
|
|
178
|
-
[map]="texture()"
|
|
179
|
-
[opacity]="axisLabel() ? 1 : 0.75"
|
|
180
|
-
[alphaTest]="0.3"
|
|
181
|
-
[toneMapped]="false"
|
|
182
|
-
>
|
|
183
|
-
<ngt-value [rawValue]="gl().outputEncoding" attach="map.encoding" />
|
|
184
|
-
<ngt-value [rawValue]="gl().capabilities.getMaxAnisotropy() || 1" attach="map.anisotropy" />
|
|
185
|
-
</ngt-sprite-material>
|
|
186
|
-
</ngt-sprite>
|
|
187
|
-
`,
|
|
188
|
-
imports: [NgtArgs],
|
|
189
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
190
|
-
}]
|
|
191
|
-
}], ctorParameters: function () { return []; }, propDecorators: { arcStyle: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], label: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}], labelColor: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}], axisHeadScale: [{
|
|
198
|
-
type: Input
|
|
199
|
-
}], disabled: [{
|
|
200
|
-
type: Input
|
|
201
|
-
}], font: [{
|
|
202
|
-
type: Input
|
|
203
|
-
}], clickEmitter: [{
|
|
204
|
-
type: Input
|
|
205
|
-
}] } });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8tdmlld3BvcnQtYXhpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9hYnN0cmFjdGlvbnMvc3JjL2dpem1vLWhlbHBlci9naXptby12aWV3cG9ydC9naXptby12aWV3cG9ydC1heGlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQUUzRyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztBQUVoRixNQWNhLHFCQUFzQixTQUFRLGNBSXpDO0lBQ0UsSUFBK0IsS0FBSyxDQUFDLEtBQWE7UUFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQStCLFFBQVEsQ0FBQyxRQUFrQztRQUN0RSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBYSxLQUFLLENBQUMsS0FBK0I7UUFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEIs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TCxDQUFDOzhHQXZHUSx5QkFBeUI7a0dBQXpCLHlCQUF5Qiw4UkFyQnhCOzs7Ozs7Ozs7Ozs7Ozs7OztLQWlCVDs7U0FJUSx5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkF4QnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpQlQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7MEVBY2dCLFFBQVE7c0JBQXBCLEtBQUs7Z0JBSU8sS0FBSztzQkFBakIsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLO2dCQUlPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBSU8sUUFBUTtzQkFBcEIsS0FBSztnQkFJTyxJQUFJO3NCQUFoQixLQUFLO2dCQUlPLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kLCBOZ3RBcmdzLCBOZ3RTaWduYWxTdG9yZSwgTmd0U3RvcmUsIE5ndFRocmVlRXZlbnQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IEJveEdlb21ldHJ5LCBDYW52YXNUZXh0dXJlLCBHcm91cCwgTWVzaCwgTWVzaEJhc2ljTWF0ZXJpYWwsIFNwcml0ZSwgU3ByaXRlTWF0ZXJpYWwgfSBmcm9tICd0aHJlZSc7XG5cbmV4dGVuZCh7IEdyb3VwLCBNZXNoLCBCb3hHZW9tZXRyeSwgTWVzaEJhc2ljTWF0ZXJpYWwsIFNwcml0ZSwgU3ByaXRlTWF0ZXJpYWwgfSk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0cy1naXptby12aWV3cG9ydC1heGlzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtZ3JvdXAgW3JvdGF0aW9uXT1cImF4aXNSb3RhdGlvbigpXCI+XG4gICAgICAgICAgICA8bmd0LW1lc2ggW3Bvc2l0aW9uXT1cIlswLjQsIDAsIDBdXCI+XG4gICAgICAgICAgICAgICAgPG5ndC1ib3gtZ2VvbWV0cnkgKmFyZ3M9XCJheGlzU2NhbGUoKVwiIC8+XG4gICAgICAgICAgICAgICAgPG5ndC1tZXNoLWJhc2ljLW1hdGVyaWFsIFtjb2xvcl09XCJheGlzQ29sb3IoKVwiIFt0b25lTWFwcGVkXT1cImZhbHNlXCIgLz5cbiAgICAgICAgICAgIDwvbmd0LW1lc2g+XG4gICAgICAgIDwvbmd0LWdyb3VwPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05ndEFyZ3NdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0dpem1vVmlld3BvcnRBeGlzIGV4dGVuZHMgTmd0U2lnbmFsU3RvcmU8e1xuICAgIGNvbG9yOiBzdHJpbmc7XG4gICAgcm90YXRpb246IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgICBzY2FsZTogW251bWJlciwgbnVtYmVyLCBudW1iZXJdO1xufT4ge1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHNldCBjb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgY29sb3IgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgc2V0IHJvdGF0aW9uKHJvdGF0aW9uOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0pIHtcbiAgICAgICAgdGhpcy5zZXQoeyByb3RhdGlvbiB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgc2NhbGUoc2NhbGU6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSkge1xuICAgICAgICB0aGlzLnNldCh7IHNjYWxlIH0pO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IGF4aXNSb3RhdGlvbiA9IHRoaXMuc2VsZWN0KCdyb3RhdGlvbicpO1xuICAgIHJlYWRvbmx5IGF4aXNDb2xvciA9IHRoaXMuc2VsZWN0KCdjb2xvcicpO1xuICAgIHJlYWRvbmx5IGF4aXNTY2FsZSA9IHRoaXMuc2VsZWN0KCdzY2FsZScpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHsgc2NhbGU6IFswLjgsIDAuMDUsIDAuMDVdIH0pO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXMtaGVhZCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmd0LXNwcml0ZVxuICAgICAgICAgICAgbmd0Q29tcG91bmRcbiAgICAgICAgICAgIFtzY2FsZV09XCJzY2FsZSgpXCJcbiAgICAgICAgICAgIChwb2ludGVyb3Zlcik9XCJvblBvaW50ZXJPdmVyKCRldmVudClcIlxuICAgICAgICAgICAgKHBvaW50ZXJvdXQpPVwib25Qb2ludGVyT3V0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmd0LXNwcml0ZS1tYXRlcmlhbFxuICAgICAgICAgICAgICAgIFttYXBdPVwidGV4dHVyZSgpXCJcbiAgICAgICAgICAgICAgICBbb3BhY2l0eV09XCJheGlzTGFiZWwoKSA/IDEgOiAwLjc1XCJcbiAgICAgICAgICAgICAgICBbYWxwaGFUZXN0XT1cIjAuM1wiXG4gICAgICAgICAgICAgICAgW3RvbmVNYXBwZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZ3QtdmFsdWUgW3Jhd1ZhbHVlXT1cImdsKCkub3V0cHV0RW5jb2RpbmdcIiBhdHRhY2g9XCJtYXAuZW5jb2RpbmdcIiAvPlxuICAgICAgICAgICAgICAgIDxuZ3QtdmFsdWUgW3Jhd1ZhbHVlXT1cImdsKCkuY2FwYWJpbGl0aWVzLmdldE1heEFuaXNvdHJvcHkoKSB8fCAxXCIgYXR0YWNoPVwibWFwLmFuaXNvdHJvcHlcIiAvPlxuICAgICAgICAgICAgPC9uZ3Qtc3ByaXRlLW1hdGVyaWFsPlxuICAgICAgICA8L25ndC1zcHJpdGU+XG4gICAgYCxcbiAgICBpbXBvcnRzOiBbTmd0QXJnc10sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzR2l6bW9WaWV3cG9ydEF4aXNIZWFkIGV4dGVuZHMgTmd0U2lnbmFsU3RvcmU8e1xuICAgIGFyY1N0eWxlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBsYWJlbENvbG9yOiBzdHJpbmc7XG4gICAgYXhpc0hlYWRTY2FsZTogbnVtYmVyO1xuICAgIGRpc2FibGVkOiBib29sZWFuO1xuICAgIGZvbnQ6IHN0cmluZztcbiAgICBjbGlja0VtaXR0ZXI6IEV2ZW50RW1pdHRlcjxOZ3RUaHJlZUV2ZW50PE1vdXNlRXZlbnQ+Pjtcbn0+IHtcbiAgICByZWFkb25seSAjZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgIHJlYWRvbmx5ICNzdG9yZSA9IGluamVjdChOZ3RTdG9yZSk7XG4gICAgcmVhZG9ubHkgZ2wgPSB0aGlzLiNzdG9yZS5zZWxlY3QoJ2dsJyk7XG5cbiAgICBASW5wdXQoKSBzZXQgYXJjU3R5bGUoYXJjU3R5bGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCh7IGFyY1N0eWxlIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBsYWJlbChsYWJlbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbGFiZWwgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGxhYmVsQ29sb3IobGFiZWxDb2xvcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbGFiZWxDb2xvciB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgYXhpc0hlYWRTY2FsZShheGlzSGVhZFNjYWxlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBheGlzSGVhZFNjYWxlIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IGRpc2FibGVkIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBmb250KGZvbnQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCh7IGZvbnQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGNsaWNrRW1pdHRlcihjbGlja0VtaXR0ZXI6IEV2ZW50RW1pdHRlcjxOZ3RUaHJlZUV2ZW50PE1vdXNlRXZlbnQ+Pikge1xuICAgICAgICB0aGlzLnNldCh7IGNsaWNrRW1pdHRlciB9KTtcbiAgICB9XG5cbiAgICBhY3RpdmUgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgcmVhZG9ubHkgI2FyY1N0eWxlID0gdGhpcy5zZWxlY3QoJ2FyY1N0eWxlJyk7XG4gICAgcmVhZG9ubHkgI2xhYmVsQ29sb3IgPSB0aGlzLnNlbGVjdCgnbGFiZWxDb2xvcicpO1xuICAgIHJlYWRvbmx5ICNmb250ID0gdGhpcy5zZWxlY3QoJ2ZvbnQnKTtcbiAgICByZWFkb25seSAjYXhpc0hlYWRTY2FsZSA9IHRoaXMuc2VsZWN0KCdheGlzSGVhZFNjYWxlJyk7XG5cbiAgICByZWFkb25seSBheGlzTGFiZWwgPSB0aGlzLnNlbGVjdCgnbGFiZWwnKTtcblxuICAgIHJlYWRvbmx5IHRleHR1cmUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFyY1N0eWxlID0gdGhpcy4jYXJjU3R5bGUoKTtcbiAgICAgICAgY29uc3QgbGFiZWxDb2xvciA9IHRoaXMuI2xhYmVsQ29sb3IoKTtcbiAgICAgICAgY29uc3QgZm9udCA9IHRoaXMuI2ZvbnQoKTtcbiAgICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLmF4aXNMYWJlbCgpO1xuXG4gICAgICAgIGNvbnN0IGNhbnZhcyA9IHRoaXMuI2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgICBjYW52YXMud2lkdGggPSA2NDtcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IDY0O1xuXG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSE7XG4gICAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XG4gICAgICAgIGNvbnRleHQuYXJjKDMyLCAzMiwgMTYsIDAsIDIgKiBNYXRoLlBJKTtcbiAgICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTtcbiAgICAgICAgY29udGV4dC5maWxsU3R5bGUgPSBhcmNTdHlsZTtcbiAgICAgICAgY29udGV4dC5maWxsKCk7XG5cbiAgICAgICAgaWYgKGxhYmVsKSB7XG4gICAgICAgICAgICBjb250ZXh0LmZvbnQgPSBmb250O1xuICAgICAgICAgICAgY29udGV4dC50ZXh0QWxpZ24gPSAnY2VudGVyJztcbiAgICAgICAgICAgIGNvbnRleHQuZmlsbFN0eWxlID0gbGFiZWxDb2xvcjtcbiAgICAgICAgICAgIGNvbnRleHQuZmlsbFRleHQobGFiZWwsIDMyLCA0MSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBDYW52YXNUZXh0dXJlKGNhbnZhcyk7XG4gICAgfSk7XG5cbiAgICByZWFkb25seSBzY2FsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgYWN0aXZlID0gdGhpcy5hY3RpdmUoKTtcbiAgICAgICAgY29uc3QgYXhpc0hlYWRTY2FsZSA9IHRoaXMuI2F4aXNIZWFkU2NhbGUoKTtcbiAgICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLmF4aXNMYWJlbCgpO1xuICAgICAgICByZXR1cm4gKGxhYmVsID8gMSA6IDAuNzUpICogKGFjdGl2ZSA/IDEuMiA6IDEpICogYXhpc0hlYWRTY2FsZTtcbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7IGF4aXNIZWFkU2NhbGU6IDEgfSk7XG4gICAgfVxuXG4gICAgb25Qb2ludGVyT3ZlcihldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG4gICAgICAgIGlmICghdGhpcy5nZXQoJ2Rpc2FibGVkJykpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUuc2V0KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Qb2ludGVyT3V0KGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcbiAgICAgICAgaWYgKCF0aGlzLmdldCgnZGlzYWJsZWQnKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZ2V0KCdjbGlja0VtaXR0ZXInKT8ub2JzZXJ2ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldCgnY2xpY2tFbWl0dGVyJykuZW1pdChldmVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlLnNldChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, inject, Input, Output } from '@angular/core';
|
|
3
|
-
import { extend, NgtSignalStore } from 'angular-three';
|
|
4
|
-
import { AmbientLight, Group, PointLight } from 'three';
|
|
5
|
-
import { NGTS_GIZMO_HELPER_API } from '../gizmo-helper';
|
|
6
|
-
import { NgtsGizmoViewportAxis, NgtsGizmoViewportAxisHead } from './gizmo-viewport-axis';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
extend({ Group, AmbientLight, PointLight });
|
|
9
|
-
class NgtsGizmoViewport extends NgtSignalStore {
|
|
10
|
-
#gizmoHelperApi;
|
|
11
|
-
set axisColors(axisColors) {
|
|
12
|
-
this.set({ axisColors });
|
|
13
|
-
}
|
|
14
|
-
set axisScale(axisScale) {
|
|
15
|
-
this.set({ axisScale });
|
|
16
|
-
}
|
|
17
|
-
set labels(labels) {
|
|
18
|
-
this.set({ labels });
|
|
19
|
-
}
|
|
20
|
-
set axisHeadScale(axisHeadScale) {
|
|
21
|
-
this.set({ axisHeadScale });
|
|
22
|
-
}
|
|
23
|
-
set labelColor(labelColor) {
|
|
24
|
-
this.set({ labelColor });
|
|
25
|
-
}
|
|
26
|
-
set hideNegativeAxes(hideNegativeAxes) {
|
|
27
|
-
this.set({ hideNegativeAxes });
|
|
28
|
-
}
|
|
29
|
-
set hideAxisHeads(hideAxisHeads) {
|
|
30
|
-
this.set({ hideAxisHeads });
|
|
31
|
-
}
|
|
32
|
-
set disabled(disabled) {
|
|
33
|
-
this.set({ disabled });
|
|
34
|
-
}
|
|
35
|
-
set font(font) {
|
|
36
|
-
this.set({ font });
|
|
37
|
-
}
|
|
38
|
-
constructor() {
|
|
39
|
-
super({
|
|
40
|
-
font: '18px Inter var, Arial, sans-serif',
|
|
41
|
-
axisColors: ['#ff2060', '#20df80', '#2080ff'],
|
|
42
|
-
axisHeadScale: 1,
|
|
43
|
-
labels: ['X', 'Y', 'Z'],
|
|
44
|
-
labelColor: '#000',
|
|
45
|
-
});
|
|
46
|
-
this.#gizmoHelperApi = inject(NGTS_GIZMO_HELPER_API);
|
|
47
|
-
this.Math = Math;
|
|
48
|
-
this.clicked = new EventEmitter();
|
|
49
|
-
this.viewportAxisColors = this.select('axisColors');
|
|
50
|
-
this.viewportAxisScale = this.select('axisScale');
|
|
51
|
-
this.viewportLabels = this.select('labels');
|
|
52
|
-
this.viewportAxisHeadScale = this.select('axisHeadScale');
|
|
53
|
-
this.viewportLabelColor = this.select('labelColor');
|
|
54
|
-
this.viewportHideNegativeAxes = this.select('hideNegativeAxes');
|
|
55
|
-
this.viewportHideAxisHeads = this.select('hideAxisHeads');
|
|
56
|
-
this.viewportDisabled = this.select('disabled');
|
|
57
|
-
this.viewportFont = this.select('font');
|
|
58
|
-
}
|
|
59
|
-
onPointerDown(event) {
|
|
60
|
-
if (!this.get('disabled')) {
|
|
61
|
-
event.stopPropagation();
|
|
62
|
-
this.#gizmoHelperApi()(event.object.position);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtsGizmoViewport, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: NgtsGizmoViewport, isStandalone: true, selector: "ngts-gizmo-viewport", inputs: { axisColors: "axisColors", axisScale: "axisScale", labels: "labels", axisHeadScale: "axisHeadScale", labelColor: "labelColor", hideNegativeAxes: "hideNegativeAxes", hideAxisHeads: "hideAxisHeads", disabled: "disabled", font: "font" }, outputs: { clicked: "clicked" }, usesInheritance: true, ngImport: i0, template: `
|
|
67
|
-
<ngt-group ngtCompound [scale]="40">
|
|
68
|
-
<ngts-gizmo-viewport-axis
|
|
69
|
-
[color]="viewportAxisColors()[0]"
|
|
70
|
-
[rotation]="[0, 0, 0]"
|
|
71
|
-
[scale]="viewportAxisScale()"
|
|
72
|
-
></ngts-gizmo-viewport-axis>
|
|
73
|
-
<ngts-gizmo-viewport-axis
|
|
74
|
-
[color]="viewportAxisColors()[1]"
|
|
75
|
-
[rotation]="[0, 0, Math.PI / 2]"
|
|
76
|
-
[scale]="viewportAxisScale()"
|
|
77
|
-
></ngts-gizmo-viewport-axis>
|
|
78
|
-
<ngts-gizmo-viewport-axis
|
|
79
|
-
[color]="viewportAxisColors()[2]"
|
|
80
|
-
[rotation]="[0, -Math.PI / 2, 0]"
|
|
81
|
-
[scale]="viewportAxisScale()"
|
|
82
|
-
></ngts-gizmo-viewport-axis>
|
|
83
|
-
<ng-container *ngIf="!viewportHideAxisHeads()">
|
|
84
|
-
<ngts-gizmo-viewport-axis-head
|
|
85
|
-
[arcStyle]="viewportAxisColors()[0]"
|
|
86
|
-
[position]="[1, 0, 0]"
|
|
87
|
-
[label]="viewportLabels()[0]"
|
|
88
|
-
[font]="viewportFont()"
|
|
89
|
-
[disabled]="viewportDisabled()"
|
|
90
|
-
[labelColor]="viewportLabelColor()"
|
|
91
|
-
[clickEmitter]="clicked"
|
|
92
|
-
[axisHeadScale]="viewportAxisHeadScale()"
|
|
93
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
94
|
-
></ngts-gizmo-viewport-axis-head>
|
|
95
|
-
<ngts-gizmo-viewport-axis-head
|
|
96
|
-
[arcStyle]="viewportAxisColors()[1]"
|
|
97
|
-
[position]="[0, 1, 0]"
|
|
98
|
-
[label]="viewportLabels()[1]"
|
|
99
|
-
[font]="viewportFont()"
|
|
100
|
-
[disabled]="viewportDisabled()"
|
|
101
|
-
[labelColor]="viewportLabelColor()"
|
|
102
|
-
[clickEmitter]="clicked"
|
|
103
|
-
[axisHeadScale]="viewportAxisHeadScale()"
|
|
104
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
105
|
-
></ngts-gizmo-viewport-axis-head>
|
|
106
|
-
<ngts-gizmo-viewport-axis-head
|
|
107
|
-
[arcStyle]="viewportAxisColors()[2]"
|
|
108
|
-
[position]="[0, 0, 1]"
|
|
109
|
-
[label]="viewportLabels()[2]"
|
|
110
|
-
[font]="viewportFont()"
|
|
111
|
-
[disabled]="viewportDisabled()"
|
|
112
|
-
[labelColor]="viewportLabelColor()"
|
|
113
|
-
[clickEmitter]="clicked"
|
|
114
|
-
[axisHeadScale]="viewportAxisHeadScale()"
|
|
115
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
116
|
-
></ngts-gizmo-viewport-axis-head>
|
|
117
|
-
<ng-container *ngIf="!viewportHideNegativeAxes()">
|
|
118
|
-
<ngts-gizmo-viewport-axis-head
|
|
119
|
-
[arcStyle]="viewportAxisColors()[0]"
|
|
120
|
-
[position]="[-1, 0, 0]"
|
|
121
|
-
[font]="viewportFont()"
|
|
122
|
-
[disabled]="viewportDisabled()"
|
|
123
|
-
[labelColor]="viewportLabelColor()"
|
|
124
|
-
[clickEmitter]="clicked"
|
|
125
|
-
[axisHeadScale]="viewportAxisHeadScale()"
|
|
126
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
127
|
-
></ngts-gizmo-viewport-axis-head>
|
|
128
|
-
<ngts-gizmo-viewport-axis-head
|
|
129
|
-
[arcStyle]="viewportAxisColors()[1]"
|
|
130
|
-
[position]="[0, -1, 0]"
|
|
131
|
-
[font]="viewportFont()"
|
|
132
|
-
[disabled]="viewportDisabled()"
|
|
133
|
-
[labelColor]="viewportLabelColor()"
|
|
134
|
-
[clickEmitter]="clicked"
|
|
135
|
-
[axisHeadScale]="viewportAxisHeadScale()"
|
|
136
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
137
|
-
></ngts-gizmo-viewport-axis-head>
|
|
138
|
-
<ngts-gizmo-viewport-axis-head
|
|
139
|
-
[arcStyle]="viewportAxisColors()[2]"
|
|
140
|
-
[position]="[0, 0, -1]"
|
|
141
|
-
[font]="viewportFont()"
|
|
142
|
-
[disabled]="viewportDisabled()"
|
|
143
|
-
[labelColor]="viewportLabelColor()"
|
|
144
|
-
[clickEmitter]="clicked"
|
|
145
|
-
[axisHeadScale]="viewportAxisHeadScale()"
|
|
146
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
147
|
-
></ngts-gizmo-viewport-axis-head>
|
|
148
|
-
</ng-container>
|
|
149
|
-
</ng-container>
|
|
150
|
-
<ngt-ambient-light intensity="0.5"></ngt-ambient-light>
|
|
151
|
-
<ngt-point-light position="10" intensity="0.5"></ngt-point-light>
|
|
152
|
-
</ngt-group>
|
|
153
|
-
`, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewportAxis, selector: "ngts-gizmo-viewport-axis", inputs: ["color", "rotation", "scale"] }, { kind: "component", type: NgtsGizmoViewportAxisHead, selector: "ngts-gizmo-viewport-axis-head", inputs: ["arcStyle", "label", "labelColor", "axisHeadScale", "disabled", "font", "clickEmitter"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
154
|
-
}
|
|
155
|
-
export { NgtsGizmoViewport };
|
|
156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtsGizmoViewport, decorators: [{
|
|
157
|
-
type: Component,
|
|
158
|
-
args: [{
|
|
159
|
-
selector: 'ngts-gizmo-viewport',
|
|
160
|
-
standalone: true,
|
|
161
|
-
template: `
|
|
162
|
-
<ngt-group ngtCompound [scale]="40">
|
|
163
|
-
<ngts-gizmo-viewport-axis
|
|
164
|
-
[color]="viewportAxisColors()[0]"
|
|
165
|
-
[rotation]="[0, 0, 0]"
|
|
166
|
-
[scale]="viewportAxisScale()"
|
|
167
|
-
></ngts-gizmo-viewport-axis>
|
|
168
|
-
<ngts-gizmo-viewport-axis
|
|
169
|
-
[color]="viewportAxisColors()[1]"
|
|
170
|
-
[rotation]="[0, 0, Math.PI / 2]"
|
|
171
|
-
[scale]="viewportAxisScale()"
|
|
172
|
-
></ngts-gizmo-viewport-axis>
|
|
173
|
-
<ngts-gizmo-viewport-axis
|
|
174
|
-
[color]="viewportAxisColors()[2]"
|
|
175
|
-
[rotation]="[0, -Math.PI / 2, 0]"
|
|
176
|
-
[scale]="viewportAxisScale()"
|
|
177
|
-
></ngts-gizmo-viewport-axis>
|
|
178
|
-
<ng-container *ngIf="!viewportHideAxisHeads()">
|
|
179
|
-
<ngts-gizmo-viewport-axis-head
|
|
180
|
-
[arcStyle]="viewportAxisColors()[0]"
|
|
181
|
-
[position]="[1, 0, 0]"
|
|
182
|
-
[label]="viewportLabels()[0]"
|
|
183
|
-
[font]="viewportFont()"
|
|
184
|
-
[disabled]="viewportDisabled()"
|
|
185
|
-
[labelColor]="viewportLabelColor()"
|
|
186
|
-
[clickEmitter]="clicked"
|
|
187
|
-
[axisHeadScale]="viewportAxisHeadScale()"
|
|
188
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
189
|
-
></ngts-gizmo-viewport-axis-head>
|
|
190
|
-
<ngts-gizmo-viewport-axis-head
|
|
191
|
-
[arcStyle]="viewportAxisColors()[1]"
|
|
192
|
-
[position]="[0, 1, 0]"
|
|
193
|
-
[label]="viewportLabels()[1]"
|
|
194
|
-
[font]="viewportFont()"
|
|
195
|
-
[disabled]="viewportDisabled()"
|
|
196
|
-
[labelColor]="viewportLabelColor()"
|
|
197
|
-
[clickEmitter]="clicked"
|
|
198
|
-
[axisHeadScale]="viewportAxisHeadScale()"
|
|
199
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
200
|
-
></ngts-gizmo-viewport-axis-head>
|
|
201
|
-
<ngts-gizmo-viewport-axis-head
|
|
202
|
-
[arcStyle]="viewportAxisColors()[2]"
|
|
203
|
-
[position]="[0, 0, 1]"
|
|
204
|
-
[label]="viewportLabels()[2]"
|
|
205
|
-
[font]="viewportFont()"
|
|
206
|
-
[disabled]="viewportDisabled()"
|
|
207
|
-
[labelColor]="viewportLabelColor()"
|
|
208
|
-
[clickEmitter]="clicked"
|
|
209
|
-
[axisHeadScale]="viewportAxisHeadScale()"
|
|
210
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
211
|
-
></ngts-gizmo-viewport-axis-head>
|
|
212
|
-
<ng-container *ngIf="!viewportHideNegativeAxes()">
|
|
213
|
-
<ngts-gizmo-viewport-axis-head
|
|
214
|
-
[arcStyle]="viewportAxisColors()[0]"
|
|
215
|
-
[position]="[-1, 0, 0]"
|
|
216
|
-
[font]="viewportFont()"
|
|
217
|
-
[disabled]="viewportDisabled()"
|
|
218
|
-
[labelColor]="viewportLabelColor()"
|
|
219
|
-
[clickEmitter]="clicked"
|
|
220
|
-
[axisHeadScale]="viewportAxisHeadScale()"
|
|
221
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
222
|
-
></ngts-gizmo-viewport-axis-head>
|
|
223
|
-
<ngts-gizmo-viewport-axis-head
|
|
224
|
-
[arcStyle]="viewportAxisColors()[1]"
|
|
225
|
-
[position]="[0, -1, 0]"
|
|
226
|
-
[font]="viewportFont()"
|
|
227
|
-
[disabled]="viewportDisabled()"
|
|
228
|
-
[labelColor]="viewportLabelColor()"
|
|
229
|
-
[clickEmitter]="clicked"
|
|
230
|
-
[axisHeadScale]="viewportAxisHeadScale()"
|
|
231
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
232
|
-
></ngts-gizmo-viewport-axis-head>
|
|
233
|
-
<ngts-gizmo-viewport-axis-head
|
|
234
|
-
[arcStyle]="viewportAxisColors()[2]"
|
|
235
|
-
[position]="[0, 0, -1]"
|
|
236
|
-
[font]="viewportFont()"
|
|
237
|
-
[disabled]="viewportDisabled()"
|
|
238
|
-
[labelColor]="viewportLabelColor()"
|
|
239
|
-
[clickEmitter]="clicked"
|
|
240
|
-
[axisHeadScale]="viewportAxisHeadScale()"
|
|
241
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
242
|
-
></ngts-gizmo-viewport-axis-head>
|
|
243
|
-
</ng-container>
|
|
244
|
-
</ng-container>
|
|
245
|
-
<ngt-ambient-light intensity="0.5"></ngt-ambient-light>
|
|
246
|
-
<ngt-point-light position="10" intensity="0.5"></ngt-point-light>
|
|
247
|
-
</ngt-group>
|
|
248
|
-
`,
|
|
249
|
-
imports: [NgtsGizmoViewportAxis, NgtsGizmoViewportAxisHead, NgIf],
|
|
250
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
251
|
-
}]
|
|
252
|
-
}], ctorParameters: function () { return []; }, propDecorators: { axisColors: [{
|
|
253
|
-
type: Input
|
|
254
|
-
}], axisScale: [{
|
|
255
|
-
type: Input
|
|
256
|
-
}], labels: [{
|
|
257
|
-
type: Input
|
|
258
|
-
}], axisHeadScale: [{
|
|
259
|
-
type: Input
|
|
260
|
-
}], labelColor: [{
|
|
261
|
-
type: Input
|
|
262
|
-
}], hideNegativeAxes: [{
|
|
263
|
-
type: Input
|
|
264
|
-
}], hideAxisHeads: [{
|
|
265
|
-
type: Input
|
|
266
|
-
}], disabled: [{
|
|
267
|
-
type: Input
|
|
268
|
-
}], font: [{
|
|
269
|
-
type: Input
|
|
270
|
-
}], clicked: [{
|
|
271
|
-
type: Output
|
|
272
|
-
}] } });
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8tdmlld3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvYWJzdHJhY3Rpb25zL3NyYy9naXptby1oZWxwZXIvZ2l6bW8tdmlld3BvcnQvZ2l6bW8tdmlld3BvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRXpGLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztBQUU1QyxNQThGYSxpQkFBa0IsU0FBUSxjQVVyQztJQUNXLGVBQWUsQ0FBaUM7SUFJekQsSUFBYSxVQUFVLENBQUMsVUFBb0M7UUFDeEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQWEsU0FBUyxDQUFDLFNBQW1DO1FBQ3RELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFhLE1BQU0sQ0FBQyxNQUFnQztRQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJ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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0F1RlQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsSUFBSSxDQUFDO29CQUNqRSxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7MEVBZ0JnQixVQUFVO3NCQUF0QixLQUFLO2dCQUlPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBSU8sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxhQUFhO3NCQUF6QixLQUFLO2dCQUlPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQUlPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBSU8sUUFBUTtzQkFBcEIsS0FBSztnQkFJTyxJQUFJO3NCQUFoQixLQUFLO2dCQUlJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgTmd0U2lnbmFsU3RvcmUsIE5ndFRocmVlRXZlbnQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IEFtYmllbnRMaWdodCwgR3JvdXAsIFBvaW50TGlnaHQgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOR1RTX0dJWk1PX0hFTFBFUl9BUEkgfSBmcm9tICcuLi9naXptby1oZWxwZXInO1xuaW1wb3J0IHsgTmd0c0dpem1vVmlld3BvcnRBeGlzLCBOZ3RzR2l6bW9WaWV3cG9ydEF4aXNIZWFkIH0gZnJvbSAnLi9naXptby12aWV3cG9ydC1heGlzJztcblxuZXh0ZW5kKHsgR3JvdXAsIEFtYmllbnRMaWdodCwgUG9pbnRMaWdodCB9KTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWdpem1vLXZpZXdwb3J0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtZ3JvdXAgbmd0Q29tcG91bmQgW3NjYWxlXT1cIjQwXCI+XG4gICAgICAgICAgICA8bmd0cy1naXptby12aWV3cG9ydC1heGlzXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cInZpZXdwb3J0QXhpc0NvbG9ycygpWzBdXCJcbiAgICAgICAgICAgICAgICBbcm90YXRpb25dPVwiWzAsIDAsIDBdXCJcbiAgICAgICAgICAgICAgICBbc2NhbGVdPVwidmlld3BvcnRBeGlzU2NhbGUoKVwiXG4gICAgICAgICAgICA+PC9uZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXM+XG4gICAgICAgICAgICA8bmd0cy1naXptby12aWV3cG9ydC1heGlzXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cInZpZXdwb3J0QXhpc0NvbG9ycygpWzFdXCJcbiAgICAgICAgICAgICAgICBbcm90YXRpb25dPVwiWzAsIDAsIE1hdGguUEkgLyAyXVwiXG4gICAgICAgICAgICAgICAgW3NjYWxlXT1cInZpZXdwb3J0QXhpc1NjYWxlKClcIlxuICAgICAgICAgICAgPjwvbmd0cy1naXptby12aWV3cG9ydC1heGlzPlxuICAgICAgICAgICAgPG5ndHMtZ2l6bW8tdmlld3BvcnQtYXhpc1xuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJ2aWV3cG9ydEF4aXNDb2xvcnMoKVsyXVwiXG4gICAgICAgICAgICAgICAgW3JvdGF0aW9uXT1cIlswLCAtTWF0aC5QSSAvIDIsIDBdXCJcbiAgICAgICAgICAgICAgICBbc2NhbGVdPVwidmlld3BvcnRBeGlzU2NhbGUoKVwiXG4gICAgICAgICAgICA+PC9uZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXM+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXZpZXdwb3J0SGlkZUF4aXNIZWFkcygpXCI+XG4gICAgICAgICAgICAgICAgPG5ndHMtZ2l6bW8tdmlld3BvcnQtYXhpcy1oZWFkXG4gICAgICAgICAgICAgICAgICAgIFthcmNTdHlsZV09XCJ2aWV3cG9ydEF4aXNDb2xvcnMoKVswXVwiXG4gICAgICAgICAgICAgICAgICAgIFtwb3NpdGlvbl09XCJbMSwgMCwgMF1cIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidmlld3BvcnRMYWJlbHMoKVswXVwiXG4gICAgICAgICAgICAgICAgICAgIFtmb250XT1cInZpZXdwb3J0Rm9udCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInZpZXdwb3J0RGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbENvbG9yXT1cInZpZXdwb3J0TGFiZWxDb2xvcigpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsaWNrRW1pdHRlcl09XCJjbGlja2VkXCJcbiAgICAgICAgICAgICAgICAgICAgW2F4aXNIZWFkU2NhbGVdPVwidmlld3BvcnRBeGlzSGVhZFNjYWxlKClcIlxuICAgICAgICAgICAgICAgICAgICAocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkYW55KCRldmVudCkpXCJcbiAgICAgICAgICAgICAgICA+PC9uZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXMtaGVhZD5cbiAgICAgICAgICAgICAgICA8bmd0cy1naXptby12aWV3cG9ydC1heGlzLWhlYWRcbiAgICAgICAgICAgICAgICAgICAgW2FyY1N0eWxlXT1cInZpZXdwb3J0QXhpc0NvbG9ycygpWzFdXCJcbiAgICAgICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cIlswLCAxLCAwXVwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ2aWV3cG9ydExhYmVscygpWzFdXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZvbnRdPVwidmlld3BvcnRGb250KClcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidmlld3BvcnREaXNhYmxlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsQ29sb3JdPVwidmlld3BvcnRMYWJlbENvbG9yKClcIlxuICAgICAgICAgICAgICAgICAgICBbY2xpY2tFbWl0dGVyXT1cImNsaWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXhpc0hlYWRTY2FsZV09XCJ2aWV3cG9ydEF4aXNIZWFkU2NhbGUoKVwiXG4gICAgICAgICAgICAgICAgICAgIChwb2ludGVyZG93bik9XCJvblBvaW50ZXJEb3duKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgICAgID48L25ndHMtZ2l6bW8tdmlld3BvcnQtYXhpcy1oZWFkPlxuICAgICAgICAgICAgICAgIDxuZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXMtaGVhZFxuICAgICAgICAgICAgICAgICAgICBbYXJjU3R5bGVdPVwidmlld3BvcnRBeGlzQ29sb3JzKClbMl1cIlxuICAgICAgICAgICAgICAgICAgICBbcG9zaXRpb25dPVwiWzAsIDAsIDFdXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInZpZXdwb3J0TGFiZWxzKClbMl1cIlxuICAgICAgICAgICAgICAgICAgICBbZm9udF09XCJ2aWV3cG9ydEZvbnQoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ2aWV3cG9ydERpc2FibGVkKClcIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxDb2xvcl09XCJ2aWV3cG9ydExhYmVsQ29sb3IoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGlja0VtaXR0ZXJdPVwiY2xpY2tlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtheGlzSGVhZFNjYWxlXT1cInZpZXdwb3J0QXhpc0hlYWRTY2FsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgKHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd24oJGFueSgkZXZlbnQpKVwiXG4gICAgICAgICAgICAgICAgPjwvbmd0cy1naXptby12aWV3cG9ydC1heGlzLWhlYWQ+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF2aWV3cG9ydEhpZGVOZWdhdGl2ZUF4ZXMoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmd0cy1naXptby12aWV3cG9ydC1heGlzLWhlYWRcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmNTdHlsZV09XCJ2aWV3cG9ydEF4aXNDb2xvcnMoKVswXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcG9zaXRpb25dPVwiWy0xLCAwLCAwXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9udF09XCJ2aWV3cG9ydEZvbnQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidmlld3BvcnREaXNhYmxlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbENvbG9yXT1cInZpZXdwb3J0TGFiZWxDb2xvcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGlja0VtaXR0ZXJdPVwiY2xpY2tlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXhpc0hlYWRTY2FsZV09XCJ2aWV3cG9ydEF4aXNIZWFkU2NhbGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkYW55KCRldmVudCkpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmd0cy1naXptby12aWV3cG9ydC1heGlzLWhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDxuZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXMtaGVhZFxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyY1N0eWxlXT1cInZpZXdwb3J0QXhpc0NvbG9ycygpWzFdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwb3NpdGlvbl09XCJbMCwgLTEsIDBdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmb250XT1cInZpZXdwb3J0Rm9udCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ2aWV3cG9ydERpc2FibGVkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsQ29sb3JdPVwidmlld3BvcnRMYWJlbENvbG9yKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsaWNrRW1pdHRlcl09XCJjbGlja2VkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtheGlzSGVhZFNjYWxlXT1cInZpZXdwb3J0QXhpc0hlYWRTY2FsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludGVyZG93bik9XCJvblBvaW50ZXJEb3duKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgICAgICAgICA+PC9uZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXMtaGVhZD5cbiAgICAgICAgICAgICAgICAgICAgPG5ndHMtZ2l6bW8tdmlld3BvcnQtYXhpcy1oZWFkXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJjU3R5bGVdPVwidmlld3BvcnRBeGlzQ29sb3JzKClbMl1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cIlswLCAwLCAtMV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ZvbnRdPVwidmlld3BvcnRGb250KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInZpZXdwb3J0RGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxDb2xvcl09XCJ2aWV3cG9ydExhYmVsQ29sb3IoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xpY2tFbWl0dGVyXT1cImNsaWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F4aXNIZWFkU2NhbGVdPVwidmlld3BvcnRBeGlzSGVhZFNjYWxlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd24oJGFueSgkZXZlbnQpKVwiXG4gICAgICAgICAgICAgICAgICAgID48L25ndHMtZ2l6bW8tdmlld3BvcnQtYXhpcy1oZWFkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmd0LWFtYmllbnQtbGlnaHQgaW50ZW5zaXR5PVwiMC41XCI+PC9uZ3QtYW1iaWVudC1saWdodD5cbiAgICAgICAgICAgIDxuZ3QtcG9pbnQtbGlnaHQgcG9zaXRpb249XCIxMFwiIGludGVuc2l0eT1cIjAuNVwiPjwvbmd0LXBvaW50LWxpZ2h0PlxuICAgICAgICA8L25ndC1ncm91cD5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ3RzR2l6bW9WaWV3cG9ydEF4aXMsIE5ndHNHaXptb1ZpZXdwb3J0QXhpc0hlYWQsIE5nSWZdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0dpem1vVmlld3BvcnQgZXh0ZW5kcyBOZ3RTaWduYWxTdG9yZTx7XG4gICAgYXhpc0NvbG9yczogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddO1xuICAgIGF4aXNTY2FsZTogW251bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICAgIGxhYmVsczogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddO1xuICAgIGF4aXNIZWFkU2NhbGU6IG51bWJlcjtcbiAgICBsYWJlbENvbG9yOiBzdHJpbmc7XG4gICAgaGlkZU5lZ2F0aXZlQXhlczogYm9vbGVhbjtcbiAgICBoaWRlQXhpc0hlYWRzOiBib29sZWFuO1xuICAgIGRpc2FibGVkOiBib29sZWFuO1xuICAgIGZvbnQ6IHN0cmluZztcbn0+IHtcbiAgICByZWFkb25seSAjZ2l6bW9IZWxwZXJBcGkgPSBpbmplY3QoTkdUU19HSVpNT19IRUxQRVJfQVBJKTtcblxuICAgIHJlYWRvbmx5IE1hdGggPSBNYXRoO1xuXG4gICAgQElucHV0KCkgc2V0IGF4aXNDb2xvcnMoYXhpc0NvbG9yczogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgYXhpc0NvbG9ycyB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgYXhpc1NjYWxlKGF4aXNTY2FsZTogW251bWJlciwgbnVtYmVyLCBudW1iZXJdKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgYXhpc1NjYWxlIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBsYWJlbHMobGFiZWxzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBsYWJlbHMgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGF4aXNIZWFkU2NhbGUoYXhpc0hlYWRTY2FsZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgYXhpc0hlYWRTY2FsZSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbGFiZWxDb2xvcihsYWJlbENvbG9yOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBsYWJlbENvbG9yIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBoaWRlTmVnYXRpdmVBeGVzKGhpZGVOZWdhdGl2ZUF4ZXM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBoaWRlTmVnYXRpdmVBeGVzIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBoaWRlQXhpc0hlYWRzKGhpZGVBeGlzSGVhZHM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBoaWRlQXhpc0hlYWRzIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IGRpc2FibGVkIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBmb250KGZvbnQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCh7IGZvbnQgfSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4+KCk7XG5cbiAgICByZWFkb25seSB2aWV3cG9ydEF4aXNDb2xvcnMgPSB0aGlzLnNlbGVjdCgnYXhpc0NvbG9ycycpO1xuICAgIHJlYWRvbmx5IHZpZXdwb3J0QXhpc1NjYWxlID0gdGhpcy5zZWxlY3QoJ2F4aXNTY2FsZScpO1xuICAgIHJlYWRvbmx5IHZpZXdwb3J0TGFiZWxzID0gdGhpcy5zZWxlY3QoJ2xhYmVscycpO1xuICAgIHJlYWRvbmx5IHZpZXdwb3J0QXhpc0hlYWRTY2FsZSA9IHRoaXMuc2VsZWN0KCdheGlzSGVhZFNjYWxlJyk7XG4gICAgcmVhZG9ubHkgdmlld3BvcnRMYWJlbENvbG9yID0gdGhpcy5zZWxlY3QoJ2xhYmVsQ29sb3InKTtcbiAgICByZWFkb25seSB2aWV3cG9ydEhpZGVOZWdhdGl2ZUF4ZXMgPSB0aGlzLnNlbGVjdCgnaGlkZU5lZ2F0aXZlQXhlcycpO1xuICAgIHJlYWRvbmx5IHZpZXdwb3J0SGlkZUF4aXNIZWFkcyA9IHRoaXMuc2VsZWN0KCdoaWRlQXhpc0hlYWRzJyk7XG4gICAgcmVhZG9ubHkgdmlld3BvcnREaXNhYmxlZCA9IHRoaXMuc2VsZWN0KCdkaXNhYmxlZCcpO1xuICAgIHJlYWRvbmx5IHZpZXdwb3J0Rm9udCA9IHRoaXMuc2VsZWN0KCdmb250Jyk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgZm9udDogJzE4cHggSW50ZXIgdmFyLCBBcmlhbCwgc2Fucy1zZXJpZicsXG4gICAgICAgICAgICBheGlzQ29sb3JzOiBbJyNmZjIwNjAnLCAnIzIwZGY4MCcsICcjMjA4MGZmJ10sXG4gICAgICAgICAgICBheGlzSGVhZFNjYWxlOiAxLFxuICAgICAgICAgICAgbGFiZWxzOiBbJ1gnLCAnWScsICdaJ10sXG4gICAgICAgICAgICBsYWJlbENvbG9yOiAnIzAwMCcsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uUG9pbnRlckRvd24oZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50Pikge1xuICAgICAgICBpZiAoIXRoaXMuZ2V0KCdkaXNhYmxlZCcpKSB7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuI2dpem1vSGVscGVyQXBpKCkoZXZlbnQub2JqZWN0LnBvc2l0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|