@colijnit/configurator 261.1.1 → 261.20.1
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/{fesm2015/colijnit-configurator.js → fesm2022/colijnit-configurator.mjs} +19087 -18481
- package/fesm2022/colijnit-configurator.mjs.map +1 -0
- package/index.d.ts +3299 -0
- package/lib/components/answer-card/style/_layout.scss +3 -3
- package/lib/components/answers-slideout/style/_layout.scss +1 -0
- package/lib/style/configurator-globals.scss +1 -21
- package/package.json +24 -19
- package/bundles/colijnit-configurator.umd.js +0 -20167
- package/bundles/colijnit-configurator.umd.js.map +0 -1
- package/colijnit-configurator.d.ts +0 -5
- package/esm2015/colijnit-configurator.js +0 -5
- package/esm2015/lib/builder.js +0 -795
- package/esm2015/lib/components/answer-card/answer-card.component.js +0 -313
- package/esm2015/lib/components/answer-card/answer-card.module.js +0 -50
- package/esm2015/lib/components/answer-info-dialog/answer-info-dialog.component.js +0 -182
- package/esm2015/lib/components/answer-info-dialog/answer-info-dialog.module.js +0 -34
- package/esm2015/lib/components/answers-slideout/answers-slideout.component.js +0 -490
- package/esm2015/lib/components/answers-slideout/answers-slideout.module.js +0 -61
- package/esm2015/lib/components/color-filter/color-filter.component.js +0 -59
- package/esm2015/lib/components/color-filter/color-filter.module.js +0 -26
- package/esm2015/lib/components/configurator/configurator.component.js +0 -133
- package/esm2015/lib/components/configurator/configurator.module.js +0 -42
- package/esm2015/lib/components/configurator-dialog/configurator-camera-settings.component.js +0 -222
- package/esm2015/lib/components/configurator-dialog/configurator-dialog.module.js +0 -48
- package/esm2015/lib/components/configurator-dialog/configurator-error-dialog.component.js +0 -82
- package/esm2015/lib/components/configurator-dialog/configurator-export-dialog.component.js +0 -163
- package/esm2015/lib/components/configurator-loader/configurator-loader.component.js +0 -49
- package/esm2015/lib/components/configurator-loader/configurator-loader.module.js +0 -33
- package/esm2015/lib/components/configurator-scene/configurator-scene.component.js +0 -60
- package/esm2015/lib/components/configurator-scene/configurator-scene.module.js +0 -17
- package/esm2015/lib/components/configurator-scene-loader/configurator-scene-loader.component.js +0 -46
- package/esm2015/lib/components/configurator-scene-loader/configurator-scene-loader.module.js +0 -26
- package/esm2015/lib/components/element-buttons/element-buttons.component.js +0 -168
- package/esm2015/lib/components/element-buttons/element-buttons.module.js +0 -30
- package/esm2015/lib/components/element-toolbar/element-toolbar.component.js +0 -186
- package/esm2015/lib/components/element-toolbar/element-toolbar.module.js +0 -34
- package/esm2015/lib/components/image-zoom/image-zoom.component.js +0 -61
- package/esm2015/lib/components/image-zoom/image-zoom.module.js +0 -30
- package/esm2015/lib/components/lite-selector/lite-selector.component.js +0 -206
- package/esm2015/lib/components/lite-selector/lite-selector.module.js +0 -34
- package/esm2015/lib/components/product-configurator/product-configurator.component.js +0 -184
- package/esm2015/lib/components/product-configurator/product-configurator.module.js +0 -72
- package/esm2015/lib/components/product-configurator-selector/product-configurator-selector.component.js +0 -237
- package/esm2015/lib/components/product-configurator-selector/product-configurator-selector.module.js +0 -38
- package/esm2015/lib/components/product-configurator-selector-option/product-configurator-selector-option.component.js +0 -284
- package/esm2015/lib/components/product-configurator-selector-option/product-configurator-selector-option.module.js +0 -42
- package/esm2015/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.component.js +0 -72
- package/esm2015/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.module.js +0 -34
- package/esm2015/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.component.js +0 -82
- package/esm2015/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.module.js +0 -30
- package/esm2015/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.component.js +0 -80
- package/esm2015/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.module.js +0 -34
- package/esm2015/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.component.js +0 -93
- package/esm2015/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.module.js +0 -34
- package/esm2015/lib/components/progress-bar/progress-bar.component.js +0 -55
- package/esm2015/lib/components/progress-bar/progress-bar.module.js +0 -29
- package/esm2015/lib/components/scene-options/scene-options.component.js +0 -164
- package/esm2015/lib/components/scene-options/scene-options.module.js +0 -38
- package/esm2015/lib/components/selections-summary/selections-summary.component.js +0 -163
- package/esm2015/lib/components/selections-summary/selections-summary.module.js +0 -45
- package/esm2015/lib/components/selections-summary-line/selections-summary-line.component.js +0 -171
- package/esm2015/lib/components/selections-summary-line/selections-summary-line.module.js +0 -34
- package/esm2015/lib/components/slideout/slideout.component.js +0 -83
- package/esm2015/lib/components/slideout/slideout.module.js +0 -17
- package/esm2015/lib/components/summary-line/summary-line.component.js +0 -273
- package/esm2015/lib/components/summary-line/summary-line.module.js +0 -44
- package/esm2015/lib/components/tag-filter/tag-filter.component.js +0 -39
- package/esm2015/lib/components/tag-filter/tag-filter.module.js +0 -21
- package/esm2015/lib/components/threedselector/threedselector.component.js +0 -155
- package/esm2015/lib/components/threedselector/threedselector.module.js +0 -34
- package/esm2015/lib/core/helper/variation-helper.js +0 -553
- package/esm2015/lib/core/shader/floor-fade.shader.js +0 -33
- package/esm2015/lib/core/textures/depth-data-texture.js +0 -19
- package/esm2015/lib/directives/directives.module.js +0 -26
- package/esm2015/lib/directives/visibility-observer-master.directive.js +0 -53
- package/esm2015/lib/directives/visibility-observer.directive.js +0 -54
- package/esm2015/lib/enum/ar-feature.enum.js +0 -14
- package/esm2015/lib/enum/configuration-key.enum.js +0 -41
- package/esm2015/lib/enum/configuration-template.enum.js +0 -6
- package/esm2015/lib/enum/device-size-type.js +0 -7
- package/esm2015/lib/enum/device-tier.enum.js +0 -7
- package/esm2015/lib/enum/icon.enum.js +0 -113
- package/esm2015/lib/enum/item-type.enum.js +0 -23
- package/esm2015/lib/enum/light.enum.js +0 -9
- package/esm2015/lib/enum/navigator-type.enum.js +0 -6
- package/esm2015/lib/enum/output-encoding.enum.js +0 -9
- package/esm2015/lib/enum/result-type.enum.js +0 -21
- package/esm2015/lib/enum/scene-event.enum.js +0 -12
- package/esm2015/lib/enum/shadow-map-type.enum.js +0 -8
- package/esm2015/lib/enum/texture-type.js +0 -9
- package/esm2015/lib/enum/tone-mapping-local.enum.js +0 -12
- package/esm2015/lib/enum/view-mode.enum.js +0 -7
- package/esm2015/lib/enum/xr-mode.enum.js +0 -6
- package/esm2015/lib/environments/environment.js +0 -8
- package/esm2015/lib/interfaces/aa-options.interface.js +0 -2
- package/esm2015/lib/interfaces/adjustable-element.interface.js +0 -2
- package/esm2015/lib/interfaces/ao-options.interface.js +0 -2
- package/esm2015/lib/interfaces/changes.interface.js +0 -2
- package/esm2015/lib/interfaces/configuration-data.interface.js +0 -2
- package/esm2015/lib/interfaces/light-preset.interface.js +0 -2
- package/esm2015/lib/interfaces/post-processing-setting.interface.js +0 -2
- package/esm2015/lib/interfaces/scene-option-button.interface.js +0 -6
- package/esm2015/lib/interfaces/screen-size-info.js +0 -2
- package/esm2015/lib/interfaces/setting.interface.js +0 -2
- package/esm2015/lib/interfaces/texture.interface.js +0 -2
- package/esm2015/lib/interfaces/vignette-options.interface.js +0 -2
- package/esm2015/lib/model/ar-position-indicator.js +0 -18
- package/esm2015/lib/model/camera-settings.js +0 -14
- package/esm2015/lib/model/configuration-result-object.js +0 -6
- package/esm2015/lib/model/configurator-error-message.js +0 -9
- package/esm2015/lib/model/configurator-settings.js +0 -25
- package/esm2015/lib/model/custom-button.js +0 -16
- package/esm2015/lib/model/factory.js +0 -28
- package/esm2015/lib/model/icon.js +0 -112
- package/esm2015/lib/model/intersected-objects.js +0 -7
- package/esm2015/lib/model/light-preset.js +0 -73
- package/esm2015/lib/model/light-properties.js +0 -45
- package/esm2015/lib/model/material.js +0 -11
- package/esm2015/lib/model/metadata.js +0 -2
- package/esm2015/lib/model/render-parameters.js +0 -16
- package/esm2015/lib/model/setting-options.js +0 -71
- package/esm2015/lib/model/settings.js +0 -16
- package/esm2015/lib/model/shadow-properties.js +0 -10
- package/esm2015/lib/model/skin.js +0 -3
- package/esm2015/lib/model/texture.js +0 -76
- package/esm2015/lib/model/variation-settings.js +0 -54
- package/esm2015/lib/model/variation.js +0 -3
- package/esm2015/lib/model/xr-reticle.js +0 -79
- package/esm2015/lib/modules/render/enum/scene-type.enum.js +0 -6
- package/esm2015/lib/modules/render/model/ar-parameters.js +0 -12
- package/esm2015/lib/modules/render/model/scene-setting.js +0 -6
- package/esm2015/lib/modules/render/model/scene-settings.js +0 -3
- package/esm2015/lib/pipes/append.pipe.js +0 -21
- package/esm2015/lib/pipes/google-translate.pipe.js +0 -21
- package/esm2015/lib/pipes/localize.pipe.js +0 -28
- package/esm2015/lib/pipes/pipes.module.js +0 -41
- package/esm2015/lib/pipes/prepend.pipe.js +0 -21
- package/esm2015/lib/pipes/strip-html.pipe.js +0 -17
- package/esm2015/lib/services/app-event.service.js +0 -36
- package/esm2015/lib/services/app-initializer.service.js +0 -27
- package/esm2015/lib/services/ar.service.js +0 -844
- package/esm2015/lib/services/build-furniture-base.service.js +0 -1181
- package/esm2015/lib/services/build-furniture-without-scene.service.js +0 -86
- package/esm2015/lib/services/build-furniture.service.js +0 -169
- package/esm2015/lib/services/bundle-initialzer.service.js +0 -113
- package/esm2015/lib/services/camera.service.js +0 -123
- package/esm2015/lib/services/configuration.service.js +0 -79
- package/esm2015/lib/services/configurator-connector.service.js +0 -830
- package/esm2015/lib/services/configurator.service.js +0 -285
- package/esm2015/lib/services/configuring.service.js +0 -119
- package/esm2015/lib/services/controls.js +0 -799
- package/esm2015/lib/services/debug.service.js +0 -43
- package/esm2015/lib/services/dictionary.service.js +0 -65
- package/esm2015/lib/services/dynamic-camera.service.js +0 -96
- package/esm2015/lib/services/floor-plane.service.js +0 -252
- package/esm2015/lib/services/font.service.js +0 -27
- package/esm2015/lib/services/google-translate.service.js +0 -79
- package/esm2015/lib/services/icon-cache.service.js +0 -44
- package/esm2015/lib/services/intersection.service.js +0 -47
- package/esm2015/lib/services/item.service.js +0 -75
- package/esm2015/lib/services/json-utils.service.js +0 -48
- package/esm2015/lib/services/light-creation.service.js +0 -35
- package/esm2015/lib/services/light-presets.service.js +0 -157
- package/esm2015/lib/services/lights.service.js +0 -146
- package/esm2015/lib/services/load-furniture-base.service.js +0 -164
- package/esm2015/lib/services/load-furniture-without-scene.service.js +0 -45
- package/esm2015/lib/services/load-furniture.service.js +0 -72
- package/esm2015/lib/services/loader.service.js +0 -32
- package/esm2015/lib/services/locator.service.js +0 -11
- package/esm2015/lib/services/message-board.service.js +0 -50
- package/esm2015/lib/services/post-processing.service.js +0 -378
- package/esm2015/lib/services/product-configurator.service.js +0 -16
- package/esm2015/lib/services/progress.service.js +0 -20
- package/esm2015/lib/services/scene-event.service.js +0 -246
- package/esm2015/lib/services/scene-options.service.js +0 -24
- package/esm2015/lib/services/scene.service.js +0 -313
- package/esm2015/lib/services/screen-size-analysis.service.js +0 -97
- package/esm2015/lib/services/settings.service.js +0 -142
- package/esm2015/lib/services/switch-build-furniture.service.js +0 -37
- package/esm2015/lib/services/switch-load-furniture.service.js +0 -35
- package/esm2015/lib/services/threedselector.service.js +0 -72
- package/esm2015/lib/services/utils.service.js +0 -207
- package/esm2015/lib/services/variation-cache.service.js +0 -143
- package/esm2015/lib/services/variation.service.js +0 -490
- package/esm2015/lib/services/view-mode.service.js +0 -37
- package/esm2015/lib/services/vr.service.js +0 -191
- package/esm2015/lib/services/xr.service.js +0 -294
- package/esm2015/lib/utils/asset.utils.js +0 -120
- package/esm2015/lib/utils/base-utils.js +0 -9
- package/esm2015/lib/utils/color.utils.js +0 -30
- package/esm2015/lib/utils/debug.utils.js +0 -9
- package/esm2015/lib/utils/device.utils.js +0 -25
- package/esm2015/lib/utils/file.utils.js +0 -167
- package/esm2015/lib/utils/image.utils.js +0 -61
- package/esm2015/lib/utils/json-parser.utils.js +0 -180
- package/esm2015/lib/utils/material.utils.js +0 -433
- package/esm2015/lib/utils/object.utils.js +0 -360
- package/esm2015/lib/utils/relative-position.utils.js +0 -75
- package/esm2015/lib/utils/rotation-helper.utils.js +0 -15
- package/esm2015/lib/utils/scene-3d.utils.js +0 -213
- package/esm2015/lib/utils/scene-utils.js +0 -191
- package/esm2015/lib/utils/text-utils.js +0 -68
- package/esm2015/lib/utils/threed.utils.js +0 -281
- package/esm2015/lib/utils/variation-utils.js +0 -459
- package/esm2015/public-api.js +0 -65
- package/fesm2015/colijnit-configurator.js.map +0 -1
- package/lib/builder.d.ts +0 -83
- package/lib/components/answer-card/answer-card.component.d.ts +0 -58
- package/lib/components/answer-card/answer-card.module.d.ts +0 -11
- package/lib/components/answer-info-dialog/answer-info-dialog.component.d.ts +0 -38
- package/lib/components/answer-info-dialog/answer-info-dialog.module.d.ts +0 -10
- package/lib/components/answers-slideout/answers-slideout.component.d.ts +0 -86
- package/lib/components/answers-slideout/answers-slideout.module.d.ts +0 -16
- package/lib/components/color-filter/color-filter.component.d.ts +0 -20
- package/lib/components/color-filter/color-filter.module.d.ts +0 -8
- package/lib/components/configurator/configurator.component.d.ts +0 -37
- package/lib/components/configurator/configurator.module.d.ts +0 -12
- package/lib/components/configurator-dialog/configurator-camera-settings.component.d.ts +0 -30
- package/lib/components/configurator-dialog/configurator-dialog.module.d.ts +0 -13
- package/lib/components/configurator-dialog/configurator-error-dialog.component.d.ts +0 -16
- package/lib/components/configurator-dialog/configurator-export-dialog.component.d.ts +0 -26
- package/lib/components/configurator-loader/configurator-loader.component.d.ts +0 -7
- package/lib/components/configurator-loader/configurator-loader.module.d.ts +0 -9
- package/lib/components/configurator-scene/configurator-scene.component.d.ts +0 -24
- package/lib/components/configurator-scene/configurator-scene.module.d.ts +0 -7
- package/lib/components/configurator-scene-loader/configurator-scene-loader.component.d.ts +0 -7
- package/lib/components/configurator-scene-loader/configurator-scene-loader.module.d.ts +0 -8
- package/lib/components/element-buttons/element-buttons.component.d.ts +0 -32
- package/lib/components/element-buttons/element-buttons.module.d.ts +0 -9
- package/lib/components/element-toolbar/element-toolbar.component.d.ts +0 -27
- package/lib/components/element-toolbar/element-toolbar.module.d.ts +0 -10
- package/lib/components/image-zoom/image-zoom.component.d.ts +0 -15
- package/lib/components/image-zoom/image-zoom.module.d.ts +0 -9
- package/lib/components/lite-selector/lite-selector.component.d.ts +0 -40
- package/lib/components/lite-selector/lite-selector.module.d.ts +0 -10
- package/lib/components/product-configurator/product-configurator.component.d.ts +0 -50
- package/lib/components/product-configurator/product-configurator.module.d.ts +0 -15
- package/lib/components/product-configurator-selector/product-configurator-selector.component.d.ts +0 -35
- package/lib/components/product-configurator-selector/product-configurator-selector.module.d.ts +0 -11
- package/lib/components/product-configurator-selector-option/product-configurator-selector-option.component.d.ts +0 -31
- package/lib/components/product-configurator-selector-option/product-configurator-selector-option.module.d.ts +0 -13
- package/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.component.d.ts +0 -20
- package/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.module.d.ts +0 -10
- package/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.component.d.ts +0 -20
- package/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.module.d.ts +0 -10
- package/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.component.d.ts +0 -21
- package/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.module.d.ts +0 -10
- package/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.component.d.ts +0 -21
- package/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.module.d.ts +0 -10
- package/lib/components/progress-bar/progress-bar.component.d.ts +0 -10
- package/lib/components/progress-bar/progress-bar.module.d.ts +0 -8
- package/lib/components/scene-options/scene-options.component.d.ts +0 -24
- package/lib/components/scene-options/scene-options.module.d.ts +0 -11
- package/lib/components/selections-summary/selections-summary.component.d.ts +0 -38
- package/lib/components/selections-summary/selections-summary.module.d.ts +0 -12
- package/lib/components/selections-summary-line/selections-summary-line.component.d.ts +0 -27
- package/lib/components/selections-summary-line/selections-summary-line.module.d.ts +0 -10
- package/lib/components/slideout/slideout.component.d.ts +0 -22
- package/lib/components/slideout/slideout.module.d.ts +0 -7
- package/lib/components/summary-line/summary-line.component.d.ts +0 -50
- package/lib/components/summary-line/summary-line.module.d.ts +0 -11
- package/lib/components/tag-filter/tag-filter.component.d.ts +0 -9
- package/lib/components/tag-filter/tag-filter.module.d.ts +0 -7
- package/lib/components/threedselector/threedselector.component.d.ts +0 -38
- package/lib/components/threedselector/threedselector.module.d.ts +0 -10
- package/lib/core/helper/variation-helper.d.ts +0 -25
- package/lib/core/shader/floor-fade.shader.d.ts +0 -5
- package/lib/core/textures/depth-data-texture.d.ts +0 -5
- package/lib/directives/directives.module.d.ts +0 -8
- package/lib/directives/visibility-observer-master.directive.d.ts +0 -12
- package/lib/directives/visibility-observer.directive.d.ts +0 -16
- package/lib/enum/ar-feature.enum.d.ts +0 -12
- package/lib/enum/configuration-key.enum.d.ts +0 -39
- package/lib/enum/configuration-template.enum.d.ts +0 -4
- package/lib/enum/device-size-type.d.ts +0 -5
- package/lib/enum/device-tier.enum.d.ts +0 -5
- package/lib/enum/icon.enum.d.ts +0 -111
- package/lib/enum/item-type.enum.d.ts +0 -21
- package/lib/enum/light.enum.d.ts +0 -7
- package/lib/enum/navigator-type.enum.d.ts +0 -4
- package/lib/enum/output-encoding.enum.d.ts +0 -7
- package/lib/enum/result-type.enum.d.ts +0 -19
- package/lib/enum/scene-event.enum.d.ts +0 -10
- package/lib/enum/shadow-map-type.enum.d.ts +0 -6
- package/lib/enum/texture-type.d.ts +0 -7
- package/lib/enum/tone-mapping-local.enum.d.ts +0 -10
- package/lib/enum/view-mode.enum.d.ts +0 -5
- package/lib/enum/xr-mode.enum.d.ts +0 -4
- package/lib/environments/environment.d.ts +0 -4
- package/lib/interfaces/aa-options.interface.d.ts +0 -4
- package/lib/interfaces/adjustable-element.interface.d.ts +0 -5
- package/lib/interfaces/ao-options.interface.d.ts +0 -18
- package/lib/interfaces/changes.interface.d.ts +0 -9
- package/lib/interfaces/configuration-data.interface.d.ts +0 -40
- package/lib/interfaces/light-preset.interface.d.ts +0 -22
- package/lib/interfaces/post-processing-setting.interface.d.ts +0 -11
- package/lib/interfaces/scene-option-button.interface.d.ts +0 -19
- package/lib/interfaces/screen-size-info.d.ts +0 -10
- package/lib/interfaces/setting.interface.d.ts +0 -8
- package/lib/interfaces/texture.interface.d.ts +0 -44
- package/lib/interfaces/vignette-options.interface.d.ts +0 -4
- package/lib/model/ar-position-indicator.d.ts +0 -4
- package/lib/model/camera-settings.d.ts +0 -12
- package/lib/model/configuration-result-object.d.ts +0 -30
- package/lib/model/configurator-error-message.d.ts +0 -8
- package/lib/model/configurator-settings.d.ts +0 -62
- package/lib/model/custom-button.d.ts +0 -10
- package/lib/model/factory.d.ts +0 -5
- package/lib/model/icon.d.ts +0 -4
- package/lib/model/intersected-objects.d.ts +0 -6
- package/lib/model/light-preset.d.ts +0 -33
- package/lib/model/light-properties.d.ts +0 -25
- package/lib/model/material.d.ts +0 -41
- package/lib/model/metadata.d.ts +0 -78
- package/lib/model/render-parameters.d.ts +0 -12
- package/lib/model/setting-options.d.ts +0 -67
- package/lib/model/settings.d.ts +0 -10
- package/lib/model/shadow-properties.d.ts +0 -7
- package/lib/model/skin.d.ts +0 -15
- package/lib/model/texture.d.ts +0 -52
- package/lib/model/variation-settings.d.ts +0 -55
- package/lib/model/variation.d.ts +0 -11
- package/lib/model/xr-reticle.d.ts +0 -17
- package/lib/modules/render/enum/scene-type.enum.d.ts +0 -4
- package/lib/modules/render/model/ar-parameters.d.ts +0 -9
- package/lib/modules/render/model/scene-setting.d.ts +0 -13
- package/lib/modules/render/model/scene-settings.d.ts +0 -4
- package/lib/pipes/append.pipe.d.ts +0 -7
- package/lib/pipes/google-translate.pipe.d.ts +0 -11
- package/lib/pipes/localize.pipe.d.ts +0 -10
- package/lib/pipes/pipes.module.d.ts +0 -11
- package/lib/pipes/prepend.pipe.d.ts +0 -7
- package/lib/pipes/strip-html.pipe.d.ts +0 -7
- package/lib/services/app-event.service.d.ts +0 -32
- package/lib/services/app-initializer.service.d.ts +0 -14
- package/lib/services/ar.service.d.ts +0 -120
- package/lib/services/build-furniture-base.service.d.ts +0 -117
- package/lib/services/build-furniture-without-scene.service.d.ts +0 -14
- package/lib/services/build-furniture.service.d.ts +0 -14
- package/lib/services/bundle-initialzer.service.d.ts +0 -45
- package/lib/services/camera.service.d.ts +0 -44
- package/lib/services/configuration.service.d.ts +0 -18
- package/lib/services/configurator-connector.service.d.ts +0 -140
- package/lib/services/configurator.service.d.ts +0 -62
- package/lib/services/configuring.service.d.ts +0 -46
- package/lib/services/controls.d.ts +0 -11
- package/lib/services/debug.service.d.ts +0 -16
- package/lib/services/dictionary.service.d.ts +0 -15
- package/lib/services/dynamic-camera.service.d.ts +0 -21
- package/lib/services/floor-plane.service.d.ts +0 -47
- package/lib/services/font.service.d.ts +0 -10
- package/lib/services/google-translate.service.d.ts +0 -26
- package/lib/services/icon-cache.service.d.ts +0 -21
- package/lib/services/intersection.service.d.ts +0 -11
- package/lib/services/item.service.d.ts +0 -18
- package/lib/services/json-utils.service.d.ts +0 -7
- package/lib/services/light-creation.service.d.ts +0 -9
- package/lib/services/light-presets.service.d.ts +0 -34
- package/lib/services/lights.service.d.ts +0 -34
- package/lib/services/load-furniture-base.service.d.ts +0 -37
- package/lib/services/load-furniture-without-scene.service.d.ts +0 -9
- package/lib/services/load-furniture.service.d.ts +0 -9
- package/lib/services/loader.service.d.ts +0 -11
- package/lib/services/locator.service.d.ts +0 -7
- package/lib/services/message-board.service.d.ts +0 -18
- package/lib/services/post-processing.service.d.ts +0 -74
- package/lib/services/product-configurator.service.d.ts +0 -11
- package/lib/services/progress.service.d.ts +0 -9
- package/lib/services/scene-event.service.d.ts +0 -72
- package/lib/services/scene-options.service.d.ts +0 -11
- package/lib/services/scene.service.d.ts +0 -71
- package/lib/services/screen-size-analysis.service.d.ts +0 -32
- package/lib/services/settings.service.d.ts +0 -24
- package/lib/services/switch-build-furniture.service.d.ts +0 -21
- package/lib/services/switch-load-furniture.service.d.ts +0 -21
- package/lib/services/threedselector.service.d.ts +0 -17
- package/lib/services/utils.service.d.ts +0 -24
- package/lib/services/variation-cache.service.d.ts +0 -23
- package/lib/services/variation.service.d.ts +0 -26
- package/lib/services/view-mode.service.d.ts +0 -17
- package/lib/services/vr.service.d.ts +0 -42
- package/lib/services/xr.service.d.ts +0 -56
- package/lib/utils/asset.utils.d.ts +0 -19
- package/lib/utils/base-utils.d.ts +0 -4
- package/lib/utils/color.utils.d.ts +0 -8
- package/lib/utils/debug.utils.d.ts +0 -3
- package/lib/utils/device.utils.d.ts +0 -7
- package/lib/utils/file.utils.d.ts +0 -30
- package/lib/utils/image.utils.d.ts +0 -9
- package/lib/utils/json-parser.utils.d.ts +0 -9
- package/lib/utils/material.utils.d.ts +0 -34
- package/lib/utils/object.utils.d.ts +0 -32
- package/lib/utils/relative-position.utils.d.ts +0 -12
- package/lib/utils/rotation-helper.utils.d.ts +0 -6
- package/lib/utils/scene-3d.utils.d.ts +0 -8
- package/lib/utils/scene-utils.d.ts +0 -7
- package/lib/utils/text-utils.d.ts +0 -4
- package/lib/utils/threed.utils.d.ts +0 -20
- package/lib/utils/variation-utils.d.ts +0 -18
- package/public-api.d.ts +0 -60
- /package/lib/style/{template_variables.scss → _variables.scss} +0 -0
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Box3, Mesh, RGBAFormat, Vector3 } from 'three';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./scene.service";
|
|
5
|
-
export class ItemService {
|
|
6
|
-
constructor(_sceneService) {
|
|
7
|
-
this._sceneService = _sceneService;
|
|
8
|
-
this._sceneItems = [];
|
|
9
|
-
}
|
|
10
|
-
get sceneItems() {
|
|
11
|
-
return this._sceneItems;
|
|
12
|
-
}
|
|
13
|
-
ngOnDestroy() {
|
|
14
|
-
this._sceneItems = [];
|
|
15
|
-
}
|
|
16
|
-
addItem(item, replace = true) {
|
|
17
|
-
if (replace) {
|
|
18
|
-
this._sceneItems = [];
|
|
19
|
-
const oldModel = this._sceneService.scene.getObjectByName(item.name);
|
|
20
|
-
this._sceneService.removeObject(oldModel);
|
|
21
|
-
}
|
|
22
|
-
// Le glas check
|
|
23
|
-
this.glassMaterialCheck(item);
|
|
24
|
-
this._sceneItems.push(item);
|
|
25
|
-
this._sceneService.addObject(item);
|
|
26
|
-
}
|
|
27
|
-
removeAllItems() {
|
|
28
|
-
const allItems = this._sceneItems.slice();
|
|
29
|
-
allItems.forEach(i => {
|
|
30
|
-
this.removeItem(i);
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
removeItem(obj) {
|
|
34
|
-
if (typeof obj === 'string') {
|
|
35
|
-
obj = this._sceneService.scene.getObjectByName(obj);
|
|
36
|
-
}
|
|
37
|
-
if (obj) {
|
|
38
|
-
this._sceneService.removeObject(obj, true);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
objectDimensions(object) {
|
|
42
|
-
const objectBox = new Box3();
|
|
43
|
-
objectBox.setFromObject(object);
|
|
44
|
-
const size = new Vector3();
|
|
45
|
-
objectBox.getSize(size);
|
|
46
|
-
return size;
|
|
47
|
-
}
|
|
48
|
-
glassMaterialCheck(item) {
|
|
49
|
-
if (item) {
|
|
50
|
-
item.traverse((child) => {
|
|
51
|
-
if (child instanceof Mesh && child.material) {
|
|
52
|
-
child.castShadow = true;
|
|
53
|
-
const materials = !Array.isArray(child.material) ? [child.material] : child.material;
|
|
54
|
-
materials.forEach(material => {
|
|
55
|
-
if (material.name && (material.name === 'Fixed_Glass' || material.name === 'Default_Glass')) {
|
|
56
|
-
child.castShadow = false;
|
|
57
|
-
material.transparent = true;
|
|
58
|
-
// TODO addd opacity when indefined
|
|
59
|
-
// material.opacity = 0.2;
|
|
60
|
-
material.format = RGBAFormat;
|
|
61
|
-
material.needsUpdate = true;
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
ItemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ItemService, deps: [{ token: i1.SceneService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
70
|
-
ItemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ItemService, providedIn: 'root' });
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ItemService, decorators: [{
|
|
72
|
-
type: Injectable,
|
|
73
|
-
args: [{ providedIn: 'root' }]
|
|
74
|
-
}], ctorParameters: function () { return [{ type: i1.SceneService }]; } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29uZmlndXJhdG9yL3NyYy9saWIvc2VydmljZXMvaXRlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQVksVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQzs7O0FBSWhFLE1BQU0sT0FBTyxXQUFXO0lBUXRCLFlBQ1UsYUFBMkI7UUFBM0Isa0JBQWEsR0FBYixhQUFhLENBQWM7UUFIN0IsZ0JBQVcsR0FBZSxFQUFFLENBQUM7SUFNckMsQ0FBQztJQVZELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQVVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFjLEVBQUUsVUFBbUIsSUFBSTtRQUNwRCxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sUUFBUSxHQUFhLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDM0M7UUFDRCxnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxjQUFjO1FBQ25CLE1BQU0sUUFBUSxHQUFlLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNNLFVBQVUsQ0FBQyxHQUFRO1FBQ3hCLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQzNCLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFhLENBQUM7U0FDakU7UUFDRCxJQUFJLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUFnQjtRQUN0QyxNQUFNLFNBQVMsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ25DLFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsTUFBTSxJQUFJLEdBQVksSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNwQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGtCQUFrQixDQUFDLElBQWM7UUFDdEMsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO29CQUMzQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztvQkFDeEIsTUFBTSxTQUFTLEdBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7b0JBQzFGLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7d0JBQzNCLElBQUksUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssYUFBYSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLEVBQUU7NEJBQzNGLEtBQUssQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDOzRCQUN6QixRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzs0QkFDNUIsbUNBQW1DOzRCQUNuQywwQkFBMEI7NEJBQzFCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDOzRCQUM3QixRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzt5QkFDN0I7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7eUdBekVVLFdBQVc7NkdBQVgsV0FBVyxjQURDLE1BQU07NEZBQ2xCLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0JveDMsIE1lc2gsIE9iamVjdDNELCBSR0JBRm9ybWF0LCBWZWN0b3IzfSBmcm9tICd0aHJlZSc7XHJcbmltcG9ydCB7U2NlbmVTZXJ2aWNlfSBmcm9tICcuL3NjZW5lLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXHJcbmV4cG9ydCBjbGFzcyBJdGVtU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIHB1YmxpYyBnZXQgc2NlbmVJdGVtcygpOiBPYmplY3QzRFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9zY2VuZUl0ZW1zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2NlbmVJdGVtczogT2JqZWN0M0RbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3NjZW5lU2VydmljZTogU2NlbmVTZXJ2aWNlXHJcbiAgKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2NlbmVJdGVtcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZEl0ZW0oaXRlbTogT2JqZWN0M0QsIHJlcGxhY2U6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICBpZiAocmVwbGFjZSkge1xyXG4gICAgICB0aGlzLl9zY2VuZUl0ZW1zID0gW107XHJcbiAgICAgIGNvbnN0IG9sZE1vZGVsOiBPYmplY3QzRCA9IHRoaXMuX3NjZW5lU2VydmljZS5zY2VuZS5nZXRPYmplY3RCeU5hbWUoaXRlbS5uYW1lKTtcclxuICAgICAgdGhpcy5fc2NlbmVTZXJ2aWNlLnJlbW92ZU9iamVjdChvbGRNb2RlbCk7XHJcbiAgICB9XHJcbiAgICAvLyBMZSBnbGFzIGNoZWNrXHJcbiAgICB0aGlzLmdsYXNzTWF0ZXJpYWxDaGVjayhpdGVtKTtcclxuXHJcbiAgICB0aGlzLl9zY2VuZUl0ZW1zLnB1c2goaXRlbSk7XHJcbiAgICB0aGlzLl9zY2VuZVNlcnZpY2UuYWRkT2JqZWN0KGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbW92ZUFsbEl0ZW1zKCkge1xyXG4gICAgY29uc3QgYWxsSXRlbXM6IE9iamVjdDNEW10gPSB0aGlzLl9zY2VuZUl0ZW1zLnNsaWNlKCk7XHJcbiAgICBhbGxJdGVtcy5mb3JFYWNoKGkgPT4ge1xyXG4gICAgICB0aGlzLnJlbW92ZUl0ZW0oaSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHVibGljIHJlbW92ZUl0ZW0ob2JqOiBhbnksICk6IHZvaWQge1xyXG4gICAgaWYgKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIG9iaiA9IHRoaXMuX3NjZW5lU2VydmljZS5zY2VuZS5nZXRPYmplY3RCeU5hbWUob2JqKSBhcyBPYmplY3QzRDtcclxuICAgIH1cclxuICAgIGlmIChvYmopIHtcclxuICAgICAgdGhpcy5fc2NlbmVTZXJ2aWNlLnJlbW92ZU9iamVjdChvYmosIHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9iamVjdERpbWVuc2lvbnMob2JqZWN0OiBPYmplY3QzRCk6IFZlY3RvcjMge1xyXG4gICAgY29uc3Qgb2JqZWN0Qm94OiBCb3gzID0gbmV3IEJveDMoKTtcclxuICAgIG9iamVjdEJveC5zZXRGcm9tT2JqZWN0KG9iamVjdCk7XHJcbiAgICBjb25zdCBzaXplOiBWZWN0b3IzID0gbmV3IFZlY3RvcjMoKTtcclxuICAgIG9iamVjdEJveC5nZXRTaXplKHNpemUpO1xyXG4gICAgcmV0dXJuIHNpemU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2xhc3NNYXRlcmlhbENoZWNrKGl0ZW06IE9iamVjdDNEKSB7XHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICBpdGVtLnRyYXZlcnNlKChjaGlsZCkgPT4ge1xyXG4gICAgICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIE1lc2ggJiYgY2hpbGQubWF0ZXJpYWwpIHtcclxuICAgICAgICAgIGNoaWxkLmNhc3RTaGFkb3cgPSB0cnVlO1xyXG4gICAgICAgICAgY29uc3QgbWF0ZXJpYWxzOiBhbnkgPSAhQXJyYXkuaXNBcnJheShjaGlsZC5tYXRlcmlhbCkgPyBbY2hpbGQubWF0ZXJpYWxdIDogY2hpbGQubWF0ZXJpYWw7XHJcbiAgICAgICAgICBtYXRlcmlhbHMuZm9yRWFjaChtYXRlcmlhbCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChtYXRlcmlhbC5uYW1lICYmIChtYXRlcmlhbC5uYW1lID09PSAnRml4ZWRfR2xhc3MnIHx8IG1hdGVyaWFsLm5hbWUgPT09ICdEZWZhdWx0X0dsYXNzJykpIHtcclxuICAgICAgICAgICAgICBjaGlsZC5jYXN0U2hhZG93ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgbWF0ZXJpYWwudHJhbnNwYXJlbnQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIC8vIFRPRE8gYWRkZCBvcGFjaXR5IHdoZW4gaW5kZWZpbmVkXHJcbiAgICAgICAgICAgICAgLy8gbWF0ZXJpYWwub3BhY2l0eSA9IDAuMjtcclxuICAgICAgICAgICAgICBtYXRlcmlhbC5mb3JtYXQgPSBSR0JBRm9ybWF0O1xyXG4gICAgICAgICAgICAgIG1hdGVyaWFsLm5lZWRzVXBkYXRlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class JsonUtilsService {
|
|
5
|
-
readJsonFile(filePath, includeBaseUrl = true) {
|
|
6
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
7
|
-
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
8
|
-
try {
|
|
9
|
-
filePath = includeBaseUrl ? this._includeBaseUrl(filePath) : filePath;
|
|
10
|
-
const response = yield fetch(filePath);
|
|
11
|
-
if (!response.ok) {
|
|
12
|
-
reject();
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
let empty = false;
|
|
16
|
-
yield response.clone().text().then((value) => {
|
|
17
|
-
if (value === '') {
|
|
18
|
-
empty = true;
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
resolve(empty ? {} : response.json());
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
catch (e) {
|
|
25
|
-
reject();
|
|
26
|
-
}
|
|
27
|
-
}));
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
_includeBaseUrl(url) {
|
|
31
|
-
if (url[0] === '.') {
|
|
32
|
-
url = url.replace('.', '');
|
|
33
|
-
}
|
|
34
|
-
if (url[0] === '/') {
|
|
35
|
-
url = url.replace('/', '');
|
|
36
|
-
}
|
|
37
|
-
return './' + url;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
JsonUtilsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: JsonUtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
41
|
-
JsonUtilsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: JsonUtilsService, providedIn: 'root' });
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: JsonUtilsService, decorators: [{
|
|
43
|
-
type: Injectable,
|
|
44
|
-
args: [{
|
|
45
|
-
providedIn: 'root'
|
|
46
|
-
}]
|
|
47
|
-
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi11dGlscy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29uZmlndXJhdG9yL3NyYy9saWIvc2VydmljZXMvanNvbi11dGlscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUt6QyxNQUFNLE9BQU8sZ0JBQWdCO0lBRWQsWUFBWSxDQUFDLFFBQWdCLEVBQUUsaUJBQTBCLElBQUk7O1lBQ3hFLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBTyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDL0QsSUFBSTtvQkFDRixRQUFRLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7b0JBQ3RFLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTt3QkFDaEIsTUFBTSxFQUFFLENBQUM7cUJBQ1Y7eUJBQU07d0JBQ0wsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDO3dCQUNsQixNQUFNLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTs0QkFDM0MsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFO2dDQUNoQixLQUFLLEdBQUcsSUFBSSxDQUFDOzZCQUNkO3dCQUNILENBQUMsQ0FBQyxDQUFDO3dCQUNILE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7cUJBQ3ZDO2lCQUNGO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNWLE1BQU0sRUFBRSxDQUFDO2lCQUNWO1lBQ0gsQ0FBQyxDQUFBLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVPLGVBQWUsQ0FBQyxHQUFXO1FBQ2pDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRTtZQUNsQixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDNUI7UUFDRCxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUU7WUFDbEIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsT0FBTyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ3BCLENBQUM7OzhHQWhDVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQUZmLE1BQU07NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBKc29uVXRpbHNTZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIGFzeW5jIHJlYWRKc29uRmlsZShmaWxlUGF0aDogc3RyaW5nLCBpbmNsdWRlQmFzZVVybDogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGZpbGVQYXRoID0gaW5jbHVkZUJhc2VVcmwgPyB0aGlzLl9pbmNsdWRlQmFzZVVybChmaWxlUGF0aCkgOiBmaWxlUGF0aDtcclxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGZpbGVQYXRoKTtcclxuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgICByZWplY3QoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbGV0IGVtcHR5ID0gZmFsc2U7XHJcbiAgICAgICAgICBhd2FpdCByZXNwb25zZS5jbG9uZSgpLnRleHQoKS50aGVuKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgPT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgZW1wdHkgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJlc29sdmUoZW1wdHkgPyB7fSA6IHJlc3BvbnNlLmpzb24oKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5jbHVkZUJhc2VVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKHVybFswXSA9PT0gJy4nKSB7XHJcbiAgICAgIHVybCA9IHVybC5yZXBsYWNlKCcuJywgJycpO1xyXG4gICAgfVxyXG4gICAgaWYgKHVybFswXSA9PT0gJy8nKSB7XHJcbiAgICAgIHVybCA9IHVybC5yZXBsYWNlKCcvJywgJycpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcuLycgKyB1cmw7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { AmbientLight, DirectionalLight, HemisphereLight, Light, PointLight, SpotLight } from 'three';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class LightCreateService extends Light {
|
|
5
|
-
constructor() {
|
|
6
|
-
super();
|
|
7
|
-
}
|
|
8
|
-
createNewLight(lightType) {
|
|
9
|
-
if (lightType === 'SpotLight') {
|
|
10
|
-
this.light = new SpotLight();
|
|
11
|
-
}
|
|
12
|
-
else if (lightType === 'DirectionalLight') {
|
|
13
|
-
this.light = new DirectionalLight();
|
|
14
|
-
}
|
|
15
|
-
else if (lightType === 'AmbientLight') {
|
|
16
|
-
this.light = new AmbientLight();
|
|
17
|
-
}
|
|
18
|
-
else if (lightType === 'HemisphereLight') {
|
|
19
|
-
this.light = new HemisphereLight();
|
|
20
|
-
}
|
|
21
|
-
else if (lightType === 'PointLight') {
|
|
22
|
-
this.light = new PointLight();
|
|
23
|
-
}
|
|
24
|
-
return this.light;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
LightCreateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LightCreateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
-
LightCreateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LightCreateService, providedIn: 'root' });
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LightCreateService, decorators: [{
|
|
30
|
-
type: Injectable,
|
|
31
|
-
args: [{
|
|
32
|
-
providedIn: 'root'
|
|
33
|
-
}]
|
|
34
|
-
}], ctorParameters: function () { return []; } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHQtY3JlYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbmZpZ3VyYXRvci9zcmMvbGliL3NlcnZpY2VzL2xpZ2h0LWNyZWF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWUsVUFBVSxFQUFFLFNBQVMsRUFBQyxNQUFNLE9BQU8sQ0FBQzs7QUFLakgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLEtBQUs7SUFHM0M7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFTSxjQUFjLENBQUMsU0FBaUI7UUFDckMsSUFBSSxTQUFTLEtBQUssV0FBVyxFQUFFO1lBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztTQUM5QjthQUFNLElBQUksU0FBUyxLQUFLLGtCQUFrQixFQUFFO1lBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3JDO2FBQU0sSUFBSSxTQUFTLEtBQUssY0FBYyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztTQUNqQzthQUFNLElBQUksU0FBUyxLQUFLLGlCQUFpQixFQUFFO1lBQzFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztTQUNwQzthQUFNLElBQUksU0FBUyxLQUFLLFlBQVksRUFBRTtZQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7U0FDL0I7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7Z0hBckJVLGtCQUFrQjtvSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QW1iaWVudExpZ2h0LCBEaXJlY3Rpb25hbExpZ2h0LCBIZW1pc3BoZXJlTGlnaHQsIExpZ2h0LCBMaWdodFNoYWRvdywgUG9pbnRMaWdodCwgU3BvdExpZ2h0fSBmcm9tICd0aHJlZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWdodENyZWF0ZVNlcnZpY2UgZXh0ZW5kcyBMaWdodCB7XHJcbiAgcHVibGljIGxpZ2h0OiBMaWdodDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNyZWF0ZU5ld0xpZ2h0KGxpZ2h0VHlwZTogc3RyaW5nKTogTGlnaHQ8TGlnaHRTaGFkb3c+IHtcclxuICAgIGlmIChsaWdodFR5cGUgPT09ICdTcG90TGlnaHQnKSB7XHJcbiAgICAgIHRoaXMubGlnaHQgPSBuZXcgU3BvdExpZ2h0KCk7XHJcbiAgICB9IGVsc2UgaWYgKGxpZ2h0VHlwZSA9PT0gJ0RpcmVjdGlvbmFsTGlnaHQnKSB7XHJcbiAgICAgIHRoaXMubGlnaHQgPSBuZXcgRGlyZWN0aW9uYWxMaWdodCgpO1xyXG4gICAgfSBlbHNlIGlmIChsaWdodFR5cGUgPT09ICdBbWJpZW50TGlnaHQnKSB7XHJcbiAgICAgIHRoaXMubGlnaHQgPSBuZXcgQW1iaWVudExpZ2h0KCk7XHJcbiAgICB9IGVsc2UgaWYgKGxpZ2h0VHlwZSA9PT0gJ0hlbWlzcGhlcmVMaWdodCcpIHtcclxuICAgICAgdGhpcy5saWdodCA9IG5ldyBIZW1pc3BoZXJlTGlnaHQoKTtcclxuICAgIH0gZWxzZSBpZiAobGlnaHRUeXBlID09PSAnUG9pbnRMaWdodCcpIHtcclxuICAgICAgdGhpcy5saWdodCA9IG5ldyBQb2ludExpZ2h0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMubGlnaHQ7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { AmbientLight, Color, DirectionalLight, HemisphereLight, PointLight, SpotLight } from 'three';
|
|
4
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
5
|
-
import { take } from 'rxjs/operators';
|
|
6
|
-
import { shadowMapTypesMap } from '../model/light-preset';
|
|
7
|
-
import { LightEnum } from '../enum/light.enum';
|
|
8
|
-
import { ObjectUtils } from '../utils/object.utils';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "./lights.service";
|
|
11
|
-
import * as i2 from "./bundle-initialzer.service";
|
|
12
|
-
import * as i3 from "./scene.service";
|
|
13
|
-
import * as i4 from "./screen-size-analysis.service";
|
|
14
|
-
import * as i5 from "./settings.service";
|
|
15
|
-
export class LightPresetsService {
|
|
16
|
-
constructor(_lightsService, _appService, _sceneService, _screenSizeAnalysis, _settingsService) {
|
|
17
|
-
this._lightsService = _lightsService;
|
|
18
|
-
this._appService = _appService;
|
|
19
|
-
this._sceneService = _sceneService;
|
|
20
|
-
this._screenSizeAnalysis = _screenSizeAnalysis;
|
|
21
|
-
this._settingsService = _settingsService;
|
|
22
|
-
this.presetLoaded = new BehaviorSubject(false);
|
|
23
|
-
this._lightPresetsLoaded = new Subject();
|
|
24
|
-
this._subs = [];
|
|
25
|
-
// @ts-ignore
|
|
26
|
-
this._lightsMap = new Map([
|
|
27
|
-
[LightEnum.SpotLight, SpotLight],
|
|
28
|
-
[LightEnum.DirectionalLight, DirectionalLight],
|
|
29
|
-
[LightEnum.AmbientLight, AmbientLight],
|
|
30
|
-
[LightEnum.HemisphereLight, HemisphereLight],
|
|
31
|
-
[LightEnum.PointLight, PointLight]
|
|
32
|
-
]);
|
|
33
|
-
}
|
|
34
|
-
set activeLightPreset(value) {
|
|
35
|
-
this._activeLightPreset = value;
|
|
36
|
-
}
|
|
37
|
-
get activeLightPreset() {
|
|
38
|
-
return this._activeLightPreset;
|
|
39
|
-
}
|
|
40
|
-
init() {
|
|
41
|
-
this._subs.push(this._appService.lightPresetsLoaded.subscribe((lightPresets) => {
|
|
42
|
-
if (lightPresets) {
|
|
43
|
-
this.loadedLightPresets = lightPresets;
|
|
44
|
-
// TODO fix empty light plan, for now; not lightplan, no lights
|
|
45
|
-
if (this.loadedLightPresets.length === 0) {
|
|
46
|
-
// this.createNewLightPreset();
|
|
47
|
-
}
|
|
48
|
-
this._lightPresetsLoaded.next();
|
|
49
|
-
}
|
|
50
|
-
}));
|
|
51
|
-
}
|
|
52
|
-
ngOnDestroy() {
|
|
53
|
-
this._subs.forEach(s => s.unsubscribe());
|
|
54
|
-
}
|
|
55
|
-
loadLightPreset(lightPreset) {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
this._lightsService.removeAllLights();
|
|
58
|
-
if (lightPreset.hdri) {
|
|
59
|
-
ObjectUtils.LoadHDRI(this._settingsService.settings.assetPath + lightPreset.hdri, this._sceneService.scene).then(() => {
|
|
60
|
-
this._sceneService.scene.environmentIntensity = lightPreset.hdriIntensity || 1;
|
|
61
|
-
this._sceneService.scene.backgroundIntensity = lightPreset.hdriIntensity || 1;
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
this._sceneService.renderer.toneMappingExposure = lightPreset.toneMappingExposure;
|
|
65
|
-
this._sceneService.renderer.shadowMap.type = shadowMapTypesMap.get(lightPreset.shadowMapType);
|
|
66
|
-
this._sceneService.renderer.outputColorSpace = lightPreset.colorSpace;
|
|
67
|
-
for (const lightProperties of lightPreset.lights) {
|
|
68
|
-
this._createLightFromProperties(lightProperties);
|
|
69
|
-
}
|
|
70
|
-
this._lightsService.initiateLightPreset();
|
|
71
|
-
this._sceneService.rendererPropsChange();
|
|
72
|
-
this.activeLightPreset = lightPreset;
|
|
73
|
-
this.presetLoaded.next(true);
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
prepareLoadLightPreset(standalone = true) {
|
|
77
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
-
if (!this.loadedLightPresets || this.loadedLightPresets.length < 1) {
|
|
79
|
-
return new Promise((resolve) => {
|
|
80
|
-
this._lightPresetsLoaded.pipe(take(1)).subscribe(() => __awaiter(this, void 0, void 0, function* () {
|
|
81
|
-
resolve(this.prepareLoadLightPreset(standalone));
|
|
82
|
-
}));
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
return this._prepareLoadLightPreset(standalone);
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
_prepareLoadLightPreset(standalone = false) {
|
|
89
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
-
if (!this.loadedLightPresets) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const navigatorType = this._screenSizeAnalysis.navigatorType();
|
|
94
|
-
let lightPreset = this.loadedLightPresets.find((preset) => preset.navigatorType === navigatorType && preset.default && preset.standalone);
|
|
95
|
-
if (!lightPreset) {
|
|
96
|
-
lightPreset = this.loadedLightPresets.find((preset) => preset.standalone);
|
|
97
|
-
}
|
|
98
|
-
if (!lightPreset.standalone) {
|
|
99
|
-
lightPreset = this.loadedLightPresets.find((preset) => preset.default);
|
|
100
|
-
}
|
|
101
|
-
if (lightPreset) {
|
|
102
|
-
yield this.loadLightPreset(lightPreset);
|
|
103
|
-
}
|
|
104
|
-
this._lightsService.updateAllOffsets();
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
_createLightFromProperties(lightProperties) {
|
|
108
|
-
const lightType = lightProperties.type;
|
|
109
|
-
const lightConstructor = this._lightsMap.get(lightType);
|
|
110
|
-
const light = new lightConstructor();
|
|
111
|
-
light.userData.wallOffset = lightProperties.wallOffset;
|
|
112
|
-
light.userData.rotationOffset = lightProperties.rotationOffset;
|
|
113
|
-
light.userData.topDownDirectional = lightProperties.topDownDirectional;
|
|
114
|
-
for (const property in lightProperties) {
|
|
115
|
-
if (!(property in light)) {
|
|
116
|
-
continue;
|
|
117
|
-
}
|
|
118
|
-
if (property === 'position') {
|
|
119
|
-
if (light.userData.wallOffset === 0) {
|
|
120
|
-
light.position.x = lightProperties.position.x;
|
|
121
|
-
light.position.z = lightProperties.position.z;
|
|
122
|
-
}
|
|
123
|
-
light.position.y = lightProperties.position.y;
|
|
124
|
-
}
|
|
125
|
-
else if (property === 'color') {
|
|
126
|
-
light.color = new Color(lightProperties.color);
|
|
127
|
-
}
|
|
128
|
-
else if (property === 'groundColor') {
|
|
129
|
-
light.groundColor = new Color(lightProperties.groundColor);
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
this._setObjectProperties(light, property, lightProperties[property]);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
this._lightsService.addLight(light);
|
|
136
|
-
}
|
|
137
|
-
_setObjectProperties(object, property, value) {
|
|
138
|
-
if (property === 'shadow') {
|
|
139
|
-
for (const prop in value) {
|
|
140
|
-
if (!object[property].hasOwnProperty(prop)) {
|
|
141
|
-
continue;
|
|
142
|
-
}
|
|
143
|
-
object[property][prop] = value[prop];
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
object[property] = value;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
LightPresetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LightPresetsService, deps: [{ token: i1.LightsService }, { token: i2.BundleInitializerService }, { token: i3.SceneService }, { token: i4.ScreenSizeAnalysisService }, { token: i5.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
152
|
-
LightPresetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LightPresetsService, providedIn: 'root' });
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LightPresetsService, decorators: [{
|
|
154
|
-
type: Injectable,
|
|
155
|
-
args: [{ providedIn: 'root' }]
|
|
156
|
-
}], ctorParameters: function () { return [{ type: i1.LightsService }, { type: i2.BundleInitializerService }, { type: i3.SceneService }, { type: i4.ScreenSizeAnalysisService }, { type: i5.SettingsService }]; } });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHQtcHJlc2V0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29uZmlndXJhdG9yL3NyYy9saWIvc2VydmljZXMvbGlnaHQtcHJlc2V0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBbUIsVUFBVSxFQUFFLFNBQVMsRUFBQyxNQUFNLE9BQU8sQ0FBQztBQUNySCxPQUFPLEVBQUMsZUFBZSxFQUFFLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUc1RCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEMsT0FBTyxFQUFjLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBSzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUlsRCxNQUFNLE9BQU8sbUJBQW1CO0lBeUI5QixZQUNVLGNBQTZCLEVBQzdCLFdBQXFDLEVBQ3JDLGFBQTJCLEVBQzNCLG1CQUE4QyxFQUM5QyxnQkFBaUM7UUFKakMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsZ0JBQVcsR0FBWCxXQUFXLENBQTBCO1FBQ3JDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBMkI7UUFDOUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQW5CcEMsaUJBQVksR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHNUUsd0JBQW1CLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDekQsVUFBSyxHQUFtQixFQUFFLENBQUM7UUFD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dGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QW1iaWVudExpZ2h0LCBDb2xvciwgRGlyZWN0aW9uYWxMaWdodCwgSGVtaXNwaGVyZUxpZ2h0LCBMaWdodCwgT2JqZWN0M0QsIFBvaW50TGlnaHQsIFNwb3RMaWdodH0gZnJvbSAndGhyZWUnO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtMaWdodHNTZXJ2aWNlfSBmcm9tICcuL2xpZ2h0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHtTY2VuZVNlcnZpY2V9IGZyb20gJy4vc2NlbmUuc2VydmljZSc7XHJcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge0xpZ2h0UHJlc2V0LCBzaGFkb3dNYXBUeXBlc01hcH0gZnJvbSAnLi4vbW9kZWwvbGlnaHQtcHJlc2V0JztcclxuaW1wb3J0IHtMaWdodEVudW19IGZyb20gJy4uL2VudW0vbGlnaHQuZW51bSc7XHJcbmltcG9ydCB7TmF2aWdhdG9yVHlwZX0gZnJvbSAnLi4vZW51bS9uYXZpZ2F0b3ItdHlwZS5lbnVtJztcclxuaW1wb3J0IHtMaWdodFByb3BlcnRpZXN9IGZyb20gJy4uL21vZGVsL2xpZ2h0LXByb3BlcnRpZXMnO1xyXG5pbXBvcnQge0J1bmRsZUluaXRpYWxpemVyU2VydmljZX0gZnJvbSAnLi9idW5kbGUtaW5pdGlhbHplci5zZXJ2aWNlJztcclxuaW1wb3J0IHtTY3JlZW5TaXplQW5hbHlzaXNTZXJ2aWNlfSBmcm9tICcuL3NjcmVlbi1zaXplLWFuYWx5c2lzLnNlcnZpY2UnO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tICcuLi91dGlscy9vYmplY3QudXRpbHMnO1xyXG5pbXBvcnQge1NldHRpbmdzU2VydmljZX0gZnJvbSAnLi9zZXR0aW5ncy5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxyXG5leHBvcnQgY2xhc3MgTGlnaHRQcmVzZXRzU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIHB1YmxpYyBzZXQgYWN0aXZlTGlnaHRQcmVzZXQodmFsdWU6IExpZ2h0UHJlc2V0KSB7XHJcbiAgICB0aGlzLl9hY3RpdmVMaWdodFByZXNldCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBhY3RpdmVMaWdodFByZXNldCgpOiBMaWdodFByZXNldCB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlTGlnaHRQcmVzZXQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9hZGVkTGlnaHRQcmVzZXRzOiBMaWdodFByZXNldFtdO1xyXG4gIHB1YmxpYyBwcmVzZXRMb2FkZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBwcml2YXRlIF9hY3RpdmVMaWdodFByZXNldDogTGlnaHRQcmVzZXQ7XHJcbiAgcHJpdmF0ZSBfbGlnaHRQcmVzZXRzTG9hZGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIC8vIEB0cy1pZ25vcmVcclxuICBwcml2YXRlIF9saWdodHNNYXA6IE1hcDxMaWdodEVudW0sIHR5cGVvZiBPYmplY3QzRD4gPSBuZXcgTWFwPExpZ2h0RW51bSwgdHlwZW9mIE9iamVjdDNEPihbXHJcbiAgICBbTGlnaHRFbnVtLlNwb3RMaWdodCwgU3BvdExpZ2h0XSxcclxuICAgIFtMaWdodEVudW0uRGlyZWN0aW9uYWxMaWdodCwgRGlyZWN0aW9uYWxMaWdodF0sXHJcbiAgICBbTGlnaHRFbnVtLkFtYmllbnRMaWdodCwgQW1iaWVudExpZ2h0XSxcclxuICAgIFtMaWdodEVudW0uSGVtaXNwaGVyZUxpZ2h0LCBIZW1pc3BoZXJlTGlnaHRdLFxyXG4gICAgW0xpZ2h0RW51bS5Qb2ludExpZ2h0LCBQb2ludExpZ2h0XVxyXG4gIF0pO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2xpZ2h0c1NlcnZpY2U6IExpZ2h0c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hcHBTZXJ2aWNlOiBCdW5kbGVJbml0aWFsaXplclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zY2VuZVNlcnZpY2U6IFNjZW5lU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NjcmVlblNpemVBbmFseXNpczogU2NyZWVuU2l6ZUFuYWx5c2lzU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBpbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLl9hcHBTZXJ2aWNlLmxpZ2h0UHJlc2V0c0xvYWRlZC5zdWJzY3JpYmUoKGxpZ2h0UHJlc2V0czogTGlnaHRQcmVzZXRbXSkgPT4ge1xyXG4gICAgICAgIGlmIChsaWdodFByZXNldHMpIHtcclxuICAgICAgICAgIHRoaXMubG9hZGVkTGlnaHRQcmVzZXRzID0gbGlnaHRQcmVzZXRzO1xyXG4gICAgICAgICAgLy8gVE9ETyBmaXggZW1wdHkgbGlnaHQgcGxhbiwgZm9yIG5vdzsgbm90IGxpZ2h0cGxhbiwgbm8gbGlnaHRzXHJcbiAgICAgICAgICBpZiAodGhpcy5sb2FkZWRMaWdodFByZXNldHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuY3JlYXRlTmV3TGlnaHRQcmVzZXQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuX2xpZ2h0UHJlc2V0c0xvYWRlZC5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBsb2FkTGlnaHRQcmVzZXQobGlnaHRQcmVzZXQ6IExpZ2h0UHJlc2V0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9saWdodHNTZXJ2aWNlLnJlbW92ZUFsbExpZ2h0cygpO1xyXG5cclxuICAgIGlmIChsaWdodFByZXNldC5oZHJpKSB7XHJcbiAgICAgIE9iamVjdFV0aWxzLkxvYWRIRFJJKHRoaXMuX3NldHRpbmdzU2VydmljZS5zZXR0aW5ncy5hc3NldFBhdGggKyBsaWdodFByZXNldC5oZHJpLCB0aGlzLl9zY2VuZVNlcnZpY2Uuc2NlbmUpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3NjZW5lU2VydmljZS5zY2VuZS5lbnZpcm9ubWVudEludGVuc2l0eSA9IGxpZ2h0UHJlc2V0LmhkcmlJbnRlbnNpdHkgfHwgMTtcclxuICAgICAgICB0aGlzLl9zY2VuZVNlcnZpY2Uuc2NlbmUuYmFja2dyb3VuZEludGVuc2l0eSA9IGxpZ2h0UHJlc2V0LmhkcmlJbnRlbnNpdHkgfHwgMTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fc2NlbmVTZXJ2aWNlLnJlbmRlcmVyLnRvbmVNYXBwaW5nRXhwb3N1cmUgPSBsaWdodFByZXNldC50b25lTWFwcGluZ0V4cG9zdXJlO1xyXG4gICAgdGhpcy5fc2NlbmVTZXJ2aWNlLnJlbmRlcmVyLnNoYWRvd01hcC50eXBlID0gc2hhZG93TWFwVHlwZXNNYXAuZ2V0KGxpZ2h0UHJlc2V0LnNoYWRvd01hcFR5cGUpO1xyXG4gICAgdGhpcy5fc2NlbmVTZXJ2aWNlLnJlbmRlcmVyLm91dHB1dENvbG9yU3BhY2UgPSBsaWdodFByZXNldC5jb2xvclNwYWNlO1xyXG4gICAgZm9yIChjb25zdCBsaWdodFByb3BlcnRpZXMgb2YgbGlnaHRQcmVzZXQubGlnaHRzKSB7XHJcbiAgICAgIHRoaXMuX2NyZWF0ZUxpZ2h0RnJvbVByb3BlcnRpZXMobGlnaHRQcm9wZXJ0aWVzKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2xpZ2h0c1NlcnZpY2UuaW5pdGlhdGVMaWdodFByZXNldCgpO1xyXG4gICAgdGhpcy5fc2NlbmVTZXJ2aWNlLnJlbmRlcmVyUHJvcHNDaGFuZ2UoKTtcclxuICAgIHRoaXMuYWN0aXZlTGlnaHRQcmVzZXQgPSBsaWdodFByZXNldDtcclxuICAgIHRoaXMucHJlc2V0TG9hZGVkLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcHJlcGFyZUxvYWRMaWdodFByZXNldChzdGFuZGFsb25lOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmxvYWRlZExpZ2h0UHJlc2V0cyB8fCB0aGlzLmxvYWRlZExpZ2h0UHJlc2V0cy5sZW5ndGggPCAxKSB7XHJcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24pID0+IHtcclxuICAgICAgICB0aGlzLl9saWdodFByZXNldHNMb2FkZWQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLnByZXBhcmVMb2FkTGlnaHRQcmVzZXQoc3RhbmRhbG9uZSkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9wcmVwYXJlTG9hZExpZ2h0UHJlc2V0KHN0YW5kYWxvbmUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfcHJlcGFyZUxvYWRMaWdodFByZXNldChzdGFuZGFsb25lOiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5sb2FkZWRMaWdodFByZXNldHMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbmF2aWdhdG9yVHlwZTogTmF2aWdhdG9yVHlwZSA9IHRoaXMuX3NjcmVlblNpemVBbmFseXNpcy5uYXZpZ2F0b3JUeXBlKCk7XHJcblxyXG4gICAgbGV0IGxpZ2h0UHJlc2V0OiBMaWdodFByZXNldCA9XHJcbiAgICAgIHRoaXMubG9hZGVkTGlnaHRQcmVzZXRzLmZpbmQoKHByZXNldCkgPT4gcHJlc2V0Lm5hdmlnYXRvclR5cGUgPT09IG5hdmlnYXRvclR5cGUgJiYgcHJlc2V0LmRlZmF1bHQgJiYgcHJlc2V0LnN0YW5kYWxvbmUpO1xyXG4gICAgaWYgKCFsaWdodFByZXNldCkge1xyXG4gICAgICBsaWdodFByZXNldCA9IHRoaXMubG9hZGVkTGlnaHRQcmVzZXRzLmZpbmQoKHByZXNldCkgPT4gcHJlc2V0LnN0YW5kYWxvbmUpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFsaWdodFByZXNldC5zdGFuZGFsb25lKSB7XHJcbiAgICAgIGxpZ2h0UHJlc2V0ID0gdGhpcy5sb2FkZWRMaWdodFByZXNldHMuZmluZCgocHJlc2V0KSA9PiBwcmVzZXQuZGVmYXVsdCk7XHJcbiAgICB9XHJcbiAgICBpZiAobGlnaHRQcmVzZXQpIHtcclxuICAgICAgYXdhaXQgdGhpcy5sb2FkTGlnaHRQcmVzZXQobGlnaHRQcmVzZXQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2xpZ2h0c1NlcnZpY2UudXBkYXRlQWxsT2Zmc2V0cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlTGlnaHRGcm9tUHJvcGVydGllcyhsaWdodFByb3BlcnRpZXM6IExpZ2h0UHJvcGVydGllcykge1xyXG4gICAgY29uc3QgbGlnaHRUeXBlOiBMaWdodEVudW0gPSBsaWdodFByb3BlcnRpZXMudHlwZTtcclxuICAgIGNvbnN0IGxpZ2h0Q29uc3RydWN0b3IgPSB0aGlzLl9saWdodHNNYXAuZ2V0KGxpZ2h0VHlwZSk7XHJcbiAgICBjb25zdCBsaWdodDogTGlnaHQgPSBuZXcgbGlnaHRDb25zdHJ1Y3RvcigpIGFzIExpZ2h0O1xyXG4gICAgbGlnaHQudXNlckRhdGEud2FsbE9mZnNldCA9IGxpZ2h0UHJvcGVydGllcy53YWxsT2Zmc2V0O1xyXG4gICAgbGlnaHQudXNlckRhdGEucm90YXRpb25PZmZzZXQgPSBsaWdodFByb3BlcnRpZXMucm90YXRpb25PZmZzZXQ7XHJcbiAgICBsaWdodC51c2VyRGF0YS50b3BEb3duRGlyZWN0aW9uYWwgPSBsaWdodFByb3BlcnRpZXMudG9wRG93bkRpcmVjdGlvbmFsO1xyXG5cclxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGlnaHRQcm9wZXJ0aWVzKSB7XHJcbiAgICAgIGlmICghKHByb3BlcnR5IGluIGxpZ2h0KSkge1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChwcm9wZXJ0eSA9PT0gJ3Bvc2l0aW9uJykge1xyXG4gICAgICAgIGlmIChsaWdodC51c2VyRGF0YS53YWxsT2Zmc2V0ID09PSAwKSB7XHJcbiAgICAgICAgICBsaWdodC5wb3NpdGlvbi54ID0gbGlnaHRQcm9wZXJ0aWVzLnBvc2l0aW9uLng7XHJcbiAgICAgICAgICBsaWdodC5wb3NpdGlvbi56ID0gbGlnaHRQcm9wZXJ0aWVzLnBvc2l0aW9uLno7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpZ2h0LnBvc2l0aW9uLnkgPSBsaWdodFByb3BlcnRpZXMucG9zaXRpb24ueTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9PT0gJ2NvbG9yJykge1xyXG4gICAgICAgIGxpZ2h0LmNvbG9yID0gbmV3IENvbG9yKGxpZ2h0UHJvcGVydGllcy5jb2xvcik7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcGVydHkgPT09ICdncm91bmRDb2xvcicpIHtcclxuICAgICAgICAobGlnaHQgYXMgYW55KS5ncm91bmRDb2xvciA9IG5ldyBDb2xvcihsaWdodFByb3BlcnRpZXMuZ3JvdW5kQ29sb3IpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX3NldE9iamVjdFByb3BlcnRpZXMobGlnaHQsIHByb3BlcnR5LCBsaWdodFByb3BlcnRpZXNbcHJvcGVydHldKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2xpZ2h0c1NlcnZpY2UuYWRkTGlnaHQobGlnaHQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0T2JqZWN0UHJvcGVydGllcyhvYmplY3Q6IExpZ2h0IHwgTGlnaHRQcm9wZXJ0aWVzLCBwcm9wZXJ0eTogYW55LCB2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAocHJvcGVydHkgPT09ICdzaGFkb3cnKSB7XHJcbiAgICAgIGZvciAoY29uc3QgcHJvcCBpbiB2YWx1ZSkge1xyXG4gICAgICAgIGlmICghb2JqZWN0W3Byb3BlcnR5XS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkge1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG9iamVjdFtwcm9wZXJ0eV1bcHJvcF0gPSB2YWx1ZVtwcm9wXTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgb2JqZWN0W3Byb3BlcnR5XSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { AmbientLight, DirectionalLight, HemisphereLight, SpotLight } from 'three';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { LightCreateService } from './light-creation.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./scene.service";
|
|
7
|
-
import * as i2 from "./bundle-initialzer.service";
|
|
8
|
-
import * as i3 from "./configuration.service";
|
|
9
|
-
import * as i4 from "./floor-plane.service";
|
|
10
|
-
export class LightsService {
|
|
11
|
-
constructor(_sceneService, _bundleInitializerService, _configurationService, _floorPlanService) {
|
|
12
|
-
this._sceneService = _sceneService;
|
|
13
|
-
this._bundleInitializerService = _bundleInitializerService;
|
|
14
|
-
this._configurationService = _configurationService;
|
|
15
|
-
this._floorPlanService = _floorPlanService;
|
|
16
|
-
this.lights = [];
|
|
17
|
-
this.onLightAdded = new Subject();
|
|
18
|
-
this._subs = [];
|
|
19
|
-
this._subs.push(this._bundleInitializerService.lightPresetsLoaded.subscribe((lightPreset) => {
|
|
20
|
-
}), this._bundleInitializerService.floorTexturesLoaded.subscribe(() => {
|
|
21
|
-
this.updateAllOffsets();
|
|
22
|
-
}));
|
|
23
|
-
}
|
|
24
|
-
ngOnDestroy() {
|
|
25
|
-
this._subs.forEach(s => s.unsubscribe());
|
|
26
|
-
}
|
|
27
|
-
init() {
|
|
28
|
-
}
|
|
29
|
-
createLight(modelClass) {
|
|
30
|
-
const getLights = new LightCreateService();
|
|
31
|
-
const light = getLights.createNewLight(modelClass);
|
|
32
|
-
// const light: T = new modelClass();
|
|
33
|
-
light.name = `new_${modelClass.name}`;
|
|
34
|
-
this._addLight(light);
|
|
35
|
-
this.onLightAdded.next({ light: light, index: this.lights.length - 1 });
|
|
36
|
-
}
|
|
37
|
-
addLight(light) {
|
|
38
|
-
this._addLight(light);
|
|
39
|
-
}
|
|
40
|
-
removeAllLights() {
|
|
41
|
-
const currentLights = this.lights.slice();
|
|
42
|
-
// this.lights.length = 0;
|
|
43
|
-
currentLights.forEach(cl => {
|
|
44
|
-
this._removeLight(cl);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
initiateLightPreset() {
|
|
48
|
-
// this.lights.forEach(l => this._sceneService.addObject(l));
|
|
49
|
-
this.lights.forEach(l => this.updateOffsets(l));
|
|
50
|
-
}
|
|
51
|
-
updateAllOffsets() {
|
|
52
|
-
this.lights.forEach(l => this.updateOffsets(l));
|
|
53
|
-
}
|
|
54
|
-
updateOffsets(light) {
|
|
55
|
-
if (light instanceof AmbientLight || light instanceof HemisphereLight) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const ro = light.userData.rotationOffset;
|
|
59
|
-
const wo = light.userData.wallOffset;
|
|
60
|
-
const fc = this._floorPlanService.getCenterFloorPlane();
|
|
61
|
-
const size = this._floorPlanService.getPlaneSize();
|
|
62
|
-
const planHalfWidth = isFinite(size.x) ? size.x / 2.0 : 0;
|
|
63
|
-
const planHalfDepth = isFinite(size.z) ? size.z / 2.0 : 0;
|
|
64
|
-
if (wo === 0) { // just use position of light
|
|
65
|
-
this._updateShadowCamera(light);
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
// Reset position & rotation
|
|
69
|
-
light.position.x = fc.x;
|
|
70
|
-
light.position.z = fc.z;
|
|
71
|
-
light.rotation.set(0, 0, 0);
|
|
72
|
-
// Offset to the appropriate corner & translate in the opposite direction in equal steps based on the room dimensions.
|
|
73
|
-
if (ro > 315) {
|
|
74
|
-
light.translateZ(Math.abs(planHalfDepth + wo));
|
|
75
|
-
light.translateX(Math.abs(planHalfWidth + wo));
|
|
76
|
-
light.translateX(-Math.abs((((planHalfWidth * 2) + (wo * 2)) / 90) * (ro - 315)));
|
|
77
|
-
}
|
|
78
|
-
else if (ro > 225) {
|
|
79
|
-
light.translateX(Math.abs(planHalfWidth + wo));
|
|
80
|
-
light.translateZ(-Math.abs(planHalfDepth + wo));
|
|
81
|
-
light.translateZ(Math.abs((((planHalfDepth * 2) + (wo * 2)) / 90) * (ro - 225)));
|
|
82
|
-
}
|
|
83
|
-
else if (ro > 135) {
|
|
84
|
-
light.translateZ(-Math.abs(planHalfDepth + wo));
|
|
85
|
-
light.translateX(-Math.abs(planHalfWidth + wo));
|
|
86
|
-
light.translateX(Math.abs((((planHalfWidth * 2) + (wo * 2)) / 90) * (ro - 135)));
|
|
87
|
-
}
|
|
88
|
-
else if (ro > 45) {
|
|
89
|
-
light.translateX(-Math.abs(planHalfWidth + wo));
|
|
90
|
-
light.translateZ(Math.abs(planHalfDepth + wo));
|
|
91
|
-
light.translateZ(-Math.abs((((planHalfDepth * 2) + (wo * 2)) / 90) * (ro - 45)));
|
|
92
|
-
}
|
|
93
|
-
else if (ro >= 0) {
|
|
94
|
-
light.translateZ(Math.abs(planHalfDepth + wo));
|
|
95
|
-
light.translateX(-Math.abs((((planHalfWidth * 2) + (wo * 2)) / 90) * ro));
|
|
96
|
-
}
|
|
97
|
-
this._updateShadowCamera(light);
|
|
98
|
-
}
|
|
99
|
-
_addLight(light, updateLightArray = true) {
|
|
100
|
-
this._sceneService.addObject(light);
|
|
101
|
-
if (light instanceof SpotLight || light instanceof DirectionalLight) {
|
|
102
|
-
this._sceneService.addObject(light.target);
|
|
103
|
-
this._updateShadowCamera(light);
|
|
104
|
-
}
|
|
105
|
-
if (updateLightArray) {
|
|
106
|
-
this.lights.push(light);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
_removeLight(light, updateLightArray = true) {
|
|
110
|
-
const idx = this.lights.indexOf(light);
|
|
111
|
-
if (light instanceof SpotLight || light instanceof DirectionalLight) {
|
|
112
|
-
this._sceneService.removeObject(light.target);
|
|
113
|
-
}
|
|
114
|
-
this._sceneService.removeObject(light);
|
|
115
|
-
if (updateLightArray) {
|
|
116
|
-
this.lights.splice(idx, 1);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
_updateShadowCamera(light) {
|
|
120
|
-
const size = this._floorPlanService.getPlaneSize();
|
|
121
|
-
if (size.x === -Infinity || size.y === -Infinity || size.z === -Infinity ||
|
|
122
|
-
size.x === Infinity || size.y === Infinity || size.z === Infinity) {
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
const dWidth = (size.x + 3) / 2.0;
|
|
126
|
-
const dHeight = (size.z + 3) / 2.0;
|
|
127
|
-
const center = this._floorPlanService.getCenterFloorPlane();
|
|
128
|
-
if (light instanceof SpotLight || light instanceof DirectionalLight) {
|
|
129
|
-
if (light instanceof DirectionalLight && light.userData.topDownDirectional) {
|
|
130
|
-
light.position.set(center.x, 3, center.z);
|
|
131
|
-
light.shadow.camera.left = -dWidth;
|
|
132
|
-
light.shadow.camera.right = dWidth;
|
|
133
|
-
light.shadow.camera.top = dHeight;
|
|
134
|
-
light.shadow.camera.bottom = -dHeight;
|
|
135
|
-
}
|
|
136
|
-
light.target.position.copy(center);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
LightsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LightsService, deps: [{ token: i1.SceneService }, { token: i2.BundleInitializerService }, { token: i3.ConfigurationService }, { token: i4.FloorPlaneService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
141
|
-
LightsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LightsService, providedIn: 'root' });
|
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LightsService, decorators: [{
|
|
143
|
-
type: Injectable,
|
|
144
|
-
args: [{ providedIn: 'root' }]
|
|
145
|
-
}], ctorParameters: function () { return [{ type: i1.SceneService }, { type: i2.BundleInitializerService }, { type: i3.ConfigurationService }, { type: i4.FloorPlaneService }]; } });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25maWd1cmF0b3Ivc3JjL2xpYi9zZXJ2aWNlcy9saWdodHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFTLFNBQVMsRUFBVSxNQUFNLE9BQU8sQ0FBQztBQUNqRyxPQUFPLEVBQUMsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBRzNDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFPNUQsTUFBTSxPQUFPLGFBQWE7SUFPeEIsWUFDVSxhQUEyQixFQUMzQix5QkFBbUQsRUFDbkQscUJBQTJDLEVBQzNDLGlCQUFvQztRQUhwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTBCO1FBQ25ELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBc0I7UUFDM0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVR2QyxXQUFNLEdBQVksRUFBRSxDQUFDO1FBQ3JCLGlCQUFZLEdBQTZDLElBQUksT0FBTyxFQUFtQyxDQUFDO1FBRXZHLFVBQUssR0FBbUIsRUFBRSxDQUFDO1FBU2pDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUEwQixFQUFFLEVBQUU7UUFFM0YsQ0FBQyxDQUFDLEVBQ0YsSUFBSSxDQUFDLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNI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O1NBQ3BDO0lBQ0gsQ0FBQzs7MkdBMUpVLGFBQWE7K0dBQWIsYUFBYSxjQUZELE1BQU07NEZBRWxCLGFBQWE7a0JBRnpCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FtYmllbnRMaWdodCwgRGlyZWN0aW9uYWxMaWdodCwgSGVtaXNwaGVyZUxpZ2h0LCBMaWdodCwgU3BvdExpZ2h0LCBWZWN0b3IzfSBmcm9tICd0aHJlZSc7XHJcbmltcG9ydCB7U3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtTY2VuZVNlcnZpY2V9IGZyb20gJy4vc2NlbmUuc2VydmljZSc7XHJcbmltcG9ydCB7Q29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtMaWdodENyZWF0ZVNlcnZpY2V9IGZyb20gJy4vbGlnaHQtY3JlYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7QnVuZGxlSW5pdGlhbGl6ZXJTZXJ2aWNlfSBmcm9tICcuL2J1bmRsZS1pbml0aWFsemVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge0Zsb29yUGxhbmVTZXJ2aWNlfSBmcm9tICcuL2Zsb29yLXBsYW5lLnNlcnZpY2UnO1xyXG5pbXBvcnQge0xpZ2h0UHJlc2V0fSBmcm9tICcuLi9tb2RlbC9saWdodC1wcmVzZXQnO1xyXG5cclxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXHJcblxyXG5leHBvcnQgY2xhc3MgTGlnaHRzU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIHB1YmxpYyBsaWdodHM6IExpZ2h0W10gPSBbXTtcclxuICBwdWJsaWMgb25MaWdodEFkZGVkOiBTdWJqZWN0PHsgbGlnaHQ6IExpZ2h0LCBpbmRleDogbnVtYmVyIH0+ID0gbmV3IFN1YmplY3Q8eyBsaWdodDogTGlnaHQsIGluZGV4OiBudW1iZXIgfT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zY2VuZVNlcnZpY2U6IFNjZW5lU2VydmljZSxcclxuICAgIHByaXZhdGUgX2J1bmRsZUluaXRpYWxpemVyU2VydmljZTogQnVuZGxlSW5pdGlhbGl6ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZmxvb3JQbGFuU2VydmljZTogRmxvb3JQbGFuZVNlcnZpY2VcclxuICApIHtcclxuXHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMuX2J1bmRsZUluaXRpYWxpemVyU2VydmljZS5saWdodFByZXNldHNMb2FkZWQuc3Vic2NyaWJlKChsaWdodFByZXNldDogTGlnaHRQcmVzZXRbXSkgPT4ge1xyXG5cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuX2J1bmRsZUluaXRpYWxpemVyU2VydmljZS5mbG9vclRleHR1cmVzTG9hZGVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVBbGxPZmZzZXRzKCk7XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3JlYXRlTGlnaHQ8VCBleHRlbmRzIExpZ2h0Pihtb2RlbENsYXNzOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IGdldExpZ2h0czogTGlnaHRDcmVhdGVTZXJ2aWNlID0gbmV3IExpZ2h0Q3JlYXRlU2VydmljZSgpO1xyXG4gICAgY29uc3QgbGlnaHQ6IExpZ2h0ID0gZ2V0TGlnaHRzLmNyZWF0ZU5ld0xpZ2h0KG1vZGVsQ2xhc3MpO1xyXG4gICAgLy8gY29uc3QgbGlnaHQ6IFQgPSBuZXcgbW9kZWxDbGFzcygpO1xyXG4gICAgbGlnaHQubmFtZSA9IGBuZXdfJHttb2RlbENsYXNzLm5hbWV9YDtcclxuICAgIHRoaXMuX2FkZExpZ2h0KGxpZ2h0KTtcclxuICAgIHRoaXMub25MaWdodEFkZGVkLm5leHQoe2xpZ2h0OiBsaWdodCwgaW5kZXg6IHRoaXMubGlnaHRzLmxlbmd0aCAtIDF9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRMaWdodChsaWdodDogTGlnaHQpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FkZExpZ2h0KGxpZ2h0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmVBbGxMaWdodHMoKSB7XHJcbiAgICBjb25zdCBjdXJyZW50TGlnaHRzOiBMaWdodFtdID0gdGhpcy5saWdodHMuc2xpY2UoKTtcclxuICAgIC8vIHRoaXMubGlnaHRzLmxlbmd0aCA9IDA7XHJcbiAgICBjdXJyZW50TGlnaHRzLmZvckVhY2goY2wgPT4ge1xyXG4gICAgICB0aGlzLl9yZW1vdmVMaWdodChjbCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbml0aWF0ZUxpZ2h0UHJlc2V0KCkge1xyXG4gICAgLy8gdGhpcy5saWdodHMuZm9yRWFjaChsID0+IHRoaXMuX3NjZW5lU2VydmljZS5hZGRPYmplY3QobCkpO1xyXG4gICAgdGhpcy5saWdodHMuZm9yRWFjaChsID0+IHRoaXMudXBkYXRlT2Zmc2V0cyhsKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlQWxsT2Zmc2V0cygpOiB2b2lkIHtcclxuICAgIHRoaXMubGlnaHRzLmZvckVhY2gobCA9PiB0aGlzLnVwZGF0ZU9mZnNldHMobCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZU9mZnNldHMobGlnaHQ6IExpZ2h0KSB7XHJcbiAgICBpZiAobGlnaHQgaW5zdGFuY2VvZiBBbWJpZW50TGlnaHQgfHwgbGlnaHQgaW5zdGFuY2VvZiBIZW1pc3BoZXJlTGlnaHQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJvID0gbGlnaHQudXNlckRhdGEucm90YXRpb25PZmZzZXQ7XHJcbiAgICBjb25zdCB3byA9IGxpZ2h0LnVzZXJEYXRhLndhbGxPZmZzZXQ7XHJcbiAgICBjb25zdCBmYzogVmVjdG9yMyA9IHRoaXMuX2Zsb29yUGxhblNlcnZpY2UuZ2V0Q2VudGVyRmxvb3JQbGFuZSgpO1xyXG5cclxuICAgIGNvbnN0IHNpemU6IFZlY3RvcjMgPSB0aGlzLl9mbG9vclBsYW5TZXJ2aWNlLmdldFBsYW5lU2l6ZSgpO1xyXG4gICAgY29uc3QgcGxhbkhhbGZXaWR0aCA9IGlzRmluaXRlKHNpemUueCkgPyBzaXplLnggLyAyLjAgOiAwO1xyXG4gICAgY29uc3QgcGxhbkhhbGZEZXB0aCA9IGlzRmluaXRlKHNpemUueikgPyBzaXplLnogLyAyLjAgOiAwO1xyXG5cclxuICAgIGlmICh3byA9PT0gMCkgeyAvLyBqdXN0IHVzZSBwb3NpdGlvbiBvZiBsaWdodFxyXG4gICAgICB0aGlzLl91cGRhdGVTaGFkb3dDYW1lcmEobGlnaHQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVzZXQgcG9zaXRpb24gJiByb3RhdGlvblxyXG4gICAgbGlnaHQucG9zaXRpb24ueCA9IGZjLng7XHJcbiAgICBsaWdodC5wb3NpdGlvbi56ID0gZmMuejtcclxuICAgIGxpZ2h0LnJvdGF0aW9uLnNldCgwLCAwLCAwKTtcclxuXHJcbiAgICAvLyBPZmZzZXQgdG8gdGhlIGFwcHJvcHJpYXRlIGNvcm5lciAmIHRyYW5zbGF0ZSBpbiB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIGluIGVxdWFsIHN0ZXBzIGJhc2VkIG9uIHRoZSByb29tIGRpbWVuc2lvbnMuXHJcbiAgICBpZiAocm8gPiAzMTUpIHtcclxuICAgICAgbGlnaHQudHJhbnNsYXRlWihNYXRoLmFicyhwbGFuSGFsZkRlcHRoICsgd28pKTtcclxuICAgICAgbGlnaHQudHJhbnNsYXRlWChNYXRoLmFicyhwbGFuSGFsZldpZHRoICsgd28pKTtcclxuICAgICAgbGlnaHQudHJhbnNsYXRlWCgtTWF0aC5hYnMoKCgocGxhbkhhbGZXaWR0aCAqIDIpICsgKHdvICogMikpIC8gOTApICogKHJvIC0gMzE1KSkpO1xyXG4gICAgfSBlbHNlIGlmIChybyA+IDIyNSkge1xyXG4gICAgICBsaWdodC50cmFuc2xhdGVYKE1hdGguYWJzKHBsYW5IYWxmV2lkdGggKyB3bykpO1xyXG4gICAgICBsaWdodC50cmFuc2xhdGVaKC1NYXRoLmFicyhwbGFuSGFsZkRlcHRoICsgd28pKTtcclxuICAgICAgbGlnaHQudHJhbnNsYXRlWihNYXRoLmFicygoKChwbGFuSGFsZkRlcHRoICogMikgKyAod28gKiAyKSkgLyA5MCkgKiAocm8gLSAyMjUpKSk7XHJcbiAgICB9IGVsc2UgaWYgKHJvID4gMTM1KSB7XHJcbiAgICAgIGxpZ2h0LnRyYW5zbGF0ZVooLU1hdGguYWJzKHBsYW5IYWxmRGVwdGggKyB3bykpO1xyXG4gICAgICBsaWdodC50cmFuc2xhdGVYKC1NYXRoLmFicyhwbGFuSGFsZldpZHRoICsgd28pKTtcclxuICAgICAgbGlnaHQudHJhbnNsYXRlWChNYXRoLmFicygoKChwbGFuSGFsZldpZHRoICogMikgKyAod28gKiAyKSkgLyA5MCkgKiAocm8gLSAxMzUpKSk7XHJcbiAgICB9IGVsc2UgaWYgKHJvID4gNDUpIHtcclxuICAgICAgbGlnaHQudHJhbnNsYXRlWCgtTWF0aC5hYnMocGxhbkhhbGZXaWR0aCArIHdvKSk7XHJcbiAgICAgIGxpZ2h0LnRyYW5zbGF0ZVooTWF0aC5hYnMocGxhbkhhbGZEZXB0aCArIHdvKSk7XHJcbiAgICAgIGxpZ2h0LnRyYW5zbGF0ZVooLU1hdGguYWJzKCgoKHBsYW5IYWxmRGVwdGggKiAyKSArICh3byAqIDIpKSAvIDkwKSAqIChybyAtIDQ1KSkpO1xyXG4gICAgfSBlbHNlIGlmIChybyA+PSAwKSB7XHJcbiAgICAgIGxpZ2h0LnRyYW5zbGF0ZVooTWF0aC5hYnMocGxhbkhhbGZEZXB0aCArIHdvKSk7XHJcbiAgICAgIGxpZ2h0LnRyYW5zbGF0ZVgoLU1hdGguYWJzKCgoKHBsYW5IYWxmV2lkdGggKiAyKSArICh3byAqIDIpKSAvIDkwKSAqIHJvKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl91cGRhdGVTaGFkb3dDYW1lcmEobGlnaHQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYWRkTGlnaHQobGlnaHQ6IExpZ2h0LCB1cGRhdGVMaWdodEFycmF5OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2NlbmVTZXJ2aWNlLmFkZE9iamVjdChsaWdodCk7XHJcbiAgICBpZiAobGlnaHQgaW5zdGFuY2VvZiBTcG90TGlnaHQgfHwgbGlnaHQgaW5zdGFuY2VvZiBEaXJlY3Rpb25hbExpZ2h0KSB7XHJcbiAgICAgIHRoaXMuX3NjZW5lU2VydmljZS5hZGRPYmplY3QobGlnaHQudGFyZ2V0KTtcclxuICAgICAgdGhpcy5fdXBkYXRlU2hhZG93Q2FtZXJhKGxpZ2h0KTtcclxuICAgIH1cclxuICAgIGlmICh1cGRhdGVMaWdodEFycmF5KSB7XHJcbiAgICAgIHRoaXMubGlnaHRzLnB1c2gobGlnaHQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVtb3ZlTGlnaHQobGlnaHQ6IExpZ2h0LCB1cGRhdGVMaWdodEFycmF5OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgY29uc3QgaWR4OiBudW1iZXIgPSB0aGlzLmxpZ2h0cy5pbmRleE9mKGxpZ2h0KTtcclxuICAgIGlmIChsaWdodCBpbnN0YW5jZW9mIFNwb3RMaWdodCB8fCBsaWdodCBpbnN0YW5jZW9mIERpcmVjdGlvbmFsTGlnaHQpIHtcclxuICAgICAgdGhpcy5fc2NlbmVTZXJ2aWNlLnJlbW92ZU9iamVjdChsaWdodC50YXJnZXQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc2NlbmVTZXJ2aWNlLnJlbW92ZU9iamVjdChsaWdodCk7XHJcblxyXG4gICAgaWYgKHVwZGF0ZUxpZ2h0QXJyYXkpIHtcclxuICAgICAgdGhpcy5saWdodHMuc3BsaWNlKGlkeCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVTaGFkb3dDYW1lcmEobGlnaHQ6IExpZ2h0KSB7XHJcbiAgICBjb25zdCBzaXplOiBWZWN0b3IzID0gdGhpcy5fZmxvb3JQbGFuU2VydmljZS5nZXRQbGFuZVNpemUoKTtcclxuXHJcbiAgICBpZiAoc2l6ZS54ID09PSAtSW5maW5pdHkgfHwgc2l6ZS55ID09PSAtSW5maW5pdHkgfHwgc2l6ZS56ID09PSAtSW5maW5pdHkgfHxcclxuICAgICAgc2l6ZS54ID09PSBJbmZpbml0eSB8fCBzaXplLnkgPT09IEluZmluaXR5IHx8IHNpemUueiA9PT0gSW5maW5pdHkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRXaWR0aDogbnVtYmVyID0gKHNpemUueCArIDMpIC8gMi4wO1xyXG4gICAgY29uc3QgZEhlaWdodDogbnVtYmVyID0gKHNpemUueiArIDMpIC8gMi4wO1xyXG4gICAgY29uc3QgY2VudGVyOiBWZWN0b3IzID0gdGhpcy5fZmxvb3JQbGFuU2VydmljZS5nZXRDZW50ZXJGbG9vclBsYW5lKCk7XHJcblxyXG4gICAgaWYgKGxpZ2h0IGluc3RhbmNlb2YgU3BvdExpZ2h0IHx8IGxpZ2h0IGluc3RhbmNlb2YgRGlyZWN0aW9uYWxMaWdodCkge1xyXG4gICAgICBpZiAobGlnaHQgaW5zdGFuY2VvZiBEaXJlY3Rpb25hbExpZ2h0ICYmIGxpZ2h0LnVzZXJEYXRhLnRvcERvd25EaXJlY3Rpb25hbCkge1xyXG4gICAgICAgIGxpZ2h0LnBvc2l0aW9uLnNldChjZW50ZXIueCwgMywgY2VudGVyLnopO1xyXG4gICAgICAgIGxpZ2h0LnNoYWRvdy5jYW1lcmEubGVmdCA9IC1kV2lkdGg7XHJcbiAgICAgICAgbGlnaHQuc2hhZG93LmNhbWVyYS5yaWdodCA9IGRXaWR0aDtcclxuICAgICAgICBsaWdodC5zaGFkb3cuY2FtZXJhLnRvcCA9IGRIZWlnaHQ7XHJcbiAgICAgICAgbGlnaHQuc2hhZG93LmNhbWVyYS5ib3R0b20gPSAtZEhlaWdodDtcclxuICAgICAgfVxyXG4gICAgICBsaWdodC50YXJnZXQucG9zaXRpb24uY29weShjZW50ZXIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|