@arcgis/core 4.28.0-next.20230524 → 4.28.0-next.20230621
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/Map.js +1 -1
- package/README.md +17 -17
- package/WebMap.js +1 -1
- package/WebScene.js +1 -1
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/featureset/actions/Adapted.js +1 -1
- package/arcade/featureset/actions/GroupBy.js +1 -1
- package/arcade/featureset/actions/OrderBy.js +1 -1
- package/arcade/featureset/support/FeatureSetIterator.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcade/treeAnalysis.js +1 -1
- package/assets/components/assets/card/t9n/messages_ar.json +1 -1
- package/assets/components/assets/card/t9n/messages_bg.json +1 -1
- package/assets/components/assets/card/t9n/messages_bs.json +1 -1
- package/assets/components/assets/card/t9n/messages_ca.json +1 -1
- package/assets/components/assets/card/t9n/messages_cs.json +1 -1
- package/assets/components/assets/card/t9n/messages_da.json +1 -1
- package/assets/components/assets/card/t9n/messages_de.json +1 -1
- package/assets/components/assets/card/t9n/messages_el.json +1 -1
- package/assets/components/assets/card/t9n/messages_es.json +1 -1
- package/assets/components/assets/card/t9n/messages_et.json +1 -1
- package/assets/components/assets/card/t9n/messages_fi.json +1 -1
- package/assets/components/assets/card/t9n/messages_fr.json +1 -1
- package/assets/components/assets/card/t9n/messages_he.json +1 -1
- package/assets/components/assets/card/t9n/messages_hr.json +1 -1
- package/assets/components/assets/card/t9n/messages_hu.json +1 -1
- package/assets/components/assets/card/t9n/messages_id.json +1 -1
- package/assets/components/assets/card/t9n/messages_it.json +1 -1
- package/assets/components/assets/card/t9n/messages_ja.json +1 -1
- package/assets/components/assets/card/t9n/messages_ko.json +1 -1
- package/assets/components/assets/card/t9n/messages_lt.json +1 -1
- package/assets/components/assets/card/t9n/messages_lv.json +1 -1
- package/assets/components/assets/card/t9n/messages_nl.json +1 -1
- package/assets/components/assets/card/t9n/messages_no.json +1 -1
- package/assets/components/assets/card/t9n/messages_pl.json +1 -1
- package/assets/components/assets/card/t9n/messages_pt-BR.json +1 -1
- package/assets/components/assets/card/t9n/messages_pt-PT.json +1 -1
- package/assets/components/assets/card/t9n/messages_ro.json +1 -1
- package/assets/components/assets/card/t9n/messages_ru.json +1 -1
- package/assets/components/assets/card/t9n/messages_sk.json +1 -1
- package/assets/components/assets/card/t9n/messages_sl.json +1 -1
- package/assets/components/assets/card/t9n/messages_sr.json +1 -1
- package/assets/components/assets/card/t9n/messages_sv.json +1 -1
- package/assets/components/assets/card/t9n/messages_th.json +1 -1
- package/assets/components/assets/card/t9n/messages_tr.json +1 -1
- package/assets/components/assets/card/t9n/messages_uk.json +1 -1
- package/assets/components/assets/card/t9n/messages_vi.json +1 -1
- package/assets/components/assets/card/t9n/messages_zh-CN.json +1 -1
- package/assets/components/assets/card/t9n/messages_zh-HK.json +1 -1
- package/assets/components/assets/card/t9n/messages_zh-TW.json +1 -1
- package/assets/components/assets/combobox/t9n/messages.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_ar.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_bg.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_bs.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_ca.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_cs.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_da.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_de.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_el.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_en.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_es.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_et.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_fi.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_fr.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_he.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_hr.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_hu.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_id.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_it.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_ja.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_ko.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_lt.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_lv.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_nl.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_no.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_pl.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_pt-BR.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_pt-PT.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_ro.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_ru.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_sk.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_sl.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_sr.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_sv.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_th.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_tr.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_uk.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_vi.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_zh-CN.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_zh-HK.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_zh-TW.json +1 -0
- package/assets/components/assets/handle/t9n/messages_cs.json +1 -1
- package/assets/components/assets/handle/t9n/messages_ja.json +1 -1
- package/assets/components/assets/handle/t9n/messages_ru.json +1 -1
- package/assets/components/assets/handle/t9n/messages_sk.json +1 -1
- package/assets/components/assets/icon/accessibility16.json +1 -0
- package/assets/components/assets/icon/accessibility24.json +1 -0
- package/assets/components/assets/icon/accessibility32.json +1 -0
- package/assets/components/assets/icon/addAndUpdateFeatures16.json +1 -0
- package/assets/components/assets/icon/addAndUpdateFeatures24.json +1 -0
- package/assets/components/assets/icon/addAndUpdateFeatures32.json +1 -0
- package/assets/components/assets/icon/addFeatures16.json +1 -0
- package/assets/components/assets/icon/addFeatures24.json +1 -0
- package/assets/components/assets/icon/addFeatures32.json +1 -0
- package/assets/components/assets/icon/arrowCircleDown16.json +1 -0
- package/assets/components/assets/icon/arrowCircleDown16F.json +1 -0
- package/assets/components/assets/icon/arrowCircleDown24.json +1 -0
- package/assets/components/assets/icon/arrowCircleDown24F.json +1 -0
- package/assets/components/assets/icon/arrowCircleDown32.json +1 -0
- package/assets/components/assets/icon/arrowCircleDown32F.json +1 -0
- package/assets/components/assets/icon/arrowCircleDownF16.json +1 -0
- package/assets/components/assets/icon/arrowCircleDownF24.json +1 -0
- package/assets/components/assets/icon/arrowCircleDownF32.json +1 -0
- package/assets/components/assets/icon/joinedViewLayer16.json +1 -0
- package/assets/components/assets/icon/joinedViewLayer24.json +1 -0
- package/assets/components/assets/icon/joinedViewLayer32.json +1 -0
- package/assets/components/assets/icon/locationSharing16.json +1 -0
- package/assets/components/assets/icon/locationSharing16F.json +1 -0
- package/assets/components/assets/icon/locationSharing24.json +1 -0
- package/assets/components/assets/icon/locationSharing24F.json +1 -0
- package/assets/components/assets/icon/locationSharing32.json +1 -0
- package/assets/components/assets/icon/locationSharing32F.json +1 -0
- package/assets/components/assets/icon/locationSharingDisabled16.json +1 -0
- package/assets/components/assets/icon/locationSharingDisabled24.json +1 -0
- package/assets/components/assets/icon/locationSharingDisabled32.json +1 -0
- package/assets/components/assets/icon/locationSharingEnabled16.json +1 -0
- package/assets/components/assets/icon/locationSharingEnabled24.json +1 -0
- package/assets/components/assets/icon/locationSharingEnabled32.json +1 -0
- package/assets/components/assets/icon/locationSharingFilled16.json +1 -0
- package/assets/components/assets/icon/locationSharingFilled24.json +1 -0
- package/assets/components/assets/icon/locationSharingFilled32.json +1 -0
- package/assets/components/assets/icon/locationSharingOff16.json +1 -0
- package/assets/components/assets/icon/locationSharingOff24.json +1 -0
- package/assets/components/assets/icon/locationSharingOff32.json +1 -0
- package/assets/components/assets/icon/maskInside16.json +1 -0
- package/assets/components/assets/icon/maskInside24.json +1 -0
- package/assets/components/assets/icon/maskInside32.json +1 -0
- package/assets/components/assets/icon/maskOutside16.json +1 -0
- package/assets/components/assets/icon/maskOutside24.json +1 -0
- package/assets/components/assets/icon/maskOutside32.json +1 -0
- package/assets/components/assets/icon/numberCircle116F.json +1 -0
- package/assets/components/assets/icon/numberCircle124F.json +1 -0
- package/assets/components/assets/icon/numberCircle132F.json +1 -0
- package/assets/components/assets/icon/numberCircle1F16.json +1 -0
- package/assets/components/assets/icon/numberCircle1F24.json +1 -0
- package/assets/components/assets/icon/numberCircle1F32.json +1 -0
- package/assets/components/assets/icon/numberCircle216F.json +1 -0
- package/assets/components/assets/icon/numberCircle224F.json +1 -0
- package/assets/components/assets/icon/numberCircle232F.json +1 -0
- package/assets/components/assets/icon/numberCircle2F16.json +1 -0
- package/assets/components/assets/icon/numberCircle2F24.json +1 -0
- package/assets/components/assets/icon/numberCircle2F32.json +1 -0
- package/assets/components/assets/icon/numberCircle316F.json +1 -0
- package/assets/components/assets/icon/numberCircle324F.json +1 -0
- package/assets/components/assets/icon/numberCircle332F.json +1 -0
- package/assets/components/assets/icon/numberCircle3F16.json +1 -0
- package/assets/components/assets/icon/numberCircle3F24.json +1 -0
- package/assets/components/assets/icon/numberCircle3F32.json +1 -0
- package/assets/components/assets/icon/numberCircle416F.json +1 -0
- package/assets/components/assets/icon/numberCircle424F.json +1 -0
- package/assets/components/assets/icon/numberCircle432F.json +1 -0
- package/assets/components/assets/icon/numberCircle4F16.json +1 -0
- package/assets/components/assets/icon/numberCircle4F24.json +1 -0
- package/assets/components/assets/icon/numberCircle4F32.json +1 -0
- package/assets/components/assets/icon/numberCircle516F.json +1 -0
- package/assets/components/assets/icon/numberCircle524F.json +1 -0
- package/assets/components/assets/icon/numberCircle532F.json +1 -0
- package/assets/components/assets/icon/numberCircle5F16.json +1 -0
- package/assets/components/assets/icon/numberCircle5F24.json +1 -0
- package/assets/components/assets/icon/numberCircle5F32.json +1 -0
- package/assets/components/assets/icon/numberCircle616F.json +1 -0
- package/assets/components/assets/icon/numberCircle624F.json +1 -0
- package/assets/components/assets/icon/numberCircle632F.json +1 -0
- package/assets/components/assets/icon/numberCircle6F16.json +1 -0
- package/assets/components/assets/icon/numberCircle6F24.json +1 -0
- package/assets/components/assets/icon/numberCircle6F32.json +1 -0
- package/assets/components/assets/icon/numberCircle716F.json +1 -0
- package/assets/components/assets/icon/numberCircle724F.json +1 -0
- package/assets/components/assets/icon/numberCircle732F.json +1 -0
- package/assets/components/assets/icon/numberCircle7F16.json +1 -0
- package/assets/components/assets/icon/numberCircle7F24.json +1 -0
- package/assets/components/assets/icon/numberCircle7F32.json +1 -0
- package/assets/components/assets/icon/numberCircle816F.json +1 -0
- package/assets/components/assets/icon/numberCircle824F.json +1 -0
- package/assets/components/assets/icon/numberCircle832F.json +1 -0
- package/assets/components/assets/icon/numberCircle8F16.json +1 -0
- package/assets/components/assets/icon/numberCircle8F24.json +1 -0
- package/assets/components/assets/icon/numberCircle8F32.json +1 -0
- package/assets/components/assets/icon/numberCircle916F.json +1 -0
- package/assets/components/assets/icon/numberCircle924F.json +1 -0
- package/assets/components/assets/icon/numberCircle932F.json +1 -0
- package/assets/components/assets/icon/numberCircle9F16.json +1 -0
- package/assets/components/assets/icon/numberCircle9F24.json +1 -0
- package/assets/components/assets/icon/numberCircle9F32.json +1 -0
- package/assets/components/assets/icon/orientedImageryLayer16.json +1 -0
- package/assets/components/assets/icon/orientedImageryLayer24.json +1 -0
- package/assets/components/assets/icon/orientedImageryLayer32.json +1 -0
- package/assets/components/assets/icon/overwriteFeatures16.json +1 -0
- package/assets/components/assets/icon/overwriteFeatures24.json +1 -0
- package/assets/components/assets/icon/overwriteFeatures32.json +1 -0
- package/assets/components/assets/icon/parcelLayer16.json +1 -0
- package/assets/components/assets/icon/parcelLayer24.json +1 -0
- package/assets/components/assets/icon/parcelLayer32.json +1 -0
- package/assets/components/assets/icon/refreshF16.json +1 -0
- package/assets/components/assets/icon/refreshF24.json +1 -0
- package/assets/components/assets/icon/refreshF32.json +1 -0
- package/assets/components/assets/icon/strikethrough16.json +1 -0
- package/assets/components/assets/icon/strikethrough24.json +1 -0
- package/assets/components/assets/icon/strikethrough32.json +1 -0
- package/assets/components/assets/icon/updateFeatures16.json +1 -0
- package/assets/components/assets/icon/updateFeatures24.json +1 -0
- package/assets/components/assets/icon/updateFeatures32.json +1 -0
- package/assets/components/assets/icon/viewAssociations16.json +1 -0
- package/assets/components/assets/icon/viewAssociations24.json +1 -0
- package/assets/components/assets/icon/viewAssociations32.json +1 -0
- package/assets/components/assets/input-date-picker/t9n/messages_ar.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_bg.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_bs.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_ca.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_cs.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_da.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_de.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_el.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_es.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_et.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_fi.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_fr.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_he.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_hr.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_hu.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_id.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_it.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_ja.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_ko.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_lt.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_lv.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_nl.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_no.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_pl.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_pt-BR.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_pt-PT.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_ro.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_ru.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_sk.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_sl.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_sr.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_sv.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_th.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_tr.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_uk.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_vi.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_zh-CN.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_zh-HK.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_zh-TW.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_ar.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_bg.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_bs.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_ca.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_cs.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_da.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_de.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_el.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_es.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_et.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_fi.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_fr.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_he.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_hr.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_hu.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_id.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_it.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_ja.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_ko.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_lt.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_lv.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_nl.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_no.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_pl.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_pt-BR.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_pt-PT.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_ro.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_ru.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_sk.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_sl.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_sr.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_sv.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_th.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_tr.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_uk.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_vi.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_zh-CN.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_zh-HK.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_zh-TW.json +1 -1
- package/assets/components/assets/list-item/t9n/messages_vi.json +1 -1
- package/assets/components/assets/menu/t9n/messages.json +3 -0
- package/assets/components/assets/menu/t9n/messages_ar.json +3 -0
- package/assets/components/assets/menu/t9n/messages_bg.json +3 -0
- package/assets/components/assets/menu/t9n/messages_bs.json +3 -0
- package/assets/components/assets/menu/t9n/messages_ca.json +3 -0
- package/assets/components/assets/menu/t9n/messages_cs.json +3 -0
- package/assets/components/assets/menu/t9n/messages_da.json +3 -0
- package/assets/components/assets/menu/t9n/messages_de.json +3 -0
- package/assets/components/assets/menu/t9n/messages_el.json +3 -0
- package/assets/components/assets/menu/t9n/messages_en.json +3 -0
- package/assets/components/assets/menu/t9n/messages_es.json +3 -0
- package/assets/components/assets/menu/t9n/messages_et.json +3 -0
- package/assets/components/assets/menu/t9n/messages_fi.json +3 -0
- package/assets/components/assets/menu/t9n/messages_fr.json +3 -0
- package/assets/components/assets/menu/t9n/messages_he.json +3 -0
- package/assets/components/assets/menu/t9n/messages_hr.json +3 -0
- package/assets/components/assets/menu/t9n/messages_hu.json +3 -0
- package/assets/components/assets/menu/t9n/messages_id.json +3 -0
- package/assets/components/assets/menu/t9n/messages_it.json +3 -0
- package/assets/components/assets/menu/t9n/messages_ja.json +3 -0
- package/assets/components/assets/menu/t9n/messages_ko.json +3 -0
- package/assets/components/assets/menu/t9n/messages_lt.json +3 -0
- package/assets/components/assets/menu/t9n/messages_lv.json +3 -0
- package/assets/components/assets/menu/t9n/messages_nl.json +3 -0
- package/assets/components/assets/menu/t9n/messages_no.json +3 -0
- package/assets/components/assets/menu/t9n/messages_pl.json +3 -0
- package/assets/components/assets/menu/t9n/messages_pt-BR.json +3 -0
- package/assets/components/assets/menu/t9n/messages_pt-PT.json +3 -0
- package/assets/components/assets/menu/t9n/messages_ro.json +3 -0
- package/assets/components/assets/menu/t9n/messages_ru.json +3 -0
- package/assets/components/assets/menu/t9n/messages_sk.json +3 -0
- package/assets/components/assets/menu/t9n/messages_sl.json +3 -0
- package/assets/components/assets/menu/t9n/messages_sr.json +3 -0
- package/assets/components/assets/menu/t9n/messages_sv.json +3 -0
- package/assets/components/assets/menu/t9n/messages_th.json +3 -0
- package/assets/components/assets/menu/t9n/messages_tr.json +3 -0
- package/assets/components/assets/menu/t9n/messages_uk.json +3 -0
- package/assets/components/assets/menu/t9n/messages_vi.json +3 -0
- package/assets/components/assets/menu/t9n/messages_zh-CN.json +3 -0
- package/assets/components/assets/menu/t9n/messages_zh-HK.json +3 -0
- package/assets/components/assets/menu/t9n/messages_zh-TW.json +3 -0
- package/assets/components/assets/menu-item/t9n/messages.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_ar.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_bg.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_bs.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_ca.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_cs.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_da.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_de.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_el.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_en.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_es.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_et.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_fi.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_fr.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_he.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_hr.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_hu.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_id.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_it.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_ja.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_ko.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_lt.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_lv.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_nl.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_no.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_pl.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_pt-BR.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_pt-PT.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_ro.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_ru.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_sk.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_sl.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_sr.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_sv.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_th.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_tr.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_uk.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_vi.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_zh-CN.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_zh-HK.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_zh-TW.json +4 -0
- package/assets/components/assets/tab-title/t9n/messages.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_ar.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_bg.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_bs.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_ca.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_cs.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_da.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_de.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_el.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_en.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_es.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_et.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_fi.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_fr.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_he.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_hr.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_hu.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_id.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_it.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_ja.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_ko.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_lt.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_lv.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_nl.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_no.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_pl.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_pt-BR.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_pt-PT.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_ro.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_ru.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_sk.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_sl.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_sr.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_sv.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_th.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_tr.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_uk.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_vi.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_zh-CN.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_zh-HK.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_zh-TW.json +3 -0
- package/assets/components/assets/text-area/t9n/messages.json +2 -1
- package/assets/components/assets/text-area/t9n/messages_en.json +2 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/002fe1ec63ea33e6972d.js +1 -0
- package/assets/esri/core/workers/chunks/013efa75c96be04cf57a.js +1 -0
- package/assets/esri/core/workers/chunks/0254165377538522c830.js +1 -0
- package/assets/esri/core/workers/chunks/036301f545aba2b8e485.js +1 -0
- package/assets/esri/core/workers/chunks/07f16ea775b39a1a4a7b.js +1 -0
- package/assets/esri/core/workers/chunks/0d47e4b1b41b1f87e81b.js +1 -0
- package/assets/esri/core/workers/chunks/0d805fd9cd9ff3a636ca.js +1 -0
- package/assets/esri/core/workers/chunks/0fb1d3dce61bdd71bfff.js +1 -0
- package/assets/esri/core/workers/chunks/105cf61dbd999d0cee16.js +1 -0
- package/assets/esri/core/workers/chunks/114ef73112dd50edf5a4.js +1 -0
- package/assets/esri/core/workers/chunks/{1766371def0b2f953ac3.js → 13ed0105d52d57897730.js} +1 -1
- package/assets/esri/core/workers/chunks/1497709057d28ce7c1be.js +1 -0
- package/assets/esri/core/workers/chunks/170c72126d10b1fdb2b0.js +1 -0
- package/assets/esri/core/workers/chunks/1bbc868d2430103951eb.js +1 -0
- package/assets/esri/core/workers/chunks/1d2ef88a8d028adef102.js +1 -0
- package/assets/esri/core/workers/chunks/1e9e68312cd865358260.js +1 -0
- package/assets/esri/core/workers/chunks/2420ec029236ab31d908.js +1 -0
- package/assets/esri/core/workers/chunks/28474af01bf427c36eeb.js +1 -0
- package/assets/esri/core/workers/chunks/28c67c98039503b62e6e.js +1 -0
- package/assets/esri/core/workers/chunks/2ef70c9b2484a11b7435.js +1 -0
- package/assets/esri/core/workers/chunks/{efb96aefe979a0f5c632.js → 3048157f4f13d22c1753.js} +1 -1
- package/assets/esri/core/workers/chunks/308eeeaec591b4eea1de.js +1 -0
- package/assets/esri/core/workers/chunks/308f3811dfa71f619279.js +1 -0
- package/assets/esri/core/workers/chunks/314a8b5593306be246ab.js +1 -0
- package/assets/esri/core/workers/chunks/35a97dd2872ac3f00977.js +1 -0
- package/assets/esri/core/workers/chunks/3620e9fa4b5dbc21ad87.js +1 -0
- package/assets/esri/core/workers/chunks/39079bcfd35ed73c4e34.js +1 -0
- package/assets/esri/core/workers/chunks/39ae4b9b766f674bc6f2.js +1 -0
- package/assets/esri/core/workers/chunks/{2bdc63395c7466ce1641.js → 3b3d676b609c47a77164.js} +1 -1
- package/assets/esri/core/workers/chunks/3bbaa78c68a4bf159722.js +1 -0
- package/assets/esri/core/workers/chunks/{0d02856e55d20b99fc8b.js → 3bc77c0c08f72d74f08b.js} +1 -1
- package/assets/esri/core/workers/chunks/3c3f65913006b84b2289.js +1 -0
- package/assets/esri/core/workers/chunks/3d42fa4ab5f8632d690a.js +1 -0
- package/assets/esri/core/workers/chunks/3d9a8cb638cf9b8ca4b3.js +1 -0
- package/assets/esri/core/workers/chunks/3db8ae98799c752afe60.js +1 -0
- package/assets/esri/core/workers/chunks/4018d8a06471423cb672.js +1 -0
- package/assets/esri/core/workers/chunks/42b6315e21c4c1345ba5.js +1 -0
- package/assets/esri/core/workers/chunks/42be658be0019944d8d5.js +1 -0
- package/assets/esri/core/workers/chunks/42f3421740a5479559dc.js +1 -0
- package/assets/esri/core/workers/chunks/45629ff775e77234b227.js +1 -0
- package/assets/esri/core/workers/chunks/4b235d1b6a72773cd4f4.js +1107 -0
- package/assets/esri/core/workers/chunks/50b17799f1abce982a19.js +1 -0
- package/assets/esri/core/workers/chunks/52315f93a6f0ad59bd90.js +1 -0
- package/assets/esri/core/workers/chunks/54b319ca2d557b4b4358.js +1 -0
- package/assets/esri/core/workers/chunks/57077e608f20d3a931e8.js +1 -0
- package/assets/esri/core/workers/chunks/{97cdbec7532cfcdf9ad2.js → 595a2baa04d92de59558.js} +1 -1
- package/assets/esri/core/workers/chunks/5bb96e602d7cecbecf54.js +1 -0
- package/assets/esri/core/workers/chunks/5c69acab678f61d3f1a2.js +1 -0
- package/assets/esri/core/workers/chunks/{45a4041881e6235d73a2.js → 5f6e899aceffcf9bffb0.js} +1 -1
- package/assets/esri/core/workers/chunks/63322229183f1d4eaa70.js +1 -0
- package/assets/esri/core/workers/chunks/642510b0371311ff8e16.js +1 -0
- package/assets/esri/core/workers/chunks/68b0e0aa33880bc1ba77.js +1 -0
- package/assets/esri/core/workers/chunks/6995ace1d25d67c98d0e.js +1 -0
- package/assets/esri/core/workers/chunks/6a3d611e8842afbb50ab.js.LICENSE.txt +1 -6
- package/assets/esri/core/workers/chunks/6a82be278c7f3db83354.js +1 -0
- package/assets/esri/core/workers/chunks/6aa99bcb868b0a7cc58c.js +1 -0
- package/assets/esri/core/workers/chunks/6e562fa57c0347091154.js +1 -0
- package/assets/esri/core/workers/chunks/6fb92cd88e4fb65fa7be.js +1 -0
- package/assets/esri/core/workers/chunks/740dc67038f554431f1b.js +1 -0
- package/assets/esri/core/workers/chunks/77fcc4fc0fb3739365f6.js +1 -0
- package/assets/esri/core/workers/chunks/784587a8ae46e3856507.js +1 -0
- package/assets/esri/core/workers/chunks/{4c35c663528f710e8c78.js → 79cb672c85ea29e8484a.js} +1 -1
- package/assets/esri/core/workers/chunks/7ce036a6592cd745e720.js +1 -0
- package/assets/esri/core/workers/chunks/7dc6774c77c822b68c99.js +1 -0
- package/assets/esri/core/workers/chunks/7e4013f8c31c9a9438c6.js +1 -0
- package/assets/esri/core/workers/chunks/82939ead43848a13f765.js +1 -0
- package/assets/esri/core/workers/chunks/82a103a8b5382300889d.js +1 -0
- package/assets/esri/core/workers/chunks/88fdd288ef799a7ac48a.js +1 -0
- package/assets/esri/core/workers/chunks/8b05fb365336cc42fecc.js +1 -0
- package/assets/esri/core/workers/chunks/8b6b963230df56850580.js +1 -0
- package/assets/esri/core/workers/chunks/8e08968505483dc58e00.js +1 -0
- package/assets/esri/core/workers/chunks/915734255a79bff3ef0f.js +1 -0
- package/assets/esri/core/workers/chunks/928a311786199825fd29.js +1 -0
- package/assets/esri/core/workers/chunks/95ff92d7caa34664d58f.js +1 -0
- package/assets/esri/core/workers/chunks/99512f2aa78e8ff6b6c6.js +1 -0
- package/assets/esri/core/workers/chunks/9a0e7c41f796609b3db9.js +1 -0
- package/assets/esri/core/workers/chunks/9c8ab6bd8c170cbc5fa5.js +1 -0
- package/assets/esri/core/workers/chunks/9e570cd4a48c30c83ae6.js +1 -0
- package/assets/esri/core/workers/chunks/a6ece91e6b3343f133a0.js +1 -0
- package/assets/esri/core/workers/chunks/{96c027ffad89524b0820.js → af8f75478979e11fc00a.js} +1 -1
- package/assets/esri/core/workers/chunks/b052463ffb7cb32306dc.js +1 -0
- package/assets/esri/core/workers/chunks/b2a423d9ce8bb784267c.js +1 -0
- package/assets/esri/core/workers/chunks/b31974524932e638df8c.js +1 -0
- package/assets/esri/core/workers/chunks/b75b4b132dbd9cb9d372.js +1 -0
- package/assets/esri/core/workers/chunks/bb3c94acc6d60436e40a.js +1 -0
- package/assets/esri/core/workers/chunks/bc89f5f9653bb1242a61.js +1 -0
- package/assets/esri/core/workers/chunks/bcd2af32e2380fc3c6b3.js +1 -0
- package/assets/esri/core/workers/chunks/{4a12ca8d6756cedfb74c.js → bf3a6346ec25692e130c.js} +1 -1
- package/assets/esri/core/workers/chunks/{3c5a64a545272f148e93.js → c16ec2f614844b3191c0.js} +1 -1
- package/assets/esri/core/workers/chunks/c1dfbda75abc748a6ca4.js +1 -0
- package/assets/esri/core/workers/chunks/c8702e53a8ad6cf6ab85.js +1 -0
- package/assets/esri/core/workers/chunks/c90416e7bf29eb1d4536.js +1 -0
- package/assets/esri/core/workers/chunks/cb004c492e22c50f9bfa.js +1 -0
- package/assets/esri/core/workers/chunks/cb763c42379341b94d1e.js +1 -0
- package/assets/esri/core/workers/chunks/cfc3dcca2b69d20d5375.js +1 -0
- package/assets/esri/core/workers/chunks/cfc48f30ecc9b27ac409.js +1 -0
- package/assets/esri/core/workers/chunks/cfe379a78a983373b3ac.js +1 -0
- package/assets/esri/core/workers/chunks/d0e2b42dca51711f2c6f.js +1 -0
- package/assets/esri/core/workers/chunks/d0ff496834686dbfe29f.js +1 -0
- package/assets/esri/core/workers/chunks/{c7fb48ea5d907883bcce.js → d199290f843ffb78a001.js} +1 -1
- package/assets/esri/core/workers/chunks/d1c00e7d7884c3010e1c.js +1 -0
- package/assets/esri/core/workers/chunks/d2a127f7bb0e2ba14a13.js +1 -0
- package/assets/esri/core/workers/chunks/d8607326a199dd994844.js +1 -0
- package/assets/esri/core/workers/chunks/da0ab3f64802204323ed.js +1 -0
- package/assets/esri/core/workers/chunks/dabd889e064c4e7807fa.js +1 -0
- package/assets/esri/core/workers/chunks/{3bc6b5f0643364749ef8.js → de3d57c9b5d7a1d33bf1.js} +1 -1
- package/assets/esri/core/workers/chunks/df661a3b3629bd122a73.js +1 -0
- package/assets/esri/core/workers/chunks/df96824a6f76bad1370c.js +1 -0
- package/assets/esri/core/workers/chunks/e097f41bbfac00250477.js +1 -0
- package/assets/esri/core/workers/chunks/e3243d120a23a9b48392.js +1 -0
- package/assets/esri/core/workers/chunks/e325151aaa4a1c2a2d0c.js +1 -0
- package/assets/esri/core/workers/chunks/e55f80b774e090a0aa04.js +1 -0
- package/assets/esri/core/workers/chunks/e668c7e2e61aae6ca6e0.js +1 -0
- package/assets/esri/core/workers/chunks/e69e12c25658592e9874.js +1 -0
- package/assets/esri/core/workers/chunks/eb7053ba7e491bf25829.js +1 -0
- package/assets/esri/core/workers/chunks/ebe25310eabce61f7e72.js +1 -0
- package/assets/esri/core/workers/chunks/ef900614353505afb210.js +1 -0
- package/assets/esri/core/workers/chunks/f0299d93a95f40ea7cf7.js +1 -0
- package/assets/esri/core/workers/chunks/f1da7b29eecad0e9efae.js +1 -0
- package/assets/esri/core/workers/chunks/f23b95d7e51a144ad065.js +1 -0
- package/assets/esri/core/workers/chunks/f263e73a25fae4beffae.js +1 -0
- package/assets/esri/core/workers/chunks/{dcec000d7e883fab69ee.js → f50c6491bff822d89716.js} +1 -1
- package/assets/esri/core/workers/chunks/f528239fdba6d910d022.js +1 -0
- package/assets/esri/core/workers/chunks/f556490dae3c69419052.js +1 -0
- package/assets/esri/core/workers/chunks/f709ce36e29371d4f9d0.js +1 -0
- package/assets/esri/core/workers/chunks/{2f9fadbe7e94f79afeda.js → f88a6a9c837b5f76bdd2.js} +1 -1
- package/assets/esri/core/workers/chunks/fb44d872b9dbadcf8ccf.js +1 -0
- package/assets/esri/core/workers/chunks/fcc8aa0624f212b94a70.js +1 -0
- package/assets/esri/images/portal/livestreamvideolayer16.png +0 -0
- package/assets/esri/images/portal/{mediaservice16.png → videolayer16.png} +0 -0
- package/assets/esri/t9n/common_sv.json +1 -1
- package/assets/esri/themes/base/_View.scss +2 -5
- package/assets/esri/themes/base/widgets/_BasemapGallery.scss +9 -12
- package/assets/esri/themes/base/widgets/_Bookmarks.scss +5 -0
- package/assets/esri/themes/base/widgets/_Daylight.scss +4 -6
- package/assets/esri/themes/base/widgets/_Feature.scss +20 -8
- package/assets/esri/themes/base/widgets/_FeatureContent.scss +9 -3
- package/assets/esri/themes/base/widgets/_FeatureForm.scss +19 -2
- package/assets/esri/themes/base/widgets/_Features.scss +5 -7
- package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +69 -36
- package/assets/esri/themes/base/widgets/_Popup.scss +3 -3
- package/assets/esri/themes/base/widgets/_ScaleRangeSlider.scss +1 -0
- package/assets/esri/themes/base/widgets/_Swipe.scss +11 -0
- package/assets/esri/themes/base/widgets/_ValuePicker.scss +5 -2
- package/assets/esri/themes/base/widgets/_Widget.scss +7 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ar.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bg.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bs.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ca.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_cs.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_da.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_de.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_el.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_es.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_et.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fi.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fr.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_he.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hr.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hu.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_id.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_it.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ja.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ko.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lt.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lv.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_nb.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_nl.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pl.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-BR.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-PT.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ro.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ru.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sk.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sl.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sr.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sv.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_th.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_tr.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_uk.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_vi.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-CN.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-HK.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-TW.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ar.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bg.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bs.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ca.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_cs.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_da.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_de.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_el.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_es.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_et.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fi.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fr.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_he.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hr.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hu.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_id.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_it.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ja.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ko.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lt.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lv.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_nb.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_nl.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pl.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-BR.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-PT.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ro.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ru.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sk.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sl.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sr.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sv.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_th.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_tr.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_uk.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_vi.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-CN.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-HK.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-TW.json +1 -1
- package/assets/esri/widgets/CoordinateConversion/t9n/CoordinateConversion_ja.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ar.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_bg.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_bs.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ca.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_cs.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_da.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_de.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_el.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_es.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_et.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_fi.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_fr.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_he.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_hr.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_hu.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_id.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_it.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ja.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ko.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_lt.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_lv.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_nb.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_nl.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_pl.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_pt-BR.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_pt-PT.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ro.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ru.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_sk.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_sl.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_sr.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_sv.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_th.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_tr.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_uk.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_vi.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_zh-CN.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_zh-HK.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_zh-TW.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ar.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nb.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_ar.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_bg.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_bs.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_ca.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_cs.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_da.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_de.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_el.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_es.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_et.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_fi.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_fr.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_he.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_hr.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_hu.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_id.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_it.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_ja.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_ko.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_lt.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_lv.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_nb.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_nl.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_pl.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_pt-BR.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_pt-PT.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_ro.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_ru.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_sk.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_sl.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_sr.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_sv.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_th.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_tr.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_uk.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_vi.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_zh-CN.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_zh-HK.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_zh-TW.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_ar.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_bg.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_bs.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_ca.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_cs.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_da.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_de.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_el.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_es.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_et.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_fi.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_fr.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_he.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_hr.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_hu.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_id.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_it.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_ja.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_ko.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_lt.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_lv.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_nb.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_nl.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_pl.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_pt-BR.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_pt-PT.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_ro.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_ru.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_sk.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_sl.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_sr.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_sv.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_th.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_tr.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_uk.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_vi.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_zh-CN.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_zh-HK.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_zh-TW.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nb.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ar.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_bg.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_bs.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ca.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_cs.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_da.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_de.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_el.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_es.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_et.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_fi.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_fr.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_he.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_hr.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_hu.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_id.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_it.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ja.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ko.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_lt.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_lv.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_nb.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_nl.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_pl.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_pt-BR.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_pt-PT.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ro.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ru.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_sk.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_sl.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_sr.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_sv.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_th.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_tr.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_uk.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_vi.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_zh-CN.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_zh-HK.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_zh-TW.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_nb.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ar.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bg.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bs.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ca.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_da.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_de.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_es.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_et.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fi.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_he.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hu.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_id.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_it.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ja.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ko.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lt.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nb.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-BR.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-PT.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ro.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ru.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sk.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sv.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_th.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_tr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_uk.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_vi.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-CN.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-HK.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-TW.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ar.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_bg.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_bs.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ca.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_cs.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_da.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_de.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_el.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_es.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_et.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_fi.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_fr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_he.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_hr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_hu.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_id.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_it.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ja.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ko.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_lt.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_lv.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_nb.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_nl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pt-BR.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pt-PT.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ro.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ru.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sk.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sv.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_th.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_tr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_uk.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_vi.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-CN.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-HK.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-TW.json +1 -1
- package/chunks/AtmosphereCompositing.glsl.js +5 -5
- package/chunks/BlendWeights.glsl.js +9 -9
- package/chunks/Blur.glsl.js +1 -1
- package/chunks/ChapmanAtmosphere.glsl.js +8 -7
- package/chunks/CheckerBoard.glsl.js +5 -5
- package/chunks/CloudsComposition.glsl.js +3 -3
- package/chunks/ColorMaterial.glsl.js +12 -12
- package/chunks/ComponentShader.glsl.js +8 -8
- package/chunks/DefaultMaterial.glsl.js +43 -43
- package/chunks/EdgeDetect.glsl.js +2 -2
- package/chunks/EdgeShader.glsl.js +1 -1
- package/chunks/Fog.glsl.js +2 -2
- package/chunks/HUDMaterial.glsl.js +1 -1
- package/chunks/HighlightApply.glsl.js +4 -4
- package/chunks/ImageMaterial.glsl.js +7 -7
- package/chunks/LineCallout.glsl.js +5 -5
- package/chunks/LineMarker.glsl.js +1 -1
- package/chunks/Path.glsl.js +16 -16
- package/chunks/Pattern.glsl.js +33 -32
- package/chunks/Precipitation.glsl.js +3 -3
- package/chunks/RealisticTree.glsl.js +7 -7
- package/chunks/RibbonLine.glsl.js +41 -41
- package/chunks/SSAO.glsl.js +1 -1
- package/chunks/ShadedColorMaterial.glsl.js +1 -1
- package/chunks/ShadowCastAccumulate.glsl.js +4 -3
- package/chunks/ShadowCastVisualize.glsl.js +1 -1
- package/chunks/ShadowHighlight.glsl.js +14 -11
- package/chunks/Terrain.glsl.js +15 -13
- package/chunks/Theme.js +1 -1
- package/chunks/Tooltip.js +1 -1
- package/chunks/WaterSurface.glsl.js +18 -18
- package/chunks/boundedPlane.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/chunks/mat3.js +1 -1
- package/chunks/quat.js +1 -1
- package/chunks/quat2.js +1 -1
- package/chunks/quatf32.js +1 -1
- package/chunks/vec2.js +1 -1
- package/chunks/vec3.js +1 -1
- package/chunks/vec3f32.js +1 -1
- package/copyright.txt +1 -1
- package/core/Clonable.js +1 -1
- package/core/Collection.js +1 -1
- package/core/Evented.js +1 -1
- package/core/Handles.js +1 -1
- package/core/JSONSupport.js +1 -1
- package/core/MemCache.js +1 -1
- package/core/MemCachePool.js +5 -0
- package/core/Promise.js +1 -1
- package/core/Queue.js +1 -1
- package/core/ReadOnlyMultiOriginJSONSupport.js +1 -1
- package/core/ReentrantObjectPool.js +1 -1
- package/core/accessorSupport/MultiOriginStore.js +1 -1
- package/core/accessorSupport/PropertyOrigin.js +1 -1
- package/core/accessorSupport/extensions/serializableProperty/reader.js +1 -1
- package/core/accessorSupport/trackingUtils.js +1 -1
- package/core/accessorSupport/utils.js +1 -1
- package/core/accessorSupport/watch.js +1 -1
- package/core/clock.js +1 -1
- package/core/events.js +1 -1
- package/core/fontUtils.js +1 -1
- package/core/handleUtils.js +1 -1
- package/core/libs/gl-matrix-2/factories/quatf32.js +1 -1
- package/core/libs/gl-matrix-2/factories/vec3f32.js +1 -1
- package/core/libs/gl-matrix-2/math/mat3.js +1 -1
- package/core/libs/gl-matrix-2/math/quat.js +1 -1
- package/core/libs/gl-matrix-2/math/vec2.js +1 -1
- package/core/libs/gl-matrix-2/math/vec3.js +1 -1
- package/core/libs/gl-matrix-2/vec3.js +1 -1
- package/core/libs/rbush/PooledRBush.js +1 -1
- package/core/maybe.js +1 -1
- package/core/perspectiveUtils.js +1 -1
- package/core/promiseUtils.js +1 -1
- package/core/scheduling.js +1 -1
- package/core/support/OwningCollection.js +1 -1
- package/core/support/WatchUpdatingTracking.js +1 -1
- package/core/time.js +1 -1
- package/core/timeUtils.js +1 -1
- package/core/unitFormatUtils.js +1 -1
- package/core/unitUtils.js +1 -1
- package/core/urlUtils.js +1 -1
- package/core/watchUtils.js +1 -1
- package/core/workers/RemoteClient.js +1 -1
- package/core/workers/request.js +1 -1
- package/core/workers/workers.js +1 -1
- package/form/elements/RelationshipElement.d.ts +4 -0
- package/geometry/Mesh.js +1 -1
- package/geometry/Polygon.js +1 -1
- package/geometry/support/DoubleArray.js +1 -1
- package/geometry/support/MeshComponent.js +1 -1
- package/geometry/support/MeshMaterial.js +1 -1
- package/geometry/support/MeshMaterialMetallicRoughness.js +1 -1
- package/geometry/support/MeshTexture.js +1 -1
- package/geometry/support/MeshVertexAttributes.js +1 -1
- package/geometry/support/axisAngleDegrees.js +1 -1
- package/geometry/support/coordsUtils.js +1 -1
- package/geometry/support/meshUtils/External.js +1 -1
- package/geometry/support/meshUtils/bounds.js +5 -0
- package/geometry/support/meshUtils/centerAt.js +1 -1
- package/geometry/support/meshUtils/georeference.js +1 -1
- package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
- package/geometry/support/meshUtils/merge.js +1 -1
- package/geometry/support/meshUtils/projection.js +1 -1
- package/geometry/support/meshUtils/rotate.js +1 -1
- package/geometry/support/meshUtils/scale.js +1 -1
- package/geometry/support/meshVertexSpaceUtils.js +5 -0
- package/geometry/support/plane.js +1 -1
- package/geometry/support/rotate.js +1 -1
- package/geometry/support/triangulationUtils.js +1 -1
- package/identity/IdentityManagerBase.js +1 -1
- package/interfaces.d.ts +2665 -476
- package/intl/date.js +1 -1
- package/intl/locale.js +1 -1
- package/intl/messages.js +1 -1
- package/intl/number.js +1 -1
- package/layers/FeatureLayer.js +1 -1
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/KnowledgeGraphLayer.js +1 -1
- package/layers/LinkChartLayer.js +1 -1
- package/layers/MapImageLayer.js +1 -1
- package/layers/OrientedImageryLayer.js +1 -1
- package/layers/RouteLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/StreamLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/TileLayer.js +1 -1
- package/layers/VideoLayer.js +1 -1
- package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/graphics/controllers/StreamController.js +1 -1
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/data/attributeSupport.js +1 -1
- package/layers/graphics/editingSupport.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/graphics/sources/MemorySource.js +1 -1
- package/layers/graphics/sources/OGCFeatureSource.js +1 -1
- package/layers/graphics/sources/WFSSource.js +1 -1
- package/layers/graphics/sources/support/clientSideDefaults.js +1 -1
- package/layers/graphics/sources/support/uploadAssets.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +4 -0
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +5 -0
- package/layers/knowledgeGraph/{KnowledgeGraphSubLayerBase.js → KnowledgeGraphSublayerBase.js} +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/EditBusLayer.js +1 -1
- package/layers/mixins/FeatureLayerBase.js +1 -1
- package/layers/mixins/ImageryTileMixin.js +1 -1
- package/layers/orientedImagery/core/ExposurePoint.js +1 -1
- package/layers/orientedImagery/core/bestImageUtils.js +1 -1
- package/layers/orientedImagery/core/coverageUtils.js +1 -1
- package/layers/orientedImagery/transformations/groundToImageUtils.js +1 -1
- package/layers/orientedImagery/transformations/imageToGroundUtils.js +1 -1
- package/layers/support/ElevationQuery.js +1 -1
- package/layers/support/ElevationSampler.js +1 -1
- package/layers/support/ExportImageParameters.js +1 -1
- package/layers/support/ExportWMSImageParameters.js +1 -1
- package/layers/support/FeatureReductionBinning.js +1 -1
- package/layers/support/FeatureReductionCluster.js +1 -1
- package/layers/support/FetchAssociatedFeatureLayer.js +1 -1
- package/layers/support/RasterFunction.js +1 -1
- package/layers/support/RasterFunctionInfo.js +5 -0
- package/layers/support/RasterFunctionProperties.js +5 -0
- package/layers/support/RasterFunctionTemplate.js +5 -0
- package/layers/support/RasterFunctionVariable.js +5 -0
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/TelemetryData.js +1 -1
- package/layers/support/TelemetryDisplay.js +1 -1
- package/layers/support/VideoTimeExtent.js +1 -1
- package/layers/support/capabilities.js +1 -1
- package/layers/support/editableLayers.js +1 -1
- package/layers/support/featureLayerUtils.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/layers/support/imageryRendererUtils.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/rasterDatasets/BaseRaster.js +1 -1
- package/layers/support/rasterEnums.js +1 -1
- package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
- package/layers/support/rasterFunctions/colormaps.js +1 -1
- package/layers/support/serviceCapabilitiesUtils.js +1 -1
- package/layers/video/VideoCameraSensorModel.js +5 -0
- package/layers/video/VideoController.js +5 -0
- package/layers/video/videoUtils.js +5 -0
- package/layers/voxel/VoxelVolume.js +1 -1
- package/layers/voxel/voxelPlaneUtils.js +1 -1
- package/networks/Network.js +1 -1
- package/networks/support/TopologyValidationJobInfo.js +1 -1
- package/networks/support/TraceJobInfo.d.ts +4 -0
- package/package.json +3 -3
- package/popup/support/FieldInfoFormat.js +1 -1
- package/portal/PortalGroup.js +1 -1
- package/portal/PortalItem.js +1 -1
- package/portal/schemas/definitions.js +1 -1
- package/portal/support/portalItemUtils.js +1 -1
- package/renderers/SimpleRenderer.js +1 -1
- package/renderers/support/ClassBreakInfo.js +1 -1
- package/renderers/support/UniqueValueInfo.js +1 -1
- package/renderers/support/colorRampUtils.js +1 -1
- package/renderers/support/commonProperties.js +1 -1
- package/renderers/support/types.js +1 -1
- package/renderers/support/utils.js +1 -1
- package/request.js +1 -1
- package/rest/knowledgeGraph/GraphApplyEditsResult.js +1 -1
- package/rest/places.js +1 -1
- package/rest/query/operations/pbfJSONFeatureSet.js +1 -1
- package/rest/support/PlacesQueryResult.js +1 -1
- package/rest/support/meshFeatureSet.js +1 -1
- package/smartMapping/labels/bins.d.ts +4 -0
- package/smartMapping/labels/bins.js +5 -0
- package/smartMapping/labels/clusters.js +1 -1
- package/smartMapping/labels/support/utils.js +5 -0
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/dotDensity.js +1 -1
- package/smartMapping/renderers/heatmap.js +1 -1
- package/smartMapping/renderers/location.js +1 -1
- package/smartMapping/renderers/pieChart.js +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/type.js +1 -1
- package/smartMapping/support/binningUtils.js +1 -1
- package/smartMapping/symbology/color.js +1 -1
- package/smartMapping/symbology/flow.js +1 -1
- package/smartMapping/symbology/support/colors.js +1 -1
- package/statistics/utils.js +1 -1
- package/support/AnalysesCollection.js +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/basemapUtils.js +1 -1
- package/support/featureFlags.js +1 -1
- package/support/requestUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/symbols/cim/CIMSymbolRasterizer.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/effects/EffectBuffer.js +1 -1
- package/symbols/cim/effects/EffectDonut.js +1 -1
- package/symbols/cim/effects/EffectOffset.js +1 -1
- package/symbols/support/previewCIMSymbol.js +1 -1
- package/symbols/support/previewSymbol3D.js +1 -1
- package/symbols/support/svgUtils.js +1 -1
- package/symbols/support/utils.js +1 -1
- package/symbols/support/webStyleSymbolUtils.js +1 -1
- package/versionManagement/VersionManagementService.js +1 -1
- package/versionManagement/support/versionManagementUtils.js +1 -1
- package/views/2d/LabelManager.js +1 -1
- package/views/2d/MapViewConstraints.js +1 -1
- package/views/2d/PaddedViewState.js +1 -1
- package/views/2d/ViewState.js +1 -1
- package/views/2d/ViewStateManager.js +5 -0
- package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
- package/views/2d/engine/imagery/RasterVFTile.js +1 -1
- package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
- package/views/2d/engine/webgl/BufferPool.js +1 -1
- package/views/2d/engine/webgl/OverlayContainer.js +1 -1
- package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
- package/views/2d/engine/webgl/WGLTile.js +1 -1
- package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
- package/views/2d/engine/webgl/animatedFormats/AnimatableTextureResource.js +1 -1
- package/views/2d/engine/webgl/animatedFormats/utils.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushHeatmap.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/Buffer.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/Geometry.js +1 -1
- package/views/2d/engine/webgl/effects/highlight/HighlightSurfaces.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
- package/views/2d/input/MapViewInputManager.js +1 -1
- package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
- package/views/2d/interactive/editingTools/TransformTool.js +1 -1
- package/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js +1 -1
- package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/GraphicsLayerView2D.js +1 -1
- package/views/2d/layers/ImageryLayerView2D.js +1 -1
- package/views/2d/layers/KMLLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/MapImageLayerView2D.js +1 -1
- package/views/2d/layers/MapNotesLayerView2D.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/RouteLayerView2D.js +1 -1
- package/views/2d/layers/StreamLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/features/Pipeline.js +1 -1
- package/views/2d/layers/features/Store2D.js +1 -1
- package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
- package/views/2d/layers/features/processors/BaseProcessor.js +1 -1
- package/views/2d/layers/features/processors/HeatmapProcessor.js +1 -1
- package/views/2d/layers/features/processors/SymbolProcessor.js +1 -1
- package/views/2d/layers/features/schemaUtils.js +1 -1
- package/views/2d/layers/features/sources/SnapshotFeatureSource.js +1 -1
- package/views/2d/layers/features/sources/StreamConnectionState.js +1 -1
- package/views/2d/layers/features/sources/StreamSource.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/2d/layers/features/tileRenderers/BaseTileRenderer.js +1 -1
- package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
- package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
- package/views/2d/layers/support/DebugOverlay.js +1 -1
- package/views/2d/navigation/MapViewNavigation.js +1 -1
- package/views/2d/navigation/ZoomBox.js +1 -1
- package/views/2d/navigation/actions/Pinch.js +1 -1
- package/views/2d/navigation/actions/Rotate.js +1 -1
- package/views/2d/viewpointUtils.js +1 -1
- package/views/3d/analysis/AnalysisViewManager3D.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
- package/views/3d/analysis/Dimension/DimensionController.js +1 -1
- package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionVisualization.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
- package/views/3d/analysis/DimensionAnalysisView3D.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
- package/views/3d/analysis/Slice/SliceTool.js +1 -1
- package/views/3d/analysis/Slice/SliceVisualization.js +1 -1
- package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
- package/views/3d/analysis/support/viewUtils.js +1 -1
- package/views/3d/camera/constraintUtils/distance.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
- package/views/3d/environment/CloudsComposition.js +1 -1
- package/views/3d/environment/CloudsGenerator.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/environment/NoiseTextureAtlas.js +1 -1
- package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
- package/views/3d/environment/weatherUtils.js +1 -1
- package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
- package/views/3d/externalRenderers/RenderContext.js +1 -1
- package/views/3d/glTF/internal/resourceUtils.js +1 -1
- package/views/3d/input/SceneInputManager.js +1 -1
- package/views/3d/interactive/Manipulator3D.js +1 -1
- package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/editingTools/lineGraphicVisualElementUtils.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/MoveXYDiscManipulation.js +1 -1
- package/views/3d/interactive/editingTools/manipulatorUtils.js +1 -1
- package/views/3d/interactive/editingTools/moveGraphic/GraphicMoveTool.js +1 -1
- package/views/3d/interactive/editingTools/originGraphicVisualElementUtils.js +1 -1
- package/views/3d/interactive/editingTools/reshapeGraphic/GraphicReshapeTool.js +1 -1
- package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
- package/views/3d/interactive/editingTools/reshapeGraphic/edgeOffsetUtils.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/GraphicTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateMeshAdapter.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateObjectSymbol3DAdapter.js +1 -1
- package/views/3d/interactive/manipulatorUtils.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
- package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
- package/views/3d/interactive/visualElements/EngineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LabelVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MarkerVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/Object3DVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/SlicePlaneVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/VisualElement.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
- package/views/3d/layers/BuildingSublayerView3D.js +1 -1
- package/views/3d/layers/DimensionLayerView3D.js +1 -1
- package/views/3d/layers/DynamicLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
- package/views/3d/layers/I3SMeshWorkerHandle.js +1 -1
- package/views/3d/layers/II3SMeshView3D.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/LayerView3D.js +1 -1
- package/views/3d/layers/LineOfSightLayerView3D.js +1 -1
- package/views/3d/layers/MapImageLayerView3D.js +1 -1
- package/views/3d/layers/MediaLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudWorker.js +1 -1
- package/views/3d/layers/RouteLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerWorker.js +1 -1
- package/views/3d/layers/StreamLayerView3D.js +1 -1
- package/views/3d/layers/TileLayerView3D.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/VoxelLayerView3D.js +1 -1
- package/views/3d/layers/WMSLayerView3D.js +1 -1
- package/views/3d/layers/WMTSLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/ElevationQuery.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
- package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
- package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/graphics/polygonUtils.js +1 -1
- package/views/3d/layers/graphics/webStyleUtils.js +1 -1
- package/views/3d/layers/i3s/Highlights.js +1 -1
- package/views/3d/layers/i3s/I3SClientMaterialUtil.js +5 -0
- package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
- package/views/3d/layers/i3s/I3SFrameTask.js +1 -1
- package/views/3d/layers/i3s/I3SGeometryUtil.js +1 -1
- package/views/3d/layers/i3s/I3SIndex.js +1 -1
- package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
- package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
- package/views/3d/layers/i3s/I3SOverrides.js +1 -1
- package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/i3s/featureEditing.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
- package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
- package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
- package/views/3d/layers/support/SceneLayerViewRequiredFields.js +1 -1
- package/views/3d/layers/support/uvUtils.js +1 -1
- package/views/3d/state/Frustum.js +1 -1
- package/views/3d/state/GoToOperation.js +1 -1
- package/views/3d/state/ViewState.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/global/ZoomController.js +1 -1
- package/views/3d/state/controllers/local/ZoomController.js +1 -1
- package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
- package/views/3d/support/CombinedElevationProvider.js +1 -1
- package/views/3d/support/DisplayQualityProfile.js +1 -1
- package/views/3d/support/FrustumExtentIntersection.js +1 -1
- package/views/3d/support/LaserLineRenderer.js +1 -1
- package/views/3d/support/MemoryController.js +1 -1
- package/views/3d/support/RenderCoordsHelper.js +1 -1
- package/views/3d/support/SceneViewPerformanceInfo.js +1 -1
- package/views/3d/support/SharedSymbolResources.js +1 -1
- package/views/3d/support/StreamTextureCollection.js +1 -1
- package/views/3d/support/geometryUtils/ray.js +1 -1
- package/views/3d/support/orientedBoundingBox.js +1 -1
- package/views/3d/support/pointsOfInterest/Focus.js +1 -1
- package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
- package/views/3d/support/renderInfoUtils/line.js +1 -1
- package/views/3d/support/renderInfoUtils/polygon.js +1 -1
- package/views/3d/support/sunUtils.js +1 -1
- package/views/3d/terrain/Overlay.js +1 -1
- package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/OverlayRenderTarget.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/PatchRenderData.js +1 -1
- package/views/3d/terrain/SphericalPatch.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/terrain/TilingSchemeLogic.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/FBOCache.js +5 -0
- package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +3 -9
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +13 -15
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +30 -35
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/hud/{HUDUniforms.js → HUDRenderStyle.js} +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +5 -6
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js +5 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +10 -10
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +18 -16
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +8 -8
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +9 -9
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloat16Encoding.glsl.js +25 -0
- package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Uniform.js +1 -1
- package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/Camera.js +1 -1
- package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
- package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
- package/views/3d/webgl-engine/lib/Highlight.js +1 -1
- package/views/3d/webgl-engine/lib/MagnifierHelper.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
- package/views/3d/webgl-engine/lib/PathCapBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
- package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
- package/views/3d/webgl-engine/lib/Program.js +1 -1
- package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
- package/views/3d/webgl-engine/lib/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
- package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowHighlight.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/lib/SmaaRenderPass.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
- package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
- package/views/3d/webgl-engine/lib/basicInterfaces.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
- package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
- package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/VisualVariablePassParameters.js +1 -1
- package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
- package/views/3d/webgl-engine/materials/pbrUtils.js +5 -0
- package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCalloutTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/SMAAPassParameters.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
- package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
- package/views/DOMContainer.js +1 -1
- package/views/LayerViewManager.js +1 -1
- package/views/MapView.js +1 -1
- package/views/PopupView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/ToolViewManager.js +1 -1
- package/views/draw/DrawGraphicTool.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/draw/DrawTool.js +1 -1
- package/views/draw/support/GraphicMover.js +1 -1
- package/views/draw/support/HighlightHelper.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/draw/support/createUtils.js +1 -1
- package/views/draw/support/surfaceCoordinateSystems.js +1 -1
- package/views/input/ViewEvents.js +1 -1
- package/views/interactive/SegmentLabels.js +1 -1
- package/views/interactive/coordinateHelper.js +1 -1
- package/views/interactive/editGeometry/EditGeometry.js +1 -1
- package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
- package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
- package/views/interactive/editGeometry/operations/ScaleVertex.js +1 -1
- package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
- package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
- package/views/interactive/snapping/RightAngleSnapper.js +1 -1
- package/views/interactive/snapping/SnappingConstraint.js +1 -1
- package/views/interactive/snapping/SnappingDragPipelineStep.js +1 -1
- package/views/interactive/snapping/SnappingManager.js +1 -1
- package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/I3SSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
- package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorkerHandle.js +1 -1
- package/views/interactive/snapping/featureSources/sceneLayerSource/sceneLayerSnappingUtils.js +1 -1
- package/views/interactive/support/viewUtils.js +1 -1
- package/views/layers/FeatureLayerView.js +1 -1
- package/views/layers/GroupLayerView.js +1 -1
- package/views/layers/LayerView.js +1 -1
- package/views/layers/RefreshableLayerView.js +1 -1
- package/views/layers/StreamLayerView.js +1 -1
- package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
- package/views/overlay/LineOverlayItem.js +1 -1
- package/views/overlay/TextOverlayItem.js +1 -1
- package/views/overlay/ViewOverlay.js +1 -1
- package/views/support/QueueProcessor.js +1 -1
- package/views/support/euclideanAreaMeasurementUtils.js +1 -1
- package/views/support/geometry2dUtils.js +1 -1
- package/views/support/geometry3dUtils.js +1 -1
- package/views/support/screenshotUtils.js +1 -1
- package/views/ui/DefaultUI.js +1 -1
- package/views/ui/UI.js +1 -1
- package/views/webgl/AppleAmdDriverHelper.js +5 -0
- package/views/webgl/BufferObject.js +1 -1
- package/views/webgl/FramebufferObject.js +1 -1
- package/views/webgl/Measurement.js +1 -1
- package/views/webgl/Renderbuffer.js +1 -1
- package/views/webgl/RenderingContext.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/views/webgl/TextureDescriptor.js +1 -1
- package/views/webgl/VertexArrayObject.js +1 -1
- package/views/webgl/heatmapTextureUtils.js +1 -1
- package/views/webgl/testAppleAmdDrawArrays.js +1 -1
- package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
- package/{layers/orientedImagery/core/imageryUtils.js → webdoc/interfaces.js} +1 -1
- package/webdoc/support/writeUtils.js +1 -1
- package/webmap/initialViewPropertiesUtils.js +1 -1
- package/webscene/Slide.js +1 -1
- package/widgets/Attachments.js +1 -1
- package/widgets/Attribution/AttributionViewModel.js +1 -1
- package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
- package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
- package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
- package/widgets/BasemapGallery.js +1 -1
- package/widgets/BasemapLayerList/BasemapLayerListViewModel.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/Bookmarks/css.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesViewModel.js +1 -1
- package/widgets/BuildingExplorer/BuildingExplorerViewModel.js +1 -1
- package/widgets/BuildingExplorer/BuildingNumericFilterViewModel.js +1 -1
- package/widgets/Compass/CompassViewModel.js +1 -1
- package/widgets/Daylight/DaylightViewModel.js +1 -1
- package/widgets/Directions/DirectionsViewModel.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
- package/widgets/Editor/CreateWorkflow.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/Edits.js +1 -1
- package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
- package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflowData.js +1 -1
- package/widgets/Editor/Upload.js +1 -1
- package/widgets/Editor/Workflow.js +1 -1
- package/widgets/Editor/modelUploadUtils.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileController.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileInteraction.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
- package/widgets/ElevationProfile/support/ElevationProfileView.js +1 -1
- package/widgets/ElevationProfile/support/InputRepresentation3D.js +1 -1
- package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
- package/widgets/Feature/FeatureAttachments.js +1 -1
- package/widgets/Feature/FeatureContent/FeatureContentViewModel.js +1 -1
- package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
- package/widgets/Feature/FeatureMedia/pieChart.js +1 -1
- package/widgets/Feature/FeatureMedia/xyChart.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
- package/widgets/Feature/FeatureRelationship.js +1 -1
- package/widgets/Feature/FeatureViewModel.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/Feature/support/relatedFeatureUtils.js +1 -1
- package/widgets/FeatureForm/EditableInput.d.ts +4 -0
- package/widgets/FeatureForm/EditableInput.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/FieldInput.d.ts +4 -0
- package/widgets/FeatureForm/FieldInput.js +1 -1
- package/widgets/FeatureForm/FormExpressionsManager.js +1 -1
- package/widgets/FeatureForm/GroupInput.d.ts +4 -0
- package/widgets/FeatureForm/GroupInput.js +1 -1
- package/widgets/FeatureForm/InputBase.d.ts +4 -0
- package/widgets/FeatureForm/InputBase.js +1 -1
- package/widgets/FeatureForm/InputField.d.ts +4 -0
- package/widgets/FeatureForm/InputFieldGroup.d.ts +4 -0
- package/widgets/FeatureForm/RelationshipInput.d.ts +4 -0
- package/widgets/FeatureForm/RelationshipInput.js +1 -1
- package/widgets/FeatureForm/css.js +1 -1
- package/widgets/FeatureForm/featureFormUtils.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/FieldColumn.js +1 -1
- package/widgets/FeatureTable/Grid/Column.js +1 -1
- package/widgets/FeatureTable/Grid/Grid.js +11 -11
- package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
- package/widgets/FeatureTemplates/ItemList.js +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/Features/FeaturesViewModel.d.ts +4 -0
- package/widgets/Features.d.ts +4 -0
- package/widgets/Features.js +1 -1
- package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
- package/widgets/Home.js +1 -1
- package/widgets/LayerList/ListItem.js +1 -1
- package/widgets/Legend/LegendViewModel.js +1 -1
- package/widgets/Legend/styles/Card.js +1 -1
- package/widgets/Legend/styles/Classic.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Legend/support/styleUtils.js +1 -1
- package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
- package/widgets/Locate/LocateViewModel.js +1 -1
- package/widgets/Locate.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/Popup.js +1 -1
- package/widgets/Print/FileLink.js +1 -1
- package/widgets/ScaleRangeSlider.js +1 -1
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/widgets/ShadowCast/ShadowTooltipViewModel.js +1 -1
- package/widgets/ShadowCast.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/TableList/ListItem.js +1 -1
- package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
- package/widgets/Track/TrackViewModel.js +1 -1
- package/widgets/Track.js +1 -1
- package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
- package/widgets/UtilityNetworkAssociations.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
- package/widgets/UtilityNetworkTrace/support/ResultAreaHandler.js +1 -1
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.d.ts +4 -0
- package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
- package/widgets/UtilityNetworkValidateTopology.d.ts +4 -0
- package/widgets/UtilityNetworkValidateTopology.js +1 -1
- package/widgets/ValuePicker/ValuePickerBaseComponent.js +1 -1
- package/widgets/ValuePicker/ValuePickerCollection.d.ts +4 -0
- package/widgets/ValuePicker/ValuePickerCombobox.d.ts +4 -0
- package/widgets/ValuePicker/ValuePickerCombobox.js +1 -1
- package/widgets/ValuePicker/ValuePickerLabel.d.ts +4 -0
- package/widgets/ValuePicker/ValuePickerSlider.d.ts +4 -0
- package/widgets/ValuePicker/ValuePickerSlider.js +1 -1
- package/widgets/ValuePicker.d.ts +4 -0
- package/widgets/ValuePicker.js +1 -1
- package/widgets/Weather/WeatherViewModel.js +1 -1
- package/widgets/Widget.js +1 -1
- package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.js +1 -1
- package/widgets/support/ColorPicker.js +1 -1
- package/widgets/support/GeolocationPositioning.js +1 -1
- package/widgets/support/Popover.js +1 -1
- package/widgets/support/Selector2D/SelectionOperation2D.js +1 -1
- package/widgets/support/Selector2D.js +1 -1
- package/widgets/support/SnappingControls/SnappingControlsViewModel.js +1 -1
- package/widgets/support/chartUtils.js +1 -1
- package/widgets/support/chartUtilsAm5.js +1 -1
- package/widgets/support/componentsUtils.js +1 -1
- package/widgets/support/geolocationUtils.js +1 -1
- package/widgets/support/jsxWidgetSupport.js +1 -1
- package/assets/esri/core/workers/chunks/030b43764f945cb1f8b0.js +0 -1
- package/assets/esri/core/workers/chunks/03bc91648286b9b75e30.js +0 -1
- package/assets/esri/core/workers/chunks/03dba2a2bbc363369a0f.js +0 -1
- package/assets/esri/core/workers/chunks/0618fb0058f39ecd363f.js +0 -1
- package/assets/esri/core/workers/chunks/099cacba30fd93af8ebc.js +0 -1
- package/assets/esri/core/workers/chunks/0adcc644ab424469a62d.js +0 -1
- package/assets/esri/core/workers/chunks/0fcb8d408696075338e2.js +0 -1
- package/assets/esri/core/workers/chunks/1257825488d2494e901d.js +0 -1
- package/assets/esri/core/workers/chunks/14d97dc471ff449bb12d.js +0 -1
- package/assets/esri/core/workers/chunks/16e459b16bdd6e1a821b.js +0 -1
- package/assets/esri/core/workers/chunks/187c3b971ed0fc4363ef.js +0 -1
- package/assets/esri/core/workers/chunks/18db07d739a713cc0465.js +0 -1
- package/assets/esri/core/workers/chunks/1fd7e2d91d0d76ba1802.js +0 -1
- package/assets/esri/core/workers/chunks/20ea76301f58a4145223.js +0 -1
- package/assets/esri/core/workers/chunks/270471cd31609e303496.js +0 -1
- package/assets/esri/core/workers/chunks/293315442f5afe8069dc.js +0 -1
- package/assets/esri/core/workers/chunks/2e627c94e57c924e5917.js +0 -1095
- package/assets/esri/core/workers/chunks/39288fa69561d21f04f8.js +0 -1
- package/assets/esri/core/workers/chunks/39714837f9d3708e3806.js +0 -1
- package/assets/esri/core/workers/chunks/3a63ab2bff22950ffadf.js +0 -1
- package/assets/esri/core/workers/chunks/3ce1fe5e7a841f6dc355.js +0 -1
- package/assets/esri/core/workers/chunks/3d511e09f36002e1032e.js +0 -1
- package/assets/esri/core/workers/chunks/431d54867bc3bb848fbb.js +0 -1
- package/assets/esri/core/workers/chunks/4474512927623c7bb16c.js +0 -1
- package/assets/esri/core/workers/chunks/45e5ad704d18dd0857ce.js +0 -1
- package/assets/esri/core/workers/chunks/4f2e49bbbf667b68d8a7.js +0 -1
- package/assets/esri/core/workers/chunks/50e6bf76dcb372183824.js +0 -1
- package/assets/esri/core/workers/chunks/50f929d9453fb058cf47.js +0 -1
- package/assets/esri/core/workers/chunks/5270fedc8c7951807eb4.js +0 -1
- package/assets/esri/core/workers/chunks/528107548340cfc6a8f0.js +0 -1
- package/assets/esri/core/workers/chunks/55486c644e8b01326a0d.js +0 -1
- package/assets/esri/core/workers/chunks/5576858f56314afcb4d5.js +0 -1
- package/assets/esri/core/workers/chunks/571dac507622948ac03e.js +0 -1
- package/assets/esri/core/workers/chunks/5a4c04bf4f57e74457c5.js +0 -1
- package/assets/esri/core/workers/chunks/5bbe1495fa421394d12e.js +0 -1
- package/assets/esri/core/workers/chunks/621c91af7c051d44d378.js +0 -1
- package/assets/esri/core/workers/chunks/673d6e284d5e85a107ca.js +0 -1
- package/assets/esri/core/workers/chunks/6ab0c2e27ba6b1b4afc7.js +0 -1
- package/assets/esri/core/workers/chunks/6b0e5728b2dbd23b0834.js +0 -1
- package/assets/esri/core/workers/chunks/6d80f81bf6ad97a7e69e.js +0 -1
- package/assets/esri/core/workers/chunks/6e7178de0b2c3d2f7e6b.js +0 -1
- package/assets/esri/core/workers/chunks/70d6e5edf05ef7079fa8.js +0 -1
- package/assets/esri/core/workers/chunks/71bdf8f10aee0077f681.js +0 -1
- package/assets/esri/core/workers/chunks/72b2c3c8e76da699690c.js +0 -1
- package/assets/esri/core/workers/chunks/749fafd2481d37b5e2a0.js +0 -1
- package/assets/esri/core/workers/chunks/785a6c925f29bc962992.js +0 -1
- package/assets/esri/core/workers/chunks/78ce0b1af62435d8ebf4.js +0 -1
- package/assets/esri/core/workers/chunks/791f529e90135398b3d5.js +0 -1
- package/assets/esri/core/workers/chunks/7bbdba52157da13a01fc.js +0 -1
- package/assets/esri/core/workers/chunks/83298b1bdbcbe39d8ba1.js +0 -1
- package/assets/esri/core/workers/chunks/84f897e5910752e7aebc.js +0 -1
- package/assets/esri/core/workers/chunks/858961981aa2a57d37db.js +0 -1
- package/assets/esri/core/workers/chunks/8cc8d88e5dd1e586eb04.js +0 -1
- package/assets/esri/core/workers/chunks/8d3abfe6fdc5ac8d6cb7.js +0 -1
- package/assets/esri/core/workers/chunks/924e4a18d8403d1caea3.js +0 -1
- package/assets/esri/core/workers/chunks/94c1a2d31b3253cf6062.js +0 -1
- package/assets/esri/core/workers/chunks/96d339abcd917f1f0ae1.js +0 -1
- package/assets/esri/core/workers/chunks/97dbfe04136aa5e4cd4d.js +0 -1
- package/assets/esri/core/workers/chunks/9ab400a89dd701778d2c.js +0 -1
- package/assets/esri/core/workers/chunks/9de820b7df38b948c92b.js +0 -1
- package/assets/esri/core/workers/chunks/9e209c6a2aded37f90fb.js +0 -1
- package/assets/esri/core/workers/chunks/9fe349f43d5ff5a4ac2d.js +0 -1
- package/assets/esri/core/workers/chunks/a12d1d3addeae0771c00.js +0 -1
- package/assets/esri/core/workers/chunks/a1c31bb8c12831539328.js +0 -1
- package/assets/esri/core/workers/chunks/a2484a3993ec81a095b4.js +0 -1
- package/assets/esri/core/workers/chunks/a5bd457d0284419b4f34.js +0 -1
- package/assets/esri/core/workers/chunks/a6c2fbf8aefb2e793ce3.js +0 -1
- package/assets/esri/core/workers/chunks/a719cb801d647234546c.js +0 -1
- package/assets/esri/core/workers/chunks/a95bee31d06e69a0d56d.js +0 -1
- package/assets/esri/core/workers/chunks/ab2b56442fee12be5c68.js +0 -1
- package/assets/esri/core/workers/chunks/ad215f7279e6b0a0d6f3.js +0 -1
- package/assets/esri/core/workers/chunks/af5c9cbbcb6f56893560.js +0 -1
- package/assets/esri/core/workers/chunks/b1d88f8e528bf7092f35.js +0 -1
- package/assets/esri/core/workers/chunks/b4e2dc6b3d06b426e596.js +0 -1
- package/assets/esri/core/workers/chunks/b6b2cac44a5189afdc7a.js +0 -1
- package/assets/esri/core/workers/chunks/ba43e85d345393f47778.js +0 -1
- package/assets/esri/core/workers/chunks/ba6024465308c248170b.js +0 -1
- package/assets/esri/core/workers/chunks/bc2c4b00168f9251f693.js +0 -1
- package/assets/esri/core/workers/chunks/bead656f8da33e023b2b.js +0 -1
- package/assets/esri/core/workers/chunks/c2cb9fa18c77f0c5104e.js +0 -1
- package/assets/esri/core/workers/chunks/c2fb0f3179b9ff294b68.js +0 -1
- package/assets/esri/core/workers/chunks/cb8270d50f152fff2804.js +0 -1
- package/assets/esri/core/workers/chunks/d0ff968e42116f592065.js +0 -1
- package/assets/esri/core/workers/chunks/d265da47f6c752a40ac1.js +0 -1
- package/assets/esri/core/workers/chunks/d26eaac455346f4df51a.js +0 -1
- package/assets/esri/core/workers/chunks/d30be8788a3ea70f1edf.js +0 -1
- package/assets/esri/core/workers/chunks/d3768c90b419386b65f9.js +0 -1
- package/assets/esri/core/workers/chunks/d64c271c173797d98286.js +0 -1
- package/assets/esri/core/workers/chunks/d6b6bb8aecc85d2a3f6b.js +0 -1
- package/assets/esri/core/workers/chunks/d725dbbdeb05322e6d88.js +0 -1
- package/assets/esri/core/workers/chunks/d95ca50ca7af4c222036.js +0 -1
- package/assets/esri/core/workers/chunks/da6db22616bd95ee5380.js +0 -1
- package/assets/esri/core/workers/chunks/df3e497d12ed77bae168.js +0 -1
- package/assets/esri/core/workers/chunks/df6f54607ad4c6e28d1d.js +0 -1
- package/assets/esri/core/workers/chunks/e1b2076d0040fcb7d864.js +0 -1
- package/assets/esri/core/workers/chunks/e2f4e1c4fe166d249b2e.js +0 -1
- package/assets/esri/core/workers/chunks/e46cd2a6da8d5cba1db6.js +0 -1
- package/assets/esri/core/workers/chunks/e5bbd4cc5edbf7ab3624.js +0 -1
- package/assets/esri/core/workers/chunks/e72150a38b202b68be2b.js +0 -1
- package/assets/esri/core/workers/chunks/e8db7303b2f63c0ec0c9.js +0 -1
- package/assets/esri/core/workers/chunks/ea9e25eaaada36253da3.js +0 -1
- package/assets/esri/core/workers/chunks/eca24f316629ad0c0609.js +0 -1
- package/assets/esri/core/workers/chunks/f21aa0bfc6c8f809ea86.js +0 -1
- package/assets/esri/core/workers/chunks/f3462020ee3b9c6f3822.js +0 -1
- package/assets/esri/core/workers/chunks/f720967ba8c5486a26a2.js +0 -1
- package/assets/esri/core/workers/chunks/fb080339bfaf32731ca6.js +0 -1
- package/assets/esri/core/workers/chunks/fdf58386a67e54c09bfb.js +0 -1
- package/layers/knowledgeGraph/KnowledgeGraphSubLayer.d.ts +0 -4
- package/layers/knowledgeGraph/KnowledgeGraphSubLayer.js +0 -5
- package/layers/orientedImagery/core/Affixes.js +0 -5
- package/layers/orientedImagery/core/CameraProperties.js +0 -5
- package/layers/orientedImagery/core/ImageProperties.js +0 -5
- package/layers/orientedImagery/core/ImageryTypes.js +0 -5
- package/layers/video/VideoEngine.js +0 -5
- package/views/3d/webgl-engine/lib/AppleAmdDriverHelper.js +0 -5
- package/views/3d/webgl-engine/lib/RenderTargetHelper.js +0 -5
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../../../chunks/tslib.es6.js";import"../../../../../geometry.js";import{removeUnordered as t}from"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import i from"../../../../../core/Evented.js";import{HandleOwner as a}from"../../../../../core/HandleOwner.js";import n from"../../../../../core/Handles.js";import{handlesGroup as o,destroyHandle as r}from"../../../../../core/handleUtils.js";import{destroyMaybe as s,removeMaybe as l}from"../../../../../core/maybe.js";import{zeroMeters as p,scale as h,createLength as d}from"../../../../../core/quantityUtils.js";import{watch as u,when as c,initial as m}from"../../../../../core/reactiveUtils.js";import{getMetersPerUnitForSR as g}from"../../../../../core/unitUtils.js";import{property as _}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import{subclass as f}from"../../../../../core/accessorSupport/decorators/subclass.js";import{I as v}from"../../../../../chunks/mat4f64.js";import{l as M,b as y,h as x,s as O,a as b,g as E}from"../../../../../chunks/vec3.js";import{f as G,c as S}from"../../../../../chunks/vec3f64.js";import w from"../../../../../geometry/Polyline.js";import{hasCompatibleTopology as I}from"../../../../../geometry/support/coordsUtils.js";import{projectPoint as V}from"../../../../../geometry/support/plane.js";import{sv3d as A}from"../../../../../geometry/support/vectorStacks.js";import{makeDehydratedPoint as T}from"../../../../../layers/graphics/dehydratedFeatures.js";import{getGraphicEffectiveElevationInfo as H}from"../../../../../support/elevationInfoUtils.js";import{isVolumetricSymbol as D}from"../../../../../symbols/support/utils.js";import{Manipulator3D as L}from"../../Manipulator3D.js";import{createManipulatorMaterial as j,createManipulatorOutlineMaterial as P,placeAtGraphic as U}from"../../manipulatorUtils.js";import{RenderObject as N}from"../../RenderObject.js";import{SegmentLabels3D as C}from"../../SegmentLabels3D.js";import{SnappingVisualizer3D as k}from"../../SnappingVisualizer3D.js";import{screenToRenderPlaneFromEvent as R,convertToMapCoordinates as F,screenToMapXYAtLocation as z,screenToMapXYForGraphicAtLocation as X}from"../dragEventPipeline3D.js";import{ManipulatorType as Z}from"../ManipulatorType.js";import{canMoveZ as Y}from"../manipulatorUtils.js";import{getSettings as q}from"../settings.js";import{createVisualElements as W}from"../visualElementUtils.js";import{DISC_RADIUS_SMALL as K}from"../manipulations/config.js";import{ManipulationType as B,MoveManipulation as J}from"../manipulations/MoveManipulation.js";import{shapeOrientation as Q,axisConstrainedDragSign as $}from"../manipulations/moveUtils.js";import{MoveXYGraphicManipulation as ee}from"../manipulations/MoveXYGraphicManipulation.js";import{createEdgeOffsetIntersectionPlane as te,createEdgeOffsetOperation as ie,edgeOffsetRotationMatrix as ae,screenEdgeLengthSquared as ne}from"./edgeOffsetUtils.js";import{OutlineVisualElement as oe}from"../../visualElements/OutlineVisualElement.js";import{GraphicState as re}from"../../../layers/graphics/GraphicState.js";import{createExtrudedTriangle as se,createSphereGeometry as le}from"../../../webgl-engine/lib/GeometryUtil.js";import{MouseButton as pe}from"../../../../input/IViewEvents.js";import{sceneSnappingAtLocation as he,addMapDelta as de,createManipulatorDragEventPipeline as ue,dragAtLocation as ce,addScreenDelta as me}from"../../../../interactive/dragEventPipeline.js";import{ManipulatorStateFlags as ge,ManipulatorStateCustomFlags as _e}from"../../../../interactive/interfaces.js";import{EditGeometryOperations as fe}from"../../../../interactive/editGeometry/EditGeometryOperations.js";import{AccumulationBehaviour as ve}from"../../../../interactive/editGeometry/interfaces.js";import{SnappingContext as Me}from"../../../../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as ye}from"../../../../interactive/snapping/SnappingDragPipelineStep.js";import{ReshapeEdgeOffsetTooltipInfo as xe}from"../../../../interactive/tooltip/ReshapeTooltipInfos.js";import{Tooltip as Oe}from"../../../../interactive/tooltip/Tooltip.js";import{TranslateGraphicZTooltipInfo as be,TranslateGraphicXYTooltipInfo as Ee,TranslateGraphicTooltipInfo as Ge,TranslateVertexZTooltipInfo as Se,TranslateVertexXYTooltipInfo as we,TranslateVertexTooltipInfo as Ie}from"../../../../interactive/tooltip/TranslateTooltipInfos.js";import{autoAreaByElevationMode as Ve}from"../../../../support/automaticAreaMeasurementUtils.js";import{autoHorizontalDistanceByElevationModeBetweenPoints as Ae,autoLengthByElevationMode as Te}from"../../../../support/automaticLengthMeasurementUtils.js";import{unitRGBAFromColor as He}from"../../../../support/colorUtils.js";import{verticalSignedDistanceBetweenPoints as De,elevationOfPoint as Le}from"../../../../support/euclideanLengthMeasurementUtils.js";import{geodesicDistance as je}from"../../../../support/geodesicLengthMeasurementUtils.js";import Pe from"../../../../../geometry/SpatialReference.js";let Ue=class extends(i.EventedMixin(a)){constructor(e){super(e),this._selectedIndex=0,this._manipulatorHandles=new n,this._manipulatorInfos=[],this._numGrabbing=0,this._numDragging=0,this._reshapeEventState=Xe.NONE,this._recreatingManipulators=!1,this.outputGeometry=null,this._vertexLaserLineVisualElement=null;const t=q(e.tool.view).manipulators,i=t.vertex;this._vertexManipulatorMaterial=j(He(i.color),i.renderOccluded),this._vertexManipulatorOutlineMaterial=P(He(i.outlineColor),i.renderOccluded),this._vertexManipulatorHoverOutlineMaterial=P(He(i.hoverOutlineColor),i.renderOccluded);const a=t.edge;this._edgeManipulatorMaterial=j(He(a.color),a.renderOccluded),this._edgeManipulatorOutlineMaterial=P(He(a.outlineColor),a.renderOccluded);const o=t.edgeOffset;this._edgeOffsetManipulatorMaterial=j(He(o.color),o.renderOccluded,!1),this._edgeOffsetManipulatorHoverMaterial=j(He(o.hoverColor),o.renderOccluded,!1);const r=t.selected;this._selectedManipulatorMaterial=j(He(r.color),r.renderOccluded),this._selectedManipulatorOutlineMaterial=P(He(r.outlineColor),r.renderOccluded),this._selectedManipulatorHoverOutlineMaterial=P(He(r.hoverOutlineColor),r.renderOccluded)}initialize(){const{graphic:e,view:t}=this,i=this._graphicState=new re({graphic:e});this._tooltip=new Oe({view:t}),this.addHandles([u((()=>i.displaying),(e=>{for(const t of this._manipulatorInfos)t.manipulator.available=e})),u((()=>({labels:this._segmentLabels,enabled:this._labelOptions.enabled,edgeOffsetEnabled:this.enableEdgeOffset})),(({labels:e,enabled:t,edgeOffsetEnabled:i})=>{null!=e&&(e.visible=t,e.edgeDistance=i?"far":"default")}),m),c((()=>!this._tooltipOptions.enabled),(()=>this._tooltip.clear()),m),this.view.trackGraphicState(i)])}destroy(){this._segmentLabels=s(this._segmentLabels),this._tooltip=s(this._tooltip),this._removeManipulators()}get inputGeometry(){return null!=this._editGeometryOperations?this._editGeometryOperations.data.geometry:null}set inputGeometry(e){this._recreateEditGeometryAndManipulators(e)}get updating(){return this.updatingHandles.updating}get manipulators(){return this.tool.manipulators}get view(){return this.tool.view}get graphic(){return this.tool.graphic}get enableZShape(){return this.tool.enableZShape}get enableZVertex(){return this.tool.enableZVertex}get enableMoveGraphic(){return this.tool.enableMoveGraphic}get enableMidpoints(){return this.tool.enableMidpoints}get enableEdgeOffset(){return this.tool.enableEdgeOffset}get _labelOptions(){return this.tool.labelOptions}get _tooltipOptions(){return this.tool.tooltipOptions}removeSelectedVertices(){const e=this._manipulatorInfos.filter((e=>e.manipulator.selected&&"vertex"===e.type));this._removeVertices(e)}onManipulatorSelectionChanged(){this.emit("manipulators-changed")}_removeManipulators(){this._manipulatorHandles.removeAll(),this._moveManipulation=s(this._moveManipulation),this._graphicMoveManipulation=s(this._graphicMoveManipulation),this.manipulators.removeAll(),this._manipulatorInfos=[],this._numGrabbing=0,this._numDragging=0}_createManipulators(e){if(null==this._editGeometryOperations)return;const t=H(this.graphic);for(const i of this._editGeometryOperations.data.components){const a=e?.byComponentIndex.get(i.index);for(const e of i.vertices){const i=a?.has(e.index);this._createVertexOrEdgeManipulator(e,t,i)}for(const e of i.edges)this._createVertexOrEdgeManipulator(e,t)}this._createGraphicMoveManipulation(),this._createMoveManipulation(t),this._createVisualElements()}get canRedo(){return null!=this._editGeometryOperations&&this._editGeometryOperations.canRedo}get canUndo(){return null!=this._editGeometryOperations&&this._editGeometryOperations.canUndo}redo(){if(null==this._editGeometryOperations)return null;const e=this._editGeometryOperations.redo();return null!=e&&(this.outputGeometry=this._editGeometryOperations.data.geometry,this._recreateManipulators()),e}undo(){if(null==this._editGeometryOperations)return null;this.emit("undo");const e=this._editGeometryOperations.undo();return null!=e&&(this.outputGeometry=this._editGeometryOperations.data.geometry,this._recreateManipulators()),e}_recreateManipulators(){this._recreatingManipulators||(this._recreatingManipulators=!0,this._removeManipulators(),this._tooltip.clear(),this._createManipulators(),this._recreatingManipulators=!1)}_recreateEditGeometryAndManipulators(e){const t={byComponentIndex:new Map};if(null!=e&&null!=this.inputGeometry&&I(e,this.inputGeometry))for(const a of this._manipulatorInfos)if("vertex"===a.type&&a.manipulator.selected){const{index:e,component:{index:i}}=a.handle,{byComponentIndex:n}=t,o=n.get(i)||new Set;o.add(e),n.set(i,o)}if(this._recreatingManipulators=!0,this._removeManipulators(),this._tooltip.clear(),this._editGeometryOperations=s(this._editGeometryOperations),this._segmentLabels=s(this._segmentLabels),null==e)return void(this._recreatingManipulators=!1);const i="mesh"===e.type?e.anchor:e;this._editGeometryOperations=fe.fromGeometry(i,this.view.state.viewingMode),this._createManipulators(t),this._segmentLabels=new C({context:{view:this.view,editGeometryOperations:this._editGeometryOperations,elevationInfo:H(this.graphic),labelOptions:this._labelOptions,graphic:this.graphic,graphicState:this._graphicState},visible:this._labelOptions.enabled}),this._recreatingManipulators=!1}_perGraphicManipulatorDragAction(e,t){if("end"===t.action)return t;let i=0;const a=[],n=this._manipulatorInfos.some((e=>"vertex"===e.type&&e.manipulator.selected)),o=e===Ze.SELECTED_OR_ALL&&n;for(const r of this._manipulatorInfos)"vertex"===r.type&&(r.manipulator.grabbing||o&&!r.manipulator.selected||a.push(r),i++);if(0===a.length)return t;this._moveVertices(a,t);if(a.length===i){if(this._updateEventState(Xe.MOVING),this.destroyed)return t;this.emit("move",{type:"move",dx:t.screenDeltaX,dy:t.screenDeltaY,mover:this.graphic})}else{if(this._updateEventState(Xe.RESHAPING),this.destroyed)return t;this.emit("reshape",{type:"reshape",mover:this.graphic})}return t}_isMultiVertexSelection(){return this._manipulatorInfos.reduce(((e,t)=>"vertex"===t.type&&t.manipulator.selected?e+1:e),0)>1}_perVertexManipulatorDragAction(e){if(this._updateEventState(Xe.RESHAPING),this.destroyed)return;const{mapDeltaX:t,mapDeltaY:i,mapDeltaZ:a}=e;if(!t&&!i&&!a)return;const n=[];for(const o of this._manipulatorInfos)"vertex"===o.type&&(o.manipulator.selected&&!o.manipulator.grabbing||o===e.info)&&n.push(o);this._moveVertices(n,e,ve.ACCUMULATE_STEPS),this.emit("reshape",{type:"reshape",mover:this.graphic})}_updateEventState(e){if(e===this._reshapeEventState)return!1;switch(e){case Xe.NONE:if(0!==this._numGrabbing||0!==this._numDragging)return!1;switch(this._reshapeEventState){case Xe.MOVING:this.emit("move",{type:"move-stop",dx:0,dy:0,mover:this.graphic});break;case Xe.RESHAPING:this.emit("reshape",{type:"reshape-stop",mover:this.graphic})}break;case Xe.MOVING:switch(this._reshapeEventState){case Xe.NONE:this.emit("move",{type:"move-start",dx:0,dy:0,mover:this.graphic});break;case Xe.RESHAPING:this.emit("reshape",{type:"reshape-stop",mover:this.graphic}),this.destroyed||this.emit("move",{type:"move-start",dx:0,dy:0,mover:this.graphic})}break;case Xe.RESHAPING:switch(this._reshapeEventState){case Xe.NONE:this.emit("reshape",{type:"reshape-start",mover:this.graphic});break;case Xe.MOVING:this.emit("move",{type:"move-stop",dx:0,dy:0,mover:this.graphic}),this.destroyed||this.emit("reshape",{type:"reshape-start",mover:this.graphic})}}if(this.destroyed)return!1;const t=this._reshapeEventState!==e;return this._reshapeEventState=e,t}_createGraphicMoveManipulation(){const{tool:e,view:t}=this,i=this._graphicState;if(this._graphicMoveManipulation=new ee({tool:e,view:t,graphicState:i}),this.enableMoveGraphic){let e=null;this._manipulatorHandles.add(this._graphicMoveManipulation.createDragPipeline(((t,i,a)=>{i.next((e=>this._trackNumDragging(e))).next((t=>("start"===t.action&&(e=this._editGeometryOperations.createUndoGroup()),t))).next((e=>this._perGraphicManipulatorDragAction(Ze.ALL,e))).next((e=>(this._updateTranslateGraphicTooltip(B.XY,e),e))).next((t=>{"end"===t.action&&(this._tooltip.clear(),e=l(e))})),a.next((()=>this._onDragCancel(!0,(()=>e=l(e)))))}))),this._graphicMoveManipulation.forEachManipulator((e=>this._manipulatorHandles.add(this._watchAndUpdateGrabState(e,!1))))}else this._graphicMoveManipulation.forEachManipulator((e=>{e.grabbable=!1,e.cursor=null}));this._graphicMoveManipulation.forEachManipulator((e=>this._manipulatorHandles.add(e.events.on("immediate-click",(e=>{this._manipulatorInfos.some((e=>e.manipulator.selected))?this._clearSelection():this.emit("immediate-click",{...e,graphic:this.graphic}),e.stopPropagation()})))))}_createMoveManipulation(e){const{graphic:t,handles:i,tool:a,view:n}=this,o=this._graphicState;this._moveManipulation=new J({tool:a,view:n,xyAvailable:!0,xyAxisAvailable:!0,zAvailable:this.enableZShape&&Y(t),snapToScene:!1,radius:J.radiusForSymbol(t.symbol)}),this._moveManipulation.forEachManipulator((e=>i.add([e.events.on("immediate-click",(i=>{this._moveManipulation.zManipulation.hasManipulator(e)||this._manipulatorInfos.some((e=>e.manipulator.selected))||this.emit("immediate-click",{...i,graphic:t}),i.stopPropagation()})),this._watchAndUpdateGrabState(e,!1)])));const r=e=>t=>{i.add(t.events.on("focus-changed",(({action:t})=>{"focus"===t&&this._tooltipOptions.enabled?this._updateTranslateTooltip(e):this._tooltip.clear()})))};this._moveManipulation.xyManipulation.forEachManipulator(r(B.XY)),this._moveManipulation.xyAxisManipulation.forEachManipulator(r(B.XY_AXIS)),this._moveManipulation.zManipulation.forEachManipulator(r(B.Z)),this._moveManipulation.elevationInfo={mode:"absolute-height",offset:0};const s=t.geometry.spatialReference;i.add([this._moveManipulation.createDragPipeline(((i,n,o,r,s)=>{const{snappingStep:l,cancelSnapping:p}=ye({predicate:e=>!!e.info,snappingManager:a.snappingManager,snappingContext:new Me({editGeometryOperations:this._editGeometryOperations,elevationInfo:e,pointer:s,excludeFeature:t,visualizer:new k}),updatingHandles:this.updatingHandles,useZ:!1});return r=r.next((e=>(this._onDragCancel(),e))).next(p),{steps:o=o.next((e=>this._trackNumDragging(e))).next((e=>{const t=this._manipulatorInfos.filter((e=>"vertex"===e.type&&e.manipulator.selected));return e.manipulatorType===Z.TRANSLATE_XY&&1===t.length?{...e,info:t[0],snapOrigin:t[0].handle.pos}:e})).next(he(this.view,e,t)).next(...l).next(de()).next((e=>this._perGraphicManipulatorDragAction(Ze.SELECTED_OR_ALL,e))).next((e=>(this._updateTranslateTooltip(i,e),e))),cancel:r}}),e,s,t),u((()=>o.displaying),(()=>this._updateMoveManipulationPosition()),m),o.on("changed",(()=>{this._recreatingManipulators||this._updateMoveManipulationPosition()})),u((()=>o.isDraped),(e=>{this._updateMoveManipulationPosition();const t="align-move-manipulation";e?i.add(this.view.elevationProvider.on("elevation-change",(()=>this._updateMoveManipulationPosition())),t):i.remove(t)}),m)])}_createVisualElements(){const{graphic:e,view:t}=this,i=W({view:t,graphic:e,forEachManipulator:e=>{if(!this.destroyed&&!this._recreatingManipulators){this._graphicMoveManipulation.forEachManipulator(e),this._moveManipulation.forEachManipulator(e);for(const t of this._manipulatorInfos)e(t.manipulator,Z.TRANSLATE_XY)}},onManipulatorsChanged:e=>this.on("manipulators-changed",e)});null!=i&&(this._outlineVisualElement=i.visualElement instanceof oe?i.visualElement:null),null!=this._outlineVisualElement&&this._manipulatorHandles.add(this._outlineVisualElement.events.on("attachment-origin-changed",(()=>{this._graphicState.isDraped||this._updateMoveManipulationPosition()}))),this._manipulatorHandles.add(i)}_createEdgeOffsetManipulator(e,t=H(this.graphic)){const i=q(this.view).manipulators.edgeOffset,a=i.size/2,n=a+i.collisionPadding,r=a/n,s=r*Math.sqrt(3)/2;null==this._edgeOffsetManipulatorGeometryInside&&(this._edgeOffsetManipulatorGeometryInside=se(this._edgeOffsetManipulatorMaterial,s,r/2,r/2,i.height,i.offset)),null==this._edgeOffsetManipulatorGeometryOutside&&(this._edgeOffsetManipulatorGeometryOutside=se(this._edgeOffsetManipulatorMaterial,-s,r/2,r/2,i.height,-i.offset));const l=[new N(this._edgeOffsetManipulatorGeometryInside.instantiate(),ge.Unfocused),new N(this._edgeOffsetManipulatorGeometryInside.instantiate({material:this._edgeOffsetManipulatorHoverMaterial}),ge.Focused),new N(this._edgeOffsetManipulatorGeometryOutside.instantiate(),ge.Unfocused),new N(this._edgeOffsetManipulatorGeometryOutside.instantiate({material:this._edgeOffsetManipulatorHoverMaterial}),ge.Focused)],p=new L({view:this.view,renderObjects:l,elevationInfo:"on-the-ground"!==t.mode||D(this.graphic.symbol)?{mode:"absolute-height",offset:0}:t,worldOriented:!1,focusMultiplier:1,radius:n,available:!(!this.graphic.visible||!this.graphic.layer?.visible),collisionType:{type:"disc",direction:G(0,0,1)},collisionPriority:1,metadata:{deleting:!1}}),h=new L({view:this.view,worldSized:!0,worldOriented:!1,available:!(!this.graphic.visible||!this.graphic.layer?.visible),collisionPriority:-10,cursor:this.enableMoveGraphic?"move":"default",metadata:{deleting:!1}}),d={manipulator:p,handle:e,locationUpdateHandle:null,type:"edge",selectedIndex:0,edgeManipulator:h,elevationInfo:t,visibilityHandle:null};this._autoHideEdgeOffsetManipulator(d,i.minSquaredEdgeLength),this._updateEdgeOffsetManipulator(d);const u=[];for(const o of[d.handle.leftVertex,d.handle.rightVertex]){const e=this._getManipulatorInfoFromHandle(o);null!=e&&u.push(e.manipulator.events.on("location-update",(()=>this._updateEdgeOffsetManipulator(d))))}d.locationUpdateHandle=o(u),this._manipulatorHandles.add(d.locationUpdateHandle,p),this._manipulatorHandles.add([this._watchAndUpdateGrabState(p,!0),this._watchAndUpdateGrabState(h,!0)],p),this._manipulatorHandles.add(ue(p,this._createEdgeOffsetPipeline(d,t)),p),this._manipulatorHandles.add(ue(h,((e,i,a,n)=>{if("touch"===n){this._createEdgeOffsetPipeline(d,t)(e,i,a)}else if(this.enableMoveGraphic){const n=this.graphic,o=null!=n.geometry?n.geometry.spatialReference:null;i.next((e=>this._trackNumDragging(e))).next(ce(this.view,e.elevationAlignedLocation)).next(z(this.view,e.elevationAlignedLocation,t,o,n)).next(me()).next(de()).next((e=>this._perGraphicManipulatorDragAction(Ze.ALL,e))).next((e=>(this._updateTranslateGraphicTooltip(B.XY,e),e))).next((e=>{"end"===e.action&&this._tooltip.clear()})),a.next((()=>this._onDragCancel(!e.metadata.deleting)))}})),p);const c=e=>{this._manipulatorInfos.some((e=>e.manipulator.selected))?this._clearSelection():this.emit("immediate-click",{...e,graphic:this.graphic}),e.stopPropagation()};return this._manipulatorHandles.add([p.events.on("immediate-click",c),h.events.on("immediate-click",c),p.events.on("focus-changed",(({action:e})=>{const t=this._tooltipOptions;if("focus"===e&&t.enabled){const e=this._tooltip.info=new xe({tooltipOptions:t});this._updateTooltipAreaOrTotalLength(e)}else this._tooltip.clear()}))],p),this._manipulatorInfos.push(d),this.manipulators.add(p),this.manipulators.add(h),this.emit("manipulators-changed"),d}_autoHideEdgeOffsetManipulator(e,t){const i=e.manipulator,a=e.edgeManipulator,n=()=>{e.visibilityHandle=l(e.visibilityHandle);const n=this._getManipulatorInfoFromHandle(e.handle.leftVertex),r=this._getManipulatorInfoFromHandle(e.handle.rightVertex),s=null!=n&&null!=r&&ne(n.manipulator.renderLocation,r.manipulator.renderLocation,this.view.state.camera)<t;(!i.focused&&!a.focused||s)&&(i.grabbable=!s,a.grabbable=!s,e.visibilityHandle=o([i.disableDisplay(),{remove:()=>{i.grabbable=!0,a.grabbable=this.enableMoveGraphic}}]))};this._manipulatorHandles.add([i.events.on("focus-changed",n),a.events.on("focus-changed",n),{remove:()=>{l(e.visibilityHandle),a.metadata.deleting=!0,this.manipulators.remove(a)}}],i),n()}_updateEdgeOffsetManipulator(e){this._updateManipulatorPosition(e);const{coordinateHelper:t}=this._editGeometryOperations.data,i=te(this.view,e.manipulator.elevationAlignedLocation,ie(t,e.handle,e.manipulator.elevationInfo)),a=this._getManipulatorInfoFromHandle(e.handle.leftVertex),n=this._getManipulatorInfoFromHandle(e.handle.rightVertex);if(null==a||null==n)return;const o=a.manipulator.renderLocation,r=n.manipulator.renderLocation,s=null!=i?ae(i,o,r):v;e.manipulator.modelTransform=s,e.edgeManipulator.elevationAlignedLocation=e.manipulator.elevationAlignedLocation,e.edgeManipulator.modelTransform=s;const l=M(y(Re,o,r))/2;e.edgeManipulator.collisionType={type:"line",paths:[[[-l,0,0],[l,0,0]]]}}_createEdgeOffsetPipeline(e,t){return(i,a,n)=>{this._clearSelection();const{step:o,cleanup:r}=this._initializeEdgeOffset(e,t);a.next((e=>this._trackNumDragging(e))).next(ce(this.view,i.elevationAlignedLocation)).next(o).next(R(this.view)).next(F(this.view,this._editGeometryOperations.data.spatialReference)).next(de()).next(this._applyComputeEdgeOffsetDistanceStep()).next(this._applyEdgeOffsetStep(e)).next(this._showEdgeOffsetTooltip()).next((e=>{"end"===e.action&&r()})),n.next((()=>{i.metadata.deleting||(r(),this._onDragCancel())}))}}_initializeEdgeOffset(e,t){const{view:i}=this,a=this._editGeometryOperations,n=ie(a.data.coordinateHelper,e.handle,t),s=a.createUndoGroup(),p=te(i,e.manipulator.elevationAlignedLocation,n);if(n.requiresSplitEdgeLeft){const t=this._getManipulatorInfoFromHandle(e.handle.leftVertex.leftEdge);null!=t&&this._splitEdgeManipulator(t,1)}if(n.requiresSplitEdgeRight){const t=this._getManipulatorInfoFromHandle(e.handle.rightVertex.rightEdge);null!=t&&this._splitEdgeManipulator(t,0)}const h=()=>new w({paths:[[e.handle.leftVertex.pos,e.handle.rightVertex.pos]],spatialReference:a.data.spatialReference}),d=q(i),c=new oe({view:i,isDraped:this._graphicState.isDraped,geometry:h(),elevationInfo:e.elevationInfo,width:d.visualElements.lineGraphics.outline.width,color:He(d.colors.accent),attached:!0});let m;const g=()=>{this._cleanEdgeOffsetCollapsedEdges(e),m=l(m)},_=this.on("undo",g);return m=o([r(c),u((()=>this._graphicState.isDraped),(e=>c.isDraped=e)),this._graphicState.on("changed",(()=>c.geometry=h())),s,_]),{step:e=>null==n||null==p?(g(),null):{...e,operation:n,plane:p},cleanup:g}}_applyEdgeOffsetStep(e){return t=>{if(this.destroyed||null==t.operation)return t;this._updateEventState(Xe.RESHAPING);const{mapDeltaX:i,mapDeltaY:a,mapDeltaZ:n}=t;return(i||a||n)&&(this._offsetEdge(e,t),this.emit("reshape",{type:"reshape",mover:this.graphic})),t}}_applyComputeEdgeOffsetDistanceStep(){return e=>{const{operation:t,mapEnd:i}=e;return null==t||null==i?e:("start"===e.action&&t.selectArrowFromStartPoint(i),{...e,signedDistance:t.signedDistanceToPoint(i)})}}_showEdgeOffsetTooltip(){return e=>{const{mapEnd:t,signedDistance:i,operation:a}=e,n=this._tooltip,o=this._tooltipOptions;if(!o.enabled||null==i)return n.clear(),e;let r=n.info;null!=r&&"reshape-edge-offset"===r.type||(r=n.info=new xe({tooltipOptions:o}));const{coordinateHelper:s}=this._editGeometryOperations.data;return r.distance="end"===e.action?p:Ce(this._graphicState.isDraped,i*a.selectedArrow,t,a.plane,s),this._updateTooltipAreaOrTotalLength(r),e}}_cleanEdgeOffsetCollapsedEdges(e){const t=e.handle.leftVertex.leftEdge?.leftVertex,i=e.handle.leftVertex,a=e.handle.rightVertex.rightEdge?.rightVertex,n=e.handle.rightVertex,o=this._editGeometryOperations.data.coordinateHelper,r=[];if(t&&o.distance(t.pos,i.pos)<Fe){const e=this._getManipulatorInfoFromHandle(i);null!=e&&r.push(e)}if(o.distance(i.pos,n.pos)<Fe||a&&o.distance(a.pos,n.pos)<Fe){const e=this._getManipulatorInfoFromHandle(n);null!=e&&r.push(e)}r.length&&this._removeVertices(r)}_computeVertexManipulatorSizeAndOutline(e){const t=e.size/2,i=t+e.collisionPadding;return{size:t/i,outlineSize:(t+e.outlineSize)/i}}_createVertexOrEdgeManipulator(e,t=H(this.graphic),i=!1){const{view:a}=this,n=q(a);if("edge"===e.type){if(this.enableEdgeOffset)return this._createEdgeOffsetManipulator(e,t);if(!this.enableMidpoints)return null}if(null==this._vertexManipulatorGeometry||null==this._vertexManipulatorOutlineGeometry){const{size:e,outlineSize:t}=this._computeVertexManipulatorSizeAndOutline(n.manipulators.vertex);this._vertexManipulatorGeometry=le(this._vertexManipulatorMaterial,e,16,16),this._vertexManipulatorOutlineGeometry=le(this._vertexManipulatorOutlineMaterial,t,16,16)}if(null==this._edgeManipulatorGeometry||null==this._edgeManipulatorOutlineGeometry){const{size:e,outlineSize:t}=this._computeVertexManipulatorSizeAndOutline(n.manipulators.edge);this._edgeManipulatorGeometry=le(this._edgeManipulatorMaterial,e,16,16),this._edgeManipulatorOutlineGeometry=le(this._edgeManipulatorOutlineMaterial,t,16,16)}const{geometry:r}=this.graphic,s=r?.type,p="point"===s||"mesh"===s?[]:[new N(this._vertexManipulatorGeometry.instantiate(),ze.Vertex|ge.Unselected),new N(this._vertexManipulatorOutlineGeometry.instantiate(),ze.Vertex|ge.Unfocused|ge.Unselected),new N(this._vertexManipulatorOutlineGeometry.instantiate({material:this._vertexManipulatorHoverOutlineMaterial}),ze.Vertex|ge.Focused|ge.Unselected),new N(this._vertexManipulatorGeometry.instantiate({material:this._selectedManipulatorMaterial}),ge.Selected),new N(this._vertexManipulatorOutlineGeometry.instantiate({material:this._selectedManipulatorOutlineMaterial}),ge.Selected|ge.Unfocused),new N(this._vertexManipulatorOutlineGeometry.instantiate({material:this._selectedManipulatorHoverOutlineMaterial}),ge.Selected|ge.Focused)];this.enableMidpoints&&p.push(new N(this._edgeManipulatorGeometry.instantiate({material:this._vertexManipulatorMaterial}),ze.Edge|ge.Focused|ge.Unselected),new N(this._edgeManipulatorOutlineGeometry.instantiate({material:this._vertexManipulatorHoverOutlineMaterial}),ze.Edge|ge.Focused|ge.Unselected),new N(this._edgeManipulatorGeometry.instantiate(),ze.Edge|ge.Unfocused|ge.Unselected),new N(this._edgeManipulatorOutlineGeometry.instantiate(),ze.Edge|ge.Unfocused|ge.Unselected));const h=new L({view:a,renderObjects:p,elevationInfo:t,focusMultiplier:1,touchMultiplier:1,available:!(!this.graphic.visible||!this.graphic.layer?.visible),metadata:{deleting:!1}});h.selected=i,this._setTypeSpecificManipulatorSettings(h,e,t);const d="edge"===e.type?{manipulator:h,handle:e,locationUpdateHandle:null,type:"edge",selectedIndex:0}:{manipulator:h,handle:e,type:"vertex",selectedIndex:0};if(this._manipulatorInfos.push(d),this.manipulators.add(h),this._updateManipulatorPosition(d),"edge"===d.type){const e=[];for(const t of[d.handle.leftVertex,d.handle.rightVertex]){const i=this._getManipulatorInfoFromHandle(t);null!=i&&e.push(i.manipulator.events.on("location-update",(()=>this._updateManipulatorPosition(d))))}d.locationUpdateHandle=o(e),this._manipulatorHandles.add(d.locationUpdateHandle,h)}this._manipulatorHandles.add(this._watchAndUpdateGrabState(h,!0),h);const u=ue(h,((e,i,a,n)=>{let o=null;const{snappingStep:r,cancelSnapping:s}=ye({predicate:()=>!this._isMultiVertexSelection(),snappingManager:this.tool.snappingManager,snappingContext:new Me({editGeometryOperations:this._editGeometryOperations,elevationInfo:t,pointer:n,excludeFeature:this.graphic,visualizer:new k}),updatingHandles:this.updatingHandles,useZ:!1});a=a.next((t=>(this._onDragCancel(!e.metadata.deleting,(()=>o=l(o))),t))).next(s),i.next((e=>this._trackNumDragging(e))).next((e=>{if("start"===e.action&&(o=this._editGeometryOperations.createUndoGroup()),"edge"===d.type){const t=this._splitEdgeManipulator(d);return{...e,info:t,snapOrigin:t.handle.pos}}return{...e,info:d,snapOrigin:d.handle.pos}})).next(ce(this.view,e.elevationAlignedLocation)).next(X(this.view,this.graphic,e.elevationAlignedLocation,e.location.spatialReference,this.graphic)).next(he(this.view,t,this.graphic)).next(...r).next(de()).next((t=>{this._perVertexManipulatorDragAction(t),"end"===t.action&&(o=l(o)),this._updateTranslateVertexTooltip(e,B.XY,t)}))}));return this._manipulatorHandles.add([u,h.events.on("immediate-click",(e=>this._manipulatorClickCallback(e,d))),h.events.on("select-changed",(()=>{d.selectedIndex=++this._selectedIndex,this._updateMoveManipulationPosition()})),h.events.on("focus-changed",(({action:e})=>{"focus"===e&&"edge"!==d.type?this._updateTranslateVertexTooltip(h,B.XY):this._tooltip.clear()}))],h),this.emit("manipulators-changed"),d}_trackNumDragging(e){switch(e.action){case"start":this._numDragging++;break;case"end":this._numDragging--}return e}_onDragCancel(e=!0,t){switch(this._numDragging--,e&&(this.undo(),this.outputGeometry=null!=this._editGeometryOperations?this._editGeometryOperations.data.geometry:null),null!=this.tool.snappingManager&&this.tool.snappingManager.doneSnapping(),this._tooltip.clear(),this._reshapeEventState){case Xe.NONE:break;case Xe.MOVING:this.emit("move",{type:"move",dx:0,dy:0,mover:this.graphic});break;case Xe.RESHAPING:this.emit("reshape",{type:"reshape",mover:this.graphic})}t&&t(),this.destroyed||this._updateEventState(Xe.NONE)}_setTypeSpecificManipulatorSettings(e,t,i){const{graphic:a,view:n}=this,o=q(n);switch(t.type){case"vertex":{e.state=ze.Vertex,e.selectable=!0,e.cursor="move",e.collisionPriority=2;const{size:t,collisionPadding:n}=o.manipulators.vertex;e.radius=t/2+n,e.elevationInfo=i;const{geometry:r}=a,s=r?.type;e.interactive=null!=s&&"point"!==s&&"mesh"!==s;break}case"edge":{e.state=ze.Edge,e.selectable=!1,e.cursor="copy",e.collisionPriority=-1;const{size:t,collisionPadding:n}=o.manipulators.edge;e.radius=t/2+n,e.elevationInfo="on-the-ground"!==i.mode||D(a.symbol)?{mode:"absolute-height",offset:0}:i;break}}}_watchAndUpdateGrabState(e,t){return e.events.on("grab-changed",(i=>this._onGrabStateChanged(e,t,i.action,i.pointerType)))}_onGrabStateChanged(e,t,i,a="mouse"){if(!this._recreatingManipulators){if("start"===i)t&&this._updateSelection(e),this._numGrabbing++;else if(this._numGrabbing--,this._updateEventState(Xe.NONE),this.destroyed)return;this._moveManipulation.interactive=!this._numGrabbing,("touch"!==a||this.enableEdgeOffset)&&(this._manipulatorInfos.forEach((e=>{const{manipulator:t}=e,{geometry:i}=this.graphic,a=i?.type;t.interactive=t.grabbing||!this._numGrabbing&&null!=a&&"point"!==a&&"mesh"!==a,"edgeManipulator"in e&&(e.edgeManipulator.interactive=e.edgeManipulator.grabbing||!this._numGrabbing)})),this._graphicMoveManipulation.forEachManipulator((e=>{e.interactive=e.grabbing||!this._numGrabbing})))}}_clearSelection(){for(const e of this._manipulatorInfos)e.manipulator.grabbing||(e.manipulator.selected=!1)}_updateSelection(e){e.grabbing&&!e.selected&&e.selectable&&(this._clearSelection(),e.selected=!0,this.emit("manipulators-changed"))}_removeManipulator(e){null!=e&&(e.manipulator.metadata.deleting=!0,this.manipulators.remove(e.manipulator),this._manipulatorHandles.remove(e.manipulator),t(this._manipulatorInfos,e),this.emit("manipulators-changed"))}_getManipulatorInfoFromHandle(e){if(e)for(const t of this._manipulatorInfos)if(e===t.handle)return t;return null}_updateManipulatorPosition(e){if(null==e)return;const t=this._editGeometryOperations;if("vertex"===e.type)e.manipulator.location=t.data.coordinateHelper.vectorToDehydratedPoint(e.handle.pos,ke),e.manipulator.grabbing&&null!=this._vertexLaserLineVisualElement&&(this._vertexLaserLineVisualElement.visualElement.intersectsWorldUpAtLocation=e.manipulator.renderLocation);else if("edge"===e.type){const i=this._getManipulatorInfoFromHandle(e.handle.leftVertex),a=this._getManipulatorInfoFromHandle(e.handle.rightVertex);if(null==i||null==a)return;const n=i.manipulator,o=a.manipulator;if(null!=e.manipulator.elevationInfo&&"on-the-ground"===e.manipulator.elevationInfo.mode){const i=n.location,a=o.location,r=.5,s=i.x+r*(a.x-i.x),l=i.y+r*(a.y-i.y),p=i.hasZ&&a.hasZ?0:void 0;e.manipulator.location=T(s,l,p,t.data.spatialReference)}else x(Re,n.renderLocation,o.renderLocation,.5),e.manipulator.renderLocation=Re}}_splitEdgeManipulator(e,t=.5){const i=this._editGeometryOperations,a=i.splitEdge(e.handle,t).createdVertex;e.locationUpdateHandle=l(e.locationUpdateHandle);const n=H(this.graphic);let o;this.enableEdgeOffset?(this._removeManipulator(e),o=this._createVertexOrEdgeManipulator(a)):(o=e,o.handle=a,o.type="vertex",this._setTypeSpecificManipulatorSettings(e.manipulator,e.handle,n)),a.leftEdge&&this._createVertexOrEdgeManipulator(a.leftEdge),a.rightEdge&&this._createVertexOrEdgeManipulator(a.rightEdge),this.outputGeometry=i.data.geometry,this._updateManipulatorPosition(o),this.enableEdgeOffset||this._updateTranslateVertexTooltip(o.manipulator,B.XY),this._updateSelection(e.manipulator);const r=this._updateEventState(Xe.RESHAPING),s=i.data.coordinateHelper.vectorToArray(o.handle.pos),p=i.data.components.indexOf(a.component);return this.emit("vertex-add",{type:"vertex-add",vertices:[{coordinates:s,componentIndex:p,vertexIndex:a.index}],added:s}),r&&this._updateEventState(Xe.NONE),o}_updateMoveManipulationPosition(){const e=O(Re,0,0,0);let t=0,i=!1,a=null,n=null;for(const o of this._manipulatorInfos)"vertex"===o.type&&(o.manipulator.selected?(t++,b(e,e,o.manipulator.renderLocation),null==a||o.selectedIndex>a.selectedIndex?(n=a,a=o):(null==n||o.selectedIndex>n.selectedIndex)&&(n=o)):i=!0);if(0===t){const e=this._graphicState.displaying&&this.enableMoveGraphic;this._moveManipulation.xyManipulation.available=e,this._moveManipulation.xyAxisManipulation.available=e,this._moveManipulation.xyAxisManipulation.orthogonalAvailable=e,this._moveManipulation.zManipulation.available=e&&this.enableZShape&&Y(this.graphic),this._moveManipulation.angle=Q(this.graphic.geometry),this._moveManipulation.radius=J.radiusForSymbol(this.graphic.symbol)}else{const e=this._graphicState.displaying;this._moveManipulation.xyManipulation.available=e,this._moveManipulation.xyAxisManipulation.available=e,this._moveManipulation.zManipulation.available=e&&this.enableZVertex&&Y(this.graphic),this._moveManipulation.xyAxisManipulation.orthogonalAvailable=e&&1!==t;let i=0;if(null!=a){const e=a.handle.pos,t=null!=n?n.handle.pos:a.handle.leftEdge&&a.handle.leftEdge.leftVertex?a.handle.leftEdge.leftVertex.pos:null,o=null==n&&a.handle.rightEdge&&a.handle.rightEdge.rightVertex?a.handle.rightEdge.rightVertex.pos:null;t&&o?this._moveManipulation.xyAxisManipulation.available=!1:t?i=Ne(t,e):o&&(i=Ne(e,o))}this._moveManipulation.angle=i,this._moveManipulation.radius=K}0!==t&&i?(E(e,e,1/t),ke.spatialReference=this._editGeometryOperations.data.spatialReference,ke.hasZ=!0,this.view.renderCoordsHelper.fromRenderCoords(e,ke),this._moveManipulation.elevationAlignedLocation=ke):null==this._outlineVisualElement||this._graphicState.isDraped||null==this._outlineVisualElement.attachmentOrigin?U(this.view,this._moveManipulation,this.graphic):this._moveManipulation.elevationAlignedLocation=this._outlineVisualElement.attachmentOrigin}_removeVertices(e){const t=new Array,i=this._editGeometryOperations;for(const a of e)if("vertex"===a.type&&i.canRemoveVertex()){t.push(a.handle),this._removeManipulator(a),this._removeManipulator(this._getManipulatorInfoFromHandle(a.handle.leftEdge)),this._removeManipulator(this._getManipulatorInfoFromHandle(a.handle.rightEdge));const e=i.removeVertices([a.handle]),n=e.removedVertices?.[0].createdEdge;n&&this._createVertexOrEdgeManipulator(n)}if(t.length>0){const e=t.map((e=>{const t=i.data.components.indexOf(e.component);return{coordinates:i.data.coordinateHelper.vectorToArray(e.pos),componentIndex:t,vertexIndex:e.index}}));this.outputGeometry=i.data.geometry;const a=this._updateEventState(Xe.RESHAPING);if(this.destroyed)return;if(this.emit("vertex-remove",{type:"vertex-remove",removed:e.map((e=>e.coordinates)),vertices:e}),this.destroyed)return;if(a&&(this._updateEventState(Xe.NONE),this.destroyed))return;this._updateMoveManipulationPosition()}}_moveVertices(e,t,i=("start"===t.action?ve.NEW_STEP:ve.ACCUMULATE_STEPS)){const a=this._editGeometryOperations;a.moveVertices(e.map((e=>e.handle)),t.mapDeltaX,t.mapDeltaY,t.mapDeltaZ,i),this.outputGeometry=a.data.geometry;for(const n of e)this._updateManipulatorPosition(n)}_offsetEdge(e,t){if(null==t.operation||null==t.signedDistance)return;const i=this._editGeometryOperations,a=t.operation.clone();a.distance=t.signedDistance,i.updateVertices([e.handle.leftVertex,e.handle.rightVertex],a),this.outputGeometry=i.data.geometry,this._updateManipulatorPosition(this._getManipulatorInfoFromHandle(e.handle.leftVertex)),this._updateManipulatorPosition(this._getManipulatorInfoFromHandle(e.handle.rightVertex))}_manipulatorClickCallback(e,t){e.shiftKey||this._clearSelection(),"vertex"===t.type&&(t.manipulator.selected=!t.manipulator.selected,e.button===pe.Right&&this._removeVertices([t])),"edge"===t.type&&e.button===pe.Left&&this._splitEdgeManipulator(t),e.stopPropagation()}_updateTranslateTooltip(e,t){const i=this._manipulatorInfos.filter((e=>"vertex"===e.type&&e.manipulator.selected));1===i.length?this._updateTranslateVertexTooltip(i[0].manipulator,e,t):this._updateTranslateGraphicTooltip(e,t)}_updateTranslateGraphicTooltip(e,t){const i=this._tooltipOptions;if(!i.enabled)return;const a=this._graphicState.isDraped?"on-the-ground":"absolute-height";switch(e){case B.XY:this._tooltip.info=new Ge({tooltipOptions:i}),this._updateTranslateTooltipDistance(this._tooltip.info,t,((e,t)=>Ae(e,t,a)));break;case B.XY_AXIS:this._tooltip.info=new Ee({tooltipOptions:i}),this._updateTranslateTooltipDistance(this._tooltip.info,t,((e,i)=>{const n=Ae(e,i,a);return h(n,$(t))}));break;case B.Z:this._tooltip.info=new be({tooltipOptions:i}),this._updateTranslateTooltipDistance(this._tooltip.info,t,De)}}_updateTranslateVertexTooltip(e,t,i){const a=this._tooltipOptions;if(!a.enabled)return;let n;const o=this._graphicState.isDraped?"on-the-ground":"absolute-height";switch(t){case B.XY:n=new Ie({tooltipOptions:a}),this._updateTranslateTooltipDistance(n,i,((e,t)=>Ae(e,t,o))),this._updateTooltipAreaOrTotalLength(n);break;case B.XY_AXIS:n=new we({tooltipOptions:a}),this._updateTranslateTooltipDistance(n,i,((e,t)=>{const a=Ae(e,t,o);return h(a,$(i))})),this._updateTooltipAreaOrTotalLength(n);break;case B.Z:n=new Se({tooltipOptions:a}),this._updateTranslateTooltipDistance(n,i,De)}const r=Le(e.elevationAlignedLocation);null!=r&&(n.elevation={mode:"absolute-height",...r}),this._tooltip.info=n}_updateTranslateTooltipDistance(e,t,i){if(null!=t&&"end"!==t.action){const{mapStart:a,mapEnd:n}=t,o=i(a,n);e.distance=null!=o?o:p}}_updateTooltipAreaOrTotalLength(e){const{geometry:t}=this.graphic;if(null==t)return;const i=this._graphicState.isDraped?"on-the-ground":"absolute-height";e.area="polygon"===t.type?Ve(t,i):null,e.totalLength="polyline"===t.type?Te(t,i):null}get test(){return{segmentLabels:this._segmentLabels,tooltip:this._tooltip}}};function Ne(e,t){return Math.atan2(t[1]-e[1],t[0]-e[0])+Math.PI/2}function Ce(e,t,i,a,n){if(e){const e=n.toXYZ(n.pointToVector(i)),o=V(a,e,A.get()),r=je(o,e,n.spatialReference);if(null!=r)return d(r.value*Math.sign(t),r.unit)}return d(t*g(i.spatialReference),"meters")}e([_()],Ue.prototype,"_editGeometryOperations",void 0),e([_()],Ue.prototype,"_segmentLabels",void 0),e([_({constructOnly:!0})],Ue.prototype,"tool",void 0),e([_()],Ue.prototype,"_tooltip",void 0),e([_()],Ue.prototype,"inputGeometry",null),e([_()],Ue.prototype,"outputGeometry",void 0),e([_({readOnly:!0})],Ue.prototype,"updating",null),e([_()],Ue.prototype,"manipulators",null),e([_()],Ue.prototype,"view",null),e([_()],Ue.prototype,"graphic",null),e([_()],Ue.prototype,"enableZShape",null),e([_()],Ue.prototype,"enableZVertex",null),e([_()],Ue.prototype,"enableMoveGraphic",null),e([_()],Ue.prototype,"enableMidpoints",null),e([_()],Ue.prototype,"enableEdgeOffset",null),e([_()],Ue.prototype,"_labelOptions",null),e([_()],Ue.prototype,"_tooltipOptions",null),Ue=e([f("esri.views.3d.interactive.editingTools.reshapeGraphic.ReshapeOperation")],Ue);const ke=T(0,0,void 0,Pe.WGS84),Re=S(),Fe=1e-6;var ze,Xe,Ze;!function(e){e.Vertex=_e.Custom1,e.Edge=_e.Custom2}(ze||(ze={})),function(e){e[e.NONE=0]="NONE",e[e.MOVING=1]="MOVING",e[e.RESHAPING=2]="RESHAPING"}(Xe||(Xe={})),function(e){e[e.ALL=0]="ALL",e[e.SELECTED_OR_ALL=1]="SELECTED_OR_ALL"}(Ze||(Ze={}));export{Ue as ReshapeOperation};
|
|
5
|
+
import{_ as e}from"../../../../../chunks/tslib.es6.js";import"../../../../../geometry.js";import t from"../../../../../core/Accessor.js";import{removeUnordered as i}from"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import a from"../../../../../core/Evented.js";import n from"../../../../../core/Handles.js";import{handlesGroup as o,makeHandle as r,destroyHandle as s}from"../../../../../core/handleUtils.js";import{destroyMaybe as l,removeMaybe as p}from"../../../../../core/maybe.js";import{zeroMeters as h,scale as d,createLength as u}from"../../../../../core/quantityUtils.js";import{watch as c,when as m,initial as g}from"../../../../../core/reactiveUtils.js";import{getMetersPerUnitForSR as _}from"../../../../../core/unitUtils.js";import{property as f}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import{subclass as v}from"../../../../../core/accessorSupport/decorators/subclass.js";import{I as M}from"../../../../../chunks/mat4f64.js";import{l as y,b as x,h as O,s as b,a as E,g as G}from"../../../../../chunks/vec3.js";import{f as S,c as w}from"../../../../../chunks/vec3f64.js";import{WatchUpdatingTracking as I}from"../../../../../core/support/WatchUpdatingTracking.js";import V from"../../../../../geometry/Polyline.js";import{hasCompatibleTopology as H}from"../../../../../geometry/support/coordsUtils.js";import{projectPoint as A}from"../../../../../geometry/support/plane.js";import{sv3d as T}from"../../../../../geometry/support/vectorStacks.js";import{makeDehydratedPoint as D}from"../../../../../layers/graphics/dehydratedFeatures.js";import{getGraphicEffectiveElevationInfo as L}from"../../../../../support/elevationInfoUtils.js";import{isVolumetricSymbol as j}from"../../../../../symbols/support/utils.js";import{Manipulator3D as P}from"../../Manipulator3D.js";import{createManipulatorMaterial as U,createManipulatorOutlineMaterial as N,placeAtGraphic as C}from"../../manipulatorUtils.js";import{RenderObject as k}from"../../RenderObject.js";import{SegmentLabels3D as R}from"../../SegmentLabels3D.js";import{SnappingVisualizer3D as F}from"../../SnappingVisualizer3D.js";import{screenToRenderPlaneFromEvent as z,convertToMapCoordinates as X,screenToMapXYAtLocation as Z,screenToMapXYForGraphicAtLocation as Y}from"../dragEventPipeline3D.js";import{ManipulatorType as q}from"../ManipulatorType.js";import{canMoveZ as W}from"../manipulatorUtils.js";import{getSettings as K}from"../settings.js";import{createVisualElements as B}from"../visualElementUtils.js";import{DISC_RADIUS_SMALL as J}from"../manipulations/config.js";import{ManipulationType as Q,MoveManipulation as $}from"../manipulations/MoveManipulation.js";import{shapeOrientation as ee,axisConstrainedDragSign as te}from"../manipulations/moveUtils.js";import{MoveXYGraphicManipulation as ie}from"../manipulations/MoveXYGraphicManipulation.js";import{createEdgeOffsetIntersectionPlane as ae,createEdgeOffsetOperation as ne,edgeOffsetRotationMatrix as oe,screenEdgeLengthSquared as re}from"./edgeOffsetUtils.js";import{OutlineVisualElement as se}from"../../visualElements/OutlineVisualElement.js";import{GraphicState as le}from"../../../layers/graphics/GraphicState.js";import{createExtrudedTriangle as pe,createSphereGeometry as he}from"../../../webgl-engine/lib/GeometryUtil.js";import{MouseButton as de}from"../../../../input/IViewEvents.js";import{sceneSnappingAtLocation as ue,addMapDelta as ce,createManipulatorDragEventPipeline as me,dragAtLocation as ge,addScreenDelta as _e}from"../../../../interactive/dragEventPipeline.js";import{ManipulatorStateFlags as fe,ManipulatorStateCustomFlags as ve}from"../../../../interactive/interfaces.js";import{EditGeometryOperations as Me}from"../../../../interactive/editGeometry/EditGeometryOperations.js";import{AccumulationBehaviour as ye}from"../../../../interactive/editGeometry/interfaces.js";import{SnappingContext as xe}from"../../../../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as Oe}from"../../../../interactive/snapping/SnappingDragPipelineStep.js";import{ReshapeEdgeOffsetTooltipInfo as be}from"../../../../interactive/tooltip/ReshapeTooltipInfos.js";import{Tooltip as Ee}from"../../../../interactive/tooltip/Tooltip.js";import{TranslateGraphicZTooltipInfo as Ge,TranslateGraphicXYTooltipInfo as Se,TranslateGraphicTooltipInfo as we,TranslateVertexZTooltipInfo as Ie,TranslateVertexXYTooltipInfo as Ve,TranslateVertexTooltipInfo as He}from"../../../../interactive/tooltip/TranslateTooltipInfos.js";import{autoAreaByElevationMode as Ae}from"../../../../support/automaticAreaMeasurementUtils.js";import{autoHorizontalDistanceByElevationModeBetweenPoints as Te,autoLengthByElevationMode as De}from"../../../../support/automaticLengthMeasurementUtils.js";import{unitRGBAFromColor as Le}from"../../../../support/colorUtils.js";import{verticalSignedDistanceBetweenPoints as je,elevationOfPoint as Pe}from"../../../../support/euclideanLengthMeasurementUtils.js";import{geodesicDistance as Ue}from"../../../../support/geodesicLengthMeasurementUtils.js";import Ne from"../../../../../geometry/SpatialReference.js";let Ce=class extends(a.EventedMixin(t)){constructor(e){super(e),this._selectedIndex=0,this._manipulatorHandles=new n,this._manipulatorInfos=[],this._numGrabbing=0,this._numDragging=0,this._reshapeEventState=Ye.NONE,this._updatingHandles=new I,this._recreatingManipulators=!1,this.outputGeometry=null,this._vertexLaserLineVisualElement=null;const t=K(e.tool.view).manipulators,i=t.vertex;this._vertexManipulatorMaterial=U(Le(i.color),i.renderOccluded),this._vertexManipulatorOutlineMaterial=N(Le(i.outlineColor),i.renderOccluded),this._vertexManipulatorHoverOutlineMaterial=N(Le(i.hoverOutlineColor),i.renderOccluded);const a=t.edge;this._edgeManipulatorMaterial=U(Le(a.color),a.renderOccluded),this._edgeManipulatorOutlineMaterial=N(Le(a.outlineColor),a.renderOccluded);const o=t.edgeOffset;this._edgeOffsetManipulatorMaterial=U(Le(o.color),o.renderOccluded,!1),this._edgeOffsetManipulatorHoverMaterial=U(Le(o.hoverColor),o.renderOccluded,!1);const r=t.selected;this._selectedManipulatorMaterial=U(Le(r.color),r.renderOccluded),this._selectedManipulatorOutlineMaterial=N(Le(r.outlineColor),r.renderOccluded),this._selectedManipulatorHoverOutlineMaterial=N(Le(r.hoverOutlineColor),r.renderOccluded)}initialize(){const{graphic:e,view:t}=this,i=this._graphicState=new le({graphic:e});this._tooltip=new Ee({view:t}),this.addHandles([c((()=>i.displaying),(e=>{for(const t of this._manipulatorInfos)t.manipulator.available=e})),c((()=>({labels:this._segmentLabels,enabled:this._labelOptions.enabled,edgeOffsetEnabled:this.enableEdgeOffset})),(({labels:e,enabled:t,edgeOffsetEnabled:i})=>{null!=e&&(e.visible=t,e.edgeDistance=i?"far":"default")}),g),m((()=>!this._tooltipOptions.enabled),(()=>this._tooltip.clear()),g),this.view.trackGraphicState(i)])}destroy(){this._segmentLabels=l(this._segmentLabels),this._tooltip=l(this._tooltip),this._removeManipulators(),this._updatingHandles.destroy()}get inputGeometry(){return null!=this._editGeometryOperations?this._editGeometryOperations.data.geometry:null}set inputGeometry(e){this._recreateEditGeometryAndManipulators(e)}get updating(){return this._updatingHandles.updating}get manipulators(){return this.tool.manipulators}get view(){return this.tool.view}get graphic(){return this.tool.graphic}get enableZShape(){return this.tool.enableZShape}get enableZVertex(){return this.tool.enableZVertex}get enableMoveGraphic(){return this.tool.enableMoveGraphic}get enableMidpoints(){return this.tool.enableMidpoints}get enableEdgeOffset(){return this.tool.enableEdgeOffset}get _labelOptions(){return this.tool.labelOptions}get _tooltipOptions(){return this.tool.tooltipOptions}removeSelectedVertices(){const e=this._manipulatorInfos.filter((e=>e.manipulator.selected&&"vertex"===e.type));this._removeVertices(e)}onManipulatorSelectionChanged(){this.emit("manipulators-changed")}_removeManipulators(){this._manipulatorHandles.removeAll(),this._moveManipulation=l(this._moveManipulation),this._graphicMoveManipulation=l(this._graphicMoveManipulation),this.manipulators.removeAll(),this._manipulatorInfos=[],this._numGrabbing=0,this._numDragging=0}_createManipulators(e){if(null==this._editGeometryOperations)return;const t=L(this.graphic);for(const i of this._editGeometryOperations.data.components){const a=e?.byComponentIndex.get(i.index);for(const e of i.vertices){const i=a?.has(e.index);this._createVertexOrEdgeManipulator(e,t,i)}for(const e of i.edges)this._createVertexOrEdgeManipulator(e,t)}this._createGraphicMoveManipulation(),this._createMoveManipulation(t),this._createVisualElements()}get canRedo(){return null!=this._editGeometryOperations&&this._editGeometryOperations.canRedo}get canUndo(){return null!=this._editGeometryOperations&&this._editGeometryOperations.canUndo}redo(){if(null==this._editGeometryOperations)return null;const e=this._editGeometryOperations.redo();return null!=e&&(this.outputGeometry=this._editGeometryOperations.data.geometry,this._recreateManipulators()),e}undo(){if(null==this._editGeometryOperations)return null;this.emit("undo");const e=this._editGeometryOperations.undo();return null!=e&&(this.outputGeometry=this._editGeometryOperations.data.geometry,this._recreateManipulators()),e}_recreateManipulators(){this._recreatingManipulators||(this._recreatingManipulators=!0,this._removeManipulators(),this._tooltip.clear(),this._createManipulators(),this._recreatingManipulators=!1)}_recreateEditGeometryAndManipulators(e){const t={byComponentIndex:new Map};if(null!=e&&null!=this.inputGeometry&&H(e,this.inputGeometry))for(const a of this._manipulatorInfos)if("vertex"===a.type&&a.manipulator.selected){const{index:e,component:{index:i}}=a.handle,{byComponentIndex:n}=t,o=n.get(i)||new Set;o.add(e),n.set(i,o)}if(this._recreatingManipulators=!0,this._removeManipulators(),this._tooltip.clear(),this._editGeometryOperations=l(this._editGeometryOperations),this._segmentLabels=l(this._segmentLabels),null==e)return void(this._recreatingManipulators=!1);const i="mesh"===e.type?e.anchor:e;this._editGeometryOperations=Me.fromGeometry(i,this.view.state.viewingMode),this._createManipulators(t),this._segmentLabels=new R({context:{view:this.view,editGeometryOperations:this._editGeometryOperations,elevationInfo:L(this.graphic),labelOptions:this._labelOptions,graphic:this.graphic,graphicState:this._graphicState},visible:this._labelOptions.enabled}),this._recreatingManipulators=!1}_perGraphicManipulatorDragAction(e,t){if("end"===t.action)return t;let i=0;const a=[],n=this._manipulatorInfos.some((e=>"vertex"===e.type&&e.manipulator.selected)),o=e===qe.SELECTED_OR_ALL&&n;for(const r of this._manipulatorInfos)"vertex"===r.type&&(r.manipulator.grabbing||o&&!r.manipulator.selected||a.push(r),i++);if(0===a.length)return t;this._moveVertices(a,t);if(a.length===i){if(this._updateEventState(Ye.MOVING),this.destroyed)return t;this.emit("move",{type:"move",dx:t.screenDeltaX,dy:t.screenDeltaY,mover:this.graphic})}else{if(this._updateEventState(Ye.RESHAPING),this.destroyed)return t;this.emit("reshape",{type:"reshape",mover:this.graphic})}return t}_isMultiVertexSelection(){return this._manipulatorInfos.reduce(((e,t)=>"vertex"===t.type&&t.manipulator.selected?e+1:e),0)>1}_perVertexManipulatorDragAction(e){if(this._updateEventState(Ye.RESHAPING),this.destroyed)return;const{mapDeltaX:t,mapDeltaY:i,mapDeltaZ:a}=e;if(!t&&!i&&!a)return;const n=[];for(const o of this._manipulatorInfos)"vertex"===o.type&&(o.manipulator.selected&&!o.manipulator.grabbing||o===e.info)&&n.push(o);this._moveVertices(n,e,ye.ACCUMULATE_STEPS),this.emit("reshape",{type:"reshape",mover:this.graphic})}_updateEventState(e){if(e===this._reshapeEventState)return!1;switch(e){case Ye.NONE:if(0!==this._numGrabbing||0!==this._numDragging)return!1;switch(this._reshapeEventState){case Ye.MOVING:this.emit("move",{type:"move-stop",dx:0,dy:0,mover:this.graphic});break;case Ye.RESHAPING:this.emit("reshape",{type:"reshape-stop",mover:this.graphic})}break;case Ye.MOVING:switch(this._reshapeEventState){case Ye.NONE:this.emit("move",{type:"move-start",dx:0,dy:0,mover:this.graphic});break;case Ye.RESHAPING:this.emit("reshape",{type:"reshape-stop",mover:this.graphic}),this.destroyed||this.emit("move",{type:"move-start",dx:0,dy:0,mover:this.graphic})}break;case Ye.RESHAPING:switch(this._reshapeEventState){case Ye.NONE:this.emit("reshape",{type:"reshape-start",mover:this.graphic});break;case Ye.MOVING:this.emit("move",{type:"move-stop",dx:0,dy:0,mover:this.graphic}),this.destroyed||this.emit("reshape",{type:"reshape-start",mover:this.graphic})}}if(this.destroyed)return!1;const t=this._reshapeEventState!==e;return this._reshapeEventState=e,t}_createGraphicMoveManipulation(){const{tool:e,view:t}=this,i=this._graphicState;if(this._graphicMoveManipulation=new ie({tool:e,view:t,graphicState:i}),this.enableMoveGraphic){let e=null;this._manipulatorHandles.add(this._graphicMoveManipulation.createDragPipeline(((t,i,a)=>{i.next((e=>this._trackNumDragging(e))).next((t=>("start"===t.action&&(e=this._editGeometryOperations.createUndoGroup()),t))).next((e=>this._perGraphicManipulatorDragAction(qe.ALL,e))).next((e=>(this._updateTranslateGraphicTooltip(Q.XY,e),e))).next((t=>{"end"===t.action&&(this._tooltip.clear(),e=p(e))})),a.next((()=>this._onDragCancel(!0,(()=>e=p(e)))))}))),this._graphicMoveManipulation.forEachManipulator((e=>this._manipulatorHandles.add(this._watchAndUpdateGrabState(e,!1))))}else this._graphicMoveManipulation.forEachManipulator((e=>{e.grabbable=!1,e.cursor=null}));this._graphicMoveManipulation.forEachManipulator((e=>this._manipulatorHandles.add(e.events.on("immediate-click",(e=>{this._manipulatorInfos.some((e=>e.manipulator.selected))?this._clearSelection():this.emit("immediate-click",{...e,graphic:this.graphic}),e.stopPropagation()})))))}_createMoveManipulation(e){const{graphic:t,tool:i,view:a}=this,n=this._graphicState;this._moveManipulation=new $({tool:i,view:a,xyAvailable:!0,xyAxisAvailable:!0,zAvailable:this.enableZShape&&W(t),snapToScene:!1,radius:$.radiusForSymbol(t.symbol)}),this._moveManipulation.forEachManipulator((e=>this.addHandles([e.events.on("immediate-click",(i=>{this._moveManipulation.zManipulation.hasManipulator(e)||this._manipulatorInfos.some((e=>e.manipulator.selected))||this.emit("immediate-click",{...i,graphic:t}),i.stopPropagation()})),this._watchAndUpdateGrabState(e,!1)])));const o=e=>t=>{this.addHandles(t.events.on("focus-changed",(({action:t})=>{"focus"===t&&this._tooltipOptions.enabled?this._updateTranslateTooltip(e):this._tooltip.clear()})))};this._moveManipulation.xyManipulation.forEachManipulator(o(Q.XY)),this._moveManipulation.xyAxisManipulation.forEachManipulator(o(Q.XY_AXIS)),this._moveManipulation.zManipulation.forEachManipulator(o(Q.Z)),this._moveManipulation.elevationInfo={mode:"absolute-height",offset:0};const r=t.geometry.spatialReference;this.addHandles([this._moveManipulation.createDragPipeline(((a,n,o,r,s)=>{const{snappingStep:l,cancelSnapping:p}=Oe({predicate:e=>!!e.info,snappingManager:i.snappingManager,snappingContext:new xe({editGeometryOperations:this._editGeometryOperations,elevationInfo:e,pointer:s,excludeFeature:t,visualizer:new F}),updatingHandles:this._updatingHandles,useZ:!1});return r=r.next((e=>(this._onDragCancel(),e))).next(p),{steps:o=o.next((e=>this._trackNumDragging(e))).next((e=>{const t=this._manipulatorInfos.filter((e=>"vertex"===e.type&&e.manipulator.selected));return e.manipulatorType===q.TRANSLATE_XY&&1===t.length?{...e,info:t[0],snapOrigin:t[0].handle.pos}:e})).next(ue(this.view,e,t)).next(...l).next(ce()).next((e=>this._perGraphicManipulatorDragAction(qe.SELECTED_OR_ALL,e))).next((e=>(this._updateTranslateTooltip(a,e),e))),cancel:r}}),e,r,t),c((()=>n.displaying),(()=>this._updateMoveManipulationPosition()),g),n.on("changed",(()=>{this._recreatingManipulators||this._updateMoveManipulationPosition()})),c((()=>n.isDraped),(e=>{this._updateMoveManipulationPosition();const t="align-move-manipulation";e?this.addHandles(this.view.elevationProvider.on("elevation-change",(()=>this._updateMoveManipulationPosition())),t):this.removeHandles(t)}),g)])}_createVisualElements(){const{graphic:e,view:t}=this,i=B({view:t,graphic:e,forEachManipulator:e=>{if(!this.destroyed&&!this._recreatingManipulators){this._graphicMoveManipulation.forEachManipulator(e),this._moveManipulation.forEachManipulator(e);for(const t of this._manipulatorInfos)e(t.manipulator,q.TRANSLATE_XY)}},onManipulatorsChanged:e=>this.on("manipulators-changed",e)});null!=i&&(this._outlineVisualElement=i.visualElement instanceof se?i.visualElement:null),null!=this._outlineVisualElement&&this._manipulatorHandles.add(this._outlineVisualElement.events.on("attachment-origin-changed",(()=>{this._graphicState.isDraped||this._updateMoveManipulationPosition()}))),this._manipulatorHandles.add(i)}_createEdgeOffsetManipulator(e,t=L(this.graphic)){const i=K(this.view).manipulators.edgeOffset,a=i.size/2,n=a+i.collisionPadding,r=a/n,s=r*Math.sqrt(3)/2;null==this._edgeOffsetManipulatorGeometryInside&&(this._edgeOffsetManipulatorGeometryInside=pe(this._edgeOffsetManipulatorMaterial,s,r/2,r/2,i.height,i.offset)),null==this._edgeOffsetManipulatorGeometryOutside&&(this._edgeOffsetManipulatorGeometryOutside=pe(this._edgeOffsetManipulatorMaterial,-s,r/2,r/2,i.height,-i.offset));const l=[new k(this._edgeOffsetManipulatorGeometryInside.instantiate(),fe.Unfocused),new k(this._edgeOffsetManipulatorGeometryInside.instantiate({material:this._edgeOffsetManipulatorHoverMaterial}),fe.Focused),new k(this._edgeOffsetManipulatorGeometryOutside.instantiate(),fe.Unfocused),new k(this._edgeOffsetManipulatorGeometryOutside.instantiate({material:this._edgeOffsetManipulatorHoverMaterial}),fe.Focused)],p=new P({view:this.view,renderObjects:l,elevationInfo:"on-the-ground"!==t.mode||j(this.graphic.symbol)?{mode:"absolute-height",offset:0}:t,worldOriented:!1,focusMultiplier:1,radius:n,available:!(!this.graphic.visible||!this.graphic.layer?.visible),collisionType:{type:"disc",direction:S(0,0,1)},collisionPriority:1,metadata:{deleting:!1}}),h=new P({view:this.view,worldSized:!0,worldOriented:!1,available:!(!this.graphic.visible||!this.graphic.layer?.visible),collisionPriority:-10,cursor:this.enableMoveGraphic?"move":"default",metadata:{deleting:!1}}),d={manipulator:p,handle:e,locationUpdateHandle:null,type:"edge",selectedIndex:0,edgeManipulator:h,elevationInfo:t,visibilityHandle:null};this._autoHideEdgeOffsetManipulator(d,i.minSquaredEdgeLength),this._updateEdgeOffsetManipulator(d);const u=[];for(const o of[d.handle.leftVertex,d.handle.rightVertex]){const e=this._getManipulatorInfoFromHandle(o);null!=e&&u.push(e.manipulator.events.on("location-update",(()=>this._updateEdgeOffsetManipulator(d))))}d.locationUpdateHandle=o(u),this._manipulatorHandles.add(d.locationUpdateHandle,p),this._manipulatorHandles.add([this._watchAndUpdateGrabState(p,!0),this._watchAndUpdateGrabState(h,!0)],p),this._manipulatorHandles.add(me(p,this._createEdgeOffsetPipeline(d,t)),p),this._manipulatorHandles.add(me(h,((e,i,a,n)=>{if("touch"===n){this._createEdgeOffsetPipeline(d,t)(e,i,a)}else if(this.enableMoveGraphic){const n=this.graphic,o=null!=n.geometry?n.geometry.spatialReference:null;i.next((e=>this._trackNumDragging(e))).next(ge(this.view,e.elevationAlignedLocation)).next(Z(this.view,e.elevationAlignedLocation,t,o,n)).next(_e()).next(ce()).next((e=>this._perGraphicManipulatorDragAction(qe.ALL,e))).next((e=>(this._updateTranslateGraphicTooltip(Q.XY,e),e))).next((e=>{"end"===e.action&&this._tooltip.clear()})),a.next((()=>this._onDragCancel(!e.metadata.deleting)))}})),p);const c=e=>{this._manipulatorInfos.some((e=>e.manipulator.selected))?this._clearSelection():this.emit("immediate-click",{...e,graphic:this.graphic}),e.stopPropagation()};return this._manipulatorHandles.add([p.events.on("immediate-click",c),h.events.on("immediate-click",c),p.events.on("focus-changed",(({action:e})=>{const t=this._tooltipOptions;if("focus"===e&&t.enabled){const e=this._tooltip.info=new be({tooltipOptions:t});this._updateTooltipAreaOrTotalLength(e)}else this._tooltip.clear()}))],p),this._manipulatorInfos.push(d),this.manipulators.add(p),this.manipulators.add(h),this.emit("manipulators-changed"),d}_autoHideEdgeOffsetManipulator(e,t){const i=e.manipulator,a=e.edgeManipulator,n=()=>{e.visibilityHandle=p(e.visibilityHandle);const n=this._getManipulatorInfoFromHandle(e.handle.leftVertex),s=this._getManipulatorInfoFromHandle(e.handle.rightVertex),l=null!=n&&null!=s&&re(n.manipulator.renderLocation,s.manipulator.renderLocation,this.view.state.camera)<t;(!i.focused&&!a.focused||l)&&(i.grabbable=!l,a.grabbable=!l,e.visibilityHandle=o([i.disableDisplay(),r((()=>{i.grabbable=!0,a.grabbable=this.enableMoveGraphic}))]))};this._manipulatorHandles.add([i.events.on("focus-changed",n),a.events.on("focus-changed",n),r((()=>{p(e.visibilityHandle),a.metadata.deleting=!0,this.manipulators.remove(a)}))],i),n()}_updateEdgeOffsetManipulator(e){this._updateManipulatorPosition(e);const{coordinateHelper:t}=this._editGeometryOperations.data,i=ae(this.view,e.manipulator.elevationAlignedLocation,ne(t,e.handle,e.manipulator.elevationInfo)),a=this._getManipulatorInfoFromHandle(e.handle.leftVertex),n=this._getManipulatorInfoFromHandle(e.handle.rightVertex);if(null==a||null==n)return;const o=a.manipulator.renderLocation,r=n.manipulator.renderLocation,s=null!=i?oe(i,o,r):M;e.manipulator.modelTransform=s,e.edgeManipulator.elevationAlignedLocation=e.manipulator.elevationAlignedLocation,e.edgeManipulator.modelTransform=s;const l=y(x(ze,o,r))/2;e.edgeManipulator.collisionType={type:"line",paths:[[[-l,0,0],[l,0,0]]]}}_createEdgeOffsetPipeline(e,t){return(i,a,n)=>{this._clearSelection();const{step:o,cleanup:r}=this._initializeEdgeOffset(e,t);a.next((e=>this._trackNumDragging(e))).next(ge(this.view,i.elevationAlignedLocation)).next(o).next(z(this.view)).next(X(this.view,this._editGeometryOperations.data.spatialReference)).next(ce()).next(this._applyComputeEdgeOffsetDistanceStep()).next(this._applyEdgeOffsetStep(e)).next(this._showEdgeOffsetTooltip()).next((e=>{"end"===e.action&&r()})),n.next((()=>{i.metadata.deleting||(r(),this._onDragCancel())}))}}_initializeEdgeOffset(e,t){const{view:i}=this,a=this._editGeometryOperations,n=ne(a.data.coordinateHelper,e.handle,t),r=a.createUndoGroup(),l=ae(i,e.manipulator.elevationAlignedLocation,n);if(n.requiresSplitEdgeLeft){const t=this._getManipulatorInfoFromHandle(e.handle.leftVertex.leftEdge);null!=t&&this._splitEdgeManipulator(t,1)}if(n.requiresSplitEdgeRight){const t=this._getManipulatorInfoFromHandle(e.handle.rightVertex.rightEdge);null!=t&&this._splitEdgeManipulator(t,0)}const h=()=>new V({paths:[[e.handle.leftVertex.pos,e.handle.rightVertex.pos]],spatialReference:a.data.spatialReference}),d=K(i),u=new se({view:i,isDraped:this._graphicState.isDraped,geometry:h(),elevationInfo:e.elevationInfo,width:d.visualElements.lineGraphics.outline.width,color:Le(d.colors.accent),attached:!0,isDecoration:!0});let m;const g=()=>{this._cleanEdgeOffsetCollapsedEdges(e),m=p(m)},_=this.on("undo",g);return m=o([s(u),c((()=>this._graphicState.isDraped),(e=>u.isDraped=e)),this._graphicState.on("changed",(()=>u.geometry=h())),r,_]),{step:e=>null==n||null==l?(g(),null):{...e,operation:n,plane:l},cleanup:g}}_applyEdgeOffsetStep(e){return t=>{if(this.destroyed||null==t.operation)return t;this._updateEventState(Ye.RESHAPING);const{mapDeltaX:i,mapDeltaY:a,mapDeltaZ:n}=t;return(i||a||n)&&(this._offsetEdge(e,t),this.emit("reshape",{type:"reshape",mover:this.graphic})),t}}_applyComputeEdgeOffsetDistanceStep(){return e=>{const{operation:t,mapEnd:i}=e;return null==t||null==i?e:("start"===e.action&&t.selectArrowFromStartPoint(i),{...e,signedDistance:t.signedDistanceToPoint(i)})}}_showEdgeOffsetTooltip(){return e=>{const{mapEnd:t,signedDistance:i,operation:a}=e,n=this._tooltip,o=this._tooltipOptions;if(!o.enabled||null==i)return n.clear(),e;let r=n.info;null!=r&&"reshape-edge-offset"===r.type||(r=n.info=new be({tooltipOptions:o}));const{coordinateHelper:s}=this._editGeometryOperations.data;return r.distance="end"===e.action?h:Re(this._graphicState.isDraped,i*a.selectedArrow,t,a.plane,s),this._updateTooltipAreaOrTotalLength(r),e}}_cleanEdgeOffsetCollapsedEdges(e){const t=e.handle.leftVertex.leftEdge?.leftVertex,i=e.handle.leftVertex,a=e.handle.rightVertex.rightEdge?.rightVertex,n=e.handle.rightVertex,o=this._editGeometryOperations.data.coordinateHelper,r=[];if(t&&o.distance(t.pos,i.pos)<Xe){const e=this._getManipulatorInfoFromHandle(i);null!=e&&r.push(e)}if(o.distance(i.pos,n.pos)<Xe||a&&o.distance(a.pos,n.pos)<Xe){const e=this._getManipulatorInfoFromHandle(n);null!=e&&r.push(e)}r.length&&this._removeVertices(r)}_computeVertexManipulatorSizeAndOutline(e){const t=e.size/2,i=t+e.collisionPadding;return{size:t/i,outlineSize:(t+e.outlineSize)/i}}_createVertexOrEdgeManipulator(e,t=L(this.graphic),i=!1){const{view:a}=this,n=K(a);if("edge"===e.type){if(this.enableEdgeOffset)return this._createEdgeOffsetManipulator(e,t);if(!this.enableMidpoints)return null}if(null==this._vertexManipulatorGeometry||null==this._vertexManipulatorOutlineGeometry){const{size:e,outlineSize:t}=this._computeVertexManipulatorSizeAndOutline(n.manipulators.vertex);this._vertexManipulatorGeometry=he(this._vertexManipulatorMaterial,e,16,16),this._vertexManipulatorOutlineGeometry=he(this._vertexManipulatorOutlineMaterial,t,16,16)}if(null==this._edgeManipulatorGeometry||null==this._edgeManipulatorOutlineGeometry){const{size:e,outlineSize:t}=this._computeVertexManipulatorSizeAndOutline(n.manipulators.edge);this._edgeManipulatorGeometry=he(this._edgeManipulatorMaterial,e,16,16),this._edgeManipulatorOutlineGeometry=he(this._edgeManipulatorOutlineMaterial,t,16,16)}const{geometry:r}=this.graphic,s=r?.type,l="point"===s||"mesh"===s?[]:[new k(this._vertexManipulatorGeometry.instantiate(),Ze.Vertex|fe.Unselected),new k(this._vertexManipulatorOutlineGeometry.instantiate(),Ze.Vertex|fe.Unfocused|fe.Unselected),new k(this._vertexManipulatorOutlineGeometry.instantiate({material:this._vertexManipulatorHoverOutlineMaterial}),Ze.Vertex|fe.Focused|fe.Unselected),new k(this._vertexManipulatorGeometry.instantiate({material:this._selectedManipulatorMaterial}),fe.Selected),new k(this._vertexManipulatorOutlineGeometry.instantiate({material:this._selectedManipulatorOutlineMaterial}),fe.Selected|fe.Unfocused),new k(this._vertexManipulatorOutlineGeometry.instantiate({material:this._selectedManipulatorHoverOutlineMaterial}),fe.Selected|fe.Focused)];this.enableMidpoints&&l.push(new k(this._edgeManipulatorGeometry.instantiate({material:this._vertexManipulatorMaterial}),Ze.Edge|fe.Focused|fe.Unselected),new k(this._edgeManipulatorOutlineGeometry.instantiate({material:this._vertexManipulatorHoverOutlineMaterial}),Ze.Edge|fe.Focused|fe.Unselected),new k(this._edgeManipulatorGeometry.instantiate(),Ze.Edge|fe.Unfocused|fe.Unselected),new k(this._edgeManipulatorOutlineGeometry.instantiate(),Ze.Edge|fe.Unfocused|fe.Unselected));const h=new P({view:a,renderObjects:l,elevationInfo:t,focusMultiplier:1,touchMultiplier:1,available:!(!this.graphic.visible||!this.graphic.layer?.visible),metadata:{deleting:!1}});h.selected=i,this._setTypeSpecificManipulatorSettings(h,e,t);const d="edge"===e.type?{manipulator:h,handle:e,locationUpdateHandle:null,type:"edge",selectedIndex:0}:{manipulator:h,handle:e,type:"vertex",selectedIndex:0};if(this._manipulatorInfos.push(d),this.manipulators.add(h),this._updateManipulatorPosition(d),"edge"===d.type){const e=[];for(const t of[d.handle.leftVertex,d.handle.rightVertex]){const i=this._getManipulatorInfoFromHandle(t);null!=i&&e.push(i.manipulator.events.on("location-update",(()=>this._updateManipulatorPosition(d))))}d.locationUpdateHandle=o(e),this._manipulatorHandles.add(d.locationUpdateHandle,h)}this._manipulatorHandles.add(this._watchAndUpdateGrabState(h,!0),h);const u=me(h,((e,i,a,n)=>{let o=null;const{snappingStep:r,cancelSnapping:s}=Oe({predicate:()=>!this._isMultiVertexSelection(),snappingManager:this.tool.snappingManager,snappingContext:new xe({editGeometryOperations:this._editGeometryOperations,elevationInfo:t,pointer:n,excludeFeature:this.graphic,visualizer:new F}),updatingHandles:this._updatingHandles,useZ:!1});a=a.next((t=>(this._onDragCancel(!e.metadata.deleting,(()=>o=p(o))),t))).next(s),i.next((e=>this._trackNumDragging(e))).next((e=>{if("start"===e.action&&(o=this._editGeometryOperations.createUndoGroup()),"edge"===d.type){const t=this._splitEdgeManipulator(d);return{...e,info:t,snapOrigin:t.handle.pos}}return{...e,info:d,snapOrigin:d.handle.pos}})).next(ge(this.view,e.elevationAlignedLocation)).next(Y(this.view,this.graphic,e.elevationAlignedLocation,e.location.spatialReference,this.graphic)).next(ue(this.view,t,this.graphic)).next(...r).next(ce()).next((t=>{this._perVertexManipulatorDragAction(t),"end"===t.action&&(o=p(o)),this._updateTranslateVertexTooltip(e,Q.XY,t)}))}));return this._manipulatorHandles.add([u,h.events.on("immediate-click",(e=>this._manipulatorClickCallback(e,d))),h.events.on("select-changed",(()=>{d.selectedIndex=++this._selectedIndex,this._updateMoveManipulationPosition()})),h.events.on("focus-changed",(({action:e})=>{"focus"===e&&"edge"!==d.type?this._updateTranslateVertexTooltip(h,Q.XY):this._tooltip.clear()}))],h),this.emit("manipulators-changed"),d}_trackNumDragging(e){switch(e.action){case"start":this._numDragging++;break;case"end":this._numDragging--}return e}_onDragCancel(e=!0,t){switch(this._numDragging--,e&&(this.undo(),this.outputGeometry=null!=this._editGeometryOperations?this._editGeometryOperations.data.geometry:null),null!=this.tool.snappingManager&&this.tool.snappingManager.doneSnapping(),this._tooltip.clear(),this._reshapeEventState){case Ye.NONE:break;case Ye.MOVING:this.emit("move",{type:"move",dx:0,dy:0,mover:this.graphic});break;case Ye.RESHAPING:this.emit("reshape",{type:"reshape",mover:this.graphic})}t&&t(),this.destroyed||this._updateEventState(Ye.NONE)}_setTypeSpecificManipulatorSettings(e,t,i){const{graphic:a,view:n}=this,o=K(n);switch(t.type){case"vertex":{e.state=Ze.Vertex,e.selectable=!0,e.cursor="move",e.collisionPriority=2;const{size:t,collisionPadding:n}=o.manipulators.vertex;e.radius=t/2+n,e.elevationInfo=i;const{geometry:r}=a,s=r?.type;e.interactive=null!=s&&"point"!==s&&"mesh"!==s;break}case"edge":{e.state=Ze.Edge,e.selectable=!1,e.cursor="copy",e.collisionPriority=-1;const{size:t,collisionPadding:n}=o.manipulators.edge;e.radius=t/2+n,e.elevationInfo="on-the-ground"!==i.mode||j(a.symbol)?{mode:"absolute-height",offset:0}:i;break}}}_watchAndUpdateGrabState(e,t){return e.events.on("grab-changed",(i=>this._onGrabStateChanged(e,t,i.action,i.pointerType)))}_onGrabStateChanged(e,t,i,a="mouse"){if(!this._recreatingManipulators){if("start"===i)t&&this._updateSelection(e),this._numGrabbing++;else if(this._numGrabbing--,this._updateEventState(Ye.NONE),this.destroyed)return;this._moveManipulation.interactive=!this._numGrabbing,("touch"!==a||this.enableEdgeOffset)&&(this._manipulatorInfos.forEach((e=>{const{manipulator:t}=e,{geometry:i}=this.graphic,a=i?.type;t.interactive=t.grabbing||!this._numGrabbing&&null!=a&&"point"!==a&&"mesh"!==a,"edgeManipulator"in e&&(e.edgeManipulator.interactive=e.edgeManipulator.grabbing||!this._numGrabbing)})),this._graphicMoveManipulation.forEachManipulator((e=>{e.interactive=e.grabbing||!this._numGrabbing})))}}_clearSelection(){for(const e of this._manipulatorInfos)e.manipulator.grabbing||(e.manipulator.selected=!1)}_updateSelection(e){e.grabbing&&!e.selected&&e.selectable&&(this._clearSelection(),e.selected=!0,this.emit("manipulators-changed"))}_removeManipulator(e){null!=e&&(e.manipulator.metadata.deleting=!0,this.manipulators.remove(e.manipulator),this._manipulatorHandles.remove(e.manipulator),i(this._manipulatorInfos,e),this.emit("manipulators-changed"))}_getManipulatorInfoFromHandle(e){if(e)for(const t of this._manipulatorInfos)if(e===t.handle)return t;return null}_updateManipulatorPosition(e){if(null==e)return;const t=this._editGeometryOperations;if("vertex"===e.type)e.manipulator.location=t.data.coordinateHelper.vectorToDehydratedPoint(e.handle.pos,Fe),e.manipulator.grabbing&&null!=this._vertexLaserLineVisualElement&&(this._vertexLaserLineVisualElement.visualElement.intersectsWorldUpAtLocation=e.manipulator.renderLocation);else if("edge"===e.type){const i=this._getManipulatorInfoFromHandle(e.handle.leftVertex),a=this._getManipulatorInfoFromHandle(e.handle.rightVertex);if(null==i||null==a)return;const n=i.manipulator,o=a.manipulator;if(null!=e.manipulator.elevationInfo&&"on-the-ground"===e.manipulator.elevationInfo.mode){const i=n.location,a=o.location,r=.5,s=i.x+r*(a.x-i.x),l=i.y+r*(a.y-i.y),p=i.hasZ&&a.hasZ?0:void 0;e.manipulator.location=D(s,l,p,t.data.spatialReference)}else O(ze,n.renderLocation,o.renderLocation,.5),e.manipulator.renderLocation=ze}}_splitEdgeManipulator(e,t=.5){const i=this._editGeometryOperations,a=i.splitEdge(e.handle,t).createdVertex;e.locationUpdateHandle=p(e.locationUpdateHandle);const n=L(this.graphic);let o;this.enableEdgeOffset?(this._removeManipulator(e),o=this._createVertexOrEdgeManipulator(a)):(o=e,o.handle=a,o.type="vertex",this._setTypeSpecificManipulatorSettings(e.manipulator,e.handle,n)),a.leftEdge&&this._createVertexOrEdgeManipulator(a.leftEdge),a.rightEdge&&this._createVertexOrEdgeManipulator(a.rightEdge),this.outputGeometry=i.data.geometry,this._updateManipulatorPosition(o),this.enableEdgeOffset||this._updateTranslateVertexTooltip(o.manipulator,Q.XY),this._updateSelection(e.manipulator);const r=this._updateEventState(Ye.RESHAPING),s=i.data.coordinateHelper.vectorToArray(o.handle.pos),l=i.data.components.indexOf(a.component);return this.emit("vertex-add",{type:"vertex-add",vertices:[{coordinates:s,componentIndex:l,vertexIndex:a.index}],added:s}),r&&this._updateEventState(Ye.NONE),o}_updateMoveManipulationPosition(){const e=b(ze,0,0,0);let t=0,i=!1,a=null,n=null;for(const o of this._manipulatorInfos)"vertex"===o.type&&(o.manipulator.selected?(t++,E(e,e,o.manipulator.renderLocation),null==a||o.selectedIndex>a.selectedIndex?(n=a,a=o):(null==n||o.selectedIndex>n.selectedIndex)&&(n=o)):i=!0);if(0===t){const e=this._graphicState.displaying&&this.enableMoveGraphic;this._moveManipulation.xyManipulation.available=e,this._moveManipulation.xyAxisManipulation.available=e,this._moveManipulation.xyAxisManipulation.orthogonalAvailable=e,this._moveManipulation.zManipulation.available=e&&this.enableZShape&&W(this.graphic),this._moveManipulation.angle=ee(this.graphic.geometry),this._moveManipulation.radius=$.radiusForSymbol(this.graphic.symbol)}else{const e=this._graphicState.displaying;this._moveManipulation.xyManipulation.available=e,this._moveManipulation.xyAxisManipulation.available=e,this._moveManipulation.zManipulation.available=e&&this.enableZVertex&&W(this.graphic),this._moveManipulation.xyAxisManipulation.orthogonalAvailable=e&&1!==t;let i=0;if(null!=a){const e=a.handle.pos,t=null!=n?n.handle.pos:a.handle.leftEdge&&a.handle.leftEdge.leftVertex?a.handle.leftEdge.leftVertex.pos:null,o=null==n&&a.handle.rightEdge&&a.handle.rightEdge.rightVertex?a.handle.rightEdge.rightVertex.pos:null;t&&o?this._moveManipulation.xyAxisManipulation.available=!1:t?i=ke(t,e):o&&(i=ke(e,o))}this._moveManipulation.angle=i,this._moveManipulation.radius=J}0!==t&&i?(G(e,e,1/t),Fe.spatialReference=this._editGeometryOperations.data.spatialReference,Fe.hasZ=!0,this.view.renderCoordsHelper.fromRenderCoords(e,Fe),this._moveManipulation.elevationAlignedLocation=Fe):null==this._outlineVisualElement||this._graphicState.isDraped||null==this._outlineVisualElement.attachmentOrigin?C(this.view,this._moveManipulation,this.graphic):this._moveManipulation.elevationAlignedLocation=this._outlineVisualElement.attachmentOrigin}_removeVertices(e){const t=new Array,i=this._editGeometryOperations;for(const a of e)if("vertex"===a.type&&i.canRemoveVertex()){t.push(a.handle),this._removeManipulator(a),this._removeManipulator(this._getManipulatorInfoFromHandle(a.handle.leftEdge)),this._removeManipulator(this._getManipulatorInfoFromHandle(a.handle.rightEdge));const e=i.removeVertices([a.handle]),n=e.removedVertices?.[0].createdEdge;n&&this._createVertexOrEdgeManipulator(n)}if(t.length>0){const e=t.map((e=>{const t=i.data.components.indexOf(e.component);return{coordinates:i.data.coordinateHelper.vectorToArray(e.pos),componentIndex:t,vertexIndex:e.index}}));this.outputGeometry=i.data.geometry;const a=this._updateEventState(Ye.RESHAPING);if(this.destroyed)return;if(this.emit("vertex-remove",{type:"vertex-remove",removed:e.map((e=>e.coordinates)),vertices:e}),this.destroyed)return;if(a&&(this._updateEventState(Ye.NONE),this.destroyed))return;this._updateMoveManipulationPosition()}}_moveVertices(e,t,i=("start"===t.action?ye.NEW_STEP:ye.ACCUMULATE_STEPS)){const a=this._editGeometryOperations;a.moveVertices(e.map((e=>e.handle)),t.mapDeltaX,t.mapDeltaY,t.mapDeltaZ,i),this.outputGeometry=a.data.geometry;for(const n of e)this._updateManipulatorPosition(n)}_offsetEdge(e,t){if(null==t.operation||null==t.signedDistance)return;const i=this._editGeometryOperations,a=t.operation.clone();a.distance=t.signedDistance,i.updateVertices([e.handle.leftVertex,e.handle.rightVertex],a),this.outputGeometry=i.data.geometry,this._updateManipulatorPosition(this._getManipulatorInfoFromHandle(e.handle.leftVertex)),this._updateManipulatorPosition(this._getManipulatorInfoFromHandle(e.handle.rightVertex))}_manipulatorClickCallback(e,t){e.shiftKey||this._clearSelection(),"vertex"===t.type&&(t.manipulator.selected=!t.manipulator.selected,e.button===de.Right&&this._removeVertices([t])),"edge"===t.type&&e.button===de.Left&&this._splitEdgeManipulator(t),e.stopPropagation()}_updateTranslateTooltip(e,t){const i=this._manipulatorInfos.filter((e=>"vertex"===e.type&&e.manipulator.selected));1===i.length?this._updateTranslateVertexTooltip(i[0].manipulator,e,t):this._updateTranslateGraphicTooltip(e,t)}_updateTranslateGraphicTooltip(e,t){const i=this._tooltipOptions;if(!i.enabled)return;const a=this._graphicState.isDraped?"on-the-ground":"absolute-height";switch(e){case Q.XY:this._tooltip.info=new we({tooltipOptions:i}),this._updateTranslateTooltipDistance(this._tooltip.info,t,((e,t)=>Te(e,t,a)));break;case Q.XY_AXIS:this._tooltip.info=new Se({tooltipOptions:i}),this._updateTranslateTooltipDistance(this._tooltip.info,t,((e,i)=>{const n=Te(e,i,a);return d(n,te(t))}));break;case Q.Z:this._tooltip.info=new Ge({tooltipOptions:i}),this._updateTranslateTooltipDistance(this._tooltip.info,t,je)}}_updateTranslateVertexTooltip(e,t,i){const a=this._tooltipOptions;if(!a.enabled)return;let n;const o=this._graphicState.isDraped?"on-the-ground":"absolute-height";switch(t){case Q.XY:n=new He({tooltipOptions:a}),this._updateTranslateTooltipDistance(n,i,((e,t)=>Te(e,t,o))),this._updateTooltipAreaOrTotalLength(n);break;case Q.XY_AXIS:n=new Ve({tooltipOptions:a}),this._updateTranslateTooltipDistance(n,i,((e,t)=>{const a=Te(e,t,o);return d(a,te(i))})),this._updateTooltipAreaOrTotalLength(n);break;case Q.Z:n=new Ie({tooltipOptions:a}),this._updateTranslateTooltipDistance(n,i,je)}const r=Pe(e.elevationAlignedLocation);null!=r&&(n.elevation={mode:"absolute-height",...r}),this._tooltip.info=n}_updateTranslateTooltipDistance(e,t,i){if(null!=t&&"end"!==t.action){const{mapStart:a,mapEnd:n}=t,o=i(a,n);e.distance=null!=o?o:h}}_updateTooltipAreaOrTotalLength(e){const{geometry:t}=this.graphic;if(null==t)return;const i=this._graphicState.isDraped?"on-the-ground":"absolute-height";e.area="polygon"===t.type?Ae(t,i):null,e.totalLength="polyline"===t.type?De(t,i):null}get test(){return{segmentLabels:this._segmentLabels,tooltip:this._tooltip}}};function ke(e,t){return Math.atan2(t[1]-e[1],t[0]-e[0])+Math.PI/2}function Re(e,t,i,a,n){if(e){const e=n.toXYZ(n.pointToVector(i)),o=A(a,e,T.get()),r=Ue(o,e,n.spatialReference);if(null!=r)return u(r.value*Math.sign(t),r.unit)}return u(t*_(i.spatialReference),"meters")}e([f()],Ce.prototype,"_editGeometryOperations",void 0),e([f()],Ce.prototype,"_segmentLabels",void 0),e([f({constructOnly:!0})],Ce.prototype,"tool",void 0),e([f()],Ce.prototype,"_tooltip",void 0),e([f()],Ce.prototype,"inputGeometry",null),e([f()],Ce.prototype,"outputGeometry",void 0),e([f({readOnly:!0})],Ce.prototype,"updating",null),e([f()],Ce.prototype,"manipulators",null),e([f()],Ce.prototype,"view",null),e([f()],Ce.prototype,"graphic",null),e([f()],Ce.prototype,"enableZShape",null),e([f()],Ce.prototype,"enableZVertex",null),e([f()],Ce.prototype,"enableMoveGraphic",null),e([f()],Ce.prototype,"enableMidpoints",null),e([f()],Ce.prototype,"enableEdgeOffset",null),e([f()],Ce.prototype,"_labelOptions",null),e([f()],Ce.prototype,"_tooltipOptions",null),Ce=e([v("esri.views.3d.interactive.editingTools.reshapeGraphic.ReshapeOperation")],Ce);const Fe=D(0,0,void 0,Ne.WGS84),ze=w(),Xe=1e-6;var Ze,Ye,qe;!function(e){e.Vertex=ve.Custom1,e.Edge=ve.Custom2}(Ze||(Ze={})),function(e){e[e.NONE=0]="NONE",e[e.MOVING=1]="MOVING",e[e.RESHAPING=2]="RESHAPING"}(Ye||(Ye={})),function(e){e[e.ALL=0]="ALL",e[e.SELECTED_OR_ALL=1]="SELECTED_OR_ALL"}(qe||(qe={}));export{Ce as ReshapeOperation};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{createRenderScreenPointArray3 as e}from"../../../../../core/screenUtils.js";import{f as r}from"../../../../../chunks/mat4f64.js";import{f as o,
|
|
5
|
+
import{createRenderScreenPointArray3 as e}from"../../../../../core/screenUtils.js";import{f as r}from"../../../../../chunks/mat4f64.js";import{f as o,x as n,p as t,b as s}from"../../../../../chunks/vec3.js";import{c}from"../../../../../chunks/vec3f64.js";import{normal as u,fromPositionAndNormal as i,create as d}from"../../../../../geometry/support/plane.js";import{makeDehydratedPoint as l}from"../../../../../layers/graphics/dehydratedFeatures.js";import{PlaneType as f,OffsetEdgeVertex as p}from"../../../../interactive/editGeometry/operations/OffsetEdgeVertex.js";function a(e,r,o){const n="on-the-ground"===o.mode?f.XY:f.XYZ;return new p(e,n,r,0)}function m(e,r,n){const t=c();if(!e.renderCoordsHelper.toRenderCoords(r,t))return null;const s=j(e,r,u(n.plane)),l=j(e,r,n.edgeDirection);if(null==s||null==l)return null;const f=o(c(),s,l);return i(t,f,d())}function j(e,r,o){const t=l(r.x+o[0],r.y+o[1],r.z+o[2],r.spatialReference),s=c(),u=c();return e.renderCoordsHelper.toRenderCoords(r,s)&&e.renderCoordsHelper.toRenderCoords(t,u)?n(u,s,u):null}function h(e,t,s){const i=u(e),d=n(c(),t,s),l=o(c(),d,i),f=o(c(),d,l);return r(d[0],d[1],d[2],0,l[0],l[1],l[2],0,f[0],f[1],f[2],0,0,0,0,1)}function C(r,o,n){const c=n.projectToRenderScreen(r,e()),u=n.projectToRenderScreen(o,e());return null!=c&&null!=u?t(s(c,c,u)):0}export{m as createEdgeOffsetIntersectionPlane,a as createEdgeOffsetOperation,h as edgeOffsetRotationMatrix,C as screenEdgeLengthSquared};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../../chunks/tslib.es6.js";import e from"../../../../../core/Evented.js";import i from"../../../../../core/Handles.js";import{makeHandle as a}from"../../../../../core/handleUtils.js";import{rad2deg as s}from"../../../../../core/mathUtils.js";import{createLength as o}from"../../../../../core/quantityUtils.js";import{watch as r,initial as n}from"../../../../../core/reactiveUtils.js";import{screenPointObjectToArray as p}from"../../../../../core/screenUtils.js";import{lengthUnitFromSpatialReference as l,getMetersPerUnitForSR as h}from"../../../../../core/unitUtils.js";import{property as c}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import{subclass as u}from"../../../../../core/accessorSupport/decorators/subclass.js";import{o as d}from"../../../../../chunks/mat4.js";import{s as m,a as _,f as g}from"../../../../../chunks/vec2.js";import{a as y}from"../../../../../chunks/vec2f64.js";import{c as v,A as f,b as S,n as M,l as b,e as T}from"../../../../../chunks/vec3.js";import{c as x,a as E}from"../../../../../chunks/vec3f64.js";import{containsXY as A}from"../../../../../geometry/support/aaBoundingRect.js";import{a as B,c as O}from"../../../../../chunks/boundedPlane.js";import{intersectRay as j,create as R,normal as G}from"../../../../../geometry/support/plane.js";import{create as D}from"../../../../../geometry/support/ray.js";import{sv2d as w,sv3d as P,sm4d as z}from"../../../../../geometry/support/vectorStacks.js";import{getGraphicEffectiveElevationInfo as U}from"../../../../../support/elevationInfoUtils.js";import{createShiftManipulator as I,OffsetMode as Z,IsShiftEdgeOnScreenFlag as C,createResizeManipulator as k,resizeNormal as L,resizeOutlineOnly as X,isDiagonalResizeHandle as Y,calculateDiagonalResizeHandleScale as N,createRotatePlane as V,RotationAxis as H,calculateBoundedPlaneTranslateRotate as F,updateRotateHeadingHandle as q,updateResizeHandle as W}from"../../../analysis/Slice/sliceToolUtils.js";import{getRotateHeadingTexture as J}from"../../../analysis/Slice/images/Factory.js";import{Manipulator3D as K}from"../../Manipulator3D.js";import{createRotateManipulator as Q,getGraphicAttachmentOrigin as $,calculateInputRotationTransform as tt}from"../../manipulatorUtils.js";import{screenToZConstrained as et,screenToRenderPlane as it}from"../dragEventPipeline3D.js";import{ManipulatorType as at}from"../ManipulatorType.js";import{canMoveZ as st}from"../manipulatorUtils.js";import{getSettings as ot}from"../settings.js";import{createVisualElements as rt}from"../visualElementUtils.js";import{ManipulationType as nt}from"../manipulations/MoveManipulation.js";import{MoveXYGraphicManipulation as pt}from"../manipulations/MoveXYGraphicManipulation.js";import{PreserveAspectRatio as lt}from"./PreserveAspectRatio.js";import{OutlineVisualElement as ht}from"../../visualElements/OutlineVisualElement.js";import{evaluateElevationAlignmentAtPoint as ct}from"../../../layers/graphics/elevationAlignmentUtils.js";import{ElevationContext as ut}from"../../../layers/graphics/ElevationContext.js";import{GraphicState as dt}from"../../../layers/graphics/GraphicState.js";import{fromScreen as mt}from"../../../support/geometryUtils/ray.js";import{createManipulatorDragEventPipeline as _t,addMapDelta as gt,addScreenDelta as yt}from"../../../../interactive/dragEventPipeline.js";import{InteractiveToolBase as vt}from"../../../../interactive/InteractiveToolBase.js";import{EditGeometryOperations as ft}from"../../../../interactive/editGeometry/EditGeometryOperations.js";import{AccumulationBehaviour as St}from"../../../../interactive/editGeometry/interfaces.js";import{AccumulationType as Mt}from"../../../../interactive/editGeometry/operations/UpdateVertices.js";import{mapPlaneAutoHorizontalSizeByElevationMode as bt,calculateOrientedBounds as Tt,mapPlaneToRenderPlane as xt,apply as Et,unapply as At}from"../../../../interactive/editGeometry/support/editPlaneUtils.js";import Bt from"../../../../interactive/sketch/SketchTooltipOptions.js";import{ExtentRotateTooltipInfo as Ot,ExtentScaleTooltipInfo as jt}from"../../../../interactive/tooltip/ExtentTooltipInfos.js";import{Tooltip as Rt}from"../../../../interactive/tooltip/Tooltip.js";import{TranslateGraphicTooltipInfo as Gt,TranslateGraphicZTooltipInfo as Dt}from"../../../../interactive/tooltip/TranslateTooltipInfos.js";import{autoHorizontalDistanceByElevationModeBetweenPoints as wt}from"../../../../support/automaticLengthMeasurementUtils.js";import{multiplyOpacity as Pt,unitRGBAFromColor as zt}from"../../../../support/colorUtils.js";import{verticalSignedDistance as Ut}from"../../../../support/euclideanLengthMeasurementUtils.js";let It=class extends(e.EventedMixin(vt)){constructor(t){super(t),this.enableZ=!0,this.enableRotation=!0,this.enableScaling=!0,this.tooltipOptions=new Bt,this._preserveAspectRatio=new lt,this.grabbing=!1,this.inputState=null,this.type="transform-3d",this._handles=new i,this._attachmentOrigin=null,this._outlineVisualElement=null,this._mapBounds=B(),this._mapBoundsStart=B(),this._zmax=0,this._sizeStart=null,this._displayBounds=B(),this._displayBoundsStart=B(),this._displayBoundsMarginStart=0,this._resizeHandles=[{direction:[1,0]},{direction:[1,1]},{direction:[0,1]},{direction:[-1,1]},{direction:[-1,0]},{direction:[-1,-1]},{direction:[0,-1]},{direction:[1,-1]}],this._moveXYTooltipInfo=null,this._moveZTooltipInfo=null,this._rotateTooltipInfo=null,this._scaleTooltipInfo=null,this._startAngle=0,this._endAngle=0,this._startScale=y(),this._endScale=y()}initialize(){const{view:t,graphic:e,manipulators:i,_handles:s}=this,o=ot(t).colors,p=this._graphicState=new dt({graphic:e}),l=e.geometry;this._editGeometryOperations=ft.fromGeometry(l,t.state.viewingMode),this._graphicMoveManipulation=new pt({tool:this,view:t,graphicState:p}),this._moveZManipulator=I(t,{offsetMode:Z.CENTER_ON_CALLOUT,calloutColor:o.accent,color:o.contrast,outlineColor:o.accent}),this._moveZManipulator.state|=C,s.add([this._createMoveXYGraphicDragPipeline(),r((()=>this.enableZ),(()=>this._updateManipulatorAvailability(this._moveZManipulator,at.TRANSLATE_Z))),this._createMoveZDragPipeline()]),i.add(this._moveZManipulator),this._resizeManipulators=this._resizeHandles.map((e=>{const i=k(t,e,{color:o.accent});return s.add([r((()=>this.enableScaling),(()=>this._updateManipulatorAvailability(i,at.SCALE))),i.events.on("grab-changed",(t=>this._onResizeGrab(t))),this._createResizeDragPipeline(i,e)]),i})),i.addMany(this._resizeManipulators);const h=!this.view._stage?.renderView.renderingContext.driverTest.svgPremultipliesAlpha.result;this._rotateManipulatorTexture=J(t.toolViewManager.textures,{accentColor:Pt(o.accent,.5),contrastColor:o.contrast,preMultiplyAlpha:h}),this._rotateManipulator=Q(t,{calloutColor:zt(o.accent),texture:this._rotateManipulatorTexture.texture}),s.add([r((()=>this.enableRotation),(()=>this._updateManipulatorAvailability(this._rotateManipulator,at.ROTATE))),this._rotateManipulator.events.on("grab-changed",(t=>{this._onRotateGrab(t)})),this._createRotateDragPipeline(this._rotateManipulator)]),i.add(this._rotateManipulator),this._calculateMapBounds(),this._updateDisplayBounds();const c=rt({view:t,graphic:e,forEachManipulator:t=>this._forEachManipulator(t),onManipulatorsChanged:()=>a()});null!=c&&(this._outlineVisualElement=c.visualElement instanceof ht?c.visualElement:null),null!=this._outlineVisualElement&&s.add(this._outlineVisualElement.events.on("attachment-origin-changed",(()=>this._updateDisplayBounds()))),s.add(c),s.add([p.on("changed",(()=>this._onGeometryChanged())),r((()=>p.displaying),(()=>this._updateAllManipulatorAvailability())),r((()=>p.isDraped),(()=>this._graphicDrapedChanged()),n),t.trackGraphicState(p)]);const u=t.pointsOfInterest;s.add(r((()=>u?.centerOnSurfaceFrequent.location),(()=>this._updateDisplayBounds())));const d=t=>{s.add(t.events.on("grab-changed",(()=>{this.grabbing=t.grabbing,this._updateAllManipulatorAvailability()})))};this._forEachManipulator(d);const m=(t,i)=>{s.add(t.events.on("immediate-click",(t=>{i===at.TRANSLATE_XY&&this.emit("immediate-click",{...t,graphic:e}),t.stopPropagation()})))};this._forEachManipulator(m),this._onGeometryChanged(),this._updateAllManipulatorAvailability(),this._initializeTooltip(),this.finishToolCreation()}destroy(){this._mapBounds=null,this._displayBounds=null,this._rotateManipulatorTexture.release(),this._handles.destroy(),this._graphicMoveManipulation.destroy(),this._editGeometryOperations.destroy(),this._tooltip.destroy(),this._set("view",null),this._set("graphic",null)}_initializeTooltip(){const{_handles:t,view:e}=this,i=this._tooltip=new Rt({view:e}),a=()=>{i.info=this._getUpdatedTooltipInfo()};t.add([this.on("graphic-translate-start",a),this.on("graphic-translate",a),this.on("graphic-translate-stop",(()=>{this._moveXYTooltipInfo=null,this._moveZTooltipInfo=null,this._tooltip.clear()})),this.on("graphic-rotate-start",(t=>{this._startAngle=t.angle,a()})),this.on("graphic-rotate",(t=>{this._endAngle=t.angle,a()})),this.on("graphic-rotate-stop",(()=>{this._startAngle=0,this._endAngle=0,a()})),this.on("graphic-scale-start",(t=>{m(this._startScale,t.xScale,t.yScale),m(this._endScale,t.xScale,t.yScale),a()})),this.on("graphic-scale",(t=>{m(this._endScale,t.xScale,t.yScale),a()})),this.on("graphic-scale-stop",(()=>{m(this._startScale,0,0),m(this._endScale,0,0),a()}))]),this._forEachManipulator((e=>{t.add([e.events.on("focus-changed",a),e.events.on("grab-changed",a),e.events.on("drag",(t=>{"cancel"===t.action?this._tooltip.clear():a()}))])}))}_getUpdatedTooltipInfo(){return this.tooltipOptions.enabled?this._graphicMoveManipulation.grabbing||this._graphicMoveManipulation.dragging?this._computeMoveXYTooltipInfo():this._moveZManipulator.focused?this._computeMoveZTooltipInfo():this._rotateManipulator.focused?this._computeRotateTooltipInfo():this._resizeManipulators.some((t=>t.focused))?this._computeScaleTooltipInfo():null:null}_computeMoveXYTooltipInfo(){return this._moveXYTooltipInfo??=new Gt({tooltipOptions:this.tooltipOptions})}_computeMoveZTooltipInfo(){const t=this._moveZTooltipInfo??=new Dt({tooltipOptions:this.tooltipOptions}),e=this._moveUnit;if(this._moveZManipulator.dragging){const e=this._mapBoundsStart.origin,i=this._mapBounds.origin,a=Ut(e,i,this.view.spatialReference);if(null==a)return null;t.distance=a}else t.distance=o(0,e);return t}_computeRotateTooltipInfo(){const t=this._rotateTooltipInfo??=new Ot({tooltipOptions:this.tooltipOptions});return t.angle=this._startAngle-this._endAngle,t}_computeScaleTooltipInfo(){const t=this.graphic.geometry;if(null==t)return null;const e=this._scaleTooltipInfo??=new jt({tooltipOptions:this.tooltipOptions}),i=bt(this._mapBounds,this._zmax,t.spatialReference,this._graphicState.isDraped);return null==i?null:(e.xSize=i[0],e.ySize=i[1],null!=this._sizeStart&&this._resizeManipulators.some((t=>t.dragging))?(e.xScale=i[0].value/this._sizeStart[0].value,e.yScale=i[1].value/this._sizeStart[1].value):(e.xScale=1,e.yScale=1),e)}_graphicDrapedChanged(){this._handles.remove(Zt),this._updateDisplayBounds(),this._graphicState.isDraped&&this._handles.add(this.view.elevationProvider.on("elevation-change",(t=>{null!=this._attachmentOrigin&&A(t.extent,this._attachmentOrigin.x,this._attachmentOrigin.y)&&this._updateDisplayBounds()})),Zt)}_updateAllManipulatorAvailability(){this._forEachManipulator(((t,e)=>this._updateManipulatorAvailability(t,e)))}_updateManipulatorAvailability(t,e){const i=this.grabbing&&!t.grabbing;if(t.interactive=!i,t instanceof K){const a=this._graphicState.displaying,s=this.enableZ&&st(this.graphic);switch(e){case at.ROTATE:t.available=a&&this.enableRotation;break;case at.SCALE:t.available=a&&(this.enableScaling||this.enableRotation||s),t.interactive=!i&&this.enableScaling,t.state=this.enableScaling?L:X;break;case at.TRANSLATE_Z:t.available=a&&s;break;default:t.available=a}}}_forEachManipulator(t){this._graphicMoveManipulation.forEachManipulator(t),this._resizeManipulators.forEach((e=>t(e,at.SCALE))),t(this._rotateManipulator,at.ROTATE),t(this._moveZManipulator,at.TRANSLATE_Z)}get preserveAspectRatio(){return this._preserveAspectRatio.enabled}set preserveAspectRatio(t){this._preserveAspectRatio.enabled=t,this._set("preserveAspectRatio",t)}get _moveUnit(){return l(this.view.spatialReference)??"meters"}reset(){}_onGeometryChanged(){this._updateDisplayBounds()}_calculateMapBounds(){const t=this.graphic.geometry,e=this._editGeometryOperations.data,i=e.components[0].edges[0],a=_(w.get(),i.leftVertex.pos,i.rightVertex.pos);g(a,a);const s=$(this.view,this.graphic)??t.extent?.center;let o=s?kt*this.view.pixelSizeAt(s):0;const r=this.view.spatialReference,n=t.spatialReference;r.equals(n)||(o*=h(r)/h(n)),Tt(a,e,o,this._mapBounds),this._updateZMax()}_updateZMax(){const t=this._editGeometryOperations.data;if(!t.geometry.hasZ)return void(this._zmax=0);const e=t.coordinateHelper;let i=Number.NEGATIVE_INFINITY;for(const a of t.components)for(const t of a.vertices){const a=e.getZ(t.pos)??0;i=Math.max(a,i)}this._zmax=i}_updateDisplayBounds(){const{geometry:t}=this.graphic;if(null==t)return;const{extent:e}=t;if(!e)return;const i=null==this._outlineVisualElement||this._graphicState.isDraped||null==this._outlineVisualElement.attachmentOrigin?$(this.view,this.graphic):this._outlineVisualElement.attachmentOrigin;this._attachmentOrigin=i??e.center;const a=null!=i?i.z:ct(this._mapBounds.origin,this.view.elevationProvider,ut.fromElevationInfo(U(this.graphic)),this.view.renderCoordsHelper),s=O(this._mapBounds);s.origin[2]=a??0,xt(s,this.view.renderCoordsHelper,t.spatialReference,this._displayBoundsMargin,this._displayBounds),this._updateManipulators()}get _displayBoundsMargin(){const t=this.view.pointsOfInterest,e=t?t.centerOnSurfaceFrequent.location:this._editGeometryOperations.data.geometry.extent?.center;return e?Ct*this.view.pixelSizeAt(e):0}_createMoveXYGraphicDragPipeline(){return this._graphicMoveManipulation.createDragPipeline(((t,e,i)=>this._applyGraphicMoveSteps(e,i,nt.XY)))}_createMoveZDragPipeline(){const t=this.view,e=this._editGeometryOperations.data.spatialReference;return _t(this._moveZManipulator,((i,a,s)=>{const o=E(i.renderLocation),r=a.next(et(t,o,e)).next(yt());this._applyGraphicMoveSteps(r,s,nt.Z)}))}_applyGraphicMoveSteps(t,e,i){const a=t.next((t=>("start"===t.action&&(this.inputState={type:"move"},this._updateOperationStartProperties(),this.emit("graphic-translate-start",{graphic:this.graphic,dxScreen:t.screenDeltaX,dyScreen:t.screenDeltaY})),t))).next(gt()).next(this._moveDragUpdateGeometry()).next((t=>{const e={graphic:this.graphic,dxScreen:t.screenDeltaX,dyScreen:t.screenDeltaY};switch(t.action){case"start":case"update":(t.mapEnd.x-t.mapStart.x||t.mapEnd.y-t.mapStart.y||(t.mapEnd.z??0)-(t.mapStart.z??0))&&this.emit("graphic-translate",e);break;case"end":this.inputState=null,this.emit("graphic-translate-stop",e)}return t})).next((t=>this._updateMoveTooltip(t,i)));return e.next((()=>{null!=this.inputState&&this.emit("graphic-translate-stop",{graphic:this.graphic,dxScreen:0,dyScreen:0}),this._cancel()})),a}_updateOperationStartProperties(){O(this._displayBounds,this._displayBoundsStart),O(this._mapBounds,this._mapBoundsStart),null!=this.graphic.geometry?this._sizeStart=bt(this._mapBoundsStart,this._zmax,this.graphic.geometry.spatialReference,this._graphicState.isDraped):this._sizeStart=null}_moveDragUpdateGeometry(){return t=>{if(null==this.inputState||"move"!==this.inputState.type)return t;const e=[];for(const s of this._editGeometryOperations.data.components)e.push(...s.vertices);const i="start"===t.action?St.NEW_STEP:St.ACCUMULATE_STEPS,a=this._editGeometryOperations.moveVertices(e,t.mapDeltaX,t.mapDeltaY,t.mapDeltaZ,i);return Et(a,this._mapBounds),this.graphic.geometry=this._editGeometryOperations.data.geometry,t}}_updateMoveTooltip(t,e){if(e===nt.XY||e===nt.XY_AXIS){const e=wt(t.mapStart,t.mapEnd,this._graphicState.isDraped?"on-the-ground":"absolute-height");null!=e&&null!=this._moveXYTooltipInfo&&(this._moveXYTooltipInfo.distance=e)}return t}_onResizeGrab({action:t,screenPoint:e}){if("start"!==t||!e)return;const i=this._calculatePickRay(e);j(this._displayBounds.plane,i,P.get())&&(this._updateOperationStartProperties(),this._displayBoundsMarginStart=this._displayBoundsMargin,this.inputState={type:"resize"})}_createResizeDragPipeline(t,e){return _t(t,((t,i,a)=>{null!=this.inputState&&(i.next((t=>("start"===t.action&&this.emit("graphic-scale-start",{graphic:this.graphic,xScale:1,yScale:1}),t))).next(it(this.view,this._displayBoundsStart.plane)).next((t=>({...t,handle:e}))).next(this._resizeDragRenderPlaneToFactors()).next(...this._preserveAspectRatio.createDragEventPipelineStep()).next(this._resizeDragUpdateGeometry()).next((t=>{const e={graphic:this.graphic,xScale:t.factor1,yScale:t.factor2};switch(t.action){case"start":case"update":this.emit("graphic-scale",e);break;case"end":this.inputState=null,this.emit("graphic-scale-stop",e)}return t})),a.next((()=>{null!=this.inputState&&this.emit("graphic-scale-stop",{graphic:this.graphic,xScale:1,yScale:1}),this._cancel()})))}))}_resizeDragRenderPlaneToFactors(){return t=>{const e=this._displayBoundsStart,i=t.handle.direction,a=this._displayBoundsMargin,s=this._displayBoundsMarginStart,o=v(P.get(),e.origin);f(o,o,e.basis1,-i[0]),f(o,o,e.basis2,-i[1]);const r=S(P.get(),t.renderEnd,o),n=S(P.get(),t.renderStart,o),p=Y(t.handle),l=N(e),h=N(this._displayBounds)/l,c=(t,e)=>{if(0===t)return 1;let i=b(e),o=.5*t*T(e,r)/i;const l=o<0?-1:1;if(p){o+=(i-.5*t*T(e,n)/i)*l*h}const c=i<1.5*s?1:Lt;return i=Math.max(i-s,Lt),l>0&&(o-=a),l*Math.max(l*(o/i),c)};return{...t,factor1:c(i[0],e.basis1),factor2:c(i[1],e.basis2)}}}_resizeDragUpdateGeometry(){return t=>{const e=v(x(),this._mapBoundsStart.origin);f(e,e,this._mapBoundsStart.basis1,-t.handle.direction[0]),f(e,e,this._mapBoundsStart.basis2,-t.handle.direction[1]);const i=m(y(),this._mapBoundsStart.basis1[0],this._mapBoundsStart.basis1[1]);g(i,i);const a=[];for(const r of this._editGeometryOperations.data.components)a.push(...r.vertices);const s="start"===t.action?St.NEW_STEP:St.ACCUMULATE_STEPS,o=this._editGeometryOperations.scaleVertices(a,e,i,t.factor1,t.factor2,s,Mt.REPLACE);return O(this._mapBoundsStart,this._mapBounds),Et(o,this._mapBounds),this.graphic.geometry=this._editGeometryOperations.data.geometry,t}}_onRotateGrab({action:t,screenPoint:e}){if("start"!==t||!e)return;const i=V(this._displayBounds,this.view.renderCoordsHelper,H.HEADING,R()),a=this._calculatePickRay(e);j(i,a,P.get())&&(this._updateOperationStartProperties(),this.inputState={type:"rotate",rotatePlane:i})}_createRotateDragPipeline(t){return _t(t,((t,e,i)=>{const a=this.inputState;null!=a&&(e.next((t=>("start"===t.action&&this.emit("graphic-rotate-start",{graphic:this.graphic,angle:0}),t))).next(it(this.view,a.rotatePlane)).next(this._rotateDragRenderPlaneToRotate(a)).next(this._rotateDragUpdateGeometry()).next((t=>{const e={graphic:this.graphic,angle:s(t.rotateAngle)};switch(t.action){case"start":case"update":this.emit("graphic-rotate",e);break;case"end":this.inputState=null,this.emit("graphic-rotate-stop",e)}return t})),i.next((()=>{null!=this.inputState&&this.emit("graphic-rotate-stop",{graphic:this.graphic,angle:0}),this._cancel()})))}))}_rotateDragRenderPlaneToRotate(t){return e=>{const i=G(t.rotatePlane),a=tt(e.renderStart,e.renderEnd,this._displayBounds.origin,i);return{...e,rotateAxis:i,rotateAngle:a}}}_rotateDragUpdateGeometry(){return t=>{const e=v(x(),this._mapBoundsStart.origin),i=[];for(const o of this._editGeometryOperations.data.components)i.push(...o.vertices);const a="start"===t.action?St.NEW_STEP:St.ACCUMULATE_STEPS,s=this._editGeometryOperations.rotateVertices(i,e,t.rotateAngle,a,Mt.REPLACE);return O(this._mapBoundsStart,this._mapBounds),Et(s,this._mapBounds),this.graphic.geometry=this._editGeometryOperations.data.geometry,t}}_calculatePickRay(t){const e=D(),i=p(t);return mt(this.view.state.camera,i,e),M(e.direction,e.direction),e}_updateManipulators(){if(!this.visible)return;const t=F(this._displayBounds,z.get());q(this._rotateManipulator,t,this._displayBounds,this.view.renderCoordsHelper),this._updateZMoveHandle(this._moveZManipulator,t),this._resizeManipulators.forEach(((e,i)=>{W(e,this._resizeHandles[i],t,this._displayBounds)}))}_updateZMoveHandle(t,e){const i=this._displayBounds,a={basis:i.basis1,direction:-1,position:S(P.get(),i.origin,i.basis1),edge:2},s=z.get();d(s,e,a.edge*Math.PI/2),s[12]=0,s[13]=0,s[14]=0,t.modelTransform=s,t.renderLocation=a.position}_cancel(){const t=this._editGeometryOperations.lastOperation;null!=t&&(this._editGeometryOperations.undo(),this.graphic.geometry=this._editGeometryOperations.data.geometry,At(t,this._mapBounds),this._updateDisplayBounds(),this.inputState=null)}get canUndo(){return this._editGeometryOperations.canUndo}undo(){if(null!=this.inputState)this.view.activeTool=null;else if(this.canUndo){const t=this._editGeometryOperations.undo();this.graphic.geometry=this._editGeometryOperations.data.geometry,At(t,this._mapBounds),this._updateDisplayBounds()}}get canRedo(){return this._editGeometryOperations.canRedo}redo(){if(this.canRedo){const t=this._editGeometryOperations.redo();this.graphic.geometry=this._editGeometryOperations.data.geometry,Et(t,this._mapBounds),this._updateDisplayBounds()}}get test(){return{resizeManipulators:this._resizeManipulators,rotateManipulator:this._rotateManipulator,moveZManipulator:this._moveZManipulator,tooltip:this._tooltip}}};t([c({constructOnly:!0,nonNullable:!0})],It.prototype,"view",void 0),t([c({constructOnly:!0,nonNullable:!0})],It.prototype,"graphic",void 0),t([c({constructOnly:!0,nonNullable:!0})],It.prototype,"enableZ",void 0),t([c()],It.prototype,"enableRotation",void 0),t([c()],It.prototype,"enableScaling",void 0),t([c({constructOnly:!0,type:Bt})],It.prototype,"tooltipOptions",void 0),t([c()],It.prototype,"preserveAspectRatio",null),t([c()],It.prototype,"grabbing",void 0),t([c()],It.prototype,"inputState",void 0),t([c({readOnly:!0})],It.prototype,"type",void 0),t([c()],It.prototype,"_moveUnit",null),It=t([u("esri.views.3d.interactive.editingTools.graphicTransform3D.ExtentTransformTool")],It);const Zt="draped-elevation-changes",Ct=10,kt=80,Lt=1e-6;export{Lt as EPSILON,It as ExtentTransformTool};
|
|
5
|
+
import{_ as t}from"../../../../../chunks/tslib.es6.js";import e from"../../../../../core/Evented.js";import{makeHandle as i}from"../../../../../core/handleUtils.js";import{rad2deg as a}from"../../../../../core/mathUtils.js";import{createLength as s}from"../../../../../core/quantityUtils.js";import{watch as o,initial as r}from"../../../../../core/reactiveUtils.js";import{screenPointObjectToArray as n}from"../../../../../core/screenUtils.js";import{lengthUnitFromSpatialReference as p,getMetersPerUnitForSR as l}from"../../../../../core/unitUtils.js";import{property as h}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import{subclass as c}from"../../../../../core/accessorSupport/decorators/subclass.js";import{o as u}from"../../../../../chunks/mat4.js";import{s as d,c as m,e as _}from"../../../../../chunks/vec2.js";import{a as g}from"../../../../../chunks/vec2f64.js";import{c as v,q as y,b as f,n as S,l as M,e as b}from"../../../../../chunks/vec3.js";import{c as T,a as E}from"../../../../../chunks/vec3f64.js";import{containsXY as x}from"../../../../../geometry/support/aaBoundingRect.js";import{a as A,c as B}from"../../../../../chunks/boundedPlane.js";import{intersectRay as O,create as R,normal as j}from"../../../../../geometry/support/plane.js";import{create as G}from"../../../../../geometry/support/ray.js";import{sv2d as D,sv3d as w,sm4d as P}from"../../../../../geometry/support/vectorStacks.js";import{getGraphicEffectiveElevationInfo as z}from"../../../../../support/elevationInfoUtils.js";import{createShiftManipulator as U,OffsetMode as I,IsShiftEdgeOnScreenFlag as Z,createResizeManipulator as C,resizeNormal as H,resizeOutlineOnly as k,isDiagonalResizeHandle as L,calculateDiagonalResizeHandleScale as N,createRotatePlane as V,RotationAxis as X,calculateBoundedPlaneTranslateRotate as Y,updateRotateHeadingHandle as F,updateResizeHandle as q}from"../../../analysis/Slice/sliceToolUtils.js";import{getRotateHeadingTexture as W}from"../../../analysis/Slice/images/Factory.js";import{Manipulator3D as J}from"../../Manipulator3D.js";import{createRotateManipulator as K,getGraphicAttachmentOrigin as Q,calculateInputRotationTransform as $}from"../../manipulatorUtils.js";import{screenToZConstrained as tt,screenToRenderPlane as et}from"../dragEventPipeline3D.js";import{ManipulatorType as it}from"../ManipulatorType.js";import{canMoveZ as at}from"../manipulatorUtils.js";import{getSettings as st}from"../settings.js";import{createVisualElements as ot}from"../visualElementUtils.js";import{ManipulationType as rt}from"../manipulations/MoveManipulation.js";import{MoveXYGraphicManipulation as nt}from"../manipulations/MoveXYGraphicManipulation.js";import{PreserveAspectRatio as pt}from"./PreserveAspectRatio.js";import{OutlineVisualElement as lt}from"../../visualElements/OutlineVisualElement.js";import{evaluateElevationAlignmentAtPoint as ht}from"../../../layers/graphics/elevationAlignmentUtils.js";import{ElevationContext as ct}from"../../../layers/graphics/ElevationContext.js";import{GraphicState as ut}from"../../../layers/graphics/GraphicState.js";import{fromScreen as dt}from"../../../support/geometryUtils/ray.js";import{createManipulatorDragEventPipeline as mt,addMapDelta as _t,addScreenDelta as gt}from"../../../../interactive/dragEventPipeline.js";import{InteractiveToolBase as vt}from"../../../../interactive/InteractiveToolBase.js";import{EditGeometryOperations as yt}from"../../../../interactive/editGeometry/EditGeometryOperations.js";import{AccumulationBehaviour as ft}from"../../../../interactive/editGeometry/interfaces.js";import{AccumulationType as St}from"../../../../interactive/editGeometry/operations/UpdateVertices.js";import{mapPlaneAutoHorizontalSizeByElevationMode as Mt,calculateOrientedBounds as bt,mapPlaneToRenderPlane as Tt,apply as Et,unapply as xt}from"../../../../interactive/editGeometry/support/editPlaneUtils.js";import At from"../../../../interactive/sketch/SketchTooltipOptions.js";import{ExtentRotateTooltipInfo as Bt,ExtentScaleTooltipInfo as Ot}from"../../../../interactive/tooltip/ExtentTooltipInfos.js";import{Tooltip as Rt}from"../../../../interactive/tooltip/Tooltip.js";import{TranslateGraphicTooltipInfo as jt,TranslateGraphicZTooltipInfo as Gt}from"../../../../interactive/tooltip/TranslateTooltipInfos.js";import{autoHorizontalDistanceByElevationModeBetweenPoints as Dt}from"../../../../support/automaticLengthMeasurementUtils.js";import{multiplyOpacity as wt,unitRGBAFromColor as Pt}from"../../../../support/colorUtils.js";import{verticalSignedDistance as zt}from"../../../../support/euclideanLengthMeasurementUtils.js";let Ut=class extends(e.EventedMixin(vt)){constructor(t){super(t),this.enableZ=!0,this.enableRotation=!0,this.enableScaling=!0,this.tooltipOptions=new At,this._preserveAspectRatio=new pt,this.grabbing=!1,this.inputState=null,this.type="transform-3d",this._attachmentOrigin=null,this._outlineVisualElement=null,this._mapBounds=A(),this._mapBoundsStart=A(),this._zmax=0,this._sizeStart=null,this._displayBounds=A(),this._displayBoundsStart=A(),this._displayBoundsMarginStart=0,this._resizeHandles=[{direction:[1,0]},{direction:[1,1]},{direction:[0,1]},{direction:[-1,1]},{direction:[-1,0]},{direction:[-1,-1]},{direction:[0,-1]},{direction:[1,-1]}],this._moveXYTooltipInfo=null,this._moveZTooltipInfo=null,this._rotateTooltipInfo=null,this._scaleTooltipInfo=null,this._startAngle=0,this._endAngle=0,this._startScale=g(),this._endScale=g()}initialize(){const{view:t,graphic:e,manipulators:a}=this,s=st(t).colors,n=this._graphicState=new ut({graphic:e}),p=e.geometry;this._editGeometryOperations=yt.fromGeometry(p,t.state.viewingMode),this._graphicMoveManipulation=new nt({tool:this,view:t,graphicState:n}),this._moveZManipulator=U(t,{offsetMode:I.CENTER_ON_CALLOUT,calloutColor:s.accent,color:s.contrast,outlineColor:s.accent}),this._moveZManipulator.state|=Z,this.addHandles([this._createMoveXYGraphicDragPipeline(),o((()=>this.enableZ),(()=>this._updateManipulatorAvailability(this._moveZManipulator,it.TRANSLATE_Z))),this._createMoveZDragPipeline()]),a.add(this._moveZManipulator),this._resizeManipulators=this._resizeHandles.map((e=>{const i=C(t,e,{color:s.accent});return this.addHandles([o((()=>this.enableScaling),(()=>this._updateManipulatorAvailability(i,it.SCALE))),i.events.on("grab-changed",(t=>this._onResizeGrab(t))),this._createResizeDragPipeline(i,e)]),i})),a.addMany(this._resizeManipulators);const l=!this.view._stage?.renderView.renderingContext.driverTest.svgPremultipliesAlpha.result;this._rotateManipulatorTexture=W(t.toolViewManager.textures,{accentColor:wt(s.accent,.5),contrastColor:s.contrast,preMultiplyAlpha:l}),this._rotateManipulator=K(t,{calloutColor:Pt(s.accent),texture:this._rotateManipulatorTexture.texture}),this.addHandles([o((()=>this.enableRotation),(()=>this._updateManipulatorAvailability(this._rotateManipulator,it.ROTATE))),this._rotateManipulator.events.on("grab-changed",(t=>{this._onRotateGrab(t)})),this._createRotateDragPipeline(this._rotateManipulator)]),a.add(this._rotateManipulator),this._calculateMapBounds(),this._updateDisplayBounds();const h=ot({view:t,graphic:e,forEachManipulator:t=>this._forEachManipulator(t),onManipulatorsChanged:()=>i()});null!=h&&(this._outlineVisualElement=h.visualElement instanceof lt?h.visualElement:null),null!=this._outlineVisualElement&&this.addHandles(this._outlineVisualElement.events.on("attachment-origin-changed",(()=>this._updateDisplayBounds()))),h&&this.addHandles(h),this.addHandles([n.on("changed",(()=>this._onGeometryChanged())),o((()=>n.displaying),(()=>this._updateAllManipulatorAvailability())),o((()=>n.isDraped),(()=>this._graphicDrapedChanged()),r),t.trackGraphicState(n)]);const c=t.pointsOfInterest;this.addHandles(o((()=>c?.centerOnSurfaceFrequent.location),(()=>this._updateDisplayBounds())));const u=t=>{this.addHandles(t.events.on("grab-changed",(()=>{this.grabbing=t.grabbing,this._updateAllManipulatorAvailability()})))};this._forEachManipulator(u);const d=(t,i)=>{this.addHandles(t.events.on("immediate-click",(t=>{i===it.TRANSLATE_XY&&this.emit("immediate-click",{...t,graphic:e}),t.stopPropagation()})))};this._forEachManipulator(d),this._onGeometryChanged(),this._updateAllManipulatorAvailability(),this._initializeTooltip(),this.finishToolCreation()}destroy(){this._mapBounds=null,this._displayBounds=null,this._rotateManipulatorTexture.release(),this._graphicMoveManipulation.destroy(),this._editGeometryOperations.destroy(),this._tooltip.destroy(),this._set("view",null),this._set("graphic",null)}_initializeTooltip(){const{view:t}=this,e=this._tooltip=new Rt({view:t}),i=()=>{e.info=this._getUpdatedTooltipInfo()};this.addHandles([this.on("graphic-translate-start",i),this.on("graphic-translate",i),this.on("graphic-translate-stop",(()=>{this._moveXYTooltipInfo=null,this._moveZTooltipInfo=null,this._tooltip.clear()})),this.on("graphic-rotate-start",(t=>{this._startAngle=t.angle,i()})),this.on("graphic-rotate",(t=>{this._endAngle=t.angle,i()})),this.on("graphic-rotate-stop",(()=>{this._startAngle=0,this._endAngle=0,i()})),this.on("graphic-scale-start",(t=>{d(this._startScale,t.xScale,t.yScale),d(this._endScale,t.xScale,t.yScale),i()})),this.on("graphic-scale",(t=>{d(this._endScale,t.xScale,t.yScale),i()})),this.on("graphic-scale-stop",(()=>{d(this._startScale,0,0),d(this._endScale,0,0),i()}))]),this._forEachManipulator((t=>{this.addHandles([t.events.on("focus-changed",i),t.events.on("grab-changed",i),t.events.on("drag",(t=>{"cancel"===t.action?this._tooltip.clear():i()}))])}))}_getUpdatedTooltipInfo(){return this.tooltipOptions.enabled?this._graphicMoveManipulation.grabbing||this._graphicMoveManipulation.dragging?this._computeMoveXYTooltipInfo():this._moveZManipulator.focused?this._computeMoveZTooltipInfo():this._rotateManipulator.focused?this._computeRotateTooltipInfo():this._resizeManipulators.some((t=>t.focused))?this._computeScaleTooltipInfo():null:null}_computeMoveXYTooltipInfo(){return this._moveXYTooltipInfo??=new jt({tooltipOptions:this.tooltipOptions})}_computeMoveZTooltipInfo(){const t=this._moveZTooltipInfo??=new Gt({tooltipOptions:this.tooltipOptions}),e=this._moveUnit;if(this._moveZManipulator.dragging){const e=this._mapBoundsStart.origin,i=this._mapBounds.origin,a=zt(e,i,this.view.spatialReference);if(null==a)return null;t.distance=a}else t.distance=s(0,e);return t}_computeRotateTooltipInfo(){const t=this._rotateTooltipInfo??=new Bt({tooltipOptions:this.tooltipOptions});return t.angle=this._startAngle-this._endAngle,t}_computeScaleTooltipInfo(){const t=this.graphic.geometry;if(null==t)return null;const e=this._scaleTooltipInfo??=new Ot({tooltipOptions:this.tooltipOptions}),i=Mt(this._mapBounds,this._zmax,t.spatialReference,this._graphicState.isDraped);return null==i?null:(e.xSize=i[0],e.ySize=i[1],null!=this._sizeStart&&this._resizeManipulators.some((t=>t.dragging))?(e.xScale=i[0].value/this._sizeStart[0].value,e.yScale=i[1].value/this._sizeStart[1].value):(e.xScale=1,e.yScale=1),e)}_graphicDrapedChanged(){this.removeHandles(It),this._updateDisplayBounds(),this._graphicState.isDraped&&this.addHandles(this.view.elevationProvider.on("elevation-change",(t=>{null!=this._attachmentOrigin&&x(t.extent,this._attachmentOrigin.x,this._attachmentOrigin.y)&&this._updateDisplayBounds()})),It)}_updateAllManipulatorAvailability(){this._forEachManipulator(((t,e)=>this._updateManipulatorAvailability(t,e)))}_updateManipulatorAvailability(t,e){const i=this.grabbing&&!t.grabbing;if(t.interactive=!i,t instanceof J){const a=this._graphicState.displaying,s=this.enableZ&&at(this.graphic);switch(e){case it.ROTATE:t.available=a&&this.enableRotation;break;case it.SCALE:t.available=a&&(this.enableScaling||this.enableRotation||s),t.interactive=!i&&this.enableScaling,t.state=this.enableScaling?H:k;break;case it.TRANSLATE_Z:t.available=a&&s;break;default:t.available=a}}}_forEachManipulator(t){this._graphicMoveManipulation.forEachManipulator(t),this._resizeManipulators.forEach((e=>t(e,it.SCALE))),t(this._rotateManipulator,it.ROTATE),t(this._moveZManipulator,it.TRANSLATE_Z)}get preserveAspectRatio(){return this._preserveAspectRatio.enabled}set preserveAspectRatio(t){this._preserveAspectRatio.enabled=t,this._set("preserveAspectRatio",t)}get _moveUnit(){return p(this.view.spatialReference)??"meters"}reset(){}_onGeometryChanged(){this._updateDisplayBounds()}_calculateMapBounds(){const t=this.graphic.geometry,e=this._editGeometryOperations.data,i=e.firstNonVerticalEdge(),a=d(D.get(),1,0);i&&(m(a,i.leftVertex.pos,i.rightVertex.pos),_(a,a));const s=Q(this.view,this.graphic)??t.extent?.center;let o=s?Ct*this.view.pixelSizeAt(s):0;const r=this.view.spatialReference,n=t.spatialReference;r.equals(n)||(o*=l(r)/l(n)),bt(a,e,o,this._mapBounds),this._updateZMax()}_updateZMax(){const t=this._editGeometryOperations.data;if(!t.geometry.hasZ)return void(this._zmax=0);const e=t.coordinateHelper;let i=Number.NEGATIVE_INFINITY;for(const a of t.components)for(const t of a.vertices){const a=e.getZ(t.pos)??0;i=Math.max(a,i)}this._zmax=i}_updateDisplayBounds(){const{geometry:t}=this.graphic;if(null==t)return;const{extent:e}=t;if(!e)return;const i=null==this._outlineVisualElement||this._graphicState.isDraped||null==this._outlineVisualElement.attachmentOrigin?Q(this.view,this.graphic):this._outlineVisualElement.attachmentOrigin;this._attachmentOrigin=i??e.center;const a=null!=i?i.z:ht(this._mapBounds.origin,this.view.elevationProvider,ct.fromElevationInfo(z(this.graphic)),this.view.renderCoordsHelper),s=B(this._mapBounds);s.origin[2]=a??0,Tt(s,this.view.renderCoordsHelper,t.spatialReference,this._displayBoundsMargin,this._displayBounds),this._updateManipulators()}get _displayBoundsMargin(){const t=this.view.pointsOfInterest,e=t?t.centerOnSurfaceFrequent.location:this._editGeometryOperations.data.geometry.extent?.center;return e?Zt*this.view.pixelSizeAt(e):0}_createMoveXYGraphicDragPipeline(){return this._graphicMoveManipulation.createDragPipeline(((t,e,i)=>this._applyGraphicMoveSteps(e,i,rt.XY)))}_createMoveZDragPipeline(){const t=this.view,e=this._editGeometryOperations.data.spatialReference;return mt(this._moveZManipulator,((i,a,s)=>{const o=E(i.renderLocation),r=a.next(tt(t,o,e)).next(gt());this._applyGraphicMoveSteps(r,s,rt.Z)}))}_applyGraphicMoveSteps(t,e,i){const a=t.next((t=>("start"===t.action&&(this.inputState={type:"move"},this._updateOperationStartProperties(),this.emit("graphic-translate-start",{graphic:this.graphic,dxScreen:t.screenDeltaX,dyScreen:t.screenDeltaY})),t))).next(_t()).next(this._moveDragUpdateGeometry()).next((t=>{const e={graphic:this.graphic,dxScreen:t.screenDeltaX,dyScreen:t.screenDeltaY};switch(t.action){case"start":case"update":(t.mapEnd.x-t.mapStart.x||t.mapEnd.y-t.mapStart.y||(t.mapEnd.z??0)-(t.mapStart.z??0))&&this.emit("graphic-translate",e);break;case"end":this.inputState=null,this.emit("graphic-translate-stop",e)}return t})).next((t=>this._updateMoveTooltip(t,i)));return e.next((()=>{null!=this.inputState&&this.emit("graphic-translate-stop",{graphic:this.graphic,dxScreen:0,dyScreen:0}),this._cancel()})),a}_updateOperationStartProperties(){B(this._displayBounds,this._displayBoundsStart),B(this._mapBounds,this._mapBoundsStart),null!=this.graphic.geometry?this._sizeStart=Mt(this._mapBoundsStart,this._zmax,this.graphic.geometry.spatialReference,this._graphicState.isDraped):this._sizeStart=null}_moveDragUpdateGeometry(){return t=>{if(null==this.inputState||"move"!==this.inputState.type)return t;const e=[];for(const s of this._editGeometryOperations.data.components)e.push(...s.vertices);const i="start"===t.action?ft.NEW_STEP:ft.ACCUMULATE_STEPS,a=this._editGeometryOperations.moveVertices(e,t.mapDeltaX,t.mapDeltaY,t.mapDeltaZ,i);return Et(a,this._mapBounds),this.graphic.geometry=this._editGeometryOperations.data.geometry,t}}_updateMoveTooltip(t,e){if(e===rt.XY||e===rt.XY_AXIS){const e=Dt(t.mapStart,t.mapEnd,this._graphicState.isDraped?"on-the-ground":"absolute-height");null!=e&&null!=this._moveXYTooltipInfo&&(this._moveXYTooltipInfo.distance=e)}return t}_onResizeGrab({action:t,screenPoint:e}){if("start"!==t||!e)return;const i=this._calculatePickRay(e);O(this._displayBounds.plane,i,w.get())&&(this._updateOperationStartProperties(),this._displayBoundsMarginStart=this._displayBoundsMargin,this.inputState={type:"resize"})}_createResizeDragPipeline(t,e){return mt(t,((t,i,a)=>{null!=this.inputState&&(i.next((t=>("start"===t.action&&this.emit("graphic-scale-start",{graphic:this.graphic,xScale:1,yScale:1}),t))).next(et(this.view,this._displayBoundsStart.plane)).next((t=>({...t,handle:e}))).next(this._resizeDragRenderPlaneToFactors()).next(...this._preserveAspectRatio.createDragEventPipelineStep()).next(this._resizeDragUpdateGeometry()).next((t=>{const e={graphic:this.graphic,xScale:t.factor1,yScale:t.factor2};switch(t.action){case"start":case"update":this.emit("graphic-scale",e);break;case"end":this.inputState=null,this.emit("graphic-scale-stop",e)}return t})),a.next((()=>{null!=this.inputState&&this.emit("graphic-scale-stop",{graphic:this.graphic,xScale:1,yScale:1}),this._cancel()})))}))}_resizeDragRenderPlaneToFactors(){return t=>{const e=this._displayBoundsStart,i=t.handle.direction,a=this._displayBoundsMargin,s=this._displayBoundsMarginStart,o=v(w.get(),e.origin);y(o,o,e.basis1,-i[0]),y(o,o,e.basis2,-i[1]);const r=f(w.get(),t.renderEnd,o),n=f(w.get(),t.renderStart,o),p=L(t.handle),l=N(e),h=N(this._displayBounds)/l,c=(t,e)=>{if(0===t)return 1;let i=M(e),o=.5*t*b(e,r)/i;const l=o<0?-1:1;if(p){o+=(i-.5*t*b(e,n)/i)*l*h}const c=i<1.5*s?1:Ht;return i=Math.max(i-s,Ht),l>0&&(o-=a),l*Math.max(l*(o/i),c)};return{...t,factor1:c(i[0],e.basis1),factor2:c(i[1],e.basis2)}}}_resizeDragUpdateGeometry(){return t=>{const e=v(T(),this._mapBoundsStart.origin);y(e,e,this._mapBoundsStart.basis1,-t.handle.direction[0]),y(e,e,this._mapBoundsStart.basis2,-t.handle.direction[1]);const i=d(g(),this._mapBoundsStart.basis1[0],this._mapBoundsStart.basis1[1]);_(i,i);const a=[];for(const r of this._editGeometryOperations.data.components)a.push(...r.vertices);const s="start"===t.action?ft.NEW_STEP:ft.ACCUMULATE_STEPS,o=this._editGeometryOperations.scaleVertices(a,e,i,t.factor1,t.factor2,s,St.REPLACE);return B(this._mapBoundsStart,this._mapBounds),Et(o,this._mapBounds),this.graphic.geometry=this._editGeometryOperations.data.geometry,t}}_onRotateGrab({action:t,screenPoint:e}){if("start"!==t||!e)return;const i=V(this._displayBounds,this.view.renderCoordsHelper,X.HEADING,R()),a=this._calculatePickRay(e);O(i,a,w.get())&&(this._updateOperationStartProperties(),this.inputState={type:"rotate",rotatePlane:i})}_createRotateDragPipeline(t){return mt(t,((t,e,i)=>{const s=this.inputState;null!=s&&(e.next((t=>("start"===t.action&&this.emit("graphic-rotate-start",{graphic:this.graphic,angle:0}),t))).next(et(this.view,s.rotatePlane)).next(this._rotateDragRenderPlaneToRotate(s)).next(this._rotateDragUpdateGeometry()).next((t=>{const e={graphic:this.graphic,angle:a(t.rotateAngle)};switch(t.action){case"start":case"update":this.emit("graphic-rotate",e);break;case"end":this.inputState=null,this.emit("graphic-rotate-stop",e)}return t})),i.next((()=>{null!=this.inputState&&this.emit("graphic-rotate-stop",{graphic:this.graphic,angle:0}),this._cancel()})))}))}_rotateDragRenderPlaneToRotate(t){return e=>{const i=j(t.rotatePlane),a=$(e.renderStart,e.renderEnd,this._displayBounds.origin,i);return{...e,rotateAxis:i,rotateAngle:a}}}_rotateDragUpdateGeometry(){return t=>{const e=v(T(),this._mapBoundsStart.origin),i=[];for(const o of this._editGeometryOperations.data.components)i.push(...o.vertices);const a="start"===t.action?ft.NEW_STEP:ft.ACCUMULATE_STEPS,s=this._editGeometryOperations.rotateVertices(i,e,t.rotateAngle,a,St.REPLACE);return B(this._mapBoundsStart,this._mapBounds),Et(s,this._mapBounds),this.graphic.geometry=this._editGeometryOperations.data.geometry,t}}_calculatePickRay(t){const e=G(),i=n(t);return dt(this.view.state.camera,i,e),S(e.direction,e.direction),e}_updateManipulators(){if(!this.visible)return;const t=Y(this._displayBounds,P.get());F(this._rotateManipulator,t,this._displayBounds,this.view.renderCoordsHelper),this._updateZMoveHandle(this._moveZManipulator,t),this._resizeManipulators.forEach(((e,i)=>{q(e,this._resizeHandles[i],t,this._displayBounds)}))}_updateZMoveHandle(t,e){const i=this._displayBounds,a={basis:i.basis1,direction:-1,position:f(w.get(),i.origin,i.basis1),edge:2},s=P.get();u(s,e,a.edge*Math.PI/2),s[12]=0,s[13]=0,s[14]=0,t.modelTransform=s,t.renderLocation=a.position}_cancel(){const t=this._editGeometryOperations.lastOperation;null!=t&&(this._editGeometryOperations.undo(),this.graphic.geometry=this._editGeometryOperations.data.geometry,xt(t,this._mapBounds),this._updateDisplayBounds(),this.inputState=null)}get canUndo(){return this._editGeometryOperations.canUndo}undo(){if(null!=this.inputState)this.view.activeTool=null;else if(this.canUndo){const t=this._editGeometryOperations.undo();this.graphic.geometry=this._editGeometryOperations.data.geometry,xt(t,this._mapBounds),this._updateDisplayBounds()}}get canRedo(){return this._editGeometryOperations.canRedo}redo(){if(this.canRedo){const t=this._editGeometryOperations.redo();this.graphic.geometry=this._editGeometryOperations.data.geometry,Et(t,this._mapBounds),this._updateDisplayBounds()}}get test(){return{resizeManipulators:this._resizeManipulators,rotateManipulator:this._rotateManipulator,moveZManipulator:this._moveZManipulator,tooltip:this._tooltip}}};t([h({constructOnly:!0,nonNullable:!0})],Ut.prototype,"view",void 0),t([h({constructOnly:!0,nonNullable:!0})],Ut.prototype,"graphic",void 0),t([h({constructOnly:!0,nonNullable:!0})],Ut.prototype,"enableZ",void 0),t([h()],Ut.prototype,"enableRotation",void 0),t([h()],Ut.prototype,"enableScaling",void 0),t([h({constructOnly:!0,type:At})],Ut.prototype,"tooltipOptions",void 0),t([h()],Ut.prototype,"preserveAspectRatio",null),t([h()],Ut.prototype,"grabbing",void 0),t([h()],Ut.prototype,"inputState",void 0),t([h({readOnly:!0})],Ut.prototype,"type",void 0),t([h()],Ut.prototype,"_moveUnit",null),Ut=t([c("esri.views.3d.interactive.editingTools.graphicTransform3D.ExtentTransformTool")],Ut);const It="draped-elevation-changes",Zt=10,Ct=80,Ht=1e-6;export{Ht as EPSILON,Ut as ExtentTransformTool};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{cyclicalPI as t}from"../../../../../core/Cyclical.js";import e from"../../../../../core/Evented.js";import a from"../../../../../core/Handles.js";import{clamp as i,rad2deg as o}from"../../../../../core/mathUtils.js";import{destroyMaybe as s}from"../../../../../core/maybe.js";import{createAngle as n,createLength as r}from"../../../../../core/quantityUtils.js";import{when as l,initial as c,watch as h}from"../../../../../core/reactiveUtils.js";import{addFrameTask as p}from"../../../../../core/scheduling.js";import{createScreenPointArray as d}from"../../../../../core/screenUtils.js";import{d as u,E as g,m,k as _,e as f}from"../../../../../chunks/mat4.js";import{c as D}from"../../../../../chunks/mat4f64.js";import{s as S,b as M,l as v,d as y,f as w,a as b}from"../../../../../chunks/vec3.js";import{a as T,f as R}from"../../../../../chunks/vec3f64.js";import{fromPositionAndNormal as j,create as O,normal as I}from"../../../../../geometry/support/plane.js";import{wrap as k,distance2 as A}from"../../../../../geometry/support/ray.js";import{sv3d as F,sm4d as P}from"../../../../../geometry/support/vectorStacks.js";import{getGraphicEffectiveElevationInfo as C}from"../../../../../support/elevationInfoUtils.js";import{Manipulator3D as E}from"../../Manipulator3D.js";import{calculateInputRotationTransform as U}from"../../manipulatorUtils.js";import{RenderObject as L}from"../../RenderObject.js";import{screenToRenderPlane as z}from"../dragEventPipeline3D.js";import{ManipulatorType as x}from"../ManipulatorType.js";import{getSettings as N}from"../settings.js";import{RING_INDICATOR_DELAY_MS as H,ROTATE_INDICATOR_DIRECTION_BUFFER as V,SCALE_INDICATOR_DIRECTION_BUFFER as q,ROTATE_INDICATOR_ARROW_PLACEMENT_PERCENTAGE as B,RING_THICKNESS as G,DRAG_THRESHOLD_PX as J,RING_RADIUS as K,INNER_INDICATOR_RADIUS as Q,OUTER_INDICATOR_RADIUS as W,RING_HEIGHT as X,ROTATE_INDICATOR_ARROW_TIP_RADIUS as Y,ROTATE_INDICATOR_ARROW_TIP_LENGTH as Z,SCALE_INDICATOR_OFFSET1 as $,SCALE_INDICATOR_OFFSET2 as tt,INDICATOR_THICKNESS as et,GEOMETRY_SEGMENTS as at,ROTATE_INDICATOR_ARC_LENGTH as it,RING_RESET_ANIMATION_SPEED_FACTOR as ot,SCALE_INDICATOR_ARC_LENGTH as st}from"../manipulations/config.js";import{CullFaceOptions as nt}from"../../../webgl-engine/lib/basicInterfaces.js";import{createExtrudedTriangle as rt,transformInPlace as lt,createPathExtrusionGeometry as ct}from"../../../webgl-engine/lib/GeometryUtil.js";import{RenderOccludedFlag as ht}from"../../../webgl-engine/lib/Material.js";import{ColorMaterial as pt}from"../../../webgl-engine/materials/ColorMaterial.js";import{createManipulatorDragEventPipeline as dt}from"../../../../interactive/dragEventPipeline.js";import{ManipulatorStateCustomFlags as ut,ManipulatorStateFlags as gt}from"../../../../interactive/interfaces.js";import{Tooltip as mt}from"../../../../interactive/tooltip/Tooltip.js";import{TransformRotateTooltipInfo as _t,TransformScaleTooltipInfo as ft,TransformAbsoluteTooltipInfo as Dt}from"../../../../interactive/tooltip/TransformTooltipInfos.js";import{unitRGBAFromColor as St}from"../../../../support/colorUtils.js";var Mt,vt;!function(t){t.ScaleIn=ut.Custom2,t.ScaleOut=ut.Custom3,t.RotateLeft=ut.Custom4,t.RotateRight=ut.Custom5,t.Unlocked=ut.Custom7,t.DelayedFocused=ut.Custom8,t.TouchInput=ut.Custom12}(Mt||(Mt={}));class yt{get angle(){return this._adapter.angle}get scale(){return this._adapter.scale}set location(t){this._ringManipulator.location=t}set elevationAlignedLocation(t){this._ringManipulator.elevationAlignedLocation=t}get grabbing(){return this._ringManipulator.grabbing}set interactive(t){this._ringManipulator.interactive=t}constructor({adapter:t,tooltipOptions:i,mode:o,tool:s}){this._mode=null,this._handles=new a,this._scaleRotateDragData=null,this._activeAnimation=null,this._ringIndicatorDelayMs=H,this.events=new e,this.getFocused=()=>this._ringManipulator.focused,this.getScale=()=>"scale"===this._scaleRotateDragData?.mode?this._adapter.scale:1,this.tool=s,this._mode=o,this._adapter=t,this._tooltipOptions=i,this._tooltip=new mt({view:s.view}),this._createManipulator(),this._updateDragState(),this._updateManipulatorTransform(),this._handles.add(l((()=>!this._tooltipOptions.enabled),(()=>this._tooltip.clear()),c))}destroy(){this._activeAnimation?.frameTask.remove(),this._activeAnimation=null,this._handles=s(this._handles),this.tool.manipulators.remove(this._ringManipulator),this._ringManipulator=null,this._tooltip=s(this._tooltip)}startAnimation(t){this.cancelActiveAnimation(),t.start();const e=p({update:({deltaTime:e})=>{t.update(e)&&this.cancelActiveAnimation()}});this._activeAnimation={...t,frameTask:e}}cancelActiveAnimation(){this._activeAnimation?.frameTask.remove(),this._activeAnimation=s(this._activeAnimation)}forEachManipulator(t){t(this._ringManipulator,x.SCALE_ROTATE)}_createManipulator(){const e=this._createRingManipulator();this._ringManipulator=e,this.tool.manipulators.add(e);const a=this.tool.graphicState.graphic,s=dt(e,((e,s,n)=>{this._scaleRotateDragData=null;const r=this._adapter.startInteraction(),l={mode:"none",origin:T(e.renderLocation),initialAngle:this._adapter.angle,angle:0,angleDir:0,scaleDir:0};this._scaleRotateDragData=l,this._updateDragState();const c=F.get();this.tool.view.renderCoordsHelper.worldUpAtPosition(e.renderLocation,c),s.next(z(this.tool.view,j(e.renderLocation,c,O()))).next((e=>{const s=I(e.plane),n=U(e.renderStart,e.renderEnd,l.origin,s),c=t.shortestSignedDiff(l.angle,n);l.angleDir=i(l.angleDir+c,-V,V),l.angle=n;const h=wt(l,e),p=h-this._adapter.scale;if(l.scaleDir=i(l.scaleDir+p,-q,q),this._onScaleChanged(),"none"===l.mode){const t=this._mode||bt(e,e.plane,l.origin,this.tool.view.state.camera);if(null!=t){switch(t){case"rotate":this.tool.emit("graphic-rotate-start",{graphic:a,angle:0}),this.tool.emit("record-undo",{record:this._adapter.createUndoRecord()});break;case"scale":this.tool.emit("graphic-scale-start",{graphic:a,xScale:1,yScale:1}),this.tool.emit("record-undo",{record:this._adapter.createUndoRecord()})}l.mode=t}}switch(l.mode){case"rotate":r.state.angle=l.initialAngle+n;break;case"scale":r.state.scale=h,this._onScaleChanged()}switch(this._updateDragState(),this._updateManipulatorTransform(),e.action){case"start":case"update":switch(l.mode){case"rotate":this.tool.emit("graphic-rotate",{graphic:a,angle:o(l.angle)});break;case"scale":this.tool.emit("graphic-scale",{graphic:a,xScale:h,yScale:h})}break;case"end":switch(l.mode){case"rotate":this.tool.emit("graphic-rotate-stop",{graphic:a,angle:o(l.angle)});break;case"scale":this.tool.emit("graphic-scale-stop",{graphic:a,xScale:h,yScale:h})}}return"end"===e.action&&(this.startAnimation(Rt(this,(()=>this._onScaleChanged()))),this._scaleRotateDragData=null,this._updateDragState(),r.done()),e})).next(this._updateTooltipPipelineStep(l)),n.next((()=>{if(r.cancel(),null!=this._scaleRotateDragData){switch(this._scaleRotateDragData.mode){case"none":break;case"rotate":this.tool.emit("graphic-rotate-stop",{graphic:a,angle:0});break;case"scale":this.tool.emit("graphic-scale-stop",{graphic:a,xScale:1,yScale:1})}this.startAnimation(Rt(this,(()=>this._onScaleChanged()))),this._scaleRotateDragData=null,this._updateDragState()}this._updateFocusTooltip()}))}));this._handles.add([s,e.events.on("focus-changed",(t=>{"focus"===t.action?this.startAnimation(jt(this,(()=>this._updateDelayedFocusedState()),{delayMs:this._ringIndicatorDelayMs})):this._updateDelayedFocusedState()})),e.events.on("immediate-click",(t=>{t.stopPropagation()})),h((()=>this.tool.graphicState?.displaying),(t=>this._ringManipulator.available=t),c)])}_updateTooltipPipelineStep(t){return e=>{const a=this._tooltipOptions;if(!a.enabled)return e;if("end"===e.action)return this._updateFocusTooltip(),e;const i=this._tooltip,o=this._tooltipOptions.visualVariables;switch(t.mode){case"scale":{const{size:t,scale:e}=this._adapter,s=o?.size;i.info=new ft({tooltipOptions:a,scale:{value:e},size:null!=t?r(t,"meters"):void 0,sizePrecision:Ot(s?.valueType),sizeUnit:s?.unit});break}case"rotate":{const{orientationClockwise:t,relativeAngleClockwise:e}=this._adapter,s=o?.rotation,r=Ot(s?.valueType);i.info=new _t({tooltipOptions:a,rotation:null!=e?n(e,"radians","geographic"):void 0,rotationPrecision:r,rotationType:s?.rotationType??"geographic",orientation:null!=t?n(t,"radians","geographic"):void 0,orientationPrecision:r})}}return e}}_updateFocusTooltip(){if(!this._tooltipOptions.enabled)return;if(this.getFocused()){const t=this._tooltipOptions.visualVariables,e=t?.rotation,a=t?.size,i=this._mode,{size:o,orientationClockwise:s}=this._adapter,l=null!=s&&(null==i||"rotate"===i),c=null!=o&&(null==i||"scale"===i);this._tooltip.info=new Dt({tooltipOptions:this._tooltipOptions,orientation:l?n(s,"radians","geographic"):void 0,orientationPrecision:Ot(e?.valueType),rotationType:e?.rotationType??"geographic",size:c?r(o,"meters"):void 0,sizeUnit:a?.unit,sizePrecision:Ot(a?.valueType)})}else this._tooltip.clear()}_onScaleChanged(){this.events.emit("scale-changed"),this._updateManipulatorTransform()}_updateDelayedFocusedState(){this._ringManipulator.updateStateEnabled(Mt.DelayedFocused,this.getFocused()),this._updateFocusTooltip()}_updateDragState(){if(this._ringManipulator.updateStateEnabled(Mt.Unlocked,!(null!=this._scaleRotateDragData&&"none"!==this._scaleRotateDragData?.mode)),null!=this._scaleRotateDragData)switch(this._scaleRotateDragData.mode){case"rotate":this._ringManipulator.updateStateEnabled(Mt.ScaleIn|Mt.ScaleOut,!1),this._ringManipulator.updateStateEnabled(Mt.RotateLeft,this._scaleRotateDragData.angleDir<0),this._ringManipulator.updateStateEnabled(Mt.RotateRight,this._scaleRotateDragData.angleDir>=0);break;case"scale":this._ringManipulator.updateStateEnabled(Mt.RotateLeft|Mt.RotateRight,!1),this._ringManipulator.updateStateEnabled(Mt.ScaleIn,this._scaleRotateDragData.scaleDir<0),this._ringManipulator.updateStateEnabled(Mt.ScaleOut,this._scaleRotateDragData.scaleDir>=0)}else this._ringManipulator.updateStateEnabled(Mt.ScaleIn|Mt.ScaleOut|Mt.RotateLeft|Mt.RotateRight,!1)}_updateManipulatorTransform(){const t=u(P.get(),this._adapter.angle,R(0,0,1));if(null==t)return;const e=this.getScale(),a=g(P.get(),S(F.get(),e,e,e));this._ringManipulator.modelTransform=m(P.get(),a,t)}_createRingManipulator(){const t=(t,e,a)=>{const i=[],o=Math.ceil(at*(e-t)/(2*Math.PI));for(let s=0;s<o+1;s++){const n=t+s*(e-t)/o;i.push(R(a*Math.cos(n),a*Math.sin(n),0))}return i},e=e=>t(0,2*Math.PI,e),a=t=>[[-t/2,0],[t/2,0],[t/2,X/2],[-t/2,X/2]],i=this._createMaterial(1),o=(t,e,o=i)=>ct(o,a(e),t,[],[],!1),s=e(K),n=o(s,G),r={left:new Array,right:new Array},l=[];for(let R=0;R<2;R++){const e=R*Math.PI-Math.PI/4,a=Math.PI/2-it,s=e+a,n=e+Math.PI/2-a,c=t(s,n,Q),h=o(c,et);l.push(c),l.push(t(s,n,W-G/2)),r.left.push(h),r.right.push(h.instantiate());for(let t=0;t<2;t++){const e=0===t,a=D();if(e){_(a,a,[1,-1,1]),f(a,a,-s,[0,0,1]);const t=Math.round(B*(c.length-1));a[12]=c[t][0],a[13]=c[t][1],a[14]=c[t][2]}else{f(a,a,n,[0,0,1]);const t=Math.round((1-B)*(c.length-1));a[12]=c[t][0],a[13]=c[t][1],a[14]=c[t][2]}const o=rt(i,Z,0,Y,X);lt(o,a),(e?r.left:r.right).push(o)}}const c=[];for(let _=0;_<2;_++){const e=_*Math.PI-Math.PI/4,a=Math.PI/2-st,i=e+a,s=e+Math.PI/2-a,n=t(i,s,W);c.push(o(n,et))}const h=this._createMaterial(.66),p=this._createMaterial(.5),d=this._createMaterial(.33),u=e(K+$),g=e(K+tt),m=o(u,et,h),S=o(g,et,d),M=e(K-$),v=e(K-tt),y=o(M,et,h),w=o(v,et,d);let b=[new L(n,Mt.DelayedFocused),new L(n.instantiate({material:p}),gt.None)];this._mode&&"scale"!==this._mode||(b=b.concat([...c.map((t=>new L(t,Mt.DelayedFocused|Mt.Unlocked))),new L(m,Mt.DelayedFocused|Mt.ScaleIn),new L(S,Mt.DelayedFocused|Mt.ScaleIn),new L(y,Mt.DelayedFocused|Mt.ScaleOut),new L(w,Mt.DelayedFocused|Mt.ScaleOut)])),this._mode&&"rotate"!==this._mode||(b=b.concat([...r.right.map((t=>new L(t.instantiate(),Mt.DelayedFocused|Mt.Unlocked))),...r.left.map((t=>new L(t,Mt.DelayedFocused|Mt.RotateLeft))),...r.right.map((t=>new L(t,Mt.DelayedFocused|Mt.RotateRight)))]));const T=[s,...l];return new E({view:this.tool.view,renderObjects:b,autoScaleRenderObjects:!1,worldOriented:!0,radius:G,focusMultiplier:1,touchMultiplier:1.5,elevationInfo:C(this.tool.graphicState.graphic),collisionType:{type:"ribbon",paths:T,direction:R(0,0,1)}})}_createMaterial(t){const e=N(this.tool.view).colors.accent.clone();return e.a=t,new pt({color:St(e),transparent:1!==t,cullFace:nt.Back,renderOccluded:ht.Transparent})}get test(){return{ringManipulator:this._ringManipulator,setRingIndicatorDelayMs:t=>this._ringIndicatorDelayMs=t,tooltip:this._tooltip}}}function wt(t,e){const a=M(F.get(),e.renderStart,t.origin),i=M(F.get(),e.renderEnd,t.origin),o=v(a),s=v(i);return 0===o?0:s/o}function bt(t,e,a,i){const{renderStart:o,renderEnd:s}=t,n=Tt(o,i,F.get()),r=Tt(s,i,F.get());if(y(n,r)<J*J)return null;const l=M(F.get(),o,a),c=w(F.get(),l,I(e)),h=o,p=b(F.get(),h,c),d=Tt(a,i,F.get()),u=n,g=Tt(p,i,F.get()),m=M(F.get(),g,u),_=M(F.get(),n,d),f=k(u,m),D=k(d,_);return A(f,r)<A(D,r)?"rotate":"scale"}function Tt(t,e,a){return e.projectToScreen(t,It),S(a,It[0],It[1],0)}function Rt(t,e){let a=null,i=1;const o=()=>i;return{start:()=>{i=t.getScale(),a=t.getScale,t.getScale=o,e()},update:t=>(i+=((i+1)/2-i)*Math.min(t*ot,1),e(),Math.abs(i-1)<.01?vt.STOP:vt.CONTINUE),destroy:()=>{a&&(t.getScale=a),e()}}}function jt(t,e,a){let i=0,o=null;const s=()=>!1;return{start:()=>{o=t.getFocused,t.getFocused=s,i=0,e()},update:t=>(i+=t,!o?.()||i>=a.delayMs?vt.STOP:vt.CONTINUE),destroy:()=>{o&&(t.getFocused=o),e()}}}function Ot(t){switch(t){case"integer":case"long":return 0;default:return null}}!function(t){t[t.CONTINUE=0]="CONTINUE",t[t.STOP=1]="STOP"}(vt||(vt={}));const It=d();export{yt as GraphicScaleRotateTransform};
|
|
5
|
+
import{cyclicalPI as t}from"../../../../../core/Cyclical.js";import e from"../../../../../core/Evented.js";import a from"../../../../../core/Handles.js";import{clamp as i,rad2deg as o}from"../../../../../core/mathUtils.js";import{destroyMaybe as s}from"../../../../../core/maybe.js";import{createAngle as n,createLength as r}from"../../../../../core/quantityUtils.js";import{when as l,initial as c,watch as h}from"../../../../../core/reactiveUtils.js";import{addFrameTask as p}from"../../../../../core/scheduling.js";import{createScreenPointArray as d}from"../../../../../core/screenUtils.js";import{d as u,E as g,m,k as _,e as f}from"../../../../../chunks/mat4.js";import{c as D}from"../../../../../chunks/mat4f64.js";import{s as S,b as M,l as v,d as y,f as w,a as b}from"../../../../../chunks/vec3.js";import{a as T,f as R}from"../../../../../chunks/vec3f64.js";import{fromPositionAndNormal as j,create as O,normal as I}from"../../../../../geometry/support/plane.js";import{wrap as k,distance2 as A}from"../../../../../geometry/support/ray.js";import{sv3d as F,sm4d as P}from"../../../../../geometry/support/vectorStacks.js";import{getGraphicEffectiveElevationInfo as C}from"../../../../../support/elevationInfoUtils.js";import{Manipulator3D as E}from"../../Manipulator3D.js";import{calculateInputRotationTransform as U}from"../../manipulatorUtils.js";import{RenderObject as L}from"../../RenderObject.js";import{screenToRenderPlane as z}from"../dragEventPipeline3D.js";import{ManipulatorType as x}from"../ManipulatorType.js";import{getSettings as N}from"../settings.js";import{RING_INDICATOR_DELAY_MS as H,ROTATE_INDICATOR_DIRECTION_BUFFER as V,SCALE_INDICATOR_DIRECTION_BUFFER as q,ROTATE_INDICATOR_ARROW_PLACEMENT_PERCENTAGE as B,RING_THICKNESS as G,DRAG_THRESHOLD_PX as J,RING_RADIUS as K,INNER_INDICATOR_RADIUS as Q,OUTER_INDICATOR_RADIUS as W,RING_HEIGHT as X,ROTATE_INDICATOR_ARROW_TIP_RADIUS as Y,ROTATE_INDICATOR_ARROW_TIP_LENGTH as Z,SCALE_INDICATOR_OFFSET1 as $,SCALE_INDICATOR_OFFSET2 as tt,INDICATOR_THICKNESS as et,GEOMETRY_SEGMENTS as at,ROTATE_INDICATOR_ARC_LENGTH as it,RING_RESET_ANIMATION_SPEED_FACTOR as ot,SCALE_INDICATOR_ARC_LENGTH as st}from"../manipulations/config.js";import{CullFaceOptions as nt}from"../../../webgl-engine/lib/basicInterfaces.js";import{createExtrudedTriangle as rt,transformInPlace as lt,createPathExtrusionGeometry as ct}from"../../../webgl-engine/lib/GeometryUtil.js";import{RenderOccludedFlag as ht}from"../../../webgl-engine/lib/Material.js";import{ColorMaterial as pt}from"../../../webgl-engine/materials/ColorMaterial.js";import{createManipulatorDragEventPipeline as dt}from"../../../../interactive/dragEventPipeline.js";import{ManipulatorStateCustomFlags as ut,ManipulatorStateFlags as gt}from"../../../../interactive/interfaces.js";import{Tooltip as mt}from"../../../../interactive/tooltip/Tooltip.js";import{TransformRotateTooltipInfo as _t,TransformScaleTooltipInfo as ft,TransformAbsoluteTooltipInfo as Dt}from"../../../../interactive/tooltip/TransformTooltipInfos.js";import{unitRGBAFromColor as St}from"../../../../support/colorUtils.js";var Mt,vt;!function(t){t.ScaleIn=ut.Custom2,t.ScaleOut=ut.Custom3,t.RotateLeft=ut.Custom4,t.RotateRight=ut.Custom5,t.Unlocked=ut.Custom7,t.DelayedFocused=ut.Custom8,t.TouchInput=ut.Custom12}(Mt||(Mt={}));class yt{get angle(){return this._adapter.angle}get scale(){return this._adapter.scale}set location(t){this._ringManipulator.location=t}set elevationAlignedLocation(t){this._ringManipulator.elevationAlignedLocation=t}get grabbing(){return this._ringManipulator.grabbing}set interactive(t){this._ringManipulator.interactive=t}constructor({adapter:t,tooltipOptions:i,mode:o,tool:s}){this._mode=null,this._handles=new a,this._scaleRotateDragData=null,this._activeAnimation=null,this._ringIndicatorDelayMs=H,this.events=new e,this.getFocused=()=>this._ringManipulator.focused,this.getScale=()=>"scale"===this._scaleRotateDragData?.mode?this._adapter.scale:1,this.tool=s,this._mode=o,this._adapter=t,this._tooltipOptions=i,this._tooltip=new mt({view:s.view}),this._createManipulator(),this._updateDragState(),this._updateManipulatorTransform(),this._handles.add(l((()=>!this._tooltipOptions.enabled),(()=>this._tooltip.clear()),c))}destroy(){this._activeAnimation?.frameTask.remove(),this._activeAnimation=null,this._handles=s(this._handles),this.tool.manipulators.remove(this._ringManipulator),this._ringManipulator=null,this._tooltip=s(this._tooltip)}startAnimation(t){this.cancelActiveAnimation(),t.start();const e=p({update:({deltaTime:e})=>{t.update(e)&&this.cancelActiveAnimation()}});this._activeAnimation={...t,frameTask:e}}cancelActiveAnimation(){this._activeAnimation?.frameTask.remove(),this._activeAnimation=s(this._activeAnimation)}forEachManipulator(t){t(this._ringManipulator,x.SCALE_ROTATE)}_createManipulator(){const e=this._createRingManipulator();this._ringManipulator=e,this.tool.manipulators.add(e);const a=this.tool.graphicState.graphic,s=dt(e,((e,s,n)=>{this._scaleRotateDragData=null;const r=this._adapter.startInteraction(),l={mode:"none",origin:T(e.renderLocation),initialAngle:this._adapter.angle,angle:0,angleDir:0,scaleDir:0};this._scaleRotateDragData=l,this._updateDragState();const c=F.get();this.tool.view.renderCoordsHelper.worldUpAtPosition(e.renderLocation,c),s.next(z(this.tool.view,j(e.renderLocation,c,O()))).next((e=>{const s=I(e.plane),n=U(e.renderStart,e.renderEnd,l.origin,s),c=t.shortestSignedDiff(l.angle,n);l.angleDir=i(l.angleDir+c,-V,V),l.angle=n;const h=wt(l,e),p=h-this._adapter.scale;if(l.scaleDir=i(l.scaleDir+p,-q,q),this._onScaleChanged(),"none"===l.mode){const t=this._mode||bt(e,e.plane,l.origin,this.tool.view.state.camera);if(null!=t){switch(t){case"rotate":this.tool.emit("graphic-rotate-start",{graphic:a,angle:0}),this.tool.emit("record-undo",{record:this._adapter.createUndoRecord()});break;case"scale":this.tool.emit("graphic-scale-start",{graphic:a,xScale:1,yScale:1}),this.tool.emit("record-undo",{record:this._adapter.createUndoRecord()})}l.mode=t}}switch(l.mode){case"rotate":r.state.angle=l.initialAngle+n;break;case"scale":r.state.scale=h,this._onScaleChanged()}switch(this._updateDragState(),this._updateManipulatorTransform(),e.action){case"start":case"update":switch(l.mode){case"rotate":this.tool.emit("graphic-rotate",{graphic:a,angle:o(l.angle)});break;case"scale":this.tool.emit("graphic-scale",{graphic:a,xScale:h,yScale:h})}break;case"end":switch(l.mode){case"rotate":this.tool.emit("graphic-rotate-stop",{graphic:a,angle:o(l.angle)});break;case"scale":this.tool.emit("graphic-scale-stop",{graphic:a,xScale:h,yScale:h})}}return"end"===e.action&&(this.startAnimation(Rt(this,(()=>this._onScaleChanged()))),this._scaleRotateDragData=null,this._updateDragState(),r.done()),e})).next(this._updateTooltipPipelineStep(l)),n.next((()=>{if(r.cancel(),null!=this._scaleRotateDragData){switch(this._scaleRotateDragData.mode){case"none":break;case"rotate":this.tool.emit("graphic-rotate-stop",{graphic:a,angle:0});break;case"scale":this.tool.emit("graphic-scale-stop",{graphic:a,xScale:1,yScale:1})}this.startAnimation(Rt(this,(()=>this._onScaleChanged()))),this._scaleRotateDragData=null,this._updateDragState()}this._updateFocusTooltip()}))}));this._handles.add([s,e.events.on("focus-changed",(t=>{"focus"===t.action?this.startAnimation(jt(this,(()=>this._updateDelayedFocusedState()),{delayMs:this._ringIndicatorDelayMs})):this._updateDelayedFocusedState()})),e.events.on("immediate-click",(t=>{t.stopPropagation()})),h((()=>this.tool.graphicState?.displaying),(t=>this._ringManipulator.available=t),c)])}_updateTooltipPipelineStep(t){return e=>{const a=this._tooltipOptions;if(!a.enabled)return e;if("end"===e.action)return this._updateFocusTooltip(),e;const i=this._tooltip,o=this._tooltipOptions.visualVariables;switch(t.mode){case"scale":{const{size:t,scale:e}=this._adapter,s=o?.size;i.info=new ft({tooltipOptions:a,scale:{value:e},size:null!=t?r(t,"meters"):void 0,sizePrecision:Ot(s?.valueType),sizeUnit:s?.unit});break}case"rotate":{const{orientationClockwise:t,relativeAngleClockwise:e}=this._adapter,s=o?.rotation,r=Ot(s?.valueType);i.info=new _t({tooltipOptions:a,rotation:null!=e?n(e,"radians","geographic"):void 0,rotationPrecision:r,rotationType:s?.rotationType??"geographic",orientation:null!=t?n(t,"radians","geographic"):void 0,orientationPrecision:r})}}return e}}_updateFocusTooltip(){if(!this._tooltipOptions.enabled)return;if(this.getFocused()){const t=this._tooltipOptions.visualVariables,e=t?.rotation,a=t?.size,i=this._mode,{size:o,orientationClockwise:s}=this._adapter,l=null!=s&&(null==i||"rotate"===i),c=null!=o&&(null==i||"scale"===i);this._tooltip.info=new Dt({tooltipOptions:this._tooltipOptions,orientation:l?n(s,"radians","geographic"):void 0,orientationPrecision:Ot(e?.valueType),rotationType:e?.rotationType??"geographic",size:c?r(o,"meters"):void 0,sizeUnit:a?.unit,sizePrecision:Ot(a?.valueType)})}else this._tooltip.clear()}_onScaleChanged(){this.events.emit("scale-changed"),this._updateManipulatorTransform()}_updateDelayedFocusedState(){this._ringManipulator.updateStateEnabled(Mt.DelayedFocused,this.getFocused()),this._updateFocusTooltip()}_updateDragState(){if(this._ringManipulator.updateStateEnabled(Mt.Unlocked,!(null!=this._scaleRotateDragData&&"none"!==this._scaleRotateDragData?.mode)),null!=this._scaleRotateDragData)switch(this._scaleRotateDragData.mode){case"rotate":this._ringManipulator.updateStateEnabled(Mt.ScaleIn|Mt.ScaleOut,!1),this._ringManipulator.updateStateEnabled(Mt.RotateLeft,this._scaleRotateDragData.angleDir<0),this._ringManipulator.updateStateEnabled(Mt.RotateRight,this._scaleRotateDragData.angleDir>=0);break;case"scale":this._ringManipulator.updateStateEnabled(Mt.RotateLeft|Mt.RotateRight,!1),this._ringManipulator.updateStateEnabled(Mt.ScaleIn,this._scaleRotateDragData.scaleDir<0),this._ringManipulator.updateStateEnabled(Mt.ScaleOut,this._scaleRotateDragData.scaleDir>=0)}else this._ringManipulator.updateStateEnabled(Mt.ScaleIn|Mt.ScaleOut|Mt.RotateLeft|Mt.RotateRight,!1)}_updateManipulatorTransform(){const t=u(P.get(),this._adapter.angle,R(0,0,1));if(null==t)return;const e=this.getScale(),a=g(P.get(),S(F.get(),e,e,e));this._ringManipulator.modelTransform=m(P.get(),a,t)}_createRingManipulator(){const t=(t,e,a)=>{const i=[],o=Math.ceil(at*(e-t)/(2*Math.PI));for(let s=0;s<o+1;s++){const n=t+s*(e-t)/o;i.push(R(a*Math.cos(n),a*Math.sin(n),0))}return i},e=e=>t(0,2*Math.PI,e),a=t=>[[-t/2,0],[t/2,0],[t/2,X/2],[-t/2,X/2]],i=this._createMaterial(1),o=(t,e,o=i)=>ct(o,a(e),t,[],[],!1),s=e(K),n=o(s,G),r={left:new Array,right:new Array},l=[];for(let R=0;R<2;R++){const e=R*Math.PI-Math.PI/4,a=Math.PI/2-it,s=e+a,n=e+Math.PI/2-a,c=t(s,n,Q),h=o(c,et);l.push(c),l.push(t(s,n,W-G/2)),r.left.push(h),r.right.push(h.instantiate());for(let t=0;t<2;t++){const e=0===t,a=D();if(e){_(a,a,[1,-1,1]),f(a,a,-s,[0,0,1]);const t=Math.round(B*(c.length-1));a[12]=c[t][0],a[13]=c[t][1],a[14]=c[t][2]}else{f(a,a,n,[0,0,1]);const t=Math.round((1-B)*(c.length-1));a[12]=c[t][0],a[13]=c[t][1],a[14]=c[t][2]}const o=rt(i,Z,0,Y,X);lt(o,a),(e?r.left:r.right).push(o)}}const c=[];for(let _=0;_<2;_++){const e=_*Math.PI-Math.PI/4,a=Math.PI/2-st,i=e+a,s=e+Math.PI/2-a,n=t(i,s,W);c.push(o(n,et))}const h=this._createMaterial(.66),p=this._createMaterial(.5),d=this._createMaterial(.33),u=e(K+$),g=e(K+tt),m=o(u,et,h),S=o(g,et,d),M=e(K-$),v=e(K-tt),y=o(M,et,h),w=o(v,et,d);let b=[new L(n,Mt.DelayedFocused),new L(n.instantiate({material:p}),gt.None)];this._mode&&"scale"!==this._mode||(b=b.concat([...c.map((t=>new L(t,Mt.DelayedFocused|Mt.Unlocked))),new L(m,Mt.DelayedFocused|Mt.ScaleIn),new L(S,Mt.DelayedFocused|Mt.ScaleIn),new L(y,Mt.DelayedFocused|Mt.ScaleOut),new L(w,Mt.DelayedFocused|Mt.ScaleOut)])),this._mode&&"rotate"!==this._mode||(b=b.concat([...r.right.map((t=>new L(t.instantiate(),Mt.DelayedFocused|Mt.Unlocked))),...r.left.map((t=>new L(t,Mt.DelayedFocused|Mt.RotateLeft))),...r.right.map((t=>new L(t,Mt.DelayedFocused|Mt.RotateRight)))]));const T=[s,...l];return new E({view:this.tool.view,renderObjects:b,autoScaleRenderObjects:!1,worldOriented:!0,radius:G,focusMultiplier:1,touchMultiplier:1.5,elevationInfo:C(this.tool.graphicState.graphic),collisionType:{type:"ribbon",paths:T,direction:R(0,0,1)}})}_createMaterial(t){const e=N(this.tool.view).colors.accent.clone();return e.a=t,new pt({color:St(e),transparent:1!==t,cullFace:nt.Back,renderOccluded:ht.Transparent,isDecoration:!0})}get test(){return{ringManipulator:this._ringManipulator,setRingIndicatorDelayMs:t=>this._ringIndicatorDelayMs=t,tooltip:this._tooltip}}}function wt(t,e){const a=M(F.get(),e.renderStart,t.origin),i=M(F.get(),e.renderEnd,t.origin),o=v(a),s=v(i);return 0===o?0:s/o}function bt(t,e,a,i){const{renderStart:o,renderEnd:s}=t,n=Tt(o,i,F.get()),r=Tt(s,i,F.get());if(y(n,r)<J*J)return null;const l=M(F.get(),o,a),c=w(F.get(),l,I(e)),h=o,p=b(F.get(),h,c),d=Tt(a,i,F.get()),u=n,g=Tt(p,i,F.get()),m=M(F.get(),g,u),_=M(F.get(),n,d),f=k(u,m),D=k(d,_);return A(f,r)<A(D,r)?"rotate":"scale"}function Tt(t,e,a){return e.projectToScreen(t,It),S(a,It[0],It[1],0)}function Rt(t,e){let a=null,i=1;const o=()=>i;return{start:()=>{i=t.getScale(),a=t.getScale,t.getScale=o,e()},update:t=>(i+=((i+1)/2-i)*Math.min(t*ot,1),e(),Math.abs(i-1)<.01?vt.STOP:vt.CONTINUE),destroy:()=>{a&&(t.getScale=a),e()}}}function jt(t,e,a){let i=0,o=null;const s=()=>!1;return{start:()=>{o=t.getFocused,t.getFocused=s,i=0,e()},update:t=>(i+=t,!o?.()||i>=a.delayMs?vt.STOP:vt.CONTINUE),destroy:()=>{o&&(t.getFocused=o),e()}}}function Ot(t){switch(t){case"integer":case"long":return 0;default:return null}}!function(t){t[t.CONTINUE=0]="CONTINUE",t[t.STOP=1]="STOP"}(vt||(vt={}));const It=d();export{yt as GraphicScaleRotateTransform};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../../chunks/tslib.es6.js";import e from"../../../../../core/Evented.js";import{HandleOwnerMixin as i}from"../../../../../core/HandleOwner.js";import{makeHandle as a}from"../../../../../core/handleUtils.js";import{destroyMaybe as o}from"../../../../../core/maybe.js";import{scale as n,zeroMeters as s}from"../../../../../core/quantityUtils.js";import{watch as r,syncAndInitial as l}from"../../../../../core/reactiveUtils.js";import{property as p}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import{subclass as c}from"../../../../../core/accessorSupport/decorators/subclass.js";import h from"../../../../../geometry/Point.js";import{getGraphicEffectiveElevationInfo as u}from"../../../../../support/elevationInfoUtils.js";import{ViewingMode as m}from"../../../../ViewingMode.js";import{Manipulator3D as d}from"../../Manipulator3D.js";import{placeAtGraphic as g}from"../../manipulatorUtils.js";import{SnappingVisualizer3D as v}from"../../SnappingVisualizer3D.js";import{canMoveZ as _}from"../manipulatorUtils.js";import{meshTransformFastUpdateHandles as M}from"../meshFastUpdateUtils.js";import{createVisualElements as f}from"../visualElementUtils.js";import{ALIGN_ARROWS_SCALE_THRESHOLD as y}from"../manipulations/config.js";import{MoveManipulation as S,ManipulationType as R}from"../manipulations/MoveManipulation.js";import{axisConstrainedDragSign as w}from"../manipulations/moveUtils.js";import{GraphicScaleRotateTransform as b}from"./GraphicScaleRotateTransform.js";import{ScaleRotateMeshAdapter as j}from"./ScaleRotateMeshAdapter.js";import{ScaleRotateObjectSymbol3DAdapter as A}from"./ScaleRotateObjectSymbol3DAdapter.js";import{createGraphicGeometryUndoRecord as T}from"./undoRecords.js";import{GraphicState as x}from"../../../layers/graphics/GraphicState.js";import{sceneSnappingAtProjectedLocation as O}from"../../../../interactive/dragEventPipeline.js";import{InteractiveToolBase as E}from"../../../../interactive/InteractiveToolBase.js";import{EditGeometryOperations as G}from"../../../../interactive/editGeometry/EditGeometryOperations.js";import U from"../../../../interactive/sketch/SketchTooltipOptions.js";import{SnappingContext as z}from"../../../../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as D}from"../../../../interactive/snapping/SnappingDragPipelineStep.js";import{Tooltip as I}from"../../../../interactive/tooltip/Tooltip.js";import{TranslateGraphicZTooltipInfo as k,TranslateGraphicXYTooltipInfo as C,TranslateGraphicTooltipInfo as L}from"../../../../interactive/tooltip/TranslateTooltipInfos.js";import{autoHorizontalDistanceByElevationModeBetweenPoints as Z}from"../../../../support/automaticLengthMeasurementUtils.js";import{verticalSignedDistanceBetweenPoints as H}from"../../../../support/euclideanLengthMeasurementUtils.js";let X=class extends(i(e.EventedMixin(E))){constructor(t){super(t),this.enableZ=!0,this.enableRotation=!0,this.enableScaling=!0,this.tooltipOptions=new U,this.type="transform-3d",this._scaleRotate=null,this._tooltip=null}initialize(){const{graphic:t,view:e}=this;this.graphicState=new x({graphic:t}),this.addHandles(r((()=>this.tooltipOptions.enabled),(t=>{this._tooltip=t?new I({view:e}):o(this._tooltip)}),l)),this._moveManipulation=new S({tool:this,view:e,snapToScene:this.snapToScene,xyAvailable:!0,xyAxisAvailable:!0,zAvailable:this.enableZ&&_(t),radius:S.radiusForSymbol(t.symbol)}),this._moveManipulation.forEachManipulator((e=>this.handles.add(e.events.on("immediate-click",(e=>{this.emit("immediate-click",{...e,graphic:t}),e.stopPropagation()})))));const i=t=>e=>{this.handles.add(e.events.on("focus-changed",(({action:e})=>{const i=this._tooltip;null!=i&&("focus"===e?this._updateMoveTooltip(t):i.clear())})))};this._moveManipulation.xyManipulation.forEachManipulator(i(R.XY)),this._moveManipulation.xyAxisManipulation.forEachManipulator(i(R.XY_AXIS)),this._moveManipulation.zManipulation.forEachManipulator(i(R.Z));const n=u(t);this._moveManipulation.elevationInfo=n,this.addHandles(M(this.graphicState));const{geometry:s}=t;if(this._moveManipulation.createGraphicDragPipeline(((i,a,o,r,l)=>{if(null!=s&&i===R.XY){const{snappingStep:i,cancelSnapping:a}=D({snappingContext:new z({elevationInfo:n,pointer:l,editGeometryOperations:G.fromGeometry(new h({spatialReference:s.spatialReference}),e.state.viewingMode),visualizer:new v,excludeFeature:t}),snappingManager:this.snappingManager,updatingHandles:this.updatingHandles,useZ:!1});r=r.next(a),o=o.next(O(this.view,n)).next(...i)}return{steps:o=o.next((t=>(this._updateMoveTooltip(i,t),t))),cancel:r}}),this.graphicState,(t=>{const{action:e,graphic:i,dxScreen:a,dyScreen:o}=t,n={graphic:i,dxScreen:a,dyScreen:o};switch(e){case"start":this.emit("graphic-translate-start",n),this.emit("record-undo",{record:this._createGeometryUndoRecord()});break;case"update":this.emit("graphic-translate",n);break;case"end":this.emit("graphic-translate-stop",n)}})),this._moveManipulation.angle=null!=this._scaleRotate?this._scaleRotate.angle:0,this._scaleRotateAdapter=this._createScaleRotateAdapter(),this.handles.add(r((()=>this._scaleRotateAdapter.angle),(()=>this._updateMoveAngle()))),this.enableScaling||this.enableRotation){const t=this.enableScaling&&this.enableRotation?null:this.enableScaling?"scale":"rotate";this._scaleRotate=new b({tool:this,mode:t,adapter:this._scaleRotateAdapter,tooltipOptions:this.tooltipOptions}),this.handles.add(this._scaleRotate.events.on("scale-changed",(()=>this._onScaleChanged())))}this.handles.add([f({view:this.view,graphic:this.graphic,forEachManipulator:t=>this._forEachManipulator(t),onManipulatorsChanged:()=>a()}),this.graphicState.on("changed",(()=>this._onGeometryChanged())),this._hideManipulatorsForGraphicState(),r((()=>e.scale),(()=>this._updateMoveAngle()))]),this.handles.add(this.view.trackGraphicState(this.graphicState)),this._onGeometryChanged(),this._updateMoveAngle(),this._forEachManipulator((t=>{t instanceof d&&this.handles.add(t.events.on("grab-changed",(()=>this._updateManipulatorsInteractive())))})),this.finishToolCreation()}destroy(){this._tooltip=o(this._tooltip),this._moveManipulation.destroy(),this._scaleRotate=o(this._scaleRotate),this._scaleRotateAdapter=o(this._scaleRotateAdapter),this._set("view",null),this._set("graphic",null)}_updateManipulatorsInteractive(){null!=this._scaleRotate&&(this._scaleRotate.interactive=!this._moveManipulation.grabbing,this._moveManipulation.interactive=!this._scaleRotate.grabbing)}_createScaleRotateAdapter(){return null!=this.graphic.geometry&&"mesh"===this.graphic.geometry.type?new j({graphic:this.graphic,geometry:this.graphic.geometry,viewingMode:this.view.state.viewingMode}):new A({graphic:this.graphic,sizeFilter:t=>this._enforceNonZeroSize(t),findLayerView:()=>this.view.allLayerViews.find((t=>t.layer===this.graphic.layer)),sizeAxis:this.tooltipOptions?.visualVariables?.size?.axis??null})}_forEachManipulator(t){this._moveManipulation?.forEachManipulator(t),this._scaleRotate?.forEachManipulator(t)}_hideManipulatorsForGraphicState(){return r((()=>this.graphicState.displaying),(t=>{this._forEachManipulator((e=>e.available=t)),this._moveManipulation.zManipulation.available=t&&this.enableZ&&_(this.graphic)}))}_createGeometryUndoRecord(){return T(this.graphic)}set snapToScene(t){this._moveManipulation&&(this._moveManipulation.snapToScene=t),this._set("snapToScene",t)}get updating(){return this.updatingHandles.updating}set location(t){this._moveManipulation.location=t,this._scaleRotate&&(this._scaleRotate.location=t)}set elevationAlignedLocation(t){this._moveManipulation.elevationAlignedLocation=t,this._scaleRotate&&(this._scaleRotate.elevationAlignedLocation=t)}reset(){}onHide(){this._scaleRotate?.cancelActiveAnimation()}_onScaleChanged(){null!=this._scaleRotate&&(this._moveManipulation.displayScale=this._scaleRotate.getScale())}_updateMoveAngle(){this.view.state.viewingMode===m.Local||this.view.scale<y?this._moveManipulation.angle=this._scaleRotateAdapter.angle:this._moveManipulation.angle=0}_onGeometryChanged(){g(this.view,this,this.graphic)}_enforceNonZeroSize(t){return t||this.view.state.camera.computeRenderPixelSizeAt(this._moveManipulation.renderLocation)}_updateMoveTooltip(t,e){const{tooltipOptions:i,_tooltip:a}=this;if(null==a)return;a.clear();const o=this.graphicState.isDraped?"on-the-ground":"absolute-height";switch(t){case R.XY:a.info=new L({tooltipOptions:i}),this._updateMoveTooltipDistance(a.info,e,((t,e)=>Z(t,e,o)));break;case R.XY_AXIS:a.info=new C({tooltipOptions:i}),this._updateMoveTooltipDistance(a.info,e,((t,i)=>{const a=Z(t,i,o);return n(a,w(e))}));break;case R.Z:a.info=new k({tooltipOptions:i}),this._updateMoveTooltipDistance(a.info,e,H)}}_updateMoveTooltipDistance(t,e,i){if(null!=e&&"end"!==e.action){const{mapStart:a,mapEnd:o}=e,n=i(a,o);t.distance=null!=n?n:s}}get test(){return{discManipulator:this._moveManipulation.xyManipulation.test.discManipulator,zManipulator:this._moveManipulation.zManipulation.test.manipulator,ringManipulator:null!=this._scaleRotate?this._scaleRotate.test.ringManipulator:null,arrowManipulators:this._moveManipulation.xyAxisManipulation.test.arrowManipulators,setRingIndicatorDelayMs:t=>null!=this._scaleRotate?this._scaleRotate.test.setRingIndicatorDelayMs(t):null,scaleRotateAdapter:this._scaleRotateAdapter,scaleRotateTransform:this._scaleRotate,tooltip:this._tooltip}}};t([p({constructOnly:!0,nonNullable:!0})],X.prototype,"view",void 0),t([p({constructOnly:!0,nonNullable:!0})],X.prototype,"graphic",void 0),t([p({constructOnly:!0,nonNullable:!0})],X.prototype,"enableZ",void 0),t([p()],X.prototype,"enableRotation",void 0),t([p()],X.prototype,"enableScaling",void 0),t([p({constructOnly:!0,type:U})],X.prototype,"tooltipOptions",void 0),t([p()],X.prototype,"graphicState",void 0),t([p({value:!1})],X.prototype,"snapToScene",null),t([p({constructOnly:!0})],X.prototype,"snappingManager",void 0),t([p({readOnly:!0})],X.prototype,"type",void 0),t([p({readOnly:!0})],X.prototype,"updating",null),X=t([c("esri.views.3d.interactive.editingTools.graphicTransform3D.GraphicTransformTool")],X);export{X as GraphicTransformTool};
|
|
5
|
+
import{_ as t}from"../../../../../chunks/tslib.es6.js";import{isSome as e}from"../../../../../core/arrayUtils.js";import i from"../../../../../core/Evented.js";import{makeHandle as a}from"../../../../../core/handleUtils.js";import{destroyMaybe as o}from"../../../../../core/maybe.js";import{scale as n,zeroMeters as s}from"../../../../../core/quantityUtils.js";import{watch as r,syncAndInitial as l}from"../../../../../core/reactiveUtils.js";import{property as p}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/has.js";import{subclass as c}from"../../../../../core/accessorSupport/decorators/subclass.js";import{WatchUpdatingTracking as h}from"../../../../../core/support/WatchUpdatingTracking.js";import u from"../../../../../geometry/Point.js";import{getGraphicEffectiveElevationInfo as d}from"../../../../../support/elevationInfoUtils.js";import{ViewingMode as m}from"../../../../ViewingMode.js";import{Manipulator3D as g}from"../../Manipulator3D.js";import{placeAtGraphic as v}from"../../manipulatorUtils.js";import{SnappingVisualizer3D as _}from"../../SnappingVisualizer3D.js";import{canMoveZ as M}from"../manipulatorUtils.js";import{meshTransformFastUpdateHandles as f}from"../meshFastUpdateUtils.js";import{createVisualElements as y}from"../visualElementUtils.js";import{ALIGN_ARROWS_SCALE_THRESHOLD as S}from"../manipulations/config.js";import{MoveManipulation as R,ManipulationType as w}from"../manipulations/MoveManipulation.js";import{axisConstrainedDragSign as b}from"../manipulations/moveUtils.js";import{GraphicScaleRotateTransform as j}from"./GraphicScaleRotateTransform.js";import{ScaleRotateMeshAdapter as A}from"./ScaleRotateMeshAdapter.js";import{ScaleRotateObjectSymbol3DAdapter as T}from"./ScaleRotateObjectSymbol3DAdapter.js";import{createGraphicGeometryUndoRecord as x}from"./undoRecords.js";import{GraphicState as O}from"../../../layers/graphics/GraphicState.js";import{sceneSnappingAtProjectedLocation as E}from"../../../../interactive/dragEventPipeline.js";import{InteractiveToolBase as G}from"../../../../interactive/InteractiveToolBase.js";import{EditGeometryOperations as U}from"../../../../interactive/editGeometry/EditGeometryOperations.js";import H from"../../../../interactive/sketch/SketchTooltipOptions.js";import{SnappingContext as z}from"../../../../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as D}from"../../../../interactive/snapping/SnappingDragPipelineStep.js";import{Tooltip as k}from"../../../../interactive/tooltip/Tooltip.js";import{TranslateGraphicZTooltipInfo as I,TranslateGraphicXYTooltipInfo as C,TranslateGraphicTooltipInfo as L}from"../../../../interactive/tooltip/TranslateTooltipInfos.js";import{autoHorizontalDistanceByElevationModeBetweenPoints as Z}from"../../../../support/automaticLengthMeasurementUtils.js";import{verticalSignedDistanceBetweenPoints as X}from"../../../../support/euclideanLengthMeasurementUtils.js";let F=class extends(i.EventedMixin(G)){constructor(t){super(t),this.enableZ=!0,this.enableRotation=!0,this.enableScaling=!0,this.tooltipOptions=new H,this.type="transform-3d",this._updatingHandles=new h,this._scaleRotate=null,this._tooltip=null}initialize(){const{graphic:t,view:i}=this;this.graphicState=new O({graphic:t}),this.addHandles(r((()=>this.tooltipOptions.enabled),(t=>{this._tooltip=t?new k({view:i}):o(this._tooltip)}),l)),this._moveManipulation=new R({tool:this,view:i,snapToScene:this.snapToScene,xyAvailable:!0,xyAxisAvailable:!0,zAvailable:this.enableZ&&M(t),radius:R.radiusForSymbol(t.symbol)}),this._moveManipulation.forEachManipulator((e=>this.addHandles(e.events.on("immediate-click",(e=>{this.emit("immediate-click",{...e,graphic:t}),e.stopPropagation()})))));const n=t=>e=>{this.addHandles(e.events.on("focus-changed",(({action:e})=>{const i=this._tooltip;null!=i&&("focus"===e?this._updateMoveTooltip(t):i.clear())})))};this._moveManipulation.xyManipulation.forEachManipulator(n(w.XY)),this._moveManipulation.xyAxisManipulation.forEachManipulator(n(w.XY_AXIS)),this._moveManipulation.zManipulation.forEachManipulator(n(w.Z));const s=d(t);this._moveManipulation.elevationInfo=s,this.addHandles(f(this.graphicState));const{geometry:p}=t;if(this._moveManipulation.createGraphicDragPipeline(((e,a,o,n,r)=>{if(null!=p&&e===w.XY){const{snappingStep:e,cancelSnapping:a}=D({snappingContext:new z({elevationInfo:s,pointer:r,editGeometryOperations:U.fromGeometry(new u({spatialReference:p.spatialReference}),i.state.viewingMode),visualizer:new _,excludeFeature:t}),snappingManager:this.snappingManager,updatingHandles:this._updatingHandles,useZ:!1});n=n.next(a),o=o.next(E(this.view,s)).next(...e)}return{steps:o=o.next((t=>(this._updateMoveTooltip(e,t),t))),cancel:n}}),this.graphicState,(t=>{const{action:e,graphic:i,dxScreen:a,dyScreen:o}=t,n={graphic:i,dxScreen:a,dyScreen:o};switch(e){case"start":this.emit("graphic-translate-start",n),this.emit("record-undo",{record:this._createGeometryUndoRecord()});break;case"update":this.emit("graphic-translate",n);break;case"end":this.emit("graphic-translate-stop",n)}})),this._moveManipulation.angle=null!=this._scaleRotate?this._scaleRotate.angle:0,this._scaleRotateAdapter=this._createScaleRotateAdapter(),this.addHandles(r((()=>this._scaleRotateAdapter.angle),(()=>this._updateMoveAngle()))),this.enableScaling||this.enableRotation){const t=this.enableScaling&&this.enableRotation?null:this.enableScaling?"scale":"rotate";this._scaleRotate=new j({tool:this,mode:t,adapter:this._scaleRotateAdapter,tooltipOptions:this.tooltipOptions}),this.addHandles(this._scaleRotate.events.on("scale-changed",(()=>this._onScaleChanged())))}this.addHandles([y({view:this.view,graphic:this.graphic,forEachManipulator:t=>this._forEachManipulator(t),onManipulatorsChanged:()=>a()}),this.graphicState.on("changed",(()=>this._onGeometryChanged())),this._hideManipulatorsForGraphicState(),r((()=>i.scale),(()=>this._updateMoveAngle()))].filter(e)),this.addHandles(this.view.trackGraphicState(this.graphicState)),this._onGeometryChanged(),this._updateMoveAngle(),this._forEachManipulator((t=>{t instanceof g&&this.addHandles(t.events.on("grab-changed",(()=>this._updateManipulatorsInteractive())))})),this.finishToolCreation()}destroy(){this._tooltip=o(this._tooltip),this._moveManipulation.destroy(),this._scaleRotate=o(this._scaleRotate),this._scaleRotateAdapter=o(this._scaleRotateAdapter),this._updatingHandles.destroy(),this._set("view",null),this._set("graphic",null)}_updateManipulatorsInteractive(){null!=this._scaleRotate&&(this._scaleRotate.interactive=!this._moveManipulation.grabbing,this._moveManipulation.interactive=!this._scaleRotate.grabbing)}_createScaleRotateAdapter(){return null!=this.graphic.geometry&&"mesh"===this.graphic.geometry.type?new A({graphic:this.graphic,geometry:this.graphic.geometry,viewingMode:this.view.state.viewingMode}):new T({graphic:this.graphic,sizeFilter:t=>this._enforceNonZeroSize(t),findLayerView:()=>this.view.allLayerViews.find((t=>t.layer===this.graphic.layer)),sizeAxis:this.tooltipOptions?.visualVariables?.size?.axis??null})}_forEachManipulator(t){this._moveManipulation?.forEachManipulator(t),this._scaleRotate?.forEachManipulator(t)}_hideManipulatorsForGraphicState(){return r((()=>this.graphicState.displaying),(t=>{this._forEachManipulator((e=>e.available=t)),this._moveManipulation.zManipulation.available=t&&this.enableZ&&M(this.graphic)}))}_createGeometryUndoRecord(){return x(this.graphic)}set snapToScene(t){this._moveManipulation&&(this._moveManipulation.snapToScene=t),this._set("snapToScene",t)}get updating(){return this._updatingHandles.updating}set location(t){this._moveManipulation.location=t,this._scaleRotate&&(this._scaleRotate.location=t)}set elevationAlignedLocation(t){this._moveManipulation.elevationAlignedLocation=t,this._scaleRotate&&(this._scaleRotate.elevationAlignedLocation=t)}reset(){}onHide(){this._scaleRotate?.cancelActiveAnimation()}_onScaleChanged(){null!=this._scaleRotate&&(this._moveManipulation.displayScale=this._scaleRotate.getScale())}_updateMoveAngle(){this.view.state.viewingMode===m.Local||this.view.scale<S?this._moveManipulation.angle=this._scaleRotateAdapter.angle:this._moveManipulation.angle=0}_onGeometryChanged(){v(this.view,this,this.graphic)}_enforceNonZeroSize(t){return t||this.view.state.camera.computeRenderPixelSizeAt(this._moveManipulation.renderLocation)}_updateMoveTooltip(t,e){const{tooltipOptions:i,_tooltip:a}=this;if(null==a)return;a.clear();const o=this.graphicState.isDraped?"on-the-ground":"absolute-height";switch(t){case w.XY:a.info=new L({tooltipOptions:i}),this._updateMoveTooltipDistance(a.info,e,((t,e)=>Z(t,e,o)));break;case w.XY_AXIS:a.info=new C({tooltipOptions:i}),this._updateMoveTooltipDistance(a.info,e,((t,i)=>{const a=Z(t,i,o);return n(a,b(e))}));break;case w.Z:a.info=new I({tooltipOptions:i}),this._updateMoveTooltipDistance(a.info,e,X)}}_updateMoveTooltipDistance(t,e,i){if(null!=e&&"end"!==e.action){const{mapStart:a,mapEnd:o}=e,n=i(a,o);t.distance=null!=n?n:s}}get test(){return{discManipulator:this._moveManipulation.xyManipulation.test.discManipulator,zManipulator:this._moveManipulation.zManipulation.test.manipulator,ringManipulator:null!=this._scaleRotate?this._scaleRotate.test.ringManipulator:null,arrowManipulators:this._moveManipulation.xyAxisManipulation.test.arrowManipulators,setRingIndicatorDelayMs:t=>null!=this._scaleRotate?this._scaleRotate.test.setRingIndicatorDelayMs(t):null,scaleRotateAdapter:this._scaleRotateAdapter,scaleRotateTransform:this._scaleRotate,tooltip:this._tooltip}}};t([p({constructOnly:!0,nonNullable:!0})],F.prototype,"view",void 0),t([p({constructOnly:!0,nonNullable:!0})],F.prototype,"graphic",void 0),t([p({constructOnly:!0,nonNullable:!0})],F.prototype,"enableZ",void 0),t([p()],F.prototype,"enableRotation",void 0),t([p()],F.prototype,"enableScaling",void 0),t([p({constructOnly:!0,type:H})],F.prototype,"tooltipOptions",void 0),t([p()],F.prototype,"graphicState",void 0),t([p({value:!1})],F.prototype,"snapToScene",null),t([p({constructOnly:!0})],F.prototype,"snappingManager",void 0),t([p({readOnly:!0})],F.prototype,"type",void 0),t([p({readOnly:!0})],F.prototype,"updating",null),F=t([c("esri.views.3d.interactive.editingTools.graphicTransform3D.GraphicTransformTool")],F);export{F as GraphicTransformTool};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../../chunks/tslib.es6.js";import e from"../../../../../core/Accessor.js";import{
|
|
5
|
+
import{_ as t}from"../../../../../chunks/tslib.es6.js";import e from"../../../../../core/Accessor.js";import{deg2rad as o,rad2deg as i}from"../../../../../core/mathUtils.js";import{when as r,sync as n}from"../../../../../core/reactiveUtils.js";import{property as s}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import{subclass as a}from"../../../../../core/accessorSupport/decorators/subclass.js";import{g as l}from"../../../../../chunks/vec3.js";import{create as c,axis as p,angle as g,composeAxes as h,compose as u}from"../../../../../geometry/support/axisAngleDegrees.js";import m from"../../../../../geometry/support/MeshTransform.js";import{ViewingMode as d}from"../../../../ViewingMode.js";import{createGraphicGeometryUndoRecord as y}from"./undoRecords.js";let v=class extends e{constructor(t){super(t),this._interactionState=null}initialize(){this.addHandles([r((()=>{const t=this._interactionState;return t&&t.angle!==t.previousAngle?{interactionState:t,angle:t.state.angle}:null}),(({interactionState:t})=>{this._updateMeshRotation(t)}),n),r((()=>{const t=this._interactionState;return t&&t.scale!==t.previousScale?{interactionState:t,scale:t.state.scale}:null}),(({interactionState:t})=>{this._updateMeshSize(t)}),n)])}get initialAngle(){return this._interactionState?.initialAngle??0}get angle(){const t=this.geometry.transform;if(null==t)return this._interactionState?.angle??0;const e=p(t.rotation)[2];return Math.abs(e)>.999999?o(g(t.rotation))*Math.sign(e):0}get angleClockwise(){return-this.angle}get relativeAngle(){return this.angle-this.initialAngle}get relativeAngleClockwise(){return-this.relativeAngle}get scale(){return this._interactionState?.scale??1}startInteraction(){const t=new f({angle:this.angle});this._interactionState=t;const e=()=>{this._interactionState=null};return{state:t,done:e,cancel:()=>{t.cancel(),e()}}}createUndoRecord(){return y(this.graphic)}_updateMeshRotation(t){const{angle:e,previousAngle:o}=t;t.previousAngle=e;const{geometry:r}=this,{vertexSpace:n}=r,s=i(e-o);if(n.isGeoreferenced){const t=!n.isRelative&&this.viewingMode===d.Global,e=this.geometry.anchor;this.geometry.rotate(0,0,s,{origin:e,geographic:t}),this.graphic.notifyGeometryChanged()}else{r.transform??=new m;const{transform:t}=r,e=h(0,0,s,S);t.rotation=u(t.rotation,e,t.rotation),this.graphic.notifyMeshTransformChanged()}}_updateMeshSize(t){const{scale:e,previousScale:o}=t;t.previousScale=e;const{geometry:i}=this,{vertexSpace:r}=i,n=e/o;if(r.isGeoreferenced){const t=!r.isRelative&&this.viewingMode===d.Global,e=this.geometry.anchor;this.geometry.scale(n,{origin:e,geographic:t}),this.graphic.notifyGeometryChanged()}else{i.transform??=new m;const{transform:t}=i;t.scale=l(t.scale,t.scale,n),this.graphic.notifyMeshTransformChanged()}}};t([s({constructOnly:!0})],v.prototype,"graphic",void 0),t([s({constructOnly:!0})],v.prototype,"geometry",void 0),t([s({constructOnly:!0})],v.prototype,"viewingMode",void 0),t([s()],v.prototype,"initialAngle",null),t([s()],v.prototype,"angle",null),t([s()],v.prototype,"angleClockwise",null),t([s()],v.prototype,"relativeAngle",null),t([s()],v.prototype,"relativeAngleClockwise",null),t([s()],v.prototype,"scale",null),t([s()],v.prototype,"_interactionState",void 0),v=t([a("esri.views.3d.interactive.editingTools.transformGraphic.ScaleRotateMeshAdapter")],v);let f=class extends e{get state(){const{angle:t,scale:e}=this;return{angle:t,scale:e}}constructor(t){super(t),this.angle=0,this.initialAngle=0,this.previousAngle=0,this.previousScale=1,this.scale=1,this.initialAngle=t.angle,this.previousAngle=t.angle}cancel(){this.angle=this.initialAngle,this.scale=1}};t([s()],f.prototype,"angle",void 0),t([s()],f.prototype,"initialAngle",void 0),t([s()],f.prototype,"previousAngle",void 0),t([s()],f.prototype,"previousScale",void 0),t([s()],f.prototype,"scale",void 0),t([s()],f.prototype,"state",null),f=t([a("InteractionState")],f);const S=c();export{v as ScaleRotateMeshAdapter};
|
package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateObjectSymbol3DAdapter.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../../chunks/tslib.es6.js";import e from"../../../../../core/Accessor.js";import{
|
|
5
|
+
import{_ as t}from"../../../../../chunks/tslib.es6.js";import e from"../../../../../core/Accessor.js";import{rad2deg as i,deg2rad as l}from"../../../../../core/mathUtils.js";import{when as n,sync as o}from"../../../../../core/reactiveUtils.js";import{property as r}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import{subclass as s}from"../../../../../core/accessorSupport/decorators/subclass.js";let a=class extends e{constructor(t){super(t),this.sizeAxis=null,this._interactionState=null}initialize(){this.addHandles(n((()=>null!=this._interactionState?this._interactionState.state:null),(t=>{this._updateSymbol(t)}),o))}get initialAngle(){return this._interactionState?.initialAngle??0}get angle(){return null!=this._interactionState?this._interactionState.angle:null!=this._orientationReferenceSymbolLayer?c(this._orientationReferenceSymbolLayer.heading??0):0}get angleClockwise(){return-this.angle}get orientation(){return this.angle}get orientationClockwise(){return this.angleClockwise}get relativeAngle(){return this.angle-this.initialAngle}get relativeAngleClockwise(){return-this.relativeAngle}get scale(){return this._interactionState?.scale??1}get size(){const t=this._sizeReferenceSymbolLayer;if(null==t)return null;const e=this.findLayerView(),i=this._graphicSymbol;if(null==e||null==i||"point-3d"!==i.type)return null;const l=e.getSymbolLayerSize(i,t);if("size"in l&&null!=l.size)return l.size;const n=this.sizeAxis;return!("width"in l)||null==l.width||null!=n&&"width"!==n&&"all"!==n&&"width-and-depth"!==n?!("depth"in l)||null==t.depth||null!=n&&"depth"!==n&&"all"!==n&&"width-and-depth"!==n?!("height"in l)||null==t.height||null!=n&&"height"!==n&&"all"!==n?null:l.height:l.depth:l.width}get _sizeReferenceSymbolLayer(){const t=this._graphicSymbol;return null==t||0===t.symbolLayers.length?null:t.symbolLayers.find((t=>"object"===t.type))}get _orientationReferenceSymbolLayer(){const t=this._graphicSymbol;return null==t||0===t.symbolLayers.length?null:t.symbolLayers.find((t=>"object"===t.type&&null!=t.heading))}get _graphicSymbol(){return null!=this.graphic&&null!=this.graphic.symbol&&"point-3d"===this.graphic.symbol.type?this.graphic.symbol:null}set _graphicSymbol(t){this.graphic.symbol=t}startInteraction(){const t=this._graphicSymbol,e=this.findLayerView();if(null!=this._interactionState||null==t||null==e)return h;const i=t.symbolLayers.map((i=>"object"===i.type?e.getSymbolLayerSize(t,i):null)).toArray(),l=t.clone(),n=this.angle,o=new p({originalSymbol:l,angle:n,initialSizes:i});this._interactionState=o;const r=()=>{this._interactionState=null};return{state:o,done:r,cancel:()=>{this._graphicSymbol=l,r()}}}createUndoRecord(){let t=this.graphic.symbol,e=null;return{undo:i=>{e=i.symbol,i.symbol=t},redo:i=>{t=i.symbol,i.symbol=e}}}_updateSymbol({scale:t,angle:e,originalSymbol:l,initialSizes:n}){const o=this._graphicSymbol;if(null==o||"point-3d"!==o.type)return;const r=o.clone(),s=-i(e-this.initialAngle);let a=!1;this._forEachObjectSymbolLayerPair(l,r,((e,i,l)=>{const o=(e.heading??0)+s;i.heading!==o&&(i.heading=o,a=!0);const r=n[l];if(null!=r&&"width"in r){r.width=this.sizeFilter(r.width),r.height=this.sizeFilter(r.height),r.depth=this.sizeFilter(r.depth);const e=r.width*t;i.width!==e&&(i.width=e,a=!0);const l=r.depth*t;i.depth!==l&&(i.depth=l,a=!0);const n=r.height*t;i.height!==n&&(i.height=n,a=!0)}})),a&&(this._graphicSymbol=r)}_forEachObjectSymbolLayerPair(t,e,i){t.symbolLayers.forEach(((t,l)=>{const n=e.symbolLayers.at(l);"object"===t.type&&"object"===n.type&&i(t,n,l)}))}};function c(t){return-l(t)}t([r()],a.prototype,"initialAngle",null),t([r()],a.prototype,"angle",null),t([r()],a.prototype,"angleClockwise",null),t([r()],a.prototype,"orientation",null),t([r()],a.prototype,"orientationClockwise",null),t([r()],a.prototype,"relativeAngle",null),t([r()],a.prototype,"relativeAngleClockwise",null),t([r()],a.prototype,"scale",null),t([r()],a.prototype,"size",null),t([r()],a.prototype,"sizeAxis",void 0),t([r({constructOnly:!0})],a.prototype,"graphic",void 0),t([r()],a.prototype,"_interactionState",void 0),t([r({constructOnly:!0})],a.prototype,"findLayerView",void 0),t([r({constructOnly:!0})],a.prototype,"sizeFilter",void 0),t([r()],a.prototype,"_sizeReferenceSymbolLayer",null),t([r()],a.prototype,"_orientationReferenceSymbolLayer",null),t([r()],a.prototype,"_graphicSymbol",null),a=t([s("esri.views.3d.interactive.editingTools.transformGraphic.ScaleRotateObjectSymbol3DAdapter")],a);const h={state:{angle:0,scale:0},done:()=>{},cancel:()=>{}};let p=class extends e{get state(){const{originalSymbol:t,angle:e,initialAngle:i,scale:l,initialSizes:n}=this;return{originalSymbol:t,angle:e,initialAngle:i,scale:l,initialSizes:n}}constructor(t){super(t),this.angle=0,this.initialAngle=0,this.scale=1,this.initialAngle=t.angle}};t([r()],p.prototype,"originalSymbol",void 0),t([r()],p.prototype,"angle",void 0),t([r()],p.prototype,"initialAngle",void 0),t([r()],p.prototype,"initialSizes",void 0),t([r()],p.prototype,"scale",void 0),t([r()],p.prototype,"state",null),p=t([s("InteractionState")],p);export{a as ScaleRotateObjectSymbol3DAdapter,c as headingToAngle};
|