appmian-a4474f32.js 241 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714
  1. import{_ as st,r as m,d as it,e as wa,f as N,w as Ue,v as Re,u as p,o as se,c as he,b as i,t as ne,g as f,h as mt,i as y,E as Da,F as ht,j as Rt,k as Sr,l as Tr,m as fe,n as ee,p as yt,a as xt,q as Le,s as Xe,x as be,y as kt,z as ot,A as Ct,B as er,C as tr,D as Ee,G as fa,H as jt,I as Vr,J as Ft,K as Ht,L as ze,M as wr,N as z,O as Ot,P as rt,Q as vt,R as at,S as $t,T as gt,U as Nt,V as zt,W as Dr,X as It,Y as ar,Z as da,$ as La,a0 as Mr,a1 as rr,a2 as Ba,a3 as D,a4 as pt,a5 as qt,a6 as Aa,a7 as Sa,a8 as kr,a9 as Or,aa as Ma,ab as Lr,ac as nr,ad as ha,ae as Br,af as Ar,ag as Ur,ah as Rr,ai as ea,aj as ka,ak as nt,al as lt,am as Kt,an as Wt,ao as Fr,ap as Pr,aq as Er,ar as Gr,as as $r,at as Ua,au as Ra,av as Fa,aw as Nr,ax as ke,ay as Pa,az as Oa,aA as Wr,aB as zr,aC as Ir,aD as Kr,aE as jr,aF as Hr,aG as qr,aH as sr,aI as Jr,aJ as Qr,aK as Yr,aL as ma,aM as Xr,aN as Oe,aO as Fe,aP as ae,aQ as $,aR as Ve,aS as Pe,aT as ir,aU as Ea,aV as Zr,aW as en,aX as Ca,aY as tn,aZ as an,a_ as rn}from"./index-c2f9c468.js";function ga(t){let e=new Date(t),r=e.getFullYear(),a=("0"+(e.getMonth()+1)).slice(-2),l=("0"+e.getDate()).slice(-2),o=("0"+e.getHours()).slice(-2),n=("0"+e.getMinutes()).slice(-2),s=("0"+e.getSeconds()).slice(-2);return r+"-"+a+"-"+l+" "+o+":"+n+":"+s}const or="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABUpJREFUWEfVmW/In1Mcxq+rvJiaWFGEmiJWFmpCWiaTLZYVC1EsW/Ziqy3EolgUMtmKWCgvKMtkilCTyUQhlDJRFPKUlRUv9kJd7mu+53F+9+/+c363nxfPefNsz33u+3zO98/1/Z7zEHNkcI5wYiqgkk4AcA6AUwHMj80fBvALgIMk//yvBhkMKumiCuJGACsCso3lLwBfAngHwG6SXw+BnhhU0s0A7s/gbLlPAsYWTNY7HsCZAM6tIC8GMC8A91U/HyT50STAxaCSzgbwYixqK70C4GUA+0j6/61DkiGvBrAuPOC5fn8LyZkS4CJQSXcA2BFWeQnANpLflyxQnyPpfABPAlgGwJC3kHyv71u9oJIesKsAHAJwG8m3+j5a8jzbvKcb9rWu9zpBM8iDAFaS/LEEonSOpEurGN4D4EQnZhdsK6ik2wE8X+3WLl5aGkulkGmeJMvahyFry9uSrBFUkjP1UwDO6EumbcmGuL3MSRkxu5ik1x0ZbaCGXFJJzmqSb0xqpSHzJd1ZWXW7vUhyfS+opGsB7LV8kLxpyKJD3pF0DIAvQp8X1VVlzKIVaJp8FsmfBy46j+SRtncDCnX9leQQ2G+9Jrk2f38EVJIryMdDrRkAduG94cK7G+LRwm9NPlJl+eKG599ERTspj9U6qIV4M4ArSTq4i4ekBOCy6TFilahsTwFYHs8Pk1zQAJpidR3JF9LzOuh3oWneTWdZzOTFpTUB+B1L2oYEGp2Vi8ZGAI5DNydWlfktoN6oOfaQXDMGKsmi+5s/RHJlnykD4KGASgCbooL9XrnPpdbx5kx2G2g93kjy3ciDhU2gXrfS8J/8s7Lo6U2gKT63kxyLrcyChnIxeDQAXLU2GyAWMZRB07AmPgxgZ/JSAejb0bwcl3rZWddLuiE6mg0kdzVZNLLy2ZCQMYAaqMPA3dZWku4TZkcB6DPhKcuUDfFvhy/p1vjwWpJeYGRkJdW/t1s3NVWQCAlbdExiMq9YArtcn5L6ApJuuicCtca5hzy56qLcnNzV1ERkoFaNVU16WmDRTtDVAF6PeNvZ4no3wE4gZ7D/7WRxfH6VWSuP0cYNFYA+F022i87RvjePUdd21/gdJLd0Zb2khdH8enNJktxMz2QWdVWzkoxtqAD0/Wisj00eyUH9wT8qQT5A8vI+eYrEuSLkx127k8sN9m4Av0a8b8s25FeciP6ds7orRi2Th0guGpOnWDjV+QVdtbqWwd6gE9GQjl+7yqI9m0yS6hs6+okWwU+eHUnGemV6JOr0xO2dJEPeE7Ji+HoJrW+orYQ6B3zKdcdv7/yzqZp1UvnaX+r+BhlzGBh4b75QlmyO2/uiKdna4J0fIq5Pyb3a1OalQF5C8vOSWJ3WnEzLxxK6CTT1hE6qpdOC6PtOnP1tTcvbGfUzWttR5FUA10cT8XTfItN4LimVTd+iWBlGRhvoaaGp3t2KKl4/mAZM2zey8vxZnHjHTgddx2VLintHNxTLqvPTt/8HrKSr4ozmO6sL2068fRcQ10V9t5hbLnqvXibZTCSPi4BHp+dKrnR8KnUz4uEe9LHSYtDhaofU41HP7THrduftXi+oF4s+1K2fa7zbLgf8xOf9OPz52tKNtPPAMbmm5IKjCDRgbQVXLp+HPAxsS/tytvNOStJ5cenri19v1sliWHun6GxWDJpVFlcenxQtX+ly1p2SwX2NmC5yvTFbzfNdjTwc6z78PTHpXdbEoBmwQRy/18T1jy1VH7aWm5QD1R2Wz1RvDo3vwaB1Ikn+I4Mbk/yPDTNDwerfnxroJLI0ZO6cAf0bYrtPSWjc7nQAAAAASUVORK5CYII=",lr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABQNJREFUWEfVWW/InlMcvq7ywQcfKCtCFMoHy0SxkK0sK8SyQshWk8nK1iYrE4vFYiGEUGQfCNkyRRKyZUUhZGVlivjgg6L4oC7nevvdj/t9nvu+z7nv50m9p97e5+0553eu8/tz/a5zXmKBDC4QnJgJUEnHAjgLwEkAjonD/wngRwCHSPrzVGMwUEnnA7gOwJUBsgvIlwDeTfNeJfnVEMS9gUq6GsDWtPGFseHvCezn8fMzgMp79uypAM4GcHHN0wcBPExybx/AxUAlnQ7gBQDLAPxj7wB4zZ4i6b9bh6SjY91tAK6JiXsAbCTp9MiOIqCSrgXwUnjFG9xF8nDWesMESUsAPARgZQLqaNxE8p2crSxQSfcAeDCMridpL049JN0C4Nlk+6iULltIPtFltBOopPvS4vsBHAGwYqgX2wBIOgeAI3QagA0kn26b2wo0isZGDHI5Sf+e+ZBkkJ8k755gBiH5XtMmjUAluVoPRdGcO2tPjgORdB6A/cEY3u+n8TltQN8Ofrx+VjmZC4WkOwA8FVx7QxZoLeR7Ejmvym0wy+8lOQXMuctIfly3PeFRSZ8GmS8Z2kWGgpd0aQL5EYB9JK9qBSrJXeTrpokdlXtRtEc3g3un7esJ7Ifh1TPrBTzPo5IeSAW0zd2jtMUFH7oZePxqOiP53BReNb/anrl1V2VnHKjD7s6xqNQzNaD7UuVelvq426VFiHnxQF/Ako4H8ItTIK1fMQFUkjvEXxYXicuWlm5QA7o2UsBRWRfrrQe2lvbzas/Usp1+J6dudVwTUOvJ79zWSN4+BCjJuRSIfv5MFOXfSSM8CmAHSX/OjiSAXrEGAHBKxamj0Ety2N53jpLckbUWE+oerYDWPGO9+nh0Heev1VJWK0iyaLGUXErSsvA/hS/J8uutMNYpEOqH6AIa3nXO3h1F6vTaTfLmLkfUNIZbt+nqfwFqHevQ2xHWrY7YzmmAWhCbw0wv26cNfdyj7MmNwQT2jJng25xtSY/FOvd9M8g8j54B4HureJK35ozV8rDivbXO0WCPG33diNy0wHblv9nD5usAVgdN/jYO1PnzR6q2w8no4h5GR0DjoA6z71NW7/68q7Taa4f/wbeJpE8XtRF+1b5OJDl3ktyoFZNloSnOwzTldjoh1wrsWZ8a6DxRNN6ZNocX1pF8MWc0qrryqP80lWyqKKVk/fgcSc5rp80aki+3edSncZ4eJHlJyUZB7k9Gbo8Ml6xtmpNk5hcRGUfV6TM3mmRelcgTmnDo5qXralp4ojs2AbUo+SyEhTtD5529FERuXtz953o8ANOSc3402q4iz4ewMK10knMOQOn3kh6xtHPLJblpfF0bUD96+XS+Ga5M+fpB6YZD5km6wmLd1AhgcROddV2XL4hrgUNvsL21ZQnodPW5PO72nj4R8tZiqhuvGTHY1W137hJALRXup6Ld8Z1vFY13+saqb+C16sTuXOa3Yl3ZdoAoHAts56Rf/7JOyL49ebN4IHgjnl6+CQXU69kw7Piw1gG+l1lbuLJXjVd40wGLgMYm1pUWtOtDDXkTt8q9uY3ijckPvmsCoJW+BfX2Uh1QDLQ6pST38ztjU4P3sC7wY657e/0h153OvOwLm4c7jSOzs+8zUW+gNcCmML8++53TasmgmoYpxxrAheKHhVFb7FOEg4E2FJ2fws271T8bHN4jpaHNgZ4Z0NxG036/YID+C13f/zrMiYL6AAAAAElFTkSuQmCC",cr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABF9JREFUWEfVmU+oVVUYxdeCBg0MahAINVBSaJDwAoUkI0WjJEEDI8VBDRKFBiolGSolJRUaORAieGFBUNF7lBRUEFSoaFhkECRoqCQkFNjAgYNgudfj24/juefcc+6793Z5e3Lf/XP2/u29vz/r+x4xSwZnCScGAippDoD7ANwFwH97XAfwB4DzJP/t90BmDCppMYCnAKwKyFu6wPwG4EsAn5P8cSbQPYNKejgt9AqA5YWTOw7AMD7Ba/H5rQDuiU0sK5z0GT9P8mgvwK1BJd0N4B0AawD8B+BrAO/6laTf1w5JhvbGtgB4DIDffw/gGZKX2gC3ApX0OIAPAdwegDtInm2zQPk3ku4F8DqAdWHHhv2kaa5GUEnb0rUdjFPcSvKDpknbfC/J9j0eJmFT2Nftua6gkp4DcBjAZQCrSdoOBzYkzQPwHQC/7iG5v27yWlBJj4anXgHwEMmLAyMsTFSCXU9ysmqdSlBJcwH8Eja5jOTPw4DMc0paEOv5o0VVh1IH+hGADQBsk/bsoQ9Jm8JhHUVWlxfsAJU0Frs7RXLp0AlvNoOvInwtJ/lDce0q0M8idIyR/PV/BrUJ/J6y3fEEuqIWNAz7QtpV69OMZ66QdG7vGJKcWueRPN9m05K+iKRiW52OMjedqKTnI2Y6CDfGy4A8B+C1ujhYCHH3k3T67DokrbUmiDn35h+XQbON3EnynxaTZns+RHJHzYm+nD63NlhB0mmzCdTp9WoyvzNFHymD+geXUyxb1DShvy843sBAY95jKVU/AOC2bFLToCE6/kxqZ4LkkyMGtfjZGjF1yk6LoN7ByaRs3iD50ohBXzSHQ1W6/m/KoJZhzruNAiFvYohXvx3A2w6TWbcWT3TWgLq0OO3wRHLniK9+t8MTgEdIflu+eotie73rmidGDHrE6h/AwpwoyuHpL6vuFOznjxjUys3p9I5c5pRBP01F2noA89voz2E4kyTf7N/lfF8GfTrl5fdTJfkCybeaTjVir0XEdpLv1WSmXHIsaVNnScoMu0i+WZdC824uklzYBDqM71Nl4Vhux/atugSaGlUyLxtybVkwDMBInSsB2Ms7HLoKNGtC10iWWpXybdCwIQcdHi10OrRwXSlywHbaS0ztF1xSjp3jJDeX56sDtdRyiHCzYDqN9QtT93xUvNagrnitWzuaat3KZXfnbNhW6IadEgeDHpIejO6L11lF8kTVGk0NCNf23qnHhl4bW02bipOciF7Umm6H0aalY1hP5r6nuyY7+3WwcJxXww/cYGu8sUbQCBuOBC66bLOOBk4IlR2NFqfomsi9LM/pgm8jyZ+anmsFGrB2MNc/1or+28Buck02ZZzohBjQqt2APkXfzl6SuZ/albU1aJ4l2j1W4M8WmrMuBF1hGr7YyDWUndItIg/H5I8B7G9bPud1ewYtANtmfUpujbujbKiqYfhT4dlHZ9rPnzFomSi6yu5KF//ZYM0wkMw2MNAmZ+j3+1kDegOA+wZJIwcZzQAAAABJRU5ErkJggg==",ur="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABWBJREFUWEfVmW/onlMYx7/f8oIiFEW8sBCLxWoLaSFki7JiIYply154sWWL1cSiWCZbEeIFRSwTilCTyUQhZDJRCLUypXjhxerrfH9d53Ge+7n/PfczL3Zq/X7P7nM/53Ouc13f67rOjzhMBg8TThwSUEnHATgbwCkAjo7N/wngNwD7SP49q0EGg0q6IEHcCGBpQDaxHATwJYB3AOwguXcI9NSgkm4GsKmAs+U+CRhbMFvvWABnADg3QV4I4MgA3JV+3k/yo2mAe4NKOgvAc7GorfQygBcB7CLpz41DkiGvBrAqTsBz/f46kvv7APcClXQHgG1hlRcAbCb5Q58FqnMknQ/gMQCXAjDkLSTf6/quTlBJ9/mo4ktXkXyr60v7PC827+mGfbXtvVbQAnIfgGUkf+oD0XeOpIuTD+8EcIIDsw22EVTS7QCeTbv1ES/p60t9IfM8SZa1D0PWrmgKslpQSY7UTwE4oi861Jas8dtLHJThXgtIet2x0QRqyEVJcpaTfGNaKw2ZL+muZNWtPkWSqztBJV0L4HXLB8mbhiw65B1JRwD4IvR5flVVJiyaQPPkM0n+Wi5qPST5TxNI1/OuDUiyC+y2XpNcWc4fA5XkDPJxnTULObGeWkfHgCMovk4u82by7bVpoZ+7wOqeS/o2MtqJpa9WQS3EawFcSdLOPRqS8jP/n4V6PUlnprkhyQL+fnz0Jmo31AVf+OptJJ/P86ug34emeTdjabEAdWa6PrKUiw1/4VcFqI/utPg3saEeoK4PzLGT5IoJUEkW3d9d5ZBcViMh2aILw6L+7OrJw/DOWC+lD85iWwA4il28OM+PNtQFGqfzS3r3YLLovDrQ7J9bSW5oAyXphX3clrBnkko4f+fhymhzPD8p8nq5oQ1dySOVkG9H8XJMrmVHR5+c+IaoaNaQfLoPaOGfzmIPAjDYCLR4Xm7I/murb29SEElPplNbk+pXy5TT938VvqRbo4xbSdLl3NgofHRhtmg5ofDRCdAC2Gs8Hulyb8rtC+pcoW6t0qKzgubaoBZU0umReZbb//w7yY1DQP0Fr4UGbu9r0QqAXxsDjX7KgbU+AsuqcGeK6G+aAkuS/d5FtpPOXN1bWtR+5By/jeS6LtAAuDt015HtL7S0zIFGSnTbYt89NZ5vIrmjK/JThrIeW5ePyn5cgnqxvwDsIXlZC+hiAOck6zwcwWPAewD8EYLvQHGycIFhJXEP5d+3tKXfir9bJg+kTc2fkKeQk5znj69JkVlHs+VcihngUc8tgsn1gS3oYX3dWK0Z2iwakueTHcv31cz0UFhnoryrpFCrwr0lQCWFuit14+afUw1JD0SicMU/cpMqaE5fu6vHH5WN6wAf4QSAJGuog8Cpb5Sjp6GMbvXHCLqTy1OtK/OyIy8i+fk0C806t9DyiYCuA801oYNqyayL932/sKavh+ZV02xTK/JKVEjWuyf6LjbLvCJt1iaMJlBHrSPPu1ua/PWDWSC63i063s+i453oItra5cvjYuuAxTf1T991LTjkuaSrokez3i5u6ni7LiCui4rKmmm56Lx6mQY2guepeKf15Ppc6bgr9YWWh7NR7wzTBB3p95HI5z4x63br7V4naGQsK4FF3i2Gi2Y7/NT9fk3+t0+u6HPB0Qs0YB1YzlwuaD0MbEv7crb1TkrSedG2uNL3Zh0sLlZ8Oq1XlvlUeoPmF+La0GVbbvD8yPnd4G7m8kWuN2b1cJvifszDvu77LNcHve5FB4MWwAax/14T1z+2VHXYWi5i9qQ7rHfd8/etoKpfNLVFWwLEf2Rwvi//2LB/KNj/BjqNLA2Ze8gsOmTxad75F0QPWUncuoGpAAAAAElFTkSuQmCC",Ga="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAA7xJREFUSEudlkuIHFUUhr9Tkw6z6Klb1WnigzhpAkEJIQEVMaJmmIjRhTMqYkDMw0VWrqIbR0ERdVwENQtxq/EBKohGITE+hsmIGIMuNLgTnTGCoKGnb3UWQnfVsW9NVaeT6U53e7f3nPuf5/9foc/RMDTE8TSwHZEKEKD6L7CI552h2TwhFy78faVnpNelFotb8LynENnbLxBUPwVelig63c12FYjCKEEwg+qzmUMT1e8QOUOSnAWqQAmRbYhsB3YCazLbWcLwBVlcdJm2zyUgGgSuFMeAO4FGq0QfAzNi7W89MzYmRPU1RB4FRoDTiNwrtVot92mDKKzFmC8zgCqqeyWKjvctVWagxkwCHwLrgAXCcHee0UUQY14CngYiCoUb5Pz5v3IABSEINgIbSZJRVOsUCueoVv8U0LZduXwNjYYr6TpUj0gUHXJ3KYgacyPwIxADd4u1c21HYzYBs8CeLlnNo3pQoujXDnuX0YmWz1o8b5ssL59dAQmCY6hOoXpUouhAh8NNwA8DlOxmsdYFmR415j3gEVc+sXaP6NhYGc/7B2gC68Xa5Qy4gurvAwBkL+vmPCMtl6+l0VhKp67ZvFrU9/chcrTV8DmxdlcK4MpojCvZxMAgMIe1d+U9Ut9fQOSOVqD7RYPgdVQfR/VViaInU5BS6Tri+I8hAHLTTWJtmr0a82JrDZ5pVecNUWM+Ah4kSQ5Ive4yQsfGbsPzvh0aRGRCarVTGcjDwAeoHncgX7fmepIkmZJ6/bPUwPd3I/L50CCq90gUncwCvQ/Pc3Qz1z2TINiJ6vzQIElyu9TraQXUmI5MfP8VRJ64rCcbiONzQ4OMjIxLtZr6XdqTfLpUv5EocpyVT9f7gItm0DOPtZPt6TLmK2AXIo9JqhdJ4sjM7cn1ORlqGI6TJG7WBzvasSeONMFpzBri+Kp84992hJhvaP6qGvP/Nt7330Jkv9MZiaLpFZBSaQtx/Euajep0J/tqELjNf7PHYrqFPdgpBRkbf5HSvuoOJ2QXWTgIns+EqkqhsHUVC5dKG2g0xhEpthTTidIStdpSTxaGWbHWLeMKC6fZVCqj1GonUXXNj4AHOtm4X2Mu05PvCcOJVXqSjV2IyCcZUIzqu4gcykmzG1BGhoeBh1J6F1lA9f5On24a7xTyuUzA3Ltu6k6h+hOqP7c13vM2p8GI7GhrvOoRSqWZK2p8Z6Tq+7fiee5DMdWvVIi8g8hhJ1DdbHt+idq9KhbXu48BnncLqhVERoEaqotpZqp9/13/AZ69vVjxrw6DAAAAAElFTkSuQmCC",$a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAAAXNSR0IArs4c6QAAAi1JREFUSEvllk2rTlEYhq87BkSiTj4iycSZ+Dr5KPKRFCIjpfwAUxkz4wfI1MjEf5BSBpKEKJFSkhhQZvL92LfWW9uy915rH4MzOGv29u79XGs9677vZ4s5WJoDJvMcGhEzgCQ9/J/2R8SUpI95jX/aGxHTwHPgG3BS0s3ZgCPiEnAROCfpartGF3R5gq5O4BOSbo0BR8Rl4EJ654qk84NQ/xkR64EHwMrm5e/AUUm3a8AZ8B5wSNKXIjSB1wGPgammTT+Aw5LuDIEzoDe9Pwf6/UHLRMQa4BmwIoEPSrrbBc6Aj4A9kr52PVv0aUSsAl4Cy4CfwF5J99vFMuATYHcfsHjSSWFLH3gNLAF+ATsl+TS+/4lK/dNdmZFk5feu4klbYKv6PbDILGBro/LTLZW+ALZIsvAGVzU0nWpp47tPwMKs6itgWpIFV1yjoAm8GPjcqvwG2CjJ9121ZgNt3+GffQA7JndcQx0FzUTjE64FFiRx2SJ/qbpvA9XQzBa+w02AW/0hicvtPdDn4/YGqqAZ0CrdPBFNRFjVb5OdqpKrCM2A9uH23BbJxz69A8TgI0NZXYrB9rRw0uzqM35KLo9ER6a9erxvOvVCx2RpK0Cc1U/TkOidx53QTKWeFvuGsjTLYU8nf3F4LBp8LG911xDflkaaa3XOw5IX0zy2ffwhcE3S2UH1RoRtcD1F3ZmueViCpuTaAJwCbjTQd6MtUwMZ80zRMmOK1T47f6C/ARrU1B6EvkZGAAAAAElFTkSuQmCC",Lt=t=>(yt("data-v-bfc789ca"),t=t(),xt(),t),nn={class:"resultyem"},sn={class:"publicleft"},on={class:"resultime"},ln=Lt(()=>i("div",{class:"text"},"指定时间",-1)),cn={class:"time"},un={class:"animation_s"},dn={class:"tanniu"},fn=Lt(()=>i("p",null,"后退",-1)),gn=Lt(()=>i("p",null,"播放",-1)),pn=Lt(()=>i("p",null,"暂停",-1)),vn=Lt(()=>i("p",null,"快进",-1)),hn={class:"heigjie"},mn={class:"he_pading1 color1"},Cn={key:1,class:"wotermn"},yn=Lt(()=>i("span",null,"物理量:",-1)),xn=Lt(()=>i("span",null,"水位",-1)),_n=[yn,xn],bn={class:"result_left results"},Sn={class:"elimgmn"},Tn=["title"],Vn={class:"mnclose"},wn={class:"result_right results"},Dn={class:"elimgmn"},Mn=["title"],kn={class:"mnclose"},On={__name:"result",props:{classradio:{type:String}},emits:["titleclick"],setup(t,{expose:e,emit:r}){const a=t;let l=m(!1),o=m(null),n=m(1),s=m(60);m(2);const c=m(!1);let u=m(Number),d=m("2024-03-03 14:00"),g=m(),v=m(),h=m(!1),T=m("灾情模拟1"),b=m("灾情模拟2");const w=m({region:"shanghai",count:0}),V=m([]),R=(B,U)=>{u.value=U,B=="5"?l.value=!0:l.value=!1},k=()=>{o.value=setInterval(()=>{const B=new Date().getTime();d.value=ga(B)},1e3)};function A(B){console.log(B)}function F(){c.value=!1,w.value.count--}function E(B){c.value=!0;const U=(j=B)=>new Promise((ie,ge)=>{setTimeout(ie,j)});(async j=>{for(;w.value.count<s.value&&c.value;)c.value==!0&&(await U(B),w.value.count++)})()}function G(){c.value=!1}function x(){c.value=!1,w.value.count!=s.value&&(w.value.count++,console.log(w.value.count))}function L(B){console.log(B),new Map([["Temperature","(℃)"],["Pressure","(kg/s)"],["Pressure","(kg/s)"],["CO2","(%)"],["CO2","(%)"],["H2S","(%)"],["Flow","(Pa)"],["Height","m"]]).forEach((X,j)=>{console.log(j,X),j==B&&(danwei.value=j+X)})}const q=B=>{r("titleclick","模拟数据",B)},J=(B,U)=>{console.log("result.vue",B,U),Q(B,U)};async function Q(B,U){await fe({transCode:"D10016",aid:B,step:1}).then(j=>{if(j.returnCode=="000000000"){V.value=[];for(let ie=0;ie<j.cocodes.length;ie++){let ge=j.cocodes[ie];V.value.push({id:ie,name:ge.cocode,value:ge.cocode})}w.value.region=V.value[0].value,console.log(V.value),g.value.leftChangAid(B,w.value.count+1,w.value.region),v.value.rightChangAid(U,w.value.count+1,w.value.region)}else ee({message:j.returnMsg,type:"error"})}).catch(j=>{})}return it(()=>{k()}),wa(()=>{o.value&&clearInterval(o.value)}),e({accident6:R,initAid:J,mntext1:T,mntext2:b,clickflat:h}),(B,U)=>{const X=N("el-slider"),j=N("el-image"),ie=N("el-option"),ge=N("el-form-item");return Ue((se(),he("div",nn,[Ue(i("div",sn,[i("div",on,[ln,i("div",cn,ne(p(d)),1)]),i("div",un,[f(X,{max:p(s),min:p(n),modelValue:w.value.count,"onUpdate:modelValue":U[0]||(U[0]=re=>w.value.count=re),onChange:A},null,8,["max","min","modelValue"]),i("div",dn,[i("ul",null,[i("li",null,[f(j,{src:p(or),fit:"contain",onClick:U[1]||(U[1]=re=>F())},null,8,["src"]),fn]),i("li",null,[f(j,{src:p(lr),fit:"contain",onClick:U[2]||(U[2]=re=>E(500))},null,8,["src"]),gn]),i("li",null,[f(j,{src:p(cr),fit:"contain",onClick:U[3]||(U[3]=re=>G())},null,8,["src"]),pn]),i("li",null,[f(j,{src:p(ur),fit:"contain",onClick:U[4]||(U[4]=re=>x())},null,8,["src"]),vn])])])]),i("div",hn,[i("div",mn,[a.classradio=="Fire"?(se(),mt(ge,{key:0,label:"物理量:"},{default:y(()=>[f(p(Da),{modelValue:w.value.region,"onUpdate:modelValue":U[5]||(U[5]=re=>w.value.region=re),onChange:U[6]||(U[6]=re=>L(re)),placeholder:"请选择"},{default:y(()=>[(se(!0),he(ht,null,Rt(V.value,re=>(se(),mt(ie,{key:re.id,label:re.name,value:re.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):(se(),he("div",Cn,_n))])])],512),[[Re,p(h)]]),i("div",bn,[i("div",Sn,[i("div",{class:"bceligmn",onClick:U[7]||(U[7]=re=>q("1"))},[f(j,{src:p(Ga),fit:"contain"},null,8,["src"]),i("div",{class:"mntext",title:p(T)},ne(p(T)),9,Tn)]),i("div",Vn,[f(j,{src:p($a),fit:"contain"},null,8,["src"])])]),f(Sr,{ref_key:"setleftAid",ref:g,region:w.value.region,count:w.value.count},null,8,["region","count"])]),i("div",wn,[i("div",Dn,[i("div",{class:"bceligmn",onClick:U[8]||(U[8]=re=>q("2"))},[f(j,{src:p(Ga),fit:"contain"},null,8,["src"]),i("div",{class:"mntext",title:p(b)},ne(p(b)),9,Mn)]),i("div",kn,[f(j,{src:p($a),fit:"contain"},null,8,["src"])])]),f(Tr,{ref_key:"setrightAid",ref:v,region:w.value.region,count:w.value.count},null,8,["region","count"])])],512)),[[Re,p(l)]])}}},Ln=st(On,[["__scopeId","data-v-bfc789ca"]]),Ta="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAAXNSR0IArs4c6QAAAIpJREFUKFNjzFjz352RgUFiegjjQgYsIGPd/2iGfwxvGMGM/wxL/v9nKJgZwjgRWW36mv/5jIwMExgZGRIYQRIwAWTF6GJgheiKQXyQScga4QqRFYPY6E4hXSGym3BaTZRnMtf8j//PyLAAX/AwMDLEMGZs+O/O8I9BZEYQ41JsAZ657n/8fyaGFwCSUmao4tQfEwAAAABJRU5ErkJggg==";function Bn(t,e){e.classHierarchy.push("vtkOpenGLCamera"),t.buildPass=r=>{r&&(e._openGLRenderer=t.getFirstAncestorOfType("vtkOpenGLRenderer"),e._openGLRenderWindow=e._openGLRenderer.getParent(),e.context=e._openGLRenderWindow.getContext())},t.opaquePass=r=>{if(r){const a=e._openGLRenderer.getTiledSizeAndOrigin();e.context.viewport(a.lowerLeftU,a.lowerLeftV,a.usize,a.vsize),e.context.scissor(a.lowerLeftU,a.lowerLeftV,a.usize,a.vsize)}},t.translucentPass=t.opaquePass,t.zBufferPass=t.opaquePass,t.opaqueZBufferPass=t.opaquePass,t.volumePass=t.opaquePass,t.getKeyMatrices=r=>{if(r!==e.lastRenderer||e._openGLRenderWindow.getMTime()>e.keyMatrixTime.getMTime()||t.getMTime()>e.keyMatrixTime.getMTime()||r.getMTime()>e.keyMatrixTime.getMTime()||e.renderable.getMTime()>e.keyMatrixTime.getMTime()){Ct(e.keyMatrices.wcvc,e.renderable.getViewMatrix()),er(e.keyMatrices.normalMatrix,e.keyMatrices.wcvc),tr(e.keyMatrices.normalMatrix,e.keyMatrices.normalMatrix),Ee(e.keyMatrices.wcvc,e.keyMatrices.wcvc);const a=e._openGLRenderer.getAspectRatio();Ct(e.keyMatrices.vcpc,e.renderable.getProjectionMatrix(a,-1,1)),Ee(e.keyMatrices.vcpc,e.keyMatrices.vcpc),fa(e.keyMatrices.wcpc,e.keyMatrices.vcpc,e.keyMatrices.wcvc),e.keyMatrixTime.modified(),e.lastRenderer=r}return e.keyMatrices}}const An={context:null,lastRenderer:null,keyMatrixTime:null,keyMatrices:null};function Un(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,An,r),be.extend(t,e,r),e.keyMatrixTime={},kt(e.keyMatrixTime),e.keyMatrices={normalMatrix:new Float64Array(9),vcpc:new Float64Array(16),wcvc:new Float64Array(16),wcpc:new Float64Array(16)},ot(t,e,["context","keyMatrixTime"]),Bn(t,e)}const Rn=Le(Un);Xe("vtkCamera",Rn);const{vtkDebugMacro:Fn}=Ft;function Pn(t,e){e.classHierarchy.push("vtkOpenGLRenderer"),t.buildPass=r=>{if(r){if(!e.renderable)return;t.updateLights(),t.prepareNodes(),t.addMissingNode(e.renderable.getActiveCamera()),t.addMissingNodes(e.renderable.getViewPropsWithNestedProps()),t.removeUnusedNodes()}},t.updateLights=()=>{let r=0;const a=e.renderable.getLightsByReference();for(let l=0;l<a.length;++l)a[l].getSwitch()>0&&r++;return r||(Fn("No lights are on, creating one."),e.renderable.createLight()),r},t.zBufferPass=r=>{if(r){let a=0;const l=e.context;e.renderable.getTransparent()||(e.context.clearColor(1,0,0,1),a|=l.COLOR_BUFFER_BIT),e.renderable.getPreserveDepthBuffer()||(l.clearDepth(1),a|=l.DEPTH_BUFFER_BIT,e.context.depthMask(!0));const o=t.getTiledSizeAndOrigin();l.enable(l.SCISSOR_TEST),l.scissor(o.lowerLeftU,o.lowerLeftV,o.usize,o.vsize),l.viewport(o.lowerLeftU,o.lowerLeftV,o.usize,o.vsize),l.colorMask(!0,!0,!0,!0),a&&l.clear(a),l.enable(l.DEPTH_TEST)}},t.opaqueZBufferPass=r=>t.zBufferPass(r),t.cameraPass=r=>{r&&t.clear()},t.getAspectRatio=()=>{const r=e._parent.getSizeByReference(),a=e.renderable.getViewportByReference();return r[0]*(a[2]-a[0])/((a[3]-a[1])*r[1])},t.getTiledSizeAndOrigin=()=>{const r=e.renderable.getViewportByReference(),a=[0,0,1,1],l=r[0]-a[0],o=r[1]-a[1],n=e._parent.normalizedDisplayToDisplay(l,o),s=Math.round(n[0]),c=Math.round(n[1]),u=r[2]-a[0],d=r[3]-a[1],g=e._parent.normalizedDisplayToDisplay(u,d);let v=Math.round(g[0])-s,h=Math.round(g[1])-c;return v<0&&(v=0),h<0&&(h=0),{usize:v,vsize:h,lowerLeftU:s,lowerLeftV:c}},t.clear=()=>{let r=0;const a=e.context;if(!e.renderable.getTransparent()){const o=e.renderable.getBackgroundByReference();e.context.clearColor(o[0],o[1],o[2],o[3]),r|=a.COLOR_BUFFER_BIT}e.renderable.getPreserveDepthBuffer()||(a.clearDepth(1),r|=a.DEPTH_BUFFER_BIT,e.context.depthMask(!0)),a.colorMask(!0,!0,!0,!0);const l=t.getTiledSizeAndOrigin();a.enable(a.SCISSOR_TEST),a.scissor(l.lowerLeftU,l.lowerLeftV,l.usize,l.vsize),a.viewport(l.lowerLeftU,l.lowerLeftV,l.usize,l.vsize),r&&a.clear(r),a.enable(a.DEPTH_TEST)},t.releaseGraphicsResources=()=>{e.selector!==null&&e.selector.releaseGraphicsResources(),e.renderable&&e.renderable.getViewProps().forEach(r=>{r.modified()})},t.setOpenGLRenderWindow=r=>{e._openGLRenderWindow!==r&&(t.releaseGraphicsResources(),e._openGLRenderWindow=r,e.context=null,r&&(e.context=e._openGLRenderWindow.getContext()))}}const En={context:null,_openGLRenderWindow:null,selector:null};function Gn(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,En,r),be.extend(t,e,r),jt(t,e,["shaderCache"]),ot(t,e,["selector"]),Vr(t,e,["openGLRenderWindow"]),Pn(t,e)}const $n=Le(Gn,"vtkOpenGLRenderer");Xe("vtkRenderer",$n);function Nn(t,e){e.classHierarchy.push("vtkOpenGLActor"),t.buildPass=r=>{if(r){e._openGLRenderWindow=t.getFirstAncestorOfType("vtkOpenGLRenderWindow"),e._openGLRenderer=t.getFirstAncestorOfType("vtkOpenGLRenderer"),e.context=e._openGLRenderWindow.getContext(),t.prepareNodes(),t.addMissingNodes(e.renderable.getTextures()),t.addMissingNode(e.renderable.getMapper()),t.removeUnusedNodes(),e.ogltextures=null,e.activeTextures=null;for(let a=0;a<e.children.length;a++){const l=e.children[a];l.isA("vtkOpenGLTexture")?(e.ogltextures||(e.ogltextures=[]),e.ogltextures.push(l)):e.oglmapper=l}}},t.traverseZBufferPass=r=>{!e.renderable||!e.renderable.getNestedVisibility()||e._openGLRenderer.getSelector()&&!e.renderable.getNestedPickable()||(t.apply(r,!0),e.oglmapper.traverse(r),t.apply(r,!1))},t.traverseOpaqueZBufferPass=r=>t.traverseOpaquePass(r),t.traverseOpaquePass=r=>{!e.renderable||!e.renderable.getNestedVisibility()||!e.renderable.getIsOpaque()||e._openGLRenderer.getSelector()&&!e.renderable.getNestedPickable()||(t.apply(r,!0),e.oglmapper.traverse(r),t.apply(r,!1))},t.traverseTranslucentPass=r=>{!e.renderable||!e.renderable.getNestedVisibility()||e.renderable.getIsOpaque()||e._openGLRenderer.getSelector()&&!e.renderable.getNestedPickable()||(t.apply(r,!0),e.oglmapper.traverse(r),t.apply(r,!1))},t.activateTextures=()=>{if(e.ogltextures){e.activeTextures=[];for(let r=0;r<e.ogltextures.length;r++){const a=e.ogltextures[r];a.render(),a.getHandle()&&e.activeTextures.push(a)}}},t.queryPass=(r,a)=>{if(r){if(!e.renderable||!e.renderable.getVisibility())return;e.renderable.getIsOpaque()?a.incrementOpaqueActorCount():a.incrementTranslucentActorCount()}},t.zBufferPass=(r,a)=>t.opaquePass(r,a),t.opaqueZBufferPass=(r,a)=>t.opaquePass(r,a),t.opaquePass=(r,a)=>{if(r)e.context.depthMask(!0),t.activateTextures();else if(e.activeTextures)for(let l=0;l<e.activeTextures.length;l++)e.activeTextures[l].deactivate()},t.translucentPass=(r,a)=>{if(r)e.context.depthMask(!1),t.activateTextures();else if(e.activeTextures)for(let l=0;l<e.activeTextures.length;l++)e.activeTextures[l].deactivate()},t.getKeyMatrices=()=>(e.renderable.getMTime()>e.keyMatrixTime.getMTime()&&(e.renderable.computeMatrix(),Ct(e.keyMatrices.mcwc,e.renderable.getMatrix()),Ee(e.keyMatrices.mcwc,e.keyMatrices.mcwc),e.renderable.getIsIdentity()?Ht(e.keyMatrices.normalMatrix):(er(e.keyMatrices.normalMatrix,e.keyMatrices.mcwc),tr(e.keyMatrices.normalMatrix,e.keyMatrices.normalMatrix),wr(e.keyMatrices.normalMatrix,e.keyMatrices.normalMatrix)),e.keyMatrixTime.modified()),e.keyMatrices)}const Wn={context:null,keyMatrixTime:null,keyMatrices:null,activeTextures:null};function zn(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Wn,r),be.extend(t,e,r),e.keyMatrixTime={},kt(e.keyMatrixTime,{mtime:0}),e.keyMatrices={normalMatrix:Ht(new Float64Array(9)),mcwc:ze(new Float64Array(16))},ot(t,e,["context"]),jt(t,e,["activeTextures"]),Nn(t,e)}const In=Le(zn);Xe("vtkActor",In);function Kn(t,e){e.classHierarchy.push("vtkOpenGLActor2D"),t.buildPass=r=>{if(r){if(!e.renderable)return;e._openGLRenderWindow=t.getFirstAncestorOfType("vtkOpenGLRenderWindow"),e._openGLRenderer=t.getFirstAncestorOfType("vtkOpenGLRenderer"),e.context=e._openGLRenderWindow.getContext(),t.prepareNodes(),t.addMissingNodes(e.renderable.getTextures()),t.addMissingNode(e.renderable.getMapper()),t.removeUnusedNodes(),e.ogltextures=null,e.activeTextures=null;for(let a=0;a<e.children.length;a++){const l=e.children[a];l.isA("vtkOpenGLTexture")?(e.ogltextures||(e.ogltextures=[]),e.ogltextures.push(l)):e.oglmapper=l}}},t.queryPass=(r,a)=>{if(r){if(!e.renderable||!e.renderable.getVisibility())return;a.incrementOverlayActorCount()}},t.traverseOpaquePass=r=>{!e.oglmapper||!e.renderable||!e.renderable.getNestedVisibility()||!e.renderable.getIsOpaque()||e._openGLRenderer.getSelector()&&!e.renderable.getNestedPickable()||(t.apply(r,!0),e.oglmapper.traverse(r),t.apply(r,!1))},t.traverseTranslucentPass=r=>{!e.oglmapper||!e.renderable||!e.renderable.getNestedVisibility()||e.renderable.getIsOpaque()||e._openGLRenderer.getSelector()&&!e.renderable.getNestedPickable()||(t.apply(r,!0),e.oglmapper.traverse(r),t.apply(r,!1))},t.traverseOverlayPass=r=>{!e.oglmapper||!e.renderable||!e.renderable.getNestedVisibility()||e._openGLRenderer.getSelector()&&!e.renderable.getNestedPickable||(t.apply(r,!0),e.oglmapper.traverse(r),t.apply(r,!1))},t.activateTextures=()=>{if(e.ogltextures){e.activeTextures=[];for(let r=0;r<e.ogltextures.length;r++){const a=e.ogltextures[r];a.render(),a.getHandle()&&e.activeTextures.push(a)}}},t.opaquePass=(r,a)=>{if(r)e.context.depthMask(!0),t.activateTextures();else if(e.activeTextures)for(let l=0;l<e.activeTextures.length;l++)e.activeTextures[l].deactivate()},t.translucentPass=(r,a)=>{if(r)e.context.depthMask(!1),t.activateTextures();else if(e.activeTextures)for(let l=0;l<e.activeTextures.length;l++)e.activeTextures[l].deactivate()},t.overlayPass=(r,a)=>{if(r)e.context.depthMask(!0),t.activateTextures();else if(e.activeTextures)for(let l=0;l<e.activeTextures.length;l++)e.activeTextures[l].deactivate()}}const jn={context:null,activeTextures:null};function Hn(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,jn,r),be.extend(t,e,r),ot(t,e,["context"]),jt(t,e,["activeTextures"]),Kn(t,e)}const qn=Le(Hn);Xe("vtkActor2D",qn);const Jn=[[-1,0,0],[1,0,0],[0,-1,0],[0,1,0],[0,0,-1],[0,0,1]],Na=[[8,7,11,3],[9,1,10,5],[4,9,0,8],[2,11,6,10],[0,3,2,1],[4,5,6,7]],ta=[[0,1],[1,3],[2,3],[0,2],[4,5],[5,7],[6,7],[4,6],[0,4],[1,5],[3,7],[2,6]],Wa=[0,1,0,1,0,1,0,1,2,2,2,2],pe=[[1,2],[1,2],[0,2],[0,2],[0,1],[0,1]],Y=new Float64Array(3),aa=new Float64Array(3),le=new Float64Array(3),Mt=new Float64Array(3),Tt=new Float64Array(3),ra=new Float64Array(3),ya=new Float64Array(16);function xa(t,e){t.strokeStyle=e.strokeColor,t.lineWidth=e.strokeSize,t.fillStyle=e.fontColor,t.font=`${e.fontStyle} ${e.fontSize}px ${e.fontFamily}`}function Qn(t,e){e.classHierarchy.push("vtkCubeAxesActorHelper"),t.setRenderable=r=>{e.renderable!==r&&(e.renderable=r,e.tmActor.addTexture(e.renderable.getTmTexture()),e.tmActor.setProperty(r.getProperty()),e.tmActor.setParentProp(r),t.modified())},t.createPolyDataForOneLabel=(r,a,l,o,n,s,c)=>{const u=e.renderable.get_tmAtlas().get(r);if(!u)return;const d=e.renderable.getTextPolyData().getPoints().getData(),g=e.lastSize;Y[0]=d[a*3],Y[1]=d[a*3+1],Y[2]=d[a*3+2],at(le,Y,l),le[0]+=.1,at(aa,le,o),$t(Tt,aa,Y),le[0]-=.1,le[1]+=.1,at(aa,le,o),$t(ra,aa,Y);for(let T=0;T<3;T++)Tt[T]/=.5*.1*g[0],ra[T]/=.5*.1*g[1];let v=c.ptIdx,h=c.cellIdx;Y[0]=d[a*3],Y[1]=d[a*3+1],Y[2]=d[a*3+2],n[0]<-.5?gt(le,Tt,n[0]*s-u.width):n[0]>.5?gt(le,Tt,n[0]*s):gt(le,Tt,n[0]*s-u.width/2),Nt(Y,Y,le),gt(le,ra,n[1]*s-u.height/2),Nt(Y,Y,le),c.points[v*3]=Y[0],c.points[v*3+1]=Y[1],c.points[v*3+2]=Y[2],c.tcoords[v*2]=u.tcoords[0],c.tcoords[v*2+1]=u.tcoords[1],v++,gt(le,Tt,u.width),Nt(Y,Y,le),c.points[v*3]=Y[0],c.points[v*3+1]=Y[1],c.points[v*3+2]=Y[2],c.tcoords[v*2]=u.tcoords[2],c.tcoords[v*2+1]=u.tcoords[3],v++,gt(le,ra,u.height),Nt(Y,Y,le),c.points[v*3]=Y[0],c.points[v*3+1]=Y[1],c.points[v*3+2]=Y[2],c.tcoords[v*2]=u.tcoords[4],c.tcoords[v*2+1]=u.tcoords[5],v++,gt(le,Tt,u.width),$t(Y,Y,le),c.points[v*3]=Y[0],c.points[v*3+1]=Y[1],c.points[v*3+2]=Y[2],c.tcoords[v*2]=u.tcoords[6],c.tcoords[v*2+1]=u.tcoords[7],v++,c.polys[h*4]=3,c.polys[h*4+1]=v-4,c.polys[h*4+2]=v-3,c.polys[h*4+3]=v-2,h++,c.polys[h*4]=3,c.polys[h*4+1]=v-4,c.polys[h*4+2]=v-2,c.polys[h*4+3]=v-1,c.ptIdx+=4,c.cellIdx+=2},t.updateTexturePolyData=()=>{const r=e.camera.getCompositeProjectionMatrix(e.lastAspectRatio,-1,1);Ee(r,r);const a=e.renderable.getTextValues().length,l=a*4,o=a*2,n=new Float64Array(l*3),s=new Uint16Array(o*4),c=new Float32Array(l*2);zt(ya,r);const u={ptIdx:0,cellIdx:0,polys:s,points:n,tcoords:c};let d=0,g=0,v=0;const h=e.renderable.getTextPolyData().getPoints().getData(),T=e.renderable.getTextValues();for(;d<h.length/3;){Y[0]=h[d*3],Y[1]=h[d*3+1],Y[2]=h[d*3+2],at(le,Y,r),Y[0]=h[d*3+3],Y[1]=h[d*3+4],Y[2]=h[d*3+5],at(Mt,Y,r),$t(le,le,Mt);const w=[le[0],le[1]];Dr(w),t.createPolyDataForOneLabel(T[g],d,r,ya,w,e.renderable.getAxisTitlePixelOffset(),u),d+=2,g++;for(let V=0;V<e.renderable.getTickCounts()[v];V++)t.createPolyDataForOneLabel(T[g],d,r,ya,w,e.renderable.getTickLabelPixelOffset(),u),d++,g++;v++}const b=It.newInstance({numberOfComponents:2,values:c,name:"TextureCoordinates"});e.tmPolyData.getPointData().setTCoords(b),e.tmPolyData.getPoints().setData(n,3),e.tmPolyData.getPoints().modified(),e.tmPolyData.getPolys().setData(s,1),e.tmPolyData.getPolys().modified(),e.tmPolyData.modified()},t.updateAPISpecificData=(r,a,l)=>{(e.lastSize[0]!==r[0]||e.lastSize[1]!==r[1])&&(e.lastSize[0]=r[0],e.lastSize[1]=r[1],e.lastAspectRatio=r[0]/r[1],e.forceUpdate=!0),e.camera=a,t.updateTexturePolyData()}}const Yn=z.newInstance(function(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{renderable:null};Object.assign(e,{},r),z.obj(t,e),e.tmPolyData=Ot.newInstance(),e.tmMapper=rt.newInstance(),e.tmMapper.setInputData(e.tmPolyData),e.tmActor=vt.newInstance({parentProp:t}),e.tmActor.setMapper(e.tmMapper),z.setGet(t,e,["renderable"]),z.get(t,e,["lastSize","lastAspectRatio","axisTextStyle","tickTextStyle","tmActor","ticks"]),e.forceUpdate=!1,e.lastRedrawTime={},z.obj(e.lastRedrawTime,{mtime:0}),e.lastRebuildTime={},z.obj(e.lastRebuildTime,{mtime:0}),e.lastSize=[-1,-1],e.lastTickBounds=[],Qn(t,e)},"vtkCubeAxesActorHelper");function Xn(t,e){e.classHierarchy.push("vtkCubeAxesActor"),t.setCamera=a=>{e.camera!==a&&(e.cameraModifiedSub&&(e.cameraModifiedSub.unsubscribe(),e.cameraModifiedSub=null),e.camera=a,a&&(e.cameraModifiedSub=a.onModified(t.update)),t.update(),t.modified())},t.computeFacesToDraw=()=>{const a=e.camera.getViewMatrix();Ee(a,a);let l=!1;const o=da.getDiagonalLength(e.dataBounds),n=Math.sin(e.faceVisibilityAngle*Math.PI/180);for(let s=0;s<6;s++){let c=!1;const u=Math.floor(s/2),d=(u+1)%3,g=(u+2)%3;e.dataBounds[d*2]!==e.dataBounds[d*2+1]&&e.dataBounds[g*2]!==e.dataBounds[g*2+1]&&(Y[u]=e.dataBounds[s]-.1*o*Jn[s][u],Y[d]=.5*(e.dataBounds[d*2]+e.dataBounds[d*2+1]),Y[g]=.5*(e.dataBounds[g*2]+e.dataBounds[g*2+1]),at(le,Y,a),Y[u]=e.dataBounds[s],at(Mt,Y,a),$t(le,Mt,le),La(le,le),c=le[2]>n,e.camera.getParallelProjection()||(La(Mt,Mt),c=Mr(Mt,le)>n)),c!==e.lastFacesToDraw[s]&&(e.lastFacesToDraw[s]=c,l=!0)}return l},t.updatePolyData=(a,l,o)=>{let n=0,s=0;n+=8;let c=0;for(let h=0;h<12;h++)l[h]>0&&c++;if(s+=c,e.gridLines)for(let h=0;h<6;h++)a[h]&&(n+=o[pe[h][0]].length*2+o[pe[h][1]].length*2,s+=o[pe[h][0]].length+o[pe[h][1]].length);const u=new Float64Array(n*3),d=new Uint32Array(s*3);let g=0,v=0;for(let h=0;h<2;h++)for(let T=0;T<2;T++)for(let b=0;b<2;b++)u[g*3]=e.dataBounds[b],u[g*3+1]=e.dataBounds[2+T],u[g*3+2]=e.dataBounds[4+h],g++;for(let h=0;h<12;h++)l[h]>0&&(d[v*3]=2,d[v*3+1]=ta[h][0],d[v*3+2]=ta[h][1],v++);if(e.gridLines){for(let h=0;h<6;h++)if(a[h]){const T=Math.floor(h/2);let b=o[pe[h][0]];for(let w=0;w<b.length;w++)u[g*3+T]=e.dataBounds[h],u[g*3+pe[h][0]]=b[w],u[g*3+pe[h][1]]=e.dataBounds[pe[h][1]*2],g++,u[g*3+T]=e.dataBounds[h],u[g*3+pe[h][0]]=b[w],u[g*3+pe[h][1]]=e.dataBounds[pe[h][1]*2+1],g++,d[v*3]=2,d[v*3+1]=g-2,d[v*3+2]=g-1,v++;b=o[pe[h][1]];for(let w=0;w<b.length;w++)u[g*3+T]=e.dataBounds[h],u[g*3+pe[h][1]]=b[w],u[g*3+pe[h][0]]=e.dataBounds[pe[h][0]*2],g++,u[g*3+T]=e.dataBounds[h],u[g*3+pe[h][1]]=b[w],u[g*3+pe[h][0]]=e.dataBounds[pe[h][0]*2+1],g++,d[v*3]=2,d[v*3+1]=g-2,d[v*3+2]=g-1,v++}}e.polyData.getPoints().setData(u,3),e.polyData.getPoints().modified(),e.polyData.getLines().setData(d,1),e.polyData.getLines().modified(),e.polyData.modified()},t.updateTextData=(a,l,o,n)=>{let s=0;for(let h=0;h<12;h++)l[h]===1&&(s+=2,s+=o[Wa[h]].length);const c=e.polyData.getPoints().getData(),u=new Float64Array(s*3);let d=0,g=0,v=0;for(let h=0;h<6;h++)if(a[h])for(let T=0;T<4;T++){const b=Na[h][T];if(l[b]===1){const w=Wa[b],V=ta[b][0]*3,R=ta[b][1]*3;u[d*3]=.5*(c[V]+c[R]),u[d*3+1]=.5*(c[V+1]+c[R+1]),u[d*3+2]=.5*(c[V+2]+c[R+2]),d++;const k=Math.floor(h/2);u[d*3+k]=e.dataBounds[h],u[d*3+pe[h][0]]=.5*(e.dataBounds[pe[h][0]*2]+e.dataBounds[pe[h][0]*2+1]),u[d*3+pe[h][1]]=.5*(e.dataBounds[pe[h][1]*2]+e.dataBounds[pe[h][1]*2+1]),d++,e.textValues[g]=e.axisLabels[w],g++;const A=(w+1)%3,F=(w+2)%3,E=o[w],G=n[w];e.tickCounts[v]=E.length;for(let x=0;x<E.length;x++)u[d*3+w]=E[x],u[d*3+A]=c[V+A],u[d*3+F]=c[V+F],d++,e.textValues[g]=G[x],g++;v++}}e.textPolyData.getPoints().setData(u,3),e.textPolyData.modified()},t.update=()=>{if(!e.camera)return;const a=t.computeFacesToDraw(),l=e.lastFacesToDraw;let o=!1;for(let n=0;n<6;n++)e.dataBounds[n]!==e.lastTickBounds[n]&&(o=!0,e.lastTickBounds[n]=e.dataBounds[n]);if(a||o||e.forceUpdate){const n=new Array(12).fill(0);for(let u=0;u<6;u++)if(l[u])for(let d=0;d<4;d++)n[Na[u][d]]++;const s=[],c=[];for(let u=0;u<3;u++){const d=rr().domain([e.dataBounds[u*2],e.dataBounds[u*2+1]]);s[u]=d.ticks(5);const g=d.tickFormat(5);c[u]=s[u].map(g)}t.updatePolyData(l,n,s),t.updateTextData(l,n,s,c),(o||e.forceUpdate)&&t.updateTextureAtlas(c)}e.forceUpdate=!1},t.updateTextureAtlas=a=>{e.tmContext.textBaseline="bottom",e.tmContext.textAlign="left",e._tmAtlas.clear();let l=0,o=1;for(let n=0;n<3;n++){if(!e._tmAtlas.has(e.axisLabels[n])){xa(e.tmContext,e.axisTextStyle);const s=e.tmContext.measureText(e.axisLabels[n]),c={height:s.actualBoundingBoxAscent+2,startingHeight:o,width:s.width+2,textStyle:e.axisTextStyle};e._tmAtlas.set(e.axisLabels[n],c),o+=c.height,l<c.width&&(l=c.width)}xa(e.tmContext,e.tickTextStyle);for(let s=0;s<a[n].length;s++)if(!e._tmAtlas.has(a[n][s])){const c=e.tmContext.measureText(a[n][s]),u={height:c.actualBoundingBoxAscent+2,startingHeight:o,width:c.width+2,textStyle:e.tickTextStyle};e._tmAtlas.set(a[n][s],u),o+=u.height,l<u.width&&(l=u.width)}}l=Ba(l),o=Ba(o),e._tmAtlas.forEach(n=>{n.tcoords=[0,(o-n.startingHeight-n.height)/o,n.width/l,(o-n.startingHeight-n.height)/o,n.width/l,(o-n.startingHeight)/o,0,(o-n.startingHeight)/o]}),e.tmCanvas.width=l,e.tmCanvas.height=o,e.tmContext.textBaseline="bottom",e.tmContext.textAlign="left",e.tmContext.clearRect(0,0,l,o),e._tmAtlas.forEach((n,s)=>{xa(e.tmContext,n.textStyle),e.tmContext.fillText(s,1,n.startingHeight+n.height-1)}),e.tmTexture.setCanvas(e.tmCanvas),e.tmTexture.modified()},t.onModified(()=>{e.forceUpdate=!0,t.update()}),t.setTickTextStyle=a=>{e.tickTextStyle={...e.tickTextStyle,...a},t.modified()},t.setAxisTextStyle=a=>{e.axisTextStyle={...e.axisTextStyle,...a},t.modified()},t.get_tmAtlas=()=>e._tmAtlas,t.getBounds=()=>(t.update(),da.setBounds(e.bounds,e.gridActor.getBounds()),da.scaleAboutCenter(e.bounds,e.boundsScaleFactor,e.boundsScaleFactor,e.boundsScaleFactor),e.bounds);const r=z.chain(t.setProperty,e.gridActor.setProperty);t.setProperty=a=>r(a)[0]}function Zn(t){return{boundsScaleFactor:1.3,camera:null,dataBounds:[...da.INIT_BOUNDS],faceVisibilityAngle:8,gridLines:!0,axisLabels:null,axisTitlePixelOffset:35,axisTextStyle:{fontColor:"white",fontStyle:"normal",fontSize:18,fontFamily:"serif"},tickLabelPixelOffset:12,tickTextStyle:{fontColor:"white",fontStyle:"normal",fontSize:14,fontFamily:"serif"},...t}}function dr(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Zn(r)),vt.extend(t,e,r),e.lastFacesToDraw=[!1,!1,!1,!1,!1,!1],e.axisLabels=["X-Axis","Y-Axis","Z-Axis"],e.tickCounts=[],e.textValues=[],e.lastTickBounds=[],e.tmCanvas=document.createElement("canvas"),e.tmContext=e.tmCanvas.getContext("2d"),e._tmAtlas=new Map,e.tmTexture=ar.newInstance(),e.tmTexture.setInterpolate(!1),t.getProperty().setDiffuse(0),t.getProperty().setAmbient(1),e.gridMapper=rt.newInstance(),e.polyData=Ot.newInstance(),e.gridMapper.setInputData(e.polyData),e.gridActor=vt.newInstance(),e.gridActor.setMapper(e.gridMapper),e.gridActor.setProperty(t.getProperty()),e.gridActor.setParentProp(t),e.textPolyData=Ot.newInstance(),z.setGet(t,e,["axisTitlePixelOffset","boundsScaleFactor","faceVisibilityAngle","gridLines","tickLabelPixelOffset"]),z.setGetArray(t,e,["dataBounds"],6),z.setGetArray(t,e,["axisLabels"],3),z.get(t,e,["axisTextStyle","tickTextStyle","camera","tmTexture","textValues","textPolyData","tickCounts","gridActor"]),Xn(t,e)}const es=z.newInstance(dr,"vtkCubeAxesActor");var fr={newInstance:es,extend:dr,newCubeAxesActorHelper:Yn};function ts(t,e){e.classHierarchy.push("vtkOpenGLCubeAxesActor"),t.buildPass=r=>{r&&(e._openGLRenderer=t.getFirstAncestorOfType("vtkOpenGLRenderer"),e._openGLRenderWindow=e._openGLRenderer.getParent(),e.CubeAxesActorHelper.getRenderable()||e.CubeAxesActorHelper.setRenderable(e.renderable),t.prepareNodes(),t.addMissingNode(e.CubeAxesActorHelper.getTmActor()),t.addMissingNode(e.renderable.getGridActor()),t.removeUnusedNodes())},t.opaquePass=(r,a)=>{if(r){const l=e._openGLRenderer?e._openGLRenderer.getRenderable().getActiveCamera():null,o=e._openGLRenderer.getTiledSizeAndOrigin();e.CubeAxesActorHelper.updateAPISpecificData([o.usize,o.vsize],l,e._openGLRenderWindow.getRenderable())}}}const as={};function rs(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,as,r),be.extend(t,e,r),e.CubeAxesActorHelper=fr.newCubeAxesActorHelper(),ts(t,e)}const ns=Le(rs,"vtkOpenGLCubeAxesActor");Xe("vtkCubeAxesActor",ns);var ss=`//VTK::System::Dec
  2. /*=========================================================================
  3. Program: Visualization Toolkit
  4. Module: vtkPolyDataVS.glsl
  5. Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
  6. All rights reserved.
  7. See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
  8. This software is distributed WITHOUT ANY WARRANTY; without even
  9. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  10. PURPOSE. See the above copyright notice for more information.
  11. =========================================================================*/
  12. attribute vec4 vertexMC;
  13. // frag position in VC
  14. //VTK::PositionVC::Dec
  15. // optional normal declaration
  16. //VTK::Normal::Dec
  17. // extra lighting parameters
  18. //VTK::Light::Dec
  19. // Texture coordinates
  20. //VTK::TCoord::Dec
  21. // material property values
  22. //VTK::Color::Dec
  23. // clipping plane vars
  24. //VTK::Clip::Dec
  25. // camera and actor matrix values
  26. //VTK::Camera::Dec
  27. // Apple Bug
  28. //VTK::PrimID::Dec
  29. // picking support
  30. //VTK::Picking::Dec
  31. void main()
  32. {
  33. //VTK::Color::Impl
  34. //VTK::Normal::Impl
  35. //VTK::TCoord::Impl
  36. //VTK::Clip::Impl
  37. //VTK::PrimID::Impl
  38. //VTK::PositionVC::Impl
  39. //VTK::Light::Impl
  40. //VTK::Picking::Impl
  41. }
  42. `,is=`//VTK::System::Dec
  43. /*=========================================================================
  44. Program: Visualization Toolkit
  45. Module: vtkPolyDataFS.glsl
  46. Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
  47. All rights reserved.
  48. See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
  49. This software is distributed WITHOUT ANY WARRANTY; without even
  50. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  51. PURPOSE. See the above copyright notice for more information.
  52. =========================================================================*/
  53. // Template for the polydata mappers fragment shader
  54. uniform int PrimitiveIDOffset;
  55. // VC position of this fragment
  56. //VTK::PositionVC::Dec
  57. // optional color passed in from the vertex shader, vertexColor
  58. //VTK::Color::Dec
  59. // optional surface normal declaration
  60. //VTK::Normal::Dec
  61. // extra lighting parameters
  62. //VTK::Light::Dec
  63. // define vtkImageLabelOutlineOn
  64. //VTK::ImageLabelOutlineOn
  65. // Texture coordinates
  66. //VTK::TCoord::Dec
  67. // picking support
  68. //VTK::Picking::Dec
  69. // Depth Peeling Support
  70. //VTK::DepthPeeling::Dec
  71. // clipping plane vars
  72. //VTK::Clip::Dec
  73. // label outline
  74. //VTK::LabelOutline::Dec
  75. // the output of this shader
  76. //VTK::Output::Dec
  77. // Apple Bug
  78. //VTK::PrimID::Dec
  79. // handle coincident offsets
  80. //VTK::Coincident::Dec
  81. //VTK::ZBuffer::Dec
  82. //VTK::LabelOutlineHelperFunction
  83. void main()
  84. {
  85. // VC position of this fragment. This should not branch/return/discard.
  86. //VTK::PositionVC::Impl
  87. // Place any calls that require uniform flow (e.g. dFdx) here.
  88. //VTK::UniformFlow::Impl
  89. // Set gl_FragDepth here (gl_FragCoord.z by default)
  90. //VTK::Depth::Impl
  91. // Early depth peeling abort:
  92. //VTK::DepthPeeling::PreColor
  93. // Apple Bug
  94. //VTK::PrimID::Impl
  95. //VTK::Clip::Impl
  96. //VTK::Color::Impl
  97. // Generate the normal if we are not passed in one
  98. //VTK::Normal::Impl
  99. //VTK::TCoord::Impl
  100. //VTK::Light::Impl
  101. if (gl_FragData[0].a <= 0.0)
  102. {
  103. discard;
  104. }
  105. //VTK::DepthPeeling::Impl
  106. //VTK::Picking::Impl
  107. // handle coincident offsets
  108. //VTK::Coincident::Impl
  109. //VTK::ZBuffer::Impl
  110. //VTK::RenderPassFragmentShader::Impl
  111. }
  112. `;function os(t,e){t.replaceShaderCoincidentOffset=(r,a,l)=>{const o=t.getCoincidentParameters(a,l);if(o&&(o.factor!==0||o.offset!==0)){let n=r.Fragment;n=D.substitute(n,"//VTK::Coincident::Dec",["uniform float cfactor;","uniform float coffset;"]).result,e.context.getExtension("EXT_frag_depth")&&(o.factor!==0?(n=D.substitute(n,"//VTK::UniformFlow::Impl",["float cscale = length(vec2(dFdx(gl_FragCoord.z),dFdy(gl_FragCoord.z)));","//VTK::UniformFlow::Impl"],!1).result,n=D.substitute(n,"//VTK::Depth::Impl","gl_FragDepthEXT = gl_FragCoord.z + cfactor*cscale + 0.000016*coffset;").result):n=D.substitute(n,"//VTK::Depth::Impl","gl_FragDepthEXT = gl_FragCoord.z + 0.000016*coffset;").result),e._openGLRenderWindow.getWebgl2()&&(o.factor!==0?(n=D.substitute(n,"//VTK::UniformFlow::Impl",["float cscale = length(vec2(dFdx(gl_FragCoord.z),dFdy(gl_FragCoord.z)));","//VTK::UniformFlow::Impl"],!1).result,n=D.substitute(n,"//VTK::Depth::Impl","gl_FragDepth = gl_FragCoord.z + cfactor*cscale + 0.000016*coffset;").result):n=D.substitute(n,"//VTK::Depth::Impl","gl_FragDepth = gl_FragCoord.z + 0.000016*coffset;").result),r.Fragment=n}}}function ls(t,e){t.applyShaderReplacements=(r,a,l)=>{let o=null;if(a&&(o=a.ShaderReplacements),o)for(let n=0;n<o.length;n++){const s=o[n];if(l&&s.replaceFirst||!l&&!s.replaceFirst){const c=s.shaderType,u=r[c],d=D.substitute(u,s.originalValue,s.replacementValue,s.replaceAll);r[c]=d.result}}},t.buildShaders=(r,a,l)=>{t.getReplacedShaderTemplate(r,a,l),e.lastRenderPassShaderReplacement=e.currentRenderPass?e.currentRenderPass.getShaderReplacement():null,e.lastRenderPassShaderReplacement&&e.lastRenderPassShaderReplacement(r);const o=e.renderable.getViewSpecificProperties().OpenGL;t.applyShaderReplacements(r,o,!0),t.replaceShaderValues(r,a,l),t.applyShaderReplacements(r,o)},t.getReplacedShaderTemplate=(r,a,l)=>{const o=e.renderable.getViewSpecificProperties().OpenGL;t.getShaderTemplate(r,a,l);let n=r.Vertex;if(o){const u=o.VertexShaderCode;u!==void 0&&u!==""&&(n=u)}r.Vertex=n;let s=r.Fragment;if(o){const u=o.FragmentShaderCode;u!==void 0&&u!==""&&(s=u)}r.Fragment=s;let c=r.Geometry;if(o){const u=o.GeometryShaderCode;u!==void 0&&(c=u)}r.Geometry=c}}var pa={implementReplaceShaderCoincidentOffset:os,implementBuildShadersWithReplacements:ls};const{FieldAssociations:_a}=Lr,{primTypes:_e}=qt,{Representation:Ut,Shading:za}=nr,{ScalarMode:na}=rt,{Filter:Ia,Wrap:Ka}=Ma,{vtkErrorMacro:Vt}=Ft,cs={type:"StartEvent"},us={type:"EndEvent"},{CoordinateSystem:ds}=ha;function fs(t){const e=t.getSelector();return e?e.getCurrentPass():pt.MIN_KNOWN_PASS-1}function gs(t,e){e.classHierarchy.push("vtkOpenGLPolyDataMapper"),t.buildPass=a=>{a&&(e.currentRenderPass=null,e.openGLActor=t.getFirstAncestorOfType("vtkOpenGLActor"),e._openGLRenderer=e.openGLActor.getFirstAncestorOfType("vtkOpenGLRenderer"),e._openGLRenderWindow=e._openGLRenderer.getParent(),e.openGLCamera=e._openGLRenderer.getViewNodeFor(e._openGLRenderer.getRenderable().getActiveCamera()))},t.translucentPass=(a,l)=>{a&&(e.currentRenderPass=l,t.render())},t.zBufferPass=a=>{a&&(e.haveSeenDepthRequest=!0,e.renderDepth=!0,t.render(),e.renderDepth=!1)},t.opaqueZBufferPass=a=>t.zBufferPass(a),t.opaquePass=a=>{a&&t.render()},t.render=()=>{const a=e._openGLRenderWindow.getContext();if(e.context!==a){e.context=a;for(let n=_e.Start;n<_e.End;n++)e.primitives[n].setOpenGLRenderWindow(e._openGLRenderWindow)}const l=e.openGLActor.getRenderable(),o=e._openGLRenderer.getRenderable();t.renderPiece(o,l)},t.getShaderTemplate=(a,l,o)=>{a.Vertex=ss,a.Fragment=is,a.Geometry=""},t.replaceShaderColor=(a,l,o)=>{let n=a.Vertex,s=a.Geometry,c=a.Fragment;const u=e.lastBoundBO.getReferenceByName("lastLightComplexity");let d=["uniform float ambient;","uniform float diffuse;","uniform float specular;","uniform float opacityUniform; // the fragment opacity","uniform vec3 ambientColorUniform;","uniform vec3 diffuseColorUniform;"];u&&(d=d.concat(["uniform vec3 specularColorUniform;","uniform float specularPowerUniform;"]));let g=["vec3 ambientColor;"," vec3 diffuseColor;"," float opacity;"];u&&(g=g.concat([" vec3 specularColor;"," float specularPower;"])),g=g.concat([" ambientColor = ambientColorUniform;"," diffuseColor = diffuseColorUniform;"," opacity = opacityUniform;"]),u&&(g=g.concat([" specularColor = specularColorUniform;"," specularPower = specularPowerUniform;"])),e.lastBoundBO.getCABO().getColorComponents()!==0&&!e.drawingEdges&&(d=d.concat(["varying vec4 vertexColorVSOutput;"]),n=D.substitute(n,"//VTK::Color::Dec",["attribute vec4 scalarColor;","varying vec4 vertexColorVSOutput;"]).result,n=D.substitute(n,"//VTK::Color::Impl",["vertexColorVSOutput = scalarColor;"]).result,s=D.substitute(s,"//VTK::Color::Dec",["in vec4 vertexColorVSOutput[];","out vec4 vertexColorGSOutput;"]).result,s=D.substitute(s,"//VTK::Color::Impl",["vertexColorGSOutput = vertexColorVSOutput[i];"]).result),e.lastBoundBO.getCABO().getColorComponents()!==0&&!e.drawingEdges?c=D.substitute(c,"//VTK::Color::Impl",g.concat([" diffuseColor = vertexColorVSOutput.rgb;"," ambientColor = vertexColorVSOutput.rgb;"," opacity = opacity*vertexColorVSOutput.a;"])).result:e.renderable.getInterpolateScalarsBeforeMapping()&&e.renderable.getColorCoordinates()&&!e.drawingEdges?c=D.substitute(c,"//VTK::Color::Impl",g.concat([" vec4 texColor = texture2D(texture1, tcoordVCVSOutput.st);"," diffuseColor = texColor.rgb;"," ambientColor = texColor.rgb;"," opacity = opacity*texColor.a;"])).result:(o.getBackfaceProperty()&&!e.drawingEdges&&(d=d.concat(["uniform float opacityUniformBF; // the fragment opacity","uniform float ambientIntensityBF; // the material ambient","uniform float diffuseIntensityBF; // the material diffuse","uniform vec3 ambientColorUniformBF; // ambient material color","uniform vec3 diffuseColorUniformBF; // diffuse material color"]),u?(d=d.concat(["uniform float specularIntensityBF; // the material specular intensity","uniform vec3 specularColorUniformBF; // intensity weighted color","uniform float specularPowerUniformBF;"]),g=g.concat(["if (gl_FrontFacing == false) {"," ambientColor = ambientIntensityBF * ambientColorUniformBF;"," diffuseColor = diffuseIntensityBF * diffuseColorUniformBF;"," specularColor = specularIntensityBF * specularColorUniformBF;"," specularPower = specularPowerUniformBF;"," opacity = opacityUniformBF; }"])):g=g.concat(["if (gl_FrontFacing == false) {"," ambientColor = ambientIntensityBF * ambientColorUniformBF;"," diffuseColor = diffuseIntensityBF * diffuseColorUniformBF;"," opacity = opacityUniformBF; }"])),e.haveCellScalars&&!e.drawingEdges&&(d=d.concat(["uniform samplerBuffer texture1;"])),c=D.substitute(c,"//VTK::Color::Impl",g).result),c=D.substitute(c,"//VTK::Color::Dec",d).result,a.Vertex=n,a.Geometry=s,a.Fragment=c},t.replaceShaderLight=(a,l,o)=>{let n=a.Fragment;const s="",c=e.lastBoundBO.getReferenceByName("lastLightComplexity"),u=e.lastBoundBO.getReferenceByName("lastLightCount");let d=[];switch(c){case 0:n=D.substitute(n,"//VTK::Light::Impl",[" gl_FragData[0] = vec4(ambientColor * ambient + diffuseColor * diffuse, opacity);"," //VTK::Light::Impl"],!1).result;break;case 1:n=D.substitute(n,"//VTK::Light::Impl",[" float df = max(0.0, normalVCVSOutput.z);"," float sf = pow(df, specularPower);"," vec3 diffuseL = df * diffuseColor;"," vec3 specularL = sf * specularColor;"," gl_FragData[0] = vec4(ambientColor * ambient + diffuseL * diffuse + specularL * specular, opacity);"," //VTK::Light::Impl"],!1).result;break;case 2:for(let g=0;g<u;++g)d=d.concat([`uniform vec3 lightColor${g};`,`uniform vec3 lightDirectionVC${g}; // normalized`,`uniform vec3 lightHalfAngleVC${g}; // normalized`]);n=D.substitute(n,"//VTK::Light::Dec",d).result,d=["vec3 diffuseL = vec3(0,0,0);"," vec3 specularL = vec3(0,0,0);"," float df;"];for(let g=0;g<u;++g)d=d.concat([` df = max(0.0, dot(normalVCVSOutput, -lightDirectionVC${g}));`,` diffuseL += ((df${s}) * lightColor${g});`,` if (dot(normalVCVSOutput, lightDirectionVC${g}) < 0.0)`," {",` float sf = sign(df)*pow(max(1e-5,
  113. dot(reflect(lightDirectionVC${g},normalVCVSOutput),
  114. normalize(-vertexVC.xyz))),
  115. specularPower);`,` specularL += (sf${s} * lightColor${g});`," }"]);d=d.concat([" diffuseL = diffuseL * diffuseColor;"," specularL = specularL * specularColor;"," gl_FragData[0] = vec4(ambientColor * ambient + diffuseL * diffuse + specularL * specular, opacity);"," //VTK::Light::Impl"]),n=D.substitute(n,"//VTK::Light::Impl",d,!1).result;break;case 3:for(let g=0;g<u;++g)d=d.concat([`uniform vec3 lightColor${g};`,`uniform vec3 lightDirectionVC${g}; // normalized`,`uniform vec3 lightHalfAngleVC${g}; // normalized`,`uniform vec3 lightPositionVC${g};`,`uniform vec3 lightAttenuation${g};`,`uniform float lightConeAngle${g};`,`uniform float lightExponent${g};`,`uniform int lightPositional${g};`]);n=D.substitute(n,"//VTK::Light::Dec",d).result,d=["vec3 diffuseL = vec3(0,0,0);"," vec3 specularL = vec3(0,0,0);"," vec3 vertLightDirectionVC;"," float attenuation;"," float df;"];for(let g=0;g<u;++g)d=d.concat([" attenuation = 1.0;",` if (lightPositional${g} == 0)`," {",` vertLightDirectionVC = lightDirectionVC${g};`," }"," else"," {",` vertLightDirectionVC = vertexVC.xyz - lightPositionVC${g};`," float distanceVC = length(vertLightDirectionVC);"," vertLightDirectionVC = normalize(vertLightDirectionVC);"," attenuation = 1.0 /",` (lightAttenuation${g}.x`,` + lightAttenuation${g}.y * distanceVC`,` + lightAttenuation${g}.z * distanceVC * distanceVC);`," // per OpenGL standard cone angle is 90 or less for a spot light",` if (lightConeAngle${g} <= 90.0)`," {",` float coneDot = dot(vertLightDirectionVC, lightDirectionVC${g});`," // if inside the cone",` if (coneDot >= cos(radians(lightConeAngle${g})))`," {",` attenuation = attenuation * pow(coneDot, lightExponent${g});`," }"," else"," {"," attenuation = 0.0;"," }"," }"," }"," df = max(0.0, attenuation*dot(normalVCVSOutput, -vertLightDirectionVC));",` diffuseL += ((df${s}) * lightColor${g});`," if (dot(normalVCVSOutput, vertLightDirectionVC) < 0.0)"," {",` float sf = sign(df)*attenuation*pow(max(1e-5,
  116. dot(reflect(lightDirectionVC${g},
  117. normalVCVSOutput),
  118. normalize(-vertexVC.xyz))),
  119. specularPower);`,` specularL += ((sf${s}) * lightColor${g});`," }"]);d=d.concat([" diffuseL = diffuseL * diffuseColor;"," specularL = specularL * specularColor;"," gl_FragData[0] = vec4(ambientColor * ambient + diffuseL * diffuse + specularL * specular, opacity);"," //VTK::Light::Impl"]),n=D.substitute(n,"//VTK::Light::Impl",d,!1).result;break;default:Vt("bad light complexity")}a.Fragment=n},t.replaceShaderNormal=(a,l,o)=>{if(e.lastBoundBO.getReferenceByName("lastLightComplexity")>0){let s=a.Vertex,c=a.Geometry,u=a.Fragment;e.lastBoundBO.getCABO().getNormalOffset()?(s=D.substitute(s,"//VTK::Normal::Dec",["attribute vec3 normalMC;","uniform mat3 normalMatrix;","varying vec3 normalVCVSOutput;"]).result,s=D.substitute(s,"//VTK::Normal::Impl",["normalVCVSOutput = normalMatrix * normalMC;"]).result,c=D.substitute(c,"//VTK::Normal::Dec",["in vec3 normalVCVSOutput[];","out vec3 normalVCGSOutput;"]).result,c=D.substitute(c,"//VTK::Normal::Impl",["normalVCGSOutput = normalVCVSOutput[i];"]).result,u=D.substitute(u,"//VTK::Normal::Dec",["varying vec3 normalVCVSOutput;"]).result,u=D.substitute(u,"//VTK::Normal::Impl",["vec3 normalVCVSOutput = normalize(normalVCVSOutput);"," if (gl_FrontFacing == false) { normalVCVSOutput = -normalVCVSOutput; }"]).result):e.haveCellNormals?(u=D.substitute(u,"//VTK::Normal::Dec",["uniform mat3 normalMatrix;","uniform samplerBuffer textureN;"]).result,u=D.substitute(u,"//VTK::Normal::Impl",["vec3 normalVCVSOutput = normalize(normalMatrix *"," texelFetchBuffer(textureN, gl_PrimitiveID + PrimitiveIDOffset).xyz);"," if (gl_FrontFacing == false) { normalVCVSOutput = -normalVCVSOutput; }"]).result):e.lastBoundBO.getOpenGLMode(o.getProperty().getRepresentation())===e.context.LINES?(u=D.substitute(u,"//VTK::UniformFlow::Impl",[" vec3 fdx = dFdx(vertexVC.xyz);"," vec3 fdy = dFdy(vertexVC.xyz);"," //VTK::UniformFlow::Impl"]).result,u=D.substitute(u,"//VTK::Normal::Impl",["vec3 normalVCVSOutput;"," if (abs(fdx.x) > 0.0)"," { fdx = normalize(fdx); normalVCVSOutput = normalize(cross(vec3(fdx.y, -fdx.x, 0.0), fdx)); }"," else { fdy = normalize(fdy); normalVCVSOutput = normalize(cross(vec3(fdy.y, -fdy.x, 0.0), fdy));}"]).result):(u=D.substitute(u,"//VTK::Normal::Dec",["uniform int cameraParallel;"]).result,u=D.substitute(u,"//VTK::UniformFlow::Impl",[" vec3 fdx = dFdx(vertexVC.xyz);"," vec3 fdy = dFdy(vertexVC.xyz);"," //VTK::UniformFlow::Impl"]).result,u=D.substitute(u,"//VTK::Normal::Impl",[" fdx = normalize(fdx);"," fdy = normalize(fdy);"," vec3 normalVCVSOutput = normalize(cross(fdx,fdy));"," if (cameraParallel == 1 && normalVCVSOutput.z < 0.0) { normalVCVSOutput = -1.0*normalVCVSOutput; }"," if (cameraParallel == 0 && dot(normalVCVSOutput,vertexVC.xyz) > 0.0) { normalVCVSOutput = -1.0*normalVCVSOutput; }"]).result),a.Vertex=s,a.Geometry=c,a.Fragment=u}},t.replaceShaderPositionVC=(a,l,o)=>{e.lastBoundBO.replaceShaderPositionVC(a,l,o);let n=a.Vertex,s=a.Geometry,c=a.Fragment;e.lastBoundBO.getReferenceByName("lastLightComplexity")>0?(n=D.substitute(n,"//VTK::PositionVC::Dec",["varying vec4 vertexVCVSOutput;"]).result,n=D.substitute(n,"//VTK::PositionVC::Impl",["vertexVCVSOutput = MCVCMatrix * vertexMC;"," gl_Position = MCPCMatrix * vertexMC;"]).result,n=D.substitute(n,"//VTK::Camera::Dec",["uniform mat4 MCPCMatrix;","uniform mat4 MCVCMatrix;"]).result,s=D.substitute(s,"//VTK::PositionVC::Dec",["in vec4 vertexVCVSOutput[];","out vec4 vertexVCGSOutput;"]).result,s=D.substitute(s,"//VTK::PositionVC::Impl",["vertexVCGSOutput = vertexVCVSOutput[i];"]).result,c=D.substitute(c,"//VTK::PositionVC::Dec",["varying vec4 vertexVCVSOutput;"]).result,c=D.substitute(c,"//VTK::PositionVC::Impl",["vec4 vertexVC = vertexVCVSOutput;"]).result):(n=D.substitute(n,"//VTK::Camera::Dec",["uniform mat4 MCPCMatrix;"]).result,n=D.substitute(n,"//VTK::PositionVC::Impl",[" gl_Position = MCPCMatrix * vertexMC;"]).result),a.Vertex=n,a.Geometry=s,a.Fragment=c},t.replaceShaderTCoord=(a,l,o)=>{if(e.lastBoundBO.getCABO().getTCoordOffset()){let n=a.Vertex,s=a.Geometry,c=a.Fragment;if(e.drawingEdges)return;n=D.substitute(n,"//VTK::TCoord::Impl","tcoordVCVSOutput = tcoordMC;").result;const u=e.openGLActor.getActiveTextures();let d=2,g=2;if(u&&u.length>0&&(d=u[0].getComponents(),u[0].getTarget()===e.context.TEXTURE_CUBE_MAP&&(g=3)),e.renderable.getColorTextureMap()&&(d=e.renderable.getColorTextureMap().getPointData().getScalars().getNumberOfComponents(),g=2),g===2){if(n=D.substitute(n,"//VTK::TCoord::Dec","attribute vec2 tcoordMC; varying vec2 tcoordVCVSOutput;").result,s=D.substitute(s,"//VTK::TCoord::Dec",["in vec2 tcoordVCVSOutput[];","out vec2 tcoordVCGSOutput;"]).result,s=D.substitute(s,"//VTK::TCoord::Impl","tcoordVCGSOutput = tcoordVCVSOutput[i];").result,c=D.substitute(c,"//VTK::TCoord::Dec",["varying vec2 tcoordVCVSOutput;","uniform sampler2D texture1;"]).result,u&&u.length>=1)switch(d){case 1:c=D.substitute(c,"//VTK::TCoord::Impl",[" vec4 tcolor = texture2D(texture1, tcoordVCVSOutput);"," ambientColor = ambientColor*tcolor.r;"," diffuseColor = diffuseColor*tcolor.r;"]).result;break;case 2:c=D.substitute(c,"//VTK::TCoord::Impl",[" vec4 tcolor = texture2D(texture1, tcoordVCVSOutput);"," ambientColor = ambientColor*tcolor.r;"," diffuseColor = diffuseColor*tcolor.r;"," opacity = opacity * tcolor.g;"]).result;break;default:c=D.substitute(c,"//VTK::TCoord::Impl",[" vec4 tcolor = texture2D(texture1, tcoordVCVSOutput);"," ambientColor = ambientColor*tcolor.rgb;"," diffuseColor = diffuseColor*tcolor.rgb;"," opacity = opacity * tcolor.a;"]).result}}else switch(n=D.substitute(n,"//VTK::TCoord::Dec","attribute vec3 tcoordMC; varying vec3 tcoordVCVSOutput;").result,s=D.substitute(s,"//VTK::TCoord::Dec",["in vec3 tcoordVCVSOutput[];","out vec3 tcoordVCGSOutput;"]).result,s=D.substitute(s,"//VTK::TCoord::Impl","tcoordVCGSOutput = tcoordVCVSOutput[i];").result,c=D.substitute(c,"//VTK::TCoord::Dec",["varying vec3 tcoordVCVSOutput;","uniform samplerCube texture1;"]).result,d){case 1:c=D.substitute(c,"//VTK::TCoord::Impl",[" vec4 tcolor = textureCube(texture1, tcoordVCVSOutput);"," ambientColor = ambientColor*tcolor.r;"," diffuseColor = diffuseColor*tcolor.r;"]).result;break;case 2:c=D.substitute(c,"//VTK::TCoord::Impl",[" vec4 tcolor = textureCube(texture1, tcoordVCVSOutput);"," ambientColor = ambientColor*tcolor.r;"," diffuseColor = diffuseColor*tcolor.r;"," opacity = opacity * tcolor.g;"]).result;break;default:c=D.substitute(c,"//VTK::TCoord::Impl",[" vec4 tcolor = textureCube(texture1, tcoordVCVSOutput);"," ambientColor = ambientColor*tcolor.rgb;"," diffuseColor = diffuseColor*tcolor.rgb;"," opacity = opacity * tcolor.a;"]).result}a.Vertex=n,a.Geometry=s,a.Fragment=c}},t.replaceShaderClip=(a,l,o)=>{let n=a.Vertex,s=a.Fragment;if(e.renderable.getNumberOfClippingPlanes()){const c=e.renderable.getNumberOfClippingPlanes();n=D.substitute(n,"//VTK::Clip::Dec",["uniform int numClipPlanes;",`uniform vec4 clipPlanes[${c}];`,`varying float clipDistancesVSOutput[${c}];`]).result,n=D.substitute(n,"//VTK::Clip::Impl",[`for (int planeNum = 0; planeNum < ${c}; planeNum++)`," {"," if (planeNum >= numClipPlanes)"," {"," break;"," }"," clipDistancesVSOutput[planeNum] = dot(clipPlanes[planeNum], vertexMC);"," }"]).result,s=D.substitute(s,"//VTK::Clip::Dec",["uniform int numClipPlanes;",`varying float clipDistancesVSOutput[${c}];`]).result,s=D.substitute(s,"//VTK::Clip::Impl",[`for (int planeNum = 0; planeNum < ${c}; planeNum++)`," {"," if (planeNum >= numClipPlanes)"," {"," break;"," }"," if (clipDistancesVSOutput[planeNum] < 0.0) discard;"," }"]).result}a.Vertex=n,a.Fragment=s},t.getCoincidentParameters=(a,l)=>{let o={factor:0,offset:0};const n=l.getProperty();if(e.renderable.getResolveCoincidentTopology()||n.getEdgeVisibility()&&n.getRepresentation()===Ut.SURFACE){const c=e.lastBoundBO.getPrimitiveType();c===_e.Points||n.getRepresentation()===Ut.POINTS?o=e.renderable.getCoincidentTopologyPointOffsetParameter():c===_e.Lines||n.getRepresentation()===Ut.WIREFRAME?o=e.renderable.getCoincidentTopologyLineOffsetParameters():(c===_e.Tris||c===_e.TriStrips)&&(o=e.renderable.getCoincidentTopologyPolygonOffsetParameters()),(c===_e.TrisEdges||c===_e.TriStripsEdges)&&(o=e.renderable.getCoincidentTopologyPolygonOffsetParameters(),o.factor/=2,o.offset/=2)}const s=e._openGLRenderer.getSelector();return s&&s.getFieldAssociation()===_a.FIELD_ASSOCIATION_POINTS&&(o.offset-=2),o},t.replaceShaderPicking=(a,l,o)=>{let n=a.Fragment,s=a.Vertex;if(n=D.substitute(n,"//VTK::Picking::Dec",["uniform int picking;","//VTK::Picking::Dec"]).result,!!e._openGLRenderer.getSelector()){switch((e.lastSelectionState===pt.ID_LOW24||e.lastSelectionState===pt.ID_HIGH24)&&(s=D.substitute(s,"//VTK::Picking::Dec",[`flat out int vertexIDVSOutput;
  120. `,`uniform int VertexIDOffset;
  121. `]).result,s=D.substitute(s,"//VTK::Picking::Impl",` vertexIDVSOutput = gl_VertexID + VertexIDOffset;
  122. `).result,n=D.substitute(n,"//VTK::Picking::Dec",`flat in int vertexIDVSOutput;
  123. `).result,n=D.substitute(n,"//VTK::Picking::Impl",[" int idx = vertexIDVSOutput;","//VTK::Picking::Impl"]).result),e.lastSelectionState){case pt.ID_LOW24:n=D.substitute(n,"//VTK::Picking::Impl"," gl_FragData[0] = vec4(float(idx%256)/255.0, float((idx/256)%256)/255.0, float((idx/65536)%256)/255.0, 1.0);").result;break;case pt.ID_HIGH24:n=D.substitute(n,"//VTK::Picking::Impl"," gl_FragData[0] = vec4(float(idx)/255.0, 0.0, 0.0, 1.0);").result;break;default:n=D.substitute(n,"//VTK::Picking::Dec","uniform vec3 mapperIndex;").result,n=D.substitute(n,"//VTK::Picking::Impl"," gl_FragData[0] = picking != 0 ? vec4(mapperIndex,1.0) : gl_FragData[0];").result}a.Fragment=n,a.Vertex=s}},t.replaceShaderValues=(a,l,o)=>{if(t.replaceShaderColor(a,l,o),t.replaceShaderNormal(a,l,o),t.replaceShaderLight(a,l,o),t.replaceShaderTCoord(a,l,o),t.replaceShaderPicking(a,l,o),t.replaceShaderClip(a,l,o),t.replaceShaderCoincidentOffset(a,l,o),t.replaceShaderPositionVC(a,l,o),e.haveSeenDepthRequest){let n=a.Fragment;n=D.substitute(n,"//VTK::ZBuffer::Dec","uniform int depthRequest;").result,n=D.substitute(n,"//VTK::ZBuffer::Impl",["if (depthRequest == 1) {","float iz = floor(gl_FragCoord.z*65535.0 + 0.1);","float rf = floor(iz/256.0)/255.0;","float gf = mod(iz,256.0)/255.0;","gl_FragData[0] = vec4(rf, gf, 0.0, 1.0); }"]).result,a.Fragment=n}},t.getNeedToRebuildShaders=(a,l,o)=>{let n=0,s=0;const c=a.getPrimitiveType(),u=e.currentInput;let d=!1;const g=u.getPointData().getNormals(),v=u.getCellData().getNormals(),h=o.getProperty().getInterpolation()===za.FLAT,T=o.getProperty().getRepresentation(),b=a.getOpenGLMode(T,c);if((b===e.context.TRIANGLES||v&&!g||!h&&g||!h&&b===e.context.LINES)&&(d=!0),o.getProperty().getLighting()&&d){n=0;const k=l.getLightsByReference();for(let A=0;A<k.length;++A){const F=k[A];F.getSwitch()>0&&(s++,n===0&&(n=1)),n===1&&(s>1||F.getIntensity()!==1||!F.lightTypeIsHeadLight())&&(n=2),n<3&&F.getPositional()&&(n=3)}}let w=!1;const V=e.lastBoundBO.getReferenceByName("lastLightComplexity"),R=e.lastBoundBO.getReferenceByName("lastLightCount");return(V!==n||R!==s)&&(e.lastBoundBO.set({lastLightComplexity:n},!0),e.lastBoundBO.set({lastLightCount:s},!0),w=!0),(!e.currentRenderPass&&e.lastRenderPassShaderReplacement||e.currentRenderPass&&e.currentRenderPass.getShaderReplacement()!==e.lastRenderPassShaderReplacement)&&(w=!0),e.lastHaveSeenDepthRequest!==e.haveSeenDepthRequest||a.getShaderSourceTime().getMTime()<e.renderable.getMTime()||a.getShaderSourceTime().getMTime()<e.currentInput.getMTime()||a.getShaderSourceTime().getMTime()<e.selectionStateChanged.getMTime()||w?(e.lastHaveSeenDepthRequest=e.haveSeenDepthRequest,!0):!1},t.invokeShaderCallbacks=(a,l,o)=>{const n=e.renderable.getViewSpecificProperties().ShadersCallbacks;n&&n.forEach(s=>{s.callback(s.userData,a,l,o)})},t.setMapperShaderParameters=(a,l,o)=>{if(a.getProgram().isUniformUsed("PrimitiveIDOffset")&&a.getProgram().setUniformi("PrimitiveIDOffset",e.primitiveIDOffset),a.getProgram().isUniformUsed("VertexIDOffset")&&a.getProgram().setUniformi("VertexIDOffset",e.vertexIDOffset),a.getCABO().getElementCount()&&(e.VBOBuildTime.getMTime()>a.getAttributeUpdateTime().getMTime()||a.getShaderSourceTime().getMTime()>a.getAttributeUpdateTime().getMTime())){const c=e.lastBoundBO.getReferenceByName("lastLightComplexity");a.getProgram().isAttributeUsed("vertexMC")&&(a.getVAO().addAttributeArray(a.getProgram(),a.getCABO(),"vertexMC",a.getCABO().getVertexOffset(),a.getCABO().getStride(),e.context.FLOAT,3,!1)||Vt("Error setting vertexMC in shader VAO.")),a.getProgram().isAttributeUsed("normalMC")&&a.getCABO().getNormalOffset()&&c>0?a.getVAO().addAttributeArray(a.getProgram(),a.getCABO(),"normalMC",a.getCABO().getNormalOffset(),a.getCABO().getStride(),e.context.FLOAT,3,!1)||Vt("Error setting normalMC in shader VAO."):a.getVAO().removeAttributeArray("normalMC"),e.renderable.getCustomShaderAttributes().forEach((u,d)=>{a.getProgram().isAttributeUsed(`${u}MC`)&&(a.getVAO().addAttributeArray(a.getProgram(),a.getCABO(),`${u}MC`,a.getCABO().getCustomData()[d].offset,a.getCABO().getStride(),e.context.FLOAT,a.getCABO().getCustomData()[d].components,!1)||Vt(`Error setting ${u}MC in shader VAO.`))}),a.getProgram().isAttributeUsed("tcoordMC")&&a.getCABO().getTCoordOffset()?a.getVAO().addAttributeArray(a.getProgram(),a.getCABO(),"tcoordMC",a.getCABO().getTCoordOffset(),a.getCABO().getStride(),e.context.FLOAT,a.getCABO().getTCoordComponents(),!1)||Vt("Error setting tcoordMC in shader VAO."):a.getVAO().removeAttributeArray("tcoordMC"),a.getProgram().isAttributeUsed("scalarColor")&&a.getCABO().getColorComponents()?a.getVAO().addAttributeArray(a.getProgram(),a.getCABO().getColorBO(),"scalarColor",a.getCABO().getColorOffset(),a.getCABO().getColorBOStride(),e.context.UNSIGNED_BYTE,4,!0)||Vt("Error setting scalarColor in shader VAO."):a.getVAO().removeAttributeArray("scalarColor"),a.getAttributeUpdateTime().modified()}if(e.renderable.getNumberOfClippingPlanes()){const c=e.renderable.getNumberOfClippingPlanes(),u=[],g=a.getCABO().getCoordShiftAndScaleEnabled()?a.getCABO().getInverseShiftAndScaleMatrix():null,v=g?Ct(e.tmpMat4,o.getMatrix()):o.getMatrix();g&&(Ee(v,v),fa(v,v,g),Ee(v,v));for(let h=0;h<c;h++){const T=[];e.renderable.getClippingPlaneInDataCoords(v,h,T);for(let b=0;b<4;b++)u.push(T[b])}a.getProgram().setUniformi("numClipPlanes",c),a.getProgram().setUniform4fv("clipPlanes",u)}e.internalColorTexture&&a.getProgram().isUniformUsed("texture1")&&a.getProgram().setUniformi("texture1",e.internalColorTexture.getTextureUnit());const n=e.openGLActor.getActiveTextures();if(n)for(let c=0;c<n.length;++c){const d=n[c].getTextureUnit(),g=`texture${d+1}`;a.getProgram().isUniformUsed(g)&&a.getProgram().setUniformi(g,d)}if(e.haveSeenDepthRequest&&a.getProgram().setUniformi("depthRequest",e.renderDepth?1:0),a.getProgram().isUniformUsed("coffset")){const c=t.getCoincidentParameters(l,o);a.getProgram().setUniformf("coffset",c.offset),a.getProgram().isUniformUsed("cfactor")&&a.getProgram().setUniformf("cfactor",c.factor)}a.setMapperShaderParameters(l,o,e._openGLRenderer.getTiledSizeAndOrigin());const s=e._openGLRenderer.getSelector();a.getProgram().setUniform3fArray("mapperIndex",s?s.getPropColorValue():[0,0,0]),a.getProgram().setUniformi("picking",s?s.getCurrentPass()+1:0)},t.setLightingShaderParameters=(a,l,o)=>{const n=e.lastBoundBO.getReferenceByName("lastLightComplexity");if(n<2)return;const s=a.getProgram();let c=0;const u=l.getLightsByReference();for(let v=0;v<u.length;++v){const h=u[v];if(h.getSwitch()>0){const b=h.getColorByReference(),w=h.getIntensity();e.lightColor[0]=b[0]*w,e.lightColor[1]=b[1]*w,e.lightColor[2]=b[2]*w;const V=h.getDirection(),R=l.getActiveCamera().getViewMatrix(),k=[...V];h.lightTypeIsSceneLight()&&(k[0]=R[0]*V[0]+R[1]*V[1]+R[2]*V[2],k[1]=R[4]*V[0]+R[5]*V[1]+R[6]*V[2],k[2]=R[8]*V[0]+R[9]*V[1]+R[10]*V[2],Aa(k)),e.lightDirection[0]=k[0],e.lightDirection[1]=k[1],e.lightDirection[2]=k[2],Aa(e.lightDirection),s.setUniform3fArray(`lightColor${c}`,e.lightColor),s.setUniform3fArray(`lightDirectionVC${c}`,e.lightDirection),c++}}if(n<3)return;const g=l.getActiveCamera().getViewMatrix();Ee(g,g),c=0;for(let v=0;v<u.length;++v){const h=u[v];if(h.getSwitch()>0){const b=h.getTransformedPosition(),w=new Float64Array(3);at(w,b,g),s.setUniform3fArray(`lightAttenuation${c}`,h.getAttenuationValuesByReference()),s.setUniformi(`lightPositional${c}`,h.getPositional()),s.setUniformf(`lightExponent${c}`,h.getExponent()),s.setUniformf(`lightConeAngle${c}`,h.getConeAngle()),s.setUniform3fArray(`lightPositionVC${c}`,[w[0],w[1],w[2]]),c++}}};function r(a,l,o){return l.identity(o),a.reduce((n,s,c)=>c===0?s?l.copy(n,s):l.identity(n):s?l.multiply(n,n,s):n,o)}t.setCameraShaderParameters=(a,l,o)=>{const n=a.getProgram(),s=e.openGLCamera.getKeyMatrices(l),c=l.getActiveCamera(),u=e.openGLCamera.getKeyMatrixTime().getMTime(),d=n.getLastCameraMTime(),v=a.getCABO().getCoordShiftAndScaleEnabled()?a.getCABO().getInverseShiftAndScaleMatrix():null,h=o.getIsIdentity(),T=h?{mcwc:null,normalMatrix:null}:e.openGLActor.getKeyMatrices();if(o.getCoordinateSystem()===ds.DISPLAY){const b=e._openGLRenderer.getTiledSizeAndOrigin();ze(e.tmpMat4),e.tmpMat4[0]=2/b.usize,e.tmpMat4[12]=-1,e.tmpMat4[5]=2/b.vsize,e.tmpMat4[13]=-1,fa(e.tmpMat4,e.tmpMat4,v),n.setUniformMatrix("MCPCMatrix",e.tmpMat4)}else n.setUniformMatrix("MCPCMatrix",r([s.wcpc,T.mcwc,v],Sa,e.tmpMat4));n.isUniformUsed("MCVCMatrix")&&n.setUniformMatrix("MCVCMatrix",r([s.wcvc,T.mcwc,v],Sa,e.tmpMat4)),n.isUniformUsed("normalMatrix")&&n.setUniformMatrix3x3("normalMatrix",r([s.normalMatrix,T.normalMatrix],kr,e.tmpMat3)),d!==u&&(n.isUniformUsed("cameraParallel")&&n.setUniformi("cameraParallel",c.getParallelProjection()),n.setLastCameraMTime(u)),h||n.setLastCameraMTime(0)},t.setPropertyShaderParameters=(a,l,o)=>{const n=a.getProgram();let s=o.getProperty(),c=s.getOpacity(),u=e.drawingEdges?s.getEdgeColorByReference():s.getAmbientColorByReference(),d=e.drawingEdges?s.getEdgeColorByReference():s.getDiffuseColorByReference(),g=e.drawingEdges?1:s.getAmbient(),v=e.drawingEdges?0:s.getDiffuse(),h=e.drawingEdges?0:s.getSpecular();const T=s.getSpecularPower();n.setUniformf("opacityUniform",c),n.setUniform3fArray("ambientColorUniform",u),n.setUniform3fArray("diffuseColorUniform",d),n.setUniformf("ambient",g),n.setUniformf("diffuse",v);const b=e.lastBoundBO.getReferenceByName("lastLightComplexity");if(b<1)return;let w=s.getSpecularColorByReference();if(n.setUniform3fArray("specularColorUniform",w),n.setUniformf("specularPowerUniform",T),n.setUniformf("specular",h),n.isUniformUsed("ambientIntensityBF")){if(s=o.getBackfaceProperty(),c=s.getOpacity(),u=s.getAmbientColor(),g=s.getAmbient(),d=s.getDiffuseColor(),v=s.getDiffuse(),w=s.getSpecularColor(),h=s.getSpecular(),n.setUniformf("ambientIntensityBF",g),n.setUniformf("diffuseIntensityBF",v),n.setUniformf("opacityUniformBF",c),n.setUniform3fArray("ambientColorUniformBF",u),n.setUniform3fArray("diffuseColorUniformBF",d),b<1)return;n.setUniformf("specularIntensityBF",h),n.setUniform3fArray("specularColorUniformBF",w),n.setUniformf("specularPowerUniformBF",T)}},t.updateMaximumPointCellIds=(a,l)=>{var s,c,u,d;const o=e._openGLRenderer.getSelector();if(!o)return;if((c=(s=e.selectionWebGLIdsToVTKIds)==null?void 0:s.points)!=null&&c.length){const g=e.selectionWebGLIdsToVTKIds.points.length;o.setMaximumPointId(g-1)}if((d=(u=e.selectionWebGLIdsToVTKIds)==null?void 0:u.cells)!=null&&d.length){const g=e.selectionWebGLIdsToVTKIds.cells.length;o.setMaximumCellId(g-1)}o.getFieldAssociation()===_a.FIELD_ASSOCIATION_POINTS&&(e.pointPicking=!0)},t.renderPieceStart=(a,l)=>{e.primitiveIDOffset=0,e.vertexIDOffset=0;const o=fs(e._openGLRenderer);if(e.lastSelectionState!==o&&(e.selectionStateChanged.modified(),e.lastSelectionState=o),e._openGLRenderer.getSelector())switch(o){default:e._openGLRenderer.getSelector().renderProp(l)}t.updateBufferObjects(a,l),e.renderable.getColorTextureMap()&&e.internalColorTexture.activate(),e.lastBoundBO=null},t.renderPieceDraw=(a,l)=>{const o=l.getProperty().getRepresentation(),n=l.getProperty().getEdgeVisibility()&&o===Ut.SURFACE,s=e._openGLRenderer.getSelector(),c=s&&s.getFieldAssociation()===_a.FIELD_ASSOCIATION_POINTS&&(e.lastSelectionState===pt.ID_LOW24||e.lastSelectionState===pt.ID_HIGH24);for(let u=_e.Start;u<_e.End;u++)e.primitives[u].setPointPicking(c),e.primitives[u].getCABO().getElementCount()&&(e.drawingEdges=n&&(u===_e.TrisEdges||u===_e.TriStripsEdges),(!e.drawingEdges||!(e.renderDepth||e.lastSelectionState>=0))&&(e.lastBoundBO=e.primitives[u],e.primitiveIDOffset+=e.primitives[u].drawArrays(a,l,o,t),e.vertexIDOffset+=e.primitives[u].getCABO().getElementCount()))},t.renderPieceFinish=(a,l)=>{e.LastBoundBO&&e.LastBoundBO.getVAO().release(),e.renderable.getColorTextureMap()&&e.internalColorTexture.deactivate()},t.renderPiece=(a,l)=>{if(t.invokeEvent(cs),e.renderable.getStatic()||e.renderable.update(),e.currentInput=e.renderable.getInputData(),t.invokeEvent(us),!e.currentInput){Vt("No input!");return}if(!e.currentInput.getPoints||!e.currentInput.getPoints().getNumberOfValues())return;const o=e.context,n=l.getProperty().getBackfaceCulling(),s=l.getProperty().getFrontfaceCulling();!n&&!s?e._openGLRenderWindow.disableCullFace():s?(e._openGLRenderWindow.enableCullFace(),o.cullFace(o.FRONT)):(e._openGLRenderWindow.enableCullFace(),o.cullFace(o.BACK)),t.renderPieceStart(a,l),t.renderPieceDraw(a,l),t.renderPieceFinish(a,l)},t.computeBounds=(a,l)=>{if(!t.getInput()){Or(e.bounds);return}e.bounds=t.getInput().getBounds()},t.updateBufferObjects=(a,l)=>{t.getNeedToRebuildBufferObjects(a,l)&&t.buildBufferObjects(a,l)},t.getNeedToRebuildBufferObjects=(a,l)=>{const o=e.VBOBuildTime.getMTime();return o<t.getMTime()||o<e.renderable.getMTime()||o<l.getMTime()||o<e.currentInput.getMTime()},t.buildBufferObjects=(a,l)=>{const o=e.currentInput;if(o===null)return;e.renderable.mapScalars(o,1);const n=e.renderable.getColorMapColors();e.haveCellScalars=!1;const s=e.renderable.getScalarMode();e.renderable.getScalarVisibility()&&(s===na.USE_CELL_DATA||s===na.USE_CELL_FIELD_DATA||s===na.USE_FIELD_DATA||!o.getPointData().getScalars())&&s!==na.USE_POINT_FIELD_DATA&&n&&(e.haveCellScalars=!0);let c=l.getProperty().getInterpolation()!==za.FLAT?o.getPointData().getNormals():null;c===null&&o.getCellData().getNormals()&&(e.haveCellNormals=!0,c=o.getCellData().getNormals());const u=l.getProperty().getRepresentation();let d=o.getPointData().getTCoords();if(e.openGLActor.getActiveTextures()||(d=null),e.renderable.getColorCoordinates()){d=e.renderable.getColorCoordinates(),e.internalColorTexture||(e.internalColorTexture=Ma.newInstance({resizable:!0}));const v=e.internalColorTexture;v.setMinificationFilter(Ia.NEAREST),v.setMagnificationFilter(Ia.NEAREST),v.setWrapS(Ka.CLAMP_TO_EDGE),v.setWrapT(Ka.CLAMP_TO_EDGE),v.setOpenGLRenderWindow(e._openGLRenderWindow);const h=e.renderable.getColorTextureMap(),T=h.getExtent(),b=h.getPointData().getScalars();v.create2DFromRaw(T[1]-T[0]+1,T[3]-T[2]+1,b.getNumberOfComponents(),b.getDataType(),b.getData()),v.activate(),v.sendParameters(),v.deactivate()}const g=`${o.getMTime()}A${u}B${o.getMTime()}C${c?c.getMTime():1}D${n?n.getMTime():1}E${l.getProperty().getEdgeVisibility()}F${d?d.getMTime():1}`;if(e.VBOBuildString!==g){const h={points:o.getPoints(),normals:c,tcoords:d,colors:n,cellOffset:0,vertexOffset:0,haveCellScalars:e.haveCellScalars,haveCellNormals:e.haveCellNormals,customAttributes:e.renderable.getCustomShaderAttributes().map(w=>o.getPointData().getArrayByName(w))};e.renderable.getPopulateSelectionSettings()&&(e.selectionWebGLIdsToVTKIds={points:null,cells:null});const T=[{inRep:"verts",cells:o.getVerts()},{inRep:"lines",cells:o.getLines()},{inRep:"polys",cells:o.getPolys()},{inRep:"strips",cells:o.getStrips()},{inRep:"polys",cells:o.getPolys()},{inRep:"strips",cells:o.getStrips()}],b=l.getProperty().getEdgeVisibility()&&u===Ut.SURFACE;for(let w=_e.Start;w<_e.End;w++)w!==_e.TrisEdges&&w!==_e.TriStripsEdges?(h.cellOffset+=e.primitives[w].getCABO().createVBO(T[w].cells,T[w].inRep,u,h,e.selectionWebGLIdsToVTKIds),h.vertexOffset+=e.primitives[w].getCABO().getElementCount()):b?e.primitives[w].getCABO().createVBO(T[w].cells,T[w].inRep,Ut.WIREFRAME,{...h,tcoords:null,colors:null,haveCellScalars:!1,haveCellNormals:!1}):e.primitives[w].releaseGraphicsResources();e.renderable.getPopulateSelectionSettings()&&(e.renderable.setSelectionWebGLIdsToVTKIds(e.selectionWebGLIdsToVTKIds),t.updateMaximumPointCellIds()),e.VBOBuildTime.modified(),e.VBOBuildString=g}},t.getAllocatedGPUMemoryInBytes=()=>{let a=0;return e.primitives.forEach(l=>{a+=l.getAllocatedGPUMemoryInBytes()}),a}}const ps={context:null,VBOBuildTime:0,VBOBuildString:null,primitives:null,primTypes:null,shaderRebuildString:null,tmpMat4:null,ambientColor:[],diffuseColor:[],specularColor:[],lightColor:[],lightDirection:[],lastHaveSeenDepthRequest:!1,haveSeenDepthRequest:!1,lastSelectionState:pt.MIN_KNOWN_PASS-1,selectionStateChanged:null,selectionWebGLIdsToVTKIds:null,pointPicking:!1};function vs(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,ps,r),be.extend(t,e,r),pa.implementReplaceShaderCoincidentOffset(t,e,r),pa.implementBuildShadersWithReplacements(t,e,r),e.primitives=[],e.primTypes=_e,e.tmpMat3=Ht(new Float64Array(9)),e.tmpMat4=ze(new Float64Array(16));for(let a=_e.Start;a<_e.End;a++)e.primitives[a]=qt.newInstance(),e.primitives[a].setPrimitiveType(a),e.primitives[a].set({lastLightComplexity:0,lastLightCount:0,lastSelectionPass:!1},!0);ot(t,e,["context"]),e.VBOBuildTime={},kt(e.VBOBuildTime,{mtime:0}),e.selectionStateChanged={},kt(e.selectionStateChanged,{mtime:0}),gs(t,e)}const hs=Le(vs,"vtkOpenGLPolyDataMapper");Xe("vtkMapper",hs);const{ColorMode:ms,ScalarMode:wt,GetArray:ba}=Ur;function Cs(t,e){e.classHierarchy.push("vtkMapper2D"),t.createDefaultLookupTable=()=>{e.lookupTable=Ar.newInstance()},t.getColorModeAsString=()=>z.enumToString(ms,e.colorMode),t.setColorModeToDefault=()=>t.setColorMode(0),t.setColorModeToMapScalars=()=>t.setColorMode(1),t.setColorModeToDirectScalars=()=>t.setColorMode(2),t.getScalarModeAsString=()=>z.enumToString(wt,e.scalarMode),t.setScalarModeToDefault=()=>t.setScalarMode(0),t.setScalarModeToUsePointData=()=>t.setScalarMode(1),t.setScalarModeToUseCellData=()=>t.setScalarMode(2),t.setScalarModeToUsePointFieldData=()=>t.setScalarMode(3),t.setScalarModeToUseCellFieldData=()=>t.setScalarMode(4),t.setScalarModeToUseFieldData=()=>t.setScalarMode(5),t.getAbstractScalars=(r,a,l,o,n)=>{if(!r||!e.scalarVisibility)return{scalars:null,cellFLag:!1};let s=null,c=!1;if(a===wt.DEFAULT)s=r.getPointData().getScalars(),s||(s=r.getCellData().getScalars(),c=!0);else if(a===wt.USE_POINT_DATA)s=r.getPointData().getScalars();else if(a===wt.USE_CELL_DATA)s=r.getCellData().getScalars(),c=!0;else if(a===wt.USE_POINT_FIELD_DATA){const u=r.getPointData();l===ba.BY_ID?s=u.getArrayByIndex(o):s=u.getArrayByName(n)}else if(a===wt.USE_CELL_FIELD_DATA){const u=r.getCellData();c=!0,l===ba.BY_ID?s=u.getArrayByIndex(o):s=u.getArrayByName(n)}else if(a===wt.USE_FIELD_DATA){const u=r.getFieldData();l===ba.BY_ID?s=u.getArrayByIndex(o):s=u.getArrayByName(n)}return{scalars:s,cellFlag:c}},t.getLookupTable=()=>(e.lookupTable||t.createDefaultLookupTable(),e.lookupTable),t.getMTime=()=>{let r=e.mtime;if(e.lookupTable!==null){const a=e.lookupTable.getMTime();r=a>r?a:r}return r},t.mapScalars=(r,a)=>{const l=t.getAbstractScalars(r,e.scalarMode,e.arrayAccessMode,e.arrayId,e.colorByArrayName).scalars;if(!l){e.colorMapColors=null;return}const o=`${t.getMTime()}${l.getMTime()}${a}`;if(e.colorBuildString===o)return;e.useLookupTableScalarRange||t.getLookupTable().setRange(e.scalarRange[0],e.scalarRange[1]);const n=t.getLookupTable();n&&(n.build(),e.colorMapColors=n.mapScalars(l,e.colorMode,e.fieldDataTupleId)),e.colorBuildString=`${t.getMTime()}${l.getMTime()}${a}`},t.getPrimitiveCount=()=>{const r=t.getInputData();return{points:r.getPoints().getNumberOfValues()/3,verts:r.getVerts().getNumberOfValues()-r.getVerts().getNumberOfCells(),lines:r.getLines().getNumberOfValues()-2*r.getLines().getNumberOfCells(),triangles:r.getPolys().getNumberOfValues()-3*r.getPolys().getNumberOfCells()}}}const ys={static:!1,lookupTable:null,scalarVisibility:!1,scalarRange:[0,1],useLookupTableScalarRange:!1,colorMode:0,scalarMode:0,arrayAccessMode:1,renderTime:0,colorByArrayName:null,transformCoordinate:null,viewSpecificProperties:null,customShaderAttributes:[]};function gr(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,ys,r),Br.extend(t,e,r),z.get(t,e,["colorMapColors"]),z.setGet(t,e,["arrayAccessMode","colorByArrayName","colorMode","lookupTable","renderTime","scalarMode","scalarVisibility","static","transformCoordinate","useLookupTableScalarRange","viewSpecificProperties","customShaderAttributes"]),z.setGetArray(t,e,["scalarRange"],2),e.viewSpecificProperties||(e.viewSpecificProperties={}),Cs(t,e)}const xs=z.newInstance(gr,"vtkMapper2D");var _s={newInstance:xs,extend:gr},bs=`//VTK::System::Dec
  124. /*=========================================================================
  125. Program: Visualization Toolkit
  126. Module: vtkPolyData2DFS.glsl
  127. Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
  128. All rights reserved.
  129. See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
  130. This software is distributed WITHOUT ANY WARRANTY; without even
  131. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  132. PURPOSE. See the above copyright notice for more information.
  133. =========================================================================*/
  134. uniform int PrimitiveIDOffset;
  135. // Texture coordinates
  136. //VTK::TCoord::Dec
  137. // Scalar coloring
  138. //VTK::Color::Dec
  139. // Depth Peeling
  140. //VTK::DepthPeeling::Dec
  141. // picking support
  142. //VTK::Picking::Dec
  143. // the output of this shader
  144. //VTK::Output::Dec
  145. // Apple Bug
  146. //VTK::PrimID::Dec
  147. void main()
  148. {
  149. // Apple Bug
  150. //VTK::PrimID::Impl
  151. //VTK::Color::Impl
  152. //VTK::TCoord::Impl
  153. //VTK::DepthPeeling::Impl
  154. //VTK::Picking::Impl
  155. if (gl_FragData[0].a <= 0.0)
  156. {
  157. discard;
  158. }
  159. }
  160. `,Ss=`//VTK::System::Dec
  161. /*=========================================================================
  162. Program: Visualization Toolkit
  163. Module: vtkPolyData2DVS.glsl
  164. Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
  165. All rights reserved.
  166. See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
  167. This software is distributed WITHOUT ANY WARRANTY; without even
  168. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  169. PURPOSE. See the above copyright notice for more information.
  170. =========================================================================*/
  171. // all variables that represent positions or directions have a suffix
  172. // indicating the coordinate system they are in. The possible values are
  173. // MC - Model Coordinates
  174. // WC - WC world coordinates
  175. // VC - View Coordinates
  176. // DC - Display Coordinates
  177. in vec4 vertexWC;
  178. // frag position in VC
  179. //VTK::PositionVC::Dec
  180. // material property values
  181. //VTK::Color::Dec
  182. // Texture coordinates
  183. //VTK::TCoord::Dec
  184. // Apple Bug
  185. //VTK::PrimID::Dec
  186. uniform mat4 WCVCMatrix; // World to view matrix
  187. void main()
  188. {
  189. // Apple Bug
  190. //VTK::PrimID::Impl
  191. gl_Position = WCVCMatrix*vertexWC;
  192. //VTK::TCoord::Impl
  193. //VTK::Color::Impl
  194. //VTK::PositionVC::Impl
  195. }
  196. `;const pr={BACKGROUND:0,FOREGROUND:1};var vr={DisplayLocation:pr};const{primTypes:je}=qt,{ScalarMode:sa}=_s,{vtkErrorMacro:ia}=Ft,Ts={type:"StartEvent"},Vs={type:"EndEvent"};function ws(t,e){e.classHierarchy.push("vtkOpenGLPolyDataMapper2D"),t.buildPass=a=>{a&&(e.openGLActor2D=t.getFirstAncestorOfType("vtkOpenGLActor2D"),e._openGLRenderer=e.openGLActor2D.getFirstAncestorOfType("vtkOpenGLRenderer"),e._openGLRenderWindow=e._openGLRenderer.getParent(),e.openGLCamera=e._openGLRenderer.getViewNodeFor(e._openGLRenderer.getRenderable().getActiveCamera()))},t.overlayPass=a=>{a&&t.render()},t.getShaderTemplate=(a,l,o)=>{a.Vertex=Ss,a.Fragment=bs,a.Geometry=""},t.render=()=>{const a=e._openGLRenderWindow.getContext();if(e.context!==a){e.context=a;for(let n=je.Start;n<je.End;n++)e.primitives[n].setOpenGLRenderWindow(e._openGLRenderWindow)}const l=e.openGLActor2D.getRenderable(),o=e._openGLRenderer.getRenderable();t.renderPiece(o,l)},t.renderPiece=(a,l)=>{if(t.invokeEvent(Ts),e.renderable.getStatic()||e.renderable.update(),e.currentInput=e.renderable.getInputData(),t.invokeEvent(Vs),!e.currentInput){ia("No input!");return}!e.currentInput.getPoints||!e.currentInput.getPoints().getNumberOfValues()||(t.renderPieceStart(a,l),t.renderPieceDraw(a,l),t.renderPieceFinish(a,l))},t.renderPieceStart=(a,l)=>{if(e.primitiveIDOffset=0,e._openGLRenderer.getSelector())switch(e._openGLRenderer.getSelector().getCurrentPass()){default:e._openGLRenderer.getSelector().renderProp(l)}t.updateBufferObjects(a,l),e.lastBoundBO=null},t.getNeedToRebuildShaders=(a,l,o)=>a.getShaderSourceTime().getMTime()<e.renderable.getMTime()||a.getShaderSourceTime().getMTime()<e.currentInput.getMTime(),t.updateBufferObjects=(a,l)=>{t.getNeedToRebuildBufferObjects(a,l)&&t.buildBufferObjects(a,l)},t.getNeedToRebuildBufferObjects=(a,l)=>{const o=e.VBOBuildTime.getMTime();return!!(o<t.getMTime()||o<e._openGLRenderWindow.getMTime()||o<e.renderable.getMTime()||o<l.getMTime()||o<e.currentInput.getMTime()||e.renderable.getTransformCoordinate()&&o<a.getMTime())},t.buildBufferObjects=(a,l)=>{const o=e.currentInput;if(o===null)return;e.renderable.mapScalars(o,l.getProperty().getOpacity());const n=e.renderable.getColorMapColors();e.haveCellScalars=!1;const s=e.renderable.getScalarMode();e.renderable.getScalarVisibility()&&(s===sa.USE_CELL_DATA||s===sa.USE_CELL_FIELD_DATA||s===sa.USE_FIELD_DATA||!o.getPointData().getScalars())&&s!==sa.USE_POINT_FIELD_DATA&&n&&(e.haveCellScalars=!0);const c=l.getProperty().getRepresentation();let u=o.getPointData().getTCoords();e.openGLActor2D.getActiveTextures()||(u=null);const d=e.renderable.getTransformCoordinate(),v=a.getRenderWindow().getViews()[0].getViewportSize(a),h=`${o.getMTime()}A${c}B${o.getMTime()}C${n?n.getMTime():1}D${u?u.getMTime():1}E${d?a.getMTime():1}F${v}`;if(e.VBOBuildString!==h){let T=o.getPoints();if(d){const w=Rr.newInstance(),V=T.getNumberOfPoints();w.setNumberOfPoints(V);const R=[];for(let k=0;k<V;++k){T.getPoint(k,R),d.setValue(R);const A=d.getComputedDoubleViewportValue(a);w.setPoint(k,A[0],A[1],0)}T=w}const b={points:T,tcoords:u,colors:n,cellOffset:0,haveCellScalars:e.haveCellSCalars,customAttributes:e.renderable.getCustomShaderAttributes().map(w=>o.getPointData().getArrayByName(w))};b.cellOffset+=e.primitives[je.Points].getCABO().createVBO(o.getVerts(),"verts",c,b),b.cellOffset+=e.primitives[je.Lines].getCABO().createVBO(o.getLines(),"lines",c,b),b.cellOffset+=e.primitives[je.Tris].getCABO().createVBO(o.getPolys(),"polys",c,b),b.cellOffset+=e.primitives[je.TriStrips].getCABO().createVBO(o.getStrips(),"strips",c,b),e.VBOBuildTime.modified(),e.VBOBuildString=h}},t.renderPieceDraw=(a,l)=>{const o=l.getProperty().getRepresentation();e.context.depthMask(!0);for(let s=je.Start;s<je.End;s++)e.primitives[s].getCABO().getElementCount()&&(e.lastBoundBO=e.primitives[s],e.primitiveIDOffset+=e.primitives[s].drawArrays(a,l,o,t))},t.renderPieceFinish=(a,l)=>{e.lastBoundBO&&e.lastBoundBO.getVAO().release()},t.replaceShaderValues=(a,l,o)=>{t.replaceShaderColor(a,l,o),t.replaceShaderTCoord(a,l,o),t.replaceShaderPicking(a,l,o),t.replaceShaderPositionVC(a,l,o)},t.replaceShaderColor=(a,l,o)=>{let n=a.Vertex,s=a.Geometry,c=a.Fragment;e.haveCellScalars&&(c=D.substitute(c,"//VTK::Color::Dec",["uniform samplerBuffer texture1;"]).result,c=D.substitute(c,"//VTK::Color::Impl",["gl_FragData[0] = texelFetchBuffer(texture1, gl_PrimitiveID + PrimitiveIDOffset);"]).result),e.lastBoundBO.getCABO().getColorComponents()!==0?(n=D.substitute(n,"//VTK::Color::Dec",["in vec4 diffuseColor;","out vec4 fcolorVSOutput;"]).result,n=D.substitute(n,"//VTK::Color::Impl",["fcolorVSOutput = diffuseColor;"]).result,s=D.substitute(s,"//VTK::Color::Dec",[`in vec4 fcolorVSOutput[];
  197. `,"out vec4 fcolorGSOutput;"]).result,s=D.substitute(s,"//VTK::Color::Impl",["fcolorGSOutput = fcolorVSOutput[i];"]).result,c=D.substitute(c,"//VTK::Color::Dec",["in vec4 fcolorVSOutput;"]).result,c=D.substitute(c,"//VTK::Color::Impl",["gl_FragData[0] = fcolorVSOutput;"]).result):(c=D.substitute(c,"//VTK::Color::Dec",["uniform vec4 diffuseColor;"]).result,c=D.substitute(c,"//VTK::Color::Impl",["gl_FragData[0] = diffuseColor;"]).result),a.Vertex=n,a.Geometry=s,a.Fragment=c},t.replaceShaderTCoord=(a,l,o)=>{if(e.lastBoundBO.getCABO().getTCoordOffset()){let n=a.Vertex,s=a.Geometry,c=a.Fragment;const u=e.lastBoundBO.getCABO().getTCoordComponents();u===1?(n=D.substitute(n,"//VTK::TCoord::Dec",["in float tcoordMC;","out float tcoordVCVSOutput;"]).result,n=D.substitute(n,"//VTK::TCoord::Impl",["tcoordVCVSOutput = tcoordMC;"]).result,s=D.substitute(s,"//VTK::TCoord::Dec",[`in float tcoordVCVSOutput[];
  198. `,"out float tcoordVCGSOutput;"]).result,s=D.substitute(s,["//VTK::TCoord::Impl","tcoordVCGSOutput = tcoordVCVSOutput[i];"]).result,c=D.substitute(c,"//VTK::TCoord::Dec",["in float tcoordVCVSOutput;","uniform sampler2D texture1;"]).result,c=D.substitute(c,"//VTK::TCoord::Impl",["gl_FragData[0] = gl_FragData[0]*texture2D(texture1, vec2(tcoordVCVSOutput,0));"]).result):u===2&&(n=D.substitute(n,"//VTK::TCoord::Dec",["in vec2 tcoordMC;","out vec2 tcoordVCVSOutput;"]).result,n=D.substitute(n,"//VTK::TCoord::Impl",["tcoordVCVSOutput = tcoordMC;"]).result,s=D.substitute(s,"//VTK::TCoord::Dec",[`in vec2 tcoordVCVSOutput[];
  199. `,"out vec2 tcoordVCGSOutput;"]).result,s=D.substitute(s,"//VTK::TCoord::Impl",["tcoordVCGSOutput = tcoordVCVSOutput[i];"]).result,c=D.substitute(c,"//VTK::TCoord::Dec",["in vec2 tcoordVCVSOutput;","uniform sampler2D texture1;"]).result,c=D.substitute(c,"//VTK::TCoord::Impl",["gl_FragData[0] = gl_FragData[0]*texture2D(texture1, tcoordVCVSOutput.st);"]).result),e.haveCellScalars&&(s=D.substitute(s,"//VTK::PrimID::Impl",["gl_PrimitiveID = gl_PrimitiveIDIn;"]).result),a.Vertex=n,a.Geometry=s,a.Fragment=c}},t.replaceShaderPicking=(a,l,o)=>{let n=a.Fragment;n=D.substitute(n,"//VTK::Picking::Dec",["uniform vec3 mapperIndex;","uniform int picking;"]).result,n=D.substitute(n,"//VTK::Picking::Impl"," gl_FragData[0] = picking != 0 ? vec4(mapperIndex,1.0) : gl_FragData[0];").result,a.Fragment=n},t.replaceShaderPositionVC=(a,l,o)=>{e.lastBoundBO.replaceShaderPositionVC(a,l,o)},t.invokeShaderCallbacks=(a,l,o)=>{const n=e.renderable.getViewSpecificProperties().ShadersCallbacks;n&&n.forEach(s=>{s.callback(s.userData,a,l,o)})},t.setMapperShaderParameters=(a,l,o)=>{if(a.getProgram().isUniformUsed("PrimitiveIDOffset")&&a.getProgram().setUniformi("PrimitiveIDOffset",e.primitiveIDOffset),a.getProgram().isAttributeUsed("vertexWC")&&(a.getVAO().addAttributeArray(a.getProgram(),a.getCABO(),"vertexWC",a.getCABO().getVertexOffset(),a.getCABO().getStride(),e.context.FLOAT,3,!1)||ia("Error setting vertexWC in shader VAO.")),a.getCABO().getElementCount()&&(e.VBOBuildTime.getMTime()>a.getAttributeUpdateTime().getMTime()||a.getShaderSourceTime().getMTime()>a.getAttributeUpdateTime().getMTime())){e.renderable.getCustomShaderAttributes().forEach((c,u)=>{a.getProgram().isAttributeUsed(`${c}MC`)&&(a.getVAO().addAttributeArray(a.getProgram(),a.getCABO(),`${c}MC`,a.getCABO().getCustomData()[u].offset,a.getCABO().getStride(),e.context.FLOAT,a.getCABO().getCustomData()[u].components,!1)||ia(`Error setting ${c}MC in shader VAO.`))}),a.getProgram().isAttributeUsed("tcoordMC")&&a.getCABO().getTCoordOffset()?a.getVAO().addAttributeArray(a.getProgram(),a.getCABO(),"tcoordMC",a.getCABO().getTCoordOffset(),a.getCABO().getStride(),e.context.FLOAT,a.getCABO().getTCoordComponents(),!1)||ia("Error setting tcoordMC in shader VAO."):a.getVAO().removeAttributeArray("tcoordMC"),e.internalColorTexture&&a.getProgram().isUniformUsed("texture1")&&a.getProgram().setUniformi("texture1",e.internalColorTexture.getTextureUnit());const n=e.openGLActor2D.getActiveTextures();if(n)for(let c=0;c<n.length;++c){const d=n[c].getTextureUnit(),g=`texture${d+1}`;a.getProgram().isUniformUsed(g)&&a.getProgram().setUniformi(g,d)}a.setMapperShaderParameters(l,o,e._openGLRenderer.getTiledSizeAndOrigin());const s=e._openGLRenderer.getSelector();a.getProgram().setUniform3fArray("mapperIndex",s?s.getPropColorValue():[0,0,0]),a.getProgram().setUniformi("picking",s?s.getCurrentPass()+1:0)}},t.setPropertyShaderParameters=(a,l,o)=>{const n=e.renderable.getColorMapColors();if(!n||n.getNumberOfComponents()===0){const s=a.getProgram(),c=o.getProperty(),u=c.getOpacity(),d=c.getColor(),g=[d[0],d[1],d[2],u];s.setUniform4f("diffuseColor",g)}},t.setLightingShaderParameters=(a,l,o)=>{};function r(a,l,o){return l.identity(o),a.reduce((n,s,c)=>c===0?s?l.copy(n,s):l.identity(n):s?l.multiply(n,n,s):n,o)}t.setCameraShaderParameters=(a,l,o)=>{const n=a.getProgram(),c=a.getCABO().getCoordShiftAndScaleEnabled()?a.getCABO().getInverseShiftAndScaleMatrix():null,d=l.getRenderWindow().getViews()[0].getViewportSize(l),g=l.getViewport(),v=o.getActualPositionCoordinate().getComputedDoubleViewportValue(l),h=[0,0,1,1],T=[0,0,1,1];if(T[0]=g[0]>=h[0]?g[0]:h[0],T[1]=g[1]>=h[1]?g[1]:h[1],T[2]=g[2]<=h[2]?g[2]:h[2],T[3]=g[3]<=h[3]?g[3]:h[3],T[0]>=T[2]||T[1]>=T[3])return;d[0]=ea(d[0]*(T[2]-T[0])/(g[2]-g[0])),d[1]=ea(d[1]*(T[3]-T[1])/(g[3]-g[1]));const b=e._openGLRenderer.getParent().getSize(),w=ea(v[0]-(T[0]-g[0])*b[0]),V=ea(v[1]-(T[1]-g[1])*b[1]),R=-w;let k=-w+d[0];const A=-V;let F=-V+d[1];R===k&&(k=R+1),A===F&&(F=A+1);const E=ze(new Float64Array(16));E[0]=2/(k-R),E[1*4+1]=2/(F-A),E[0*4+3]=-1*(k+R)/(k-R),E[1*4+3]=-1*(F+A)/(F-A),E[2*4+2]=0,E[2*4+3]=o.getProperty().getDisplayLocation()===pr.FOREGROUND?-1:1,E[3*4+3]=1,Ee(E,E),n.setUniformMatrix("WCVCMatrix",r([E,c],Sa,e.tmpMat4))},t.getAllocatedGPUMemoryInBytes=()=>{let a=0;return e.primitives.forEach(l=>{a+=l.getAllocatedGPUMemoryInBytes()}),a}}const Ds={context:null,VBOBuildTime:0,VBOBuildString:null,primitives:null,primTypes:null,shaderRebuildString:null};function Ms(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Ds,r),be.extend(t,e,r),pa.implementReplaceShaderCoincidentOffset(t,e,r),pa.implementBuildShadersWithReplacements(t,e,r),e.primitives=[],e.primTypes=je,e.tmpMat4=ze(new Float64Array(16));for(let a=je.Start;a<je.End;a++)e.primitives[a]=qt.newInstance(),e.primitives[a].setPrimitiveType(a),e.primitives[a].set({lastLightComplexity:0,lastLightCount:0,lastSelectionPass:!1},!0);ot(t,e,["context"]),e.VBOBuildTime={},kt(e.VBOBuildTime,{mtime:0}),ws(t,e)}const ks=Le(Ms,"vtkOpenGLPolyDataMapper2D");Xe("vtkMapper2D",ks);function Os(t,e){e.classHierarchy.push("vtkOpenGLScalarBarActor"),t.buildPass=r=>{r&&(e._openGLRenderer=t.getFirstAncestorOfType("vtkOpenGLRenderer"),e._openGLRenderWindow=e._openGLRenderer.getParent(),e.scalarBarActorHelper.getRenderable()||e.scalarBarActorHelper.setRenderable(e.renderable),t.prepareNodes(),t.addMissingNode(e.scalarBarActorHelper.getBarActor()),t.addMissingNode(e.scalarBarActorHelper.getTmActor()),t.removeUnusedNodes())},t.opaquePass=(r,a)=>{if(r){const l=e._openGLRenderer?e._openGLRenderer.getRenderable().getActiveCamera():null,o=e._openGLRenderer.getTiledSizeAndOrigin();e.scalarBarActorHelper.updateAPISpecificData([o.usize,o.vsize],l,e._openGLRenderWindow.getRenderable())}}}const Ls={};function Bs(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Ls,r),be.extend(t,e,r),e.scalarBarActorHelper=ka.newScalarBarActorHelper(),Os(t,e)}const As=Le(Bs,"vtkOpenGLScalarBarActor");Xe("vtkScalarBarActor",As);const{vtkErrorMacro:ja}=Ft;function Us(t,e){e.classHierarchy.push("vtkOpenGLSkybox"),t.buildPass=r=>{if(r){e._openGLRenderer=t.getFirstAncestorOfType("vtkOpenGLRenderer"),e._openGLRenderWindow=e._openGLRenderer.getParent(),e.context=e._openGLRenderWindow.getContext(),e.tris.setOpenGLRenderWindow(e._openGLRenderWindow),e.openGLTexture.setOpenGLRenderWindow(e._openGLRenderWindow);const a=e._openGLRenderer.getRenderable();e.openGLCamera=e._openGLRenderer.getViewNodeFor(a.getActiveCamera())}},t.queryPass=(r,a)=>{if(r){if(!e.renderable||!e.renderable.getVisibility())return;a.incrementOpaqueActorCount()}},t.opaquePass=(r,a)=>{if(r&&!e._openGLRenderer.getSelector()){t.updateBufferObjects(),e.context.depthMask(!0),e._openGLRenderWindow.getShaderCache().readyShaderProgram(e.tris.getProgram()),e.openGLTexture.render(e._openGLRenderWindow);const l=e.openGLTexture.getTextureUnit();e.tris.getProgram().setUniformi("sbtexture",l);const o=e._openGLRenderer.getRenderable(),n=e.openGLCamera.getKeyMatrices(o),s=new Float64Array(16);if(zt(s,n.wcpc),e.tris.getProgram().setUniformMatrix("IMCPCMatrix",s),e.lastFormat==="box"){const c=o.getActiveCamera().getPosition();e.tris.getProgram().setUniform3f("camPos",c[0],c[1],c[2])}e.tris.getVAO().bind(),e.context.drawArrays(e.context.TRIANGLES,0,e.tris.getCABO().getElementCount()),e.tris.getVAO().release(),e.openGLTexture.deactivate()}},t.updateBufferObjects=()=>{if(!e.tris.getCABO().getElementCount()){const a=new Float32Array(12);for(let s=0;s<4;s++)a[s*3]=s%2*2-1,a[s*3+1]=s>1?1:-1,a[s*3+2]=1;const l=It.newInstance({numberOfComponents:3,values:a});l.setName("points");const o=new Uint16Array(8);o[0]=3,o[1]=0,o[2]=1,o[3]=3,o[4]=3,o[5]=0,o[6]=3,o[7]=2;const n=It.newInstance({numberOfComponents:1,values:o});e.tris.getCABO().createVBO(n,"polys",nt.SURFACE,{points:l,cellOffset:0})}e.renderable.getFormat()!==e.lastFormat&&(e.lastFormat=e.renderable.getFormat(),e.lastFormat==="box"&&e.tris.setProgram(e._openGLRenderWindow.getShaderCache().readyShaderProgramArray(`//VTK::System::Dec
  200. attribute vec3 vertexMC;
  201. uniform mat4 IMCPCMatrix;
  202. varying vec3 TexCoords;
  203. void main () {
  204. gl_Position = vec4(vertexMC.xyz, 1.0);
  205. vec4 wpos = IMCPCMatrix * gl_Position;
  206. TexCoords = wpos.xyz/wpos.w;
  207. }`,`//VTK::System::Dec
  208. //VTK::Output::Dec
  209. varying vec3 TexCoords;
  210. uniform samplerCube sbtexture;
  211. uniform vec3 camPos;
  212. void main () {
  213. // skybox looks from inside out
  214. // which means we have to adjust
  215. // our tcoords. Otherwise text would
  216. // be flipped
  217. vec3 tc = normalize(TexCoords - camPos);
  218. if (abs(tc.z) < max(abs(tc.x),abs(tc.y)))
  219. {
  220. tc = vec3(1.0, 1.0, -1.0) * tc;
  221. }
  222. else
  223. {
  224. tc = vec3(-1.0, 1.0, 1.0) * tc;
  225. }
  226. gl_FragData[0] = textureCube(sbtexture, tc);
  227. }`,"")),e.lastFormat==="background"&&e.tris.setProgram(e._openGLRenderWindow.getShaderCache().readyShaderProgramArray(`//VTK::System::Dec
  228. attribute vec3 vertexMC;
  229. uniform mat4 IMCPCMatrix;
  230. varying vec2 TexCoords;
  231. void main () {
  232. gl_Position = vec4(vertexMC.xyz, 1.0);
  233. vec4 wpos = IMCPCMatrix * gl_Position;
  234. TexCoords = vec2(vertexMC.x, vertexMC.y)*0.5 + 0.5;
  235. }`,`//VTK::System::Dec
  236. //VTK::Output::Dec
  237. varying vec2 TexCoords;
  238. uniform sampler2D sbtexture;
  239. void main () {
  240. gl_FragData[0] = texture2D(sbtexture, TexCoords);
  241. }`,"")),e.tris.getShaderSourceTime().modified(),e.tris.getVAO().bind(),e.tris.getVAO().addAttributeArray(e.tris.getProgram(),e.tris.getCABO(),"vertexMC",e.tris.getCABO().getVertexOffset(),e.tris.getCABO().getStride(),e.context.FLOAT,3,e.context.FALSE)||ja("Error setting vertexMC in shader VAO."));const r=e.renderable.getTextures();r.length||ja("vtkSkybox requires a texture map"),e.openGLTexture.getRenderable()!==r[0]&&(e.openGLTexture.releaseGraphicsResources(e._openGLRenderWindow),e.openGLTexture.setRenderable(r[0]))}}const Rs={context:null};function Fs(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Rs,r),be.extend(t,e,r),e.openGLTexture=Ma.newInstance(),e.tris=qt.newInstance(),e.keyMatrixTime={},kt(e.keyMatrixTime,{mtime:0}),e.keyMatrices={normalMatrix:Ht(new Float64Array(9)),mcwc:ze(new Float64Array(16))},ot(t,e,["context"]),jt(t,e,["activeTextures"]),Us(t,e)}const Ps=Le(Fs);Xe("vtkSkybox",Ps);const{vtkDebugMacro:Es}=Ft;function Gs(t,e){e.classHierarchy.push("vtkOpenGLPixelSpaceCallbackMapper"),t.opaquePass=(r,a)=>{e._openGLRenderer=t.getFirstAncestorOfType("vtkOpenGLRenderer"),e._openGLRenderWindow=e._openGLRenderer.getParent();const l=e._openGLRenderer.getAspectRatio(),o=e._openGLRenderer?e._openGLRenderer.getRenderable().getActiveCamera():null,n=e._openGLRenderer.getTiledSizeAndOrigin();let s=null;if(e.renderable.getUseZValues()){const c=a.getZBufferTexture(),u=Math.floor(c.getWidth()),d=Math.floor(c.getHeight()),g=e._openGLRenderWindow.getContext();c.bind();const v=a.getFramebuffer();v?v.saveCurrentBindingsAndBuffers():Es("No framebuffer to save/restore");const h=g.createFramebuffer();g.bindFramebuffer(g.FRAMEBUFFER,h),g.framebufferTexture2D(g.FRAMEBUFFER,g.COLOR_ATTACHMENT0,g.TEXTURE_2D,c.getHandle(),0),g.checkFramebufferStatus(g.FRAMEBUFFER)===g.FRAMEBUFFER_COMPLETE&&(s=new Uint8Array(u*d*4),g.viewport(0,0,u,d),g.readPixels(0,0,u,d,g.RGBA,g.UNSIGNED_BYTE,s)),v&&v.restorePreviousBindingsAndBuffers(),g.deleteFramebuffer(h)}e.renderable.invokeCallback(e.renderable.getInputData(),o,l,n,s)},t.queryPass=(r,a)=>{r&&e.renderable.getUseZValues()&&a.requestDepth()}}const $s={};function Ns(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,$s,r),be.extend(t,e,r),Gs(t,e)}const Ws=Le(Ns,"vtkOpenGLPixelSpaceCallbackMapper");Xe("vtkPixelSpaceCallbackMapper",Ws);function zs(t,e){e.classHierarchy.push("vtkWebGPUCamera"),t.getProjectionMatrix=(r,a,l,o)=>{if(ze(r),e.renderable.getParallelProjection()){const n=e.renderable.getParallelScale(),s=n*a,c=n,u=(o[0]-1)*s,d=(o[0]+1)*s,g=(o[1]-1)*c,v=(o[1]+1)*c,h=1/(d-u),T=1/(v-g);r[0]=2*h,r[5]=2*T,r[10]=1/(l[1]-l[0]),r[12]=(d+u)*h,r[13]=(v+g)*T,r[14]=l[1]/(l[1]-l[0])}else{const n=Math.tan(Math.PI*e.renderable.getViewAngle()/360);let s,c;e.renderable.getUseHorizontalViewAngle()===!0?(s=l[0]*n,c=l[0]*n/a):(s=l[0]*n*a,c=l[0]*n);const u=(o[0]-1)*s,d=(o[0]+1)*s,g=(o[1]-1)*c,v=(o[1]+1)*c;r[0]=2*l[0]/(d-u),r[5]=2*l[0]/(v-g),r[12]=(u+d)/(d-u),r[13]=(g+v)/(v-g),r[10]=0,r[14]=l[0],r[11]=-1,r[15]=0}},t.convertToOpenGLDepth=r=>{if(e.renderable.getParallelProjection())return 1-r;const a=e.renderable.getClippingRangeByReference();let l=-a[0]/r;return l=(a[0]+a[1])/(a[1]-a[0])+2*a[0]*a[1]/(l*(a[1]-a[0])),.5*l+.5},t.getKeyMatrices=r=>{const a=r.getRenderable(),l=r.getParent();if(Math.max(l.getMTime(),t.getMTime(),a.getMTime(),e.renderable.getMTime(),r.getStabilizedTime())>e.keyMatrixTime.getMTime()){const o=e.renderable.getViewMatrix();Ct(e.keyMatrices.normalMatrix,o),e.keyMatrices.normalMatrix[3]=0,e.keyMatrices.normalMatrix[7]=0,e.keyMatrices.normalMatrix[11]=0,zt(e.keyMatrices.normalMatrix,e.keyMatrices.normalMatrix),Ee(e.keyMatrices.wcvc,o);const n=r.getStabilizedCenterByReference();Kt(e.keyMatrices.scvc,e.keyMatrices.wcvc,n);const s=r.getAspectRatio(),c=e.renderable.getClippingRangeByReference();t.getProjectionMatrix(e.keyMatrices.vcpc,s,c,e.renderable.getWindowCenterByReference()),fa(e.keyMatrices.scpc,e.keyMatrices.vcpc,e.keyMatrices.scvc),zt(e.keyMatrices.pcsc,e.keyMatrices.scpc),e.keyMatrixTime.modified()}return e.keyMatrices}}const Is={keyMatrixTime:null,keyMatrices:null};function Ks(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Is,r),be.extend(t,e,r),e.keyMatrixTime={},z.obj(e.keyMatrixTime),e.keyMatrices={normalMatrix:new Float64Array(16),vcpc:new Float64Array(16),pcsc:new Float64Array(16),wcvc:new Float64Array(16),scpc:new Float64Array(16),scvc:new Float64Array(16)},z.setGet(t,e,["keyMatrixTime"]),zs(t,e)}const js=z.newInstance(Ks);lt("vtkCamera",js);const{vtkDebugMacro:Hs}=Ft,Ha=`
  242. //VTK::Renderer::Dec
  243. //VTK::Mapper::Dec
  244. //VTK::TCoord::Dec
  245. //VTK::RenderEncoder::Dec
  246. //VTK::IOStructs::Dec
  247. @fragment
  248. fn main(
  249. //VTK::IOStructs::Input
  250. )
  251. //VTK::IOStructs::Output
  252. {
  253. var output: fragmentOutput;
  254. var computedColor: vec4<f32> = mapperUBO.BackgroundColor;
  255. //VTK::RenderEncoder::Impl
  256. return output;
  257. }
  258. `,qs=`
  259. fn vecToRectCoord(dir: vec3<f32>) -> vec2<f32> {
  260. var tau: f32 = 6.28318530718;
  261. var pi: f32 = 3.14159265359;
  262. var out: vec2<f32> = vec2<f32>(0.0);
  263. out.x = atan2(dir.z, dir.x) / tau;
  264. out.x += 0.5;
  265. var phix: f32 = length(vec2(dir.x, dir.z));
  266. out.y = atan2(dir.y, phix) / pi + 0.5;
  267. return out;
  268. }
  269. //VTK::Renderer::Dec
  270. //VTK::Mapper::Dec
  271. //VTK::TCoord::Dec
  272. //VTK::RenderEncoder::Dec
  273. //VTK::IOStructs::Dec
  274. @fragment
  275. fn main(
  276. //VTK::IOStructs::Input
  277. )
  278. //VTK::IOStructs::Output
  279. {
  280. var output: fragmentOutput;
  281. var tcoord: vec4<f32> = vec4<f32>(input.vertexVC.xy, -1, 1);
  282. var V: vec4<f32> = normalize(mapperUBO.FSQMatrix * tcoord); // vec2<f32>((input.tcoordVS.x - 0.5) * 2, -(input.tcoordVS.y - 0.5) * 2);
  283. // textureSampleLevel gets rid of some ugly artifacts
  284. var background = textureSampleLevel(EnvironmentTexture, EnvironmentTextureSampler, vecToRectCoord(V.xyz), 0.0);
  285. var computedColor: vec4<f32> = vec4<f32>(background.rgb, 1);
  286. //VTK::RenderEncoder::Impl
  287. return output;
  288. }
  289. `,oa=new Float64Array(16),qa=new Float64Array(16);function Js(t){return t.getPositional()?t.getConeAngle()>=90?0:2:1}function Qs(t,e){e.classHierarchy.push("vtkWebGPURenderer"),t.buildPass=r=>{if(r){if(!e.renderable)return;e.camera=e.renderable.getActiveCamera(),t.updateLights(),t.prepareNodes(),t.addMissingNode(e.camera),t.addMissingNodes(e.renderable.getViewPropsWithNestedProps()),t.removeUnusedNodes(),e.webgpuCamera=t.getViewNodeFor(e.camera),t.updateStabilizedMatrix()}},t.updateStabilizedMatrix=()=>{const r=e.camera.getClippingRange(),a=e.camera.getPositionByReference(),l=e.camera.getDirectionOfProjectionByReference(),o=[],n=[];gt(n,l,.5*(r[0]+r[1])),Nt(o,a,n),Gr(n,o,e.stabilizedCenter),$r(n)/(r[1]-r[0])>e.recenterThreshold&&(e.stabilizedCenter=o,e.stabilizedTime.modified())},t.updateLights=()=>{let r=0;const a=e.renderable.getLightsByReference();for(let l=0;l<a.length;++l)a[l].getSwitch()>0&&r++;return r||(Hs("No lights are on, creating one."),e.renderable.createLight()),r},t.updateUBO=()=>{var a;const r=e.UBO.getSendTime();if(e._parent.getMTime()>r||t.getMTime()>r||e.camera.getMTime()>r||e.renderable.getMTime()>r){const l=e.webgpuCamera.getKeyMatrices(t);e.UBO.setArray("WCVCMatrix",l.wcvc),e.UBO.setArray("SCPCMatrix",l.scpc),e.UBO.setArray("PCSCMatrix",l.pcsc),e.UBO.setArray("SCVCMatrix",l.scvc),e.UBO.setArray("VCPCMatrix",l.vcpc),e.UBO.setArray("WCVCNormals",l.normalMatrix),e.UBO.setValue("LightCount",e.renderable.getLights().length),e.UBO.setValue("MaxEnvironmentMipLevel",(a=e.renderable.getEnvironmentTexture())==null?void 0:a.getMipLevel()),e.UBO.setValue("BackgroundDiffuseStrength",e.renderable.getEnvironmentTextureDiffuseStrength()),e.UBO.setValue("BackgroundSpecularStrength",e.renderable.getEnvironmentTextureSpecularStrength());const o=t.getYInvertedTiledSizeAndOrigin();e.UBO.setArray("viewportSize",[o.usize,o.vsize]),e.UBO.setValue("cameraParallel",e.camera.getParallelProjection());const n=e._parent.getDevice();e.UBO.sendIfNeeded(n)}},t.updateSSBO=()=>{const r=e.renderable.getLights(),a=e.webgpuCamera.getKeyMatrices(t);let l=`${e.renderable.getMTime()}`;for(let o=0;o<r.length;o++)l+=r[o].getMTime();if(l!==e.lightTimeString){const o=new Float32Array(r.length*4),n=new Float32Array(r.length*4),s=new Float32Array(r.length*4),c=new Float32Array(r.length*4);for(let d=0;d<r.length;d++){const g=d*4,v=r[d].getPosition();at(v,v,a.wcvc),o[g]=v[0],o[g+1]=v[1],o[g+2]=v[2],o[g+3]=0,n[g]=-r[d].getDirection()[0],n[g+1]=-r[d].getDirection()[1],n[g+2]=-r[d].getDirection()[2],n[g+3]=0,s[g]=r[d].getColor()[0],s[g+1]=r[d].getColor()[1],s[g+2]=r[d].getColor()[2],s[g+3]=r[d].getIntensity()*5,c[g]=Js(r[d]),c[g+1]=Math.cos(Ua(r[d].getConeAngle())),c[g+2]=Math.cos(Ua(r[d].getConeAngle()+r[d].getConeFalloff())),c[g+3]=0}e.SSBO.clearData(),e.SSBO.setNumberOfInstances(r.length),e.SSBO.addEntry("LightPos","vec4<f32>"),e.SSBO.addEntry("LightDir","vec4<f32>"),e.SSBO.addEntry("LightColor","vec4<f32>"),e.SSBO.addEntry("LightData","vec4<f32>"),e.SSBO.setAllInstancesFromArray("LightPos",o),e.SSBO.setAllInstancesFromArray("LightDir",n),e.SSBO.setAllInstancesFromArray("LightColor",s),e.SSBO.setAllInstancesFromArray("LightData",c);const u=e._parent.getDevice();e.SSBO.send(u)}e.lightTimeString=l},t.scissorAndViewport=r=>{const a=t.getYInvertedTiledSizeAndOrigin();r.getHandle().setViewport(a.lowerLeftU,a.lowerLeftV,a.usize,a.vsize,0,1),r.getHandle().setScissorRect(a.lowerLeftU,a.lowerLeftV,a.usize,a.vsize)},t.bindUBO=r=>{r.activateBindGroup(e.bindGroup)},t.opaquePass=r=>{r?(e.renderEncoder.begin(e._parent.getCommandEncoder()),t.updateUBO(),t.updateSSBO()):(t.scissorAndViewport(e.renderEncoder),t.clear(),e.renderEncoder.end())},t.clear=()=>{var o;if(e.renderable.getTransparent()||e.suppressClear)return;const r=e._parent.getDevice();if(!e.clearFSQ){e.clearFSQ=Ra.newInstance(),e.clearFSQ.setDevice(r),e.clearFSQ.setPipelineHash("clearfsq"),e.clearFSQ.setFragmentShaderTemplate(Ha);const n=Wt.newInstance({label:"mapperUBO"});n.addEntry("FSQMatrix","mat4x4<f32>"),n.addEntry("BackgroundColor","vec4<f32>"),e.clearFSQ.setUBO(n),e.backgroundTex=e.renderable.getEnvironmentTexture()}if(e.clearFSQ.getPipelineHash()!=="clearfsqwithtexture"&&e.renderable.getUseEnvironmentTextureAsBackground()&&((o=e.backgroundTex)!=null&&o.getImageLoaded())){e.clearFSQ.setFragmentShaderTemplate(qs);const n=Wt.newInstance({label:"mapperUBO"});n.addEntry("FSQMatrix","mat4x4<f32>"),n.addEntry("BackgroundColor","vec4<f32>"),e.clearFSQ.setUBO(n);const s=r.getTextureManager().getTextureForVTKTexture(e.backgroundTex);if(s.getReady()){const c=s.createView("EnvironmentTexture");e.clearFSQ.setTextureViews([c]),e.backgroundTexLoaded=!0;const u=e.backgroundTex.getInterpolate()?"linear":"nearest";c.addSampler(r,{addressModeU:"repeat",addressModeV:"clamp-to-edge",addressModeW:"repeat",minFilter:u,magFilter:u,mipmapFilter:"linear"})}e.clearFSQ.setPipelineHash("clearfsqwithtexture")}else if(e.clearFSQ.getPipelineHash()==="clearfsqwithtexture"&&!e.renderable.getUseEnvironmentTextureAsBackground()){e.clearFSQ=Ra.newInstance(),e.clearFSQ.setDevice(r),e.clearFSQ.setPipelineHash("clearfsq"),e.clearFSQ.setFragmentShaderTemplate(Ha);const n=Wt.newInstance({label:"mapperUBO"});n.addEntry("FSQMatrix","mat4x4<f32>"),n.addEntry("BackgroundColor","vec4<f32>"),e.clearFSQ.setUBO(n)}const a=e.webgpuCamera.getKeyMatrices(t),l=e.renderable.getBackgroundByReference();e.clearFSQ.getUBO().setArray("BackgroundColor",l),Ee(qa,a.normalMatrix),Fa(oa,a.scvc,a.pcsc),Fa(oa,qa,oa),e.clearFSQ.getUBO().setArray("FSQMatrix",oa),e.clearFSQ.getUBO().sendIfNeeded(r),e.clearFSQ.prepareAndDraw(e.renderEncoder)},t.translucentPass=r=>{r?e.renderEncoder.begin(e._parent.getCommandEncoder()):(t.scissorAndViewport(e.renderEncoder),e.renderEncoder.end())},t.volumeDepthRangePass=r=>{r?e.renderEncoder.begin(e._parent.getCommandEncoder()):(t.scissorAndViewport(e.renderEncoder),e.renderEncoder.end())},t.getAspectRatio=()=>{const r=e._parent.getSizeByReference(),a=e.renderable.getViewportByReference();return r[0]*(a[2]-a[0])/((a[3]-a[1])*r[1])},t.convertToOpenGLDepth=r=>e.webgpuCamera.convertToOpenGLDepth(r),t.getYInvertedTiledSizeAndOrigin=()=>{const r=t.getTiledSizeAndOrigin(),a=e._parent.getSizeByReference();return r.lowerLeftV=a[1]-r.vsize-r.lowerLeftV,r},t.getTiledSizeAndOrigin=()=>{const r=e.renderable.getViewportByReference(),a=[0,0,1,1],l=r[0]-a[0],o=r[1]-a[1],n=e._parent.normalizedDisplayToDisplay(l,o),s=Math.round(n[0]),c=Math.round(n[1]),u=r[2]-a[0],d=r[3]-a[1],g=e._parent.normalizedDisplayToDisplay(u,d);let v=Math.round(g[0])-s,h=Math.round(g[1])-c;return v<0&&(v=0),h<0&&(h=0),{usize:v,vsize:h,lowerLeftU:s,lowerLeftV:c}},t.getPropFromID=r=>{for(let a=0;a<e.children.length;a++)if((e.children[a].getPropID?e.children[a].getPropID():-1)===r)return e.children[a];return null},t.getStabilizedTime=()=>e.stabilizedTime.getMTime(),t.releaseGraphicsResources=()=>{e.selector!==null&&e.selector.releaseGraphicsResources()}}const Ys={bindGroup:null,selector:null,renderEncoder:null,recenterThreshold:20,suppressClear:!1,stabilizedCenter:[0,0,0]};function Xs(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Ys,r),be.extend(t,e,r),e.UBO=Wt.newInstance({label:"rendererUBO"}),e.UBO.addEntry("WCVCMatrix","mat4x4<f32>"),e.UBO.addEntry("SCPCMatrix","mat4x4<f32>"),e.UBO.addEntry("PCSCMatrix","mat4x4<f32>"),e.UBO.addEntry("SCVCMatrix","mat4x4<f32>"),e.UBO.addEntry("VCPCMatrix","mat4x4<f32>"),e.UBO.addEntry("WCVCNormals","mat4x4<f32>"),e.UBO.addEntry("viewportSize","vec2<f32>"),e.UBO.addEntry("LightCount","i32"),e.UBO.addEntry("MaxEnvironmentMipLevel","f32"),e.UBO.addEntry("BackgroundDiffuseStrength","f32"),e.UBO.addEntry("BackgroundSpecularStrength","f32"),e.UBO.addEntry("cameraParallel","u32"),e.SSBO=Fr.newInstance({label:"rendererLightSSBO"}),e.lightTimeString="",e.bindGroup=Pr.newInstance({label:"rendererBG"}),e.bindGroup.setBindables([e.UBO,e.SSBO]),e.tmpMat4=ze(new Float64Array(16)),e.stabilizedTime={},kt(e.stabilizedTime,{mtime:0}),jt(t,e,["bindGroup","stabilizedTime"]),Er(t,e,["stabilizedCenter"]),ot(t,e,["renderEncoder","selector","suppressClear","UBO"]),Qs(t,e)}const Zs=Le(Xs,"vtkWebGPURenderer");lt("vtkRenderer",Zs);const{CoordinateSystem:Ja}=ha;function ei(t,e){e.classHierarchy.push("vtkWebGPUActor"),t.buildPass=r=>{r&&(e.WebGPURenderer=t.getFirstAncestorOfType("vtkWebGPURenderer"),e.WebGPURenderWindow=e.WebGPURenderer.getFirstAncestorOfType("vtkWebGPURenderWindow"),e.propID===void 0&&(e.propID=e.WebGPURenderWindow.getUniquePropID()),t.prepareNodes(),t.addMissingNode(e.renderable.getMapper()),t.removeUnusedNodes())},t.traverseOpaquePass=r=>{!e.renderable||!e.renderable.getNestedVisibility()||!e.renderable.getIsOpaque()||e.WebGPURenderer.getSelector()&&!e.renderable.getNestedPickable()||(t.apply(r,!0),e.children[0]&&e.children[0].traverse(r),t.apply(r,!1))},t.traverseTranslucentPass=r=>{!e.renderable||!e.renderable.getNestedVisibility()||e.renderable.getIsOpaque()||e.WebGPURenderer.getSelector()&&!e.renderable.getNestedPickable()||(t.apply(r,!0),e.children[0]&&e.children[0].traverse(r),t.apply(r,!1))},t.queryPass=(r,a)=>{if(r){if(!e.renderable||!e.renderable.getVisibility())return;e.renderable.getIsOpaque()?a.incrementOpaqueActorCount():a.incrementTranslucentActorCount()}},t.getBufferShift=r=>(t.getKeyMatrices(r),e.bufferShift),t.getKeyMatrices=r=>{if(Math.max(e.renderable.getMTime(),r.getStabilizedTime())>e.keyMatricesTime.getMTime()){e.renderable.computeMatrix();const a=e.renderable.getMatrix();e.bufferShift[0]=a[3],e.bufferShift[1]=a[7],e.bufferShift[2]=a[11];const l=r.getStabilizedCenterByReference();e.renderable.getCoordinateSystem()===Ja.WORLD&&(e.bufferShift[0]-=l[0],e.bufferShift[1]-=l[1],e.bufferShift[2]-=l[2]),Ee(e.keyMatrices.bcwc,a),e.renderable.getIsIdentity()?ze(e.keyMatrices.normalMatrix):(Ct(e.keyMatrices.normalMatrix,e.keyMatrices.bcwc),e.keyMatrices.normalMatrix[3]=0,e.keyMatrices.normalMatrix[7]=0,e.keyMatrices.normalMatrix[11]=0,zt(e.keyMatrices.normalMatrix,e.keyMatrices.normalMatrix),Ee(e.keyMatrices.normalMatrix,e.keyMatrices.normalMatrix)),Kt(e.keyMatrices.bcwc,e.keyMatrices.bcwc,[-e.bufferShift[0],-e.bufferShift[1],-e.bufferShift[2]]),e.renderable.getCoordinateSystem()===Ja.WORLD?Kt(e.keyMatrices.bcsc,e.keyMatrices.bcwc,[-l[0],-l[1],-l[2]]):Ct(e.keyMatrices.bcsc,e.keyMatrices.bcwc),e.keyMatricesTime.modified()}return e.keyMatrices}}const ti={keyMatricesTime:null,keyMatrices:null,propID:void 0,bufferShift:void 0};function ai(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,ti,r),be.extend(t,e,r),e.keyMatricesTime={},z.obj(e.keyMatricesTime,{mtime:0}),e.keyMatrices={normalMatrix:new Float64Array(16),bcwc:new Float64Array(16),bcsc:new Float64Array(16)},z.get(t,e,["propID","keyMatricesTime"]),e.bufferShift=[0,0,0,0],ei(t,e)}const ri=z.newInstance(ai);lt("vtkActor",ri);const{CoordinateSystem:Qa}=ha;function ni(t,e){e.classHierarchy.push("vtkWebGPUActor2D"),t.buildPass=r=>{r&&(e.WebGPURenderer=t.getFirstAncestorOfType("vtkWebGPURenderer"),e.WebGPURenderWindow=e.WebGPURenderer.getFirstAncestorOfType("vtkWebGPURenderWindow"),e.propID===void 0&&(e.propID=e.WebGPURenderWindow.getUniquePropID()),t.prepareNodes(),t.addMissingNode(e.renderable.getMapper()),t.removeUnusedNodes())},t.traverseOpaquePass=r=>{!e.renderable||!e.renderable.getNestedVisibility()||!e.renderable.getIsOpaque()||e.WebGPURenderer.getSelector()&&!e.renderable.getNestedPickable()||(t.apply(r,!0),e.children[0]&&e.children[0].traverse(r),t.apply(r,!1))},t.traverseTranslucentPass=r=>{!e.renderable||!e.renderable.getNestedVisibility()||e.renderable.getIsOpaque()||e.WebGPURenderer.getSelector()&&!e.renderable.getNestedPickable()||(t.apply(r,!0),e.children[0]&&e.children[0].traverse(r),t.apply(r,!1))},t.queryPass=(r,a)=>{if(r){if(!e.renderable||!e.renderable.getVisibility())return;e.renderable.getIsOpaque()?a.incrementOpaqueActorCount():a.incrementTranslucentActorCount()}},t.getBufferShift=r=>(t.getKeyMatrices(r),e.bufferShift),t.getKeyMatrices=r=>{if(Math.max(e.renderable.getMTime(),r.getStabilizedTime())>e.keyMatricesTime.getMTime()){e.bufferShift[0]=0,e.bufferShift[1]=0,e.bufferShift[2]=0;const a=r.getStabilizedCenterByReference();e.renderable.getCoordinateSystem()===Qa.WORLD&&(e.bufferShift[0]-=a[0],e.bufferShift[1]-=a[1],e.bufferShift[2]-=a[2]),ze(e.keyMatrices.bcwc),ze(e.keyMatrices.normalMatrix),Kt(e.keyMatrices.bcwc,e.keyMatrices.bcwc,[-e.bufferShift[0],-e.bufferShift[1],-e.bufferShift[2]]),e.renderable.getCoordinateSystem()===Qa.WORLD?Kt(e.keyMatrices.bcsc,e.keyMatrices.bcwc,[-a[0],-a[1],-a[2]]):Ct(e.keyMatrices.bcsc,e.keyMatrices.bcwc),e.keyMatricesTime.modified()}return e.keyMatrices}}const si={keyMatricesTime:null,keyMatrices:null,propID:void 0,bufferShift:void 0};function ii(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,si,r),be.extend(t,e,r),e.keyMatricesTime={},z.obj(e.keyMatricesTime,{mtime:0}),e.keyMatrices={normalMatrix:new Float64Array(16),bcwc:new Float64Array(16),bcsc:new Float64Array(16)},z.get(t,e,["propID","keyMatricesTime"]),e.bufferShift=[0,0,0,0],ni(t,e)}const oi=z.newInstance(ii);lt("vtkActor2D",oi);function li(t,e){e.classHierarchy.push("vtkWebGPUCubeAxesActor"),t.buildPass=r=>{r&&(e.WebGPURenderer=t.getFirstAncestorOfType("vtkWebGPURenderer"),e.WebGPURenderWindow=e.WebGPURenderer.getParent(),e.CubeAxesActorHelper.getRenderable()||e.CubeAxesActorHelper.setRenderable(e.renderable),t.prepareNodes(),t.addMissingNode(e.CubeAxesActorHelper.getTmActor()),t.addMissingNode(e.renderable.getGridActor()),t.removeUnusedNodes())},t.opaquePass=(r,a)=>{if(r){const l=e.WebGPURenderer?e.WebGPURenderer.getRenderable().getActiveCamera():null,o=e.WebGPURenderer.getTiledSizeAndOrigin();e.CubeAxesActorHelper.updateAPISpecificData([o.usize,o.vsize],l,e.WebGPURenderWindow.getRenderable())}}}const ci={};function ui(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,ci,r),be.extend(t,e,r),e.CubeAxesActorHelper=fr.newCubeAxesActorHelper(),li(t,e)}const di=Le(ui,"vtkWebGPUCubeAxesActor");lt("vtkCubeAxesActor",di);const{DisplayLocation:Va}=vr;function fi(t,e){e.classHierarchy.push("vtkProperty2D"),t.setDisplayLocationToBackground=()=>t.setDisplayLocation(Va.BACKGROUND),t.setDisplayLocationToForeground=()=>t.setDisplayLocation(Va.FOREGROUND),t.setRepresentationToWireframe=()=>t.setRepresentation(nt.WIREFRAME),t.setRepresentationToSurface=()=>t.setRepresentation(nt.SURFACE),t.setRepresentationToPoints=()=>t.setRepresentation(nt.POINTS),t.getRepresentationAsString=()=>z.enumToString(nt,e.representation)}const gi={color:[1,1,1],opacity:1,pointSize:1,lineWidth:1,representation:nt.SURFACE,displayLocation:Va.FOREGROUND};function hr(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,gi,r),z.obj(t,e),z.setGet(t,e,["opacity","lineWidth","pointSize","displayLocation","representation"]),z.setGetArray(t,e,["color"],3),fi(t,e)}const pi=z.newInstance(hr,"vtkProperty2D");var vi={newInstance:pi,extend:hr,...vr};const{BufferUsage:Te,PrimitiveTypes:Ae}=Oa,{Representation:la}=nr,{ScalarMode:ca}=rt,{CoordinateSystem:hi}=ha,{DisplayLocation:mi}=vi,Ci=`
  290. //VTK::Renderer::Dec
  291. //VTK::Color::Dec
  292. //VTK::Normal::Dec
  293. //VTK::TCoord::Dec
  294. //VTK::Select::Dec
  295. //VTK::Mapper::Dec
  296. //VTK::IOStructs::Dec
  297. @vertex
  298. fn main(
  299. //VTK::IOStructs::Input
  300. )
  301. //VTK::IOStructs::Output
  302. {
  303. var output : vertexOutput;
  304. var vertex: vec4<f32> = vertexBC;
  305. //VTK::Color::Impl
  306. //VTK::Normal::Impl
  307. //VTK::TCoord::Impl
  308. //VTK::Select::Impl
  309. //VTK::Position::Impl
  310. return output;
  311. }
  312. `,yi=`
  313. struct PBRData {
  314. diffuse: vec3<f32>,
  315. specular: vec3<f32>,
  316. }
  317. // Dot product with the max already in it
  318. fn mdot(a: vec3<f32>, b: vec3<f32>) -> f32 {
  319. return max(0.0, dot(a, b));
  320. }
  321. // Dot product with a max in it that does not allow for negative values
  322. // Physically based rendering is accurate as long as normals are accurate,
  323. // however this is pretty often not the case. In order to prevent negative
  324. // values from ruining light calculations and creating zones of zero light,
  325. // this remapping is used, which smoothly clamps the dot product between
  326. // zero and one while still maintaining a good amount of accuracy.
  327. fn cdot(a: vec3<f32>, b: vec3<f32>) -> f32 {
  328. var d: f32 = max(0.0, dot(a, b));
  329. d = pow((d + 1.0) / 2.0, 2.6);
  330. return d;
  331. }
  332. // Lambertian diffuse model
  333. fn lambertDiffuse(base: vec3<f32>, N: vec3<f32>, L: vec3<f32>) -> vec3<f32> {
  334. var pi: f32 = 3.14159265359;
  335. var NdotL: f32 = mdot(N, L);
  336. NdotL = pow(NdotL, 1.5);
  337. return (base/pi)*NdotL;
  338. }
  339. // Yasuhiro Fujii improvement on the Oren-Nayar model
  340. // https://mimosa-pudica.net/improved-oren-nayar.html
  341. // p is surface color, o is roughness
  342. fn fujiiOrenNayar(p: vec3<f32>, o: f32, N: vec3<f32>, L: vec3<f32>, V: vec3<f32>) -> vec3<f32> {
  343. var invpi: f32 = 0.31830988618; // 1/pi
  344. var o2 = o*o;
  345. var NdotL: f32 = mdot(N, L);
  346. NdotL = pow(NdotL, 1.5); // Less physically accurate, but hides the "seams" between lights better
  347. var NdotV: f32 = mdot(N, V);
  348. var LdotV: f32 = mdot(L, V);
  349. var s: f32 = LdotV - NdotL*NdotV;
  350. var t: f32 = mix(1.0, max(NdotL, NdotV), step(0.0, s)); // Mix with step is the equivalent of an if statement
  351. var A: vec3<f32> = 0.5*(o2 / (o2 + 0.33)) + 0.17*p*(o2 / (o2 + 0.13));
  352. A = invpi*(1 - A);
  353. var B: f32 = 0.45*(o2 / (o2 + 0.09));
  354. B = invpi*B;
  355. return p*NdotL*(A + B*(s/t));
  356. }
  357. // Fresnel portion of BRDF (IOR only, simplified)
  358. fn schlickFresnelIOR(V: vec3<f32>, N: vec3<f32>, ior: f32, k: f32) -> f32 {
  359. var NdotV: f32 = mdot(V, N);
  360. var F0: f32 = (pow((ior - 1.0), 2.0) + k*k) / (pow((ior + 1.0), 2.0) + k*k); // This takes into account the roughness, which the other one does not
  361. return F0 + (1.0 - F0) * pow((1.0-NdotV), 5.0);
  362. }
  363. // Fresnel portion of BRDF (Color ior, better)
  364. fn schlickFresnelRGB(V: vec3<f32>, N: vec3<f32>, F0: vec3<f32>) -> vec3<f32> {
  365. var NdotV: f32 = mdot(V, N);
  366. return F0 + (1.0 - F0) * pow((1-NdotV), 5.0);
  367. }
  368. // Normal portion of BRDF
  369. // https://learnopengl.com/PBR/Theory
  370. // Trowbridge-Reitz GGX functions: normal, halfway, roughness^2
  371. fn trGGX(N: vec3<f32>, H: vec3<f32>, a: f32) -> f32 {
  372. var pi: f32 = 3.14159265359;
  373. var a2: f32 = a*a;
  374. var NdotH = mdot(N, H);
  375. var NdotH2 = NdotH*NdotH;
  376. var denom: f32 = NdotH2 * (a2 - 1.0) + 1.0;
  377. return a2 / max((pi*denom*denom), 0.000001);
  378. }
  379. // A VERY bad approximation of anisotropy. Real anisotropic calculations require tangent and bitangent
  380. fn anisotrophicTrGGX(N: vec3<f32>, H: vec3<f32>, O: vec3<f32>, s: f32, a: f32) -> f32 {
  381. var Op: vec3<f32> = (rendererUBO.WCVCNormals * vec4<f32>(normalize(O) * s, 0.)).xyz;
  382. var ggx1: f32 = trGGX(N + Op*s, H, a);
  383. var ggx2: f32 = trGGX(N - Op*s, H, a);
  384. return (0.5 * ggx1 + 0.5 * ggx2);
  385. }
  386. // Geometry portion of BRDF
  387. fn schlickGGX(N: vec3<f32>, X: vec3<f32>, k: f32) -> f32 {
  388. var NdotX = cdot(N, X);
  389. return NdotX / max(0.000001, (NdotX*(1.0-k) + k));
  390. }
  391. fn smithSurfaceRoughness(N: vec3<f32>, V: vec3<f32>, L: vec3<f32>, k: f32) -> f32 {
  392. var ggx1: f32 = min(1.0, schlickGGX(N, V, k));
  393. var ggx2: f32 = min(1.0, schlickGGX(N, L, k));
  394. return ggx1*ggx2;
  395. }
  396. // BRDF Combination
  397. fn cookTorrance(D: f32, F: f32, G: f32, N: vec3<f32>, V: vec3<f32>, L: vec3<f32>) -> f32 {
  398. var num: f32 = D*F*G;
  399. var denom: f32 = 4*cdot(V, N)*cdot(L, N);
  400. return num / max(denom, 0.000001);
  401. }
  402. // Different lighting calculations for different light sources
  403. fn calcDirectionalLight(N: vec3<f32>, V: vec3<f32>, ior: f32, roughness: f32, metallic: f32, direction: vec3<f32>, color: vec3<f32>, base: vec3<f32>) -> PBRData {
  404. var L: vec3<f32> = normalize(direction); // Light Vector
  405. var H: vec3<f32> = normalize(L + V); // Halfway Vector
  406. var alpha = roughness*roughness;
  407. var k: f32 = alpha*alpha / 2;
  408. var D: f32 = trGGX(N, H, alpha); // Distribution
  409. // var F: f32 = schlickFresnelIOR(V, N, ior, k); // Fresnel
  410. var G: f32 = smithSurfaceRoughness(N, V, L, k); // Geometry
  411. var brdf: f32 = cookTorrance(D, 1.0, G, N, V, L); // Fresnel term is replaced with 1 because it is added later
  412. var incoming: vec3<f32> = color;
  413. var angle: f32 = mdot(L, N);
  414. angle = pow(angle, 1.5);
  415. var specular: vec3<f32> = brdf*incoming*angle;
  416. // Oren-Nayar gives a clay-like effect when fully rough which some people may not want, so it might be better to give a separate
  417. // control property for the diffuse vs specular roughness
  418. var diffuse: vec3<f32> = incoming*fujiiOrenNayar(base, roughness, N, L, V);
  419. // Stores the specular and diffuse separately to allow for finer post processing
  420. var out = PBRData(diffuse, specular);
  421. return out; // Returns angle along with color of light so the final color can be multiplied by angle as well (creates black areas)
  422. }
  423. // TODO: find some way to reduce the number of arguments going in here
  424. fn calcPointLight(N: vec3<f32>, V: vec3<f32>, fragPos: vec3<f32>, ior: f32, roughness: f32, metallic: f32, position: vec3<f32>, color: vec3<f32>, base: vec3<f32>) -> PBRData {
  425. var L: vec3<f32> = normalize(position - fragPos); // Light Vector
  426. var H: vec3<f32> = normalize(L + V); // Halfway Vector
  427. var dist = distance(position, fragPos);
  428. var alpha = roughness*roughness;
  429. var k: f32 = alpha*alpha / 2.0; // could also be pow(alpha + 1.0, 2) / 8
  430. var D: f32 = trGGX(N, H, alpha); // Distribution
  431. // var F: f32 = schlickFresnelIOR(V, N, ior, k); // Fresnel
  432. var G: f32 = smithSurfaceRoughness(N, V, L, k); // Geometry
  433. var brdf: f32 = cookTorrance(D, 1.0, G, N, V, L);
  434. var incoming: vec3<f32> = color * (1.0 / (dist*dist));
  435. var angle: f32 = mdot(L, N);
  436. angle = pow(angle, 1.5); // Smoothing factor makes it less accurate, but reduces ugly "seams" bewteen light sources
  437. var specular: vec3<f32> = brdf*incoming*angle;
  438. var diffuse: vec3<f32> = incoming*fujiiOrenNayar(base, roughness, N, L, V);
  439. // Stores the specular and diffuse separately to allow for finer post processing
  440. // Could also be done (propably more properly) with a struct
  441. var out = PBRData(diffuse, specular);
  442. return out; // Returns angle along with color of light so the final color can be multiplied by angle as well (creates black areas)
  443. }
  444. // For a reason unknown to me, spheres dont seem to behave propperly with head-on spot lights
  445. fn calcSpotLight(N: vec3<f32>, V: vec3<f32>, fragPos: vec3<f32>, ior: f32, roughness: f32, metallic: f32, position: vec3<f32>, direction: vec3<f32>, cones: vec2<f32>, color: vec3<f32>, base: vec3<f32>) -> PBRData {
  446. var L: vec3<f32> = normalize(position - fragPos);
  447. var H: vec3<f32> = normalize(L + V); // Halfway Vector
  448. var dist = distance(position, fragPos);
  449. var alpha = roughness*roughness;
  450. var k: f32 = alpha*alpha / 2.0; // could also be pow(alpha + 1.0, 2) / 8
  451. var D: f32 = trGGX(N, H, alpha); // Distribution
  452. // var F: f32 = schlickFresnelIOR(V, N, ior, k); // Fresnel
  453. var G: f32 = smithSurfaceRoughness(N, V, L, k); // Geometry
  454. var brdf: f32 = cookTorrance(D, 1.0, G, N, V, L);
  455. // Cones.x is the inner phi and cones.y is the outer phi
  456. var theta: f32 = mdot(normalize(direction), L);
  457. var epsilon: f32 = cones.x - cones.y;
  458. var intensity: f32 = (theta - cones.y) / epsilon;
  459. intensity = clamp(intensity, 0.0, 1.0);
  460. intensity /= dist*dist;
  461. var incoming: vec3<f32> = color * intensity;
  462. var angle: f32 = mdot(L, N);
  463. angle = pow(angle, 1.5); // Smoothing factor makes it less accurate, but reduces ugly "seams" bewteen light sources
  464. var specular: vec3<f32> = brdf*incoming*angle;
  465. var diffuse: vec3<f32> = incoming*fujiiOrenNayar(base, roughness, N, L, V);
  466. // Stores the specular and diffuse separately to allow for finer post processing
  467. // Could also be done (propably more properly) with a struct
  468. var out = PBRData(diffuse, specular);
  469. return out; // Returns angle along with color of light so the final color can be multiplied by angle as well (creates black areas)
  470. }
  471. // Environment mapping stuff
  472. // Takes in a vector and converts it to an equivalent coordinate in a rectilinear texture. Should be replaced with cubemaps at some point
  473. fn vecToRectCoord(dir: vec3<f32>) -> vec2<f32> {
  474. var tau: f32 = 6.28318530718;
  475. var pi: f32 = 3.14159265359;
  476. var out: vec2<f32> = vec2<f32>(0.0);
  477. out.x = atan2(dir.z, dir.x) / tau;
  478. out.x += 0.5;
  479. var phix: f32 = length(vec2(dir.x, dir.z));
  480. out.y = atan2(dir.y, phix) / pi + 0.5;
  481. return out;
  482. }
  483. //VTK::Renderer::Dec
  484. //VTK::Color::Dec
  485. //VTK::TCoord::Dec
  486. // optional surface normal declaration
  487. //VTK::Normal::Dec
  488. //VTK::Select::Dec
  489. //VTK::RenderEncoder::Dec
  490. //VTK::Mapper::Dec
  491. //VTK::IOStructs::Dec
  492. @fragment
  493. fn main(
  494. //VTK::IOStructs::Input
  495. )
  496. //VTK::IOStructs::Output
  497. {
  498. var output : fragmentOutput;
  499. // Temporary ambient, diffuse, and opacity
  500. var ambientColor: vec4<f32> = mapperUBO.AmbientColor;
  501. var diffuseColor: vec4<f32> = mapperUBO.DiffuseColor;
  502. var opacity: f32 = mapperUBO.Opacity;
  503. // This should be declared somewhere else
  504. var _diffuseMap: vec4<f32> = vec4<f32>(1.0);
  505. var _roughnessMap: vec4<f32> = vec4<f32>(1.0);
  506. var _metallicMap: vec4<f32> = vec4<f32>(1.0);
  507. var _normalMap: vec4<f32> = vec4<f32>(0.0, 0.0, 1.0, 0.0); // normal map was setting off the normal vector detection in fragment
  508. var _ambientOcclusionMap: vec4<f32> = vec4<f32>(1.);
  509. var _emissionMap: vec4<f32> = vec4<f32>(0.);
  510. //VTK::Color::Impl
  511. //VTK::TCoord::Impl
  512. //VTK::Normal::Impl
  513. var computedColor: vec4<f32> = vec4<f32>(diffuseColor.rgb, 1.0);
  514. //VTK::Light::Impl
  515. //VTK::Select::Impl
  516. if (computedColor.a == 0.0) { discard; };
  517. //VTK::Position::Impl
  518. //VTK::RenderEncoder::Impl
  519. return output;
  520. }
  521. `;function Ya(t){return t.indexOf("edge")>=0}function xi(t,e){e.classHierarchy.push("vtkWebGPUCellArrayMapper"),t.buildPass=r=>{r&&(e.is2D?(e.WebGPUActor=t.getFirstAncestorOfType("vtkWebGPUActor2D"),e.forceZValue=!0):(e.WebGPUActor=t.getFirstAncestorOfType("vtkWebGPUActor"),e.forceZValue=!1),e.coordinateSystem=e.WebGPUActor.getRenderable().getCoordinateSystem(),e.useRendererMatrix=e.coordinateSystem!==hi.DISPLAY,e.WebGPURenderer=e.WebGPUActor.getFirstAncestorOfType("vtkWebGPURenderer"),e.WebGPURenderWindow=e.WebGPURenderer.getParent(),e.device=e.WebGPURenderWindow.getDevice())},t.translucentPass=r=>{r&&(t.prepareToDraw(e.WebGPURenderer.getRenderEncoder()),e.renderEncoder.registerDrawCallback(e.pipeline,t.draw))},t.opaquePass=r=>{r&&(t.prepareToDraw(e.WebGPURenderer.getRenderEncoder()),e.renderEncoder.registerDrawCallback(e.pipeline,t.draw))},t.updateUBO=()=>{var o;const a=e.WebGPUActor.getRenderable().getProperty(),l=e.UBO.getSendTime();if(t.getMTime()>l||a.getMTime()>l||e.renderable.getMTime()>l){const n=e.WebGPUActor.getKeyMatrices(e.WebGPURenderer);if(e.UBO.setArray("BCWCMatrix",n.bcwc),e.UBO.setArray("BCSCMatrix",n.bcsc),e.UBO.setArray("MCWCNormals",n.normalMatrix),e.is2D){e.UBO.setValue("ZValue",e.WebGPUActor.getRenderable().getProperty().getDisplayLocation()===mi.FOREGROUND?1:0);const u=a.getColorByReference();e.UBO.setValue("AmbientIntensity",1),e.UBO.setArray("DiffuseColor",[u[0],u[1],u[2],1]),e.UBO.setValue("DiffuseIntensity",0),e.UBO.setValue("SpecularIntensity",0)}else{let u=a.getAmbientColorByReference();e.UBO.setValue("AmbientIntensity",a.getAmbient()),e.UBO.setArray("AmbientColor",[u[0],u[1],u[2],1]),e.UBO.setValue("DiffuseIntensity",a.getDiffuse()),u=a.getDiffuseColorByReference(),e.UBO.setArray("DiffuseColor",[u[0],u[1],u[2],1]),e.UBO.setValue("Roughness",a.getRoughness()),e.UBO.setValue("BaseIOR",a.getBaseIOR()),e.UBO.setValue("Metallic",a.getMetallic()),e.UBO.setValue("NormalStrength",a.getNormalStrength()),e.UBO.setValue("Emission",a.getEmission()),e.UBO.setValue("SpecularIntensity",a.getSpecular()),u=a.getSpecularColorByReference(),e.UBO.setArray("SpecularColor",[u[0],u[1],u[2],1])}const s=(o=a.getEdgeColorByReference)==null?void 0:o.call(a);s&&e.UBO.setArray("EdgeColor",[s[0],s[1],s[2],1]),e.UBO.setValue("LineWidth",a.getLineWidth()),e.UBO.setValue("Opacity",a.getOpacity()),e.UBO.setValue("PropID",e.WebGPUActor.getPropID());const c=e.WebGPURenderWindow.getDevice();e.UBO.sendIfNeeded(c)}},t.haveWideLines=()=>{const r=e.WebGPUActor.getRenderable(),a=r.getProperty().getRepresentation();return r.getProperty().getLineWidth()<=1||e.primitiveType===Ae.Verts?!1:e.primitiveType===Ae.Triangles||e.primitiveType===Ae.TriangleStrips?a===la.WIREFRAME:!0},t.replaceShaderPosition=(r,a,l)=>{const o=a.getShaderDescription("vertex");o.addBuiltinOutput("vec4<f32>","@builtin(position) Position"),o.hasOutput("vertexVC")||o.addOutput("vec4<f32>","vertexVC");let n=o.getCode();e.useRendererMatrix?(n=ke.substitute(n,"//VTK::Position::Impl",[" var pCoord: vec4<f32> = rendererUBO.SCPCMatrix*mapperUBO.BCSCMatrix*vertexBC;"," output.vertexVC = rendererUBO.SCVCMatrix * mapperUBO.BCSCMatrix * vec4<f32>(vertexBC.xyz, 1.0);","//VTK::Position::Impl"]).result,e.forceZValue&&(n=ke.substitute(n,"//VTK::Position::Impl",["pCoord = vec4<f32>(pCoord.xyz/pCoord.w, 1.0);","pCoord.z = mapperUBO.ZValue;","//VTK::Position::Impl"]).result)):(n=ke.substitute(n,"//VTK::Position::Impl",[" var pCoord: vec4<f32> = mapperUBO.BCSCMatrix*vertexBC;"," pCoord.x = 2.0* pCoord.x / rendererUBO.viewportSize.x - 1.0;"," pCoord.y = 2.0* pCoord.y / rendererUBO.viewportSize.y - 1.0;"," pCoord.z = 0.5 - 0.5 * pCoord.z;","//VTK::Position::Impl"]).result,e.forceZValue&&(n=ke.substitute(n,"//VTK::Position::Impl",[" pCoord.z = mapperUBO.ZValue;","//VTK::Position::Impl"]).result)),t.haveWideLines()&&(o.addBuiltinInput("u32","@builtin(instance_index) instanceIndex"),n=ke.substitute(n,"//VTK::Position::Impl",[" var tmpPos: vec4<f32> = pCoord;"," var numSteps: f32 = ceil(mapperUBO.LineWidth - 1.0);"," var offset: f32 = (mapperUBO.LineWidth - 1.0) * (f32(input.instanceIndex / 2u) - numSteps/2.0) / numSteps;"," var tmpPos2: vec3<f32> = tmpPos.xyz / tmpPos.w;"," tmpPos2.x = tmpPos2.x + 2.0 * (f32(input.instanceIndex) % 2.0) * offset / rendererUBO.viewportSize.x;"," tmpPos2.y = tmpPos2.y + 2.0 * (f32(input.instanceIndex + 1u) % 2.0) * offset / rendererUBO.viewportSize.y;"," tmpPos2.z = min(1.0, tmpPos2.z + 0.00001);"," pCoord = vec4<f32>(tmpPos2.xyz * tmpPos.w, tmpPos.w);","//VTK::Position::Impl"]).result),n=ke.substitute(n,"//VTK::Position::Impl",[" output.Position = pCoord;"]).result,o.setCode(n)},e.shaderReplacements.set("replaceShaderPosition",t.replaceShaderPosition),t.replaceShaderNormal=(r,a,l)=>{const o=l.getBuffer("normalMC"),n=e.WebGPUActor.getRenderable();if(o){const s=a.getShaderDescription("vertex");s.hasOutput("normalVC")||s.addOutput("vec3<f32>","normalVC",o.getArrayInformation()[0].interpolation),s.hasOutput("tangentVC")||s.addOutput("vec3<f32>","tangentVC",o.getArrayInformation()[0].interpolation),s.hasOutput("bitangentVC")||s.addOutput("vec3<f32>","bitangentVC",o.getArrayInformation()[0].interpolation);let c=s.getCode();c=ke.substitute(c,"//VTK::Normal::Impl",[" output.normalVC = normalize((rendererUBO.WCVCNormals * mapperUBO.MCWCNormals * normalMC).xyz);"," var c1: vec3<f32> = cross(output.normalVC, vec3<f32>(0, 0, 1));"," var c2: vec3<f32> = cross(output.normalVC, vec3<f32>(0, 1, 0));"," var tangent: vec3<f32> = mix(c1, c2, distance(c1, c2));"," output.tangentVC = normalize(tangent);"," output.bitangentVC = normalize(cross(output.normalVC, tangent));"]).result,s.setCode(c);const u=a.getShaderDescription("fragment");c=u.getCode(),n.getProperty().getNormalTexture()?c=ke.substitute(c,"//VTK::Normal::Impl",[" var normal: vec3<f32> = input.normalVC;"," if (!input.frontFacing) { normal = -normal; }"," var tangent: vec3<f32> = input.tangentVC;"," var bitangent: vec3<f32> = input.bitangentVC;"," var TCVCMatrix: mat3x3<f32> = mat3x3<f32>("," tangent.x, bitangent.x, normal.x,"," tangent.y, bitangent.y, normal.y,"," tangent.z, bitangent.z, normal.z,"," );"," var mappedNormal: vec3<f32> = TCVCMatrix * (_normalMap.xyz * 2 - 1);"," normal = mix(normal, mappedNormal, mapperUBO.NormalStrength);"," normal = normalize(normal);"]).result:c=ke.substitute(c,"//VTK::Normal::Impl",[" var normal: vec3<f32> = input.normalVC;"," if (!input.frontFacing) { normal = -normal; }"," normal = normalize(normal);"]).result,u.setCode(c)}},e.shaderReplacements.set("replaceShaderNormal",t.replaceShaderNormal),t.replaceShaderLight=(r,a,l)=>{var u;if(r.includes("sel"))return;const o=a.getShaderDescription("vertex");o.hasOutput("vertexVC")||o.addOutput("vec4<f32>","vertexVC");const n=e.WebGPURenderer.getRenderable(),s=a.getShaderDescription("fragment");let c=s.getCode();if(c.includes("var normal:")&&e.useRendererMatrix&&!Ya(r)&&!e.is2D&&!r.includes("sel")){const d=[" var pi: f32 = 3.14159265359;"," var fragPos: vec3<f32> = vec3<f32>(input.vertexVC.xyz);"," var V: vec3<f32> = mix(normalize(-fragPos), vec3<f32>(0, 0, 1), f32(rendererUBO.cameraParallel)); // View Vector"," var baseColor: vec3<f32> = _diffuseMap.rgb * diffuseColor.rgb;"," var roughness: f32 = max(0.000001, mapperUBO.Roughness * _roughnessMap.r);"," var metallic: f32 = mapperUBO.Metallic * _metallicMap.r;"," var alpha: f32 = roughness*roughness;"," var ior: f32 = mapperUBO.BaseIOR;"," var k: f32 = alpha*alpha / 2;"," var diffuse: vec3<f32> = vec3<f32>(0.);"," var specular: vec3<f32> = vec3<f32>(0.);"," var emission: vec3<f32> = _emissionMap.rgb * mapperUBO.Emission;"," {"," var i: i32 = 0;"," loop {"," if !(i < rendererUBO.LightCount) { break; }"," switch (i32(rendererLightSSBO.values[i].LightData.x)) {"," // Point Light"," case 0 {"," var color: vec3<f32> = rendererLightSSBO.values[i].LightColor.rgb * rendererLightSSBO.values[i].LightColor.w;"," var pos: vec3<f32> = (rendererLightSSBO.values[i].LightPos).xyz;"," var calculated: PBRData = calcPointLight(normal, V, fragPos, ior, roughness, metallic, pos, color, baseColor);"," diffuse += max(vec3<f32>(0), calculated.diffuse);"," specular += max(vec3<f32>(0), calculated.specular);"," }"," // Directional light"," case 1 {"," var dir: vec3<f32> = (rendererUBO.WCVCNormals * vec4<f32>(normalize(rendererLightSSBO.values[i].LightDir.xyz), 0.)).xyz;"," dir = normalize(dir);"," var color: vec3<f32> = rendererLightSSBO.values[i].LightColor.rgb * rendererLightSSBO.values[i].LightColor.w;"," var calculated: PBRData = calcDirectionalLight(normal, V, ior, roughness, metallic, dir, color, baseColor); // diffuseColor.rgb needs to be fixed with a more dynamic diffuse color"," diffuse += max(vec3<f32>(0), calculated.diffuse);"," specular += max(vec3<f32>(0), calculated.specular);"," }"," // Spot Light"," case 2 {"," var color: vec3<f32> = rendererLightSSBO.values[i].LightColor.rgb * rendererLightSSBO.values[i].LightColor.w;"," var pos: vec3<f32> = (rendererLightSSBO.values[i].LightPos).xyz;"," var dir: vec3<f32> = (rendererUBO.WCVCNormals * vec4<f32>(normalize(rendererLightSSBO.values[i].LightDir.xyz), 0.)).xyz;"," dir = normalize(dir);"," var cones: vec2<f32> = vec2<f32>(rendererLightSSBO.values[i].LightData.y, rendererLightSSBO.values[i].LightData.z);"," var calculated: PBRData = calcSpotLight(normal, V, fragPos, ior, roughness, metallic, pos, dir, cones, color, baseColor);"," diffuse += max(vec3<f32>(0), calculated.diffuse);"," specular += max(vec3<f32>(0), calculated.specular);"," }"," default { continue; }"," }"," continuing { i++; }"," }"," }"," var fresnel: f32 = schlickFresnelIOR(V, normal, ior, k); // Fresnel"," fresnel = min(1.0, fresnel);"," // This could be controlled with its own variable (that isnt base color) for better artistic control"," var fresnelMetallic: vec3<f32> = schlickFresnelRGB(V, normal, baseColor); // Fresnel for metal, takes color into account"," var kS: vec3<f32> = mix(vec3<f32>(fresnel), fresnelMetallic, metallic);"," kS = min(vec3<f32>(1.0), kS);"," var kD: vec3<f32> = (1.0 - kS) * (1.0 - metallic);"," var PBR: vec3<f32> = mapperUBO.DiffuseIntensity*kD*diffuse + kS*specular;"," PBR += emission;"," computedColor = vec4<f32>(PBR, mapperUBO.Opacity);"];(u=n.getEnvironmentTexture())!=null&&u.getImageLoaded()&&d.push(" // To get diffuse IBL, the texture is sampled with normals in worldspace"," var diffuseIBLCoords: vec3<f32> = (transpose(rendererUBO.WCVCNormals) * vec4<f32>(normal, 1.)).xyz;"," var diffuseCoords: vec2<f32> = vecToRectCoord(diffuseIBLCoords);"," // To get specular IBL, the texture is sampled as the worldspace reflection between the normal and view vectors"," // Reflections are first calculated in viewspace, then converted to worldspace to sample the environment"," var VreflN: vec3<f32> = normalize(reflect(-V, normal));"," var reflectionIBLCoords = (transpose(rendererUBO.WCVCNormals) * vec4<f32>(VreflN, 1.)).xyz;"," var specularCoords: vec2<f32> = vecToRectCoord(reflectionIBLCoords);"," var diffuseIBL = textureSampleLevel(EnvironmentTexture, EnvironmentTextureSampler, diffuseCoords, rendererUBO.MaxEnvironmentMipLevel);"," var level = roughness * rendererUBO.MaxEnvironmentMipLevel;"," var specularIBL = textureSampleLevel(EnvironmentTexture, EnvironmentTextureSampler, specularCoords, level);"," var specularIBLContribution: vec3<f32> = specularIBL.rgb*rendererUBO.BackgroundSpecularStrength;"," computedColor += vec4<f32>(specularIBLContribution*kS, 0);"," var diffuseIBLContribution: vec3<f32> = diffuseIBL.rgb*rendererUBO.BackgroundDiffuseStrength;"," diffuseIBLContribution *= baseColor * _ambientOcclusionMap.rgb;"," computedColor += vec4<f32>(diffuseIBLContribution*kD, 0);"),c=ke.substitute(c,"//VTK::Light::Impl",d).result,s.setCode(c)}else c=ke.substitute(c,"//VTK::Light::Impl",[" var diffuse: vec3<f32> = diffuseColor.rgb;"," var specular: vec3<f32> = mapperUBO.SpecularColor.rgb * mapperUBO.SpecularColor.a;"," computedColor = vec4<f32>(diffuse * _diffuseMap.rgb, mapperUBO.Opacity);"]).result,s.setCode(c)},e.shaderReplacements.set("replaceShaderLight",t.replaceShaderLight),t.replaceShaderColor=(r,a,l)=>{if(Ya(r)){const u=a.getShaderDescription("fragment");let d=u.getCode();d=ke.substitute(d,"//VTK::Color::Impl",["ambientColor = mapperUBO.EdgeColor;","diffuseColor = mapperUBO.EdgeColor;"]).result,u.setCode(d);return}const o=l.getBuffer("colorVI");if(!o)return;const n=a.getShaderDescription("vertex");n.addOutput("vec4<f32>","color",o.getArrayInformation()[0].interpolation);let s=n.getCode();s=ke.substitute(s,"//VTK::Color::Impl",[" output.color = colorVI;"]).result,n.setCode(s);const c=a.getShaderDescription("fragment");s=c.getCode(),s=ke.substitute(s,"//VTK::Color::Impl",["ambientColor = input.color;","diffuseColor = input.color;","opacity = mapperUBO.Opacity * input.color.a;"]).result,c.setCode(s)},e.shaderReplacements.set("replaceShaderColor",t.replaceShaderColor),t.replaceShaderTCoord=(r,a,l)=>{var h,T,b,w,V,R,k,A,F,E,G,x,L,q,J,Q,B,U,X,j;if(!l.hasAttribute("tcoord"))return;const o=a.getShaderDescription("vertex"),n=l.getBuffer("tcoord"),s=Pa.getNumberOfComponentsFromBufferFormat(n.getArrayInformation()[0].format);let c=o.getCode();o.addOutput(`vec${s}<f32>`,"tcoordVS"),c=ke.substitute(c,"//VTK::TCoord::Impl",[" output.tcoordVS = tcoord;"]).result,o.setCode(c);const u=a.getShaderDescription("fragment");c=u.getCode();const d=e.WebGPUActor.getRenderable(),g=ie=>ie?ie.getDimensionality()===s:!1,v=[];((b=(T=(h=d.getProperty()).getDiffuseTexture)==null?void 0:T.call(h))!=null&&b.getImageLoaded()||d.getTextures()[0]||e.colorTexture)&&(g((V=(w=d.getProperty()).getDiffuseTexture)==null?void 0:V.call(w))||g(d.getTextures()[0])||g(e.colorTexture))&&v.push("_diffuseMap = textureSample(DiffuseTexture, DiffuseTextureSampler, input.tcoordVS);"),(A=(k=(R=d.getProperty()).getRoughnessTexture)==null?void 0:k.call(R))!=null&&A.getImageLoaded()&&g(d.getProperty().getRoughnessTexture())&&v.push("_roughnessMap = textureSample(RoughnessTexture, RoughnessTextureSampler, input.tcoordVS);"),(G=(E=(F=d.getProperty()).getMetallicTexture)==null?void 0:E.call(F))!=null&&G.getImageLoaded()&&g(d.getProperty().getMetallicTexture())&&v.push("_metallicMap = textureSample(MetallicTexture, MetallicTextureSampler, input.tcoordVS);"),(q=(L=(x=d.getProperty()).getNormalTexture)==null?void 0:L.call(x))!=null&&q.getImageLoaded()&&g(d.getProperty().getNormalTexture())&&v.push("_normalMap = textureSample(NormalTexture, NormalTextureSampler, input.tcoordVS);"),(B=(Q=(J=d.getProperty()).getAmbientOcclusionTexture)==null?void 0:Q.call(J))!=null&&B.getImageLoaded()&&g(d.getProperty().getAmbientOcclusionTexture())&&v.push("_ambientOcclusionMap = textureSample(AmbientOcclusionTexture, AmbientOcclusionTextureSampler, input.tcoordVS);"),(j=(X=(U=d.getProperty()).getEmissionTexture)==null?void 0:X.call(U))!=null&&j.getImageLoaded()&&g(d.getProperty().getEmissionTexture())&&v.push("_emissionMap = textureSample(EmissionTexture, EmissionTextureSampler, input.tcoordVS);"),c=ke.substitute(c,"//VTK::TCoord::Impl",v).result,u.setCode(c)},e.shaderReplacements.set("replaceShaderTCoord",t.replaceShaderTCoord),t.replaceShaderSelect=(r,a,l)=>{if(r.includes("sel")){const o=a.getShaderDescription("fragment");let n=o.getCode();n=ke.substitute(n,"//VTK::Select::Impl",[" var compositeID: u32 = 0u;"]).result,o.setCode(n)}},e.shaderReplacements.set("replaceShaderSelect",t.replaceShaderSelect),t.getUsage=(r,a)=>r===la.POINTS||a===Ae.Points?Te.Verts:a===Ae.Lines?Te.Lines:r===la.WIREFRAME?a===Ae.Triangles?Te.LinesFromTriangles:Te.LinesFromStrips:a===Ae.Triangles?Te.Triangles:a===Ae.TriangleStrips?Te.Strips:a===Ae.TriangleEdges?Te.LinesFromTriangles:Te.LinesFromStrips,t.getHashFromUsage=r=>`pt${r}`,t.getTopologyFromUsage=r=>{switch(r){case Te.Triangles:return"triangle-list";case Te.Verts:return"point-list";case Te.Lines:default:return"line-list"}},t.buildVertexInput=()=>{var b,w;const r=e.currentInput,a=e.cellArray,l=e.primitiveType;let n=e.WebGPUActor.getRenderable().getProperty().getRepresentation();const s=e.WebGPURenderWindow.getDevice();let c=!1;l===Ae.TriangleEdges&&(c=!0,n=la.WIREFRAME);const u=e.vertexInput,d=r.getPoints();let g;if(a){const V={hash:`R${n}P${l}${a.getMTime()}`,usage:Te.Index,cells:a,numberOfPoints:d.getNumberOfPoints(),primitiveType:l,representation:n};g=s.getBufferManager().getBuffer(V),u.setIndexBuffer(g)}else u.setIndexBuffer(null);if(d){const V=e.WebGPUActor.getBufferShift(e.WebGPURenderer),R={hash:`${d.getMTime()}I${g.getMTime()}${V.join()}float32x4`,usage:Te.PointArray,format:"float32x4",dataArray:d,indexBuffer:g,shift:V,packExtra:!0},k=s.getBufferManager().getBuffer(R);u.addBuffer(k,["vertexBC"])}else u.removeBufferIfPresent("vertexBC");const v=t.getUsage(n,l);if(e._usesCellNormals=!1,!e.is2D&&(v===Te.Triangles||v===Te.Strips)){const V=r.getPointData().getNormals(),R={format:"snorm8x4",indexBuffer:g,packExtra:!0,shift:0,scale:127};if(V){R.hash=`${V.getMTime()}I${g.getMTime()}snorm8x4`,R.dataArray=V,R.usage=Te.PointArray;const k=s.getBufferManager().getBuffer(R);u.addBuffer(k,["normalMC"])}else if(l===Ae.Triangles){e._usesCellNormals=!0,R.hash=`PFN${d.getMTime()}I${g.getMTime()}snorm8x4`,R.dataArray=d,R.cells=a,R.usage=Te.NormalsFromPoints;const k=s.getBufferManager().getBuffer(R);u.addBuffer(k,["normalMC"])}else u.removeBufferIfPresent("normalMC")}else u.removeBufferIfPresent("normalMC");let h=!1;if(e.renderable.getScalarVisibility()){const V=e.renderable.getColorMapColors();if(V&&!c){const R=e.renderable.getScalarMode();let k=!1;(R===ca.USE_CELL_DATA||R===ca.USE_CELL_FIELD_DATA||R===ca.USE_FIELD_DATA||!r.getPointData().getScalars())&&R!==ca.USE_POINT_FIELD_DATA&&V&&(k=!0);const A={usage:Te.PointArray,format:"unorm8x4",hash:`${k}${V.getMTime()}I${g.getMTime()}unorm8x4`,dataArray:V,indexBuffer:g,cellData:k,cellOffset:0},F=s.getBufferManager().getBuffer(A);u.addBuffer(F,["colorVI"]),h=!0}}h||u.removeBufferIfPresent("colorVI");let T=null;if((w=(b=e.renderable).getInterpolateScalarsBeforeMapping)!=null&&w.call(b)&&e.renderable.getColorCoordinates()?T=e.renderable.getColorCoordinates():T=r.getPointData().getTCoords(),T&&!c){const V=s.getBufferManager().getBufferForPointArray(T,u.getIndexBuffer());u.addBuffer(V,["tcoord"])}else u.removeBufferIfPresent("tcoord")},t.updateTextures=()=>{var c,u,d,g,v,h,T,b,w,V,R,k,A,F,E;const r=[],a=[],l=(u=(c=e.renderable).getColorTextureMap)==null?void 0:u.call(c);l&&(e.colorTexture||(e.colorTexture=ar.newInstance({label:"polyDataColor"})),e.colorTexture.setInputData(l),a.push(["Diffuse",e.colorTexture]));const o=e.WebGPUActor.getRenderable(),n=e.WebGPURenderer.getRenderable(),s=[];if((g=(d=o.getProperty()).getDiffuseTexture)!=null&&g.call(d)){const G=["Diffuse",o.getProperty().getDiffuseTexture()];s.push(G)}if(o.getTextures()[0]){const G=["Diffuse",o.getTextures()[0]];s.push(G)}if(e.colorTexture){const G=["Diffuse",e.colorTexture];s.push(G)}if((h=(v=o.getProperty()).getRoughnessTexture)!=null&&h.call(v)){const G=["Roughness",o.getProperty().getRoughnessTexture()];s.push(G)}if((b=(T=o.getProperty()).getMetallicTexture)!=null&&b.call(T)){const G=["Metallic",o.getProperty().getMetallicTexture()];s.push(G)}if((V=(w=o.getProperty()).getNormalTexture)!=null&&V.call(w)){const G=["Normal",o.getProperty().getNormalTexture()];s.push(G)}if((k=(R=o.getProperty()).getAmbientOcclusionTexture)!=null&&k.call(R)){const G=["AmbientOcclusion",o.getProperty().getAmbientOcclusionTexture()];s.push(G)}if((F=(A=o.getProperty()).getEmissionTexture)!=null&&F.call(A)){const G=["Emission",o.getProperty().getEmissionTexture()];s.push(G)}if((E=n.getEnvironmentTexture)!=null&&E.call(n)){const G=["Environment",n.getEnvironmentTexture()];s.push(G)}for(let G=0;G<s.length;G++)(s[G][1].getInputData()||s[G][1].getJsImageData()||s[G][1].getCanvas())&&a.push(s[G]),s[G][1].getImage()&&s[G][1].getImageLoaded()&&a.push(s[G]);for(let G=0;G<a.length;G++){const x=a[G][1],L=a[G][0],q=e.device.getTextureManager().getTextureForVTKTexture(x);if(q.getReady()){let J=!1;for(let Q=0;Q<e.textures.length;Q++)e.textures[Q]===q&&(J=!0,r[Q]=!0);if(!J){r[e.textures.length]=!0;const Q=q.createView(`${L}Texture`);e.textures.push(q),e.textureViews.push(Q);const B=x.getInterpolate()?"linear":"nearest";let U=null;!U&&x.getEdgeClamp()&&x.getRepeat()&&(U="mirror-repeat"),!U&&x.getEdgeClamp()&&(U="clamp-to-edge"),!U&&x.getRepeat()&&(U="repeat"),L!=="Environment"?Q.addSampler(e.device,{addressModeU:U,addressModeV:U,addressModeW:U,minFilter:B,magFilter:B}):Q.addSampler(e.device,{addressModeU:"repeat",addressModeV:"clamp-to-edge",addressModeW:"repeat",minFilter:B,magFilter:B,mipmapFilter:"linear"})}}}for(let G=e.textures.length-1;G>=0;G--)r[G]||(e.textures.splice(G,1),e.textureViews.splice(G,1))},t.computePipelineHash=()=>{let r=`pd${e.useRendererMatrix?"r":""}${e.forceZValue?"z":""}`;if(e.primitiveType===Ae.TriangleEdges||e.primitiveType===Ae.TriangleStripEdges)r+="edge";else{if(e.vertexInput.hasAttribute("normalMC")&&(r+="n"),e.vertexInput.hasAttribute("colorVI")&&(r+="c"),e.vertexInput.hasAttribute("tcoord")){const l=e.vertexInput.getBuffer("tcoord"),o=Pa.getNumberOfComponentsFromBufferFormat(l.getArrayInformation()[0].format);r+=`t${o}`}e.textures.length&&(r+=`tx${e.textures.length}`)}e._usesCellNormals&&(r+="cn"),e.SSBO&&(r+="ssbo");const a=t.getHashFromUsage(e.usage);r+=a,r+=e.renderEncoder.getPipelineHash(),e.pipelineHash=r},t.updateBuffers=()=>{e.primitiveType!==Ae.TriangleEdges&&e.primitiveType!==Ae.TriangleStripEdges&&t.updateTextures();const r=e.WebGPUActor.getRenderable(),a=r.getProperty().getRepresentation();e.usage=t.getUsage(a,e.primitiveType),t.buildVertexInput();const l=e.vertexInput.getBuffer("vertexBC");if(t.setNumberOfVertices(l.getSizeInBytes()/l.getStrideInBytes()),t.setTopology(t.getTopologyFromUsage(e.usage)),t.updateUBO(),t.haveWideLines()){const o=r.getProperty();t.setNumberOfInstances(Math.ceil(o.getLineWidth()*2))}else t.setNumberOfInstances(1)}}const _i={is2D:!1,cellArray:null,currentInput:null,cellOffset:0,primitiveType:0,colorTexture:null,renderEncoder:null,textures:null};function mr(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,_i,r),Nr.extend(t,e,r),e.fragmentShaderTemplate=yi,e.vertexShaderTemplate=Ci,e._tmpMat3=Ht(new Float64Array(9)),e._tmpMat4=ze(new Float64Array(16)),e.UBO=Wt.newInstance({label:"mapperUBO"}),e.UBO.addEntry("BCWCMatrix","mat4x4<f32>"),e.UBO.addEntry("BCSCMatrix","mat4x4<f32>"),e.UBO.addEntry("MCWCNormals","mat4x4<f32>"),e.UBO.addEntry("AmbientColor","vec4<f32>"),e.UBO.addEntry("DiffuseColor","vec4<f32>"),e.UBO.addEntry("EdgeColor","vec4<f32>"),e.UBO.addEntry("SpecularColor","vec4<f32>"),e.UBO.addEntry("AmbientIntensity","f32"),e.UBO.addEntry("DiffuseIntensity","f32"),e.UBO.addEntry("Roughness","f32"),e.UBO.addEntry("Metallic","f32"),e.UBO.addEntry("Ambient","f32"),e.UBO.addEntry("Normal","f32"),e.UBO.addEntry("Emission","f32"),e.UBO.addEntry("NormalStrength","f32"),e.UBO.addEntry("BaseIOR","f32"),e.UBO.addEntry("SpecularIntensity","f32"),e.UBO.addEntry("LineWidth","f32"),e.UBO.addEntry("Opacity","f32"),e.UBO.addEntry("ZValue","f32"),e.UBO.addEntry("PropID","u32"),e.UBO.addEntry("ClipNear","f32"),e.UBO.addEntry("ClipFar","f32"),e.UBO.addEntry("Time","u32"),ot(t,e,["cellArray","currentInput","cellOffset","is2D","primitiveType","renderEncoder"]),e.textures=[],xi(t,e)}const bi=Le(mr,"vtkWebGPUCellArrayMapper");var Cr={newInstance:bi,extend:mr};const{PrimitiveTypes:ua}=Oa;function Si(t,e){e.classHierarchy.push("vtkWebGPUPolyDataMapper"),t.createCellArrayMapper=()=>Cr.newInstance(),t.buildPass=r=>{if(r){e.WebGPUActor=t.getFirstAncestorOfType("vtkWebGPUActor"),e.renderable.getStatic()||e.renderable.update();const a=e.renderable.getInputData();e.renderable.mapScalars(a,1),t.updateCellArrayMappers(a)}},t.updateCellArrayMappers=r=>{const a=[r.getVerts(),r.getLines(),r.getPolys(),r.getStrips()],l=[];let o=0;for(let n=ua.Points;n<=ua.Triangles;n++)if(a[n].getNumberOfValues()>0){e.primitives[n]||(e.primitives[n]=t.createCellArrayMapper());const s=e.primitives[n];s.setCellArray(a[n]),s.setCurrentInput(r),s.setCellOffset(o),s.setPrimitiveType(n),s.setRenderable(e.renderable),o+=a[n].getNumberOfCells(),l.push(s)}else e.primitives[n]=null;if(e.WebGPUActor.getRenderable().getProperty().getEdgeVisibility())for(let n=ua.TriangleEdges;n<=ua.TriangleStripEdges;n++)if(a[n-2].getNumberOfValues()>0){e.primitives[n]||(e.primitives[n]=t.createCellArrayMapper());const s=e.primitives[n];s.setCellArray(a[n-2]),s.setCurrentInput(r),s.setCellOffset(e.primitives[n-2].getCellOffset()),s.setPrimitiveType(n),s.setRenderable(e.renderable),l.push(s)}else e.primitives[n]=null;t.prepareNodes(),t.addMissingChildren(l),t.removeUnusedNodes()}}const Ti={primitives:null};function Vi(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Ti,r),be.extend(t,e,r),e.primitives=[],Si(t,e)}const wi=Le(Vi,"vtkWebGPUPolyDataMapper");lt("vtkMapper",wi);const{PrimitiveTypes:Xa}=Oa;function Di(t,e){e.classHierarchy.push("vtkWebGPUPolyDataMapper2D"),t.createCellArrayMapper=()=>Cr.newInstance(),t.buildPass=r=>{if(r){e.WebGPUActor=t.getFirstAncestorOfType("vtkWebGPUActor2D"),e.renderable.getStatic()||e.renderable.update();const a=e.renderable.getInputData();e.renderable.mapScalars(a,1),t.updateCellArrayMappers(a)}},t.updateCellArrayMappers=r=>{const a=[r.getVerts(),r.getLines(),r.getPolys(),r.getStrips()],l=[];let o=0;for(let n=Xa.Points;n<=Xa.Triangles;n++)if(a[n].getNumberOfValues()>0){e.primitives[n]||(e.primitives[n]=t.createCellArrayMapper());const s=e.primitives[n];s.setCellArray(a[n]),s.setCurrentInput(r),s.setCellOffset(o),s.setPrimitiveType(n),s.setRenderable(e.renderable),s.setIs2D(!0),o+=a[n].getNumberOfCells(),l.push(s)}else e.primitives[n]=null;t.prepareNodes(),t.addMissingChildren(l),t.removeUnusedNodes()}}function Mi(t){return{primitives:[],...t}}function ki(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Mi(r)),be.extend(t,e,r),e.primitives=[],Di(t,e)}const Oi=Le(ki,"vtkWebGPUPolyDataMapper2D");lt("vtkMapper2D",Oi);function Li(t,e){e.classHierarchy.push("vtkWebGPUScalarBarActor"),t.buildPass=r=>{r&&(e.WebGPURenderer=t.getFirstAncestorOfType("vtkWebGPURenderer"),e.WebGPURenderWindow=e.WebGPURenderer.getParent(),e.scalarBarActorHelper.getRenderable()||e.scalarBarActorHelper.setRenderable(e.renderable),t.prepareNodes(),t.addMissingNode(e.scalarBarActorHelper.getBarActor()),t.addMissingNode(e.scalarBarActorHelper.getTmActor()),t.removeUnusedNodes())},t.opaquePass=(r,a)=>{if(r){const l=e.WebGPURenderer?e.WebGPURenderer.getRenderable().getActiveCamera():null,o=e.WebGPURenderer.getTiledSizeAndOrigin();e.scalarBarActorHelper.updateAPISpecificData([o.usize,o.vsize],l,e.WebGPURenderWindow.getRenderable())}}}const Bi={};function Ai(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Bi,r),be.extend(t,e,r),e.scalarBarActorHelper=ka.newScalarBarActorHelper(),Li(t,e)}const Ui=Le(Ai,"vtkWebGPUScalarBarActor");lt("vtkScalarBarActor",Ui);function Ri(t,e){e.classHierarchy.push("vtkWebGPUPixelSpaceCallbackMapper"),t.opaquePass=(r,a)=>{e.WebGPURenderer=t.getFirstAncestorOfType("vtkWebGPURenderer"),e.WebGPURenderWindow=e.WebGPURenderer.getParent();const l=e.WebGPURenderer.getAspectRatio(),o=e.WebGPURenderer?e.WebGPURenderer.getRenderable().getActiveCamera():null,n=e.WebGPURenderer.getTiledSizeAndOrigin(),s=null;e.renderable.getUseZValues(),e.renderable.invokeCallback(e.renderable.getInputData(),o,l,n,s)}}const Fi={};function Pi(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Fi,r),be.extend(t,e,r),Ri(t,e)}const Ei=z.newInstance(Pi,"vtkWebGPUPixelSpaceCallbackMapper");lt("vtkPixelSpaceCallbackMapper",Ei);const Gi=Wr.extractURLParameters(),$i={margin:"0",padding:"0",position:"absolute",top:"0",left:"0",width:"100%",height:"100%",overflow:"hidden"},Ni={position:"absolute",left:"25px",top:"25px",backgroundColor:"white",borderRadius:"5px",listStyle:"none",padding:"5px 10px",margin:"0",display:"block",border:"solid 1px black",maxWidth:"calc(100% - 70px)",maxHeight:"calc(100% - 60px)",overflow:"auto"};function Za(t,e){Object.keys(e).forEach(r=>{t.style[r]=e[r]})}function Wi(t,e){e.classHierarchy.push("vtkFullScreenRenderWindow");const r=document.querySelector("body");e.rootContainer||(e.rootContainer=r),e.container||(e.container=document.createElement("div"),Za(e.container,e.containerStyle||$i),e.rootContainer.appendChild(e.container)),e.rootContainer===r&&(document.documentElement.style.height="100%",r.style.height="100%",r.style.padding="0",r.style.margin="0"),e.renderWindow=zr.newInstance(),e.renderer=Ir.newInstance(),e.renderWindow.addRenderer(e.renderer),e.apiSpecificRenderWindow=e.renderWindow.newAPISpecificView(Gi.viewAPI??e.defaultViewAPI),e.apiSpecificRenderWindow.setContainer(e.container),e.renderWindow.addView(e.apiSpecificRenderWindow),e.interactor=Kr.newInstance(),e.interactor.setInteractorStyle(jr.newInstance()),e.interactor.setView(e.apiSpecificRenderWindow),e.interactor.initialize(),e.interactor.bindEvents(e.container),t.setBackground=e.renderer.setBackground,t.removeController=()=>{const a=e.controlContainer;a&&a.parentNode.removeChild(a)},t.setControllerVisibility=a=>{e.controllerVisibility=a,e.controlContainer&&(a?e.controlContainer.style.display="block":e.controlContainer.style.display="none")},t.toggleControllerVisibility=()=>{t.setControllerVisibility(!e.controllerVisibility)},t.addController=a=>{e.controlContainer=document.createElement("div"),Za(e.controlContainer,e.controlPanelStyle||Ni),e.rootContainer.appendChild(e.controlContainer),e.controlContainer.innerHTML=a,t.setControllerVisibility(e.controllerVisibility),e.rootContainer.addEventListener("keypress",l=>{String.fromCharCode(l.charCode)==="c"&&t.toggleControllerVisibility()})},t.setBackground(...e.background),t.addRepresentation=a=>{a.getActors().forEach(l=>{e.renderer.addActor(l)})},t.removeRepresentation=a=>{a.getActors().forEach(l=>e.renderer.removeActor(l))},t.delete=z.chain(t.setContainer,e.apiSpecificRenderWindow.delete,t.delete),t.resize=()=>{const a=e.container.getBoundingClientRect(),l=window.devicePixelRatio||1;e.apiSpecificRenderWindow.setSize(Math.floor(a.width*l),Math.floor(a.height*l)),e.resizeCallback&&e.resizeCallback(a),e.renderWindow.render()},t.setResizeCallback=a=>{e.resizeCallback=a,t.resize()},e.listenWindowResize&&window.addEventListener("resize",t.resize),t.resize()}const zi={background:[.32,.34,.43],containerStyle:null,controlPanelStyle:null,listenWindowResize:!0,resizeCallback:null,controllerVisibility:!0};function yr(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,zi,r),z.obj(t,e),z.get(t,e,["renderWindow","renderer","apiSpecificRenderWindow","interactor","rootContainer","container","controlContainer"]),Wi(t,e)}const Ii=z.newInstance(yr);var Ki={newInstance:Ii,extend:yr};function ji(t,e){e.classHierarchy.push("vtkSphereSource"),t.requestData=(r,a)=>{if(e.deleted)return;let l=a[0];const o=l?l.getPoints().getDataType():e.pointType;l=Ot.newInstance();let n=0,{thetaResolution:s}=e,c=e.startTheta<e.endTheta?e.startTheta:e.endTheta;c*=Math.PI/180;let u=e.endTheta>e.startTheta?e.endTheta:e.startTheta;u*=Math.PI/180;let d=e.startPhi<e.endPhi?e.startPhi:e.endPhi;d*=Math.PI/180;let g=e.endPhi>e.startPhi?e.endPhi:e.startPhi;g*=Math.PI/180,Math.abs(c-u)<2*Math.PI&&++s;const v=(u-c)/e.thetaResolution,h=e.startPhi<=0?1:0,T=e.phiResolution+(e.endPhi>=180?-1:0),b=e.phiResolution*s+2,w=e.phiResolution*2*e.thetaResolution;let V=0,R=z.newTypedArray(o,b*3),k=new Float32Array(b*3),A=0,F=new Uint32Array(w*5);e.startPhi<=0&&(R[V*3+0]=e.center[0],R[V*3+1]=e.center[1],R[V*3+2]=e.center[2]+e.radius,k[V*3+0]=0,k[V*3+1]=0,k[V*3+2]=1,V++,n++),e.endPhi>=180&&(R[V*3+0]=e.center[0],R[V*3+1]=e.center[1],R[V*3+2]=e.center[2]-e.radius,k[V*3+0]=0,k[V*3+1]=0,k[V*3+2]=-1,V++,n++);const E=e.phiResolution-n,G=(g-d)/(e.phiResolution-1);for(let q=0;q<s;q++){const J=c+q*v;for(let Q=h;Q<T;Q++){const B=d+Q*G,U=e.radius*Math.sin(B);k[V*3+0]=U*Math.cos(J),k[V*3+1]=U*Math.sin(J),k[V*3+2]=e.radius*Math.cos(B),R[V*3+0]=k[V*3+0]+e.center[0],R[V*3+1]=k[V*3+1]+e.center[1],R[V*3+2]=k[V*3+2]+e.center[2];let X=Math.sqrt(k[V*3+0]*k[V*3+0]+k[V*3+1]*k[V*3+1]+k[V*3+2]*k[V*3+2]);X=X===0?1:X,k[V*3+0]/=X,k[V*3+1]/=X,k[V*3+2]/=X,V++}}const x=E*s;if(Math.abs(c-u)<2*Math.PI&&--s,e.startPhi<=0)for(let q=0;q<s;q++)F[A++]=3,F[A++]=E*q+n,F[A++]=E*(q+1)%x+n,F[A++]=0;if(e.endPhi>=180){const q=E-1+n;for(let J=0;J<s;J++)F[A++]=3,F[A++]=E*J+q,F[A++]=n-1,F[A++]=E*(J+1)%x+q}for(let q=0;q<s;q++)for(let J=0;J<E-1;J++){const Q=E*q+J+n,B=Q+1,U=(E*(q+1)+J)%x+n+1;e.latLongTessellation?(F[A++]=4,F[A++]=Q,F[A++]=B,F[A++]=U,F[A++]=U-1):(F[A++]=3,F[A++]=Q,F[A++]=B,F[A++]=U,F[A++]=3,F[A++]=Q,F[A++]=U,F[A++]=U-1)}R=R.subarray(0,V*3),l.getPoints().setData(R,3),k=k.subarray(0,V*3);const L=It.newInstance({name:"Normals",values:k,numberOfComponents:3});l.getPointData().setNormals(L),F=F.subarray(0,A),l.getPolys().setData(F,1),a[0]=l}}const Hi={radius:.5,latLongTessellation:!1,thetaResolution:8,startTheta:0,endTheta:360,phiResolution:8,startPhi:0,endPhi:180,center:[0,0,0],pointType:"Float64Array"};function xr(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Hi,r),z.obj(t,e),z.setGet(t,e,["radius","latLongTessellation","thetaResolution","startTheta","endTheta","phiResolution","startPhi","endPhi"]),z.setGetArray(t,e,["center"],3),z.algo(t,e,0,1),ji(t,e)}const qi=z.newInstance(xr,"vtkSphereSource");var Ji={newInstance:qi,extend:xr};const{vtkWarningMacro:Qi}=z;function Yi(t,e){e.classHierarchy.push("vtkLineSource"),t.requestData=(r,a)=>{if(e.deleted)return;const l=a[0],o=l?l.getPoints().getDataType():e.pointType,n=Ot.newInstance(),s=[];if(Hr(e.point2,e.point1,s),qr(s)<=0){Qi("Zero-length line definition");return}const c=e.resolution,u=c+1,d=z.newTypedArray(o,u*3);n.getPoints().setData(d,3);const g=new Uint32Array(u+1);n.getLines().setData(g,1);let v=0,h=0;for(let T=0;T<c+1;T++)h=T/c,d[v*3]=e.point1[0]+h*s[0],d[v*3+1]=e.point1[1]+h*s[1],d[v*3+2]=e.point1[2]+h*s[2],v++;v=0,g[0]=u;for(let T=0;T<u;T++)g[T+1]=T;a[0]=n}}const Xi={resolution:10,point1:[-1,0,0],point2:[1,0,0],pointType:"Float64Array"};function _r(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Xi,r),z.obj(t,e),z.setGet(t,e,["resolution"]),z.setGetArray(t,e,["point1","point2"],3),z.algo(t,e,0,1),Yi(t,e)}const Zi=z.newInstance(_r,"vtkLineSource");var eo={newInstance:Zi,extend:_r};function to(t,e){e.classHierarchy.push("vtkSphereMapper")}const ao={scaleArray:null,radius:.05,scaleFactor:1};function ro(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,ao,r),rt.extend(t,e,r),z.setGet(t,e,["radius","scaleArray","scaleFactor"]),to(t,e)}z.newInstance(ro,"vtkSphereMapper");class no{constructor(){this.isJg=!1,this.isSelectNode=!1,this.isSelectPipe=!1,this.selectObj=null,this.selectJgPointId=0,this.validNodes=[],this.pipes=[],this.renderWindowWith=Ki.newInstance(),this.renderer=this.renderWindowWith.getRenderer(),this.renderWindow=this.renderWindowWith.getRenderWindow(),this.polyData=Ot.newInstance(),this.mapper=rt.newInstance(),this.actor=vt.newInstance(),this.actor.getProperty().setRepresentation(nt.SURFACE),this.actor.getProperty().setColor(Dt),this.mapper.setInputData(this.polyData),this.actor.setMapper(this.mapper),this.actor2=vt.newInstance(),this.actor2.getProperty().setRepresentation(nt.POINTS),this.actor2.getProperty().setColor(Dt),this.actor2.getProperty().setPointSize(2),this.actor2.setMapper(this.mapper),this.lastActor=null,this.nodeActors=[],this.pipeActors=[],this.interactor=this.renderer.getRenderWindow().getInteractor(),this.apiSpecificRenderWindow=this.interactor.getView(),this.hardwareSelector=this.apiSpecificRenderWindow.getSelector(),this.hardwareSelector.setCaptureZValues(!0),this.hardwareSelector.setFieldAssociation(sr.FIELD_ASSOCIATION_CELLS),document.addEventListener("mousemove",lo),this.jgActor=vt.newInstance(),this.jgMapper=rt.newInstance(),this.jgActor.getProperty().setRepresentation(nt.SURFACE),this.scalarBarActor=ka.newInstance(),this.scalarBarActor.setGenerateTicks(this.generateTicks(5)),this.scalarBarActor.setDrawAboveRangeSwatch(!0),this.scalarBarActor.setDrawNanAnnotation(!1),this.scalarBarActor.setBoxPosition([1,0]);const e=Jr.newInstance();e.addRGBPoint(0,0,0,1),e.addRGBPoint(1,0,1,.5),e.addRGBPoint(2,0,1,0),e.addRGBPoint(3,1,.5,0),e.addRGBPoint(4,1,0,0),this.jgMapper.setLookupTable(e);const r=this.jgMapper.getLookupTable();this.scalarBarActor.setScalarsToColors(r),this.jgActor.setMapper(this.jgMapper)}generateTicks(e){return r=>{const a=r.getLastTickBounds(),l=rr().domain([0,1]).range([a[0],a[1]]),n=l.ticks(e).map(u=>l(u));Qr({minus:"-"});const s=l.tickFormat(n[0],n[n.length-1],e),c=n.map(s).map(u=>Number(parseFloat(u).toPrecision(12)).toPrecision());r.setTicks(n),r.setTickStrings(c)}}modelInit(e,r){this.validNodes=e,this.pipes=r,this.modelCreate()}modelCreate(){console.log("modelInit..");const e=this.polyData.getPoints(),r=this.polyData.getLines();this.validNodes.forEach(n=>{e.insertNextPoint(parseFloat(n.x),parseFloat(n.y),parseFloat(n.z))}),this.pipes.forEach(n=>{let s=this.indexIdByPipeNodeId(n.snId),c=this.indexIdByPipeNodeId(n.enId);r.insertNextCell([s,c])});const a=Ji.newInstance({center:[0,0,0],radius:4}),l=rt.newInstance();l.setInputConnection(a.getOutputPort()),this.validNodes.forEach(n=>{const s=vt.newInstance();s.setMapper(l),s.setPosition(parseFloat(n.x),parseFloat(n.y),parseFloat(n.z)),s.getProperty().setColor(Dt);const c={};c.node=n,c.actor=s,this.nodeActors.push(c)}),this.pipes.forEach(n=>{const s=eo.newInstance();let c=this.pointByPipeNodeId(n.snId),u=this.pointByPipeNodeId(n.enId);s.setPoint1(c),s.setPoint2(u),s.setResolution(12);const d=vt.newInstance(),g=rt.newInstance();d.setMapper(g),d.getProperty().setLineWidth(3),d.getProperty().setColor(Dt),g.setInputConnection(s.getOutputPort());const v={};v.pipe=n,v.actor=d,this.pipeActors.push(v)}),this.modelShow(),this.renderer.resetCamera();const o=this.renderer.getActiveCamera();console.log("摄像头位置",o.getPosition()),console.log("透视或平行相机",o.getParallelProjection()),console.log("水平视角使用",o.getUseHorizontalViewAngle()),o.setUseHorizontalViewAngle(!0),console.log("平行位置投影比例",o.getParallelScale()),o.setParallelScale(600),console.log("窗口中心位置",o.getWindowCenter()),console.log("相机视角",o.getViewAngle()),console.log("相机焦点",o.getFocalPoint()),console.log("相机方向",o.getViewUp()),this.renderWindow.render()}modelClearShow(){this.renderer.removeActor(this.actor),this.renderer.removeActor(this.actor2),this.nodeActors.forEach(e=>{this.renderer.removeActor(e.actor)}),this.pipeActors.forEach(e=>{this.renderer.removeActor(e.actor)})}modelShow(){this.modelClearShow(),this.isSelectNode||this.renderer.addActor(this.actor2),this.isSelectPipe||this.renderer.addActor(this.actor),this.isSelectNode&&this.nodeActors.forEach(e=>{this.renderer.addActor(e.actor)}),this.isSelectPipe&&this.pipeActors.forEach(e=>{this.renderer.addActor(e.actor)})}selectNodes(){this.isSelectNode=!0,this.isSelectPipe=!1,this.modelShow(),this.renderWindow.render()}selectPipes(){this.isSelectNode=!1,this.isSelectPipe=!0,this.modelShow(),this.renderWindow.render()}selectNoting(){this.isSelectNode=!1,this.isSelectPipe=!1,this.modelShow(),this.renderWindow.render()}indexIdByPipeNodeId(e){for(let r=0;r<this.validNodes.length;r++)if(this.validNodes[r].id==e)return r;return 0}pointByPipeNodeId(e){for(let r=0;r<this.validNodes.length;r++){const a=this.validNodes[r];if(a.id==e)return[parseFloat(a.x),parseFloat(a.y),parseFloat(a.z)]}return 0}clearModeAddJg(){this.renderer.addActor(this.jgActor),this.renderer.addActor(this.scalarBarActor),this.modelClearShow(),this.isJg=!0}clearJgAddMode(){this.renderer.removeActor(this.scalarBarActor),this.renderer.removeActor(this.jgActor),this.modelShow(),this.isJg=!1}clearAll(){this.renderer.removeActor(this.jgActor),this.renderer.removeActor(this.scalarBarActor),this.modelClearShow()}selectByNodeId(e){console.log("selectByNodeId",e),this.isSelectNode&&(this.lastActor!=null&&this.lastActor.getProperty().setColor(Dt),this.nodeActors.forEach(r=>{if(e==r.node.id){r.actor.getProperty().setColor(va),this.renderWindow.render(),this.lastActor=r.actor,this.selectObj=r.node;return}}))}selectByPipeId(e){console.log("selectByPipeId",e),this.isSelectPipe&&(this.lastActor!=null&&this.lastActor.getProperty().setColor(Dt),this.pipeActors.forEach(r=>{if(e==r.pipe.id){r.actor.getProperty().setColor(va),this.renderWindow.render(),this.lastActor=r.actor,this.selectObj=r.node;return}}))}}function so(t){if(te.interactor.isAnimating())return;const[e,r]=io(t);te.hardwareSelector.getSourceDataAsync(te.renderer,e,r,e,r).then(a=>{a&&oo(a.generateSelection(e,r,e,r))})}function io(t){const{clientX:e,clientY:r}=t,[a,l]=te.apiSpecificRenderWindow.getSize(),o=Math.round(a*e/window.innerWidth),n=Math.round(l*(1-r/window.innerHeight));return[o,n]}function oo(t){if(!t||t.length===0){te.lastActor==null;return}const{worldPosition:e,compositeID:r,prop:a,propID:l,attributeID:o}=t[0].getProperties();if(te.lastActor!=null&&(te.lastActor.getProperty().setColor(Dt),te.renderWindow.render()),te.nodeActors.forEach(n=>{a==n.actor&&(te.selectObj=n.node,a.getProperty().setColor(va),te.lastActor=a)}),te.pipeActors.forEach(n=>{a==n.actor&&(te.selectObj=n.pipe,a.getProperty().setColor(va),te.lastActor=a)}),te.isJg){if(te.hardwareSelector.getFieldAssociation()!==sr.FIELD_ASSOCIATION_POINTS){const n=a.getMapper().getInputData();n.getCells()||n.buildCells();const s=n.getCellPoints(o);if(s){const c=s.cellPointIds;Array.from(c).map(d=>n.getPoints().getPoint(d));const u=n.getPointData().getScalars().getData();console.log(u[c[0]]),te.selectJgPointId=c[0]}}}else te.renderWindow.render()}const lo=Yr(so,20),Dt=[0,0,1],va=[.1,.8,.1],te=new no;const ve=t=>(yt("data-v-781c6a30"),t=t(),xt(),t),co={class:"l_Dialog tuiy"},uo={class:"my-header"},fo=["id"],go={class:"my_content"},po={class:"dialog-footer class_footer l_btn"},vo={class:"footerbtn"},ho={class:"borderimg"},mo={class:"footerbtn"},Co={class:"borderimg"},yo={class:"my-header"},xo=["id"],_o={class:"my_content1 bgcolor tablefocus scoperadio"},bo={class:"demo-pagination-block pagination"},So={class:"dialog-footer footer_div l_btn"},To={class:"footerbtn flex1"},Vo={class:"borderimg"},wo={class:"footerbtn flex1"},Do={class:"borderimg"},Mo={class:"footerbtn flex1"},ko={class:"borderimg"},Oo={class:"footerbtn flex1"},Lo={class:"borderimg"},Bo={class:"ddd"},Ao={class:"header_l"},Uo={class:"tianjia"},Ro={class:"ddd_div",style:{display:"flex"}},Fo={class:"demo-input-suffix firsttitle magintop"},Po={class:"l_btn class_btn",style:{width:"auto"}},Eo={class:"footerbtn"},Go={class:"borderimg"},$o={class:"my-header"},No=["id"],Wo={class:"delecttitle"},zo={class:"spanclad"},Io={class:"dialog-footer footer_div l_btn"},Ko={class:"footerbtn flex1"},jo={class:"borderimg"},Ho={class:"footerbtn flex1"},qo={class:"borderimg"},Jo={class:"common-layout",style:{margin:"0"}},Qo={class:"demo-collapse"},Yo={class:"asides_content"},Xo={class:"l_padding",style:{padding:"20px 20px 20px 24px"}},Zo={class:"line selecwidth"},el={class:"demo-datetime-picker"},tl=ve(()=>i("span",{class:"inputtext_1"},"选择时间",-1)),al={class:"block"},rl=ve(()=>i("span",{class:"inputtext_1"},"时间步长",-1)),nl={class:"inputkuang"},sl=ve(()=>i("span",{class:"righttext"},"s",-1)),il=ve(()=>i("span",{class:"inputtext_1"},"空间步长",-1)),ol={class:"inputkuang"},ll=ve(()=>i("span",{class:"righttext"},"m",-1)),cl=ve(()=>i("span",{class:"inputtext_1"},"模拟时长",-1)),ul={class:"inputkuang"},dl=ve(()=>i("span",{class:"righttext"},"s",-1)),fl=ve(()=>i("span",{class:"inputtext_1"},"输出步长",-1)),gl={class:"inputkuang"},pl=ve(()=>i("span",{class:"righttext"},"s",-1)),vl=ve(()=>i("span",{class:"inputtext_1"},"交互步长",-1)),hl={class:"inputkuang"},ml=ve(()=>i("span",{class:"righttext"},"s",-1)),Cl={class:"asdis_btn"},yl={class:"btn"},xl={class:"btn"},_l={class:"logs"},bl={class:"logs_pading"},Sl=ve(()=>i("h4",null,"模拟日志",-1)),Tl={class:"footerTextBox"},Vl={class:"common-layout",style:{margin:"0"}},wl={class:"demo-collapse"},Dl={class:"asides_content"},Ml={class:"l_padding",style:{padding:"20px 20px 20px 24px"}},kl={class:"demo-datetime-picker"},Ol=ve(()=>i("span",{class:"inputtext_1"},"选择时间",-1)),Ll={class:"block"},Bl=ve(()=>i("span",{class:"inputtext_1"},"时间步长",-1)),Al={class:"inputkuang"},Ul=ve(()=>i("span",{class:"righttext"},"s",-1)),Rl=ve(()=>i("span",{class:"inputtext_1"},"空间步长",-1)),Fl={class:"inputkuang"},Pl=ve(()=>i("span",{class:"righttext"},"m",-1)),El=ve(()=>i("span",{class:"inputtext_1"},"模拟时长",-1)),Gl={class:"inputkuang"},$l=ve(()=>i("span",{class:"righttext"},"s",-1)),Nl=ve(()=>i("span",{class:"inputtext_1"},"输出步长",-1)),Wl={class:"inputkuang"},zl=ve(()=>i("span",{class:"righttext"},"s",-1)),Il=ve(()=>i("span",{class:"inputtext_1"},"交互步长",-1)),Kl={class:"inputkuang"},jl=ve(()=>i("span",{class:"righttext"},"s",-1)),Hl={class:"asdis_btn"},ql={class:"btn"},Jl={class:"btn"},Ql={class:"logs"},Yl={class:"logs_pading"},Xl=ve(()=>i("h4",null,"模拟日志",-1)),Zl={class:"footerTextBox"},ec={__name:"InfoDialoges",props:{addselect:{type:Function,required:!0},headerobj:{type:Object},valzaiqing:{type:String}},emits:["headerclick","childfun","moxingclick","handleSelect","leftsimulation"],setup(t,{expose:e,emit:r}){const a=t,l=()=>{te.clearJgAddMode(),te.renderWindow.render()};let o=m(!1),n=m("某次某事件火灾事故");m("0");let s=m(""),c=m(null),u=m({lockReconnect:!1,timeout:28*1e3,timeoutObj:null,serverTimeout0bj:null,timeoutnum:null});m({});let d=m({source:"自荐",type:"预演",sid:"-1"}),g=m({}),v=m({source:"",name:""}),h=m({sgaid:"",name:"",time:""});m("");let T=m(!0),b=m();m(""),m("");const w=m(1),V=m(3);let R=m(1);const k=m(!0),A=m();let F=m("Fire");const E=m({collfire:!1,collwater:!1}),G=m(!1),x=m({dialogVisible_fire:!1,jianced:!0,monitor:!1,dialogForm:!1,dialogsgdelect:!1});let L=m({value:[""],pickertime:"24-03-06 00:00:00",acctime:"2024-03-06 00:00:00",dt:"",dx:"",reportstep:"",interactionstep:"",totaltime:"",coids:"",cocodes:""}),q=m({value:["SO2"],pickertime:"",acctime:"2024-03-06 00:00:00",dt:"0.1",dx:"10",reportstep:"60",interactionstep:"3600",totaltime:"3600",coids:"1",cocodes:"CO2"}),J=m({value:["SO2"],pickertime:"",acctime:"2024-03-06 00:00:00",dt:"5",dx:"5",reportstep:"60",interactionstep:"3600",totaltime:"3600",coids:"1",cocodes:"CO2"}),Q=m({}),B=m(["1","2"]),U=m(""),X=m({top:"50px",logs:"",left:"90px"});m("130px"),m({user:"11",region:"shanghai",date:""});const j=m([]),ie=m([]);let ge=m([]),re=m(1);m("#409eff");const Ge=({row:K,rowIndex:S})=>S%2!=0?"evenRow":"oddRow",Ze=m([]),He=()=>{re.value="",x.value.dialogVisible_fire=!0,A.value=F.value,a.addselect(),ce()},ct=()=>{if(h.value.name=="")ee.error("请选择项目");else{if(a.valzaiqing=="模拟数据"){const K={transCode:"D10017",aid:b.value};fe(K).then(S=>{r("leftsimulation",S,g.value)}).catch(S=>{ee.error(S.returnMsg)})}else O(),X.value.logs="",U.value="",r("headerclick",g.value),r("childfun"),r("moxingclick",!0),Ie(),r("handleSelect","1"),ue();x.value.dialogVisible_fire=!1}},ut=K=>{K=="3"?(A.value=="Fire"?E.value.collfire=!0:A.value=="Water"&&(E.value.collwater=!0),dt()):(E.value.collfire=!1,E.value.collwater=!1)},et=()=>{const K={transCode:"D00002",source:d.value.source,type:d.value.type,name:v.value.name,stype:A.value,sid:d.value.sid,aid:b.value};fe(K).then(S=>{x.value.dialogForm=!1,ce(),re.value=null}).catch(S=>{ee.error(S.returnMsg)})},qe=K=>{o.value=!0,g.value=K,console.log(Q.value),v.value.name=K.name,b.value=K.aid,h.value.name=K.name,h.value.time=K.time};function I(K){re.value=null,w.value=K,ce()}const M=K=>{K=="1"?(o.value=!1,s.value="事故添加",b.value=0,v.value.name=""):K=="2"&&(s.value="事故修改",v.value.name=h.value.name),x.value.dialogForm=!0},Ce=()=>{const K={transCode:"D000016",aid:b.value};fe(K).then(S=>{ce(),ee({message:"删除成功",type:"success"})}).catch(S=>{T.value=!1,ee.error(S.returnMsg)})},ce=()=>{A.value=="Fire"?n.value="某次某事件火灾事故":A.value=="Water"&&(n.value="某次某事件突水事故");const K={transCode:"D00003",count:V.value,page:w.value,aid:b.value,stype:A.value};fe(K).then(S=>{T.value=!1,Ze.value=S.rows,R.value=S.total}).catch(S=>{T.value=!1,ee.error(S.returnMsg)})},Ie=()=>{j.value=[],fe({transCode:"D10013"}).then(S=>{ie.value=S.rows,j.value.push(S.rows[0])}).catch(S=>{ee.error(S.returnMsg)})},dt=()=>{ge.value=[];const K={transCode:"D10017",aid:b.value};fe(K).then(S=>{ge.value=S.cocodes.split(","),L.value=S,L.value.pickertime=S.acctime,console.log(L.value.acctime),console.log(ie.value.length),j.value=ge.value,j.value=[];for(let Z=0;Z<ie.value.length;Z++){console.log(ie.value[Z]);for(let Me=0;Me<ge.value.length;Me++)ie.value[Z].code==ge.value[Me]&&j.value.push(ie.value[Z])}}).catch(S=>{Qe()})},$e=()=>{var K=new Date,S=Date.parse(K),Z=ga(S);return Z},Je=()=>{Qe()},Qe=()=>{A.value=="Fire"?(q.value.pickertime=$e(),q.value.acctime=$e(),q.value.cocodes=ie.value[0].code,q.value.coids=ie.value[0].coid,L.value=q.value):(J.value.pickertime=$e(),J.value.acctime=$e(),L.value=J.value)},we=()=>{var K=Date.parse(L.value.pickertime);L.value.acctime=ga(K)},Se=K=>{console.log(K);let S=[],Z=[];for(let Me=0;Me<=K.length-1;Me++)console.log(K[Me]),S.push(K[Me].coid),Z.push(K[Me].code);L.value.coids=S.join(","),L.value.cocodes=Z.join(",")},W=()=>{X.value.logs="",U.value="";const K={transCode:"D00008",aid:b.value,acctime:L.value.acctime,dt:L.value.dt,dx:L.value.dx,reportstep:L.value.reportstep,interactionstep:L.value.interactionstep,totaltime:L.value.totaltime,coids:L.value.coids,cocodes:L.value.cocodes};fe(K).then(S=>{}).catch(S=>{ee.error(S.returnMsg)})},P=()=>{};function oe(K){K.includes("msg=heartCheck")||(U.value=U.value+`
  522. `+K,X.value.logs=U.value);let S=document.getElementById("textarea_id");S.scrollTop=S.scrollHeight}async function ue(){const K={transCode:"D000015",aid:b.value};await fe(K).then(S=>{S.returnCode=="000000000"?oe(S.logs):ee({message:S.returnMsg,type:"error"})}).catch(S=>{})}function O(){const K="ws://www.adicn.com/diswebsocket?projectId="+b.value;console.log(K),c=new WebSocket(K),c.onopen=De,c.onmessage=Pt,c.onerror=Et,c.onclose=tt}const De=K=>{console.log("WebSocket连接成功",K),ft()},Pt=K=>{oe(K.data),Ye()},Et=K=>{console.log("连接错误",K),c.value.close(),bt()},tt=K=>{console.log("断开连接",K)},bt=()=>{u.value.lockReconnect||(u.value.lockReconnect=!0,u.value.timeoutnum&&clearTimeout(u.value.timeoutnum),u.value.timeoutnum=setTimeout(function(){O(),u.value.lockReconnect=!1},1e4))},Ye=()=>{clearTimeout(u.value.timeoutObj),clearTimeout(u.value.serverTimeoutObj),ft()},ft=()=>{u.value.timeoutObj&&clearTimeout(u.value.timeoutObj),u.value.serverTimeoutObj&&clearTimeout(u.value.serverTimeoutObj),u.value.timeoutObj=setTimeout(function(){c.readyState==1?c.send("heartCheck"):(console.log(111111),bt()),u.value.serverTimeoutObj=setTimeout(function(){c.close()},u.value.timeout)},u.value.timeout)};return ma(()=>{c.value=null,X.logs=""}),it(()=>{}),e({monitor:G,accident2:ut,leftcoll:E,classradio:A,aid:b,dialogVisible:k,changeModel:l}),(K,S)=>{const Z=N("el-image"),Me=N("el-radio"),H=N("el-radio-group"),_=N("el-table-column"),Be=N("el-table"),de=N("el-pagination"),xe=N("el-input"),Ne=N("el-form-item"),St=N("el-icon"),Qt=N("el-option"),Gt=N("el-date-picker"),Ke=N("el-form"),We=N("el-collapse-item"),Yt=N("el-collapse"),Xt=N("el-aside"),Zt=Xr("loading");return se(),he("div",co,[f(p(Pe),{modelValue:k.value,"onUpdate:modelValue":S[3]||(S[3]=C=>k.value=C),width:"482","align-center":"",modal:!1,"close-on-click-modal":!1,draggable:"",class:"dialog_class bgcolor"},{header:y(({titleId:C,titleClass:me})=>[i("div",uo,[f(Z,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",{id:C,class:Fe(me)},"灾害类型",10,fo)])]),footer:y(()=>[i("div",po,[i("div",vo,[i("div",ho,[f(p(ae),{onClick:S[1]||(S[1]=C=>k.value=!1)},{default:y(()=>[$("取消")]),_:1})])]),i("div",mo,[i("div",Co,[f(p(ae),{onClick:S[2]||(S[2]=C=>{He(),k.value=!1})},{default:y(()=>[$(" 确定 ")]),_:1})])])])]),default:y(()=>[i("div",go,[f(H,{modelValue:p(F),"onUpdate:modelValue":S[0]||(S[0]=C=>Ve(F)?F.value=C:F=C),class:"radio-group"},{default:y(()=>[f(Me,{label:"Fire"},{default:y(()=>[$("火灾")]),_:1}),f(Me,{label:"Water"},{default:y(()=>[$("突水")]),_:1})]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]),f(p(Pe),{modelValue:x.value.dialogVisible_fire,"onUpdate:modelValue":S[17]||(S[17]=C=>x.value.dialogVisible_fire=C),width:"600",modal:!1,"close-on-click-modal":!1,draggable:"",class:"dialog_class bgcolor tablefocus"},{header:y(({titleId:C,titleClass:me})=>[i("div",yo,[f(Z,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",{id:C,class:Fe(me)}," 事故列表",10,xo)])]),default:y(()=>[i("div",_o,[Ue((se(),mt(Be,{data:Ze.value,style:{width:"100%"},"element-loading-text":"Loading...","highlight-current-row":p(o),"element-loading-background":"rgba(0, 10, 0, 0.1)","row-class-name":Ge,"header-cell-style":{background:" #375A88"},onSelect:P},{default:y(()=>[f(_,{width:"50"},{default:y(C=>[f(Me,{modelValue:p(re),"onUpdate:modelValue":S[4]||(S[4]=me=>Ve(re)?re.value=me:re=me),label:C.row.aid,onChange:me=>qe(C.row)},null,8,["modelValue","label","onChange"])]),_:1}),f(_,{type:"index",label:"序号",width:"50"}),f(_,{prop:"name",label:"名称"}),f(_,{prop:"name",label:"来源",width:"120"}),f(_,{prop:"time",label:"时间",width:"180"})]),_:1},8,["data","highlight-current-row"])),[[Zt,p(T)]]),i("div",bo,[f(de,{"current-page":w.value,"onUpdate:currentPage":S[5]||(S[5]=C=>w.value=C),"page-size":V.value,"onUpdate:pageSize":S[6]||(S[6]=C=>V.value=C),small:"",background:"",layout:"prev, total,pager, next, jumpe,",total:parseInt(p(R)),class:"mt-4",onCurrentChange:I},null,8,["current-page","page-size","total"])]),i("div",So,[i("div",To,[i("div",Vo,[f(p(ae),{onClick:S[7]||(S[7]=C=>{M("1")})},{default:y(()=>[$("添加")]),_:1})])]),i("div",wo,[i("div",Do,[f(p(ae),{onClick:S[8]||(S[8]=C=>M("2"))},{default:y(()=>[$(" 修改 ")]),_:1})])]),i("div",Mo,[i("div",ko,[f(p(ae),{onClick:S[9]||(S[9]=C=>{x.value.dialogsgdelect=!0,x.value.dialogForm=!1})},{default:y(()=>[$(" 删除 ")]),_:1})])]),i("div",Oo,[i("div",Lo,[f(p(ae),{onClick:S[10]||(S[10]=C=>ct())},{default:y(()=>[$(" 确定 ")]),_:1})])])])]),Ue(i("div",Bo,[i("div",Ao,[f(Z,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",Uo,ne(p(s)),1),i("div",{class:"closeimg",onClick:S[11]||(S[11]=C=>x.value.dialogForm=!1)},[f(Z,{src:p(Ta),fit:"contain",style:{"margin-top":"-10px"}},null,8,["src"])]),i("div",Ro,[i("div",Fo,[f(Ne,{label:"事故名称"},{default:y(()=>[f(xe,{modelValue:p(v).name,"onUpdate:modelValue":S[12]||(S[12]=C=>p(v).name=C),class:"w-50 m-2",placeholder:p(n)},null,8,["modelValue","placeholder"])]),_:1}),i("div",Po,[i("div",Eo,[i("div",Go,[f(p(ae),{onClick:S[13]||(S[13]=C=>et())},{default:y(()=>[$(" 确定 ")]),_:1})])])])])])])],512),[[Re,x.value.dialogForm]]),f(p(Pe),{modelValue:x.value.dialogsgdelect,"onUpdate:modelValue":S[16]||(S[16]=C=>x.value.dialogsgdelect=C),width:"400",class:"dialog_class bgcolor tianjia"},{header:y(({titleId:C,titleClass:me})=>[i("div",$o,[f(Z,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",{id:C,class:Fe(me)},"删除",10,No)])]),default:y(()=>[i("h4",Wo,[$(" 是否确认删除"),i("span",zo,ne(p(h).name),1)]),i("div",Io,[i("div",Ko,[i("div",jo,[f(p(ae),{onClick:S[14]||(S[14]=C=>x.value.dialogsgdelect=!1)},{default:y(()=>[$("取消")]),_:1})])]),i("div",Ho,[i("div",qo,[f(p(ae),{onClick:S[15]||(S[15]=C=>{Ce(),x.value.dialogsgdelect=!1})},{default:y(()=>[$(" 确定 ")]),_:1})])])])]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),Ue(i("div",Jo,[f(Xt,{width:"278px",class:"L_aside L_aside1 asideg asidegbg leftbgimg"},{default:y(()=>[i("div",Qo,[f(Yt,{modelValue:p(B),"onUpdate:modelValue":S[30]||(S[30]=C=>Ve(B)?B.value=C:B=C),accordion:""},{default:y(()=>[f(We,{name:"1"},{title:y(()=>[f(St,{class:"iconimg Frame2",fit:"contain"}),$(" 火灾"),f(St,{class:"header-icon"})]),default:y(()=>[i("div",Yo,[f(Ke,{inline:!0,model:p(L),class:"demo-form-inline"},{default:y(()=>[i("div",Xo,[i("div",Zo,[f(Ne,{label:"污染物选择:"},{default:y(()=>[f(p(Da),{modelValue:j.value,"onUpdate:modelValue":S[18]||(S[18]=C=>j.value=C),multiple:"",filterable:"","allow-create":"","default-first-option":"","reserve-keyword":!1,"value-key":"code",onChange:S[19]||(S[19]=C=>Se(C)),placeholder:"请选择"},{default:y(()=>[(se(!0),he(ht,null,Rt(ie.value,C=>(se(),mt(Qt,{key:C.coid,label:C.code,value:C},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),i("ul",null,[i("li",null,[i("div",el,[tl,i("div",al,[f(Gt,{modelValue:p(L).pickertime,"onUpdate:modelValue":S[20]||(S[20]=C=>p(L).pickertime=C),type:"datetime",placeholder:"Pick a Date",format:"YYYY-MM-DD HH:mm:ss",onChange:S[21]||(S[21]=C=>we())},null,8,["modelValue"])])])]),i("li",null,[rl,i("div",nl,[f(xe,{modelValue:p(L).dt,"onUpdate:modelValue":S[22]||(S[22]=C=>p(L).dt=C)},null,8,["modelValue"]),sl])]),i("li",null,[il,i("div",ol,[f(xe,{modelValue:p(L).dx,"onUpdate:modelValue":S[23]||(S[23]=C=>p(L).dx=C)},null,8,["modelValue"]),ll])]),i("li",null,[cl,i("div",ul,[f(xe,{modelValue:p(L).totaltime,"onUpdate:modelValue":S[24]||(S[24]=C=>p(L).totaltime=C)},null,8,["modelValue"]),dl])]),i("li",null,[fl,i("div",gl,[f(xe,{modelValue:p(L).reportstep,"onUpdate:modelValue":S[25]||(S[25]=C=>p(L).reportstep=C)},null,8,["modelValue"]),pl])]),i("li",null,[vl,i("div",hl,[f(xe,{modelValue:p(L).interactionstep,"onUpdate:modelValue":S[26]||(S[26]=C=>p(L).interactionstep=C)},null,8,["modelValue"]),ml])])])]),i("div",Cl,[i("div",yl,[i("span",{class:"spantext",onClick:S[27]||(S[27]=C=>{Je()})},"初始数据")]),i("div",xl,[i("span",{class:"spantext",onClick:S[28]||(S[28]=C=>{W()})},"开始计算")])]),i("div",_l,[i("div",bl,[Sl,i("div",Tl,[f(xe,{class:"footerText",type:"textarea",id:"textarea_id",modelValue:p(X).logs,"onUpdate:modelValue":S[29]||(S[29]=C=>p(X).logs=C)},null,8,["modelValue"])])])])]),_:1},8,["model"])])]),_:1})]),_:1},8,["modelValue"])])]),_:1})],512),[[Re,E.value.collfire]]),Ue(i("div",Vl,[f(Xt,{width:"278px",class:"L_aside L_aside1 asideg asidegbg leftbgimg"},{default:y(()=>[i("div",wl,[f(Yt,{modelValue:p(B),"onUpdate:modelValue":S[41]||(S[41]=C=>Ve(B)?B.value=C:B=C),accordion:""},{default:y(()=>[f(We,{name:"1"},{title:y(()=>[f(St,{class:"iconimg Frame3",fit:"contain"}),$(" 突水"),f(St,{class:"header-icon"})]),default:y(()=>[i("div",Dl,[f(Ke,{inline:!0,model:p(L),class:"demo-form-inline"},{default:y(()=>[i("div",Ml,[i("ul",null,[i("li",null,[i("div",kl,[Ol,i("div",Ll,[f(Gt,{modelValue:p(L).pickertime,"onUpdate:modelValue":S[31]||(S[31]=C=>p(L).pickertime=C),type:"datetime",placeholder:"Pick a Date",format:"YYYY-MM-DD HH:mm:ss","value-format":"YYYY-MM-DD HH:mm:ss",onChange:S[32]||(S[32]=C=>we())},null,8,["modelValue"])])])]),i("li",null,[Bl,i("div",Al,[f(xe,{modelValue:p(L).dt,"onUpdate:modelValue":S[33]||(S[33]=C=>p(L).dt=C)},null,8,["modelValue"]),Ul])]),i("li",null,[Rl,i("div",Fl,[f(xe,{modelValue:p(L).dx,"onUpdate:modelValue":S[34]||(S[34]=C=>p(L).dx=C)},null,8,["modelValue"]),Pl])]),i("li",null,[El,i("div",Gl,[f(xe,{modelValue:p(L).totaltime,"onUpdate:modelValue":S[35]||(S[35]=C=>p(L).totaltime=C)},null,8,["modelValue"]),$l])]),i("li",null,[Nl,i("div",Wl,[f(xe,{modelValue:p(L).reportstep,"onUpdate:modelValue":S[36]||(S[36]=C=>p(L).reportstep=C)},null,8,["modelValue"]),zl])]),i("li",null,[Il,i("div",Kl,[f(xe,{modelValue:p(L).interactionstep,"onUpdate:modelValue":S[37]||(S[37]=C=>p(L).interactionstep=C)},null,8,["modelValue"]),jl])])])]),i("div",Hl,[i("div",ql,[i("span",{class:"spantext",onClick:S[38]||(S[38]=C=>{Je()})},"初始数据")]),i("div",Jl,[i("span",{class:"spantext",onClick:S[39]||(S[39]=C=>{W()})},"开始计算")])]),i("div",Ql,[i("div",Yl,[Xl,i("div",Zl,[f(xe,{class:"footerText",type:"textarea",id:"textarea_id",modelValue:p(X).logs,"onUpdate:modelValue":S[40]||(S[40]=C=>p(X).logs=C)},null,8,["modelValue"])])])])]),_:1},8,["model"])])]),_:1})]),_:1},8,["modelValue"])])]),_:1})],512),[[Re,E.value.collwater]])])}}},tc=st(ec,[["__scopeId","data-v-781c6a30"]]);const _t=t=>(yt("data-v-61b421e8"),t=t(),xt(),t),ac={class:"my-header"},rc=["id"],nc={class:"mgstamkuang"},sc=_t(()=>i("span",null,"名称:",-1)),ic=_t(()=>i("span",null,"粗糙系数:",-1)),oc=_t(()=>i("span",null,"截面类型:",-1)),lc=_t(()=>i("span",null,"截面参数1:",-1)),cc=_t(()=>i("span",null,"截面参数2:",-1)),uc=_t(()=>i("span",null,"截面参数3:",-1)),dc=_t(()=>i("span",null,"截面参数4:",-1)),fc=_t(()=>i("span",null,"截面参数5:",-1)),gc={class:"dialog-footer footer_div l_btn"},pc={class:"footerbtn flex1"},vc={class:"borderimg"},hc={class:"footerbtn flex1"},mc={class:"borderimg"},Cc={__name:"SetPipe",emits:["Dtext"],setup(t,{expose:e,emit:r}){let a=m(!1),l=m("管道信息"),o=m({name:"",snId:"",enId:"",roughCoe:"",sectionType:"",sectionPara1:"",sectionPara2:"",sectionPara3:"",sectionPara4:"",sectionPara5:""});e({dialoglog:a,jgSelect:d});let n=m(null),s=m(null);const c=()=>{r("Dtext",s.value),clearInterval(n.value)},u=()=>{clearInterval(n.value)};ma(()=>{clearInterval(n.value)}),it(()=>{}),wa(()=>{clearInterval(n.value)});function d(){n.value=setInterval(()=>{s.value=te.selectObj,s.value==null?console.log(s.value):(console.log(s.value),o.value=s.value)},200)}return(g,v)=>{const h=N("el-image");return se(),he("div",null,[f(p(Pe),{width:"300px",modelValue:p(a),"onUpdate:modelValue":v[2]||(v[2]=T=>Ve(a)?a.value=T:a=T),modal:!1,"close-on-click-modal":!1,draggable:"",fullscreen:!1,"modal-append-to-body":!1,"modal-class":"summary-dlg",onClose:u,class:"right log_class bgcolor tianjia asideg asidegbg leftbgimg"},{header:y(({titleId:T,titleClass:b})=>[i("div",ac,[f(h,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",{id:T,class:Fe(b)},ne(p(l)),11,rc)])]),default:y(()=>[i("div",nc,[i("ul",null,[i("li",null,[sc,$(ne(p(o).name),1)]),i("li",null,[ic,$(ne(p(o).roughCoe),1)]),i("li",null,[oc,$(ne(p(o).sectionType),1)]),i("li",null,[lc,$(ne(p(o).sectionPara1),1)]),i("li",null,[cc,$(ne(p(o).sectionPara2),1)]),i("li",null,[uc,$(ne(p(o).sectionPara3),1)]),i("li",null,[dc,$(ne(p(o).sectionPara4),1)]),i("li",null,[fc,$(ne(p(o).sectionPara5),1)])])]),i("div",gc,[i("div",pc,[i("div",vc,[f(p(ae),{onClick:v[0]||(v[0]=T=>{u(),Ve(a)?a.value=!1:a=!1})},{default:y(()=>[$("取消")]),_:1})])]),i("div",hc,[i("div",mc,[f(p(ae),{onClick:v[1]||(v[1]=T=>{c(),Ve(a)?a.value=!1:a=!1})},{default:y(()=>[$(" 确定 ")]),_:1})])])])]),_:1},8,["modelValue"])])}}},yc=st(Cc,[["__scopeId","data-v-61b421e8"]]);const ye=t=>(yt("data-v-c01d2138"),t=t(),xt(),t),xc={class:"l_Dialog bbb tablebk"},_c={class:"common-layout",style:{margin:"0"}},bc={class:"demo-collapse"},Sc={class:"asides_content"},Tc={class:"jc_content tablecolor"},Vc={class:"jc_padding"},wc={class:"xian btncolor tablefocus"},Dc={class:"asdis_btn"},Mc=ye(()=>i("div",{class:"btns"},[i("span",{class:"spantext"},"添加")],-1)),kc=[Mc],Oc=ye(()=>i("div",{class:"btns"},[i("span",{class:"spantext"},"修改")],-1)),Lc=[Oc],Bc=ye(()=>i("div",{class:"btns"},[i("span",{class:"spantext"},"删除")],-1)),Ac=[Bc],Uc={class:"xian tablefocus",style:{"margin-top":"20px"}},Rc={class:"header_l header_z"},Fc=ye(()=>i("h4",{class:"tianjia"},"灾害源表",-1)),Pc={class:"asdis_btn"},Ec=ye(()=>i("div",{class:"btns"},[i("span",{class:"spantext"},"添加")],-1)),Gc=[Ec],$c=ye(()=>i("div",{class:"btns"},[i("span",{class:"spantext"}," 修改")],-1)),Nc=[$c],Wc=ye(()=>i("div",{class:"btns"},[i("span",{class:"spantext"},"删除")],-1)),zc=[Wc],Ic={class:"flex_a"},Kc=ye(()=>i("span",{class:"spantext"},"确定",-1)),jc=[Kc],Hc=ye(()=>i("div",{style:{height:"200px"}},null,-1)),qc={class:"common-layout",style:{margin:"0"}},Jc={class:"demo-collapse"},Qc={class:"asides_content"},Yc={class:"jc_content tablecolor"},Xc={class:"jc_padding"},Zc={class:"xian btncolor tablefocus"},eu={class:"asdis_btn"},tu=ye(()=>i("div",{class:"btns"},[i("span",{class:"spantext"},"添加")],-1)),au=[tu],ru=ye(()=>i("div",{class:"btns"},[i("span",{class:"spantext"},"修改")],-1)),nu=[ru],su=ye(()=>i("div",{class:"btns"},[i("span",{class:"spantext"},"删除")],-1)),iu=[su],ou=ye(()=>i("div",{class:"flex_a"},[i("div",{class:"btns"},[i("span",{class:"spantext"},"确定")])],-1)),lu={class:"xian tablefocus",style:{"margin-top":"20px"}},cu={class:"header_l header_z"},uu=ye(()=>i("h4",{class:"tianjia"},"灾害源表",-1)),du={class:"asdis_btn"},fu=ye(()=>i("div",{class:"btns"},[i("span",{class:"spantext"},"添加")],-1)),gu=[fu],pu=ye(()=>i("div",{class:"btns"},[i("span",{class:"spantext"}," 修改")],-1)),vu=[pu],hu=ye(()=>i("div",{class:"btns"},[i("span",{class:"spantext"},"删除")],-1)),mu=[hu],Cu=ye(()=>i("div",{class:"btns"},[i("span",{class:"spantext"},"确定")],-1)),yu=[Cu],xu=ye(()=>i("div",{style:{height:"200px"}},null,-1)),_u={class:"my-header"},bu=["id"],Su={class:"demo-input-suffix firsttitle magintop"},Tu={class:"btn2"},Vu={class:"btn2",style:{"padding-left":"10px"}},wu={class:"input"},Du={class:"dialog-footer footer_div l_btn"},Mu={class:"footerbtn flex1"},ku={class:"borderimg"},Ou={class:"footerbtn flex1"},Lu={class:"borderimg"},Bu={class:"my-header"},Au=["id"],Uu={class:"demo-input-suffix firsttitle leftbgimg2"},Ru={class:"guand_1"},Fu=ye(()=>i("span",{class:"spantext"},"搜索",-1)),Pu=[Fu],Eu={class:"demo-pagination-block",style:{"margin-top":"20px"}},Gu={class:"dialog-footer footer_div l_btn"},$u={class:"footerbtn flex1"},Nu={class:"borderimg"},Wu={class:"footerbtn flex1"},zu={class:"borderimg"},Iu={class:"my-header"},Ku=["id"],ju={class:"dialog-footer footer_div l_btn"},Hu={class:"footerbtn flex1"},qu={class:"borderimg"},Ju={class:"footerbtn flex1"},Qu={class:"borderimg"},Yu={class:"my-header"},Xu=["id"],Zu={class:"dialog-footer footer_div l_btn"},ed={class:"footerbtn flex1"},td={class:"borderimg"},ad={class:"footerbtn flex1"},rd={class:"borderimg"},nd={class:"my-header"},sd=["id"],id={class:"delecttitle"},od={class:"spanclad"},ld={class:"dialog-footer footer_div l_btn"},cd={class:"footerbtn flex1"},ud={class:"borderimg"},dd={class:"footerbtn flex1"},fd={class:"borderimg"},gd={__name:"InfoDisaster",props:{classradio:{type:String},aid:{type:String}},setup(t,{expose:e}){const r=t,a=()=>{te.clearJgAddMode(),te.renderWindow.render()};let l=m(!1),o=m(!1),n=m({addEied:""}),s=m(),c=m("");const u=m({adddialog:!1,dialogsgdelect:!1,dianadddialog:!1,dialogVisiblenode:!1,isDisasterfire:!1,isDisasterwter:!1,adddwater:!1});let d=m("");const g=m(1),v=m(5),h=m([]),T=m([]);m(!0);const b=m({collfire:!1,collwater:!1});let w=m({}),V=m(""),R=m(""),k=m(""),A=m(""),F=m(1),E=m("0");m();let G=m(300);const x=m(),L=m([]),q=m(77),J=m(120);let Q=ir({pname:"",site:.1}),B=m({svid:0,timeline:Number,val1:Number,val2:Number,val3:Number,val4:Number}),U=m({});const X=m([]);let j=m(),ie=m(),ge=m(["1","2"]),re=m("");const Ge=({row:H,rowIndex:_})=>_%2!=0?"evenRow":"oddRow";m([]);const Ze=m([]),He=m([]),ct=H=>{H=="1"?r.classradio=="Fire"?(b.value.collfire=!0,b.value.collwater=!1):r.classradio=="Water"&&(b.value.collwater=!0,b.value.collfire=!1):(b.value.collwater=!1,b.value.collfire=!1)},ut=H=>{console.log(H),d.value=H.name,V.value=H.id},et=()=>{s.value.dialoglog=!0,te.selectPipes(),s.value.jgSelect(),console.log(s.value.dialoglog)},qe=H=>{j.value=H;const _={transCode:"D00005",aid:j.value};fe(_).then(Be=>{r.classradio=="Fire"?Ze.value=Be.rows:h.value=Be.rows}).catch(Be=>{ee.error(Be.returnMsg)})},I=()=>{if(l.value=!1,V.value==null||V.value=="")ee.error("巷道不能为空");else{const H={transCode:"D00004",pid:V.value,aid:j.value,stype:r.classradio,site:Q.site};fe(H).then(_=>{ee({message:_.returnMsg,type:"success"}),qe(j.value)}).catch(_=>{ee.error(_.returnMsg)})}},M=()=>{E.value=="1"?(I(),u.value.dianadddialog=!1):E.value=="2"?r.classradio=="Fire"&&(u.value.dianadddialog=!1):(E.value="3")&&W()},Ce=H=>{re.value=H.pname,U.value=H,l.value=!0,ce.value=H,u.dialogsgdelect=!0,k.value=H.sid},ce=H=>{ie.value=H,H=="1"?re.value==""?ee.error("你还没有选中删除的项目"):u.value.dialogsgdelect=!0:(console.log(11111),u.value.dialogsgdelect=!0)},Ie=()=>{ie.value=="1"?dt():Me()},dt=()=>{const H={transCode:"D000011",sid:k.value};console.log(H),fe(H).then(_=>{ee({message:"删除成功",type:"success"}),qe(j.value)}).catch(_=>{ee.error(_.returnMsg)})};function $e(){De(A.value)}function Je(H){}const Qe=H=>{De(A.value)},we=()=>{l.value=!1,d.value="",V.value="",Q.site=0,we.value="1",E.value="1",c.value="添加"},Se=()=>{E.value="3",c.value="修改",JSON.stringify(U.value)=="{}"?ee.error("你还没有选中修改的项目"):(console.log(U.value),u.value.dianadddialog=!0,j.value=U.value.aid,V.value=U.value.pid,Q.site=U.value.site,d.value=U.value.pname)},W=()=>{const H={transCode:"D000010",pid:V.value,site:Q.site,sid:U.value.sid};fe(H).then(_=>{qe(j.value),ee({message:_.returnMsg,type:"success"})}).catch(_=>{})},P=()=>{A.value="",De("")},oe=()=>{ue()},ue=()=>{d.value="",g.value=1,console.log(),L.value.length!=0&&(V.value=L.value[0].id,d.value=L.value[0].name)},O=(H,_)=>{if(H.length>1){x.value.clearSelection(),x.value.toggleRowSelection(_,!0),L.value=H[1];return}H.length==1?L.value=H:H.length==0},De=H=>{const _={transCode:"D00001",count:v.value,page:g.value,searchtag:H};fe(_).then(Be=>{X.value=Be.rows,F.value=Be.total}).catch(Be=>{})},Pt=(H,_)=>{u.value.isDisasterfire=!0,k.value=_.sid,tt()},Et=(H,_)=>{u.value.disDisasterwter=!0,k.value=_.sid,tt()},tt=()=>{const H={transCode:"D00007",sid:k.value};fe(H).then(_=>{console.log(_.rows),r.classradio=="Fire"?T.value=_.rows:He.value=_.rows}).catch(_=>{})},bt=()=>{if(n.value.addEied=="a"){const H={transCode:"D00006",sid:k.value,timeline:B.value.timeline,val1:B.value.val1,val2:B.value.val2,val3:B.value.val3,val4:B.value.val4};fe(H).then(_=>{ee({message:_.returnMsg,type:"success"}),tt()}).catch(_=>{ee.error(_.returnMsg)})}else K()},Ye=()=>{n.value.addEied="a",B.value.timeline="",B.value.val1="",B.value.val2="",B.value.val3="",B.value.val4="",c.value="添加"},ft=()=>{n.value.addEied="x",c.value="修改",JSON.stringify(w.value)=="{}"?ee.error("你还没有选中修改的项目"):(r.classradio=="Fire"?u.value.adddialog=!0:u.value.adddwater=!0,B.value.timeline=w.value.timeline,B.value.val1=w.value.val1,B.value.val2=w.value.val2,B.value.val3=w.value.val3,B.value.val4=w.value.val4)},K=()=>{const H={transCode:"D000012",svid:w.value.svid,timeline:B.value.timeline,val1:B.value.val1,val2:B.value.val2,val3:B.value.val3,val4:B.value.val4};fe(H).then(_=>{ee({message:_.returnMsg,type:"success"}),tt()}).catch(_=>{ee.error(_.returnMsg)})},S=H=>{o.value=!0,console.log(H),w.value=H,k.value=H.sid,re.value="检测表的一条信息",R.value=H.svid},Z=H=>{o.value=!0,w.value=H,k.value=H.sid,re.value="检测表的一条信息",R.value=H.svid},Me=()=>{const H={transCode:"D000013",svid:R.value};fe(H).then(_=>{ee({message:"删除成功",type:"success"}),tt()}).catch(_=>{ee.error(_.returnMsg)})};return it(()=>{}),e({sour:b,accident3:ct,handledisaster:qe,changeModel:a}),(H,_)=>{const Be=N("el-icon"),de=N("el-table-column"),xe=N("el-table"),Ne=N("el-image"),St=N("el-collapse-item"),Qt=N("el-collapse"),Gt=N("el-aside"),Ke=N("el-input"),We=N("el-form-item"),Yt=N("el-input-number"),Xt=N("el-pagination"),Zt=N("el-form");return se(),he(ht,null,[i("div",xc,[Ue(i("div",_c,[f(Gt,{width:"354px",class:"L_aside L_aside1 asideg asidegbg leftbgimg1"},{default:y(()=>[i("div",bc,[f(Qt,{modelValue:p(ge),"onUpdate:modelValue":_[10]||(_[10]=C=>Ve(ge)?ge.value=C:ge=C),accordion:""},{default:y(()=>[f(St,{name:"1"},{title:y(()=>[f(Be,{class:"iconimg Frame2",fit:"contain"}),$(" 火灾"),f(Be,{class:"header-icon"})]),default:y(()=>[i("div",Sc,[i("div",Tc,[i("div",Vc,[i("div",wc,[f(xe,{data:Ze.value,onRowClick:_[0]||(_[0]=C=>Ce(C)),"header-cell-style":{background:"rgba(13, 22, 57, 0.96) "},"highlight-current-row":p(l),style:{width:"100%"},"max-height":p(G),"row-class-name":Ge},{default:y(()=>[f(de,{prop:"pname",label:"选择巷道"}),f(de,{prop:"site",label:"位置"}),f(de,{label:"操作"},{default:y(C=>[f(p(ae),{size:"small",type:"success",onClick:Ea(me=>Pt(C.$index,C.row),["stop"])},{default:y(()=>[$("查看")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data","header-cell-style","highlight-current-row","max-height"]),i("div",Dc,[i("div",{class:"flex_a",onClick:_[1]||(_[1]=C=>{we(),u.value.dianadddialog=!0})},kc),i("div",{class:"flex_a",onClick:_[2]||(_[2]=C=>Se())},Lc),i("div",{class:"flex_a",onClick:_[3]||(_[3]=C=>{ce("1")})},Ac)])]),Ue(i("div",Uc,[i("div",Rc,[f(Ne,{src:p(Oe),fit:"contain"},null,8,["src"]),Fc,i("div",{class:"closeimg",onClick:_[4]||(_[4]=C=>u.value.isDisasterfire=!1)},[f(Ne,{src:p(Ta),fit:"contain"},null,8,["src"])])]),f(xe,{data:T.value,style:{width:"100%"},"row-class-name":Ge,"header-cell-style":{background:"rgba(13, 22, 57, 0.96) "},"max-height":p(G),onRowClick:_[5]||(_[5]=C=>S(C)),"highlight-current-row":p(o)},{default:y(()=>[f(de,{prop:"timeline",label:"时间",width:"70"}),f(de,{prop:"val1",label:"温度℃",width:"70"}),f(de,{prop:"val2",label:"二氧化碳",width:"100"}),f(de,{prop:"val3",label:"二氧化硫",width:"100"})]),_:1},8,["data","header-cell-style","max-height","highlight-current-row"]),i("div",Pc,[i("div",{class:"flex_a",onClick:_[6]||(_[6]=C=>{Ye(),u.value.adddialog=!0,Ve(o)?o.value=!1:o=!1})},Gc),i("div",{class:"flex_a",onClick:_[7]||(_[7]=C=>ft())},Nc),i("div",{class:"flex_a",onClick:_[8]||(_[8]=C=>{ce("2"),u.value.dialogsgdelect=!0})},zc),i("div",Ic,[i("div",{class:"btns",onClick:_[9]||(_[9]=C=>u.value.isDisasterfire=!1)},jc)])])],512),[[Re,u.value.isDisasterfire]])]),Hc])])]),_:1})]),_:1},8,["modelValue"])])]),_:1})],512),[[Re,b.value.collfire]]),Ue(i("div",qc,[f(Gt,{width:"354px",class:"L_aside L_aside1 asideg asidegbg leftbgimg1"},{default:y(()=>[i("div",Jc,[f(Qt,{modelValue:p(ge),"onUpdate:modelValue":_[21]||(_[21]=C=>Ve(ge)?ge.value=C:ge=C),accordion:""},{default:y(()=>[f(St,{name:"1"},{title:y(()=>[f(Be,{class:"iconimg Frame3",fit:"contain"}),$(" 突水"),f(Be,{class:"header-icon"})]),default:y(()=>[i("div",Qc,[i("div",Yc,[i("div",Xc,[i("div",Zc,[f(xe,{data:h.value,style:{width:"100%"},"row-class-name":Ge,"header-cell-style":{background:"rgba(13, 22, 57, 0.96) "},onRowClick:_[11]||(_[11]=C=>Ce(C)),"max-height":"350px","highlight-current-row":p(l)},{default:y(()=>[f(de,{prop:"pname",label:"选择巷道"}),f(de,{prop:"site",label:"位置"}),f(de,{label:"操作"},{default:y(C=>[f(p(ae),{size:"small",type:"success",onClick:Ea(me=>Et(C.$index,C.row),["stop"])},{default:y(()=>[$("查看")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data","header-cell-style","highlight-current-row"]),i("div",eu,[i("div",{class:"flex_a",onClick:_[12]||(_[12]=C=>{we(),u.value.dianadddialog=!0})},au),i("div",{class:"flex_a",onClick:_[13]||(_[13]=C=>Se())},nu),i("div",{class:"flex_a",onClick:_[14]||(_[14]=C=>{ce("1")})},iu),ou])]),Ue(i("div",lu,[i("div",cu,[f(Ne,{src:p(Oe),fit:"contain"},null,8,["src"]),uu,i("div",{class:"closeimg",onClick:_[15]||(_[15]=C=>u.value.disDisasterwter=!1)},[f(Ne,{src:p(Ta),fit:"contain"},null,8,["src"])])]),f(xe,{data:He.value,style:{width:"100%"},"max-height":p(G),"row-class-name":Ge,"header-cell-style":{background:"rgba(13, 22, 57, 0.96) "},onRowClick:_[16]||(_[16]=C=>Z(C)),"highlight-current-row":p(o)},{default:y(()=>[f(de,{prop:"timeline",label:"时间/s"}),f(de,{prop:"val1",label:"突水量(m³/s)"})]),_:1},8,["data","max-height","header-cell-style","highlight-current-row"]),i("div",du,[i("div",{class:"flex_a",onClick:_[17]||(_[17]=C=>{Ye(),u.value.adddwater=!0})},gu),i("div",{class:"flex_a",onClick:_[18]||(_[18]=C=>ft())},vu),i("div",{class:"flex_a",onClick:_[19]||(_[19]=C=>{ce("2")})},mu),i("div",{class:"flex_a",onClick:_[20]||(_[20]=C=>u.value.disDisasterwter=!1)},yu)])],512),[[Re,u.value.disDisasterwter]])]),xu])])]),_:1})]),_:1},8,["modelValue"])])]),_:1})],512),[[Re,b.value.collwater]]),f(p(Pe),{modelValue:u.value.dianadddialog,"onUpdate:modelValue":_[28]||(_[28]=C=>u.value.dianadddialog=C),width:"400","align-center":"",modal:!1,"close-on-click-modal":!1,draggable:"",fullscreen:!1,"modal-append-to-body":!1,"modal-class":"summary-dlg",class:"dialog_class bgcolor tianjia"},{header:y(({titleId:C,titleClass:me})=>[i("div",_u,[f(Ne,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",{id:C,class:Fe(me)},ne(p(c)),11,bu)])]),default:y(()=>[i("div",Su,[f(We,{label:"巷道名称","label-width":q.value},{default:y(()=>[f(Ke,{modelValue:p(d),"onUpdate:modelValue":_[22]||(_[22]=C=>Ve(d)?d.value=C:d=C),disabled:"",class:"w-50 m-2",placeholder:"巷道名称"},null,8,["modelValue"])]),_:1},8,["label-width"]),i("div",Tu,[f(p(ae),{type:"primary",onClick:_[23]||(_[23]=C=>{P(),u.value.dialogVisiblenode=!0})},{default:y(()=>[$("选择巷道")]),_:1})]),i("div",Vu,[f(p(ae),{type:"primary",onClick:_[24]||(_[24]=C=>et())},{default:y(()=>[$("3D巷道选择")]),_:1})])]),i("div",wu,[f(We,{label:"位置","label-width":q.value},{default:y(()=>[f(Yt,{modelValue:p(Q).site,"onUpdate:modelValue":_[25]||(_[25]=C=>p(Q).site=C),min:0,max:1,precision:2,step:.1,"controls-position":"right",class:"w-50 m-2",placeholder:"位置"},null,8,["modelValue"])]),_:1},8,["label-width"])]),i("div",Du,[i("div",Mu,[i("div",ku,[f(p(ae),{onClick:_[26]||(_[26]=C=>u.value.dianadddialog=!1)},{default:y(()=>[$("取消")]),_:1})])]),i("div",Ou,[i("div",Lu,[f(p(ae),{onClick:_[27]||(_[27]=C=>{M(),u.value.dianadddialog=!1})},{default:y(()=>[$(" 确定 ")]),_:1})])])])]),_:1},8,["modelValue"]),f(p(Pe),{modelValue:u.value.dialogVisiblenode,"onUpdate:modelValue":_[34]||(_[34]=C=>u.value.dialogVisiblenode=C),width:"50%",class:"dialog_class bgcolor tianjia asideg asidegbg leftbgimg"},{header:y(({titleId:C,titleClass:me})=>[i("div",Bu,[f(Ne,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",{id:C,class:Fe(me)},"选择巷道",10,Au)])]),default:y(()=>[i("div",Uu,[i("div",Ru,[f(We,{label:"节点选择","label-width":q.value},{default:y(()=>[f(Ke,{modelValue:p(A),"onUpdate:modelValue":_[29]||(_[29]=C=>Ve(A)?A.value=C:A=C),class:"w-50 m-2",placeholder:"巷道名称"},null,8,["modelValue"])]),_:1},8,["label-width"]),i("div",{class:"asdis_btn"},[i("div",{class:"flex_a"},[i("div",{class:"btns",onClick:$e},Pu)])])]),f(xe,{"row-class-name":Ge,"max-height":p(G),ref_key:"multipleTableRef",ref:x,data:X.value,style:{width:"100%"},onSelect:O,"header-cell-style":{background:"rgba(13, 22, 57, 0.96) "}},{default:y(()=>[f(de,{type:"selection",width:"55"}),f(de,{property:"snId",label:"开始节点"}),f(de,{property:"enId",label:"结束节点"}),f(de,{property:"id",label:"编号",width:"70"}),f(de,{property:"name",label:"名称",width:"70"}),f(de,{property:"sectionType",label:"截面类型",width:"120"}),f(de,{property:"roughCoe",label:"粗糙系数"}),f(de,{property:"sectionPara1",label:"截面参数1",width:"90"}),f(de,{property:"sectionPara2",label:"截面参数2",width:"90"}),f(de,{property:"sectionPara3",label:"截面参数3",width:"90"}),f(de,{property:"sectionPara4",label:"截面参数4",width:"90"}),f(de,{property:"sectionPara5",label:"截面参数5",width:"90"})]),_:1},8,["max-height","data","header-cell-style"]),i("div",Eu,[f(Xt,{"current-page":g.value,"onUpdate:currentPage":_[30]||(_[30]=C=>g.value=C),"page-size":v.value,"onUpdate:pageSize":_[31]||(_[31]=C=>v.value=C),small:"",background:"",layout:"prev, total,pager, next, jumpe,",total:parseInt(p(F)),class:"mt-4",onSizeChange:Je,onCurrentChange:Qe},null,8,["current-page","page-size","total"])]),i("div",Gu,[i("div",$u,[i("div",Nu,[f(p(ae),{onClick:_[32]||(_[32]=C=>u.value.dialogVisiblenode=!1)},{default:y(()=>[$("取消")]),_:1})])]),i("div",Wu,[i("div",zu,[f(p(ae),{onClick:_[33]||(_[33]=C=>{oe(),u.value.dialogVisiblenode=!1})},{default:y(()=>[$(" 确定 ")]),_:1})])])])])]),_:1},8,["modelValue"]),f(p(Pe),{modelValue:u.value.adddialog,"onUpdate:modelValue":_[41]||(_[41]=C=>u.value.adddialog=C),width:"400","align-center":"",modal:!1,"close-on-click-modal":!1,draggable:"",fullscreen:!1,"modal-append-to-body":!1,"modal-class":"summary-dlg",class:"dialog_class bgcolor tianjia"},{header:y(({titleId:C,titleClass:me})=>[i("div",Iu,[f(Ne,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",{id:C,class:Fe(me)},ne(p(c)),11,Ku)])]),default:y(()=>[i("div",null,[f(Zt,null,{default:y(()=>[f(We,{label:"时间/s","label-width":J.value},{default:y(()=>[f(Ke,{modelValue:p(B).timeline,"onUpdate:modelValue":_[35]||(_[35]=C=>p(B).timeline=C),modelModifiers:{Number:!0},class:"w-50 m-2",placeholder:"请输入时间秒",maxlength:"12",step:"0.01",oninput:"value=value.replace(/^|[^0-9]/g,'')"},null,8,["modelValue"])]),_:1},8,["label-width"]),f(We,{label:"温度℃","label-width":J.value},{default:y(()=>[f(Ke,{modelValue:p(B).val1,"onUpdate:modelValue":_[36]||(_[36]=C=>p(B).val1=C),modelModifiers:{Number:!0},class:"w-50 m-2",placeholder:"请输入",maxlength:"10",step:"0.01",oninput:"value=value.replace(/[^0-9.]/g,'')"},null,8,["modelValue"])]),_:1},8,["label-width"]),f(We,{label:"二氧化碳","label-width":J.value},{default:y(()=>[f(Ke,{modelValue:p(B).val2,"onUpdate:modelValue":_[37]||(_[37]=C=>p(B).val2=C),class:"w-50 m-2",placeholder:"请输入",maxlength:"10",step:"0.01",oninput:"value=value.replace(/[^0-9.]/g,'')"},null,8,["modelValue"])]),_:1},8,["label-width"]),f(We,{label:"二氧化硫","label-width":J.value},{default:y(()=>[f(Ke,{modelValue:p(B).val3,"onUpdate:modelValue":_[38]||(_[38]=C=>p(B).val3=C),modelModifiers:{Number:!0},class:"w-50 m-2",placeholder:"请输入",maxlength:"10",oninput:"value=value.replace(/[^0-9.]/g,'')"},null,8,["modelValue"])]),_:1},8,["label-width"])]),_:1})]),i("div",ju,[i("div",Hu,[i("div",qu,[f(p(ae),{onClick:_[39]||(_[39]=C=>u.value.adddialog=!1)},{default:y(()=>[$("取消")]),_:1})])]),i("div",Ju,[i("div",Qu,[f(p(ae),{onClick:_[40]||(_[40]=C=>{bt(),u.value.adddialog=!1})},{default:y(()=>[$(" 确定 ")]),_:1})])])])]),_:1},8,["modelValue"]),f(p(Pe),{modelValue:u.value.adddwater,"onUpdate:modelValue":_[46]||(_[46]=C=>u.value.adddwater=C),width:"400",class:"dialog_class bgcolor tianjia"},{header:y(({titleId:C,titleClass:me})=>[i("div",Yu,[f(Ne,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",{id:C,class:Fe(me)},"添加",10,Xu)])]),default:y(()=>[i("div",null,[f(Zt,null,{default:y(()=>[f(We,{label:"时间/s","label-width":J.value},{default:y(()=>[f(Ke,{modelValue:p(B).timeline,"onUpdate:modelValue":_[42]||(_[42]=C=>p(B).timeline=C),class:"w-50 m-2",placeholder:"请输入时间秒",oninput:"value=value.replace(/^0|[^0-9]/g,'')"},null,8,["modelValue"])]),_:1},8,["label-width"]),f(We,{label:"突水量(m³/s)","label-width":J.value},{default:y(()=>[f(Ke,{modelValue:p(B).val1,"onUpdate:modelValue":_[43]||(_[43]=C=>p(B).val1=C),class:"w-50 m-2",placeholder:"请输入",oninput:"value=value.replace(/[^0-9.]/g,'')"},null,8,["modelValue"])]),_:1},8,["label-width"])]),_:1})]),i("div",Zu,[i("div",ed,[i("div",td,[f(p(ae),{onClick:_[44]||(_[44]=C=>u.value.adddwater=!1)},{default:y(()=>[$("取消")]),_:1})])]),i("div",ad,[i("div",rd,[f(p(ae),{onClick:_[45]||(_[45]=C=>{bt(),u.value.adddwater=!1})},{default:y(()=>[$(" 确定 ")]),_:1})])])])]),_:1},8,["modelValue"]),f(p(Pe),{modelValue:u.value.dialogsgdelect,"onUpdate:modelValue":_[49]||(_[49]=C=>u.value.dialogsgdelect=C),width:"400",class:"dialog_class bgcolor tianjia"},{header:y(({titleId:C,titleClass:me})=>[i("div",nd,[f(Ne,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",{id:C,class:Fe(me)},"删除框",10,sd)])]),default:y(()=>[i("h4",id,[$(" 是否确认删除 "),i("span",od,ne(p(re)),1)]),i("div",ld,[i("div",cd,[i("div",ud,[f(p(ae),{onClick:_[47]||(_[47]=C=>u.value.dialogsgdelect=!1)},{default:y(()=>[$("取消")]),_:1})])]),i("div",dd,[i("div",fd,[f(p(ae),{onClick:_[48]||(_[48]=C=>{Ie(),u.value.dialogsgdelect=!1})},{default:y(()=>[$(" 确定 ")]),_:1})])])])]),_:1},8,["modelValue"])]),f(yc,{ref_key:"dialogtrue",ref:s,onDtext:ut},null,512)],64)}}},pd=st(gd,[["__scopeId","data-v-c01d2138"]]);const Jt=t=>(yt("data-v-5f844eb5"),t=t(),xt(),t),vd={class:"my-header"},hd=["id"],md={class:"mgstamkuang"},Cd=Jt(()=>i("span",null,"节点编号:",-1)),yd=Jt(()=>i("span",null,"名称:",-1)),xd=Jt(()=>i("span",null,"X:",-1)),_d=Jt(()=>i("span",null,"y:",-1)),bd=Jt(()=>i("span",null,"Z:",-1)),Sd={class:"dialog-footer footer_div l_btn"},Td={class:"footerbtn flex1"},Vd={class:"borderimg"},wd={class:"footerbtn flex1"},Dd={class:"borderimg"},Md={__name:"SetNode",emits:["Dtext"],setup(t,{expose:e,emit:r}){let a=m(!1),l=m("节点信息"),o=m({id:"",name:"",x:"",y:"",z:""});e({dialoglog:a,jgSelect:d});let n=m(null),s=m(null);const c=()=>{r("Dtext",s.value),clearInterval(n.value)},u=()=>{clearInterval(n.value)};ma(()=>{clearInterval(n.value)}),it(()=>{}),wa(()=>{clearInterval(n.value)});function d(){n.value=setInterval(()=>{s.value=te.selectObj,s.value==null||(o.value=s.value)},200)}return(g,v)=>{const h=N("el-image");return se(),he("div",null,[f(p(Pe),{width:"300px",modelValue:p(a),"onUpdate:modelValue":v[2]||(v[2]=T=>Ve(a)?a.value=T:a=T),modal:!1,"close-on-click-modal":!1,draggable:"",fullscreen:!1,"modal-append-to-body":!1,"modal-class":"summary-dlg",onClose:u,class:"right log_class bgcolor tianjia asideg asidegbg leftbgimg"},{header:y(({titleId:T,titleClass:b})=>[i("div",vd,[f(h,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",{id:T,class:Fe(b)},ne(p(l)),11,hd)])]),default:y(()=>[i("div",md,[i("ul",null,[i("li",null,[Cd,$(ne(p(o).id),1)]),i("li",null,[yd,$(ne(p(o).name),1)]),i("li",null,[xd,$(ne(p(o).x),1)]),i("li",null,[_d,$(ne(p(o).y),1)]),i("li",null,[bd,$(ne(p(o).z),1)])])]),i("div",Sd,[i("div",Td,[i("div",Vd,[f(p(ae),{onClick:v[0]||(v[0]=T=>{u(),Ve(a)?a.value=!1:a=!1})},{default:y(()=>[$("取消")]),_:1})])]),i("div",wd,[i("div",Dd,[f(p(ae),{onClick:v[1]||(v[1]=T=>{c(),Ve(a)?a.value=!1:a=!1})},{default:y(()=>[$(" 确定 ")]),_:1})])])])]),_:1},8,["modelValue"])])}}},kd=st(Md,[["__scopeId","data-v-5f844eb5"]]);const Bt=t=>(yt("data-v-aef27049"),t=t(),xt(),t),Od={class:"l_Dialog bou tablebk"},Ld={class:"common-layout",style:{margin:"0"}},Bd={class:"demo-collapse"},Ad={class:"asides_content"},Ud={class:"jc_content tablecolor"},Rd={class:"jc_padding font12"},Fd={class:"xian btncolor tablefocus bmar"},Pd={class:"asdis_btn"},Ed={class:"flex_a"},Gd=Bt(()=>i("span",{class:"spantext"},"添加",-1)),$d=[Gd],Nd={class:"flex_a"},Wd=Bt(()=>i("span",{class:"spantext"},"修改",-1)),zd=[Wd],Id={class:"flex_a"},Kd=Bt(()=>i("span",{class:"spantext"},"删除",-1)),jd=[Kd],Hd={class:"common-layout",style:{margin:"0"}},qd={class:"demo-collapse"},Jd={class:"asides_content"},Qd={class:"jc_content tablecolor"},Yd={class:"jc_padding font12"},Xd={class:"xian btncolor tablefocus bmar"},Zd={class:"asdis_btn padingcla"},ef={class:"flex_a"},tf=Bt(()=>i("span",{class:"spantext"},"添加",-1)),af=[tf],rf={class:"flex_a"},nf=Bt(()=>i("span",{class:"spantext"},"修改",-1)),sf=[nf],of={class:"flex_a"},lf=Bt(()=>i("span",{class:"spantext"},"删除",-1)),cf=[lf],uf={class:"my-header"},df=["id"],ff={class:"addye"},gf={key:0,class:"fireclass"},pf={class:"l_padding input",style:{padding:"20px 20px 20px 24px"}},vf={class:"demo-input-suffix firsttitle magintop"},hf={class:"btn2"},mf={class:"btn2",style:{"padding-left":"10px"}},Cf={key:1,class:"Waterclass"},yf={class:"l_padding input",style:{padding:"20px 20px 20px 24px"}},xf={class:"demo-input-suffix firsttitle magintop"},_f={class:"btn2"},bf={class:"btn2",style:{"padding-left":"10px"}},Sf={class:"dialog-footer footer_div l_btn"},Tf={class:"footerbtn flex1"},Vf={class:"borderimg"},wf={class:"footerbtn flex1"},Df={class:"borderimg"},Mf={class:"my-header"},kf=["id"],Of={class:"demo-input-suffix firsttitle leftbgimg2"},Lf={class:"guand_1"},Bf=Bt(()=>i("span",{class:"spantext"},"搜索",-1)),Af=[Bf],Uf={class:"demo-pagination-block",style:{"margin-top":"20px"}},Rf={class:"dialog-footer footer_div l_btn"},Ff={class:"footerbtn flex1"},Pf={class:"borderimg"},Ef={class:"footerbtn flex1"},Gf={class:"borderimg"},$f={class:"my-header"},Nf=["id"],Wf={class:"delecttitle"},zf={class:"spanclad"},If={class:"dialog-footer footer_div l_btn"},Kf={class:"footerbtn flex1"},jf={class:"borderimg"},Hf={class:"footerbtn flex1"},qf={class:"borderimg"},Jf={__name:"InfoBoundary",props:{classradio:String},setup(t,{expose:e}){const r=t,a=()=>{te.clearJgAddMode(),te.renderWindow.render()};let l=m();const o=()=>{l.value.dialoglog=!0,te.selectNodes(),l.value.jgSelect(),console.log(l.value.dialoglog)},n=I=>{console.log(I),F.value=I.id,x.value.nname=I.name};let s=m({dialogVisiblenode:!1,dialogsgdelect:!1}),c=m("");ir({id:0,name:"灾情演化",value:".vtk"});let u=m({}),d=m(""),g=m(400);const v=m(),h=m([]),T=m(77),b=m(120);let w=m([]),V=m(""),R=m(1);const k=m(1),A=m(5);let F=m(),E=m(),G=m(),x=m({nname:"",type:"Pressure",flow:"",pressure:"",temperature:"",polcon1:"",polcon2:"",user:"11",nodesel:"1",nodesselect:[{value:"1",label:"1"},{value:"2",label:"2"}],region:"massflow",options:[{value:"massflow",label:"流量边界"},{value:"Pressure",label:" 压力边界"}],region:"边界出口",options2:[{value:"边界出口"}]}),L=m(["1","2"]);const q=m([]);m("");const J=m({dialogVisible:!1}),Q=m({collfire:!1,collwater:!1}),B=()=>{j("")};function U(){j(V.value)}const X=I=>{j(V.value)},j=I=>{const M={transCode:"D00000",count:A.value,page:k.value,searchtag:I};fe(M).then(Ce=>{w.value=Ce.rows,R.value=Ce.total}).catch(Ce=>{ee.error(Ce.returnMsg)})},ie=()=>{s.value.dialogVisiblenode=!1,x.value.nname="",k.value=1,console.log(),h.value.length!=0?(F.value=h.value[0].id,x.value.nname=h.value[0].name):x.value.nname=""},ge=(I,M)=>{if(I.length>1){v.value.clearSelection(),v.value.toggleRowSelection(M,!0),h.value=I[1];return}I.length==1?h.value=I:I.length==0},re=()=>{E.value="",x.value.nname="",x.value.type="Pressure",x.value.flow="0",x.value.pressure="100000",x.value.temperature="25",x.value.polcon1="0",x.value.polcon2="0",c.value="添加",r.classradio=="Fire"?x.value.type="Pressure":r.classradio=="Water"&&(x.value.type="边界出口")},Ge=()=>{c.value="修改",JSON.stringify(u.value)=="{}"?ee.error("你还没有选中修改的项目"):(r.classradio=="Fire"?x.value.type="Pressure":r.classradio=="Water"&&(x.value.type="边界出口"),console.log(u.value),E.value=u.value.bid,F.value=u.value.nid,G.value=u.value.aid,J.value.dialogVisible=!0,x.value.nname=u.value.nname,x.value.type=u.value.type,x.value.flow=u.value.flow,x.value.pressure=u.value.pressure,x.value.temperature=u.value.temperature,x.value.polcon1=u.value.polcon1,x.value.polcon2=u.value.polcon2)},Ze=()=>{const I={transCode:"D10008",bid:E.value,nid:F.value,nname:x.value.nname,type:x.value.type,aid:G.value,flow:x.value.flow,pressure:x.value.pressure,temperature:x.value.temperature,polcon1:x.value.polcon1,polcon2:x.value.polcon2};fe(I).then(M=>{He(G.value)}).catch(M=>{ee.error(M.returnMsg)})},He=I=>{G.value=I;const M={transCode:"D10007",aid:G.value};fe(M).then(Ce=>{q.value=Ce.rows}).catch(Ce=>{ee.error(Ce.returnMsg)})},ct=I=>{console.log(I),u.value=I,E.value=I.bid,d.value=I.nname},ut=()=>{const I={transCode:"D10009",bid:E.value};console.log(I),fe(I).then(M=>{ee({message:"删除成功",type:"success"}),He(G.value)}).catch(M=>{ee.error(M.returnMsg)})},et=({row:I,rowIndex:M})=>M%2!=0?"evenRow":"oddRow",qe=I=>{I=="2"?r.classradio=="Fire"?Q.value.collfire=!0:r.classradio=="Water"&&(Q.value.collwater=!0):(Q.value.collfire=!1,Q.value.collwater=!1)};return it(()=>{}),e({boun:Q,accident4:qe,addboundary:He,changeModel:a}),(I,M)=>{const Ce=N("el-icon"),ce=N("el-table-column"),Ie=N("el-table"),dt=N("el-collapse-item"),$e=N("el-collapse"),Je=N("el-aside"),Qe=N("el-image"),we=N("el-input"),Se=N("el-form-item"),W=N("el-option"),P=N("el-select"),oe=N("el-form"),ue=N("el-pagination");return se(),he(ht,null,[i("div",Od,[i("div",Ld,[Ue(f(Je,{width:"591px",class:"L_aside L_aside1 asideg asidegbg leftbgimg2"},{default:y(()=>[i("div",Bd,[f($e,{modelValue:p(L),"onUpdate:modelValue":M[4]||(M[4]=O=>Ve(L)?L.value=O:L=O),accordion:""},{default:y(()=>[f(dt,{name:"1"},{title:y(()=>[f(Ce,{class:"iconimg Frame2",fit:"contain"}),$(" 火灾"),f(Ce,{class:"header-icon"})]),default:y(()=>[i("div",Ad,[i("div",Ud,[i("div",Rd,[i("div",Fd,[f(Ie,{data:q.value,style:{width:"100%"},"max-height":p(g),"highlight-current-row":!0,"row-class-name":et,onRowClick:M[0]||(M[0]=O=>ct(O)),"header-cell-style":{background:"rgba(13, 22, 57, 0.96) "}},{default:y(()=>[f(ce,{prop:"nid",label:"节点选择"}),f(ce,{label:"边界类型",prop:"type",align:"center",width:"80px"},{default:y(O=>[$(ne(O.row.type=="massflow"?"流量边界":(O.row.type=="Pressure","压力边界")),1)]),_:1}),f(ce,{prop:"flow",label:"流量(m³/s)",width:"80"}),f(ce,{prop:"pressure",label:"压强(pa)",width:"70"}),f(ce,{prop:"temperature",label:"温度(℃)"}),f(ce,{prop:"polcon1",label:"二氧化碳",width:"95"}),f(ce,{prop:"polcon2",label:"二氧化硫",width:"95"})]),_:1},8,["data","max-height","header-cell-style"]),i("div",Pd,[i("div",Ed,[i("div",{class:"btns",onClick:M[1]||(M[1]=O=>{re(),J.value.dialogVisible=!0})},$d)]),i("div",Nd,[i("div",{class:"btns",onClick:M[2]||(M[2]=O=>Ge())},zd)]),i("div",Id,[i("div",{class:"btns",onClick:M[3]||(M[3]=O=>p(s).dialogsgdelect=!0)},jd)])])])])])])]),_:1})]),_:1},8,["modelValue"])])]),_:1},512),[[Re,Q.value.collfire]])]),i("div",Hd,[Ue(f(Je,{width:"231px",class:"L_aside L_aside1 asideg asidegbg leftbgimg0"},{default:y(()=>[i("div",qd,[f($e,{modelValue:p(L),"onUpdate:modelValue":M[9]||(M[9]=O=>Ve(L)?L.value=O:L=O),accordion:""},{default:y(()=>[f(dt,{name:"2"},{title:y(()=>[f(Ce,{class:"iconimg Frame3",fit:"contain"}),$(" 突水"),f(Ce,{class:"header-icon"})]),default:y(()=>[i("div",Jd,[i("div",Qd,[i("div",Yd,[i("div",Xd,[f(Ie,{data:q.value,style:{width:"100%"},"max-height":p(g),"highlight-current-row":!0,"row-class-name":et,onRowClick:M[5]||(M[5]=O=>ct(O)),"header-cell-style":{background:"rgba(13, 22, 57, 0.96) "}},{default:y(()=>[f(ce,{prop:"nid",label:"节点选择"}),f(ce,{prop:"type",label:"边界类型"})]),_:1},8,["data","max-height","header-cell-style"])])]),i("div",Zd,[i("div",ef,[i("div",{class:"btns",onClick:M[6]||(M[6]=O=>{re(),J.value.dialogVisible=!0})},af)]),i("div",rf,[i("div",{class:"btns",onClick:M[7]||(M[7]=O=>Ge())},sf)]),i("div",of,[i("div",{class:"btns",onClick:M[8]||(M[8]=O=>p(s).dialogsgdelect=!0)},cf)])])])])]),_:1})]),_:1},8,["modelValue"])])]),_:1},512),[[Re,Q.value.collwater]])]),f(p(Pe),{modelValue:J.value.dialogVisible,"onUpdate:modelValue":M[25]||(M[25]=O=>J.value.dialogVisible=O),width:"482",modal:!1,"close-on-click-modal":!1,draggable:"",fullscreen:!1,"modal-append-to-body":!1,"modal-class":"summary-dlg",class:"dialog_class bgcolor foter_l"},{header:y(({titleId:O,titleClass:De})=>[i("div",uf,[f(Qe,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",{id:O,class:Fe(De)},ne(p(c)),11,df)])]),default:y(()=>[i("div",ff,[r.classradio=="Fire"?(se(),he("div",gf,[f(oe,{class:"demo-form-inline",inline:!0,model:p(x)},{default:y(()=>[i("div",pf,[i("div",vf,[f(Se,{label:"节点名称","label-width":b.value},{default:y(()=>[f(we,{modelValue:p(x).nname,"onUpdate:modelValue":M[10]||(M[10]=O=>p(x).nname=O),class:"w-50 m-2",placeholder:"节点选择",disabled:""},null,8,["modelValue"])]),_:1},8,["label-width"]),i("div",hf,[f(p(ae),{type:"primary",onClick:M[11]||(M[11]=O=>{B(),p(s).dialogVisiblenode=!0})},{default:y(()=>[$("选择节点")]),_:1})]),i("div",mf,[f(p(ae),{type:"primary",onClick:M[12]||(M[12]=O=>o())},{default:y(()=>[$("3D节点选择")]),_:1})])]),f(Se,{label:"边界类型","label-width":b.value},{default:y(()=>[f(P,{modelValue:p(x).type,"onUpdate:modelValue":M[13]||(M[13]=O=>p(x).type=O),placeholder:"请选择"},{default:y(()=>[(se(!0),he(ht,null,Rt(p(x).options,O=>(se(),mt(W,{key:O.id,label:O.label,value:O.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["label-width"]),f(Se,{label:"流量(m³/s)","label-width":b.value},{default:y(()=>[f(we,{modelValue:p(x).flow,"onUpdate:modelValue":M[14]||(M[14]=O=>p(x).flow=O),class:"w-50 m-2",placeholder:"请输入",oninput:"value=value.replace(/[^0-9.]/g,'')"},null,8,["modelValue"])]),_:1},8,["label-width"]),f(Se,{label:"压强(pa)","label-width":b.value},{default:y(()=>[f(we,{modelValue:p(x).pressure,"onUpdate:modelValue":M[15]||(M[15]=O=>p(x).pressure=O),class:"w-50 m-2",placeholder:"请输入",oninput:"value=value.replace(/[^0-9.]/g,'')"},null,8,["modelValue"])]),_:1},8,["label-width"]),f(Se,{label:"温度(℃)","label-width":b.value},{default:y(()=>[f(we,{modelValue:p(x).temperature,"onUpdate:modelValue":M[16]||(M[16]=O=>p(x).temperature=O),class:"w-50 m-2",placeholder:"请输入",oninput:"value=value.replace(/[^0-9.]/g,'')"},null,8,["modelValue"])]),_:1},8,["label-width"]),f(Se,{label:"二氧化碳","label-width":b.value},{default:y(()=>[f(we,{modelValue:p(x).polcon1,"onUpdate:modelValue":M[17]||(M[17]=O=>p(x).polcon1=O),class:"w-50 m-2",placeholder:"请输入",oninput:"value=value.replace(/[^0-9.]/g,'')"},null,8,["modelValue"])]),_:1},8,["label-width"]),f(Se,{label:"二氧化硫","label-width":b.value},{default:y(()=>[f(we,{modelValue:p(x).polcon2,"onUpdate:modelValue":M[18]||(M[18]=O=>p(x).polcon2=O),class:"w-50 m-2",placeholder:"请输入",oninput:"value=value.replace(/[^0-9.]/g,'')"},null,8,["modelValue"])]),_:1},8,["label-width"])])]),_:1},8,["model"])])):(se(),he("div",Cf,[f(oe,{class:"demo-form-inline",inline:!0,model:p(x)},{default:y(()=>[i("div",yf,[i("div",xf,[f(Se,{label:"节点名称","label-width":b.value},{default:y(()=>[f(we,{modelValue:p(x).nname,"onUpdate:modelValue":M[19]||(M[19]=O=>p(x).nname=O),class:"w-50 m-2",placeholder:"节点名称"},null,8,["modelValue"])]),_:1},8,["label-width"]),i("div",_f,[f(p(ae),{type:"primary",onClick:M[20]||(M[20]=O=>{B(),p(s).dialogVisiblenode=!0})},{default:y(()=>[$("选择节点")]),_:1})]),i("div",bf,[f(p(ae),{type:"primary",onClick:M[21]||(M[21]=O=>o())},{default:y(()=>[$("3D节点选择")]),_:1})])]),f(Se,{label:"边界类型","label-width":b.value},{default:y(()=>[f(P,{modelValue:p(x).type,"onUpdate:modelValue":M[22]||(M[22]=O=>p(x).type=O),placeholder:"请选择"},{default:y(()=>[(se(!0),he(ht,null,Rt(p(x).options2,O=>(se(),mt(W,{key:O.id,label:O.label,value:O.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["label-width"])])]),_:1},8,["model"])])),i("div",Sf,[i("div",Tf,[i("div",Vf,[f(p(ae),{onClick:M[23]||(M[23]=O=>J.value.dialogVisible=!1)},{default:y(()=>[$("取消")]),_:1})])]),i("div",wf,[i("div",Df,[f(p(ae),{onClick:M[24]||(M[24]=O=>{Ze(),J.value.dialogVisible=!1})},{default:y(()=>[$(" 确定 ")]),_:1})])])])])]),_:1},8,["modelValue"]),f(p(Pe),{modelValue:p(s).dialogVisiblenode,"onUpdate:modelValue":M[31]||(M[31]=O=>p(s).dialogVisiblenode=O),width:"600px",class:"dialog_class bgcolor tianjia asideg asidegbg leftbgimg"},{header:y(({titleId:O,titleClass:De})=>[i("div",Mf,[f(Qe,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",{id:O,class:Fe(De)},"选择节点",10,kf)])]),default:y(()=>[i("div",Of,[i("div",Lf,[f(Se,{label:"节点选择","label-width":T.value},{default:y(()=>[f(we,{modelValue:p(V),"onUpdate:modelValue":M[26]||(M[26]=O=>Ve(V)?V.value=O:V=O),class:"w-50 m-2",placeholder:"节点名称"},null,8,["modelValue"])]),_:1},8,["label-width"]),i("div",{class:"asdis_btn"},[i("div",{class:"flex_a"},[i("div",{class:"btns",onClick:U},Af)])])]),f(Ie,{"row-class-name":et,"max-height":p(g),ref_key:"multipleTableRef",ref:v,data:p(w),style:{width:"100%"},onSelect:ge,"header-cell-style":{background:"rgba(13, 22, 57, 0.96) "}},{default:y(()=>[f(ce,{type:"selection",width:"55"}),f(ce,{property:"id",label:"节点编号"}),f(ce,{property:"name",label:"名称"}),f(ce,{property:"ntype",label:"类型"}),f(ce,{property:"x",label:"x"}),f(ce,{property:"y",label:"y"}),f(ce,{property:"z",label:"z"})]),_:1},8,["max-height","data","header-cell-style"]),i("div",Uf,[f(ue,{"current-page":k.value,"onUpdate:currentPage":M[27]||(M[27]=O=>k.value=O),"page-size":A.value,"onUpdate:pageSize":M[28]||(M[28]=O=>A.value=O),small:"",background:"",layout:"prev, total,pager, next, jumpe,",total:parseInt(p(R)),class:"mt-4",onCurrentChange:X},null,8,["current-page","page-size","total"])]),i("div",Rf,[i("div",Ff,[i("div",Pf,[f(p(ae),{onClick:M[29]||(M[29]=O=>p(s).dialogVisiblenode=!1)},{default:y(()=>[$("取消")]),_:1})])]),i("div",Ef,[i("div",Gf,[f(p(ae),{onClick:M[30]||(M[30]=O=>ie())},{default:y(()=>[$(" 确定 ")]),_:1})])])])])]),_:1},8,["modelValue"]),f(p(Pe),{modelValue:p(s).dialogsgdelect,"onUpdate:modelValue":M[34]||(M[34]=O=>p(s).dialogsgdelect=O),width:"400",class:"dialog_class bgcolor tianjia"},{header:y(({titleId:O,titleClass:De})=>[i("div",$f,[f(Qe,{src:p(Oe),fit:"contain"},null,8,["src"]),i("h4",{id:O,class:Fe(De)},"删除框",10,Nf)])]),default:y(()=>[i("h4",Wf,[$(" 是否确认删除 "),i("span",zf,ne(p(d)),1)]),i("div",If,[i("div",Kf,[i("div",jf,[f(p(ae),{onClick:M[32]||(M[32]=O=>p(s).dialogsgdelect=!1)},{default:y(()=>[$("取消")]),_:1})])]),i("div",Hf,[i("div",qf,[f(p(ae),{onClick:M[33]||(M[33]=O=>{ut(),p(s).dialogsgdelect=!1})},{default:y(()=>[$(" 确定 ")]),_:1})])])])]),_:1},8,["modelValue"])]),f(kd,{ref_key:"dialogtrue",ref:l,onDtext:n},null,512)],64)}}},Qf=st(Jf,[["__scopeId","data-v-aef27049"]]);const At=t=>(yt("data-v-b0fc6a3e"),t=t(),xt(),t),Yf={class:"l_Dialog"},Xf={class:"result result1"},Zf={class:"newtime"},eg={class:"newtime"},tg={class:"animation_s"},ag={class:"tanniu"},rg=At(()=>i("p",null,"后退",-1)),ng=At(()=>i("p",null,"播放",-1)),sg=At(()=>i("p",null,"暂停",-1)),ig=At(()=>i("p",null,"快进",-1)),og={class:"demo-collapse jiancedian asideg1 jc_header collapseeion jianstyle"},lg={class:"he_pading color1"},cg={key:1,class:"woter"},ug=At(()=>i("span",null,"物理量:",-1)),dg=At(()=>i("span",null,"水位",-1)),fg=[ug,dg],gg={class:"jc_content tablecolor"},pg={class:"jc_padding"},vg={key:0,class:"xian"},hg={key:1,class:"xian"},mg=At(()=>i("div",{class:"jc_header color1"},[i("span",{class:"jc_tile"},"信息展示")],-1)),Cg={class:"msgval",style:{height:"200px"}},yg={class:"namemgd"},xg={class:"namemgd2"},_g={__name:"InfoAnimation",props:{classradio:{type:String}},emits:[],setup(t,{expose:e,emit:r}){const a=t;m("SOS");const l=m(["1"]);let o=m(400),n=m(""),s=m(0);const c=m(0),u=m(!1),d=m(!1),g=m([]);m("http://localhost:8080/?aid=0");const v=m("first");let h=m(""),T=m(1),b=m(60);m(2);let w=m(),V=m(null);m(null);let R=m(null),k=m(0);m(20),m("#409eff");const A=({row:W,rowIndex:P})=>P%2!=0?"evenRow":"oddRow",F=m({region:"shanghai"});m([]);const E=m([{name:"",value:""}]),G=({row:W,rowIndex:P})=>{console.log(W)},x=m(0),L=m(1),q=m({jid:0,aid:0,starttime:"",endtime:"",state:"",faildes:"",dt:"",dx:"",reportstep:"",interactionstep:"",acctime:"",totaltime:"",coids:"",cocodes:""});let J=m([]);const Q=m([]),B=m(""),U=m([]),X=m([]),j=m(0),ie=m("false");function ge(W){s.value=c.value,I.step=c.value,console.log(c.value)}function re(W){u.value=!0;const P=(ue=W)=>new Promise((O,De)=>{setTimeout(O,ue)});(async ue=>{for(;c.value<b.value&&u.value;)u.value==!0&&(await P(W),c.value++,I.step=c.value,s.value=c.value)})()}function Ge(){u.value=!1,c.value!=b.value&&(c.value++,s.value=c.value,I.step=c.value)}function Ze(){u.value=!1}function He(){u.value=!1,c.value--,I.step=c.value,s.value=c.value}function ct(){const W=Date.parse(B.value),P=new Date(W);Ie(P)}function ut(){for(let W=0;W<X.value.length;W++)if(F.value.region==X.value[W].cocode){j.value=W+1;break}if(E.value=[],a.classradio=="Fire")for(let W=0;W<U.value.length;W++){let P=U.value[W];j.value==1&&E.value.push({name:P.chcode,value:P.v1}),j.value==2&&E.value.push({name:P.chcode,value:P.v2}),j.value==3&&E.value.push({name:P.chcode,value:P.v3}),j.value==4&&E.value.push({name:P.chcode,value:P.v4}),j.value==5&&E.value.push({name:P.chcode,value:P.v5}),j.value==6&&E.value.push({name:P.chcode,value:P.v6})}else for(let W=0;W<U.value.length;W++){let P=U.value[W];E.value.push({name:P.chcode,value:P.v1,value2:P.v2})}}function et(W){new Map([["Temperature","(℃)"],["Pressure","(kg/s)"],["Pressure","(kg/s)"],["CO2","(%)"],["CO2","(%)"],["H2S","(%)"],["Flow","(Pa)"],["Height","m"]]).forEach((oe,ue)=>{ue==W&&(n.value=ue+oe)}),ut(),Je()}const qe=(W,P)=>{w.value=W,v.value="first",P=="4"?(Se(),(a.classradio=="Fire"||a.classradio=="Water")&&(d.value=!0),ie.value=!1,ce(),console.log(v.value)):clearInterval(V.value)},I=Zr();async function M(){const W={transCode:"D10016",aid:w.value,step:I.step};await fe(W).then(P=>{if(P.returnCode=="000000000"){U.value=P.chvals,E.value=[];for(let oe=0;oe<U.value.length;oe++){let ue=U.value[oe];E.value.push({name:ue.chcode,value:ue.v1})}if(ie.value)ut();else{ie.value=!0,X.value=P.cocodes,F.value.region=X.value[0].cocode,new Map([["Temperature","(℃)"],["Pressure","(kg/s)"],["Pressure","(kg/s)"],["CO2","(%)"],["CO2","(%)"],["H2S","(%)"],["Flow","(Pa)"],["Height","m"]]).forEach((ue,O)=>{O==F.value.region&&(n.value=O+ue)}),j.value=1,g.value=[];for(let ue=0;ue<X.value.length;ue++){const O=X.value[ue];g.value.push({id:ue,name:O.cocode,value:O.cocode})}}}else ee({message:P.returnMsg,type:"error"})}).catch(P=>{})}function Ce(){R.value=setInterval(()=>{if(k.value!=te.selectJgPointId){k.value=te.selectJgPointId,Q.value=[];for(const W of I.scalar.keys())Q.value.push({name:W,value:I.scalar.get(W)[te.selectJgPointId]});J.value=Q.value,console.log(J.value)}},1e3)}async function ce(){te.clearModeAddJg();const W={transCode:"D10017",aid:w.value};await fe(W).then(P=>{P.returnCode=="000000000"?(q.value=P,Ie(new Date),M(),dt(),Ce()):ee({message:P.returnMsg,type:"error"})}).catch(P=>{})}function Ie(W){const P=W.getTime(),oe=Date.parse(q.value.acctime);var ue=parseInt((P-oe)/1e3);I.stepsum=parseInt(q.value.totaltime)/parseInt(q.value.reportstep),L.value=I.stepsum,ue<parseInt(q.value.totaltime)?I.step=parseInt(ue/parseInt(q.value.reportstep)):I.step=I.stepsum,c.value=I.step,s.value=c.value}function dt(){I.aid=w.value,I.initGemetry().then(W=>{$e()}).catch(W=>{})}function $e(){I.getScalrsByStep(I.step).then(W=>{Je()}).catch(W=>{console.log(W)})}function Je(){console.log("执行了");const W=te.scalarBarActor,P=te.jgMapper;if(te.jgActor,!I.scalar)return;const oe=I.scalar.get(F.value.region);if(!oe||!I.polydata)return;const ue=It.newInstance({name:F.value.region,size:I.polydata.getNumberOfPoints()});ue.setData(oe),I.polydata.getPointData().setScalars(ue),P.setInputData(I.polydata),Qe(oe),P.setScalarRange(parseFloat(x.value.toFixed(3)),parseFloat(L.value.toFixed(3))),W.setAxisLabel(F.value.region),P.clearColorArrays(),te.renderWindow.render()}function Qe(W){x.value=W[0],L.value=W[0];for(let P=0;P<=W.length;P++){let oe=W[P];x.value>oe&&(x.value=oe),L.value<oe&&(L.value=oe)}}const we=(W,P)=>{v.value=W.props.name,Se()},Se=()=>{v.value=="first"?V.value=setInterval(()=>{const W=new Date().getTime();h.value=ga(W),Ie(new Date)},1e3):(v.value=="second"||v.value=="third")&&clearInterval(V.value)};return ma(()=>{clearInterval(V.value)}),it(()=>{}),en(s,(W,P)=>{I.step=W,$e(),M()},{deep:!0}),e({monitor:d,accident5:qe}),(W,P)=>{const oe=N("el-tab-pane"),ue=N("el-date-picker"),O=N("el-slider"),De=N("el-image"),Pt=N("el-tabs"),Et=N("el-aside"),tt=N("el-option"),bt=N("el-form-item"),Ye=N("el-table-column"),ft=N("el-table"),K=N("el-collapse-item"),S=N("el-collapse");return se(),he("div",Yf,[Ue(f(Et,{width:"278px",class:"L_aside1 asideg asidegbg leftbgimg"},{default:y(()=>[i("div",Xf,[f(Pt,{modelValue:v.value,"onUpdate:modelValue":P[3]||(P[3]=Z=>v.value=Z),type:"card",class:"demo-tabs",onTabClick:we},{default:y(()=>[f(oe,{label:"当前时间",name:"first"},{default:y(()=>[i("div",Zf,ne(p(h)),1)]),_:1}),f(oe,{label:"指定时间",name:"second"},{default:y(()=>[i("div",eg,[f(ue,{modelValue:B.value,"onUpdate:modelValue":P[0]||(P[0]=Z=>B.value=Z),type:"datetime",placeholder:"Select date and time",onChange:ct},null,8,["modelValue"])])]),_:1}),f(oe,{label:"动画演示",name:"third"},{default:y(()=>[i("div",tg,[f(O,{max:p(b),min:p(T),modelValue:c.value,"onUpdate:modelValue":P[1]||(P[1]=Z=>c.value=Z),onChange:ge},null,8,["max","min","modelValue"]),i("div",ag,[i("ul",null,[i("li",null,[f(De,{src:p(or),fit:"contain",onClick:He},null,8,["src"]),rg]),i("li",null,[f(De,{src:p(lr),fit:"contain",onClick:P[2]||(P[2]=Z=>re(500))},null,8,["src"]),ng]),i("li",null,[f(De,{src:p(cr),fit:"contain",onClick:Ze},null,8,["src"]),sg]),i("li",null,[f(De,{src:p(ur),fit:"contain",onClick:Ge},null,8,["src"]),ig])])])])]),_:1})]),_:1},8,["modelValue"])])]),_:1},512),[[Re,d.value]]),Ue(i("div",og,[f(S,{accordion:"",modelValue:l.value,"onUpdate:modelValue":P[6]||(P[6]=Z=>l.value=Z)},{default:y(()=>[f(K,{name:"1"},{title:y(()=>[i("div",lg,[a.classradio=="Fire"?(se(),mt(bt,{key:0,label:"物理量:"},{default:y(()=>[f(p(Da),{modelValue:F.value.region,"onUpdate:modelValue":P[4]||(P[4]=Z=>F.value.region=Z),onChange:P[5]||(P[5]=Z=>et(Z)),placeholder:"请选择"},{default:y(()=>[(se(!0),he(ht,null,Rt(g.value,Z=>(se(),mt(tt,{key:Z.id,label:Z.name,value:Z.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):(se(),he("div",cg,fg))])]),default:y(()=>[i("div",gg,[i("div",pg,[a.classradio=="Fire"?(se(),he("div",vg,[f(ft,{data:E.value,style:{width:"100%"},onCurrentChange:G,"row-class-name":A,"header-cell-style":{background:"rgba(13, 22, 57, 0.96) "}},{default:y(()=>[f(Ye,{prop:"name",label:"监测点名称"}),f(Ye,{prop:"value",label:p(n)},null,8,["label"])]),_:1},8,["data","header-cell-style"])])):(se(),he("div",hg,[f(ft,{data:E.value,style:{width:"100%"},onCurrentChange:G,"row-class-name":A,"max-height":p(o),"header-cell-style":{background:"rgba(13, 22, 57, 0.96) "}},{default:y(()=>[f(Ye,{prop:"name",label:"监测点名称"}),f(Ye,{prop:"value",label:"水位(m)"}),f(Ye,{prop:"value2",label:"流量"})]),_:1},8,["data","max-height","header-cell-style"])]))]),mg,i("div",Cg,[i("ul",null,[(se(!0),he(ht,null,Rt(p(J),(Z,Me)=>(se(),he("li",{key:Me},[i("span",yg,ne(Z.name),1),i("span",xg,ne(Z.value),1)]))),128))])])])]),_:1})]),_:1},8,["modelValue"])],512),[[Re,d.value]])])}}},bg=st(_g,[["__scopeId","data-v-b0fc6a3e"]]);function Sg(t,e){e.classHierarchy.push("vtkPointSource"),t.requestData=(r,a)=>{if(e.deleted)return;const l=a[0],o=l?l.getPoints().getDataType():e.pointType,n=Ot.newInstance(),s=e.numberOfPoints,c=z.newTypedArray(o,s*3);n.getPoints().setData(c,3);const u=new Uint32Array(s+1);n.getVerts().setData(u,1);let d,g,v,h,T;for(let b=0;b<s;b++)d=1-2*Ca(),g=Math.sqrt(1-d*d),v=e.radius*Ca()**.33333333,h=v*g,T=2*Math.PI*Ca(),c[b*3]=e.center[0]+h*Math.cos(T),c[b*3+1]=e.center[1]+h*Math.sin(T),c[b*3+2]=e.center[2]+v*d;u[0]=s;for(let b=0;b<s;b++)u[b+1]=b;a[0]=n}}const Tg={numberOfPoints:10,center:[0,0,0],radius:.5,pointType:"Float64Array"};function Vg(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,Tg,r),z.obj(t,e),z.setGet(t,e,["numberOfPoints","radius"]),z.setGetArray(t,e,["center"],3),z.algo(t,e,0,1),Sg(t,e)}z.newInstance(Vg,"vtkPointSource");const wg={__name:"InfoVtkmodel",setup(t){it(()=>{o(),te.clearJgAddMode()});const e=m([]),r=m([]),a=m([]),l=m([]);async function o(){await fe({transCode:"D00000",count:1e3,page:1}).then(d=>{d.returnCode=="000000000"?(e.value=d.rows,n()):ElMessage({message:d.returnMsg,type:"error"})}).catch(d=>{})}async function n(){await fe({transCode:"D00001",count:1e3,page:1}).then(d=>{d.returnCode=="000000000"?(r.value=d.rows,c()):ElMessage({message:d.returnMsg,type:"error"})}).catch(d=>{})}function s(u){let d=!1;return r.value.forEach(g=>{if(u.id==g.snId||u.id==g.enId)return d=!0,d}),d}function c(){console.log("模板加载.."),e.value.forEach(u=>{s(u)?l.value.push(u):a.value.push(u)}),te.modelInit(l.value,r.value)}return(u,d)=>null}},Dg=st(wg,[["__scopeId","data-v-e96957ab"]]);const br=t=>(yt("data-v-1a65a78f"),t=t(),xt(),t),Mg={class:"appmian"},kg={class:"ve_menu_logo"},Og={class:"ve_title"},Lg={class:"ve_logo_img"},Bg={class:"ve_right"},Ag=br(()=>i("span",null,"请选择",-1)),Ug=[Ag],Rg={key:1},Fg={class:"l_huoqing"},Pg={class:"l_time"},Eg=br(()=>i("span",null,"模型库",-1)),Gg="灾情推演软件",$g={__name:"appmian",setup(t){let e=m(),r=m(),a=m(),l=m(),o=m();const n=m("1");m("1");let s=m(!1),c=m(),u=m(""),d=m({}),g=m({}),v=m({time:"",name:""}),h=m(""),T=tn();m({});let b=m();it(()=>{});const w=()=>{n.value="1";const x=n.value;r.value.changeModel(),r.value.accident3(x),l.value.accident4(x),e.value.accident2(x),o.value.monitor=!1,T.push({path:"/configurator"})},V=()=>{a.value=e.value.classradio},R=(x,L)=>{if(u.value=="1"?(d.value.coids=x.coids,d.value.totaltime=x.totaltime,d.value.reportstep=x.reportstep,d.value.pickertime=x.acctime,d.value.aid=x.aid,c.value.mntext1=L.name):(g.value.coids=x.coids,g.value.totaltime=x.totaltime,g.value.reportstep=x.reportstep,g.value.pickertime=x.acctime,g.value.aid=x.aid,c.value.mntext2=L.name),!(d.value.aid==""||g.value.aid==""||d.value.aid==null||g.value.aid==null)){if(d.value.coids!=g.value.coids){ee.error("污染物不一样,无法进行比较");return}if(d.value.totaltime!=g.value.totaltime){ee.error("模拟时长不一样,无法进行比较");return}if(d.value.reportstep!=g.value.reportstep){ee.error("输出步长不一样,无法进行比较");return}if(d.value.pickertime!=g.value.pickertime){ee.error("事故开始时间不一样,无法进行比较");return}console.log(d.value.aid,g.value.aid),c.value.initAid(d.value.aid,g.value.aid),c.value.clickflat=!0}},k=x=>{s.value=x},A=(x,L)=>{u.value=L,h.value=x,x=="模拟数据"?e.value.dialogVisible=!0:(e.value.dialogVisible=!0,clearInterval())},F=()=>{r.value.handledisaster(b.value),l.value.addboundary(b.value),r.value.accident3()},E=x=>{console.log(x),v.value.name=x.name,v.value.time=x.time,b.value=x.aid},G=x=>{switch(n.value="",x){case"1":r.value.changeModel(),r.value.accident3(x),l.value.accident4(x),e.value.accident2(x),o.value.monitor=!1,c.value.accident6(x,b.value),o.value.accident5(b.value,x),n.value="1";break;case"2":l.value.changeModel(),l.value.accident4(x),r.value.accident3(x),e.value.accident2(x),o.value.monitor=!1,c.value.accident6(x,b.value),o.value.accident5(b.value,x),n.value="2";break;case"3":e.value.changeModel(),l.value.accident4(x),r.value.accident3(x),e.value.accident2(x),o.value.monitor=!1,n.value="3",o.value.accident5(b.value,x),c.value.accident6(x,b.value);break;case"4":l.value.accident4(x),o.value.accident5(b.value,x),r.value.accident3(x),e.value.accident2(x),c.value.accident6(x,b.value),n.value="4";break;case"5":r.value.changeModel(),r.value.accident3(x),l.value.accident4(x),e.value.accident2(x),c.value.accident6(x,b.value),o.value.accident5(b.value,x),o.value.monitor=!1,n.value="5"}};return(x,L)=>{const q=N("el-image"),J=N("el-menu-item"),Q=N("el-menu"),B=N("el-header"),U=N("el-main"),X=N("el-container");return se(),he("div",Mg,[f(X,null,{default:y(()=>[f(B,null,{default:y(()=>[i("div",kg,[i("div",Og,[i("div",Lg,[f(q,{style:{height:"100%"},src:p(an),fit:"contain"},null,8,["src"])]),i("h3",{class:"ve_logo_title"},ne(Gg))]),f(Q,{"default-active":n.value,class:"el-menu-demo",mode:"horizontal","popper-offset":2,style:{width:"780px"},"background-color":"#0D1639 ","active-background-color":"#0E50C8","text-color":"#68ADFF","active-text-color":"#fff",onSelect:G},{default:y(()=>[f(J,{index:"1"},{default:y(()=>[$("灾害源设置")]),_:1}),f(J,{index:"2"},{default:y(()=>[$("边界设置")]),_:1}),f(J,{index:"3"},{default:y(()=>[$("灾害推演")]),_:1}),f(J,{index:"4"},{default:y(()=>[$("推演结果")]),_:1}),f(J,{index:"5"},{default:y(()=>[$("结果对比")]),_:1})]),_:1},8,["default-active"]),i("div",Bg,[p(b)==null?(se(),he("div",{key:0,class:"ve_timeioc",onClick:L[0]||(L[0]=j=>A())},Ug)):(se(),he("div",Rg,[Ue(i("div",{class:"ve_time",onClick:L[1]||(L[1]=j=>A())},[i("span",Fg,ne(p(v).name),1),i("span",Pg,ne(p(v).time),1)],512),[[Re,p(s)]])])),i("div",{class:"ve_timeioc",onClick:L[2]||(L[2]=j=>w())},[f(q,{src:p(rn),fit:"contain"},null,8,["src"]),Eg])])])]),_:1}),f(U,null,{default:y(()=>[f(tc,{ref_key:"lliudialog",ref:e,addselect:V,valzaiqing:p(h),headerobj:p(v),onLeftsimulation:R,onHeaderclick:E,onHandleSelect:G,onChildfun:F,onMoxingclick:k},null,8,["valzaiqing","headerobj"]),f(pd,{ref_key:"sourcedis",ref:r,classradio:p(a),aid:p(b)},null,8,["classradio","aid"]),f(Qf,{ref_key:"boundary",ref:l,classradio:p(a)},null,8,["classradio"]),f(bg,{ref_key:"tanimation",ref:o,classradio:p(a),aid:p(b)},null,8,["classradio","aid"]),f(Dg,{ref:"vtkmodel"},null,512),f(Ln,{ref_key:"resultbidui",ref:c,onTitleclick:A,classradio:p(a)},null,8,["classradio"])]),_:1})]),_:1})])}}},Wg=st($g,[["__scopeId","data-v-1a65a78f"]]);export{Wg as default};