@arcgis/core 4.25.0-next.20220919 → 4.25.0-next.20220921
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/AggregateGraphic.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{9f31ab2247c9defb882c.js → 01ac91fc0bc6b4d4e3c6.js} +1 -1
- package/assets/esri/core/workers/chunks/{d26108352874af0b6762.js → 053564e659222e8f0efb.js} +1 -1
- package/assets/esri/core/workers/chunks/1c65fd714f637ac1ee8c.js +1 -0
- package/assets/esri/core/workers/chunks/{8588cbecb8e808f451fe.js → 249e32af1f2d433fae4c.js} +1 -1
- package/assets/esri/core/workers/chunks/{5b16b30ac3166f33e81e.js → 26690f4ec1f3cb8099c2.js} +1 -1
- package/assets/esri/core/workers/chunks/{be93b0cef85665446944.js → 274b4cdf6c8d77e8a2e6.js} +1 -1
- package/assets/esri/core/workers/chunks/{52dcfd6b8b1dfa864e44.js → 2cae0ec5f60ab42a49aa.js} +1 -1
- package/assets/esri/core/workers/chunks/43e4560d65e5ddeeef6f.js +1 -0
- package/assets/esri/core/workers/chunks/{f436c86f86236ea7ea04.js → 4641e10e0e8e9d257521.js} +1 -1
- package/assets/esri/core/workers/chunks/{7a45333de9ded92619c2.js → 466008f793c2e11e854c.js} +1 -1
- package/assets/esri/core/workers/chunks/{c9d655675552dcf6cef7.js → 4a699b41072ee88f0956.js} +1 -1
- package/assets/esri/core/workers/chunks/{14ea96e398f4842abe4e.js → 4fdd18f5cdaa0d82ebc1.js} +1 -1
- package/assets/esri/core/workers/chunks/{9662da3e1e37f3445186.js → 562b9619b8ee13734813.js} +1 -1
- package/assets/esri/core/workers/chunks/{5c1a5615c865c10209c2.js → 5880fa48bad79a7c93ab.js} +1 -1
- package/assets/esri/core/workers/chunks/58824250492b89ec24ea.js +1 -0
- package/assets/esri/core/workers/chunks/64a6b837f1d5d7ad7619.js +1 -0
- package/assets/esri/core/workers/chunks/{421241543afbc9a619ea.js → 64de93865088bbe0398f.js} +1 -1
- package/assets/esri/core/workers/chunks/{99d56a707039d645622c.js → 6a20d8740ec2a5b2c579.js} +1 -1
- package/assets/esri/core/workers/chunks/{8bab21bc6164a593278f.js → 771b92e524802de840ba.js} +1 -1
- package/assets/esri/core/workers/chunks/{dbb1bf97c85848bb8ce1.js → 7ce250cc6fbe68aef50d.js} +32 -32
- package/assets/esri/core/workers/chunks/{2c4938512dd726a177dd.js → 7fab18074b130b71a648.js} +1 -1
- package/assets/esri/core/workers/chunks/{f67357b3c6c591c9da5e.js → 872f1cb3596fb80e387f.js} +1 -1
- package/assets/esri/core/workers/chunks/{3ee81834b3217720cb48.js → 8874e69378a27d155f9d.js} +1 -1
- package/assets/esri/core/workers/chunks/{31de71018575457155e5.js → 8ee3da8677255b8c8709.js} +1 -1
- package/assets/esri/core/workers/chunks/{2e44aee22e70857b893c.js → 93631b10452b0e0189b3.js} +1 -1
- package/assets/esri/core/workers/chunks/{cb2dc84d972469445da6.js → 95cd9edca50ea163d50f.js} +1 -1
- package/assets/esri/core/workers/chunks/{d31bbb13af45ce8e45dc.js → acf9f753741b677afb44.js} +1 -1
- package/assets/esri/core/workers/chunks/{1455944edeba1560eb07.js → afdafa77f5ca1b9e3acc.js} +1 -1
- package/assets/esri/core/workers/chunks/{cf3e1ac63580bc495ea6.js → b4da35f1093f3731f9ac.js} +1 -1
- package/assets/esri/core/workers/chunks/{09f4296dcb80e3ae4b3d.js → b8eba8c9d5424a7ae5f2.js} +1 -1
- package/assets/esri/core/workers/chunks/bb0d86937faf0cd7d16d.js +1 -0
- package/assets/esri/core/workers/chunks/bf3e80023e156d5906c7.js +1 -0
- package/assets/esri/core/workers/chunks/{8ba83fee56dd4f306d87.js → c2a6ac7046134f725cf3.js} +1 -1
- package/assets/esri/core/workers/chunks/{5d3fabe66e1bce1b30fb.js → cc7569489b572b8b3b53.js} +1 -1
- package/assets/esri/core/workers/chunks/{fddd4ea487788e003fb1.js → d09f06eb4157a7c2c8ab.js} +1 -1
- package/assets/esri/core/workers/chunks/d1be3ab7846e3a555b6c.js +1 -0
- package/assets/esri/core/workers/chunks/e064035f959d68e9603f.js +1 -0
- package/assets/esri/core/workers/chunks/{d92975e56a1290255252.js → e09df62cf35d636b0975.js} +1 -1
- package/assets/esri/core/workers/chunks/{674fa5b93704ef08c9e8.js → e0c763e05feb1c2093ba.js} +1 -1
- package/assets/esri/core/workers/chunks/e20e99f8f76f5002437e.js +1 -0
- package/assets/esri/core/workers/chunks/{51289d2f5277af4023e9.js → ed33e019bc7775db2e50.js} +1 -1
- package/assets/esri/core/workers/chunks/ef95d6ab7b1c032ab4ad.js +1 -0
- package/assets/esri/core/workers/chunks/{48aa432e1bf60c68de14.js → f0c4b408a0b88adf6576.js} +1 -1
- package/assets/esri/core/workers/chunks/{169f4354a375db5de121.js → ffcbcb928b6cb8c596ad.js} +1 -1
- package/assets/esri/t9n/common_ar.json +1 -1
- package/assets/esri/t9n/common_bg.json +1 -1
- package/assets/esri/t9n/common_bs.json +1 -1
- package/assets/esri/t9n/common_ca.json +1 -1
- package/assets/esri/t9n/common_cs.json +1 -1
- package/assets/esri/t9n/common_da.json +1 -1
- package/assets/esri/t9n/common_de.json +1 -1
- package/assets/esri/t9n/common_el.json +1 -1
- package/assets/esri/t9n/common_es.json +1 -1
- package/assets/esri/t9n/common_et.json +1 -1
- package/assets/esri/t9n/common_fi.json +1 -1
- package/assets/esri/t9n/common_fr.json +1 -1
- package/assets/esri/t9n/common_he.json +1 -1
- package/assets/esri/t9n/common_hr.json +1 -1
- package/assets/esri/t9n/common_hu.json +1 -1
- package/assets/esri/t9n/common_id.json +1 -1
- package/assets/esri/t9n/common_it.json +1 -1
- package/assets/esri/t9n/common_ja.json +1 -1
- package/assets/esri/t9n/common_ko.json +1 -1
- package/assets/esri/t9n/common_lt.json +1 -1
- package/assets/esri/t9n/common_lv.json +1 -1
- package/assets/esri/t9n/common_nb.json +1 -1
- package/assets/esri/t9n/common_nl.json +1 -1
- package/assets/esri/t9n/common_pl.json +1 -1
- package/assets/esri/t9n/common_pt-BR.json +1 -1
- package/assets/esri/t9n/common_pt-PT.json +1 -1
- package/assets/esri/t9n/common_ro.json +1 -1
- package/assets/esri/t9n/common_ru.json +1 -1
- package/assets/esri/t9n/common_sk.json +1 -1
- package/assets/esri/t9n/common_sl.json +1 -1
- package/assets/esri/t9n/common_sr.json +1 -1
- package/assets/esri/t9n/common_sv.json +1 -1
- package/assets/esri/t9n/common_th.json +1 -1
- package/assets/esri/t9n/common_tr.json +1 -1
- package/assets/esri/t9n/common_uk.json +1 -1
- package/assets/esri/t9n/common_vi.json +1 -1
- package/assets/esri/t9n/common_zh-CN.json +1 -1
- package/assets/esri/t9n/common_zh-HK.json +1 -1
- package/assets/esri/t9n/common_zh-TW.json +1 -1
- package/assets/esri/themes/base/widgets/_Daylight.scss +1 -0
- package/assets/esri/themes/base/widgets/_Directions.scss +1 -2
- 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/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/FeatureTable/t9n/FeatureTable_ar.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nb.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_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/support/t9n/DatePicker_ar.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_bg.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_bs.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_ca.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_cs.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_da.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_de.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_el.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_es.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_et.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_fi.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_fr.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_he.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_hr.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_hu.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_id.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_it.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_ja.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_ko.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_lt.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_lv.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_nb.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_nl.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_pl.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_pt-BR.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_pt-PT.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_ro.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_ru.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_sk.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_sl.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_sr.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_sv.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_th.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_tr.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_uk.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_vi.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_zh-CN.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_zh-HK.json +1 -1
- package/assets/esri/widgets/support/t9n/DatePicker_zh-TW.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_ar.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_bg.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_bs.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_ca.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_cs.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_da.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_de.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_el.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_es.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_et.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_fi.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_fr.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_he.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_hr.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_hu.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_id.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_it.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_ja.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_ko.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_lt.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_lv.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_nb.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_nl.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_pl.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_pt-BR.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_pt-PT.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_ro.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_ru.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_sk.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_sl.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_sr.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_sv.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_th.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_tr.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_uk.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_vi.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_zh-CN.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_zh-HK.json +1 -1
- package/assets/esri/widgets/support/t9n/TimePicker_zh-TW.json +1 -1
- package/chunks/CheckerBoard.glsl.js +3 -3
- package/chunks/ColorMaterial.glsl.js +5 -5
- package/chunks/ComponentShader.glsl.js +1 -1
- package/chunks/Compositing.glsl.js +4 -19
- package/chunks/DefaultMaterial.glsl.js +2 -2
- package/chunks/HUDCompositing.glsl.js +7 -0
- package/chunks/HeatmapDensity.glsl.js +4 -4
- package/chunks/ImageMaterial.glsl.js +1 -1
- package/chunks/Laserlines.glsl.js +5 -5
- package/chunks/LineMarker.glsl.js +1 -1
- package/chunks/MeasurementArrow.glsl.js +3 -3
- package/chunks/NativeLine.glsl.js +1 -1
- package/chunks/OITCompositing.glsl.js +13 -0
- package/chunks/OverlayCompositing.glsl.js +8 -0
- package/chunks/Path.glsl.js +3 -3
- package/chunks/Pattern.glsl.js +1 -1
- package/chunks/Precipitation.glsl.js +3 -3
- package/chunks/RealisticTree.glsl.js +2 -2
- package/chunks/RibbonLine.glsl.js +25 -25
- package/chunks/ShadedColorMaterial.glsl.js +1 -1
- package/chunks/ShadowHighlight.glsl.js +1 -1
- package/chunks/SlicePlaneMaterial.glsl.js +2 -2
- package/chunks/Terrain.glsl.js +4 -4
- package/chunks/WaterSurface.glsl.js +1 -1
- package/chunks/ar.js +1 -1
- package/chunks/bg_BG.js +1 -1
- package/chunks/boundedPlane.js +1 -1
- package/chunks/bs_BA.js +1 -1
- package/chunks/ca_ES.js +1 -1
- package/chunks/cameraUtilsPlanar.js +1 -1
- package/chunks/cameraUtilsSpherical.js +1 -1
- package/chunks/cs_CZ.js +1 -1
- package/chunks/da_DK.js +1 -1
- package/chunks/de_CH.js +1 -1
- package/chunks/de_DE.js +1 -1
- package/chunks/el_GR.js +1 -1
- package/chunks/en_CA.js +1 -1
- package/chunks/en_US.js +1 -1
- package/chunks/es_ES.js +1 -1
- package/chunks/et_EE.js +1 -1
- package/chunks/fi_FI.js +1 -1
- package/chunks/fr_FR.js +1 -1
- package/chunks/he_IL.js +1 -1
- package/chunks/hr_HR.js +1 -1
- package/chunks/hu_HU.js +1 -1
- package/chunks/id_ID.js +1 -1
- package/chunks/index.js +1 -1
- package/chunks/it_IT.js +1 -1
- package/chunks/ja_JP.js +1 -1
- package/chunks/ko_KR.js +1 -1
- package/chunks/lt_LT.js +1 -1
- package/chunks/lv_LV.js +1 -1
- package/chunks/mat3.js +1 -1
- package/chunks/nb_NO.js +1 -1
- package/chunks/nl_NL.js +1 -1
- package/chunks/pl_PL.js +1 -1
- package/chunks/pt_BR.js +1 -1
- package/chunks/pt_PT.js +1 -1
- package/chunks/quat.js +1 -1
- package/chunks/quat2.js +1 -1
- package/chunks/quatf64.js +1 -1
- package/chunks/ro_RO.js +1 -1
- package/chunks/ru_RU.js +1 -1
- package/chunks/sk_SK.js +1 -1
- package/chunks/sl_SL.js +1 -1
- package/chunks/sphere.js +1 -1
- package/chunks/sr_RS.js +1 -1
- package/chunks/sv_SE.js +1 -1
- package/chunks/th_TH.js +1 -1
- package/chunks/tr_TR.js +1 -1
- package/chunks/uk_UA.js +1 -1
- package/chunks/vec3.js +1 -1
- package/chunks/vec3f32.js +1 -1
- package/chunks/vec4f64.js +1 -1
- package/chunks/vi_VN.js +1 -1
- package/chunks/zh_Hans.js +1 -1
- package/chunks/zh_Hant.js +1 -1
- package/core/VectorStack.js +1 -1
- package/core/libs/gl-matrix-2/factories/quatf64.js +1 -1
- package/core/libs/gl-matrix-2/factories/vec3f32.js +1 -1
- package/core/libs/gl-matrix-2/factories/vec4f64.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/vec3.js +1 -1
- package/core/perspectiveUtils.js +1 -1
- package/core/workers/workerFactory.js +1 -1
- package/geohash/GeohashTree.js +1 -1
- package/geometry/support/MeshTransform.js +1 -1
- package/geometry/support/axisAngle.js +1 -1
- package/geometry/support/axisAngleDegrees.js +1 -1
- package/geometry/support/lineSegment.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/node.js +1 -1
- package/geometry/support/meshUtils/georeference.js +1 -1
- package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
- package/geometry/support/meshUtils/projection.js +1 -1
- package/geometry/support/meshUtils/rotate.js +1 -1
- package/geometry/support/plane.js +1 -1
- package/interfaces.d.ts +70 -0
- package/layers/VoxelWasmPerSceneView.js +1 -1
- package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
- package/layers/graphics/featureConversionUtils.js +1 -1
- package/layers/mixins/EditBusLayer.js +1 -1
- package/layers/mixins/OperationalLayer.js +1 -1
- package/layers/support/AggregateField.js +1 -1
- package/layers/support/ControlPointsGeoreference.js +1 -1
- package/layers/support/ExportImageServiceParameters.js +1 -1
- package/layers/support/OutStatistic.js +1 -1
- package/layers/support/VoxelVolume.js +1 -1
- package/layers/support/voxelPlaneUtils.js +1 -1
- package/package.json +1 -1
- package/rest/support/AggregateFeatureSet.js +5 -0
- package/support/revision.js +1 -1
- package/views/2d/ViewState.js +1 -1
- package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
- package/views/2d/engine/imagery/RasterVFTile.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTile.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/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/ImageryLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
- package/views/2d/layers/features/schemaUtils.js +1 -1
- package/views/2d/layers/features/support/BinStore.js +1 -1
- package/views/2d/layers/features/support/ClusterStore.js +1 -1
- package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
- package/views/2d/layers/imagery/ImageryView2D.js +1 -1
- package/views/2d/layers/support/DebugOverlay.js +1 -1
- package/views/2d/layers/support/ExportStrategy.js +1 -1
- package/views/2d/layers/support/FeatureLayerProxy.js +1 -1
- package/views/2d/layers/support/clusterUtils.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
- package/views/3d/analysis/Dimensioning/DimensioningTool.js +1 -1
- package/views/3d/analysis/Dimensioning/LengthDimensionComputation.js +1 -1
- package/views/3d/analysis/Dimensioning/LengthDimensionSubTool.js +1 -1
- package/views/3d/analysis/Dimensioning/LengthDimensionVisualization.js +1 -1
- package/views/3d/analysis/Dimensioning/lengthDimensionUtils.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/Slice/SliceTool.js +1 -1
- package/views/3d/analysis/Slice/sliceToolConfig.js +1 -1
- package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
- package/views/3d/camera/constraintUtils/distance.js +1 -1
- package/views/3d/camera/constraintUtils/tilt.js +1 -1
- package/views/3d/environment/CloudsComposition.js +1 -1
- package/views/3d/environment/CloudsCompositionParameters.js +1 -1
- package/views/3d/environment/CloudsGenerator.js +1 -1
- package/views/3d/environment/CloudsPresets.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/environment/Fog.js +1 -1
- package/views/3d/environment/PanoramicAtmosphere.js +1 -1
- package/views/3d/environment/Precipitation.js +1 -1
- package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
- package/views/3d/environment/SimpleAtmosphere.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/Resource.js +1 -1
- package/views/3d/interactive/Manipulator3D.js +1 -1
- package/views/3d/interactive/editingTools/reshapeGraphic/edgeOffsetUtils.js +1 -1
- package/views/3d/interactive/editingTools/settings.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/manipulatorUtils.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudWorker.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.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/Graphics3DLodInstanceGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.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/elevationAlignPointsInFeatures.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/i3s/I3SElevationProvider.js +1 -1
- package/views/3d/layers/i3s/I3SIndex.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/layers/i3s/PointRenderer.js +1 -1
- package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
- package/views/3d/layers/support/I3STreeDebugger.js +1 -1
- package/views/3d/layers/support/edgeUtils.js +1 -1
- package/views/3d/layers/support/uvUtils.js +1 -1
- package/views/3d/state/Frustum.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/local/PinchAndPanController.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/state/utils/navigationUtils.js +1 -1
- package/views/3d/support/FrustumExtentIntersection.js +1 -1
- package/views/3d/support/orientedBoundingBox.js +1 -1
- package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
- package/views/3d/support/sunUtils.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/PatchRenderData.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/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/core/renderPasses/RenderPassManager.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +13 -13
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +9 -9
- package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
- package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
- package/views/3d/webgl-engine/lib/AnimationTimer.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/GeometryRecord.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/Intersector.js +1 -1
- package/views/3d/webgl-engine/lib/Object3D.js +1 -1
- package/views/3d/webgl-engine/lib/ObjectAndLayerIdRenderHelper.js +1 -1
- package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
- package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/lib/Update.js +5 -0
- package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.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/InstanceOctree.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
- package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
- package/views/3d/webgl-engine/lighting/SceneLighting.js +1 -1
- package/views/3d/webgl-engine/lighting/SphericalHarmonics.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterGLMaterial.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/Compositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/CompositingTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDCompositing.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/OITCompositing.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/OITCompositingTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/draw/support/surfaceCoordinateSystems.js +1 -1
- package/views/interactive/coordinateHelper.js +1 -1
- package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
- package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
- package/views/interactive/snapping/LineSnapper.js +1 -1
- package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
- package/views/interactive/snapping/RightAngleSnapper.js +1 -1
- package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
- package/views/interactive/snapping/SnappingAlgorithm.js +1 -1
- package/views/interactive/snapping/SnappingManager.js +1 -1
- package/views/interactive/snapping/featureSources/FeatureCollectionSnappingSource.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/SnappingCandidateElevationAligner.js +1 -1
- package/views/interactive/snapping/featureSources/SnappingResultElevationFilter.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/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
- package/views/interactive/snapping/featureSources/snappingResultElevationUtils.js +5 -0
- package/views/interactive/snapping/snappingUtils.js +1 -1
- package/views/layers/FeatureLayerView.js +1 -1
- package/views/navigation/PanSphericalMomentumEstimator.js +1 -1
- package/views/support/Scheduler.js +1 -1
- package/views/support/euclideanAreaMeasurementUtils.js +1 -1
- package/views/support/geometry3dUtils.js +1 -1
- package/widgets/Directions/support/resources.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
- package/widgets/ElevationProfile/support/constants.js +1 -1
- package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
- package/widgets/Feature/FeatureRelationship.js +1 -1
- package/widgets/Legend/LegendViewModel.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Weather/LabeledSlider.js +1 -1
- package/widgets/Weather.js +1 -1
- package/assets/esri/core/workers/chunks/0059699bf824f851d51c.js +0 -1
- package/assets/esri/core/workers/chunks/01a6005569d0820992a0.js +0 -1
- package/assets/esri/core/workers/chunks/2eb547a0be305f2c816c.js +0 -1
- package/assets/esri/core/workers/chunks/36dd5654df5c7f00406d.js +0 -1
- package/assets/esri/core/workers/chunks/36e0a0d5f86b2b4b88f9.js +0 -1
- package/assets/esri/core/workers/chunks/8b8a813f5e6d6551a816.js +0 -1
- package/assets/esri/core/workers/chunks/bf84189bd9bf3de81df9.js +0 -1
- package/assets/esri/core/workers/chunks/cd7f5c3d328166f28f59.js +0 -1
- package/assets/esri/core/workers/chunks/de128d8a643b4297940b.js +0 -1
- package/assets/esri/core/workers/chunks/e208d9c34f5db4481441.js +0 -1
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{acosClamped as e}from"../../../../core/mathUtils.js";import t from"../../../../core/ObjectPool.js";import{b as i,g as s,a as r,
|
|
5
|
+
import{acosClamped as e}from"../../../../core/mathUtils.js";import t from"../../../../core/ObjectPool.js";import{b as i,g as s,a as r,x as n,e as o}from"../../../../chunks/vec3.js";import{c as a}from"../../../../chunks/vec3f64.js";import{getReferenceEllipsoid as u}from"../../../../geometry/projectionEllipsoid.js";import{PointIndex as l,PlaneIndex as d}from"../../../../geometry/support/frustum.js";import{create as _,projectVector as c,fromPoints as h,normal as m}from"../../../../geometry/support/plane.js";import{wrap as T}from"../../../../geometry/support/ray.js";import{ViewingMode as p}from"../../../ViewingMode.js";import{FeatureTileDescriptor3D as E,Visibility as I}from"./FeatureTileDescriptor3D.js";import{Frustum as F}from"../../state/Frustum.js";import{FrustumExtentIntersection as f}from"../../support/FrustumExtentIntersection.js";class A{constructor(e){this._renderCoordsHelper=e,this._surfaceElevation=0,this._cache=new Map,this._frustum=new F(e),this._extendedFrustum=new F(e),this._intersector=new f({renderCoordsHelper:e}),this._renderCoordsHelper=e}begin(e,t){this._surfaceElevation=t,this._aboveGround=this._renderCoordsHelper.getAltitude(e.eye)>t,this._frustum.update(e),this._shortenFrustumFarPlane(this._frustum),this._updateExtendedFrustum(e)}end(){this._cache.clear()}calculate(e){if(this._allTilesInvisible)return I.INVISIBLE;const t=this._renderCoordsHelper.viewingMode===p.Global&&e.lij[0]>=R&&e.lij[0]<O,i=this._getOrCalculateSingleTileVisibility(e,!t);return i!==I.INVISIBLE&&t?this._calculateAggregatedChildrenVisibility(e):i}_shortenFrustumFarPlane(e){const t=F.nearFarLineIndices,n=e.mutablePoints;for(const o of t){const[e,t]=o,a=n[e],u=n[t];i(S,u,a),s(S,S,b),r(n[t],a,S)}e.updatePoints(n)}_calculateAggregatedChildrenVisibility(e){let t=I.INVISIBLE;const i=this._cache.get(e.id);if(null!=i)return i;const s=x.acquire();e.getChildren(s);for(const r of s){const e=this.calculate(r);if(e!==I.INVISIBLE&&(t=e,e===I.VISIBLE_ON_SURFACE))break}return x.release(s),this._cache.set(e.id,t),t}_getOrCalculateSingleTileVisibility(e,t){const i=this._cache.get(e.id);if(null!=i)return i;const s=this._calculateSingleTileVisibility(e);return t&&this._cache.set(e.id,s),s}_calculateSingleTileVisibility(e){if(!this._aboveGround&&this._renderCoordsHelper.viewingMode===p.Global&&e.lij[0]<g){return this._calculateSingleTileVisibilitySided(e,!1)===I.INVISIBLE?this._calculateSingleTileVisibilitySided(e,!0):void 0}return this._calculateSingleTileVisibilitySided(e,this._aboveGround)}_calculateSingleTileVisibilitySided(e,t){this._intersector.update(e.extent,e.tilingScheme.spatialReference,this._surfaceElevation,t);const i=u(e.tilingScheme.spatialReference).radius;return this._intersector.isVisibleInFrustum(this._extendedFrustum,i)?this._intersector.isVisibleInFrustum(this._frustum,i,!0)?I.VISIBLE_ON_SURFACE:I.VISIBLE_WHEN_EXTENDED:I.INVISIBLE}_updateExtendedFrustum(t){this._extendedFrustum.update(t),this._shortenFrustumFarPlane(this._extendedFrustum);const i=this._renderCoordsHelper.worldUpAtPosition(t.eye,S);this._aboveGround||n(i,i);const r=e(-o(i,t.viewForward));if(this._allTilesInvisible=r>(Math.PI+t.fovY)/2,this._allTilesInvisible)return;if(this._hasExtendedFrustum=r>t.fovY/2,!this._hasExtendedFrustum)return;const a=this._extendedFrustumParameters(),u=this._extendedFrustum.mutablePoints;for(let e=0;e<4;e++){const t=a.pointIndices[e],i=u[t],r=this._renderCoordsHelper.getAltitude(i);if(a.needsAltitudeAdjustment(r)){switch(this._renderCoordsHelper.worldUpAtPosition(i,S),t){case l.FAR_BOTTOM_LEFT:case l.FAR_TOP_LEFT:case l.NEAR_BOTTOM_LEFT:case l.NEAR_TOP_LEFT:c(this._extendedFrustum.planes[d.LEFT],S,S);break;case l.FAR_BOTTOM_RIGHT:case l.FAR_TOP_RIGHT:case l.NEAR_BOTTOM_RIGHT:case l.NEAR_TOP_RIGHT:c(this._extendedFrustum.planes[d.RIGHT],S,S)}s(S,S,a.direction),this._renderCoordsHelper.intersectInfiniteManifold(T(i,S),a.zWithMargin,i)}}if(this._extendedFrustum.updatePoints(u),h(u[l.NEAR_BOTTOM_LEFT],u[l.NEAR_BOTTOM_RIGHT],u[l.NEAR_TOP_RIGHT],N),h(u[l.NEAR_BOTTOM_RIGHT],u[l.NEAR_TOP_RIGHT],u[l.NEAR_TOP_LEFT],v),o(m(N),m(v))<0){const e=this._extendedFrustum.mutablePoints;this._aboveGround?[e[l.NEAR_BOTTOM_LEFT],e[l.NEAR_BOTTOM_RIGHT]]=[e[l.NEAR_BOTTOM_RIGHT],e[l.NEAR_BOTTOM_LEFT]]:[e[l.NEAR_TOP_LEFT],e[l.NEAR_TOP_RIGHT]]=[e[l.NEAR_TOP_RIGHT],e[l.NEAR_TOP_LEFT]],this._extendedFrustum.updatePoints(e)}}_extendedFrustumParameters(){return this._aboveGround?this._extendedFrustumParametersAboveSurface():this._extendedFrustumParametersBelowSurface()}_extendedFrustumParametersAboveSurface(){const e=this._surfaceElevation-P;return{zWithMargin:e,pointIndices:F.planePointIndices.bottom,direction:-1,needsAltitudeAdjustment:t=>t>e}}_extendedFrustumParametersBelowSurface(){const e=this._surfaceElevation+P;return{zWithMargin:e,pointIndices:F.planePointIndices.top,direction:1,needsAltitudeAdjustment:t=>t<e}}}const R=2,O=6,g=12,b=.95,P=1,S=a(),N=_(),v=_(),x=new t(Array,(e=>{4!==e.length&&(e[0]=new E,e[1]=new E,e[2]=new E,e[3]=new E)}),(e=>{e[0].release(),e[1].release(),e[2].release(),e[3].release()}));export{A as FeatureTileVisibility3D};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../../chunks/tslib.es6.js";import"../../../../geometry.js";import{isNone as r}from"../../../../core/maybe.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../../../core/accessorSupport/decorators/subclass.js";import{D as t}from"../../../../chunks/mat4.js";import{c as i}from"../../../../chunks/mat4f64.js";import{c as p,
|
|
5
|
+
import{_ as e}from"../../../../chunks/tslib.es6.js";import"../../../../geometry.js";import{isNone as r}from"../../../../core/maybe.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../../../core/accessorSupport/decorators/subclass.js";import{D as t}from"../../../../chunks/mat4.js";import{c as i}from"../../../../chunks/mat4f64.js";import{c as p,v as c}from"../../../../chunks/vec3.js";import{c as l}from"../../../../chunks/vec3f64.js";import{projectBuffer as u}from"../../../../geometry/projection.js";import{TileTreeDebugger as a}from"../../../support/TileTreeDebugger.js";import n from"../../../../geometry/Polygon.js";let m=class extends a{constructor(e){super(e)}getTiles(){const e=this.lv.getVisibleNodes(),r=this.view.renderSpatialReference,s=this.nodeSR;return e.map((e=>h(e,r,s))).sort(((e,r)=>e.lij[0]===r.lij[0]?e.label>r.label?-1:1:e.lij[0]-r.lij[0]))}};function h(e,s,o){const i=e.serviceObb;if(r(i)||r(s))return null;t(f,i.quaternion),p(j,i.center),u(j,o,0,j,s,0,1),f[12]=j[0],f[13]=j[1],f[14]=j[2];const l=[[],[],[]];p(j,i.halfSize),c(j,j,f),u(j,s,0,j,o,0,1),l[0].push([j[0],j[1]]),p(j,i.halfSize),j[0]=-j[0],c(j,j,f),u(j,s,0,j,o,0,1),l[0].push([j[0],j[1]]),p(j,i.halfSize),j[0]=-j[0],j[1]=-j[1],c(j,j,f),u(j,s,0,j,o,0,1),l[0].push([j[0],j[1]]),p(j,i.halfSize),j[1]=-j[1],c(j,j,f),u(j,s,0,j,o,0,1),l[0].push([j[0],j[1]]),l[1].push(l[0][0]),l[1].push(l[0][1]),p(j,i.halfSize),j[0]=-j[0],j[2]=-j[2],c(j,j,f),u(j,s,0,j,o,0,1),l[1].push([j[0],j[1]]),p(j,i.halfSize),j[2]=-j[2],c(j,j,f),u(j,s,0,j,o,0,1),l[1].push([j[0],j[1]]),l[2].push(l[0][0]),l[2].push(l[0][3]),p(j,i.halfSize),j[1]=-j[1],j[2]=-j[2],c(j,j,f),u(j,s,0,j,o,0,1),l[2].push([j[0],j[1]]),l[2].push(l[1][3]);const a=new n({rings:l,spatialReference:o});return{lij:[e.level,e.childCount,0],label:e.id,geometry:a}}e([s({constructOnly:!0})],m.prototype,"lv",void 0),e([s({constructOnly:!0})],m.prototype,"nodeSR",void 0),m=e([o("esri.views.3d.layers.support.I3STreeDebugger")],m);const f=i(),j=l();export{m as I3STreeDebugger};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../../../Color.js";import"../../../../core/has.js";import{isSome as n,isNone as o}from"../../../../core/maybe.js";import{pt2px as t}from"../../../../core/screenUtils.js";import{f as r,
|
|
5
|
+
import e from"../../../../Color.js";import"../../../../core/has.js";import{isSome as n,isNone as o}from"../../../../core/maybe.js";import{pt2px as t}from"../../../../core/screenUtils.js";import{f as r,a as s}from"../../../../chunks/vec4f64.js";import{isExtrudeSymbol3DLayer as i,isFillSymbol3DLayer as c}from"./layerUtils.js";import{Transparency as l}from"../../webgl-engine/lib/edgeRendering/interfaces.js";function a(e){return e&&e.enabled&&(i(e)||c(e))&&n(e.edges)}function u(e){return e&&e.enabled&&e.edges||null}function f(e,n){return p(u(e),n)}function p(i,c){if(o(i))return null;const l=n(i.color)?s(e.toUnitRGBA(i.color)):r(0,0,0,0),a=t(i.size),u=t(i.extensionLength);switch(i.type){case"solid":return m({color:l,size:a,extensionLength:u,...c});case"sketch":return h({color:l,size:a,extensionLength:u,...c});default:return}}function m(e){return{...g,...e,type:"solid"}}function h(e){return{...d,...e,type:"sketch"}}const g={color:r(0,0,0,.2),size:1,extensionLength:0,opacity:1,objectTransparency:l.OPAQUE,hasSlicePlane:!1},d={color:r(0,0,0,.2),size:1,extensionLength:0,opacity:1,objectTransparency:l.OPAQUE,hasSlicePlane:!1};export{f as createMaterial,p as createMaterialFromEdges,m as createSolidEdgeMaterial,a as hasEdges};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{isSome as t}from"../../../../core/maybe.js";import{c as o}from"../../../../chunks/mat4f64.js";import{s as e}from"../../../../chunks/vec2.js";import{a as r}from"../../../../chunks/vec2f64.js";import{s,e as n,b as c,g as a,a as m,c as f,
|
|
5
|
+
import{isSome as t}from"../../../../core/maybe.js";import{c as o}from"../../../../chunks/mat4f64.js";import{s as e}from"../../../../chunks/vec2.js";import{a as r}from"../../../../chunks/vec2f64.js";import{s,e as n,b as c,g as a,a as m,c as f,q as i,n as u,f as I}from"../../../../chunks/vec3.js";import{c as p}from"../../../../chunks/vec3f64.js";import{lonLatToWebMercatorComparable as N}from"../../../../geometry/projection.js";import{getReferenceEllipsoid as l}from"../../../../geometry/projectionEllipsoid.js";import{create as h,fromManyPointsSampleAt as V,normal as b}from"../../../../geometry/support/plane.js";import{BufferViewVec3f64 as g}from"../../../../geometry/support/buffer/BufferView.js";import{ViewingMode as j}from"../../../ViewingMode.js";function T(t,o,r,s,n=1){if(r.isGeographic&&s===j.Global){const t=new Float64Array(o.typedBuffer.length),e=3*o.count,s=l(r);for(let r=0;r<e;r+=3)N(o.typedBuffer,r,t,r,s);o=g.fromTypedArray(t)}e(k,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);for(let e=0;e<o.count;e++)o.getVec(e,E),k[0]=Math.min(k[0],E[0]),k[1]=Math.min(k[1],E[1]);const c=k[0]%n,a=k[1]%n;P[0]=k[0]-c,P[1]=k[1]-a;for(let e=0;e<o.count;e++)o.getVec(e,E),t.setValues(e,(E[0]-P[0])/n,(E[1]-P[1])/n,P[0]/n,P[1]/n)}function M(t,o,r,f,i=1){s(Y,1,0,0),s(_,0,1,0),s(d,0,0,1),C(y,o),O(o,F)&&S(F,Y,_,d,r,y),e(k,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),e(A,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);for(let e=0;e<o.count;e++){o.getVec(e,E);const t=n(Y,E),r=n(_,E);k[0]=Math.min(k[0],t),k[1]=Math.min(k[1],r),A[0]=Math.max(A[0],t),A[1]=Math.max(A[1],r)}const u=n(d,y);H(v,k[0],k[1],u,Y,_,d),H(x,A[0],k[1],u,Y,_,d),H(G,k[0],A[1],u,Y,_,d),c(x,x,v),a(x,x,.5),c(G,G,v),a(G,G,.5),m(v,v,x),m(v,v,G);const I=k[0]%i,p=k[1]%i;P[0]=k[0]-I,P[1]=k[1]-p;for(let e=0;e<o.count;e++){o.getVec(e,E),t.setValues(e,(n(Y,E)-P[0])/i,(n(_,E)-P[1])/i,P[0]/i,P[1]/i);for(let t=0;t<3;t++)f.set(e,t,v[t]),f.set(e,t+3,x[t]),f.set(e,t+6,G[t])}}const y=p(),E=p(),F=h(),Y=p(),_=p(),d=p(),k=r(),A=r(),P=r(),v=p(),x=p(),G=p();function O(t,o){const e=t.count-1;return V(t,o,0,Math.floor(e/3),Math.floor(e*(2/3)))}function S(o,e,r,c,m,p){t(m)?(m.basisMatrixAtPosition(p,w),s(B,w[0],w[1],w[2]),s(q,w[4],w[5],w[6]),s(z,w[8],w[9],w[10])):(s(B,1,0,0),s(q,0,1,0),s(z,0,0,1));const N=b(o);n(N,z)<0&&a(N,N,-1),f(c,N);const l=n(N,q),h=n(N,B);Math.abs(l)<Math.abs(h)?(i(e,B,N,-h),u(e,e),I(r,e,N),u(r,r),a(r,r,-1)):(i(r,q,N,-l),u(r,r),I(e,r,N),u(e,e))}const w=o(),B=p(),q=p(),z=p();function C(t,o){s(D,0,0,0);for(let e=0;e<o.count-1;e++)o.getVec(e,E),m(D,D,E);a(t,D,1/(o.count-1))}const D=p();function H(t,o,e,r,n,c,a){s(t,o*n[0]+e*c[0]+r*a[0],o*n[1]+e*c[1]+r*a[1],o*n[2]+e*c[2]+r*a[2])}export{M as createMapSpaceUVCoords,T as createMapSpaceUVCoordsDraped};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{c as t,
|
|
5
|
+
import{c as t,A as i}from"../../../chunks/vec3.js";import{c as s}from"../../../chunks/vec3f64.js";import{PointIndex as e,create as r,createPoints as n,fromMatrix as o,computePlanes as u,intersectsSphere as h,intersectsRay as _,intersectsLineSegment as p,intersectsPoint as l,planePointIndices as c}from"../../../geometry/support/frustum.js";class d{constructor(t){this.renderCoordsHelper=t,this.frustum=r(),this._points=n(),this.lines=new Array(12),this._origin=s(),this._direction=s(),this._altitude=null;for(let i=0;i<12;i++)this.lines[i]={origin:null,direction:s(),endpoint:null}}get planes(){return this.frustum}get points(){return this._points}get mutablePoints(){return this._points}get direction(){return this._direction}update(i){o(i.viewMatrix,i.projectionMatrix,this.frustum,this._points),t(this._origin,i.eye),t(this._direction,i.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines()}updatePoints(i){for(let s=0;s<this._points.length;s++)t(this._points[s],i[s]);u(this.frustum,this._points),this._updateLines()}get altitude(){return this._altitude}intersectsSphere(t){return h(this.frustum,t)}intersectsRay(t){return _(this.frustum,t)}intersectsLineSegment(t,i){return p(this.frustum,t,i)}intersectsPoint(t){return l(this.frustum,t)}_updateLines(){const t=this._points;for(let i=0;i<4;i++){const s=i+4;a(this.lines[i],t[i],t[s]),a(this.lines[i+4],t[i],3===i?t[0]:t[i+1]),a(this.lines[i+8],t[s],3===i?t[4]:t[s+1])}}}function a(t,s,e){t.origin=s,t.endpoint=e,i(t.direction,s,e)}d.planePointIndices=c,d.nearFarLineIndices=[[e.NEAR_BOTTOM_LEFT,e.FAR_BOTTOM_LEFT],[e.NEAR_BOTTOM_RIGHT,e.FAR_BOTTOM_RIGHT],[e.NEAR_TOP_RIGHT,e.FAR_TOP_RIGHT],[e.NEAR_TOP_LEFT,e.FAR_TOP_LEFT]];export{d as Frustum};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../chunks/tslib.es6.js";import{neverReached as e}from"../../../../core/compilerUtils.js";import{clamp as i,acosClamped as a,deg2rad as r}from"../../../../core/mathUtils.js";import{isSome as o}from"../../../../core/maybe.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as n}from"../../../../core/accessorSupport/decorators/subclass.js";import{v as c,e as m,i as l}from"../../../../chunks/mat4.js";import{c as p}from"../../../../chunks/mat4f64.js";import{b as h,m as d,a as u,g as _,c as f,o as v,l as C,s as g,n as y,f as w,e as O,i as b,r as S}from"../../../../chunks/vec3.js";import{c as j}from"../../../../chunks/vec3f64.js";import{getReferenceEllipsoid as x}from"../../../../geometry/projectionEllipsoid.js";import{wrap as M}from"../../../../geometry/support/ray.js";import{b as T,e as L,t as A}from"../../../../chunks/sphere.js";import{sv3d as z}from"../../../../geometry/support/vectorStacks.js";import{applyAll as E}from"../../camera/constraintUtils.js";import{ConstraintTypes as D}from"../../camera/constraintUtils/ConstraintTypes.js";import{InteractionType as I}from"../../camera/constraintUtils/InteractionType.js";import{TiltMode as U}from"../../camera/constraintUtils/TiltMode.js";import{TiltDefault as R}from"../Constraints.js";import{InteractiveController as k}from"./InteractiveController.js";import{panMotionToRotationMatrix as H,onSurfaceTiltToEyeTiltGlobal as N,offSurfaceTiltToEyeTiltGlobal as F}from"../utils/navigationUtils.js";import{viewAngle as P}from"../utils/viewUtils.js";import{headingTiltToDirectionUp as G}from"../../support/cameraUtils.js";import{createDirectionUp as V}from"../../support/cameraUtilsInternal.js";import{Camera as B}from"../../webgl-engine/lib/Camera.js";import{extractTransformation as K,isZeroTransformation as X,extractTransformationKeyboard as Z}from"../../../navigation/gamepadAndKeyboardUtils.js";let q=class extends k{constructor(t){super(t),this._transformation={translation:[0,0,0],heading:0,tilt:0,zoom:0},this._keysButtonState=[0,0,0,0,0,0,0,0,0,0,0,0],this._tmpCamera=new B,this._constraintOptions={selection:D.ALL,interactionType:I.NONE,interactionStartCamera:new B,interactionFactor:0,interactionDirection:null,tiltMode:U.LOOK_AROUND}}handleEventGamepad(t){const e=K(t,this.view.navigation.gamepad,this._transformation);("end"===t.action||X(e))&&this.finishController()}activateDirection(t){this._keysButtonState[t]=1,Z(this._keysButtonState,this._transformation)}deactivateDirection(t){this._keysButtonState[t]=0;const e=Z(this._keysButtonState,this._transformation);X(e)&&this.finishController()}onControllerStart(t){this._filteredSurfaceElevation=this.view.pointsOfInterest.cameraOnSurface.location.z,this._headingStart=this.view.camera.heading,super.onControllerStart(t)}_updateFilteredSurfaceElevation(t){const e=this.view.pointsOfInterest.cameraOnSurface.location.z,i=1;this._filteredSurfaceElevation+=i*(e-this._filteredSurfaceElevation)*t}stepController(t,e){this._updateStartHeading(),this._updateFilteredSurfaceElevation(t),this.currentCamera.copyViewFrom(e),this._updateCameraCenter(),this._constraintOptions.interactionStartCamera.copyFrom(this.currentCamera),this._calculateControlTransformation(t,this.currentCamera,it),this._applyDisabledMovementTypes(it),this._applyPan(it.pan),this._applyRotate(it.rotate),this._applyZoom(it.zoom),this._applyAscend(it.ascend),this._constraintOptions.interactionType=I.NONE,this._constraintOptions.selection=D.COLLISION,E(this.view,this.currentCamera,this._constraintOptions),super.stepController(t,e)}_updateStartHeading(){0!==this._transformation.heading&&(this._headingStart=this.view.camera.heading)}_applyRotate(t){if(!t.enabled)return;const e=this.currentCamera;h(at,e.center,e.eye),d(at,at,t.matrix),e.center=u(at,at,e.eye),e.up=d(at,e.up,t.matrix),this._constraintOptions.interactionType=I.LOOK_AROUND,this._constraintOptions.selection=D.ALL_EXCEPT_COLLISION,E(this.view,e,this._constraintOptions)}_applyPan(t,e=this.currentCamera){if(!t.enabled)return;e.eye=d(at,e.eye,t.matrix),e.center=d(at,e.center,t.matrix);this.view.state.isGlobal&&(e.up=d(at,e.up,t.matrix)),this._constraintOptions.interactionType=I.PAN,this._constraintOptions.selection=D.ALL,E(this.view,e,this._constraintOptions)}_applyZoom(t){if(!t)return;const e=this.currentCamera.viewForward;this.currentCamera.eye=u(at,this.currentCamera.eye,_(z.get(),e,t)),f(rt,e),v(rt,rt),this._constraintOptions.interactionDirection=rt,this._constraintOptions.interactionType=I.ZOOM,this._constraintOptions.selection=D.ALL_EXCEPT_COLLISION,E(this.view,this.currentCamera,this._constraintOptions),this._constraintOptions.interactionDirection=null}_applyAscend(t){if(!t)return;const e=this.view.renderCoordsHelper.worldUpAtPosition(this.currentCamera.eye,z.get());this._constraintOptions.interactionDirection=f(rt,e);if(this.view.state.isGlobal){const e=C(this.currentCamera.eye),i=(e+t)/e;this.currentCamera.eye=_(at,this.currentCamera.eye,i),this.currentCamera.center=_(at,this.currentCamera.center,i)}else{const i=_(z.get(),e,t);this.currentCamera.eye=u(at,this.currentCamera.eye,i),this.currentCamera.center=u(at,this.currentCamera.center,i)}this._updateCameraCenter(),this._constraintOptions.interactionType=I.ASCEND,this._constraintOptions.selection=D.COLLISION,E(this.view,this.currentCamera,this._constraintOptions)&&this._updateCameraCenter(),this._constraintOptions.selection=D.ALL_EXCEPT_COLLISION,E(this.view,this.currentCamera,this._constraintOptions),this._constraintOptions.interactionDirection=null}_calculateControlTransformation(t,e,i){st(i);const a=this._computeVelocities(t);this.view.state.isLocal?this._calculateControlTransformationLocal(a,e,i):this._calculateControlTransformationGlobal(a,e,i)}_updateCameraCenter(){const t=this.view.pointsOfInterest.centerOnSurfaceFrequent.estimatedSurfaceAltitude,e=this.view.renderCoordsHelper,i=this.currentCamera.ray;this.currentCamera.center=e.intersectManifoldClosestSilhouette(i,t,at)}_calculateControlTransformationLocal(t,a,r){const{viewRight:o,viewForward:s}=a,n=this._transformation,l=this.view.navigation.gamepad,p=g(z.get(),s[0],s[1],0);y(p,p);const h=n.translation[0]*t.pan;if(0!==h){const t=_(z.get(),o,h);c(r.pan.matrix,r.pan.matrix,t),r.pan.enabled=!0}switch(l.mode){case"pan":{const e=-n.translation[1]*t.pan;if(0!==e){const t=_(z.get(),p,e);c(r.pan.matrix,r.pan.matrix,t),r.pan.enabled=!0}r.zoom=n.zoom*t.zoom;break}case"zoom":r.zoom=(-n.translation[1]+n.zoom)*t.zoom;break;default:e(l.mode)}const d=n.translation[2]*t.ascend;r.ascend=d;const u=-n.heading*t.rotate;0!==u&&(m(r.rotate.matrix,r.rotate.matrix,u,this.view.renderCoordsHelper.worldUpAtPosition(a.eye,z.get())),r.rotate.enabled=!0);const f=n.tilt*t.rotate,v=P(this.view.renderCoordsHelper,a.center,a.eye),C=i(v+f,R.min,R.max)-v;C&&(m(r.rotate.matrix,r.rotate.matrix,C,o),r.rotate.enabled=!0)}_calculateControlTransformationGlobal(t,e,i){const{eye:a,viewRight:r}=e,o=this._transformation,s=this.view.navigation.gamepad,n=w(z.get(),r,a);y(n,n),v(n,n),H(this.startCamera,e,o,t,this.view.camera.heading,this._headingStart,this.view.camera.tilt,i,s),this._tmpCamera.copyFrom(this.currentCamera),this._applyPan(it.pan,this._tmpCamera);const c=this.view.pointsOfInterest.centerOnSurfaceFrequent.estimatedSurfaceAltitude,l=o.translation[2]*t.ascend;i.ascend=l;const p=-o.heading*t.rotate;0!==p&&(m(i.rotate.matrix,i.rotate.matrix,p,this._tmpCamera.eye),i.rotate.enabled=!0);const h=o.tilt*t.rotate,d=this._clampTiltDeltaGlobalToValidRange(h,e.ray,c);0!==d&&(m(i.rotate.matrix,i.rotate.matrix,d,this._tmpCamera.viewRight),i.rotate.enabled=!0),i.zoom+=o.zoom*t.zoom}_clampTiltDeltaGlobalToValidRange(t,e,r){const o=x(this.view.spatialReference),s=N(R.min,e.origin,r,o);let n=0,c=0;const m=z.get();if(this.view.renderCoordsHelper.intersectManifold(e,r,m)){const t=P(this.view.renderCoordsHelper,m,e.origin);n=N(t,e.origin,r,o),c=N(R.max,e.origin,r,o)}else{T(L(A,r+o.radius),e,m);const t=a(-O(e.direction,y(m,m)));n=F(t,e.origin,r,o),c=F(R.max,e.origin,r,o)}return i(n+t,s,c)-n}_getPointAbsoluteSurfaceElevation(t,e,i){const{renderCoordsHelper:a}=this.view,r=a.getAltitude(t),o=e+Math.abs(r-e);return a.setAltitude(i,o,t),o}_clampedDistanceToSurface(t,e){const{renderCoordsHelper:i}=this.view,{camera:a}=this.view.state,{direction:r}=G(this.view,e,0,Q,ot),o=i.intersectManifoldClosestSilhouette(M(e,r),t,z.get()),s=b(e,o),n=i.intersectManifoldClosestSilhouette(M(e,S(z.get(),e,a.center)),t,z.get()),c=b(e,n);return Math.min(s,c)}_computeHeadingRotateRadius(t){const{renderCoordsHelper:e,state:i}=this.view,{camera:r,isGlobal:o}=i,s=e.intersectManifoldClosestSilhouette(r.ray,this._filteredSurfaceElevation,z.get());if(o){const e=h(z.get(),t,s),i=C(e);_(e,e,1/i);const r=y(z.get(),t),o=a(O(r,e));return i*Math.sin(Math.min(W,o))}{const i=f(z.get(),t);return e.setAltitude(i,this._filteredSurfaceElevation),b(s,i)}}_minimumAscendVelocity(){return this.view.state.constraints.collision.enabled?0:$}_computeVelocities(t){const e=this._filteredSurfaceElevation,a=e+x(this.view.spatialReference).radius,{camera:r,isGlobal:o}=this.view.state,s=z.get(),n=this._getPointAbsoluteSurfaceElevation(r.eye,e,s),c=this._clampedDistanceToSurface(e,s),m=r.width/2,l=Y*r.width,p=Y*r.width,h=c*Math.tan(.5*r.fovX)/m,d=h/a,u=h/this._computeHeadingRotateRadius(s),_=n-e;return{pan:(o?d:h)*l*t,ascend:Math.max(this._minimumAscendVelocity()*t,2**(l*t/m)*_-_),zoom:2**(l*t/m)*c-c,rotate:i(u*p,tt,et)*t}}_applyDisabledMovementTypes(t){!o(this.disableMovements)||void 0!==this.disableMovements.mode&&this.view.state.viewingMode!==this.disableMovements.mode||(t.zoom=this.disableMovements.zoom?0:t.zoom,t.ascend=this.disableMovements.ascend?0:t.ascend,t.pan.enabled=!this.disableMovements.pan,this.disableMovements.pan&&l(t.pan.matrix),t.rotate.enabled=!this.disableMovements.rotate,this.disableMovements.rotate&&l(t.rotate.matrix))}static activatesFor(t,e){const i=K(e,t.navigation.gamepad,J);return!("end"===e.action||X(i))}};t([s({constructOnly:!0})],q.prototype,"gamepadDevice",void 0),t([s({constructOnly:!0})],q.prototype,"disableMovements",void 0),q=t([n("esri.views.3d.state.controllers.GamepadKeyboardController")],q);const J={translation:[0,0,0],heading:0,tilt:0,zoom:0},Q=80,W=r(Q),Y=.75,$=5,tt=r(30),et=r(80),it={zoom:0,ascend:0,pan:{enabled:!1,matrix:p()},rotate:{enabled:!1,matrix:p()}},at=j(),rt=j(),ot=V();function st(t){t.zoom=0,t.ascend=0,t.pan.enabled=!1,l(t.pan.matrix),t.rotate.enabled=!1,l(t.rotate.matrix)}export{q as GamepadKeyboardController};
|
|
5
|
+
import{_ as t}from"../../../../chunks/tslib.es6.js";import{neverReached as e}from"../../../../core/compilerUtils.js";import{clamp as i,acosClamped as a,deg2rad as r}from"../../../../core/mathUtils.js";import{isSome as o}from"../../../../core/maybe.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as n}from"../../../../core/accessorSupport/decorators/subclass.js";import{v as c,e as m,i as l}from"../../../../chunks/mat4.js";import{c as p}from"../../../../chunks/mat4f64.js";import{b as h,v as d,a as u,g as _,c as f,x as v,l as C,s as g,n as y,f as w,e as O,i as b,A as S}from"../../../../chunks/vec3.js";import{c as j}from"../../../../chunks/vec3f64.js";import{getReferenceEllipsoid as x}from"../../../../geometry/projectionEllipsoid.js";import{wrap as M}from"../../../../geometry/support/ray.js";import{b as T,e as L,t as A}from"../../../../chunks/sphere.js";import{sv3d as z}from"../../../../geometry/support/vectorStacks.js";import{applyAll as E}from"../../camera/constraintUtils.js";import{ConstraintTypes as D}from"../../camera/constraintUtils/ConstraintTypes.js";import{InteractionType as I}from"../../camera/constraintUtils/InteractionType.js";import{TiltMode as U}from"../../camera/constraintUtils/TiltMode.js";import{TiltDefault as R}from"../Constraints.js";import{InteractiveController as k}from"./InteractiveController.js";import{panMotionToRotationMatrix as H,onSurfaceTiltToEyeTiltGlobal as N,offSurfaceTiltToEyeTiltGlobal as F}from"../utils/navigationUtils.js";import{viewAngle as P}from"../utils/viewUtils.js";import{headingTiltToDirectionUp as G}from"../../support/cameraUtils.js";import{createDirectionUp as V}from"../../support/cameraUtilsInternal.js";import{Camera as B}from"../../webgl-engine/lib/Camera.js";import{extractTransformation as K,isZeroTransformation as X,extractTransformationKeyboard as Z}from"../../../navigation/gamepadAndKeyboardUtils.js";let q=class extends k{constructor(t){super(t),this._transformation={translation:[0,0,0],heading:0,tilt:0,zoom:0},this._keysButtonState=[0,0,0,0,0,0,0,0,0,0,0,0],this._tmpCamera=new B,this._constraintOptions={selection:D.ALL,interactionType:I.NONE,interactionStartCamera:new B,interactionFactor:0,interactionDirection:null,tiltMode:U.LOOK_AROUND}}handleEventGamepad(t){const e=K(t,this.view.navigation.gamepad,this._transformation);("end"===t.action||X(e))&&this.finishController()}activateDirection(t){this._keysButtonState[t]=1,Z(this._keysButtonState,this._transformation)}deactivateDirection(t){this._keysButtonState[t]=0;const e=Z(this._keysButtonState,this._transformation);X(e)&&this.finishController()}onControllerStart(t){this._filteredSurfaceElevation=this.view.pointsOfInterest.cameraOnSurface.location.z,this._headingStart=this.view.camera.heading,super.onControllerStart(t)}_updateFilteredSurfaceElevation(t){const e=this.view.pointsOfInterest.cameraOnSurface.location.z,i=1;this._filteredSurfaceElevation+=i*(e-this._filteredSurfaceElevation)*t}stepController(t,e){this._updateStartHeading(),this._updateFilteredSurfaceElevation(t),this.currentCamera.copyViewFrom(e),this._updateCameraCenter(),this._constraintOptions.interactionStartCamera.copyFrom(this.currentCamera),this._calculateControlTransformation(t,this.currentCamera,it),this._applyDisabledMovementTypes(it),this._applyPan(it.pan),this._applyRotate(it.rotate),this._applyZoom(it.zoom),this._applyAscend(it.ascend),this._constraintOptions.interactionType=I.NONE,this._constraintOptions.selection=D.COLLISION,E(this.view,this.currentCamera,this._constraintOptions),super.stepController(t,e)}_updateStartHeading(){0!==this._transformation.heading&&(this._headingStart=this.view.camera.heading)}_applyRotate(t){if(!t.enabled)return;const e=this.currentCamera;h(at,e.center,e.eye),d(at,at,t.matrix),e.center=u(at,at,e.eye),e.up=d(at,e.up,t.matrix),this._constraintOptions.interactionType=I.LOOK_AROUND,this._constraintOptions.selection=D.ALL_EXCEPT_COLLISION,E(this.view,e,this._constraintOptions)}_applyPan(t,e=this.currentCamera){if(!t.enabled)return;e.eye=d(at,e.eye,t.matrix),e.center=d(at,e.center,t.matrix);this.view.state.isGlobal&&(e.up=d(at,e.up,t.matrix)),this._constraintOptions.interactionType=I.PAN,this._constraintOptions.selection=D.ALL,E(this.view,e,this._constraintOptions)}_applyZoom(t){if(!t)return;const e=this.currentCamera.viewForward;this.currentCamera.eye=u(at,this.currentCamera.eye,_(z.get(),e,t)),f(rt,e),v(rt,rt),this._constraintOptions.interactionDirection=rt,this._constraintOptions.interactionType=I.ZOOM,this._constraintOptions.selection=D.ALL_EXCEPT_COLLISION,E(this.view,this.currentCamera,this._constraintOptions),this._constraintOptions.interactionDirection=null}_applyAscend(t){if(!t)return;const e=this.view.renderCoordsHelper.worldUpAtPosition(this.currentCamera.eye,z.get());this._constraintOptions.interactionDirection=f(rt,e);if(this.view.state.isGlobal){const e=C(this.currentCamera.eye),i=(e+t)/e;this.currentCamera.eye=_(at,this.currentCamera.eye,i),this.currentCamera.center=_(at,this.currentCamera.center,i)}else{const i=_(z.get(),e,t);this.currentCamera.eye=u(at,this.currentCamera.eye,i),this.currentCamera.center=u(at,this.currentCamera.center,i)}this._updateCameraCenter(),this._constraintOptions.interactionType=I.ASCEND,this._constraintOptions.selection=D.COLLISION,E(this.view,this.currentCamera,this._constraintOptions)&&this._updateCameraCenter(),this._constraintOptions.selection=D.ALL_EXCEPT_COLLISION,E(this.view,this.currentCamera,this._constraintOptions),this._constraintOptions.interactionDirection=null}_calculateControlTransformation(t,e,i){st(i);const a=this._computeVelocities(t);this.view.state.isLocal?this._calculateControlTransformationLocal(a,e,i):this._calculateControlTransformationGlobal(a,e,i)}_updateCameraCenter(){const t=this.view.pointsOfInterest.centerOnSurfaceFrequent.estimatedSurfaceAltitude,e=this.view.renderCoordsHelper,i=this.currentCamera.ray;this.currentCamera.center=e.intersectManifoldClosestSilhouette(i,t,at)}_calculateControlTransformationLocal(t,a,r){const{viewRight:o,viewForward:s}=a,n=this._transformation,l=this.view.navigation.gamepad,p=g(z.get(),s[0],s[1],0);y(p,p);const h=n.translation[0]*t.pan;if(0!==h){const t=_(z.get(),o,h);c(r.pan.matrix,r.pan.matrix,t),r.pan.enabled=!0}switch(l.mode){case"pan":{const e=-n.translation[1]*t.pan;if(0!==e){const t=_(z.get(),p,e);c(r.pan.matrix,r.pan.matrix,t),r.pan.enabled=!0}r.zoom=n.zoom*t.zoom;break}case"zoom":r.zoom=(-n.translation[1]+n.zoom)*t.zoom;break;default:e(l.mode)}const d=n.translation[2]*t.ascend;r.ascend=d;const u=-n.heading*t.rotate;0!==u&&(m(r.rotate.matrix,r.rotate.matrix,u,this.view.renderCoordsHelper.worldUpAtPosition(a.eye,z.get())),r.rotate.enabled=!0);const f=n.tilt*t.rotate,v=P(this.view.renderCoordsHelper,a.center,a.eye),C=i(v+f,R.min,R.max)-v;C&&(m(r.rotate.matrix,r.rotate.matrix,C,o),r.rotate.enabled=!0)}_calculateControlTransformationGlobal(t,e,i){const{eye:a,viewRight:r}=e,o=this._transformation,s=this.view.navigation.gamepad,n=w(z.get(),r,a);y(n,n),v(n,n),H(this.startCamera,e,o,t,this.view.camera.heading,this._headingStart,this.view.camera.tilt,i,s),this._tmpCamera.copyFrom(this.currentCamera),this._applyPan(it.pan,this._tmpCamera);const c=this.view.pointsOfInterest.centerOnSurfaceFrequent.estimatedSurfaceAltitude,l=o.translation[2]*t.ascend;i.ascend=l;const p=-o.heading*t.rotate;0!==p&&(m(i.rotate.matrix,i.rotate.matrix,p,this._tmpCamera.eye),i.rotate.enabled=!0);const h=o.tilt*t.rotate,d=this._clampTiltDeltaGlobalToValidRange(h,e.ray,c);0!==d&&(m(i.rotate.matrix,i.rotate.matrix,d,this._tmpCamera.viewRight),i.rotate.enabled=!0),i.zoom+=o.zoom*t.zoom}_clampTiltDeltaGlobalToValidRange(t,e,r){const o=x(this.view.spatialReference),s=N(R.min,e.origin,r,o);let n=0,c=0;const m=z.get();if(this.view.renderCoordsHelper.intersectManifold(e,r,m)){const t=P(this.view.renderCoordsHelper,m,e.origin);n=N(t,e.origin,r,o),c=N(R.max,e.origin,r,o)}else{T(L(A,r+o.radius),e,m);const t=a(-O(e.direction,y(m,m)));n=F(t,e.origin,r,o),c=F(R.max,e.origin,r,o)}return i(n+t,s,c)-n}_getPointAbsoluteSurfaceElevation(t,e,i){const{renderCoordsHelper:a}=this.view,r=a.getAltitude(t),o=e+Math.abs(r-e);return a.setAltitude(i,o,t),o}_clampedDistanceToSurface(t,e){const{renderCoordsHelper:i}=this.view,{camera:a}=this.view.state,{direction:r}=G(this.view,e,0,Q,ot),o=i.intersectManifoldClosestSilhouette(M(e,r),t,z.get()),s=b(e,o),n=i.intersectManifoldClosestSilhouette(M(e,S(z.get(),e,a.center)),t,z.get()),c=b(e,n);return Math.min(s,c)}_computeHeadingRotateRadius(t){const{renderCoordsHelper:e,state:i}=this.view,{camera:r,isGlobal:o}=i,s=e.intersectManifoldClosestSilhouette(r.ray,this._filteredSurfaceElevation,z.get());if(o){const e=h(z.get(),t,s),i=C(e);_(e,e,1/i);const r=y(z.get(),t),o=a(O(r,e));return i*Math.sin(Math.min(W,o))}{const i=f(z.get(),t);return e.setAltitude(i,this._filteredSurfaceElevation),b(s,i)}}_minimumAscendVelocity(){return this.view.state.constraints.collision.enabled?0:$}_computeVelocities(t){const e=this._filteredSurfaceElevation,a=e+x(this.view.spatialReference).radius,{camera:r,isGlobal:o}=this.view.state,s=z.get(),n=this._getPointAbsoluteSurfaceElevation(r.eye,e,s),c=this._clampedDistanceToSurface(e,s),m=r.width/2,l=Y*r.width,p=Y*r.width,h=c*Math.tan(.5*r.fovX)/m,d=h/a,u=h/this._computeHeadingRotateRadius(s),_=n-e;return{pan:(o?d:h)*l*t,ascend:Math.max(this._minimumAscendVelocity()*t,2**(l*t/m)*_-_),zoom:2**(l*t/m)*c-c,rotate:i(u*p,tt,et)*t}}_applyDisabledMovementTypes(t){!o(this.disableMovements)||void 0!==this.disableMovements.mode&&this.view.state.viewingMode!==this.disableMovements.mode||(t.zoom=this.disableMovements.zoom?0:t.zoom,t.ascend=this.disableMovements.ascend?0:t.ascend,t.pan.enabled=!this.disableMovements.pan,this.disableMovements.pan&&l(t.pan.matrix),t.rotate.enabled=!this.disableMovements.rotate,this.disableMovements.rotate&&l(t.rotate.matrix))}static activatesFor(t,e){const i=K(e,t.navigation.gamepad,J);return!("end"===e.action||X(i))}};t([s({constructOnly:!0})],q.prototype,"gamepadDevice",void 0),t([s({constructOnly:!0})],q.prototype,"disableMovements",void 0),q=t([n("esri.views.3d.state.controllers.GamepadKeyboardController")],q);const J={translation:[0,0,0],heading:0,tilt:0,zoom:0},Q=80,W=r(Q),Y=.75,$=5,tt=r(30),et=r(80),it={zoom:0,ascend:0,pan:{enabled:!1,matrix:p()},rotate:{enabled:!1,matrix:p()}},at=j(),rt=j(),ot=V();function st(t){t.zoom=0,t.ascend=0,t.pan.enabled=!1,l(t.pan.matrix),t.rotate.enabled=!1,l(t.rotate.matrix)}export{q as GamepadKeyboardController};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../chunks/tslib.es6.js";import{acosClamped as i,clamp as s}from"../../../../core/mathUtils.js";import{isSome as r,unwrapOr as o,isNone as e}from"../../../../core/maybe.js";import{createScreenPointArray as a}from"../../../../core/screenUtils.js";import{property as n}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../../core/accessorSupport/decorators/subclass.js";import{d as h,e as c}from"../../../../chunks/mat4.js";import{c as m}from"../../../../chunks/mat4f64.js";import{c as l}from"../../../../chunks/vec2.js";import{a as _}from"../../../../chunks/vec2f64.js";import{c as v,b as u,l as f,n as C,a as P,g as E,e as T,f as d,
|
|
5
|
+
import{_ as t}from"../../../../chunks/tslib.es6.js";import{acosClamped as i,clamp as s}from"../../../../core/mathUtils.js";import{isSome as r,unwrapOr as o,isNone as e}from"../../../../core/maybe.js";import{createScreenPointArray as a}from"../../../../core/screenUtils.js";import{property as n}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../../core/accessorSupport/decorators/subclass.js";import{d as h,e as c}from"../../../../chunks/mat4.js";import{c as m}from"../../../../chunks/mat4f64.js";import{c as l}from"../../../../chunks/vec2.js";import{a as _}from"../../../../chunks/vec2f64.js";import{c as v,b as u,l as f,n as C,a as P,g as E,e as T,f as d,v as j}from"../../../../chunks/vec3.js";import{c as w}from"../../../../chunks/vec3f64.js";import{getReferenceEllipsoid as R}from"../../../../geometry/projectionEllipsoid.js";import{applyAll as y}from"../../camera/constraintUtils.js";import{ConstraintTypes as U}from"../../camera/constraintUtils/ConstraintTypes.js";import{InteractionType as M}from"../../camera/constraintUtils/InteractionType.js";import{TiltMode as O}from"../../camera/constraintUtils/TiltMode.js";import{TiltDefault as D}from"../Constraints.js";import{InteractiveController as x}from"./InteractiveController.js";import{normalizeCoordinate as N,decideNavigationMode as g,NavigationMode as k}from"../utils/navigationUtils.js";var A;!function(t){t[t.CENTER=0]="CENTER",t[t.EYE=1]="EYE"}(A||(A={}));const b=7,L=90;let V=class extends x{constructor(t){super(t),this.pivot=A.CENTER,this._lastPoint=_(),this._tmpWorldUp=w(),this._tmpViewDir=w(),this._tmpRotCurPoint=_(),this._tmpTransf=m(),this._tmpAxis=w(),this._tmpPivotPoint=w(),this._pivotPos=w(),this._constraintOptions={selection:U.ALL,interactionType:M.TUMBLE,interactionFactor:0,interactionStartCamera:null,interactionDirection:null,tiltMode:O.TUMBLE}}get _intersectionHelper(){return this.view.sceneIntersectionHelper}initialize(){this._rotScale=this.pivot===A.CENTER?3:1.5}begin(t){if(this.active){switch(this.pivot){case A.EYE:v(this._pivotPos,this.startCamera.eye),this._constraintOptions.interactionType=M.LOOK_AROUND,this._constraintOptions.tiltMode=O.LOOK_AROUND,this._constraintOptions.selection=U.NONE;break;case A.CENTER:{const i=this._intersectionHelper.intersectRayFreePointFallback(this.startCamera.ray,this._pivotPos);i||v(this._pivotPos,this.startCamera.center),this._constrainPivotPoint(t,i),this.startCamera.center=this._pivotPos,this._constraintOptions.interactionType=M.TUMBLE,this._constraintOptions.tiltMode=O.TUMBLE,this._constraintOptions.selection=U.ALL&~U.DISTANCE;break}}this._constraintOptions.interactionStartCamera=this.startCamera,N(this.startCamera,t,this._lastPoint)}}_constrainPivotPoint(t,i){const s=this.startCamera,n=w();u(n,this._pivotPos,s.eye);const p=f(n);let h=Math.min(p,b*Math.abs(this.view.camera.position.z));const c=R(this.view.spatialReference),m=a(s.width/s.pixelRatio*.5,s.height/s.pixelRatio*.5),l=g(this.startCamera,m,!0,c);let _=this.view._stage.renderView.getMinimalDepthForArea(this.view.voxelWasm,s.fullWidth/s.pixelRatio*.5,s.fullHeight/s.pixelRatio*.5,s,2.5*L,L),T=this.view._stage.renderView.getMinimalDepthForArea(this.view.voxelWasm,t[0],t[1],s,L);(r(_)||r(T))&&(_=o(_,T),T=e(T)||l===k.Horizontal?_:T,h=_>T?T:_,h=i?Math.min(h,p):h),C(n,n),v(this._pivotPos,P(this._tmpPivotPoint,s.eye,E(this._tmpPivotPoint,n,h)))}update(t){if(this.active){switch(this.pivot){case A.EYE:this.currentCamera.center=this._applyRotation(this.currentCamera,t,this.currentCamera.center,this._pivotPos);break;case A.CENTER:this.currentCamera.center=this._pivotPos,this.currentCamera.eye=this._applyRotation(this.currentCamera,t,this.currentCamera.eye,this._pivotPos)}y(this.view,this.currentCamera,this._constraintOptions),this.commitCamera()}}end(){this.active&&this.finishController()}_applyRotation(t,r,o,e){this.view.renderCoordsHelper.worldUpAtPosition(e,this._tmpWorldUp),N(t,r,this._tmpRotCurPoint);let a=(this._lastPoint[1]-this._tmpRotCurPoint[1])*this._rotScale,n=(this._tmpRotCurPoint[0]-this._lastPoint[0])*this._rotScale;u(this._tmpViewDir,o,e);const p=f(this._tmpViewDir),m=i(T(this._tmpViewDir,this._tmpWorldUp)/p);if(this.pivot===A.EYE){a*=-.5;const t=.5*Math.PI-m,i=.5*Math.PI*.99;a=t-Math.max(-i,Math.min(i,t+a))}return a=s(a+m,D.min,D.max)-m,d(this._tmpAxis,t.up,this._tmpViewDir),this.pivot===A.CENTER&&(n=-n),h(this._tmpTransf,n,this._tmpWorldUp),c(this._tmpTransf,this._tmpTransf,a,this._tmpAxis),j(this._tmpViewDir,this._tmpViewDir,this._tmpTransf),t.up=j(S,t.up,this._tmpTransf),P(S,e,this._tmpViewDir),l(this._lastPoint,this._tmpRotCurPoint),S}};t([n()],V.prototype,"pivot",void 0),V=t([p("esri.views.3d.state.controllers.RotateController")],V);const S=w();export{A as PivotPoint,V as RotateController};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../../chunks/tslib.es6.js";import{cyclicalPI as i}from"../../../../../core/Cyclical.js";import{deg2rad as e}from"../../../../../core/mathUtils.js";import{isNone as n,isSome as s}from"../../../../../core/maybe.js";import{createScreenPointArray as o,screenPointObjectToArray as r,createRenderScreenPointArray3 as a}from"../../../../../core/screenUtils.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as m}from"../../../../../core/accessorSupport/decorators/subclass.js";import{c as h,d as c}from"../../../../../chunks/vec2.js";import{c as _,o as p,l,b as u,n as P,a as d,g,e as v}from"../../../../../chunks/vec3.js";import{c as C}from"../../../../../chunks/vec3f64.js";import{getReferenceEllipsoid as M}from"../../../../../geometry/projectionEllipsoid.js";import{wrapAxisAngle as S}from"../../../../../geometry/support/axisAngle.js";import{create as w,fromPositionAndNormal as b,normal as f}from"../../../../../geometry/support/plane.js";import{c as j}from"../../../../../chunks/sphere.js";import{pixelDistanceToInteractionFactor as E,applyAll as y}from"../../../camera/constraintUtils.js";import{ConstraintTypes as O}from"../../../camera/constraintUtils/ConstraintTypes.js";import{InteractionType as k}from"../../../camera/constraintUtils/InteractionType.js";import{TiltMode as A}from"../../../camera/constraintUtils/TiltMode.js";import{ExponentialFalloff as z}from"../../../input/util.js";import{InteractiveController as R}from"../InteractiveController.js";import{PanPlanarMomentumController as x}from"../momentum/PanPlanarMomentumController.js";import{PanSphericalMomentumController as T}from"../momentum/PanSphericalMomentumController.js";import{RotationMomentumController as H}from"../momentum/RotationMomentumController.js";import{ZoomPlanarMomentumController as F}from"../momentum/ZoomPlanarMomentumController.js";import{ZoomSphericalMomentumController as U}from"../momentum/ZoomSphericalMomentumController.js";import{NavigationMode as D,pickPointAndInitSphere as I,SpherePickPointFallback as L,decideNavigationMode as Z,sphereOrPlanePointFromScreenPoint as N,intersectPlaneFromScreenPointAtEye as B,applyZoomOnSphere as G,preserveHeadingThreshold as V,applyPanSphericalPreserveHeading as q,applyPanSphericalDirectRotation as J,normalizeRotationDelta as K,applyRotation as Q,applyPanPlanar as W,applyZoomToPoint as X}from"../../utils/navigationUtils.js";import{Camera as Y}from"../../../webgl-engine/lib/Camera.js";import{PanPlanarMomentumEstimator as $}from"../../../../navigation/PanPlanarMomentumEstimator.js";import{PanSphericalMomentumEstimator as tt}from"../../../../navigation/PanSphericalMomentumEstimator.js";import{RotationMomentumEstimator as it}from"../../../../navigation/RotationMomentumEstimator.js";import{ZoomMomentumEstimator as et}from"../../../../navigation/ZoomMomentumEstimator.js";let nt=class extends R{constructor(){super(...arguments),this._smoothRotation=new z(.05),this._rotationAxis=C(),this._panningPlane=w(),this._smoothScaling=new z(.05),this._zoomCenterScreen=o(),this._zoomMomentumEstimator=new et,this._rotationMomentumEstimator=new it,this._panSphericalMomentumEstimator=new tt,this._panPlanarMomentumEstimator=new $,this._adjustedSphere=j(),this._tmp3d=C(),this._tmpScreenPointArray=o(),this._beginScreenPoint=o(),this._beginScenePoint=C(),this._screenPickPoint=o(),this._mode=D.Horizontal,this._tmpInteractionDirection=C(),this._constraintOptions={selection:O.ALL,interactionType:k.NONE,interactionFactor:0,interactionStartCamera:new Y,interactionDirection:null,tiltMode:A.TUMBLE}}get _intersectionHelper(){return this.view.sceneIntersectionHelper}begin(t){if(!this.active)return;const s=this.view.navigation.momentumEnabled;this._zoomMomentumEstimator.enabled=s,this._rotationMomentumEstimator.enabled=s,this._panPlanarMomentumEstimator.enabled=s,this._panSphericalMomentumEstimator.enabled=s,this._beginHeading=-i.normalize(e(this.view.camera.heading)),this._beginRadius=t.radius,this._pointerCount=t.pointers.size,this._beginAngle=t.angle,this._smoothRotation.reset(),r(t.center,this._screenPickPoint),h(this._beginScreenPoint,this._screenPickPoint);const o=M(this.view.spatialReference),a=I(this._intersectionHelper,this.startCamera,this._screenPickPoint,o,L.Silhouette);n(a.scenePickPoint)||(this._scenePickPoint=a.scenePickPoint,this._sphere=a.sphere,_(this._beginScenePoint,this._scenePickPoint),this._mode=Z(this.startCamera,this._screenPickPoint,a.hasGeometryIntersection,o),this._mode===D.Vertical&&this._preparePlanarPanMode(t),this._constraintOptions.interactionStartCamera.copyFrom(this.startCamera))}update(t){if(!this.active)return;this.currentCamera.copyFrom(this.startCamera);const i=t.pointers.size>1;this._mode===D.Horizontal?(i&&this._zoomSpherical(t),this._panningSpherical(t),i&&this._rotateSpherical(t)):(i&&this._zoomPlanar(t),this._panningPlanar(t),i&&this._rotatePlanar(t)),this.commitCamera()}end(t){t.pointers.size===this._pointerCount&&this.update(t),this.finishController();const i=this._zoomMomentumEstimator.evaluateMomentum();if(i)return this._mode===D.Horizontal?new U({view:this.view,momentum:i,screenCenter:this._zoomCenterScreen,sceneCenter:this._beginScenePoint,radius:this._sphere[3]}):new F({view:this.view,momentum:i,zoomCenter:this._beginScenePoint});const e=this._rotationMomentumEstimator.evaluateMomentum();if(e)return new H({view:this.view,momentum:e,center:this._sphere,axis:this._rotationAxis});if(this._mode===D.Horizontal){const t=this._panSphericalMomentumEstimator.evaluateMomentum();if(t)return new T({view:this.view,momentum:t})}else{const t=this._panPlanarMomentumEstimator.evaluateMomentum();if(t)return new x({view:this.view,momentum:t})}return null}_preparePlanarPanMode(t){const i=p(this._tmp3d,this.startCamera.viewForward);b(this._scenePickPoint,i,this._panningPlane);const e=o(this._screenPickPoint[0],0),n=C(),m=l(this.startCamera.eye);this._adjustedSphere[3]=m<this._sphere[3]?m-100:this._sphere[3],N(this._adjustedSphere,this.startCamera,e,n);const h=a();this.startCamera.projectToRenderScreen(n,h);const c=.9*h[1];this._screenPickPoint[1]=Math.min(this._screenPickPoint[1],c);const M=this._intersectionHelper.intersectScreen(this._screenPickPoint,this._scenePickPoint);M&&b(this._scenePickPoint,f(this._panningPlane),this._panningPlane);const S=C(),w=C(),j=C(),E=80,y=5,O=50;u(S,this._scenePickPoint,this.currentCamera.eye);const k=l(S);P(S,S);const A=y*Math.max(Math.abs(this.view.camera.position.z),O),z=this.view._stage.renderView.getMinimalDepthForArea(null,this._screenPickPoint[0],this._screenPickPoint[1],this.view.state.camera,E);let R=s(z)?Math.min(z,A):A;R=M?Math.min(R,k):R,_(j,d(w,this.currentCamera.eye,g(w,S,R))),this._panningPlane[3]=-v(this._panningPlane,j),this.startCamera.center=d(w,this.startCamera.eye,g(w,this.startCamera.viewForward,R));const x=r(t.center,this._tmpScreenPointArray);B(this._panningPlane,this.startCamera,x,this._beginScenePoint)}_zoomSpherical(t){const i=this._beginRadius/t.radius,e=.001875*Math.min(Math.max(t.radius,40),120);this._smoothScaling.gain=e,this._smoothScaling.update(i),G(this._sphere,this.currentCamera,this._smoothScaling.value),r(t.center,this._zoomCenterScreen),this._zoomMomentumEstimator.add(this._smoothScaling.value,.001*t.timestamp),this._constraintOptions.interactionType=k.ZOOM,this._constraintOptions.interactionFactor=E(t.radius-this._beginRadius),y(this.view,this.currentCamera,this._constraintOptions)}_panningSpherical(t){const i=r(t.center,this._tmpScreenPointArray);N(this._sphere,this.currentCamera,i,this._tmp3d),V(this._beginScenePoint,v(this.currentCamera.up,this._beginScenePoint),this._sphere[3],this._beginHeading,this.view.camera.tilt,this.startCamera)?(q(this._sphere,this.currentCamera,this._beginScenePoint,this._tmp3d,this._beginHeading,this.view.camera.tilt,!1),this._panSphericalMomentumEstimator.addMomentumPreserveHeading(i,this._tmp3d,.001*t.timestamp,this.startCamera,this._sphere,this._beginHeading,this.view.camera.tilt)):(J(this._sphere,this.currentCamera,this._beginScenePoint,this._tmp3d,this.view.camera.tilt,!1),this._panSphericalMomentumEstimator.addMomentumDirectRotation(i,this._tmp3d,.001*t.timestamp,this.startCamera,this._sphere[3],this.view.camera.tilt)),this._constraintOptions.interactionType=k.PAN,this._constraintOptions.interactionFactor=E(c(this._screenPickPoint,i)),y(this.view,this.currentCamera,this._constraintOptions)}_rotateSpherical(t){P(this._rotationAxis,this._scenePickPoint),this.currentCamera.aboveGround||p(this._rotationAxis,this._rotationAxis);const i=this._smoothRotation.value,e=i+K(t.angle-i),n=.00125*Math.min(Math.max(t.radius,40),120);this._smoothRotation.gain=n,this._smoothRotation.update(e);const s=this._smoothRotation.value-this._beginAngle;this._rotationMomentumEstimator.add(s,.001*t.timestamp),Q(this.currentCamera,this._sphere,S(this._rotationAxis,s)),this._constraintOptions.interactionType=k.TUMBLE,this._constraintOptions.interactionFactor=E(t.radius*e),y(this.view,this.currentCamera,this._constraintOptions)}_panningPlanar(t){const i=r(t.center,this._tmpScreenPointArray);B(this._panningPlane,this.currentCamera,i,this._tmp3d)&&(W(this.currentCamera,this._beginScenePoint,this._tmp3d),this._panPlanarMomentumEstimator.add(i,this._tmp3d,.001*t.timestamp),this._constraintOptions.interactionType=k.PAN,this._constraintOptions.interactionFactor=E(c(this._beginScreenPoint,i)),this._constraintOptions.interactionDirection=this.view.renderCoordsHelper.worldUpAtPosition(this.currentCamera.eye,this._tmpInteractionDirection),y(this.view,this.currentCamera,this._constraintOptions),this._constraintOptions.interactionDirection=null)}_zoomPlanar(t){const i=this._beginRadius/t.radius,e=.001875*Math.min(Math.max(t.radius,40),120);this._smoothScaling.gain=e,this._smoothScaling.update(i),this._zoomMomentumEstimator.add(this._smoothScaling.value,.001*t.timestamp),X(this.currentCamera,this._beginScenePoint,this._smoothScaling.value,this.view.state.constraints.minimumPoiDistance),this._constraintOptions.interactionType=k.ZOOM,this._constraintOptions.interactionFactor=E(t.radius-this._beginRadius),y(this.view,this.currentCamera,this._constraintOptions)}_rotatePlanar(t){_(this._rotationAxis,this._beginScenePoint),this.currentCamera.aboveGround||p(this._rotationAxis,this._rotationAxis);const i=this._smoothRotation.value;let e=t.angle-i;e=K(e);const n=i+e,s=.00125*Math.min(Math.max(t.radius,40),120);this._smoothRotation.gain=s,this._smoothRotation.update(n);const o=this._smoothRotation.value-this._beginAngle;this._rotationMomentumEstimator.add(o,.001*t.timestamp),Q(this.currentCamera,this._sphere,S(this._rotationAxis,o)),this._constraintOptions.interactionType=k.TUMBLE,this._constraintOptions.interactionFactor=E(t.radius*o),y(this.view,this.currentCamera,this._constraintOptions)}};nt=t([m("esri.views.3d.state.controllers.global.PinchAndPanController")],nt);export{nt as PinchAndPanController};
|
|
5
|
+
import{_ as t}from"../../../../../chunks/tslib.es6.js";import{cyclicalPI as i}from"../../../../../core/Cyclical.js";import{deg2rad as e}from"../../../../../core/mathUtils.js";import{isNone as n,isSome as s}from"../../../../../core/maybe.js";import{createScreenPointArray as o,screenPointObjectToArray as r,createRenderScreenPointArray3 as a}from"../../../../../core/screenUtils.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as m}from"../../../../../core/accessorSupport/decorators/subclass.js";import{c as h,d as c}from"../../../../../chunks/vec2.js";import{c as _,x as p,l,b as u,n as P,a as d,g,e as v}from"../../../../../chunks/vec3.js";import{c as C}from"../../../../../chunks/vec3f64.js";import{getReferenceEllipsoid as M}from"../../../../../geometry/projectionEllipsoid.js";import{wrapAxisAngle as S}from"../../../../../geometry/support/axisAngle.js";import{create as w,fromPositionAndNormal as b,normal as f}from"../../../../../geometry/support/plane.js";import{c as j}from"../../../../../chunks/sphere.js";import{pixelDistanceToInteractionFactor as E,applyAll as y}from"../../../camera/constraintUtils.js";import{ConstraintTypes as O}from"../../../camera/constraintUtils/ConstraintTypes.js";import{InteractionType as k}from"../../../camera/constraintUtils/InteractionType.js";import{TiltMode as A}from"../../../camera/constraintUtils/TiltMode.js";import{ExponentialFalloff as z}from"../../../input/util.js";import{InteractiveController as x}from"../InteractiveController.js";import{PanPlanarMomentumController as R}from"../momentum/PanPlanarMomentumController.js";import{PanSphericalMomentumController as T}from"../momentum/PanSphericalMomentumController.js";import{RotationMomentumController as H}from"../momentum/RotationMomentumController.js";import{ZoomPlanarMomentumController as F}from"../momentum/ZoomPlanarMomentumController.js";import{ZoomSphericalMomentumController as U}from"../momentum/ZoomSphericalMomentumController.js";import{NavigationMode as D,pickPointAndInitSphere as I,SpherePickPointFallback as L,decideNavigationMode as Z,sphereOrPlanePointFromScreenPoint as N,intersectPlaneFromScreenPointAtEye as B,applyZoomOnSphere as G,preserveHeadingThreshold as V,applyPanSphericalPreserveHeading as q,applyPanSphericalDirectRotation as J,normalizeRotationDelta as K,applyRotation as Q,applyPanPlanar as W,applyZoomToPoint as X}from"../../utils/navigationUtils.js";import{Camera as Y}from"../../../webgl-engine/lib/Camera.js";import{PanPlanarMomentumEstimator as $}from"../../../../navigation/PanPlanarMomentumEstimator.js";import{PanSphericalMomentumEstimator as tt}from"../../../../navigation/PanSphericalMomentumEstimator.js";import{RotationMomentumEstimator as it}from"../../../../navigation/RotationMomentumEstimator.js";import{ZoomMomentumEstimator as et}from"../../../../navigation/ZoomMomentumEstimator.js";let nt=class extends x{constructor(){super(...arguments),this._smoothRotation=new z(.05),this._rotationAxis=C(),this._panningPlane=w(),this._smoothScaling=new z(.05),this._zoomCenterScreen=o(),this._zoomMomentumEstimator=new et,this._rotationMomentumEstimator=new it,this._panSphericalMomentumEstimator=new tt,this._panPlanarMomentumEstimator=new $,this._adjustedSphere=j(),this._tmp3d=C(),this._tmpScreenPointArray=o(),this._beginScreenPoint=o(),this._beginScenePoint=C(),this._screenPickPoint=o(),this._mode=D.Horizontal,this._tmpInteractionDirection=C(),this._constraintOptions={selection:O.ALL,interactionType:k.NONE,interactionFactor:0,interactionStartCamera:new Y,interactionDirection:null,tiltMode:A.TUMBLE}}get _intersectionHelper(){return this.view.sceneIntersectionHelper}begin(t){if(!this.active)return;const s=this.view.navigation.momentumEnabled;this._zoomMomentumEstimator.enabled=s,this._rotationMomentumEstimator.enabled=s,this._panPlanarMomentumEstimator.enabled=s,this._panSphericalMomentumEstimator.enabled=s,this._beginHeading=-i.normalize(e(this.view.camera.heading)),this._beginRadius=t.radius,this._pointerCount=t.pointers.size,this._beginAngle=t.angle,this._smoothRotation.reset(),r(t.center,this._screenPickPoint),h(this._beginScreenPoint,this._screenPickPoint);const o=M(this.view.spatialReference),a=I(this._intersectionHelper,this.startCamera,this._screenPickPoint,o,L.Silhouette);n(a.scenePickPoint)||(this._scenePickPoint=a.scenePickPoint,this._sphere=a.sphere,_(this._beginScenePoint,this._scenePickPoint),this._mode=Z(this.startCamera,this._screenPickPoint,a.hasGeometryIntersection,o),this._mode===D.Vertical&&this._preparePlanarPanMode(t),this._constraintOptions.interactionStartCamera.copyFrom(this.startCamera))}update(t){if(!this.active)return;this.currentCamera.copyFrom(this.startCamera);const i=t.pointers.size>1;this._mode===D.Horizontal?(i&&this._zoomSpherical(t),this._panningSpherical(t),i&&this._rotateSpherical(t)):(i&&this._zoomPlanar(t),this._panningPlanar(t),i&&this._rotatePlanar(t)),this.commitCamera()}end(t){t.pointers.size===this._pointerCount&&this.update(t),this.finishController();const i=this._zoomMomentumEstimator.evaluateMomentum();if(i)return this._mode===D.Horizontal?new U({view:this.view,momentum:i,screenCenter:this._zoomCenterScreen,sceneCenter:this._beginScenePoint,radius:this._sphere[3]}):new F({view:this.view,momentum:i,zoomCenter:this._beginScenePoint});const e=this._rotationMomentumEstimator.evaluateMomentum();if(e)return new H({view:this.view,momentum:e,center:this._sphere,axis:this._rotationAxis});if(this._mode===D.Horizontal){const t=this._panSphericalMomentumEstimator.evaluateMomentum();if(t)return new T({view:this.view,momentum:t})}else{const t=this._panPlanarMomentumEstimator.evaluateMomentum();if(t)return new R({view:this.view,momentum:t})}return null}_preparePlanarPanMode(t){const i=p(this._tmp3d,this.startCamera.viewForward);b(this._scenePickPoint,i,this._panningPlane);const e=o(this._screenPickPoint[0],0),n=C(),m=l(this.startCamera.eye);this._adjustedSphere[3]=m<this._sphere[3]?m-100:this._sphere[3],N(this._adjustedSphere,this.startCamera,e,n);const h=a();this.startCamera.projectToRenderScreen(n,h);const c=.9*h[1];this._screenPickPoint[1]=Math.min(this._screenPickPoint[1],c);const M=this._intersectionHelper.intersectScreen(this._screenPickPoint,this._scenePickPoint);M&&b(this._scenePickPoint,f(this._panningPlane),this._panningPlane);const S=C(),w=C(),j=C(),E=80,y=5,O=50;u(S,this._scenePickPoint,this.currentCamera.eye);const k=l(S);P(S,S);const A=y*Math.max(Math.abs(this.view.camera.position.z),O),z=this.view._stage.renderView.getMinimalDepthForArea(null,this._screenPickPoint[0],this._screenPickPoint[1],this.view.state.camera,E);let x=s(z)?Math.min(z,A):A;x=M?Math.min(x,k):x,_(j,d(w,this.currentCamera.eye,g(w,S,x))),this._panningPlane[3]=-v(this._panningPlane,j),this.startCamera.center=d(w,this.startCamera.eye,g(w,this.startCamera.viewForward,x));const R=r(t.center,this._tmpScreenPointArray);B(this._panningPlane,this.startCamera,R,this._beginScenePoint)}_zoomSpherical(t){const i=this._beginRadius/t.radius,e=.001875*Math.min(Math.max(t.radius,40),120);this._smoothScaling.gain=e,this._smoothScaling.update(i),G(this._sphere,this.currentCamera,this._smoothScaling.value),r(t.center,this._zoomCenterScreen),this._zoomMomentumEstimator.add(this._smoothScaling.value,.001*t.timestamp),this._constraintOptions.interactionType=k.ZOOM,this._constraintOptions.interactionFactor=E(t.radius-this._beginRadius),y(this.view,this.currentCamera,this._constraintOptions)}_panningSpherical(t){const i=r(t.center,this._tmpScreenPointArray);N(this._sphere,this.currentCamera,i,this._tmp3d),V(this._beginScenePoint,v(this.currentCamera.up,this._beginScenePoint),this._sphere[3],this._beginHeading,this.view.camera.tilt,this.startCamera)?(q(this._sphere,this.currentCamera,this._beginScenePoint,this._tmp3d,this._beginHeading,this.view.camera.tilt,!1),this._panSphericalMomentumEstimator.addMomentumPreserveHeading(i,this._tmp3d,.001*t.timestamp,this.startCamera,this._sphere,this._beginHeading,this.view.camera.tilt)):(J(this._sphere,this.currentCamera,this._beginScenePoint,this._tmp3d,this.view.camera.tilt,!1),this._panSphericalMomentumEstimator.addMomentumDirectRotation(i,this._tmp3d,.001*t.timestamp,this.startCamera,this._sphere[3],this.view.camera.tilt)),this._constraintOptions.interactionType=k.PAN,this._constraintOptions.interactionFactor=E(c(this._screenPickPoint,i)),y(this.view,this.currentCamera,this._constraintOptions)}_rotateSpherical(t){P(this._rotationAxis,this._scenePickPoint),this.currentCamera.aboveGround||p(this._rotationAxis,this._rotationAxis);const i=this._smoothRotation.value,e=i+K(t.angle-i),n=.00125*Math.min(Math.max(t.radius,40),120);this._smoothRotation.gain=n,this._smoothRotation.update(e);const s=this._smoothRotation.value-this._beginAngle;this._rotationMomentumEstimator.add(s,.001*t.timestamp),Q(this.currentCamera,this._sphere,S(this._rotationAxis,s)),this._constraintOptions.interactionType=k.TUMBLE,this._constraintOptions.interactionFactor=E(t.radius*e),y(this.view,this.currentCamera,this._constraintOptions)}_panningPlanar(t){const i=r(t.center,this._tmpScreenPointArray);B(this._panningPlane,this.currentCamera,i,this._tmp3d)&&(W(this.currentCamera,this._beginScenePoint,this._tmp3d),this._panPlanarMomentumEstimator.add(i,this._tmp3d,.001*t.timestamp),this._constraintOptions.interactionType=k.PAN,this._constraintOptions.interactionFactor=E(c(this._beginScreenPoint,i)),this._constraintOptions.interactionDirection=this.view.renderCoordsHelper.worldUpAtPosition(this.currentCamera.eye,this._tmpInteractionDirection),y(this.view,this.currentCamera,this._constraintOptions),this._constraintOptions.interactionDirection=null)}_zoomPlanar(t){const i=this._beginRadius/t.radius,e=.001875*Math.min(Math.max(t.radius,40),120);this._smoothScaling.gain=e,this._smoothScaling.update(i),this._zoomMomentumEstimator.add(this._smoothScaling.value,.001*t.timestamp),X(this.currentCamera,this._beginScenePoint,this._smoothScaling.value,this.view.state.constraints.minimumPoiDistance),this._constraintOptions.interactionType=k.ZOOM,this._constraintOptions.interactionFactor=E(t.radius-this._beginRadius),y(this.view,this.currentCamera,this._constraintOptions)}_rotatePlanar(t){_(this._rotationAxis,this._beginScenePoint),this.currentCamera.aboveGround||p(this._rotationAxis,this._rotationAxis);const i=this._smoothRotation.value;let e=t.angle-i;e=K(e);const n=i+e,s=.00125*Math.min(Math.max(t.radius,40),120);this._smoothRotation.gain=s,this._smoothRotation.update(n);const o=this._smoothRotation.value-this._beginAngle;this._rotationMomentumEstimator.add(o,.001*t.timestamp),Q(this.currentCamera,this._sphere,S(this._rotationAxis,o)),this._constraintOptions.interactionType=k.TUMBLE,this._constraintOptions.interactionFactor=E(t.radius*o),y(this.view,this.currentCamera,this._constraintOptions)}};nt=t([m("esri.views.3d.state.controllers.global.PinchAndPanController")],nt);export{nt as PinchAndPanController};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../../chunks/tslib.es6.js";import{asinClamped as i}from"../../../../../core/mathUtils.js";import{isSome as e}from"../../../../../core/maybe.js";import{createScreenPointArray as n,screenPointObjectToArray as o}from"../../../../../core/screenUtils.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as s}from"../../../../../core/accessorSupport/decorators/subclass.js";import{d as r}from"../../../../../chunks/vec2.js";import{
|
|
5
|
+
import{_ as t}from"../../../../../chunks/tslib.es6.js";import{asinClamped as i}from"../../../../../core/mathUtils.js";import{isSome as e}from"../../../../../core/maybe.js";import{createScreenPointArray as n,screenPointObjectToArray as o}from"../../../../../core/screenUtils.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as s}from"../../../../../core/accessorSupport/decorators/subclass.js";import{d as r}from"../../../../../chunks/vec2.js";import{x as a,c as m,e as h,g as c,b as l,n as p,l as _,a as u}from"../../../../../chunks/vec3.js";import{c as d,f as C}from"../../../../../chunks/vec3f64.js";import{wrapAxisAngle as g}from"../../../../../geometry/support/axisAngle.js";import{create as M,fromNormalAndOffset as v,setOffsetFromPoint as f,negate as b,normal as w}from"../../../../../geometry/support/plane.js";import{pixelDistanceToInteractionFactor as j,applyAll as E}from"../../../camera/constraintUtils.js";import{ConstraintTypes as P}from"../../../camera/constraintUtils/ConstraintTypes.js";import{InteractionType as S}from"../../../camera/constraintUtils/InteractionType.js";import{TiltMode as V}from"../../../camera/constraintUtils/TiltMode.js";import{ExponentialFalloff as z}from"../../../input/util.js";import{InteractiveController as H}from"../InteractiveController.js";import{PanPlanarMomentumController as O}from"../momentum/PanPlanarMomentumController.js";import{RotationMomentumController as y}from"../momentum/RotationMomentumController.js";import{ZoomPlanarMomentumController as T}from"../momentum/ZoomPlanarMomentumController.js";import{NavigationMode as L,centroid as x,applyZoomToPoint as A,applyPanPlanar as F,normalizeRotationDelta as U,applyRotation as R,intersectPlaneFromScreenPointAtEye as D}from"../../utils/navigationUtils.js";import{Camera as N}from"../../../webgl-engine/lib/Camera.js";import{PanPlanarMomentumEstimator as k}from"../../../../navigation/PanPlanarMomentumEstimator.js";import{RotationMomentumEstimator as I}from"../../../../navigation/RotationMomentumEstimator.js";import{ZoomMomentumEstimator as G}from"../../../../navigation/ZoomMomentumEstimator.js";const Z=C(0,0,1),B={ELEVATION_THRESHOLD:3e4,ANGLE_THRESHOLD:16/180*Math.PI},W=80;let q=class extends H{constructor(){super(...arguments),this._rotationValueSmooth=new z(.05),this._scalingValueSmooth=new z(.05),this._planeHorizontal=M(),this._planeVertical=M(),this._rotationMomentumEstimator=new I,this._panMomentumEstimator=new k(300,12,.9),this._zoomMomentumEstimator=new G,this._beginCenter=d(),this._tmpPoints=[],this._beginCenterScreen=n(),this._tmpCentroid3d=d(),this._tmpCentroid2d=n(),this._tmp2d=n(),this._constraintOptions={selection:P.ALL,interactionType:S.NONE,interactionFactor:0,interactionStartCamera:new N,interactionDirection:null,tiltMode:V.TUMBLE}}begin(t){if(!this.active)return;const n=this.view.navigation.momentumEnabled;this._zoomMomentumEstimator.enabled=n,this._rotationMomentumEstimator.enabled=n,this._panMomentumEstimator.enabled=n,this._beginRadius=t.radius,this._pointerCount=t.pointers.size,this._beginAngle=t.angle,this._rotationValueSmooth.reset(),this._scalingValueSmooth.reset(),o(t.center,this._beginCenterScreen),v(Z,0,this._planeHorizontal);const s=d(),r=this._intersectionHelper.intersectScreenFreePointFallback(this._beginCenterScreen,s),C=d();a(C,this.startCamera.viewForward);const g=d();m(g,Z);const M=h(C,g),w=i(M<0?-M:M);if(this._panMode=w>=B.ANGLE_THRESHOLD?L.Horizontal:L.Vertical,f(this._planeHorizontal,this._planeHorizontal,s),this.startCamera.aboveGround||b(this._planeHorizontal,this._planeHorizontal),this._panMode===L.Vertical){c(g,g,M),l(this._planeVertical,C,g),p(this._planeVertical,this._planeVertical),f(this._planeVertical,this._planeVertical,s);const i=d(),n=d(),o=d();l(i,s,this.currentCamera.eye);const a=_(i);p(i,i);const v=5*Math.max(Math.abs(this.view.camera.position.z),50),b=this.view._stage.renderView.getMinimalDepthForArea(this.view.voxelWasm,this._beginCenterScreen[0],this._beginCenterScreen[1],this.view.state.camera,W);let w=e(b)?Math.min(b,v):v;w=r?Math.min(w,a):w,m(o,u(n,this.currentCamera.eye,c(n,i,w))),this._planeVertical[3]=-h(this._planeVertical,o),this._computePlanePoints(t.pointers,this._planeVertical,this.startCamera,this._tmpPoints),x(this._tmpPoints,this._beginCenter)}else this._computePlanePoints(t.pointers,this._planeHorizontal,this.startCamera,this._tmpPoints),x(this._tmpPoints,this._beginCenter);this._constraintOptions.interactionStartCamera.copyFrom(this.startCamera)}update(t){if(!this.active)return;this.currentCamera.copyFrom(this.startCamera);const i=t.pointers.size>1,e=this._panMode===L.Horizontal?this._planeHorizontal:this._planeVertical,n=this._beginCenter;if(i){const i=this._beginRadius/t.radius,e=.001875*Math.min(Math.max(t.radius,40),120);this._scalingValueSmooth.gain=e,this._scalingValueSmooth.update(i),A(this.currentCamera,n,this._scalingValueSmooth.value,this.view.state.constraints.minimumPoiDistance),this._zoomMomentumEstimator.add(this._scalingValueSmooth.value,.001*t.timestamp),this._constraintOptions.interactionType=S.ZOOM,this._constraintOptions.interactionFactor=j(Math.abs(t.radius-this._beginRadius)),E(this.view,this.currentCamera,this._constraintOptions)}if(this._computePlanePoints(t.pointers,e,this.currentCamera,this._tmpPoints),x(this._tmpPoints,this._tmpCentroid3d),o(t.center,this._tmpCentroid2d),F(this.currentCamera,n,this._tmpCentroid3d),this._panMomentumEstimator.add(this._tmpCentroid2d,this._tmpCentroid3d,.001*t.timestamp),this._constraintOptions.interactionType=S.PAN,this._constraintOptions.interactionFactor=j(r(this._beginCenterScreen,this._tmpCentroid2d)),E(this.view,this.currentCamera,this._constraintOptions),i){const i=this._planeHorizontal,e=n,o=this._rotationValueSmooth.value,s=o+U(t.angle-o),r=.00125*Math.min(Math.max(t.radius,40),120);this._rotationValueSmooth.gain=r,this._rotationValueSmooth.update(s);const a=this._rotationValueSmooth.value-this._beginAngle;this._rotationMomentumEstimator.add(a,.001*t.timestamp),R(this.currentCamera,e,g(i,a)),this._constraintOptions.interactionType=S.TUMBLE,this._constraintOptions.interactionFactor=j(Math.abs(t.radius*a)),E(this.view,this.currentCamera,this._constraintOptions)}this.commitCamera()}end(t){t.pointers.size===this._pointerCount&&this.update(t),this.finishController();const i=this._zoomMomentumEstimator.evaluateMomentum();if(i)return new T({view:this.view,momentum:i,zoomCenter:this._beginCenter});const e=this._rotationMomentumEstimator.evaluateMomentum();if(e)return new y({view:this.view,momentum:e,center:this._beginCenter,axis:w(this._planeHorizontal)});const n=this._panMomentumEstimator.evaluateMomentum();return n?new O({view:this.view,momentum:n}):null}_computePlanePoints(t,i,e,n){n.length=t.size;const o=this._tmp2d;let s=0;return t.forEach((t=>{o[0]=t.x,o[1]=t.y,void 0===n[s]&&(n[s]=d()),D(i,e,o,n[s]),s+=1})),n}get _intersectionHelper(){return this.view.sceneIntersectionHelper}};q=t([s("esri.views.3d.state.controllers.local.PinchAndPanController")],q);export{q as PinchAndPanController};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../../chunks/tslib.es6.js";import{clamp as i}from"../../../../../core/mathUtils.js";import{isSome as r}from"../../../../../core/maybe.js";import{createScreenPointArray as s}from"../../../../../core/screenUtils.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as e}from"../../../../../core/accessorSupport/decorators/subclass.js";import{c as a,d as o}from"../../../../../chunks/vec2.js";import{a as n}from"../../../../../chunks/vec2f64.js";import{b as m,l as c,n as h,g as p,a as _,
|
|
5
|
+
import{_ as t}from"../../../../../chunks/tslib.es6.js";import{clamp as i}from"../../../../../core/mathUtils.js";import{isSome as r}from"../../../../../core/maybe.js";import{createScreenPointArray as s}from"../../../../../core/screenUtils.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as e}from"../../../../../core/accessorSupport/decorators/subclass.js";import{c as a,d as o}from"../../../../../chunks/vec2.js";import{a as n}from"../../../../../chunks/vec2f64.js";import{b as m,l as c,n as h,g as p,a as _,x as l,c as u,h as C}from"../../../../../chunks/vec3.js";import{c as P}from"../../../../../chunks/vec3f64.js";import{create as f,fromPositionAndNormal as j}from"../../../../../geometry/support/plane.js";import{pixelDistanceToInteractionFactor as g,applyAll as v}from"../../../camera/constraintUtils.js";import{ConstraintTypes as y}from"../../../camera/constraintUtils/ConstraintTypes.js";import{InteractionType as D}from"../../../camera/constraintUtils/InteractionType.js";import{TiltMode as d}from"../../../camera/constraintUtils/TiltMode.js";import{InteractiveController as w}from"../InteractiveController.js";import{normalizeCoordinate as M,DISTANCE_CLAMP_VALUES as b,PIVOT_DISTANCE_MODIFIER as O,SCREEN_PIXEL_AREA as U,intersectPlaneFromScreenPoint as N}from"../../utils/navigationUtils.js";import{TERRAIN_ID as R}from"../../../webgl-engine/lib/verticalOffsetUtils.js";let k=class extends w{constructor(){super(...arguments),this._tmpP=P(),this._tmpDir=P(),this._tmpN=P(),this._tmpP0=n(),this._tmpPoi=P(),this._tmpRayDir=P(),this._dragBeginPoint=s(),this._normalizedAnchorPoint=n(),this._constraintOptions={selection:y.ALL,interactionType:D.ZOOM,interactionFactor:0,interactionStartCamera:null,interactionDirection:P(),tiltMode:d.TUMBLE},this._plane=f()}get _intersectionHelper(){return this.view.sceneIntersectionHelper}begin(t){if(!this.active)return;a(this._dragBeginPoint,t),M(this.startCamera,t,this._normalizedAnchorPoint);const s=this._intersectionHelper.intersectScreenFreePointFallback(t,this._tmpP,0===this.view.map.ground.opacity?A:{});m(this._tmpDir,this._tmpP,this.startCamera.eye);const e=c(this._tmpDir);let o;h(this._tmpDir,this._tmpDir),this.view.camera.position.hasZ&&(o=Math.abs(this.view.camera.position.z));let n=i(O*o,b[0],b[1]);const u=this.view._stage.renderView.getMinimalDepthForArea(this.view.voxelWasm,t[0],t[1],this.view.state.camera,U);n=r(u)?Math.min(n,u):n,n=s?Math.min(n,e):n,p(this._tmpDir,this._tmpDir,n),_(this._tmpP,this.startCamera.eye,this._tmpDir),m(this._tmpN,this.startCamera.eye,this.startCamera.center),h(this._tmpN,this._tmpN),this._tmpN[1]<0&&l(this._tmpN,this._tmpN),j(this._tmpP,this._tmpN,this._plane),this._constraintOptions.interactionStartCamera=this.startCamera}update(t){if(!this.active)return;N(this._plane,this.currentCamera,this._dragBeginPoint,this._tmpPoi)||u(this._tmpPoi,this.currentCamera.center),M(this.currentCamera,t,this._tmpP0);let i=4*(this._tmpP0[1]-this._normalizedAnchorPoint[1]);a(this._normalizedAnchorPoint,this._tmpP0),m(this._tmpRayDir,this._tmpPoi,this.currentCamera.eye);const r=c(this._tmpRayDir);let s=r*(1-i);u(this._constraintOptions.interactionDirection,this._tmpRayDir),p(this._constraintOptions.interactionDirection,this._constraintOptions.interactionDirection,Math.sign(i)/r);const e=this.view.state.constraints.minimumPoiDistance;i>=0&&s<e&&(s=e,i=-(s-r)/r),Math.abs(r-s)<1e-6||(p(this._tmpRayDir,this._tmpRayDir,i),this.currentCamera.eye=_(x,this.currentCamera.eye,this._tmpRayDir),C(x,this.currentCamera.center,this._tmpPoi,i),this._tmpPoi[2]>this.startCamera.center[2]?x[2]=Math.max(this.startCamera.center[2],x[2]):x[2]=Math.min(this.startCamera.center[2],x[2]),this.currentCamera.center=x,this._constraintOptions.interactionFactor=g(o(this._dragBeginPoint,t)),v(this.view,this.currentCamera,this._constraintOptions),this.commitCamera())}end(){this.active&&this.finishController()}};k=t([e("esri.views.3d.state.controllers.local.ZoomController")],k);const x=P(),A={exclude:new Set([R])};export{k as ZoomController};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../../chunks/tslib.es6.js";import{property as o}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/accessorSupport/ensureType.js";import{subclass as r}from"../../../../../core/accessorSupport/decorators/subclass.js";import{c as s,
|
|
5
|
+
import{_ as t}from"../../../../../chunks/tslib.es6.js";import{property as o}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/accessorSupport/ensureType.js";import{subclass as r}from"../../../../../core/accessorSupport/decorators/subclass.js";import{c as s,A as e}from"../../../../../chunks/vec3.js";import{c as i,a as n}from"../../../../../chunks/vec3f64.js";import{InteractionType as c}from"../../../camera/constraintUtils/InteractionType.js";import{MomentumController as m}from"./MomentumController.js";import{applyZoomToPoint as a}from"../../utils/navigationUtils.js";let p=class extends m{constructor(t){super(t),this.interactionType=c.ZOOM,this.constraintOptions.interactionDirection=i()}set zoomCenter(t){this._set("zoomCenter",n(t))}momentumStep(t,o){s(this.constraintOptions.interactionDirection,o.eye);const r=this.momentum.valueDelta(0,t);a(o,this.zoomCenter,r,this.view.state.constraints.minimumPoiDistance),this.constraintOptions.interactionDirection=e(this.constraintOptions.interactionDirection,o.eye,this.constraintOptions.interactionDirection)}};t([o({constructOnly:!0})],p.prototype,"momentum",void 0),t([o({constructOnly:!0})],p.prototype,"zoomCenter",null),p=t([r("esri.views.3d.state.controllers.momentum.ZoomPlanarMomentumController")],p);export{p as ZoomPlanarMomentumController};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{cyclicalPI as t}from"../../../../core/Cyclical.js";import{deg2rad as e,clamp as n,acosClamped as o,asinClamped as r}from"../../../../core/mathUtils.js";import{isNone as a}from"../../../../core/maybe.js";import{createScreenPointArray as i}from"../../../../core/screenUtils.js";import{d as s,j as c,m,e as l}from"../../../../chunks/mat4.js";import{I as u,c as p}from"../../../../chunks/mat4f64.js";import{s as f}from"../../../../chunks/vec2.js";import{a as h}from"../../../../chunks/vec2f64.js";import{b as M,
|
|
5
|
+
import{cyclicalPI as t}from"../../../../core/Cyclical.js";import{deg2rad as e,clamp as n,acosClamped as o,asinClamped as r}from"../../../../core/mathUtils.js";import{isNone as a}from"../../../../core/maybe.js";import{createScreenPointArray as i}from"../../../../core/screenUtils.js";import{d as s,j as c,m,e as l}from"../../../../chunks/mat4.js";import{I as u,c as p}from"../../../../chunks/mat4f64.js";import{s as f}from"../../../../chunks/vec2.js";import{a as h}from"../../../../chunks/vec2f64.js";import{b as M,v as y,a as g,l as d,g as b,h as j,s as v,n as z,e as x,d as P,c as I,f as k}from"../../../../chunks/vec3.js";import{c as w}from"../../../../chunks/vec3f64.js";import{create as E,axis as S,fromPoints as A,wrapAxisAngle as H}from"../../../../geometry/support/axisAngle.js";import{coordinateSystemFromOneAxisAndNormalVector as G,vectorCoordinates as U}from"../../../../geometry/support/coordinateSystem.js";import{create as V,intersectRay as q,fromNormalAndOffset as C}from"../../../../geometry/support/plane.js";import{b as F,i as R,c as T}from"../../../../chunks/sphere.js";import{angle as W}from"../../../../geometry/support/vector.js";import{sm4d as B,sv3d as D}from"../../../../geometry/support/vectorStacks.js";import{fromScreen as J,fromScreenAtEye as K}from"../../support/geometryUtils/ray.js";import{intersectScreen as L}from"../../support/geometryUtils/sphere.js";import{Camera as N}from"../../webgl-engine/lib/Camera.js";var O;!function(t){t[t.Ellipsoid=0]="Ellipsoid",t[t.Silhouette=1]="Silhouette"}(O||(O={}));const Q=30,X=[1,3e8],Y=70;function Z(t,e,n){return n[0]=e[0]/(t.fullWidth/t.pixelRatio),n[1]=e[1]/(t.fullHeight/t.pixelRatio),n}function $(t){for(;t>Math.PI;)t-=2*Math.PI;for(;t<-Math.PI;)t+=2*Math.PI;return t}function _(t,e,n){const o=s(B.get(),n[3],S(n));a(o)||c(o,u)||(M(Qt,t.eye,e),y(Qt,Qt,o),t.eye=g(Qt,Qt,e),M(Qt,t.center,e),y(Qt,Qt,o),t.center=g(Qt,Qt,e),t.up=y(Qt,t.up,o))}function tt(t,e,n,o){return q(t,J(e,n,_t),o)}function et(t,e,n,o){return q(t,K(e,n,_t),o)}function nt(t,e,n,o){const r=D.get();let a=1-n;M(r,e,t.eye);const i=d(r);let s=i*(1-a);a>=0&&s<o&&(s=o,a=-(s-i)/i),Math.abs(i-s)<1e-6||(b(r,r,a),t.eye=g(Qt,t.eye,r),t.center=j(Qt,t.center,e,a))}function ot(t,e,n){e.getScreenCenter(rt),L(t,e,rt,Qt)&&(e.center=Qt);const o=e.distance,r=o*n;if(Math.abs(o-r)<1e-6)return;const a=b(D.get(),e.viewForward,r);e.eye=M(Qt,e.center,a)}const rt=i();function at(t,e){v(e,0,0,0);for(const n of t)g(e,e,n);b(e,e,1/t.length)}function it(t,e,n,o){return Math.sin(t/d(e))*(n+o.radius)}function st(t,e,n,o){return it(Math.PI/2,e,n,o)+(t-Math.PI/2)}var ct;!function(t){t[t.Vertical=0]="Vertical",t[t.Horizontal=1]="Horizontal"}(ct||(ct={}));const mt={Elevation:3e4,Angle:e(6)},lt={Pole:.95,Angle:e(18),Tilt:45},ut=e(80);function pt(t,e,n,o,r,a){const i=w(),s=T();let c=!0,m=!0;return t.intersectScreen(n,i,a)?s[3]=d(i):(m=!1,e.aboveGround&&r!==O.Ellipsoid?s[3]=Math.max(d(e.center),.9*o.radius):s[3]=d(e.eye)-e.relativeElevation,r===O.Silhouette?yt(s,e,n,i):c=L(s,e,n,i)),{sphere:s,scenePickPoint:c?i:null,hasGeometryIntersection:m}}function ft(t,e,n,o){if(d(t.eye)-o.radius>mt.Elevation)return ct.Horizontal;if(!n)return ct.Vertical;K(t,e,te);return-Math.sign(t.relativeElevation)*(.5*Math.PI+W(t.eye,te.direction))<mt.Angle?ct.Vertical:ct.Horizontal}function ht(t,e,n){M(Mt,n,e),t.eye=M(Qt,t.eye,Mt),t.center=M(Qt,t.center,Mt)}const Mt=w();function yt(t,e,n,o){const r=K(e,n,_t);return!a(r)&&(F(t,r,gt),R(t,r,o)?!(P(gt,r.origin)<P(o,r.origin))||(I(o,gt),!1):(M(dt,e.eye,e.center),z(dt,dt),C(dt,-x(z(dt,dt),gt),bt),q(bt,r,o),!1))}const gt=w(),dt=w(),bt=V();function jt(a,i,s,c,m,l){let u=0;if(k(Zt,a,i),M(Xt,a,i),d(a)<=m||!c.aboveGround){k(s,Xt,c.eye);const p=x(a,i)/(d(a)*d(i));if(p<.9999)u=o(p);else{const t=d(k(w(),a,i))/(d(a)*d(i));u=r(t)}const f=Math.cos(n(t.normalize(e(l)),0,ut));u=-u-Math.max(0,d(i)-m)/(f*m)}else M(vt,c.eye,c.center),k(s,Xt,vt),u=-d(Xt)/m;return z(s,s),b(s,s,d(Zt)),u}const vt=w();function zt(r,a,i,s){let c,m;const l=Math.cos(n(t.normalize(e(s)),0,ut));return c=a>i?-(a-i)/(l*i):a<-i?Math.PI-(a+i)/(l*i):o(a/i),m=r>i?-(r-i)/(l*i):r<-i?Math.PI-(r+i)/(l*i):o(r/i),(m-c)*i}function xt(t,e,n,o,r,a,i,s,c,m){const l=zt(t[2],e[2],a[3],s),u=c?zt(t[0],e[0],a[3],180):e[0]-t[0],p=Math.sin(i)*u-Math.cos(i)*l,h=Math.cos(i)*u+Math.sin(i)*l;z(Qt,r);const M=c?p/Math.sqrt(Math.abs(a[3]**2-x(n,Qt)**2)):p/a[3],y=h/Math.sqrt(Math.abs(a[3]**2-x(n,o)**2));f(m,M,y)}function Pt(t,e,n,o,r,a,i,s,c,m){k(Zt,t,e),G(a.up,a.eye,Ft,Rt,Tt),G([0,0,1],a.eye,Vt,qt,Ct),I(n,qt),I(o,Vt),z(n,n),b(n,n,d(Zt)),U(t,z(Rt,Rt),z(Tt,Tt),z(Ft,Ft),Wt),U(e,Rt,Tt,Ft,Bt),xt(Wt,Bt,t,Vt,qt,i,s,c,m,r)}function It(t,e,n,o,r,a,i){s(Kt,r,o),s(Lt,i,a),m(Nt,Kt,Lt),M(e,t,n),y(e,e,Nt),g(e,e,n)}function kt(t,e,n,o,r,a){s(Kt,o,n),s(Lt,a,r),m(Nt,Kt,Lt),M(Qt,t.eye,e),y(Qt,Qt,Nt),t.eye=g(Qt,Qt,e),M(Qt,t.center,e),y(Qt,Qt,Nt),t.center=g(Qt,Qt,e),M(Qt,t.up,e),y(Qt,Qt,Nt),t.up=g(Qt,Qt,e)}function wt(t,e,n,o,r,a){return(Math.abs(o)>Math.PI-lt.Angle||Math.abs(o)<lt.Angle)&&(Math.abs(t[2])<n*lt.Pole||Math.abs(e)>n)&&a.aboveGround&&r<lt.Tilt}function Et(t,e,n,o,r,a){if(a)A(n,o,Jt),_(e,t,Jt);else{const a=jt(n,o,$t,e,t[3],r);_(e,t,H($t,a))}}function St(t,e,n,o,r,a,i){const s=i?20:1,c=1e-12;let m,l;I(Ot,o),Yt.copyFrom(e);for(let u=0;u<s&&P(n,Ot)>c&&(m=P(n,Ot),Pt(n,Ot,qt,Vt,Dt,Yt,t,r,a,i),kt(Yt,t,Vt,Dt[1],qt,Dt[0]),It(Ot,Ot,t,Vt,Dt[1],qt,Dt[0]),l=P(n,Ot),l<m||0===u);u++)e.copyFrom(Yt)}function At(n,o,r,a,i,s,c){wt(r,x(o.up,r),n[3],-t.normalize(e(i)),s,o)?St(n,o,r,a,-t.normalize(e(i)),s,c):Et(n,o,r,a,s,c)}function Ht(t,e,n,o,r,a){const{eye:i}=t;G([0,0,1],i,Vt,qt,Ct);const s=e.translation[0]*n.pan,c="zoom"===r.mode?0:e.translation[1]*n.pan,m=Math.max(Math.sqrt(Math.abs(1-x(t.center,Vt)**2/d(t.center)**2)),.5),u=(Math.sin(a)*c+Math.cos(a)*s)/m,p=-Math.cos(a)*c+Math.sin(a)*s;switch(l(o.pan.matrix,o.pan.matrix,u,Vt),o.pan.enabled=!0,r.mode){case"pan":l(o.pan.matrix,o.pan.matrix,p,qt),o.pan.enabled=!0;break;case"zoom":o.zoom=-e.translation[1]*n.zoom}}function Gt(t,e,n,o,r){const{eye:a,viewRight:i}=t,s=k(D.get(),i,a),c=e.translation[0]*n.pan;switch(0!==c&&(l(o.pan.matrix,o.pan.matrix,-c,s),o.pan.enabled=!0),r.mode){case"pan":{const t=e.translation[1]*n.pan;0!==t&&(l(o.pan.matrix,o.pan.matrix,t,i),o.pan.enabled=!0);break}case"zoom":o.zoom=-e.translation[1]*n.zoom}}function Ut(n,o,r,a,i,s,c,m,l){wt(n.center,x(n.up,n.center),d(n.center),-t.normalize(e(s)),c,o)?Ht(o,r,a,m,l,-t.normalize(e(i))):Gt(o,r,a,m,l)}const Vt=w(),qt=w(),Ct=w(),Ft=w(),Rt=w(),Tt=w(),Wt=w(),Bt=w(),Dt=h(),Jt=E(),Kt=p(),Lt=p(),Nt=p(),Ot=w(),Qt=w(),Xt=w(),Yt=new N,Zt=w(),$t=w(),_t={origin:w(),direction:w()},te={origin:w(),direction:w()};export{X as DISTANCE_CLAMP_VALUES,ct as NavigationMode,Q as PIVOT_DISTANCE_MODIFIER,lt as PreservingHeadingThreshold,Y as SCREEN_PIXEL_AREA,O as SpherePickPointFallback,ut as TiltThresholdPanningSpeed,mt as VerticalPanTresholds,ht as applyPanPlanar,Et as applyPanSphericalDirectRotation,St as applyPanSphericalPreserveHeading,_ as applyRotation,kt as applyRotationWithTwoAxes,ot as applyZoomOnSphere,nt as applyZoomToPoint,at as centroid,ft as decideNavigationMode,tt as intersectPlaneFromScreenPoint,et as intersectPlaneFromScreenPointAtEye,zt as lengthFromPoints,Z as normalizeCoordinate,$ as normalizeRotationDelta,st as offSurfaceTiltToEyeTiltGlobal,it as onSurfaceTiltToEyeTiltGlobal,Ut as panMotionToRotationMatrix,At as panToPosition,pt as pickPointAndInitSphere,wt as preserveHeadingThreshold,It as rotatePointAroundTwoAxes,jt as rotationAngleAndAxisDirectRotation,Pt as rotationAnglesAndAxesHeadingPreserving,xt as rotationAnglesHeadingPreserving,yt as sphereOrPlanePointFromScreenPoint};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{neverReached as t}from"../../../core/compilerUtils.js";import{lerp as e}from"../../../core/mathUtils.js";import{a as i}from"../../../chunks/mat4.js";import{c as r}from"../../../chunks/mat4f64.js";import{a as n,g as o,
|
|
5
|
+
import{neverReached as t}from"../../../core/compilerUtils.js";import{lerp as e}from"../../../core/mathUtils.js";import{a as i}from"../../../chunks/mat4.js";import{c as r}from"../../../chunks/mat4f64.js";import{a as n,g as o,A as s,v as a,s as c,e as l}from"../../../chunks/vec3.js";import{c as p}from"../../../chunks/vec3f64.js";import{computeTranslationToOriginAndRotation as h,projectVectorToVector as d,projectBoundingRect as _}from"../../../geometry/projection.js";import{getReferenceEllipsoid as m}from"../../../geometry/projectionEllipsoid.js";import{create as g,empty as u,expandWithVec3 as x}from"../../../geometry/support/aaBoundingBox.js";import{create as f,center as R}from"../../../geometry/support/aaBoundingRect.js";import{PlaneIndex as y}from"../../../geometry/support/frustum.js";import{create as j,fromPoints as A}from"../../../geometry/support/lineSegment.js";import{create as b,fromVectorsAndPoint as E,copy as S,negate as C,signedDistance as H}from"../../../geometry/support/plane.js";import{wrap as w}from"../../../geometry/support/ray.js";import{ViewingMode as B}from"../../ViewingMode.js";import{frustumLineSegment as G}from"./intersectionUtils.js";const M=.5*Math.PI,F=M/Math.PI*180;class N{constructor(t){this._renderCoordsHelper=t.renderCoordsHelper,this._extent=new Array(4),this._planes=new Array(6),this._maxSpan=0,this._center={origin:p(),direction:p()};for(let e=0;e<4;e++)this._extent[e]={origin:p(),direction:p(),cap:{next:null,direction:p()}},this._planes[e]=b();this._planes[y.NEAR]=b(),this._planes[y.FAR]=b(),this._planesWithoutFar=this._planes.slice(0,5)}update(t,e,i,r=!0){const a=this._extent;this._toRenderBoundingExtent(t,e,i),n(this._center.origin,a[0].origin,a[2].origin),o(this._center.origin,this._center.origin,.5),this._renderCoordsHelper.worldUpAtPosition(this._center.origin,this._center.direction),r||o(this._center.direction,this._center.direction,-1);for(let n=0;n<4;n++){const t=a[n];this._renderCoordsHelper.worldUpAtPosition(t.origin,t.direction);const e=a[3===n?0:n+1];t.cap.next=e.origin,s(t.cap.direction,t.origin,e.origin),E(t.direction,t.cap.direction,t.origin,this._planes[n]),r||o(t.direction,t.direction,-1)}E(a[0].cap.direction,a[1].cap.direction,a[0].origin,this._planes[y.NEAR]),r?C(this._planes[y.NEAR],this._planes[y.FAR]):(S(this._planes[y.FAR],this._planes[y.NEAR]),C(this._planes[y.NEAR],this._planes[y.NEAR])),this._maxSpan=Math.max(Math.abs(t[0]-t[2]),Math.abs(t[1]-t[3])),this._maxSpanSpatialReference=e,this._minGlobalAltitude=.9*m(this._maxSpanSpatialReference).radius}isVisibleInFrustum(t,e,i=!1){if(null==t)return!1;if(this._renderCoordsHelper.viewingMode===B.Global){const i=this._maxSpanSpatialReference.isGeographic?F:M*e;if(this._maxSpan>i)return!0;if(null!=t.altitude&&t.altitude>=this._minGlobalAltitude)return this._isVisibleInFrustumGlobal(t)}if(0===this._maxSpan){const e=this._extent[0];return!(i||!t.intersectsRay(w(e.origin,e.direction)))}for(let n=0;n<this._extent.length;n++){const e=this._extent[n];if(!i&&t.intersectsRay(w(e.origin,e.direction)))return!0;if(t.intersectsLineSegment(A(e.origin,e.cap.next,V),e.cap.direction))return!0}const r=i?this._planes:this._planesWithoutFar;for(let n=0;n<t.lines.length;n++){const e=t.lines[n];if(G(r,e.origin,e.endpoint,e.direction))return!0}return!1}_toRenderBoundingExtentGlobal(t,r,n){const o=5;R(t,v),v[2]=n,h(r,v,I,this._renderCoordsHelper.spatialReference),i(U,I),u(L);for(const{x0:i,x1:s,y0:c,y1:l}of k)for(let p=0;p<o;p++){const h=p/(o-1);v[0]=e(t[i],t[s],h),v[1]=e(t[c],t[l],h),v[2]=n,d(v,r,v,this._renderCoordsHelper.spatialReference),a(v,v,U),x(L,v)}c(this._extent[0].origin,L[0],L[1],L[2]),c(this._extent[1].origin,L[3],L[1],L[2]),c(this._extent[2].origin,L[3],L[4],L[2]),c(this._extent[3].origin,L[0],L[4],L[2]);for(let e=0;e<4;++e)a(this._extent[e].origin,this._extent[e].origin,I)}_toRenderBoundingExtentLocal(t,e,i){_(t,e,P,this._renderCoordsHelper.spatialReference),c(this._extent[0].origin,P[0],P[1],i),c(this._extent[1].origin,P[2],P[1],i),c(this._extent[2].origin,P[2],P[3],i),c(this._extent[3].origin,P[0],P[3],i)}_toRenderBoundingExtent(e,i,r){switch(this._renderCoordsHelper.viewingMode){case B.Global:this._toRenderBoundingExtentGlobal(e,i,r);break;case B.Local:this._toRenderBoundingExtentLocal(e,i,r);break;default:t(this._renderCoordsHelper.viewingMode)}}_isVisibleInFrustumGlobal(t){if(H(t.planes[y.NEAR],this._center.origin)<0&&l(this._center.direction,t.direction)<0)return!0;for(let e=0;e<4;e++){const i=this._extent[e];if(H(t.planes[y.NEAR],i.origin)<0&&l(i.direction,t.direction)<0)return!0}return!1}}const k=[{x0:0,y0:1,x1:2,y1:1},{x0:0,y0:3,x1:2,y1:3},{x0:0,y0:1,x1:0,y1:3},{x0:2,y0:1,x1:2,y1:3}],v=p(),I=r(),U=r(),L=g(),P=f(),V=j();export{N as FrustumExtentIntersection};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{
|
|
5
|
+
import{a as t,s as e}from"../../../chunks/mat3.js";import{c as a}from"../../../chunks/mat3f64.js";import{c as n,a as r}from"../../../chunks/quat.js";import{a as s,b as f}from"../../../chunks/quatf32.js";import{c as o}from"../../../chunks/quatf64.js";import{c as i,b as c,k as h,p as u,s as l,t as m,a as z,y as S}from"../../../chunks/vec3.js";import{c as b,a as M}from"../../../chunks/vec3f32.js";import{b as p,a as q,c as j}from"../../../chunks/vec3f64.js";import{t as k}from"../../../chunks/vec4.js";import{c as y}from"../../../chunks/vec4f64.js";import{create as v}from"../../../geometry/support/aaBoundingBox.js";import{signedDistance as x,normal as g}from"../../../geometry/support/plane.js";import{computeOBB as w}from"./dito.js";const A=o(),B=j(),d=j(),I=y(),C=a();class D{constructor(t){const e=56,a=0,n=24,r=36,f=t*e;this.buffer=new ArrayBuffer(f),this.obbs=new Array(t);for(let o=0;o<t;o++)this.obbs[o]={center:p(this.buffer,e*o+a),halfSize:b(this.buffer,e*o+n),quaternion:s(this.buffer,e*o+r)}}}function E(t=[0,0,0],e=[-1,-1,-1],a=[0,0,0,1]){return{center:q(t),halfSize:M(e),quaternion:f(a)}}function F(t){return E(t.center,t.halfSize,t.quaternion)}function G(t,e){i(e.center,t.center),i(e.halfSize,t.halfSize),n(e.quaternion,t.quaternion)}function H(t,e){return e=e||E(),w(t,e),e}function J(t,e){const a=x(e,t.center),n=U(t,g(e));return a>n?1:a<-n?-1:0}function K(e,a){a||(a=v());const n=t(C,e.quaternion),r=e.halfSize[0]*Math.abs(n[0])+e.halfSize[1]*Math.abs(n[3])+e.halfSize[2]*Math.abs(n[6]),s=e.halfSize[0]*Math.abs(n[1])+e.halfSize[1]*Math.abs(n[4])+e.halfSize[2]*Math.abs(n[7]),f=e.halfSize[0]*Math.abs(n[2])+e.halfSize[1]*Math.abs(n[5])+e.halfSize[2]*Math.abs(n[8]);return a[0]=e.center[0]-r,a[1]=e.center[1]-s,a[2]=e.center[2]-f,a[3]=e.center[0]+r,a[4]=e.center[1]+s,a[5]=e.center[2]+f,a}function L(t,e){return x(e,t.center)-U(t,g(e))}function N(t,e){return x(e,t.center)+U(t,g(e))}function O(t,e){return J(t,e[0])<=0&&J(t,e[1])<=0&&J(t,e[2])<=0&&J(t,e[3])<=0&&J(t,e[4])<=0&&J(t,e[5])<=0}function P(t,e,a,n=0){r(A,t.quaternion),c(B,e,t.center);const s=h(B,B,A),f=h(d,a,A);let o=-1/0,i=1/0;for(let r=0;r<3;r++)if(Math.abs(f[r])>1e-6){const e=(n+t.halfSize[r]-s[r])/f[r],a=(-n-t.halfSize[r]-s[r])/f[r];o=Math.max(o,Math.min(e,a)),i=Math.min(i,Math.max(e,a))}else if(s[r]>t.halfSize[r]+n||s[r]<-t.halfSize[r]-n)return!1;return o<=i}function Q(a,n,s,f,o){r(A,a.quaternion),u(B,n,a.center),h(B,B,A);const i=B[0]<-a.halfSize[0]?-1:B[0]>a.halfSize[0]?1:0,c=B[1]<-a.halfSize[1]?-1:B[1]>a.halfSize[1]?1:0,S=B[2]<-a.halfSize[2]?-1:B[2]>a.halfSize[2]?1:0,b=Math.abs(i)+Math.abs(c)+Math.abs(S);if(0===b)return 1/0;const M=1===b?4:6,p=6*(i+3*c+9*S+13);t(C,a.quaternion),e(C,C,a.halfSize);for(let t=0;t<M;t++){const e=T[p+t];l(B,((1&e)<<1)-1,(2&e)-1,((4&e)>>1)-1),m(B,B,C),z(I,a.center,B),I[3]=1,k(I,I,s);const n=1/Math.max(1e-6,I[3]);R[2*t]=I[0]*n,R[2*t+1]=I[1]*n}const q=2*M-2;let j=R[0]*(R[3]-R[q+1])+R[q]*(R[1]-R[q-1]);for(let t=2;t<q;t+=2)j+=R[t]*(R[t+3]-R[t-1]);return Math.abs(j)*f*o*.125}const R=[.1,.2,.3,.4,.5,.6,.7,.8,.9,1,1.1,1.2],T=(()=>{const t=new Int8Array(162);let e=0;const a=a=>{for(let n=0;n<a.length;n++)t[e+n]=a[n];e+=6};return a([6,2,3,1,5,4]),a([0,2,3,1,5,4]),a([0,2,3,7,5,4]),a([0,1,3,2,6,4]),a([0,1,3,2,0,0]),a([0,1,5,7,3,2]),a([0,1,3,7,6,4]),a([0,1,3,7,6,2]),a([0,1,5,7,6,2]),a([0,1,5,4,6,2]),a([0,1,5,4,0,0]),a([0,1,3,7,5,4]),a([0,2,6,4,0,0]),a([0,0,0,0,0,0]),a([1,3,7,5,0,0]),a([2,3,7,6,4,0]),a([2,3,7,6,0,0]),a([2,3,1,5,7,6]),a([0,1,5,7,6,2]),a([0,1,5,7,6,4]),a([0,1,3,7,6,4]),a([4,5,7,6,2,0]),a([4,5,7,6,0,0]),a([4,5,1,3,7,6]),a([0,2,3,7,5,4]),a([6,2,3,7,5,4]),a([6,2,3,1,5,4]),t})();function U(t,e){r(A,t.quaternion),h(B,e,A);const a=t.halfSize;return Math.abs(B[0]*a[0])+Math.abs(B[1]*a[1])+Math.abs(B[2]*a[2])}function V(t,e){for(let a=0;a<8;++a){const n=e[a];n[0]=1&a?-t.halfSize[0]:t.halfSize[0],n[1]=2&a?-t.halfSize[1]:t.halfSize[1],n[2]=4&a?-t.halfSize[2]:t.halfSize[2],h(n,n,t.quaternion),z(n,n,t.center)}}function W(t){return S(t.halfSize)}export{D as ObbArray,F as clone,H as compute,V as corners,E as create,P as intersectLine,J as intersectPlane,O as isVisible,N as maximumDistancePlane,L as minimumDistancePlane,Q as projectedArea,U as projectedRadius,W as radius,G as set,K as toAaBoundingBox};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../chunks/tslib.es6.js";import{isAbortError as e}from"../../../../core/promiseUtils.js";import{on as r}from"../../../../core/reactiveUtils.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../../../core/accessorSupport/decorators/subclass.js";import{i as s,
|
|
5
|
+
import{_ as t}from"../../../../chunks/tslib.es6.js";import{isAbortError as e}from"../../../../core/promiseUtils.js";import{on as r}from"../../../../core/reactiveUtils.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../../../core/accessorSupport/decorators/subclass.js";import{i as s,w as n,c as a}from"../../../../chunks/vec3.js";import{c as d}from"../../../../chunks/vec3f64.js";import l from"../../../../geometry/Point.js";import{ViewingMode as c}from"../../../ViewingMode.js";import{distanceToScale as p}from"../cameraUtils.js";import{PropertiesPool as h}from"../PropertiesPool.js";import{PointOfInterest as u}from"./PointOfInterest.js";const m=Array;let y=class extends u{constructor(t){super(t),this._dirty=!1,this._propertiesPool=new h({location:l,renderLocation:m},this),this._estimatedSurfaceAltitude=0,this._pendingElevationQueryController=null,this.cameraName="camera",this.renderLocation=d(),this._tmpPoint=new l}initialize(){if(this.scheduler&&this.handles.add(this.scheduler.registerTask(this.task,this)),this.runTask(),this.map){const t=()=>this._setDirty();this.handles.add(r((()=>this.map?.ground?.layers),"change",t,{onListenerAdd:t,onListenerRemove:t}))}this._updateRenderLocation()}destroy(){this._cancelPendingRequest(),this._propertiesPool.destroy(),this._propertiesPool=null}get _camera(){return this.state[this.cameraName]}get location(){const t=this._propertiesPool.get("location");return this.renderCoordsHelper.fromRenderCoords(this.renderLocation,t,this.state.spatialReference),t}get scale(){const t=this._camera,e=s(t.eye,this.renderLocation),r={renderCoordsHelper:this.renderCoordsHelper,state:{camera:t}};return p(r,e,0)}get updating(){return this._dirty||null!=this._pendingElevationQueryController}updateRenderLocation(){this._setDirty(),this._updateRenderLocation()}_setDirty(){this._dirty||(this._dirty=!0,this.notifyChange("updating"))}_cancelPendingRequest(){const t=this._pendingElevationQueryController;t&&(this._pendingElevationQueryController=null,t.abort(),this.notifyChange("updating"))}get running(){return!this._pendingElevationQueryController&&this._dirty}runTask(){if(this._cancelPendingRequest(),this._dirty=!1,this.notifyChange("updating"),!this.map||!this.map.ground)return void this._updateSurfaceAltitude(0);const t=this.state.spatialReference;this.renderCoordsHelper.fromRenderCoords(this._camera.eye,this._tmpPoint,t);const r=this._tmpPoint.z>g&&this.renderCoordsHelper.viewingMode===c.Global&&(t.isWGS84||t.isWebMercator);let o=new AbortController;this.map.ground.queryElevation(this._tmpPoint,{signal:o.signal,cache:this.cache,minDemResolution:r?f:0}).then((t=>this._updateSurfaceAltitude(t.geometry.z))).catch((t=>{e(t)||this._updateSurfaceAltitude(0)})).catch((()=>{})).then((()=>{this._pendingElevationQueryController===o&&(this._pendingElevationQueryController=null,this.notifyChange("updating")),o=null})),this._pendingElevationQueryController=o}_updateSurfaceAltitude(t){this._estimatedSurfaceAltitude!==t&&(this._estimatedSurfaceAltitude=t,this._updateRenderLocation())}_updateRenderLocation(){this.renderCoordsHelper.setAltitude(_,this._estimatedSurfaceAltitude,this._camera.eye),n(this._get("renderLocation"),_)||this._set("renderLocation",a(this._propertiesPool.get("renderLocation"),_))}};t([o({constructOnly:!0})],y.prototype,"scheduler",void 0),t([o({constructOnly:!0})],y.prototype,"cache",void 0),t([o({constructOnly:!0})],y.prototype,"task",void 0),t([o({constructOnly:!0})],y.prototype,"cameraName",void 0),t([o({readOnly:!0})],y.prototype,"location",null),t([o({constructOnly:!0})],y.prototype,"map",void 0),t([o({readOnly:!0})],y.prototype,"renderLocation",void 0),t([o({readOnly:!0})],y.prototype,"scale",null),t([o({readOnly:!0})],y.prototype,"updating",null),y=t([i("esri.views.3d.support.CameraOnSurface")],y);const _=d(),g=1e5,f=1e6;export{y as CameraOnSurface};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../chunks/tslib.es6.js";import{clamp as e}from"../../../../core/mathUtils.js";import{removeMaybe as r,destroyMaybe as s,isSome as i}from"../../../../core/maybe.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as a}from"../../../../core/accessorSupport/decorators/subclass.js";import{c,i as n,g as u,a as l,
|
|
5
|
+
import{_ as t}from"../../../../chunks/tslib.es6.js";import{clamp as e}from"../../../../core/mathUtils.js";import{removeMaybe as r,destroyMaybe as s,isSome as i}from"../../../../core/maybe.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as a}from"../../../../core/accessorSupport/decorators/subclass.js";import{c,i as n,g as u,a as l,w as d,z as p}from"../../../../chunks/vec3.js";import{c as h}from"../../../../chunks/vec3f64.js";import f from"../../../../geometry/Point.js";import{projectBoundingRect as m}from"../../../../geometry/projection.js";import{getReferenceEllipsoid as _}from"../../../../geometry/projectionEllipsoid.js";import{create as y}from"../../../../geometry/support/aaBoundingRect.js";import S from"../debugFlags.js";import{PropertiesPool as g}from"../PropertiesPool.js";import{PointOfInterest as A}from"./PointOfInterest.js";const j=Array;let v=class extends A{constructor(t){super(t),this._propertiesPool=new g({location:f,renderLocation:j},this),this._currentSurfaceAltitude=0,this._latestSurfaceAltitude=0,this.cameraName="camera",this.distance=0,this.renderLocation=h(),this.updating=!1}initialize(){this._frameWorker=this.scheduler.registerTask(this.task,this),this.runTask()}destroy(){this._frameWorker=r(this._frameWorker),this._propertiesPool=s(this._propertiesPool)}get _camera(){return this.state[this.cameraName]}get location(){const t=this._propertiesPool.get("location");return this.renderCoordsHelper.fromRenderCoords(this.renderLocation,t,this.state.spatialReference),t}updateRenderLocation(){this.updating=!0,this._updateRenderLocation()}get estimatedSurfaceAltitude(){return this._latestSurfaceAltitude}get running(){return this.updating}runTask(){this._latestSurfaceAltitude=this.estimateSurfaceAltitudeAtCenter(),this._updateRenderLocation(),this.updating=!1}_updateRenderLocation(){const t=k;let e=this._calculateSurfaceIntersection(this._currentSurfaceAltitude,t);const r=this._currentSurfaceAltitude!==this._latestSurfaceAltitude;!e&&r&&(e=this._calculateSurfaceIntersection(this._latestSurfaceAltitude,t),e&&(this._currentSurfaceAltitude=this._latestSurfaceAltitude));const s=C;e&&this._latestSurfaceAltitudeChangesDistanceSignificantly(t,s)&&(c(t,s),this._currentSurfaceAltitude=this._latestSurfaceAltitude),e?this.distance=n(this._camera.eye,t):(u(t,this._camera.viewForward,this._get("distance")),l(t,t,this._camera.eye)),d(this._get("renderLocation"),t)||this._set("renderLocation",c(this._propertiesPool.get("renderLocation"),t))}_calculateSurfaceIntersection(t,r){const s=this._camera;if(!this.renderCoordsHelper.intersectManifold(s.ray,t,r))return!1;if(this.state.isGlobal){const e=_(this.renderCoordsHelper.spatialReference).radius,i=e+t,o=p(s.eye),a=o<i*i,c=n(s.eye,r);if(a&&c>e/4){const t=i-Math.sqrt(o);return u(r,s.viewForward,t),l(r,r,s.eye),!0}}else{const t=this.surface.ready?this.surface.extent:null;i(t)&&m(t,this.surface.spatialReference,O,this.renderCoordsHelper.spatialReference)&&(r[0]=e(r[0],O[0],O[2]),r[1]=e(r[1],O[1],O[3]))}return!0}_latestSurfaceAltitudeChangesDistanceSignificantly(t,e){if(this._latestSurfaceAltitude===this._currentSurfaceAltitude||null==t)return!1;if(this._calculateSurfaceIntersection(this._latestSurfaceAltitude,e)){if(S.TESTS_DISABLE_OPTIMIZATIONS)return!0;const r=this._camera.eye,s=n(r,t),i=n(r,e);if(Math.abs(i-s)/s>L)return!0}return!1}};t([o({constructOnly:!0})],v.prototype,"scheduler",void 0),t([o({constructOnly:!0})],v.prototype,"task",void 0),t([o({constructOnly:!0})],v.prototype,"cameraName",void 0),t([o()],v.prototype,"distance",void 0),t([o({constructOnly:!0})],v.prototype,"estimateSurfaceAltitudeAtCenter",void 0),t([o({readOnly:!0})],v.prototype,"location",null),t([o({readOnly:!0})],v.prototype,"renderLocation",void 0),t([o()],v.prototype,"updating",void 0),v=t([a("esri.views.3d.support.CenterOnSurface")],v);const L=.05,k=h(),C=h(),O=y();export{v as CenterOnSurface};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import r from"../../../../core/Handles.js";import{unwrap as s,isNone as n}from"../../../../core/maybe.js";import{watch as i,sync as o,when as a,on as c,initial as u}from"../../../../core/reactiveUtils.js";import{property as h}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as d}from"../../../../core/accessorSupport/decorators/subclass.js";import{a as f,
|
|
5
|
+
import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import r from"../../../../core/Handles.js";import{unwrap as s,isNone as n}from"../../../../core/maybe.js";import{watch as i,sync as o,when as a,on as c,initial as u}from"../../../../core/reactiveUtils.js";import{property as h}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as d}from"../../../../core/accessorSupport/decorators/subclass.js";import{a as f,w as p,c as _}from"../../../../chunks/vec3.js";import{c as m}from"../../../../chunks/vec3f64.js";import{create as l}from"../../../../geometry/support/ray.js";import C from"../debugFlags.js";import{PointGraphics as y}from"../debugUtils.js";import{PropertiesPool as O}from"../PropertiesPool.js";import{fromRenderAtEye as A}from"../geometryUtils/ray.js";import{CameraOnSurface as S}from"./CameraOnSurface.js";import{CenterOnSurface as w}from"./CenterOnSurface.js";import{ContentGeometryUpdates as g}from"./ContentGeometryUpdates.js";import{Focus as I}from"./Focus.js";import{StableSurfaceCenter as v}from"./StableSurfaceCenter.js";import{SurfaceGeometryUpdates as b}from"./SurfaceGeometryUpdates.js";import{newIntersector as T}from"../../webgl-engine/lib/Intersector.js";import{StoreResults as R}from"../../webgl-engine/lib/IntersectorInterfaces.js";import{TERRAIN_ID as P}from"../../webgl-engine/lib/verticalOffsetUtils.js";import{TaskPriority as j}from"../../../support/Scheduler.js";let E=class extends t{constructor(e){super(e),this._handles=new r,this._tmpRay=l(),this._centerRayDirty=!0,this._surfaceAltitudeAtCenter=0,this._surfaceAltitudeAtCenterDirty=!0,this._contentAltitudeAtCenter=0,this._contentAltitudeAtCenterDirty=!0,this._propertiesPool=new O({renderPointOfView:N},this),this.renderPointOfView=m(),this._pois=new Array,this._debugCenters=new Map}initialize(){const{state:e,basemapTerrain:t,renderCoordsHelper:r,map:n}=this.view;this._surfaceIntersector=T(e.viewingMode),e.isGlobal?this._surfaceIntersector.options.backfacesTerrain=!1:this._surfaceIntersector.options.backfacesTerrain=!0,this._surfaceIntersector.options.invisibleTerrain=!1,this._surfaceIntersector.options.store=R.MIN,this._contentIntersector=T(e.viewingMode);const h=()=>this._estimateSurfaceAltitudeAtCenter(),d=this.view.resourceController.scheduler,f=s(this.view.basemapTerrain?.elevationQueryCache),p={state:e,scheduler:d,surface:t,renderCoordsHelper:r};this._set("centerOnSurfaceInfrequent",new w({...p,task:j.POINT_OF_INTEREST_INFREQUENT,estimateSurfaceAltitudeAtCenter:h})),this._set("centerOnSurfaceFrequent",new w({...p,task:j.POINT_OF_INTEREST_FREQUENT,estimateSurfaceAltitudeAtCenter:h})),this._set("contentCenterOnSurface",new w({...p,task:j.POINT_OF_INTEREST_INFREQUENT,estimateSurfaceAltitudeAtCenter:h,cameraName:"contentCamera"})),this._set("centerOnContent",new w({...p,task:j.POINT_OF_INTEREST_FREQUENT,estimateSurfaceAltitudeAtCenter:()=>this._estimateContentAltitudeAtCenter()})),this._set("cameraOnSurface",new S({...p,cache:f,task:j.POINT_OF_INTEREST_INFREQUENT,map:n})),this._set("contentCameraOnSurface",new S({...p,cache:f,task:j.POINT_OF_INTEREST_INFREQUENT,map:n,cameraName:"contentCamera"})),this._set("surfaceGeometryUpdates",new b({...p,centerOnSurfaces:[this.centerOnSurfaceFrequent,this.centerOnContent,this.centerOnSurfaceInfrequent]})),this._set("contentGeometryUpdates",new g({contentLayerViews:this.view.allLayerViews,renderCoordsHelper:r})),this._set("surfaceOrigin",new v({cache:f,view:this.view})),this._set("focus",new I({state:e,scheduler:d,surface:t,renderCoordsHelper:r,centerOnSurface:this.contentCenterOnSurface,estimateSurfaceIntersectionAtRenderPoint:(e,t)=>this._estimateSurfaceIntersectionAtRenderPoint(e,this.view.state.contentCamera,t)})),this._pois.push(this.centerOnContent,this.centerOnSurfaceFrequent,this.centerOnSurfaceInfrequent,this.contentCenterOnSurface,this.cameraOnSurface,this.contentCameraOnSurface,this.focus);const _=this.view.graphics;this._debugCenters.set(this.centerOnContent,new y(_,"red","CenterOnContent")),this._debugCenters.set(this.centerOnSurfaceFrequent,new y(_,"red","CenterOnSurface")),this._debugCenters.set(this.centerOnSurfaceInfrequent,new y(_,"red","CenterOnSurface")),this._debugCenters.set(this.contentCenterOnSurface,new y(_,"red","ContentCenterOnSurface")),this._debugCenters.set(this.cameraOnSurface,new y(_,"blue","CameraOnSurface")),this._debugCenters.set(this.contentCameraOnSurface,new y(_,"blue","ContentCameraOnSurface")),this._debugCenters.set(this.focus,new y(_,"green","Focus")),this._handles.add([i((()=>e.camera),(e=>this._cameraChanged(e)),o),i((()=>t.extent),(()=>this._updateCenterPointsOfInterest())),a((()=>!t.updating),(()=>this._updateCenterPointsOfInterest()),o),c((()=>this.surfaceGeometryUpdates.events),"request-update",(()=>this._updateCenterPointsOfInterest())),c((()=>this.contentGeometryUpdates.events),"request-update",(()=>this._updateCenterOnContent())),a((()=>C.SHOW_POI),(e=>this._setDebug(e)),u)]),this._cameraChanged(this.view.state.camera);for(const s of this._pois)s.runTask()}destroy(){this._setDebug(!1),this._handles.destroy(),this._propertiesPool.destroy();for(const e of this._pois)e.destroy();this.surfaceOrigin.destroy()}get updating(){return!(!this.surfaceGeometryUpdates?.updating&&!this._pois.some((e=>e.updating)))}get _centerRay(){return this._centerRayDirty&&(this._centerRayCached=this.view.sceneIntersectionHelper.getCenterRayWithSubpixelOffset(this.view.state.camera,this._tmpRay),this._centerRayDirty=!1),this._centerRayCached}_estimateContentAltitudeAtCenter(){if(!this._contentAltitudeAtCenterDirty)return this._contentAltitudeAtCenter;this._contentAltitudeAtCenterDirty=!1;const e=this._centerRay;return n(e)||(this.view.sceneIntersectionHelper.intersectRay(e,this._contentIntersector,U,D)?this._contentAltitudeAtCenter=this.view.renderCoordsHelper.getAltitude(U):this._contentAltitudeAtCenter=this._estimateSurfaceAltitudeAtCenter()),this._contentAltitudeAtCenter}_estimateSurfaceAltitudeAtCenter(){if(!this.view.basemapTerrain)return 0;if(!this._surfaceAltitudeAtCenterDirty)return this._surfaceAltitudeAtCenter;this._surfaceAltitudeAtCenterDirty=!1;const e=this._centerRay;if(n(e))return this._surfaceAltitudeAtCenter;const t=e.origin,r=f(U,e.origin,e.direction);return this._surfaceIntersector.resetWithRay(e,this.view.state.camera),this.view.basemapTerrain.intersect(this._surfaceIntersector,null,t,r),this._surfaceIntersector.results.min.getIntersectionPoint(U)&&(this._surfaceAltitudeAtCenter=this.view.renderCoordsHelper.getAltitude(U)),this._surfaceAltitudeAtCenter}_estimateSurfaceIntersectionAtRenderPoint(e,t,r){const s=A(t,e,F);if(n(s))return null;const i=s.origin,o=f(U,s.origin,s.direction);return this._surfaceIntersector.resetWithRay(s,t),this.view.basemapTerrain.intersect(this._surfaceIntersector,null,i,o),this._surfaceIntersector.results.min.getIntersectionPoint(r)?r:null}_cameraChanged(e){this._updateCenterPointsOfInterest();const t=e.eye;p(this.renderPointOfView,t)||this._set("renderPointOfView",_(this._propertiesPool.get("renderPointOfView"),t))}_updateCenterPointsOfInterest(){this._centerRayDirty=!0,this._surfaceAltitudeAtCenterDirty=!0,this._contentAltitudeAtCenterDirty=!0;for(const e of this._pois)e.updateRenderLocation()}_updateCenterOnContent(){this._contentAltitudeAtCenterDirty=!0,this.centerOnContent.updateRenderLocation()}_setDebug(e){if(!e)return this._debugCenters.forEach((e=>e.hide())),void this._handles.remove("debug");for(const t of this._pois)this._handles.add(i((()=>t.renderLocation),(e=>this._debugCenters.get(t).show(e,t.renderCoordsHelper.spatialReference)),u),"debug")}get test(){return{update:()=>{this.surfaceGeometryUpdates.runTask();for(const e of this._pois)e.runTask()},surfaceGeometryUpdates:this.surfaceGeometryUpdates}}};e([h({readOnly:!0})],E.prototype,"centerOnContent",void 0),e([h({readOnly:!0})],E.prototype,"centerOnSurfaceFrequent",void 0),e([h({readOnly:!0})],E.prototype,"centerOnSurfaceInfrequent",void 0),e([h({readOnly:!0})],E.prototype,"contentCenterOnSurface",void 0),e([h({readOnly:!0})],E.prototype,"cameraOnSurface",void 0),e([h({readOnly:!0})],E.prototype,"contentCameraOnSurface",void 0),e([h({readOnly:!0})],E.prototype,"focus",void 0),e([h({readOnly:!0})],E.prototype,"renderPointOfView",void 0),e([h({readOnly:!0})],E.prototype,"surfaceOrigin",void 0),e([h({readOnly:!0})],E.prototype,"contentGeometryUpdates",void 0),e([h({readOnly:!0})],E.prototype,"surfaceGeometryUpdates",void 0),e([h({constructOnly:!0})],E.prototype,"view",void 0),e([h({readOnly:!0})],E.prototype,"updating",null),E=e([d("esri.views.3d.support.PointsOfInterest")],E);const N=Array,U=m(),F=l(),D={exclude:new Set([P])};export{E as PointsOfInterest};
|