%hx__TEXT__text__TEXT__stubs__TEXT==__stub_helper__TEXTFF__cstring__TEXTZUYZU__gcc_except_tab__TEXT`6`__const__TEXTP P__unwind_info__TEXT``8__DATA_CONST@@__got__DATA_CONST__mod_init_func__DATA_CONST __const__DATA_CONST,8__DATA@@@@__la_symbol_ptr__DATA@ @__data__DATAK(K__bss__DATA LH__LINKEDITP  /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkRenderingVolumeOpenGL2-9.2.1.dylib"0'P`NH@?`j P>>_M=8BKf2   a* x /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkImagingMath-9.2.1.dylib  /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkRenderingOpenGL2-9.2.1.dylib  /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkRenderingVolume-9.2.1.dylib p /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkglew-9.2.1.dylib X/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL  /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkRenderingHyperTreeGrid-9.2.1.dylib x /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkRenderingUI-9.2.1.dylib X/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa x /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkImagingCore-9.2.1.dylib x /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkRenderingCore-9.2.1.dylib  /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkFiltersSources-9.2.1.dylib  /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkFiltersGeneral-9.2.1.dylib x /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkFiltersCore-9.2.1.dylib  /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkCommonExecutionModel-9.2.1.dylib  /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkCommonDataModel-9.2.1.dylib  /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkCommonTransforms-9.2.1.dylib x /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkCommonSystem-9.2.1.dylib x /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkCommonMisc-9.2.1.dylib x /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkCommonMath-9.2.1.dylib x /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkCommonCore-9.2.1.dylib x /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtkkissfft-9.2.1.dylib p /Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/VTK/lib/libvtksys-9.2.1.dylib 0/usr/lib/libc++.1.dylib 8< /usr/lib/libSystem.B.dylib&:)?UHSPHSHSH=,KHKH9H[]ĈUHSPHHH=JHJHH[]鄈UHSPHՖHӌH=JHJH蹐H[]DUHSPHH蓌H=lJH]JHyH[]UHAVSxAHHHKHH5HH L HAH5%H;H L HA薉H5;HQH L HAlH2H[A^]I IH^HtL f.UHAVSH-HJHH5H%H >L KHAH5RHhH L 1HAÈH5hH~H L HA虈[A^]IH蛈LY f.DUHAVSHmH*JHH5RHeH ~L HA-H5HH TL qHAH5HH *L WHAه[A^]IHۇL虅 f.DUH]~fDUH]fDUH]UfDUHHa]UH]lfDUHSPH tH[]+HH*HHH[]` UHH]UHSPHH=t4H=H讍t!H=H蛍tHH[]靅H[]UHSPHH=at9H=HNt/H=H;t(H=HH[]1H[]øH[]øH[]f.UH1]UH](fDUHSPHHH[]$@UH]fDUHH]UHHGp]ÐUHAVSHHH=EL5EHLvHڑH!H=EHL迋HHʉH=EHL[A^]隋UHAVSpqHH誉HUHHƃ,覃H@Hǃ0Hǃ8HǃHHǃPHǃXHǃ`HǃhH考H[A^]IH+IHŠLb UHAVSHHGHƃ,H@Hǃ0Hǃ8HǃHHǃPHǃXHǃ`Hǃh[A^]IH胈Lǁ f.UHAVSHWHGHƃ,SH@Hǃ0Hǃ8HǃHHǃPHǃXHǃ`Hǃh[A^]IHL' f.UHAWAVATSIHcFHLHHHLPL9t#f.@H;HP HI9uII$PI$8HtHP I$0HtHP I>Ht I$P؈I$@HtIDŽ$@HP L[A\A^A_]HILtI$@LۆLUHAWAVSPIHHLPL9tH;HP HI9uIHIPH[A^A_]DUHHH?Ht Hx]]DUHHH?Ht HHP ]H f.P蹇DUH]FfDUHSPH2HH[]锇@UHAWAVAUATSHHIHuIHIHLI;`tLI$LI`I@ILI@LeLHu>IHIPLIHMPL9tnLef.DHI9tPEH;AA$A MHM聁HtH;HHuL(HH[A\A]A^A_]UHAWAVAUATSHhILHHHLPL9tfH;HP HI9uIIPIELIH!IH5LLPtLLHh[A\A]A^A_]. IH5nLPŃIIHLA I$LAI$LA$I$LIELHI $L@Mt*I$H5LPtA,I$LhI$LL0IPMXL9vL#HIPT苃GHpIEH}LPHpHuH5HEt H}腄H5HpIMt LTHH5L\H5HMGHHE(#)EH5{H臄C{H}HulEt H}DuH]Hp AHMHDH߾HLj{HpH1QEt H}蒃HpHh[A\A]A^A_]I7H)HHHOHH=HI)LHII9LBHH9LCMt+H}HuI9J<IHuH}E1KM$MdH~LIHHKHLMHMPIXH)HHh[A\A]A^A_]陂L艁<HEt)H}HHHHEt H}ZHp~Hy @UHAVSH@HLuLVHHHPLH@[A^]UHAWAVAUATSHIHIH<HHEff0HDž@fPHDž`H0LLH0H8HH)BHLLeLpHILH9uH[fHHH9tMI9tI?HLxH;nHLxLLLkH8H΅~HHH9tII9dwLXH`I9tIIILXHPI)LHHGHH9[H)HHHH9HBHH9HCHt4H(H H9'H<RH H(1HIH HLM~3HHH LH(IrLH H(HHPHXH`HtHIwH8H)HHHLtLI H8L0HI9tH0HH9*HPHXLHH)H9u11H)H9}H}Z{H5H}z`HHfo~fH5[HJC[HpH)}t H~DpH]H}zAHqHDH߾H3vH}zH1zpt H}N~H}zHPHXHH)HHHL9vITHHH4H9HIIIQHHHAAHI_0LH)1oDoLfpNfpNKCoDoLfpNfpNKH@HHuHMt/HHH)oCoKfpNfpNA ADL9O^IHEHH]LuH]uLL^C4EtH]HLeIELHLP`HEt H}]L9u)HuI)M~IELLP`L9u ID$E1LH8[A\A]A^A_]HEt H}w]HU UHAVSH~cH[H=[L5<HLU]HWcHJYH=#HL4]TH2cH:[H=HL[A^] ]UHAVS\HH^VHEHUHHǃHǃHǃHǃHǃHǃǃHǃHǃHǃHǃHǃHTH[A^]IHUIH\LS fUHAVSH{UHbH:THHǃHǃHǃHǃHǃHǃǃHǃHǃHǃHǃHǃ[A^]IHTLR f.@UHAVSHTHHjSHHǃHǃHǃHǃHǃHǃǃHǃHǃHǃHǃHǃ[A^]IHTLR f.@UHAWAVATSIHHLHLL9t#f.@H;HP HI9uM>M$I$HtHP IDŽ$I$HtHP I$HtHP I>Ht I$YI$HtIDŽ$HP L[A\A^A_] SHILI$HLRLhUHAWAVSPIHLL9tH;HP HI9uIIIHtHP IdžH[A^A_]UHHH?Ht Hx]X]DUH]FfDUHSPH2HH[]tX@UHAWAVAUATSHHIIIHHHHI;t!LLLHHIIIL}LIH]HML'IIHMMM9u8HH[A\A]A^A_]f.fI<$HLHU(IM9tItI<$HHHtHHHH5\Pu1HHIHH0IfDUHAWAVAUATSHhHUIILLHI9I>HP IL9uMI$IIHtHP ILJILHHjHH5ܘHPt8LHLHMHh[A\A]A^A_] MIIHuHH5:HPt@LIHLH0IML9tXL+HIHH5HPLkIHLH@IML9uI6H)HHHOHH=%HI)LHII9LBHH9LCMH}HuI9J<CUIHuH}eSFHpHQIH}LPHpHuOH5!HOEt H}TH5HpOIHt HSHH5LOH5HOpTHHE()EH5fkHTCkH}HuREt H}7TDuH]HpQPAHMHDH߾HLKHp,PH1(PREt H}SHpPHh[A\A]A^A_]E1KM,MlH~LIHHTHLMMIHtHHh[A\A]A^A_]cSLSR"HEt)H}HHHHEt H}$SHp^OHJ f.@UHAVSH@HLuL"HHLH@[A^]UHAWAVAUATSHIHIHt HHEff0HDž@fPHDž`H0L#H0H8HH)JHLLeLpHILH9uHcfHHH9tUI9tI?HHHLIH;HHHLILLL%H8H΅~HHH9tII9dwLXH`I9tIIILXHPI)LHHGHH9SH)HHHH9HBHH9HCHt4H(H H9H< QH H(1HIH HLM~3HHH LH(I*QLH H(HHPHXH`HtH|PIwH8H)HHHLtLPI H8L0HI9tH0HH9" HPHXLHH)H9u11H)H9NH}LH5bH}J`OHHfo6fH5=[HPC[HpHMt H^ODpH]H}xKAHqHDH߾HFH}VKH1RKpt H}OH}CKHPHXHH)HHHL9vITHHH4H9HIIIQHHHAAHI_0LH)1oDoLfpNfpNKCoDoLfpNfpNKH@HHuHMt/HHH)oCoKfpNfpNA ADL9OAH5kH&ƃL[A^]UHAVSIp%HIF(AH5kjH%ƃjL[A^]UHAWAVAUATSHEHH}tHHH5dHP1HE12"AH0HH,HHHH@H0H$HEEL=(IGHEHI@L0H@$L-ILHDžHDžHDžHDž Dž(H5lHHD#H5lFHAEAEH5mHLuHljn#H5m/HHljP#H5mHHlj2#H5mHjLH{pHEHL0Lt HM#H"H5HH"H0"LH[A\A]A^A_]HDHVHHEHL0Lt H"Hx"H5HH"H0y"H= UHAWAVSPHHHHHLwpH@HGpLHHHGGHt H{XG"L!H5HH!LH[A^A_]!f.UHAWAVAUATSHxDMDEIIHMDyHHhHHHH`H@HH!HDžXDž`L5IFHpH`I@LH$!HHHxHhHDžHDžHDžHDžDžH5CkH`HD H5=kHH5-kH`HD] H5(kHHD> H5jHvIELHHttHH5eHQt`H5jH` 8H5jH` H5kH`H5kH`IELHHHuIELHHHtH5jH`褿H5jH`r茿LhIEH5_LP1ɅLDIELtH5 kH`#CAGAADOH5_hH`HDH5j'HHDH5j(H۾HDH5h/H輾HDeH5j H蝾HDFH5jH~HD'H5jH_HDH5gH@HDH5hH!H5jH` HDH5[hHIEL(W.vH5QkH`q载EHuHuHHMLEH}mHx0HX]HtdEHuHuHVHMLEH}mHx0HXH1t"u}~H5#kH`XH5dkH`B4HH5ZkHHDH5[kH¼H5mH`誼HDSH5fH苼LuHEL0L`M9u/Aܳ}1Lhf.IL9tI~0HXtu Hhu HPtHHtMINHtf.DHH HuIFL90tIIHALqH9ukA܃}H5 lH`"Lh蒻IEL(W.vH5lH`heH}uSH}]EEH5nH`"HDH5nHHDH5nHHDH5n HźHDnH5eH覺H5kH`艺Ut HuHUHHuHgH5kHSUt HuHUHHuH1H5ekH~H5BlH`IEL(W.v4H5lH`.Թ~H5lH`+踹Et H}Et H}}|} tH5mH`!vIEL0t)IELtH5|mH`';IEL`uH5zmH`-cIEL`uQHEHHx0HXHHHt,HH5TnHQtH5LnH`謸HhLeHpH`HEHHxHht HL1H5HH`H2HhHx[A\A]A^A_]H3HLuOAHH864HEt H}Et H}Lu HLuHHpH`LHxHht HHhTH5HH`HUH f.DUHAWAVAUATSHHDEIH}Ht!HHH5WHP1ɅHEHM1HEIH@0HEEfHHH9HHHH@HHHEEH5HHHMHH@HEHHIHHHEHHDžHDžHDžHDžDžH}H0t&H}HtH}H`8H5pH۵H5pH{õ1LL=gqL5|qA~ffDA9LH5%q胵Hlj-HLiHljHLMf.D9}LLH5p'HljHL HljúHLH5pH״H5tH/迴H}H`t[H}HtH5tH脴H5kuH.jH5uH/RH5uHe:H}HXH1}H5uH-A]E1L=vL5vf.@EHH5u诳HDXHH5u萳A]Hlj6MHH5unHDHH5uOHD(HH5u0HDHH5uHD%HH5uHDHH5uӲHD| HL踲HDaA̺HL蚲A1L5yuL-uL=uf.D9!HH57tOHljHH53t1HljMHH52tHljHH5btHlj(HH5atױHljHH5lt蹱Hljc%HH5jt蛱HljEHL聱Hlj+ HLgHljúHLKH}HV^HEHHEHHEHt H HH5mHHsHHEHH[A\A]A^A_]H5hH4裰HRHdHHEHHEHHEHt HsHH5HHH H f.UHAWAVAUATSPHIHtHH5OHPE1LEE1 IF(AHp = falsHHH g_skiHHH Hf@e;@HHHHHtHH5hHP1ɅHD1H}H] H}.IH}(ILL  `UHH5JrXHƃXXLH7H Mt HH5^yH_ƃLH HMt HH55{HƃLH =Mt@HH5 }HƃLHn HDIL`ut@;HH HC(Hsection;HK H g_interHKHataPos =HKH g_dHKHfC0 1LH H H} LH[A\A]A^A_] IH IH}{ IAt I~c L fUHHHGHGH]UHAWAVAUATSHLEMUH}HHXIHH0H2HHHXH(H@HPHH HDž Dž(HHHHMH(H@HEHH. HHHEH0HDžpHDžxHDžHDžDžA$tI$hH5|H(ԫIHEHXHtZLpf.@HIHt?HÃ{ y LsHCHuM.Mt*Iu(AM(IM0HXIM.Muֿ@ I@ H@(H@0H@8HH@HXIH]HHHtHI6LH{f]HCIu(AM(mHHHH1I4 HtHXHP HHIL蚪H5{H膪HNju/ H5THgHt HXr I$Pt }t}t EEH5{H(.H}H0%WA$t=I$h}&}}>}4P LuHH5;{KH$ CKKH}HH HLPIFH`E1HHHE9fML HHHuHH AD;eHXHHHPHHLHDž@DžHHEHHHEHML~L`HEHPHH@H@H@H@DžHHDH0HLhUH1H*zHHHxHHPHpHhHH@H@HhH5z)HHHMHHPHUHMHH@H@UtHuHUf.fHHuH}Eu*hu30u?M}MuqIf.H}whtHxb0tH@MM}Mu&MI]H6fIMHIE9g } MoIGHuI]Hz@HD` H@(H@0H@8HH@LxIEL}IHHtIIu@MI]HuHIXIGH(LhLH5^xHSLH5xrHHHMHHPHUHMHH@H@UtHuHU DHHuH}"Et H}ht HxHEHHHEHHEHPNH=LeI\$HM|$@HIHt}HÃ{ yuL{HCHufƅHHIH HIH }HOƅWH}8H6HX%I\$IM7Mui@I@ H@(H@0H@8HH@HXII$HHt I$I7LI|$VID$I(H5vuH}L[H5uH}yHHHXHHPHPHHHH@H@HtHXHP HHIH}Ht HXEt H}}tAHH5vH$ƃH}HHHEH(HEHHEH0pt HVH0H5HH(HHEHĸ[A\A]A^A_]IHHXIHtHXIEvH}hIHRIJIXIPIII8IH(HXIEtH}GIhHxgIEuhu+0uEbH}ht IhtHx0u+I0tH@ IFIQIHEHHHEHHEHPt HwL'HHHuH/HEt HEHx=HEH(HEHHEH0pt HH0H5THH(ZHLx f.@UHAWAVAUATSHIHuIHLrL9u!E1L9HL9thH{0HXH1t>HKHtHH HuHCH9tHH HAHYH9uAI$L9uJ E1I$L9uLIrJIGAV(uI)HHL HHHHHPHHHH@H@HH5{HHHHHPHHHH@H@HH5zHHHHHPHHHH@H@HDtH HHHH HHHHHPHHHH@H@HH5zHHH8HHPH0H(HH@H@UtHuHU fDHHuH(_HHHxHHPHpHhHH@H@HhH5ZyHHHMHHPHUHMHH@H@H}H5 yHHHMHHPHUHMHH@H@UtHuHU @HHuH@EEh( X!E(H}ETH}hKHx{(?H8b3HI'H 0HHHHHXHhEpH}bMdE1H vH5fvHDH@HT@ELuLDHEHXHL`fHIHHÃ{ y LcHCHuM<$MLetOI\$HM|$f.HIHHÃ{ L{HCHuI\$H*M|$f.HIHHÃ{ L{HCHuHXIM<$MV@$I@ H@(H@0H@8HH@HXI$H]HHHHI4$I\$IM7M@I@ H@(H@0H@8HH@HXII$HH'I$I7I\$IM7M@<I@ H@(H@0H@8HH@HXII$HHGI$I7>LH{CHCI(H50tH(LH5.tH(HHHxHHPHpHhHH@H@Ut LuHUHHhL_HHHMHHPHUHMHH@H@H5sH}HHHMHHPHUHMHH@H@Ut HuHUHHuH@Eu#Eu,hu5(uAEuQH}yEtH}jhtHxU(tH8@EFH}8LI|$pAID$I(H5rH}LH5rH}HHHMHHPHUHMHH@H@Ut HuHUHHuH@LI|$@ID$I(H5BrH}L`H5rH}~HHHMHHPHUHMHH@H@Ut HuHUHHuH@0Et H}Et H}HrH}H@@LuHxtHPHH HHAH}HHHMHHPHUHMHH@H@H5rH}}HPHUHPHUHPHH@H@Ef HEHMHCHKHSuEOAH};EX IEIH}h@Ih.Hx("H8H H HHqH]HTH;H"XHh Et H}H@t HPL} I(IIIIIH]IH] IH]X IH]E IH]UHAWAVAUATSHIIIHGHGHuHLHII_L7ML,Is}LuIHEwCA$Mt$HtLLHALHuHUmH[A\A]A^A_]IIL>IID$IM,$I\$HuL  HA$t I|$H UHAWAVAUATSHILeHGHGHxHHzI]IL9u1HL9tH{0HXtu Hhu HPtHHVHKHtf.HH HuHCH9tHH HAHYH9ukEDAEHuHPHHPLEL5Hx0HXIċtu0I$ht%I$LpI$PuDžpI$Pt Att DžtI$LtI$LHA… рDuLeƅPDžQ, cELxx HE(\)EHradient(HHHputeGradHHHnt = comHHH gradieH@A$SIT$Md$JW)PHDž`1ۅW 1HE()EHeight[c]HHHmponentWHHH * in_coH@H5hLxLT HE(Y)EHradient(HHHputeGradHHHnt = comHHH gradieH@A$t IT$Md$IHH}LdHHHMHHPHUHMHH@H@H5 hH} HHH`HHPHXHPHH@H@PtH`HX HHQLP#E/Et H}yH5gL}HPH5gHPBH5{gH3p-HHE()EH5ggHmCgH}HuREt H}DuH]HPAHMHDH߾HeHPH1Et H}HPH`cEH}PEW)EHE0:H()H(scalar)HHHty(vec4(HHHuteOpaciHHHy = compHHH opacitH@'LQHLHHHH0HHPH(H HH@H@fDž)HƅH HqHHHHHHPH@H8HH@H@UHut HuHUHH8HHHMHHPHUHMHH@H@H5%fH}HHHMHHPHUHMHH@H@Ut HuHUHHuHxEE8 t Hp t< H()Hradient(HHHputeGradHHHnt = comHHH gradieH@A$~IT$Md$uH}|E&H}i8HHPH7 H0IHH}LHHHMHHPHUHMHH@H@H5bH}HHHMHHPHUHMHH@H@Ut HuHUHHuLE!E*Et H}I@QHE(})EH, gradieHH0H(scalar)HH(Hrad(vec4HH HGBAWithGHHHcomputeRHHHutRes = HHH vec4 lHf@8nt@:PtH`HX HHQH}HHHMHHPHUHMHH@H@ƅ8H9Dž9); H}dHHHMHHPHUHMHH@H@Ut HuHUHHuLEuo8uxEEt H}H5?cLEtH5DcLPt H`LHĸ[A\A]A^A_]H}t8tHH_EtH}PEswH}8EH}%EIHHL#HHHHHPHHHH@H@0IH 0.0) { ID$'Hnt.w >= ID$ Hf(gradieID$Hex); iID$Hume, indID$H, c, volI$AD$/H/LlHHH0HHPH(H HH@H@p0H0(z) HgradientHH&Hacity(grHH HadientOpHHHomputeGrHHHity *= cHHH opacH@.Pt3L`HX&W)HDž111E1QHH LaHHHHHPHxHpHH@H@H5JHpHHHhHHPH`HXHH@H@UHut HuHUHHXHHHPHHPHHH@HH@H@H5^H@jHHHHHPHHHH@H@HAHHHEHEH HHHHHHPH@H8HH@H@tPH(x)Hlabel); HH8Hadient, HH0HLabel(grHH(HacityForHH HadientOpHHHomputeGrHHHity *= cHHH opacH@@Q@W)HDž111҉HHEHEH8HHHMHHPHUHMHH@H@ƅHDž } ƅH}HHHMHHPHUHMHH@H@Ut HuHUHHuHx/Eu4u=EuIuR8u^ujEuvH}tHEtH}tH8tHH|tHgEt<@Xp t H0& LDuH t HELDž H8H{H8LLH$IHXhHMfhLxf.HIHHÃ{ yjLcHCHu[H0KLC2H*DuH ")LHhILxM<$MIM<$M@I@ H@(H@0H@8HH@HXI$IF`HHtZIF`I4$SHPxX#Hh_pHF LI~hx%IFpI(H5$ZH}LH5(ZH}HHHMHHPHUHMHH@H@Ut HuHUHHuLEt H}Et H}Et H}LxPI8[I}IXIpsI gnIfIEuLE8EH}tLIEtH}IEH}IEIaHBEUH}/LI:H8.HH"HEt0@uOXu[pug t H0 txH0LulvHPiXtHhTptH? uIhAILt HyHhIuIIEW<4IE@%IEH}IIE H}IIEu3EuG8u^uj uvH}Et IEtH}8t I8tHHtH tH0u *IZIt HyEH}fIEuIPuEu(EuCH`*Et IEtH}EuIEH}IEtH}I8t HHEtH}IEtH} I.IPt7H`p)$IEt H}ZHPIHxtHxHx)L f.DUHAWAVAUATSH8D8D<@HIHHHLzL9u#E1L9f.HL9tnH{0HXH1/t>HKHtHH HuHCH9tHH HAHYH9uAHHHL9u$E1HHHL9uE1HL9tH{0HXtu Hhu HPtHHtMHKHtf.DHH HuHCH9tHH HAHYH9ukAW)EHEHHHxLmrmEfHHE(l)EH5RHƃ(E)EHEHEIEIEIEpHHE(l)EH5SfHBCf7HHE(k)EH5RH ƃ(E)EHEHEIEIEIEEAW)EHEo CH`(sk)PHr componHHHshort foHHH// c is H@ent @UtjHuHUg HE(j)EH0.0); } HHHrn vec4(HHH{ retuH@MHUHM HHuHPHHHxHHPHpHhHH@H@03IH5R.HAƆ.Hh.LHHHMHHPHUHMHH@H@Ut HuHUHHuLELhDDLPt H`\L%f.@HHhN<#LHIHs#C6 L!MuJVf.HLHHHIH0HH L(HLLLCD5H H$D$H}HH@D3Hƃ33LHHEH}{HHUH}1HHHMHHPHUHMHH@H@Ut HuHUHHuL0Et H}Et H}Et H}LH8[A\A]A^A_]H=e}HJHHJHHJHHJHHJHHJHHJHHJHHJHHJHHJHHJHH=FH  ILmEKo0]IE:pIE(^IHE#IEtH}sIEtH}_ILmAEIEIEtH}"ILIhtHxIPtcH`UILmE>bILmE(LILmE6I t H0芿LmE IEIIIIupzIPtY!IhtBHxPt6H`u*4IEhuPut HžL轾t H訾LmuEu)AEu2Eu;L( HrEtH}cAEtI}SEtH}DL H}1hAf.DUHAVSHHGHGHHHXHHT0_Z ]f.vH5NJH˼H5{JH躼H[A^]It H{腽L% f.UHAWAVAUATSHDMDEHIIHtI$H5'LPE1MEE1HHXIſ HIF(p^AH5JqH`CqLmL1LuptH}觷HHHHHHPH@H8HH@H@EuEu%Et.W)EHEQH})EtH}EuҿPHHE(Y)EH5XMH]CMH5XH}HHHMHHPHUHMHH@H@Ut HuHUHHuL裶EuEu%Et.H5QYL}AH}VEtH}GEu҃}~H5ZLIH5_L:H`H}H8Ut HuHUHHuLEt H}ֶ8t HH}@LLu+}tv}tp}HEȋtHEHhkHH5aH躶ƃLHMHEȋtuNHEHht@ HH5`H\ƃLHHŵHEHPt@迵HH5^`HƃLH衴HwPHH5aEHεCEELHdH:Pt H`%ht HxLHĨ[A\A]A^A_] IEt~H}#sIEtH}荴IEtYH}yNIEtH}eIEtH}CtIht}IHEtuNI8tEHHIH /*IHEtI\$f.fHHHHȃx y HXHHHuHEL3MHEHL3M@詂I@ H@(H@0H@8HH@HEIFL3I$HHt~I$H3xHEHL3M@;I@ H@(H@0H@8HH@HEIFL3I$HHI$H3LI|$ID$I(H5AH}L薁H5AH}贀HHH`HHPHXHPHH@H@PtH`HX HHQH}TLI|$pID$I(H5AH}LH5uAH}HHH`HHPHXHPHH@H@PtH`HX HHQH}Pt H`yEt H}jHEH0HEHHEH8xt H4H8H5:HH0HHEHĨ[A\A]A^A_]IPtH`IEH}31IPH`IHIIIIyIqIPaH`PLIxtRH}&XuIIXu8IEH}"IEu xuXtsHh~eH}~xtIxtrIXt4-+IHPHp}LnILbILHXHEHPHEHHEHXt H~H}HPHpx}L}HEt Hx}HEH0HEHHEH8xt H}H8^}H57HH0}H_}L#u fUHAWAVAUATSHIuLHc}CLI^IMeMug@|I@ H@(H@0H@8HH@HXIEIHHt IIuLI~IFI(H5<LuLL?|H5=L^{HHIOHHPIWIHH@H@Et H}|LH[A\A]A^A_]HEt H}{Hs UHAWAVAUATSHxDIL}}tLI_H MwHIH HÃ{  LsHCHu ]LuHEHELuIIL9tkML}HL9tZHK LLHFHKHtf.HH HuHCH9tHH HAHYH9uHMLuOHuH} -E$ID$ID$I$@LezIʼn]Hnent) { IE7Ht componIE0Hcity, inIE(Hloat opaIE Hcalar, fIEHr(vec4 sIEHputeColoIEHvec4 comIEAE??LL yLyHLpIGHE1H4HHHH@HH4HHEH3HHEBLpL)yHhHuxHH.yAD;e%HHhHHHLxHDž`DžhHz3HHHhHhH@@H`HLxLLuHEHpHH@H@H@H@DžHhDxLHpqHpHH5{;LFxHH5};ewHHHXHHPHPHHHH@H@M/Mu)MM7Mu;hf.IEMHtDIE9e } M}IEHuM7Mt/AV(IV0Mv8fMM7Muѿ@wID` H@(H@0H@8HH@LhILmIEHHt IEI7LI}IEAV(iI)HHHL+vHHH@HHPH8H0HH@H@H0H5:uHHH(HHPH HHH@H@UtHuHU DHHuHuHHHHHPHHHH@H@HH5~9/uHHHHHPHHHH@H@UtHuHUfHHuHtHHHHHPHHHH@H@HH58tHHHHHPHHHH@H@UtHuHUfHHuHtHHHHHPHHHH@H@HH5Z8sHHHMHHPHxHpHH@H@ptHuHxfDHHqH}osp 0!H-p9Et H}sHhHhH`HHEHpH|sH}gs'HNsH5sHsHsHrH(r0H@rHHXrpHrEEI_HMwfHIHHÃ{ LsHCHuƅhHifDži} ƅkLeLqh!(I_IM>M@qI@ H@(H@0H@8HH@HXIH]HHHtCHI6>p{qHID$(A$H5T5oHqCoLH{|HCI(H5Y3LhLLpH53LpHHIL$HHPIT$I $HH@H@ht HxpLHx[A\A]A^A_]I_IM>Mui@pI@ H@(H@0H@8HH@HXIH]HHHtHI6LH{~HCI(H5[2LhLLoH53Lo1IhHxILoIIhHxoLJg Ip50SHpEH}nsIaHnUICHn7I%H}nIHRnIH'nIH(m0I0H@mHGIpNIEuW^IYITIIIHXHXompLHVmEt H}GmHhHhH`HHEHpt H mHplHhHuelHlHEt HEHxlLmd IHuH}óLSd fUHAWAVAUATSHXIHHLH&HHHH@HL#lH]HEEH&HHHMHH@HEHLkHt&HHEHHDžHDžHDžHDžDžM/IL}M9 H}LL蠸kL}HH5/sHkCsH}sHjHHIOHHPIWIHH@H@H1kEt H}"kHEHHEHHEHt HjLjH5=%HHCjHjLHX[A\A]A^A_]f.fIH;EI}0HXHHHIHEHH5 . IIHteMfDHIHtRHÃ{ yLsHCHuf.M&Mt0It$(AL$(IL$0IIM&Muп@iI@ H@(H@0H@8HH@HXIIHHt II6LI謻IIt$(AL$(]HHH}1IxhUtHuHUfHHuLHH5HHuhHH5Et H}hIMHtDHH HuIEL9(If.DIMHALiH9uIH_h"IbItIEtH}9hIHEHHEHHEHt HgHgH5K"HHQgHgLo_ DUHAWAVAUATSHhEDEIHHxH!HHHpH@HH?gHDžhDžpH!HHHMHpH@HEHHfLmH!HHEHxHDžHDžHDžHDžDž}EH5+Hp3}uH5HptLxIEHEE1 AD;m}HpH5q)1HDeHH5eILuIHLM&M@fIDh H@(H@0H@8HH@HXIH]HHHHI6HIHbHD9k } LsHCHuM&MmAT$(bIT$0Md$8Zf.DHpH5X(HDdHH5LILuIHLM&M@dIDh H@(H@0H@8HH@HXIH]HHHHI6f.HIHHD9k } LsHCHuM&MfAT$(IT$0Md$8IM&MLH{oHCAT$(I)HLLHH5<'HDocHH52'HDPc HH5(#IM&M7LH{ӵHCAT$("I)HLL>HH5&*HDb HH5\( HDb HH5I(}Ex}I]H]M}HIHEHÃ{ 9L{HCHu'H5AHphLx}I]HVM}!f.DHIH6HÃ{ *L{HCHuI]HuM}f.HIHWHÃ{ KL{HCHu9I]HM}f.HIHxHÃ{ lL{HCHuZI]IM7M@uaI@ H@(H@0H@8HH@HXIIEHH_IEI7VI]IM7M@aI@ H@(H@0H@8HH@HXIIEHH~IEI7uI]IM7M@`I@ H@(H@0H@8HH@HXIIEHHIEI7I]IM7M@"`I@ H@(H@0H@8HH@HXIIEHHIEI7LI}IEI(H5$H}L_H5 %H}^HHHMHHPHUHMHH@H@Ut HuHUHHuHpLI}pIEI(H5U$H}L^H5$H}^HHHMHHPHUHMHH@H@Ut HuHUHHuHpLI}IEI(H5#H}Lc^H5$H}]HHHMHHPHUHMHH@H@Ut HuHUHHuHpLI}PIEI(H5#H}L]H5$H}\HHHMHHPHUHMHH@H@Ut HuHUHHuHpaEt H}r]Et H}c]LHxTHEHpHEHHEHxt H]Hx\H5kHHpq\H\LHh[A\A]A^A_] ><HEtH}\HEtH}\ HLH^HHEHpHEHHEHxt HY\Hx\H5HHp[H\HS UHAWAVAUATSHXMDHHHEHGHGH@HW)HDž)HDž) HDž0)HDžM!MyMiM9ukI q[Hp(!)`HcityTF, HHHer2D opaHHHin samplH@IL9tI|$0HXtu Hhu HPtHHtMIL$Htf.HH HuID$L9 tIfI $HALaH9uj1IW)`HDžpH^!H`1rYIHPHXHHpHPHHHH@H@tW)EHEHu1;E*HuHin samplHEHer2D graHEHgradTF, HEEH@HHHXHHHMHHPHUHMHH@H@H5 !H}xXD8HHPHUHPHUL`HH@H@DHEHMHHLEEH`t HpXH5 HWH5y!HWH5i%H WDMƅHsampled_HHed_pointHƅHH$D$H}LDRqUtQHuHUNH}XEH}XHHXW` HHuH VEt H}Wt HWH?HHotHH HHHwVHHHMHHPHUHMHH@H@tHH HHH}VHHHMHHPHUHMHH@H@H5$H}UHHHpHHPHhH`HH@H@ tH0H( HH!H`sUHHHXHHPHPHHHH@H@H5$HH#UHHHMHHPHUHMHH@H@Ut HuHUHHuHTEH`EE AHHH;EHHX[A\A]A^A_]H}UHbHXT`VHpTEJH}TEAH}T8HT,HT  H0lTALZT HATHHH;EvTIEu0HuG`uaEumEuv}H}SHt IHtHXS`t I`tHpSEtH}SEtH}}Su3IE`IEWIH3IIEtH}SIHSIEuEu.Hu7`uQeH}REt IEtH}RHtHXR`u"I`tHp}RI IE1E1u. u:AuFuNH@uZLI H*R tH0RAtLRtHQH@tH@HxQLvI f.fUHHHGHGH]UHAVSHIHH`u3@QIF(]AHaxValue;HH.Hc4 l_maxFHH`@BQIF(AHinValue;HH.Hc4 l_minHH(H veHH Hlue; HHH_firstVaHHH bool lHHH H@6L[A^]HH`@PIF( AHavgValueHH0H vec4 l_HH(H HH Hmples; HHH l_numSaHHH uvec4HHH Hf@8;^HH`uR PIF(AHl_sumValHHH vec4 HHH H@lue;@HH`u9`OHIF(^AH59XHOCXIFIFIUHAVSHIHH`u9:OHIF(JAH5rHzOCr?HH`u9NHIF(@AH5GqH0OCqHH`u<NHIF(AH5oHNƃHH`u6`YNHIF(IAH5RHNCRaHH`u9NHIF(AH5HRNƃIFIFIL[A^]fUHAWAVAUATSH(HˋAEADDDEIH LHHHHH@H LML}HEEHHHHMHH@HEH LLHkHHEHHDžHDžHDžHDžDžL;HI9#L%sL5f.@IH9I0HXtHhtwHH5"AtIIDIHHHLHDKHLIOHtf.HH Hu0IGL98#If.DIHALyH9uLuLHHuHEHHEH HEHt H?KHJH5HHJH JLH([A\A]A^A_] HJH\HHEHHEH HEHt HJHfJH5HH JH gJH+B UHAWAVAUATSHEʼnH}H8LHHHHH@H8LJHEEL5M~LI@L8LIL%]ILHDžHDžHDž HDž(Dž0Et#H]u8H5)HCn6H5HCTH]H55H6HHGLL8Lt H IHHH5jHHpHH8HHH[A\A]A^A_]H>HPHLL8Lt H HHNHH5HHGH8OHH@ fUHAWAVAUATSHIIIHHXHvHHHPH@HHGHDžHDžPHlHHHMHPH@HEHHGH/HHEHXHDžHDžHDžHDžDžH5HP*JIL`LhM,$ILXM9 1HEIH;X HEHEI}0HXHEȺHPH5rHMЍqHHupF#HH5kHHuPFHH5oHHu0FHH5khHHuF6HH5BHHHuEHH5Y(HHuEDHH5MH}HHtgH}HHa HPH5IAHHuIIHEȋtunHEHht`IHMfDHIHHÃ{ yL{HCHufM7MW)EHEHH!HH5 HH5HHupDHH5+HHuPD"HH5jIIHt]MHIHtPHÃ{ yLcHCHuf.M<$Mt.AW(!IW0M8IIM<$Muҿ@1DI@ H@(H@0H@8HH@HXI$IHHII4$}IIM7M @CI@ H@(H@0H@8HH@HXIIHHII7LI荕IAW(I)HLLHH5AtIIHHuH3HH5LIIƅpfDžq, ƅsAN(t IN0Mv8I)HHp1LAHHHMHHPHUHMHH@H@pt H}$B-HPH5yIIIHH`t4MfDHIHtDHÃ{ yLcHCHuHIM4$Mt'AV(IV0Mv8IM4$Muٿ@AI@ H@(H@0H@8HH@HXI$IExHHt IExI4$LImIAV(jI)HLLoHH5}IM}hMtYMehIMHtLIA yMgIGHuf.fI$Ht*S(HS0H[8M}hMI$Huֿ@u@H@ H@(H@0H@8HH@LxI$IE`HHt IE`I4$HI}hXIEpS(mH)HLHHH5;Ut HuHUHHuH HH5{HHu#?HH5[IH`HHt9IHHHtKHȃx y HXHHHuIL;Mu 4IL;Mt)AW(IW0M8IHL;Mu׿@?I@ H@(H@0H@8HH@L`HIExHHt IExH3LIIAW(jI)HLLOHH5;HHu=HH5HEȋttHEHhb HPH5IAHtIIHHH!HH5 HH5}HHu%=HH5]HHu=HH5=AtIIHHHMHH5sAtIIHHHHH5IIHtdMHIHtPHÃ{ yLcHCHuf.M<$Mt.AW(IW0M8IIM<$Muҿ@a<I@ H@(H@0H@8HH@HXI$IHHt II4$LI;IAW(]I)HLLHH5YEt H};HPH5hIMHtf.DHH Hu0IEL9(#If.DIMHALiH9uH5HPHhHHXHEHPHEHHEHXt H:HXr:H5HHP:Hs:HHĈ[A\A]A^A_]HH=;Hpt2H}Y:' HEtH}7:HHEHPHEHHEHXt H9HX9H5GHHPM9H9Hk1 UHAWAVAUATSHMLEIIHtIH5|yLPE1MEE1IFIFIPLui9HLeH5EH9CEELHJ8H 9ILHHtSHH5~HQt?@9IH58HR9AƆ88H}L7P8IH; IF8HdataPos)IF0He[0], g_IF(Hin_volumIF Hxture3D(IFHlar = teIFH scaIFH IAF@@H}LL7DeL8Au8 8HH5zwHo8CwwH}H76P7HH5HH78CHHH}H6H7IL`Du uTAELe~7HH5|H7ƃ||LH`6IL`AELe7HH5qHd7ƃqqLH5Le6HH5 H#7ƃ  LH5IL`A1E(pLek6HH5hH6ƃhhLHM5uLe*6HH5w Hy6ƃ  LH 54IL`AELe5HH5g"H6ƃLH4 5HH5H5ƃLHf4LeC5HH5 H5ƃLH%4MIL`@4HHmaxComp HC0H int HC(H HC HONTOURS HCHBER_OF_CHCH #if NUMHCH HC8= 0;C<<H}H3HW4fEALe|UEtPJ4HH5"H4ƃLH,3H4H5#H}3H5#H@HU3H5g&H@2HHHMHHPHxHpHH@H@UqHuHUk 3HH5BH3ƃLHd2LeA3HH5 zH3CzzLH&2QIL`2HH5\&HD3ƃLeLH1H2EHuH HEH }HEEL1Et H}e2LHĘ[A\A]A^A_]IL`NW)EHEHuLeL1=1HuHHp%1HHHhHHPH`HXHH@H@H5$HX0HHHMHHPHUHMHH@H@Ut HuHUHHuL0Eu:XuCpuO@t HP<1EH}{H} 1XtHh 1ptH}0@uD}AE0HH5%H.1ƃH}H/H0IELIEL00s0HH5&%H0ƃ%%LeLHQ/yIELtPIEL0u>`0HH5*_H^0C__LeLH.H}H}AAAALeu@/HH5*H/ƃLH.Hb/@j/HH5o+1H/ƃ11LHL.H"/Ep !/HH }HCH HCH HCLH-H}LetH}t A.HH5%H/ƃLH->IHEe$IHEK IHE1IHEIHEIHEIHEtyIHEtd^IH-EtH"ƃL[A^]UHHHGHGH]UHHHGHGH]UHAVSHHHt9"IHC(.H5q@H_"AƆHCHCHH[A^]f.@UHAVSHHHt9!IHC(H5CH!AƆHCHCHH[A^]f.@UHAVSHHHt9p!IHC(NH5IfH_!AƆfHCHCHH[A^]f.@UHHHGHGH]UHHHGHGH]UHAVSHHHHt9P] IHC(H5\JHH AƆHHCHCHH[A^]f.UHAVSH@HIHHHW)EHEHHH8@HE()EHDirectioHH0HojectionHH(Hze(in_prHH H normaliHHHDirObj =HHHclip_rayHHH H@7on);@;HEHE(E)EcIFIFIHHE(D)EH5;XH4ƃ(E)EHEHE࿐HH59YHƃH}кHHdHEIFHEHMINILH@[A^]#!IH2IEtH}IL f.DUHHHGHGH]UHHHGHGH]UHSPHMtRMtM HC(8HD in_masHHHsampler3HHHuniform Hf@k;@HCHCHHH[]f.DUHAVSHMtDMt?}t9IHC(~H5CZH_AƆHCHCHH[A^]f.@UHAVSHMtDMt?}u9IHC(H5LZHAƆHCHCHH[A^]f.@UHAVSH@IMM}]@ HE()EH_dataPosHH0Hme[0], gHH(H(in_voluHH Hexture3DHHHalar = tHHH vec4 scHHH Hf@8);@:uTHH5OZ{HC{H}к{HfRIFIFIP.HH5wZJH}CJH}кJHHHHE(p)EH5uZyH0ƃyMt HUHMHHUH}1HHINHHPIVIHH@H@Et H}PEt H}ALH@[A^] IEt$FIH(IEt3IEuEu$L H}Et IEtH}Ly f.DUHAVSI`HIF(NAH5_PHCPL[A^]f.UHAVSInHIF(AH5_HƃL[A^]UHAVSIHIF(AH5 `H^ƃL[A^]UHAVSI@HIF(~AH5V`:Hƃ:L[A^]UHSPH0HC(BH_dataPosHHHoPos = gHHHec3 l_isHHH vHf@ ;HH[]UHAVSIHIF(޻AH5aHNƃL[A^]UHAVSIPHIF(AH5.bOHƃOL[A^]UHAVSIPnHIF(^AH5.cOHCOL[A^]f.UHAWAVAUATSH8If GHHIE1Lmf.IHILLH5|LH5HHHMHHPHUHMHH@H@UtHuHUf.@HHuLsEuEa"f.DH}'E=H}/LH8[A\A]A^A_]HEuEu*Au>H  H}Et HEtH}At HAtI~HA  UHAWAVAUATSHH0f H}GH8HHLAE1HLh@H oHQHHH@H@HHEHrHHEHSHHELmOf.MLHHuqHHIIL98Lm.LHHHH@HHDžHL5LHDžDžHEHHLxhLLIHEHHH@H@H@H@DžxHLvHHL`H1H_HHHMHHPHUHMHH@H@H}H5_HHHxHHPHpHhHH@H@H0HBT0tJ40JT0f.@HJt0HhHHH`HHPHXHPHH@H@HPH5_HHHMHHPHUHMHH@H@Ut HuHUHHuH}EPhEt H(HEHLHEHHEHXHhH}PqH`heHxEYH}LSH5]LuLyLH[A\A]A^A_]I/IEu*PuAhu[EugH}Pt IPtH`ht IhtHxEtH}u.IExItH(}ILuHEHLHEHHEHXt Hh5LHHuHAt I~L IHHuLuILufDUHAWAVSPHH,HHHLHHhHH@HGLHHHGGXt H{hyL)H5HH LH[A^A_](f.fUHAVSHAHHTiHH[A^]IH L f.DUH]ifDUHAVSHHLHHHtL觓HHtL蓓HHCHtq$uhLI>u[BH}HUHT HuL` LH}J qH}HUH# HuL/ H} HHH[A^]HH} H f.fUHAVSIHHHtL诒HHt L[A^]闒[A^]fUHSPHH}1x HHu H}w H}1T HÐHuH_ H}P H[]HH}; H f.UH] fDUH] fDUHAWAVSPIHLzu!ILXHHH;v HLHLL1H[A^A_] f.UHAWAVAUATSH(IIHHX(I~IEHuHuHHMLEl\H@(ZDl)EIFH$LMMHMtIEH5geLPE1ɅMEE1II$HUWWLH޹E1HPtSMIHHtHH5eHPE1ɅLEE1I$HUWWLLE11H([A\A]A^A_]fDUHAWAVAUATSH(HuIHHLL9IE1fDH(H]HHHMLE^fIIHAIHAIHAI}(IG(AG@HuD?I9tHAIjIux(IEHuHuH HMLEdZHX0Au!HHXHHI;v LHuLHuH1XH([A\A]A^A_]fUHAWAVAUATSH(HGLMIHHHMHuP "H}HUHmHuH}xH}iHdyHC$ LLML II$LLH;wHEH8|L9t;HEH8DELLLE1!LJH([A\A]A^A_]óMtIELI;wHH}H( f.@UH]jfDUHAWAVSPIIHHHPAt.I t3IHHtEHH5aHPE1LE-AGI uIG IG(IHHuE1I L8I(L,I HuuI HI HI HI HIL@I Aw\AW`t I(HugI(HI(HI(HI(HI(Aw\AW`AE1I Aw\AW`I(Aw\AW`~I0tIL HZJIG0HLIL HI0Iw I0IW(I011E1E1I0IL AwTAWXEW\A 2A_`DHHAh&hSARj"H0IL HH[A^A_] f.UHG]fDUHAWAVAUATSHH8HVHHEH|HsHjEH H@HH(HXEIEA1ېLZZBDBDBDL=ZBpBlBhLZB@BH9})HIMLHH=iHtIUPf.fIcI]PI8HIHJDE4?HxPH@HHHHKHLcPMl$I9|XHcsXLHHHxGHHHVI9}7H9}(HH HHH=ÏHt HSPfDIcLkPH8HIHJDEt?HxPH@HHHHKHLcPMl$I93HcsXLHHHHHHVI9 H9HH HHHHCHHHHKHLcPMl$I9|THcsXLHHHxCHHHVI9}3H9}(HH HHH=HtHSPfLkPH8H@HFtE4?HxPCH@HHHHKHLcPMl$I9|[HcsXLHHHxJHHHVI9}:H9}(HH HHH=Ht HSPfLkPH8H@HFtEt?HxPCH@HHHHKHLcPMl$I9|ZHcsXLHHHxIHHHVI9}9H9}!HH HHHtHSPf.DLkPH8H@HFtI IH#LILLLLHMLhLt IELP HHP ;HLLHpII$LLL:IL5IHLH?H~Ef4(M)HEHfpDfYMf)MYI]HHHLIELfAeHAmPAEXfAehfYfAmpfYfXf(ffAExfYfXf)AYfAfYXfXf(fYf(fXf(YXQfWf.u{f^f)^HH^IELHH4IELHHH .IILx@ILx\Y >>_fYfXf)YXIHL8IHLHH|HLwbIHH>LHKL1HHHpH@Mt ILP Ht HHP ILP IELP /H{dHHH@HHHHHHHHLHLHIH9H HH(I>HHI>wHHHHǾLII$LI@PHXfPpf(Yf(Y\YhhfffYffYf\f@HfYf(f\XfWE1E1f.AAMMIIXLf.HC`{PHKHH HIHPH;}^HHHHHMM HC`HWJ*WH*HWJ*H^HDžHDžHLppt&HHLAHLxpt&HWHaLAHHXxtH@HHAHL%(LA$LA$H;HΛA6L-͛MeHHHHHHHAHHH1hIcHٿHH¹AH5.Hx$H5.Hx11A AA7HM}HHHHHAHH1hIcHٿHH¹AHHP HHtHP HHtHP HHH4@1HS1H@11HwHH;EuHx[A\A]A^A_]HWHWHWHWrIHiWHaWHYWHQWI0I?I7I/IHILIUIMuM{vtIHVIIIIMt ILP Ht HHP ILP %HVHVHVI(IMt}IELP qHsVIdICIHt HHP HtPHHP AH,VH$VIHt HHP Ht HHP Ht HHP LL HUHUHUf.UH]zfDUHAVSHwt*LsHܗHLAst*LsHHLA{tHHH[A^]f.@UHAVSHHHwL5eHsAIHs[A^]f.DUHAWAVATSHIIIH6HHEHH6I|$HI|$HHuAf_EAOf]f)MAGf_EAWf]f)UAG f_EA_(f]f)]WZEfffZfZffEfWZEH5(HMLDžt,؃HAt HHrv#H)H4?H5(HL *HݕHH;EuH[A\A^A_]5UHAWAVAUATSHHXHHHHEHhHHHQW)pHEHHHpHxHUHhHIHHqPHq`HzH`H`I?5fAILxHhH@HHq`H`HHFHHHHHHuHHHHu(EZHxLeL9sAHHxIEZM9AILxMDLpL)IIIGL9#M)LHII9LBHH9MCMt%EM9?J<IEE1OdCDO|H~LLHDLpLxLeMtLLxLeI?EZM9 HpI)LHHCL9WI)LHII9LBHH9MCMt+EM9lIJ<2ILEE1OdADMtM~LHHLaHLpLxLeHI?tHLxLeEZM9s$AILxMf.fHpI)LHHCL9_I)LHII9LBHH9MCMt+EM9mIJ<,ILEE1OdADM|M~LHHL[HLpLxLeHI?tHLxLeEZM9sAILxMfDHpI)LHHCL9mI)LHII9LBHH9MCMt+EM9tIJ<,ILEE1OdADMtM~LHHL[HLpLxLeHI?tHLxLeEZM9sAILxMfDHpI)LHHCL9{I)LHII9LBHH9MCMt+EM9{IJ<,ILEE1OdADM|M~LHHL[HLpLxLeHI?tHLxLeEZM9zLpM)LHHCL9M)LHII9LBHH9MCMt%EM9J<IIEE1OdADI\M~LLL~LpHxLeMI?LHpHxH`H)HHwW JW*H5 !HHHXHXHHZH5!HXHpHt HxFHHH;EuHĈ[A\A]A^A_]mHp nHp`HpRHpDHp6Hp(F!?81 *#  HHpHt HxhH f.@UHAWAVSPHIHHAƆHt4ILHtLHrAƆHHHtHHH1AH[A^A_]@UHAVSIHHHt@HHHAu,IHHA[A^]AƆAtIAdž[A^]UHSPHHHHttHHH[]pH[]@UHSHHHHHEEHEHHHttHHuHHH52HUHGHH;EuH[]f.UHAWAVSH(HHHHEHHHIǃH{1=HtMIHH5LPtIHuL$IH5LPtIHuLE+EM+M]+]ILH@ILH8ILxH,HH;Eu H([A^A_]f.UHAWAVAUATSHhIHHHEHE11HHt=HHH5HPAHH5HP1ɅILDEHDIE1(I~EHuHuHguHMLpL`0MtIEHuL{MtvHuL1IHpLpE\E*pU^\UEW*t^UE\EW*x^EIFII$LIFIAHIPYQhYXYXWQYUf(fmfT]brYYpYXYXQYMfT]QXYYxYXYXQYUfT]WZAF@ mf.fWf.uZ^AF@tMtIEHuL!AF@qMtIHuLI~HuHUZIF(^(qq%mq(TTUVUVA^@HHH;EuHh[A\A]A^A_]SDUHAWAVAUATSHHHHEHIHHHXAIELAIELH`LALhAFAODžptDžx|W)EHEEEM)E)E)EuHHHuH0HHDDpHHuHHHDL`DLIHǾ0IHH111HpHHHELhPAQATAWsH LILP HXHuHHH0HHP HHH;EuHĈ[A\A]A^A_]oUHAWAVAUATSHIIHHt[AHILHAAT$LH}HHI;uNl(I}EHuHuHNpHMLEHx0AuI;t vIHLUIAƅIE.#iuLLIXhHH HLIXIXA`IX$HH WWWWHIXHH HǾ@qH[A\A]A^A_]@UHAVStIHHH"HHAAVHHHH[A^]ø[A^]f.UHAWAVAUATSPHIIHH5C!LPIXHtHP IdžXM`IhI9tlLeI}HL L1RHuLdLVIL9uM`IhL9tfDHH(I9uMhMxIL9uMMIHtHP IdžIdžH[A\A]A^A_]HI9tHX@tHxHH}H7 f.UHAWAVAUATSHIH:HHEHG*G\^,G\W*G`^,G`HGTHHHtHH5HPE1LEE1I$L AwTAWXAO\EG`HIXHt5HHAw\9@AW`94;I`IHHZ IxIHP IL1HHLHLh@HHH`HhHHhLXff.fLLLHh~H8HHHHHHI;']HHLuHLھHAw\AW`AE1覾HHHHHHHH1HH1IhMpL9t!HHʿHIhfHHHH)HHCHH9I)LHII9LBHH9LCMtI9J<iIE1M$LH4KIL$M`IhHL)HHt&HDHZI\$HBHIHuH8HrIt$HBHrIt$HBHrIt$HBHrIt$HBHrIt$HBHrIt$HBHrIt$HBHrIt$IHBHI9gM`IhLM`IhIpL9tf.HHI9uMLtLLXLH |HAHHA@H8HDžH8HH_HEEH{LhLH@hH@H8LHH`HH8H@H@H@H@Dž0HHLpLH L1HHHHHHPHHHH@H@pt HIIH9t)HH谿HI\f.HPHH)HHHHKH H9)H)HHL4I9LBHUUUUUUUH9LCMtI9 JH<@IE1H[IHHKvMHSIxIH9tcLf.DH~H{H~HNHKH{HFHFHFHHH9uMxI ILIxIML9MtLLt HLH@H8LXLH`HH 蘾HI9yHX@tHxq0IXHLʻI$L HH褷H袷IXIXAw\AW`讻IXIt/A1ېI`H؉1E1E1pHIXI9u׾@荻AI`MhL9tH;HI9uLI$L HHضHʶEtBAƇAW`IX1H (xH H;M?HĘ[A\A]A^A_]HHUH5[BHH5 HHH(L^)pH5 qH9CqHHppt H蕼DHH詸AHHDH߾HH脸H1耸t H1HkLL*1H vH H;MMHHHPݺ ^W ]Hpt7H)H%HHt H臻H;HTHMLU HMt+L<!HIhHItOHAHHH%HHpt HLH@H8HXHH`Ht H {H'HHhH8,HH?Hױ f.UHAWAVATSL'HGL)HH9tIHH=mIH_J<HL)HHNL)'HHHt*f.HCHBHCHHHuH8fHCHBHCHCHBHCHCHBHCHCHBHCHCHBHCHCHBHCHCHBHCHCHBHHCHI9oM&I^IINMFL9tHH踴I9uMt L[A\A^A_]隸IINMFMu[A\A^A_]f.fUHAWAVATSL'HGL)HHHH9H H9IH_HLHHtSMHMtbI$H5B LPE1MEHBK`ClKpIHHhHHuMHHMHMuE1LحIL IH賩L豩H Hs\S`迭H{HXAH(HD98mH0H ut諪H HL3H s\S`.H HH H1H H1H H1(H@+HH ܬHH011E1E1蹬HH(1E1E1虬H蚬H@譬HMHH NWH((HHH HǾA[A\A^A_]鍧HP Hǃ(EH(HLͨH(s\S`EE1螨H(HH(H1H(H1H(H1(D8H0趨IH0MHMtIH5DLP1IE1LH0s\S`AE1H0HH0H1H0H1H0H1(H SUHAVSHHIHH5HPIHtHP IdžI Ht$HH I HP Idž I(Ht$HH I(HP Idž(I0Ht$HH I0HP Idž0[A^]UHAVSHGt t[A^]HH٩H1ũH贩H袩HTHH IH)LH H0 H([A^]UHAWAVATSIIHGG\.yKu{(*^,AD$\WA*L$`^,AL$`A9D$duAL$`A9L$hu AL$`AD$dAL$hMHMIH5LPI$@HtHP IDŽ$@I$HHt&HL I$HHP IDŽ$HI$PHt&HL I$PHP IDŽ$PI$HLpI$@Ht/MHMt?IH5LPE1MEI$@HI$@MHMuE1LtIL HHOHMI$@訧I$@At$\AT$`UI$HtI$PClI$HHLI$HAt$\AT$`1I$HHI$HH1I$HH1I$HH1(I$HI$PHLkI$PAt$\AT$`AE14I$PHI$PH1I$PH1I$PH1(I$@I$HI$@I$P11E1E1I$@I$@@I$I$1/H HHpI$@wHH HWWWWHH߾A٠H߾q [A\A^A_]ʠfDUHAVSHHIHH5HPI@HtHP Idž@IHHt$HH IHHP IdžHIPHt$HH IPHP IdžPIHHpH[A^][A^]fDUHAVSIH>HHHLHH@fH@HH IHLߟHH۠HPϠLq ~HHCǀ [A^]fUHAVSHH@أH@芣HH IH_LQHHMHPALq [A^]fDUHAWAVSPHHjH胞HH0Hǃ0Hǃ8H( 茥IHHL@H?Hǃ 0RH@@H tHHXqfHn@ HH[A^A_]ILI3IH(H0}HHtHǃHP HLX HfDUHHw]2fUHHH?Ht HHP ]Hf.UHAWAVSPHHHuHLI|$:ID$I^(HL(LkHIHsC?ELuMu0HuHIELmt H}JI]Ht;M|$f.HIHt9HËC }tL{HCHuLMM7MtI~(ut/IM7Mu0I@ H@(HH@HXII$HHt I$I7LI|$ID$I~(H}貔I]t:HtuM|$HIHHËC }tUL{HCHuFHM|$fHIHHËC }tuL{HCHufLMM7M0I@ H@(HH@HXII$HHI$I7LMM7M'0舘I@ H@(HH@HXII$HHI$I7IM7Mu(BIM7MLI|$TID$I^(H}HIHHIHsC?ELmMu0M|$f.HIHt9HËC }tL{HCHuLMM7MtI~(utWIM7Mu0YI@ H@(HH@HXII$HHt I$I7LI|$MID$I~(IEHtII\$f.HHHt7HȋH }t HXHHHuIL3MuvLL3MuiIHL3MuY0舕I@ H@(HH@LhHI$HHt I$H3LI|$|ID$I~(fEHuEt H}H8[A\A]A^A_]H}HEt H}ӔHs fUHAWAVAUATSH8IILnH^HLmt-MofHIHt(HÃ{ yLkHCHuLMeMue IMeMuW0YI@ H@(HH@HXIEIHHt IIuLINIGMd$(ILHÿ HE(q4)EHforms::DHHHustomUniHHH//VTK::CHf@ec@H}H贎HuHULgLmEuMEuVI]Ht_Mof.HIHHËC }t3LkHCHu$H}EtH} I]HuLMeMue0I@ H@(HH@HXIEIHHtIIuIMeMuLIIGMd$(ILHÿ 脒HE(3)EHforms::DHHHustomUniHHH//VTK::CHf@ec@H}HJHuHULLmEuNEuWIEHt`I_HHHt\HȋH }t HXHHHuIL#MIHǾW>H]L}Hu"LM7M3HIHtlHËC }t L{HCHuM7Mud0(?I@ H@(HH@HXIHEHHtHEI7IM7MuLH}HEMn(=HHǾ=H@H]L}Hu-LM7M>f.@HIHtlHËC }t L{HCHuM7Mud0H>I@ H@(HH@HXIHEHHtHEI7IM7MuLH}0HEH@IF(HEH@HHu9(HxDžPHPHuH`HMLh赍HX0HHIHtIH5LP1ɅLDE1HuLTHLLLXHDž`HDžXLPI^xIL9|LP HL9tZHK LLH6HKHtf.HH HuHCH9tHH HAHYH9uLPM9DžhHEH(HhHuH"HML wHx(D@XHuH}HHHLPM9HEH@HHHLeHEHELeLmHEI921LMu L9f.HMHtDIH@HufLMI9tAA9G |NH~ILefIMHtfIA9G }&MgIOHu[f.MHt(MgI<$t=IMHf.MI<$uMMf.f0:IIVHP(HH HH@LxI$HMH HtHMI$H}HHEIMHt#HH HuLe@f.DIEL9(Let$If.DIMHALiH9uHMH9HMH]IMu L9ZDIL9A|$<H]Ht3AD$8Lu@H IHtqH9C }LsHKHuLuLM>Muf09IAD$8AG IG(IIGI_M>HEHHtHEI6IM>MuLH}苋HEIw(HXH]Hi8It$ IT$@AL$XH2H]Ht6AD$8LuH IHtqH9C }LsHKHuLuLM>Muf08IAD$8AG IG(IIGI_M>HEHHtHEI6IM>MuLH}諊HEI(Hu67EtH};8f.IL$HtfDHH HuID$L9 If.@I $HALaH9uf.IL9FA~<H]Ht@AF8L}fDH IH}H9C }L{HKHuL}LM'Muj0i7IAF8AD$ ID$(I$ID$I\$M'HEHHtHEI7IM'MuLH}KHEIt$(HXH]H(6Iv IV@ANXH0H]HtDAF8L}f.H IH}H9C }L{HKHuL}LM'Muj0y6IAF8AD$ ID$(I$ID$I\$M'HEHHtHEI7IM'MuLH}[HEI|$(Hu4Et H}5INHtHH HuIFL90If.DIHALqH9uHHHHu1H]H@HHuH}膙H@HHtH=30H}l1HuHHhPH}Hh0H5AvH 0ht Hx4H5H}/4HH0(,) H5qH5CqHhH 2 t H0u4DhHxH}0AHiHDH߾ HHM+H}f0H1b02ht Hx4H}K0HHP HHP H@HP HEH@O,HXHP覜HuH}ɗH[A\A]A^A_]IIIII tWH0IIIIDI?z#IHuH}_idIuIpIkIht Hx3H}Q/5IC+)IH}HIEtH}2IHXHP豛HuH}ԖLT* f.UH僿tTfWf.u. f.vCfWf.u9z7^1%Z C^fW-fTfUfV^^XYf(]f.v f.w f.f(v f(f(^Zf.vf(^f(^Zf.v ^]f.UHAWAVATSIHIc.tMMHH(I $LHQI@HH0I@HL[A\A^A_]1[A\A^A_]f.UHAWAVAUATSHHOLHI9sIIE1LH}HEH0HfAH0H19V @HMH4HuH9q9S hHs(LHuXrHHtLLMt-MuHM;uPt#f.@I>LŴIM;uPuLMt$MuHM;uPtDI>L蕴IM;uPuLMt$MuHM;uPtDI>LeIM;uPuLuIFHSHtf.HHHuL,HKH9LtHSH2HNHVH91uH9(uH(H8H0HjH}auH.LQuAHEf.II9tINH0HCMvIIAtyI(I0L9ud@HL9tXH{(oHKHtfDHH HuHCH9tHH HAHYH9uHHH[A\A]A^A_]HHitH% f.DUHAWAVAUATSHhHUHpH}HGLHHhI9EEf.fHEHHt A4$I&HEH}HXIH]H{A4$z*IILxLH;LKI0Ht@A$I0If19A @LMH HuI9tA9E HEI9E0L8EL}LHLpL(L@LL(LLHU>Lz(HEHx(HLeLH#HMLEˇIH(HLIHEH@H0H0Ht0A$I19Q @LMH HuI9tA9U ~IHp`rH}'HELHEAA$A MI8L&HHEȀu/ILI}(H;w1H9HXH]H{(HLpLHHpLE訆HPL`Lx(LHCLHD8LxILLHpH`HXHELHAwCM MLHHPA8HEIE0IL;h6HtHHI}(H;I}(Hx軎EtHELpI(I0L9u HEHusDHL9tH{( HKHtfDHH HuHCH9tHH HAHYH9u뮰EHEH(HEHxEHuHpH<HpLEyHx0HXtuHh1HMLqI(I0L9 fHL9H{0HXtHhHKHtf.HH HuHCH9tHH HAHYH9u{f.HL9\H{0HXt u[fDHhuKHKHtf.HH HuHCH9tHH HAHYH9u{&HpH$H5{H"'HHE()EH5uqH(CqH}Hu%Et H}p'DuH]Hp#AHMHDH߾ HHph#H1d#Et H}'HpU#EE$Hh[A\A]A^A_]HEt"H}HHHEt H}&Hp#.HH@"HHHpmH}"H* UHAVSLwI(I0L9u[A^]f.HL9tH{(O HKHtfDHH HuHCH9tHH HAHYH9uf.@UHAWAVATSIHH6!IFHCAFCH{Iv!H{ Iv !H{(Iv(!H{0Iv0!L{8Lc@Hs@LlIF8HC8IF@HC@INHHKHHtIN@L`IN8HAHM'L{PLcXHsXL?lIFPHCPIFXHCXIN`HK`HtINXL`INPHAHM'L{hLcpHspLkIFhHChIFpHCpINxHKxHtINpL`INhHAHM'LLHLkIHIHIHHt#IL`IHAHM'AIHLMt H#ID$IGI$IL$IOIfAdžAIHH[A\A^A_]UHAVSHPHHH KXQ"H]HxH5~H7H5wH("#HHE(r)EH5pqHb#CqH}HuG!Et H}"DuH]H}AHMHDH߾K H]H}H1Et H}{"H}1HP[A^]HEt"H}HHHEt H}8"H}uH DUHAWAVAUATSH8IIHHXII}E114HtHHH5fHPE1LEILHLuI}HHtzI\$hI}HHUHHII\$pI}HHUHHLuI t,HAƅIHEIt#HtrI\$ppAƅH8[A\A]A^A_]9H}HUHHuH}H}IAAAHuI\$hI}HHUHHHI$LMI;wHEH8.H9tJLuI1H}HEL(ILLHuLLAA8H}HHHI;wHH}H f.UHAWAVAUATSH8IIIHHtHHH5TyHPE1LEE1IL`u%I$LXHHIHHtHH5xHP1ɅHEH1IHHPHH]HPI@I@LLI@tHu CHf(Ef@THp\HP`HHTL@XILHHH;I$LPAtXAfWf.u9A wf.vFAfWf.uIHLu*HILM)ƃMtHPǃALmtIL`HEHtHH}H H]H H}HbH;LLHMMt$IEL8I@ADLL7HHHH1I@HeLI$LIHI$H5QtLP1ɅLDAI@tuL:iHEHHxHHhH5rH߉nI@HLLLMOHEH8mJE1AI@uLPI@HLLLMHEH8LbHEH8tHuLIH}bHEH8LLHM H8[A\A]A^A_]ILH HHpHH}aH DUHAWAVAUATSHIHHII$@ƀE1AMt<LHAt"LHAI$@ƀI$HHtI$HHAE9Leum1E~DmE1fDaMLHƉ-IHEL>LHƉ I9ubILI9LB9]MuIHEHMuDE1HEHMt1HLH1"IMHEHMuHLH[A\A]A^A_]UHAWAVAUATSHHHMHUIIHLJ EH(HuHuH1HMLEgHX0HHXIHHHt0IHH5pLP1ɅIEHMA$1HEA$ILI;$I|$HI;$H}H8A;D$DI$I9$H;EH}I;$w~IHI;$wdIHHIHCPHEHuHHt'L}HHI9LBHLHuM;$KH}H8AD$DI$I|$1HH0I|$HZ~O1M$ID$H7I/HI|$HHH9|LL`nI$ I|$LA$t(ILHtA$t HHpIHHtHH5gnHPE1LEE1IEL A$H}H\ID$t LL>cA$u)IEL At$TAT$XAL$\ED$`H LI$HH1I|$I$eI$HHI$I$HH5hH߉ I|$I$LHULEI$H.A$t LLnCH}\HH[A\A]A^A_]H}HI;$ULLlEHH}[H  DUHAWAVAUATSPAH?MIIHHHKH;H{HH;IEL8;CDHH9wL9rzIHH;waMILIIFPHEHuL4Ht'LeHHI9LBLL HuL;ADH[A\A]A^A_]f.UHSPHHHhH55jH߉H[] UHAWAVAUATSPHLIIIIILHL HHHL HHHL L"I$@Ht+LLLH[A\A]A^A_]/'H[A\A]A^A_]LLLH[A\A]A^A_]$@UHAWAVSPIHHHIFPHEHuL Ht.L}HHH9HBLL HuHH[A^A_]f.DUHAWAVAUATSHHHIIH`HHEHGHD8ALDHcEHHH)HH9sHH)HULwy v HIIEIIH)HH9HsHH)HU*y v HIIEII H)HH9HsHH)HUx v HI I0EI0I8H)HH9H sHH)HUx v HI8IHEIHIPH)HH9H@sHH)HUCx v HIPI`EI`IhH)HH9H(sH)HUHw v HIhIxCvHcEIxIH)HH9HsHH)HUw v HIIEIIH)HH9LXLH0sH)HUHGw v HIKHEBLI3HE*HEHEEHpHEXHMQIEH(H8HEHHHhID$HHpHEHHHHHHHAHHPXH1LL`f.DHxHHIHHHHHhH:H}HIHHHHpI$LHPH}HHEHHEHf.L8IFHt HHHu#I^L93tIFfDHHYHAH9 uIv(H}I~0IHMIHHhLLmEH}HH}{PHp(HHHpI$LLHpLLTHHLLTH@HfAEXfZfAMHfZfHxf H HfAEhfAMxfZfZHffHH fAfAfZfZffH0fAfZfAfZff HEHHHHPH}HLuILHHHEHLH5V_[HEW*EW*EW*ELH5_HM9HMHLH5 _HMHLH5^HEHHt*HHEH$LH5^IHILH}tH8HhHH}HHMfAHfIXfZfZH`HfLxfBMIfAhfIxfZfZffBMIffZffZffB I fffZfZffBHH{HHhHHH`HH{HHHHH`HHf@HfHXfZfZfHxff@hfHxfZfZffBfffZfZffBfffZfZffBHpH7I$LHHfAD$HfAL$XfZfZfHxffAD$hfAL$xfZfZffBfA$fA$fZfZffBfA$fA$fZfZffBHpHmI$LH HfAD$HfAL$XfZfZfHxffAD$hfAL$xfZfZffBfA$fA$fZfZffBfA$fA$fZfZffBHPHH}HH(HHMfAHfIXfZfZfHxffAhfIxfZfZffBfffZfZffBfffZfZffBLIH vHWTWTH0HHWTWTHH;LL`*HHH5dZLHXfHHH5RZLKHHH5NZL0H HH5KZLH@HH5OZLH(HH5DZLIH5?ZLH0HH5.ZLH}HH]tHP Ht HHP Mt I$LP H}HtHP HHH;EuH[A\A]A^A_]JH$|H|H|H |ILmLIVI`ILm ILm IH}H}Hu ILmH}HP Mt IELP Mt I$LP H}HtHP L Hx{Hp{Hh{H`{UHAWAVAUATSHMIIHHHELKID$L8BLcDž I$I$H)HL9dsI$LH)H kv JI$Dž I$I$H)HL9sI$I)H Lkv JI$LH L4@I Dž I$I$H)HLH)vI$H Bks JI$Dž I$I$H)HLH)vI$H js JI$BHcDž I$I$H)HH9LHsI$H)H jv HI$LXID$L(H0H8I9HL8Eȃ M1HEHKH@HEH HH@H"HHhHHHpLP@HEIH;8I}(3EHHL}L0H@H HH@@HHDž(LHDž(Dž0HHHHxH H@hHEHL0MLHhH8HH@H@H@H@Dž H0H5iIHHuHH5FI~HH}LMLDeH]I~AHMHDHPHމMe(Et H} ()EW)EI$xH MHPLHp\HMHEHMHELXILMB<Z\Z\R T IVTVTV T ICIAv84AvL`I$LLH5$PL(*)EW)EH}H[H}mHUzHuEuX@XȃvNH5OHUL@H5OHUL-H}HHH;Eu;H8[A\A]A^A_]HLH5OLHUH\H5OLHH}HV f.fUHAWAVATSH`IIIHYHHEHHEHMLELMLHH@I$HuH{HHHHHI$H{HHHHHUH5NL<I$H5NL%I$HuH{HHHDHHI$H{HHHHHUH5NLI$H5NLIL8tUIHuL0EMZEWZEEZEH5_NHML?ILZE@ZE@ZEH5)NHMLWA*D$TEWA*D$XEH5NL}LLWA*D$\f(A*T$`^f(^ZMZEH5MLLaWA*D$\Cf(WA*T$`^^WZEWZEH5MLL HHH;Eu H`[A\A^A_]@UHAWAVAUATSPAIIIHHt.U:HXHHHH5MLlAID$(H$I$yI$yH5LL IPt+I$yI$yH5LLID$ H5LLI$@LH5LLI$@\H5LL{I$HPH5sLLH[A\A]A^A_]PH[A\A]A^A_]ÐUHAWAVAUATSHD\LIIIIHHHEILyLLL AREHEI$LHtAtHHuHIH5KAHU*EW*EW*EH5KLeLLqW*EW*EW*EH5_KLL*IELXIŋ\|^IELtMA1f.DIEL(ZDHI9uH5JHMLIHHuxUEf.vUEf(f(f(ZEWZEH5JHMLEIG(LHW)EHE\trSLPLcJHHEN4LuHHLu1LPLHlj@ZH}HI9uHu11H`!HMH5IL\bH}Ht H}8IG(uvIELHtdHHH5pFHPtMHL}HLHHL`HL(H5nILLH5pILLHHH;EuHĈ[A\A]A^A_]H}{ HH}Ht H}hH f.@UHAWAVAUATSPAILgI$(I0L9I Ht A8ueIHt4HxKAIG(H$I_tIH[A\A]A^A_]EtDHL9dLk(H{(74HxIG(LHKHtHH HuHCH9tHH HAHYH9uH[A\A]A^A_]f.DUHAWAVAUATSHxH}H@HHu6(HxEHuHhHHhLE>Hx0HH}HEHiH}HEPH}HDEE1LhML{AD9ud H}HDIHUH@HI$LHME1utLHuHH]HPLHHH5.Et H}MLH5FILqLH|HHE(̎)EqHH54;CqH}HuEt H}$D}H]LAAHMHDH߾HHMLH1EH}Hx[A\A]A^A_]HEt)H}HHHHEt H}HhH f.UHAWAVAUATSHhI(I|$HMHUIEHuHuHHMLED<Lx(Hx0I$HH}I$LL4RL}L0HELI$HtHLRLuH}HXHHEH}L_H}3@X}EEȉMLmLu fH}IHLL]̉D}E8H}HLHUHxLELM@LELLDDL}ILXLLH‰LLLLDE)LLLHMLLLLLEA_LEILLLL3L)H}.HELI$H.Hh[A\A]A^A_]f.DUHAWAVAUATSHHI(I|$HMIHuEHuHuHHMLE:HX(Hx0HXHHAH|]DxXEAEωM̸I$HELmIEHUHMLELMLLmL@LH]HLDEXLELHDDI$LLHDELHLHMwI$LH$I$LLHLELDHH[A\A]A^A_]UHH@fff]f.@UHH(]UHSPHH=l(t4H=B(Ht!H=-HtHH[]c}H[]UHH]s3UHAVSH!HH4BHH[A^]IHL f.DUHHHHh1]f.UH9u]ÉH]fUH9$u]É$H]fUHHHP1]f.UH9(u]É(H]fUHL1I9@u]É@H]UHHf.uRzPPf.uBz@Xf.u2z0`f.u"z hf.uzpf.u{:HPX`hpH]]UHNV^f n(HH]fUH@8,u]@,H]UHL1I9u]ÉH]f.UHL1I9u]ÉH]UH1]UH]DUH勇]@UHHH ]f.UHHH 1]f.UHL1I9u]ÉH]UH1]UH]DUH勇]@UHHHP]f.UHHHP1]f.UHL1I9u]ÉH]UH1]UH]DUH勇]@UHHH]f.UHHH1]f.UHL1I9u]ÉH]UH1]UH]DUH勇]@UHHH]f.UHHH1]f.UH.u{H]]fUH]fUH(] (UTV.u{H]]@UH]fUHЇ]fUH]fUH](UTV.u{H]]@UHd]fUHP]fUH]fUH(] (UTV.u{H]]@UH]fUHІ]fUH]fUH.u{H]]fUH]fUH.u{H]]fUH]fUHH9pu]HpH]UHHp]UHx̀](UTV.u{xH]]@UH]fUHt]fUHx]fUH@8|u]@|H]UH劇|]@UH]DUHH]UH9$u]É$H]fUH勇$]@UH ]WU.u{ H]]fUHW]UH]fUH ]fUH\]WU.u{H]]fUHW]UH]fUH]fUHL]WU.u{H]]fUHW]UH]fUH]fUH9u]ÉH]fUH勇]@UHHH0]f.UHHH01]f.UH9u]ÉH]fUH勇]@UH9u]ÉH]fUH勇]@UHHH`]f.UHHH`1]f.UHH?HF(]fUH9,u]É,H]fUH勇,]@UH90u]É0H]fUH勇0]@UH94u]É4H]fUH勇4]@UHAWAVSPLHL u H[A^A_]HIHtMtLH'tMtLzHtKHIILqII LHHyHHHƉH`s1xIdžHH)13L30L0D3 L30D0 L00D3@L3PD0@L0PD3`L3pD0`L0pHHuHt.HHf.fD3 3D0 0H HuI9tAHH1@ HI9uILH[A^A_]f.UHH]UH]f.UH]f.UH]f.UHL1I9(u]É(H]UH1]UH]DUH勇(]@UHHH]f.UHHH1]f.UH勇 ]@UHAWAVSPHH@L<H HQHLtpH@HLpH\H zHHLDHt IXHH5JHLTLH[A^A_]f.fUHAWAVSPHH$HHHLwpH@HGpLHHHGGHt H{XwL'H5ȓHHL0HH[A^A_]BfUHAWAVSPHH@HH HQHLtpH@HLpL|H jHHLDHt H{XLH5:HHDLHH[A^A_]@UHSPHHHHG@t H{PHH[]4f.fUHSPHHȒHHG@t H{PJHHH[]4@UHSHH~0LVXI9sH~XIDIu MtF@uH^@HE1ۅu1HyHH^PMI)ۅttuvAuHH+N(HybLHyXHNH+NHxKI9|FHtAtH~t4AtHt)AtHVHHVLV At HcHV(HV0IH@xH@pH@hH@`H@XH@PH@HH@@H@8H@0H@(H@ H@H@H@HL[]DUHSPAHHH1P HH[]f.UHHG0HOXH9sHGXHG`tHW H9sHO HHOH9s]f.DUHHG0HOXH9sHGXHHWH9Ws#t G`u@8ruHBHGHO @r]HHWHO 1]DUHAWAVAUATSH(t$AHLLo0L+HG8I9tHsXE1AC`HC(HEHCXHEH{@H}1H}t H7HH1zHEI)HuH)HMuHHHCHHKPHHK(HC8ILk0HHsXIMHMHSXH9HuHBHHSXC`t"C@u Hs@HHsPIHsL{HS I9tHK0EuEDH([A\A]A^A_]AHH@hHH([A\A]A^A_]HUHAWAVSPHHHHOHHhHOpH@HHHHGGHH_LwpLt H{hLH5WHHLH[A^A_]UHAWAVSPHH@L<H 4HQHLHQhHH@HLH\H HHLDXt IhzH*H5ÍHL LH[A^A_])f.UHAWAVSPHHHHHLHHhHH@HGLHhHHGGXt H{hLH52HHzLHH[A^A_]@UHAWAVSPHHHHOHHhHOpH@HHHHGGHH_LwpLt H{h^LH5HHLHH[A^A_])fUHAWAVSPHH@HH tHQHLHQhHH@HLL|H ;HHLDXt H{hLjH5HHKLsHH[A^A_]DUHAWAVAUATSPPt~HGHHHcH0HXHKHL{PHFPLdMwI9|=HcsXLHHHx,HHLnM9}H9}H HHtLkPLsPH8H@HNdzHGHHH0LpINHM~PFPDdI_H9|=IcvXHHHHx,HHLnM9}H9}ILHtMnPI^PI8H@HFdLH[A\A]A^A_]fUHAWAVAUATSPLÌPt6HGHHH HPH8HRHH4HLH)I $H8H]HGHHH M)L8H@H8H@HHcLct1HHIMyMwPILHLLIHH)HI4$L2LIEXH)!HH sHHHIIIpHHHljH s1HH)1f8%f8%LLf8%Df8%LD L0f8%D f8%L(D@LPf8%D0f8%L8D`LpHHuHt,H4Hf8%D3f8% 3Dp pHHuL9t+J JI)1f.Hc4H4QHI9uH]HH[A\A]A^A_]HFUHAWAVAUATSHXIHHLHiHHHH@HH}LHHEHǃxǃL=PIGHEHI@LLhL%ILHǃHǃHǃHǃǃHH}\HH}LHǃLmHHH~HHH}LLHǃHǃHǃHǃHǃHǃHǃXHǃ`HǃhHǃpHǃxHǃHǃHǃHǃHǃfǃƃHH}HǃH0HrHH@LsfCCHCHCHC$HC,HC1H?HCHEHHtHǃHP H>HEHHtHǃHP H>HELH}YH}PHEHMHHEL8HEL At H!H}H5qHH}zH}H}蚽 HEHE@UHHH?Ht HHP ]H=f.UHHH?Ht HHP ]H=f.UHHH?Ht HHP ]H=f.UHAWAVSPL?MtQIHGL9uL-f.HI9tHX@tHxI>M~H[A^A_]H[A^A_]fUHAWAVSPL?Mt$IH_L9t#fHHI9uI>H[A^A_]LM~H[A^A_]fUHAWAVATSHIH HtHP IG IHtHP ILJI HtHP ILJ I(HtHP ILJ(I0HtHP ILJ0IXHtHP ILJXM`IhI9tdLuf.DL1肿HuL蔿L膿IL9uM`IhL9tfDHHXI9uMhMxIL9MIHtHP ILJLeILJIHt IIHt IIHt IIHt IIHt IIHt IjIxHt IRI`Ht Ih:IHHt IP"I0Ht I8 IHt I IHt IIHt IIHtILJHP IHtILJHP IHtILJHP IcMxMtsIL9u?LVfHI9HX@tHx!f.DHI9tHX@tHxIxMM`Mt=IhL9t"HH踼I9uI`LMhI菼I胼IHtILJHP IHtILJHP IHtILJHP IHtILJHP IIMH]zHHIMH@IIH"zHIAt I虿HIH5yHLLRH[A\A^A_]H7H7H7Hy7Hq7Hi7Ha7IH}'IIIIIIIIxI`IHI0IIIIIIIIxI`ZI辵II6I 6I5I5IְI躰IL>L5fDUHAWAVAUATSHXII蜹AFAD$IFID$M|$IvLLeuMl$ Iv LL}`I\$(Iv(HLmKH]I|$0Iv0H}5ID$8HEID$@ID$HID$@HEID$8I^8LuI@L9;ID$PHEID$XID$`ID$XHEID$PHEHXPLpXL9mID$hHEM|$pID$xID$pM|$hHEHXhLppL9I$M$IDŽ$IDŽ$M$HELLM9LeA$LuAI$III$HA$AI$IHX[A\A]A^A_]DHL9HK H}HuHHKHtHH HuHCH9tHH HAHYH9uf.@HL9HK H}HuHpHKHtHH HuHCH9tHH HAHYH9uf.@HL9]HK H}LHHKHtHH HuHCH9tHH HAHYH9uf.@IL98IL$ HLHIL$HtHH HuID$L9 tIfI $HALaH9uIbIfIjInIIuHII7H}IHEH0H}IHEH0H}H}踵H}诵H}覵H}蝵H}蔵L0 fDUHSPHt HbHH_H{hHspRH{PHsXEH{8Hs@8H{0#H{(H{ H{HH[]fDHtMnL9,I RL9s J (H9@LHHqHHHljH`sv1M}IL۱IFIM>MnL9I L9s J (H9LHHyHHHƉH`1"H)1D3L30L0D3 L30D0 L00D3@L3PD0@L0PD3`L3pD0`L0pHHuHt.HHf.fD3 3D0 0H HuHL9HfD HHI9uHH)13L30L0D3 L30D0 L00D3@L3PD0@L0PD3`L3pD0`L0pHHuHt.HHf.fD3 3D0 0H HuHI9tHf. HHI9uLH[A\A]A^A_]L׮UHAWAVAUATSPIIH_HtEMnf.H IHt+H9C } LkHKHuMeMt1I^IMeMufIIAD$ M|$(LML+ID$0AD$8I|$@I|$HI|$PI|$XID$hID$pID$hID$`I$IDŽ$IDŽ$ID$xI$IDŽ$IDŽ$I$I$IDŽ$IDŽ$I$IDŽ$ADŽ$IDŽ$IDŽ$IDŽ$IDŽ$AƄ$I$ID$I\$MeIHHt IIuLI~'IFLH[A\A]A^A_]f.DUHH9Fu]ÐHAHH9@tHNyuHAHH9tHt`ztXfDHPHtztH91HQH2HqHtHNHAHBHA1H9@HH HQHBH91tH4HVHHtHJHAHFHA1H9H4HNHqHFF@HHHHPHtHBHPHQHP1H9@H HHH]HB@HHQHHtHBHPHQHP1H9@H HAHH]ÐUHAWAVSPHLw@L菫HCXC`t2AuHILIV HSPHKHHHKXHSHSHK E>AuIKD>HCXHs@L{HHCPLHCXHHL1AuIHHCHLsPLLs0Ls(HC8C`t\ItDIHHHH)HHHHHH)N0I)ILs0Mt IcILs0H[A^A_]fUHAWAVAUATSHIHIHfIVIINIHAIFLuIFL`MLDMtGMl$MtHIEL9IEHt1f.IHHuIEHuME1E1L9HUL}IMI|$(AG AD$ Iw(~HMHHH]t6AL$ f.DHPHt'H9H ~HHuHfHf.HHID$I$ID$L!HHHtHL!H{LHCMtMMnMtDIEL9IEHt-f.IHHuIEHu f.E1IGHt@HHHu#I_L9;tIIHXLxH9uMt1MIH;]IEIEHtIHHuML}H}LMtAIEHtfIH@HuLuLLL9u(H[A\A]A^A_]LuL9ufDHL9tHs LHKHtHH HuHCH9tHH HAHYH9uIEfDIEHIHHuHH}LMt LHu֞Hf f.fUHAWAVSPHI@訧INjAG I(HHæIFHt3AO f.@HHtH9H HPHuHHIFHIGIIGL9IHHtIH1LI~UIFLH[A^A_]HLH舞 f.@UHAWAVATSHIIIHUHMHHudIǿ@訦HA$C H{(IL¥HEHCHHCIIHHtII7HI~IFHH[A\A^A_]IH$Lĝ f.UHHGH9t ED9N ~(LH97tRMtRLf.IHIHuNLFMLf.fHH HuI ILMRI9 tEE9B }MtNLIL]H0HHHDHHHtHD9F } HFHNHuH2]H2H]H2H1H]H~H97tLVI HyLQH9uH9tD9O ~ MtHH:H]HHuH]f.H1HHt)HD9I } HAHqHuH ]H2HH]H H]@UHAWAVAUATSPIIH_HtEMnf.H IHt+H9C } LkHKHuMeMt1I^IMeMuIIAD$ M|$(LL۟ID$0AD$8I|$@迟I|$H赟I|$P諟I|$X衟ID$hID$pID$hID$`I$IDŽ$IDŽ$ID$xI$IDŽ$IDŽ$I$I$IDŽ$IDŽ$I$IDŽ$ADŽ$IDŽ$IDŽ$IDŽ$IDŽ$AƄ$I$ID$I\$MeIHHt IIuLI~IFLH[A\A]A^A_]f.DHt6UHAVSHIH6HsLH{(H[A^]%@UH]f.UH]fDUHAVSIHHtI~tA~t[A^]AFHI~IF I~(tHHDIvI~HxHHxHHf.1L9r @HCHHuH9trL9s wlHSHtDHHHu#HKH9tHSfDH2HNHVH91uH9puHpHHH~HI~HIFAF[A^]UHAVSHGH9t,IHHt HHPLsMtLH[A^][A^]f.DUHSLHMtHFHtHHHHuLRMu0E1E1HJHH9u5LH9HADJH9u)gHHBIBAHJHH9tLQDJH9t@HNHJL^1I93HHH HQHNHJHtHQNJH9HDEtHt Et AB[]ÐHHPH9tt/HHux}fHH@AHQH2HqHtHNHqHrHq1H9HH HQHH9HDHAHHt yHPHt z@H@H9u~@AHPHHtHJHqHpHqH9tHFHHHHHAH9HDHHHt zHHHt y@H@H9t2xt,HH1H9H1LDJH9B}@[]HG[]HPHt zA@HQHHtHBHPHQHP1H9@H HAHHHHtzt=A@HHPHtHBHPHQHP1H9@H HHHHHHAXY@BHHQHHtHBHPHQHP1H9@H HAHH[]HHAXY@BHHHHPHtHBHPHQHP1H9@H HHH[]UHAWAVATSIILxHxHtjLHfD1L9z @HCHHuL9t L9y IxHHHt.HL9x ws HXHHHuIH;ulLH;ua IHH;uS(SLx HH@L`HIpH Ht IpHIxHOI[A\A^A_]f.DHt-UHAVSHIH6HsLH[A^]鮛f.UHAWAVAUATSHIIIHUHMHHIĿ`rHLh LL蔚AGCIFHH[A\A]A^A_]IAEtH{0ŚIH踚LX f.@UHAWAVAUATSHMHUIIHGHEH9tHMt$ LL"t,M9ethI$Htdf.DHH@Hu^LLID$HHLmf.IH HuL*LHH[H9tHH LtI<$tqHEHHJH]L#M3ILI$LHt;IMt$ LL1uLL"I\$ID$HuwHEL LHEL L#Mt$M9&LmtIL$HLrHJI9uI\$M9tIv LtHHt HEL0LrHEL iI]HuHEL(LT@HIHt>HLs LLSuLLDt LkHCHuHEHLHEHHH[A\A]A^A_]f.@UHAWAVAUATSPIHD/LHIAtL{EAt MfM9t mMIM9ubAtIvH{AuIvH{AtH{uMtW1@T :u#HH9u=Mt8LLE LEЅt$M9LIBHtFAt$H[Au#I"AF9Cu@CA:F7HAtMvHL贗u1M9M9CH[A\A]A^A_]@HtKUHAVSHIH6HsLC@t H{PۖC t H{0̖H[A^]f.DUHAWAVAUATSHIIHWLoLH)HH9LL)IIO!LH>H?M)LHIM9MBHH9LCMH}LMLEI9HMJ<MHLELMM|JHHHDA70HHuJHr@AAHAHAH AHAHAHAHH H9uHW1JN4NIIIOH9vK HLL9LMIMIIpHHHAAH]fAnfpHL0LH)1f.DDDDHHuMtfAnfpDM9JMJ H)HHtHf.A73HHuHrDf.fA AKAKAK AKAKAKAKH I9uJH~HLMIfLMHMHLqHYMtLH[A\A]A^A_]龓H[A\A]A^A_]HJH11M|f.DUHAVSHH肏H=[ML5LMHLeHnH衑H=>MHL?HNHJH=MHLHH蹎H=LHL[A^]UHAVSђHHDHJH[A^]IH虒L9 f.DUH]fDUHAWAVSPH~HgbHLHǃhHǃpL請蒊H膊HH薊HXnHHHǃǃ`ǃ ΑHǃƃ8Hǃ<ƃEYHfǃFƃDyHxH[A^A_]I*IBIEIHHtHǃHP HHtHǃHP L蓊H/L詈 H' H f.DUHAVSHH`HƇ8EtƃEHH1Hx+LL1HXHP HHHP HHtUHxHP HHP HHt0HǃHHtHǃHP HHtHǃHP LeH[A^]HHIHHH"H辍LUH]fDUHSPHHH[]d@UHAWAVATSHIIU]HuL=H5H/I0H萎HHHpHLeL H5,ILHHǾ Q8AH}薎AH$H"HuL踎H5H~.1AFH H5yHDHHS.HHHpHLuLjH5HLUHHǾ Q8AH}AH胍H聍H[A\A^A_]HH}ƍH袅 UHAWAVSHXHIHt)HH5HHPtAFAD[`LH}ىMt:IH}LPH}Hu莈H5HyEtH}\H5H}XH5H}HH54H9IHLH#H5HHHE(.4)EH5tHNCtH}Hu3Et H}趌D}H]H}ӈAHMHDH߾HL4H}豈H1譈Et H}_H}蜈1HX[A^A_]'HEt!H}HEtH}"HH}ZH贃 f.UHAWAVSHX8lIƇ8HHHt@HH5@HPt,ILH`AG$OuAƆG9H}貇IH}LPH}HulH5HWEt H}:H5H}82HHE(R2)EH5&tHrCtH}HuWEt H}ڊD}H]H}AHMHDH߾HLXH}ՆH1цBEt H}胊H}HX[A^A_]HEt)H}HHHHEt H}=H}zHԁ f.UHAWAVAUATSHHI HE(*)EHesourcesHHHocateFORHHHPTM::AllH@HPHu0Et H}衉HHAFAD IAEA$A;<u A;@HHMHH IH荂L苂LA4$AT$LIچHH HH=H/QHHEHuпE}tHuԿHHADEMLH]HH}H HH迁H轁A4$AT$EԉD$D|$D$$LAA 踅}~B4t>A4$AT$D|$D$D$$LAA pAƆE9Hh[taH}H HHHAƆDA$A<AD$A@HPHĨ[A\A]A^A_]LeH}tIH}LPH}Hu.H5PHEt H}H5H}HHE(.)pH5tH1CtH}Hppt H}蓆D}H]H}谂AHMHDH߾HL~H}莂H1节Et H}AH}~AƆDI$L HHpHb1Hpt1H}&H&H!H?;97HEt H}̅H} HEtH}諅HHPH8} f.@UHAWAVSHHI讄H5^H}HCH}^Et H}=H[A^A_]IEuAu$L| H}At IAtIL| f.fUHAVSH HH5H}H譄H}ȁEt H}规t H{虄H [A^]IEtH}~IHÃLfUHAVSIHƇ8EtƃEHHLHx豀HÀHL[A^]}}UHAWAVAUATSHH IIH>HHEEHPTM::RenHEEnderEH8Hu$Et H}蕃A$FLhL0ԃIHHIHsCD-ELeL}Mu,8LHHH8IHEHH]LmLeLLLyC/UAAtLeHUL0HIHL0HILfDHHǾAHATPIf tHHH)H}H9tzL)HLhtq'H}~M/I$HpLPH}Hp)}H5KH}pH} LhEt H}ցLLA$G3 IHHtHH5 HPI H}}I$H}LPH}Hu{|H5Hf|Et H}IH5H}G|AHHE(a()pH52tH~CtH}Hp`pt H}DuH]H}|AHMHDH߾BHL^xH}|H1|HEt H}艀H}|1H HIHH(GNyLHy/I$8~H}\|I$H}LPH}Hu{H57H{Et H}H5H}zHHE(&)pH5tHCtH}Hp}pt H}zDuH]H}{AHMHDH߾MHLvH}u{H1q{Et H}(H}e{I$LV}IH HXH8I$t'H({I$HH1HфHHJH IHsC6EL}Mu6BH`LHHH~IHEHH]LuH`LHL~C7HKHH~Ho IHsC6EL}Mu6BH`LHHH~IHEHH]LuH`LHLA~C7W)pHEH(LzL0Et HuEu HUpu HqHuEtHUptHMHHE1I;$tI$I${I$upEEt H}|I$hI;\$ rIELH9ADŽ$IELH-IELH@HUHxH@HHI$hHƃCHW`L}LuH@HH@uHHHCXHxHH@uHHHCXHXXH3IELLHsIELLE\EEE)PEE)`HsIELLHsIELLE\EEE)pEE)HsIELLH3IELLE\EEE)EE)H3IELLHsIELLE\EEE)EE)HsIELLHsIELLE\EEE)EE)HsIELLHsIELLYf(Pf\`fYXfXWZ_`Yf(pf\fYXfXWZ_Yf(f\fYXfXWZ_Yf(f\fYXfXWZYf(f\fYXfXWZ_E\E_MfMY]f]f\fYXfXWZ_`Of.DA$1"wLtI$LLPLLXsHH5wCsEt H}&xLH5%sxHHE(?)ptHH5\xCtLHp?vpt H}wDeH]LsAHMHDH߾HHh9oLsH1s$vEt H}ewLsLhADŽ$f.H@HHƃCH`WQA$`^I$A$I$W^WQHQI$H9L0vH H9rr( fofof.f[^QdHt&(f([^Q$fHúW*^QHW*^rW*Q^WQDHHuHNnH@qIHHXuA$uIHHXt]H8HN0HH;EHĨ[A\A]A^A_]H}NuE8H};uE+/M$pI$pI;\$ r;IELH9r)H8I9$uIH8HH9sgA$A$$A$ M$M$PLoHI$HH8HrLmH8I$IHHXI$DlI$LLH H(I$%lI$lA$~H5@H}oH5H}nsHHP( )@H5tH)tCtHpH@r@t HPsDpH]H}oAHqHDH߾/HLkH}zoH1vopt H}*sH}goI$LDuAE$(qhH}(oI$H}LPH}HumH5HmEt H}rH5H}mH5THmrHHE()pH5tHrCtH}Hpppt H}7rDuH]H}TnAHMHDH߾HLiH}2nH1.npEt H}qH}nIrH}pH}p H}p HHHHfH@tZHPLHL0j.H>~HkHcH[gbHHpt H}qH}WmEjH}p\HEE HpH}HHHHpuEuEu'H}^pEtH}OpEH}m?gDHH()tHH5MDCtHHBt HCDHH@AHHDH߾HLo;H?H1?VBt HCH?H;IHHH9tH)?HPH5NhBHH+HIHGp?~,HIHp1AE1HI}?I@Ixe?I0HH=Ht`@H\@L;A<E@DD$L$D$ &D$@$L11E1;L;L^;HHt HBHPHt HXBH t H HP HHHtHHDHHHҼHHH;EuHĈ[A\A]A^A_]AHw@nhgHb@YSRHM@D>=H8@/)(H#@H@ ~H H[H JHGH?H7(Hȸ0CHaHY,HJHBH3H+HHHHHHPH=HH?RHHHvHlHhHPt H`n?H;HXH-?GHt H ?HD;HHt7~|zxvHu)HHugHPHusH HuH>HHt0HH}茹}HxHHHtHH>HPHtHX0>H HtHP HHHtHHDHHHH5 HHUH]f.UHH}]UHSPHH=}!>t4H=}H>t!H=UH=tHH[]sH[]UHH]UHAVS1=HH褪H5H[A^]IH<L4 f.DUH9(u]É(H]fUHH0]UH@8Fu]@FH]UH劇F]@UHHHh]f.UHHHh1]f.UHSPHH=|H<H=U|H<H=~H<H=~Hy<H=~Hb<tyH=~HO<trH=~H<<tkH=|H)<tdH+4HH[]1H[]øH[]øH[]øH[]øH[]øH[]øH[]øH[]f.DUHAVS;HH4H5=HH&;IH ;Ls2 fUHSPHH5~9H$HHH[]fDUHAWAVAUATSHHILLoLL)HH9snI6I)MII HH>H?I)LHII9LBHH9LCMHut9I9J<:#HtM$HLH9MM~d1N$HEN,H4L9M$MH]~H}HL:HEIMfMnHtHH[A\A]A^A_]o9H[A\A]A^A_]LP8CUHAVSH?Hb5H=;L5,HLE90H?H7H=HL9H?H*7H=HL8H?H4H=HL[A^]8UHAVS`8HH6HU HQ3HCPHCXH1H[A^]IH6IHQ8L/ UHAVSHc6H H2HCPHCX[A^]IH>6L/ f.fUHAVSH6H H2HCPHCX[A^]IH5LV/ f.fUHAVSHHW HHPHtHP HCPLsXMtL0L\7HCXH[A^]5IHu5LeDUHAVSHH HHPHtHP HCPLsXMtLv0L6HCXH[A^]5IH5LDUHAVSHHw HHPHtHP HCPLsXMtL0L|6HCXH4H[A^]`6IH4L}f.UHAWAVAUATSHEHHUHuIHHIHHIHHIHH HLHuHULMMEspjPH8[A\A]A^A_]f.fUHAWAVAUATSHxLLHIIIIH;HHEHHHtHH5HP1HE1IPH/Wx.v% .rWZXXL3xL3@L3PI$LxI$L@I$L8I$L@ZxHHH IH1d-IPHIPH1}IPA6AVDDLM .WA* (WA*^^^W(XmXeHW*^\eMe@W*^\EUEHuW*XHHW*^ XEvW*XW*g^X]xuW*X^Xm]W*(umX^XUuEUuIXt"HF/IOXH1HH102HH+I_XHFL0L2HILHHsCD-PLQMu1=LHHH'2IH`HHPLXLLLc2C,1HH ()H5H(2ƃW)0HDž@H..LHPt)H`u)H0u)H1'HQtH 0tH@HHE1IXH;tHH.IXH})0&Pt H`0L )HPL *AHtLA)IPHIP*IOXH9H5>]*IGXH8AGLH5*>*IGXHHHH}Hu8-IP}*HPHhHptHHDHXH`HHH;EuIH[A\A]A^A_]H@/H /P/HP.IPugIHl/H菧I0uu Pu,nH@3/tH /PtDH` /6IHPHhHptHHDHXH`Lq& Hf.DUHHujuH ]DUHHujuH ]DUH],fDUHAVSIHHPH H{XHt)L'LsXMtL'L.HCX[A^]f.DUHHn]UHSPHH=ynq.t4H=LnH^.t!H=nHK.tHH[]M&H[]UHSPHH=n.t9H=mH-t/H=cnH-t(H%HH[]1H[]øH[]øH[]f.UHAVS`-HH&+HH'HCPHCXHo%H[A^]IH*IH,LQ$ UHL1I9GHu]ÉGHH]fDUH1]UH]DUHGH]UHHH]f.UHHH1]f.UHOL.u{GLH]]f.DUHGL]ÐUHAVSH_2H*H=L5HL+H82H'H=HL+%#H2H)H=eHL[A^]j+UHAVSxA+HHDH#H[A^]IH +L" f.DUH]fDUHAWAVSPHh$HHHǃHH,HǃPH??HHǃHǃǃǃH?H8HH@H$(Hw'HHHxHHH@'H#HHǃ "HHHHHpH,HH(HH,Hǃǃ 0O)IH2&ILHH?WL'H=WL'H>WL'HBWLk'H@WLT'HAWL='ILP HǃpHǃhHǃ`HǃXH[A^A_]ILN(IH!L DUHAVSHH?HHHtHP HǃHHtHP HǃHHtHP HǃHHtHP HǃHHtHP HǃHHtHP HǃHpHtHP HǃpHH1Hǃ`HǃXH[A^] IH L>f.@UH]fDUHSPHHH[]&@UHAWAVATSHPIIHȃH gHcH@LIHH1f.8@1L@IHH1f.8@lHpHJ#HHp6$H}"HH}HPH}Hu H5fH Et H}%H5H} p%IHE()EH5ifH%AFfH}Hu#Et H}D%D}LuH}a!AHMLDLHHH}?!H1;!#Et H}$H}*!HP[A\A^A_]Ë0I$LHHH(!0I$L I$H(LLLHP[A\A^A_]HEt)H}HHHHEt H}J$H} H APUHAWAVAUATSHIIIHHHEЃt~I$I$LH9vdI$ILXHHH9v?I$I$LHHHH9vA$ I$L`9tLLL ADŽ$I$LHH I$LHHt,HHH5$hHPtHHuHI$LHHHHH5gHPH`HHHHHph\`*Hx^\pEW*L^UE\EW*P^EfWA.$$v%EXEXE^,ZA$$MHA$Hw?H  HcHA${A$zADŽ$s \H`I$HHLPH`HHH5bHHt HXa!H5HH`\pV!HH@(S)0H5fH!CfHHH0o0t H@ DHHXH`AHIHDH߾HL^H`H1EHt HX H`A$tADŽ$ZA$ȃ%H oHcHA$$I$I$HA$Dt5LL vADŽ$HHH;EHqA$$I$I$HI$A$ HI$I$LH H߉I$L I$I$LH HHI$I$LH H߉I$I$LH HHI$I$LH H߉I$I$L`H H߉XI$A$HI$A$HI$A$$H H HH;EH`HI$HHLPH`HHH5_HHt HXH5}H`pHH@()0H5{|fHCfHHH00t H@KDHHXH`_AHIHDH߾HLH`7H13Ht HXH`HHH;EClI$A$ HI$I$LH H߉I$LI$I$HpI$A$HI$I$LH HHI$I$LH H߉I$I$LH HHI$I$LH H߉I$I$L`H H߉XI$A$HPI$A$H`I$A$$HI$I$hHI$A$,HI$A$(HI$A$,HILPI$HHuEf.u(z&Ef.uzEf.u ADŽ$I$L[I$A$HhI$EY-1I$EYI$YEI$I$HpI$A$HI$I$1H HHpI$I$LH HHI$I$LH H߉I$I$LH HHI$I$LH H߉I$I$L`H H߉XI$A$HPI$A$H`I$A$$HH]HH;Eu.HĨ[A\A]A^A_]ADŽ$H/HH;EtHLHGHB(H0t4H@&H&H!HHHt HXH`0H nDDf.fUHAWAVAUATSHXIIIHHHyEAA$A MLMHEH}xX A6A(H}FIEH}LPH}HuH5!XHEt H}H5PvH}IHH5=vHpIHE()EH5sufHAD$fH}HuEt H}M]LeH}kHMLDL,HL H}JH1FEt H}H}:IHHHPMILXILHHAADžIEL`A IL 3jH}IEH}LPH}HueH5VHPEt H}3H5tH}1AH.H5rHA$HH5THA HH56HIHpIHE(µ)EH5sfHAFfH}HuEt H}i]LuH}HMLDLHL H}fH1bEt H}H}QADžHX[A\A]A^A_]1/HEt'H}HEtH}HH}HP  fDUHAWAVAUATSPIHHHHIHt9L;t0LXHHHI9ILLHHHHtHH5)XHQAAHHHEt HtCHH5XHQt/%HtHH5uHQt4  IILLILP HHHILH(HHHHXH[A\A]A^A_]ILIHHHHHIILLM9rDUHAWAVAUATSHhIIHHIHH}I$H}LPH}Hu H5RH Et H}H5xrH} pHHE()EH5ipfHCfH}HuEt H}EDmH]H}b AHMHDH߾ZHLH}@ H1< Et H}H}+ Dž|A$A$$A$ M$L|L HHDhXA$DAI$tAHMHDH߾.HLH}H1Et H}H}ILP I$LP HX[A\A]A^A_]IlIEtcH}XIXBIOH}IMuRidH}H}IMuOVIQIMuIQIEt H}.H}k!I%IIELP H7}IILP I$LP L H }H}DUHAWAVATSHPHIHIHH5IHPIHLH(I^pI$LHH1xFILEIHII.H HH(%H}BMt:IH}LPH}HuH5EHEtH}H5DH}H5EdH}pHHE()EH5wbfHCfH}HuEt H}SDeH]H}pAHMHDH߾KHLH}NH1JEt H}H}9ILP HP[A\A^A_]HAHEt8H}-H-6H$HzHMu")HEt H}H}HILP H  Hzf.@UHAWAVSHX9HH}eHH}HPH}HuH5ACH Et H}H5cH}pIHE()EH5`fH%AFfH}Hu Et H}D}LuH}AHMLDL#HH H}H1Et H}5H}rHX[A^A_]ÉHHHX[A^A_]HEt)H}HHHHEt H}H}Hj UH僿tLJH]]f.UH僿u]LJH]f.UH僿u]LJH]f.UH僿u]LJH]f.UHAVSIHHHpHHLpHHLpǃHǃ[A^]UHHHx1]f.UHHHx]f.UHHHx]f.UHAWAVAUATSHxDMLEIHIIL}HEHEA$HHXHEIELXH HHPHHXHHHHXH1HHHHXH1 HHIL<$LHHMDELMHHHuPHHXHHHHXH1pHHHHXH1~HHHx[A\A]A^A_]LEHUMAt ILMHx[A\A]A^A_]THhIH}LPHhHuH5>HlEt H}OH5_HhJpDHHE(D)EH5\fHCfH}HuiEt H}D}H]HhAHMHDH߾{HLgHhH1NEt H}HhHx[A\A]A^A_]HEt)H}HHHHEt H}BHh|H f.fUH勇]@UHAWAVATSHIIUH5]L进AH\HHHpHLeLH5LHHǾ Q8AH}PAHHH5{]LDAHHHHpHLeLJH5kL5HHǾ Q8AH}AHcHaH5]LɚAHnHHHpHLeLH5LHHǾ Q8AH}\AHHH5\LPA8HHHHpHLeLVH5wLAHHǾ Q8AH}AHoHmH5L\"LՙA@HzHHHpHLeLH5LHHǾ Q8AH}hAHHH5[L\AHHHHpHLeLdH5LOHHǾ Q8AH}AH}H{H5[LIHHHHpHLeLH5 LHHǾ Q8AH}vAHHH5*[LjAHHHHpHLeLpH5L[HHǾ Q8AH}AHHH5ZLA0HHHHpHLeLH5LHHǾ Q8AH}AHHHuLH5YZHjA$HHHHpHLuLpH5L[HHǾ Q8AH}AHHH[A\A^A_] HH}H f.@UHAVSLƃO;Du[A^]IuIHADIL[A^]UHHWY]UHSPHH=BYt!H=;HtHH[]VH[]f.UHSPHH=XH=;;Ht{H=8HwttH=8HdtmH=8HQtfH=8H>t_H=6H+tXH-HH[]1H[]øH[]øH[]øH[]øH[]øH[]øH[]f.UHAVSx!HH$HH[A^]IHL f.DUH.u{H]]fUH]fUH.u{H]]fUH]fUH勇]@UHH9u]HH]UHH]UH] (UTV.u{H]]@UH]fUH]fUH]fUHL1I9u]ÉH]UH1]UH]DUH勇]@UH8,](f(fUfTfVf.u{8H]]f.DUHܚ]fUHĚ]fUH8]fUHL1I9@u]É@H]UH1]UH]DUH勇@]@UHHH]f.UHHH1]f.UHL1I90u]É0H]UH1]UH]DUH勇0]@UHHH]f.UHHH1]f.UH$.u{$H]]fUH$]fUH( ]WU.u{(H]]fUHW]UHĐ]fUH(]fUH,]WU.u{,H]]fUHW]UH]fUH,]fUH勇D]@UHL1I9Hu]ÉHH]UH1]UH]DUH勇H]@UHAWAVSPLhHL u H[A^A_]HIHtMtLH'tMtLzHtKHIILqIhI LHHyHHHƉH`s1xIdžhHH)13L30L0D3 L30D0 L00D3@L3PD0@L0PD3`L3pD0`L0pHHuHt.HHf.fD3 3D0 0H HuI9tAHH1@ HI9uILH[A^A_]f.UHHh]UHH]UHAVSHH~H=L5HLHH H=HLHvHH=ŧHL[A^]UHAWAVAUATSH(HOHpHCHǃHǃǃHHH}<LL-HǃLL1H HEHǃ0Hǃ(Hǃ H8HEL@Hǃ@HǃHL8HxHEHǃxHǃHǃHǃHǃPHǃXHǃ`HǃhƃpHHǃHǃHC|HCtHClH??HCLHC\HCTHCdLI~HXIL( (mH([A\A]A^A_]I=IfIHEH8Ht HHPHuLHMMILaH}XHHtHǃHP HL HMcf.UHHH?Ht Hx]]DUHHH?Ht Hx]]DUHHw]"`fUHHH?Ht Hx]]DUH]fDUH]fDUHAVSHH_H'HxHt HOHPHt HX7H8H@_H Ht H( HHHHHtHǃHP H[A^]HaIHxHPH8H HHHHTaHLta@UHAWAVAUATSPH H(H98III)M$ H9II$PHME1JHP1HELMuv~1AuAAAMIH5GLPiHHHLd1LfMt It'LHLH:IH}HUHHuHH}L3HEHHHtsHH5<HP1HE[M5IHLL(ILI(I0H9RL2HI(1LoLHH}HUHIHuHH}L3HEHHHtHH5$<HP1HE1LIHIDpXID1EID1EI`HuHUH`LAEuU`L"I(I+ Hu&IPI9XRHALHx[A\A]A^A_]HHHL(IHHM(HI0I9sIIM(6HEI LM)LHHNHH=HL)HHHH9HBHH9HCHHuLEH9H<HLEHuI LL)HHHNHH=8HL)HHHH9HBHH9HCHHuHULEH9H<fLLEHUHu_1HHEHHDM~+HMH}LLHULILHUHMII I(I0ML1HHcHȂHH=͂H $A uAAs HcHELME1fM$IIEL(AZADlAZADpHI9uALEAA}AZT$lfYÁfWfXf(f Xf(fTfUfV\>yf(^ZA\$LZYfWfW\WZA\$\AZ\$tfY:fXf(f%Xf(fTfUfV\f(^ZAL$PZY\WZAL$`AZT$|fYŀfWfXf(f% Xf(fTfUfV\f(^ZA\$TZYfWfW\WZA\$dAZ$fYAAZT$lfY>fWfXf(fvXf(fTfUfV\wf(^ZA\$LZYfWfW\WZA\$\`AZ\$tfYfXf(f%Xf(fTfUfV\f(^ZAL$PZY\WZAL$`AZT$|fY@fWfXf(f%xXf(fTfUfV\f(^ZA\$TZYfWfW\WZA\$djAZ$fY~fXf(f%~Xf(fTfUfV\^ZAD$XZY\WZ1AAtH\~~AZ\$lfYfWfXf(f%g~Xf(fTfUfV\ uf(^ZAd$LZYfWfW\WZAd$\QAZd$tfYfXf(f-}Xf(fTfUfV\f(^ZAT$PZY\WZAT$`AZ\$|fYfWfXf(f-q}Xf(fTfUfV\f(^ZAd$TZYfWfW\WZAd$d|gAZ$fYfXf(f%|Xf(fTfUfV\^ZAL$XZY\WZAD$hH[A\A]A^A_]@UHAWAVAUATSHHI+MUu++H H(HH)HUH}H9H}I$@HM1fHLHXIHXLpEAH}1HEL Hp1EL HMDIHMIHUHT$ D$ED$ $D$o11LPEHHUAHHHXHHLPD;r^DBELu>Bp~111HU4fDALuHxHhHcHcHHUD9~HxHHHhHHEE11fHEJ40HLpIHMHcAI9xHHEJ40H`ps1H}f.D1H}f.ZDLf fYZLTfTfYZT\fXZDdfXfZfZfA fADHI9uLM97DLL\ZYZXWZAHI9uf111#LcHcHLD9~HxHHHhHHEE1HUf.@HHEJ40H`HEJ40H}HLpHMIHcAI9|DALuHxHhHUQLH}HP LuL`M@HD$E$HLuLE)%EILIL1IL1IL1ILDILDIfWfWfWfWLE9EDhL 1$D9xL`MqILIH@PHIcNXHHIIL1(MfAfZZfWfXf(f"of(Xf(fTfUfV\ Qf^ZZYfW\ZILIH@PHIcNXHHIIL1(LufAfZZfXgf(ff(cnXf(fTfUfV\ e^ZZYfW\ZILIH@PHIcL$XHHI$I$L1(fA$fZZfXMtAIH5LP1ɅLDIHt$HH5HP1ɅHEHh E11Hh螟IHXHH蛟I$LMtEIL8HpHHkI$LIHuL IHuLMn(I}HH`TIELAD$HA^FHAEHAD$PA^FPAEPAD$XA^FXAEXAD$`A^FHAEhAD$hA^FPAEpAD$pA^FXAExAD$xA^FHAA$A^FPAA$A^FXAMt7WA*A*A*H}HuHpH-HhHt!AAALplHpIE`HxIHEII^0LsHLH`HHLLƝHHI$LP H`HH;EuHx[A\A]A^A_]lf.@UHAWAVSHHIIH_HHEHH{HYHH( MA(mIAA1AvAN A+6FW*A+NQAFA+F%I(x 5I^p*(x -zI^*օx %fI^="M(X^u\(X^m\X^IWZOHf.eu{.GHH}uu}eI\WZOpf.u{GpH}}IWZf.u{HIEZO`f.u{G`HIEZf.u{HIIMEZf.u{HI(J)E(QG)EHHHuHIHHHuLҚHG]HH;Eu HH[A^A_]褢fDUHAWAVAUATSHxDtEʼnAIHxHޜADD9A9A9DMLD鋝tAAA藜3HEH$LDDDADMK4Z%H}ӝLxM-IH}LPH}Hu}H5HhE H}GAH=f[H5f%AHD讠H5H@跟H}0LxMIH}LPH}HuڛH5HśEH}褠wSH}̜LxMZIH}LPH}HuvH5HaE7H}@)H5tH}9H5q%H})H5qHHljH5`vHHDH5FvHHDH5"H͚pǟHHE(G)EH5bHCbH}HuEt H}oDuH]H}茛AHMHDH߾HLH}jH1fםH5[H} H5X$H}H5uHpHHE(+G)EH5bH;CbH}Hu Et H}裞DuH]H}AHMHDH߾HL!H}螚H1蚚 H5H}TH5#H}DH5H5p/HHE(_F)EH59bHoCbH}HuTEt H}םDuH]H}AHMHDH߾HLUH}ҙH1Ι?Et H}耝H}轙1Hx[A\A]A^A_]?;%731-HEt'H}HEtH}'HH}_H蹔 f.DUH?=f(ȃ w:HHcH5GH-HhH赌E HuںH,LLH5H,pHTE HuٺH,H[A\A^A_]UHAWAVATSEAAHTD9| D9|D9}8H=FH5%I,HljH5H+,1[A\A^A_]UHH]UHH]UHSPHH=行t!H=H莌tHH[]鐄H[]f.UHSPHH=Qt&H=H>tH@HH[]1H[]øH[]f.fUHAVSqHH贝HH[A^]IH9Lق f.DUHAVS-HH4H5MEHEH6IHL胂 fUHSPHH5щH4EHHH[]fDHt-UHAVSHIH6HsLH[A^]nf.UHAWAVATSHPIIHEHHEHHHH8AF0HHuHI?L}HHuHL}PIHXHIt$HHHILHH+ILHUHHHUHHf(EMUf^^fAANf(U]ef^^f\\fAVA^(ILP HDHH;Eu HP[A\A^A_]aH;HMu HILP H蕀 HUHAWAVAUATSH(IHII)MIL'LoLL)HI9GMt3LgILM苈MLIEIEIEE1LH=LEIHLHIM9MBHH9LCI9J<%ID$I$J IL$HuH9IDHt%Hf.DHHHHHuI8rRH HHKHHHKHHHKHHHK HH HK(HH(HK0HH0HK8HH8H@H@H9uID$LoM)N4+IM9LIGHH)t/H}LHHEHULEHM虇HEHMLEH}M9HGL9IK H)ىHt!Hf.I6H0IHHuH8r\IHINHHINHHINHHIN HH IN(HH(IN0HH0IN8HH8H@I@M9uHIHGH([A\A]A^A_];L3f.UHH0H@HHE:}DfD.f(v DEfA(Nf.v Mf(f)f(A_UBf.v Ef(f)fA(_f(]uf(_f(]f)@]RUnf.f(v mf(D^fA.v D]fA(0f(_]DjfA.v DmfA((A_fA(]8ef(A_fA(]Xej mD~ fD.f(v D}fA(f)Df(fA.v DefA(f)fD(E_DUDJ(fE.v DMfE(fA(A_fA(]f)ef(A_fA(]efD(f(@fD.uA\,Ɖx1Xf.u\,։ΉxfD.uf(A\,Ɖʉxf(@x|U9}d9}mEkE1ɸXf.wqDfD.ztDf(@9} EEfD(AX\(A\ffAfXfEfA\fAf\f(Yf(YXf(fYXQfWf.u{ ^f^HcUHHd\dfT%M"Y m"1f.~0t_ wfw(xXXX0X8Y2"f(fAfAfXf(ffXf(ffXfY5!\_fOf\f(YfWXf(YXf(fYXQf.u z t&%!^YfYfWf)`HDžpH?H``hYpffYXfX1fWf.u{%YfYXfXY1f.DH ;H H;Mu H0] f.UHAVSHUHH=:L5:HL襀H.H|H=s:HL脀xH H~H=U:HL[A^]ZUHAVS1HH~HCXHCPHCH()C`HCpHCxH[HHmxH[A^]IHL\w fUHAWAVSPHAIHHH5pLPKP\KHY zshHSXWLE1{H{pshKdLKXA yH{pH1H{pHDH{pHDHxHH[A^A_]swH[A^A_]fUH] fDUHH]UHSPHH=At4H=H.t!H=HtHH[]wH[]UHSPHH=K~t9H=_H~t/H=3H~t(HvHH[]1H[]øH[]øH[]f.UH]FfDUHSPH2HH[]}@UHAVS}HH\|HCXHCPHCH(&C`HCpHCxHBYHHuH[A^]IH<}Lt fUHGl]UHGh]ÐUHAVSHHn{H= 7L56HL}HHxH=6HL|utHlHzH=6HL[A^]|UHAVSHHYHHpHtHP HCpH{XHtQ|H[A^]{IH{LhUHAVSHH7YHHpHtHP HCpH{XHt{H[A^]zIHzLUHAVSHHXHHpHtHP HCpH{XHt{H]zH[A^]{IHFzLUHHpHt H]]UHHpHt]u]f.UHHpHt]u]fDUHSPHHpHtH H{pHP HCpH[]f.fUHAWAVAUATSPMIIHIHHH5HPtIwHIWPHtwA$AEHH5VHPtIwHIWPHvA$AEHH5EHPt%HHA $PAU}AU| LLAEH[A\A]A^A_]DUHAWAVATSHPIHpB1ۅOHetiAƉ ؉  ȉ  A9O*xRH}uIH}LPH}Hu]tH5HHtEt H}+yH5vH})tHlj+tH5HtHDtH5HsH5HspxHHE(")EH5elH!yClH}HuwEt H}xDeH]H}tAHMHDH߾WHL pH}tH1tvAH}etIH}LPH}HusH5AH sEt H}wH5sH}rpwHHE(!)EH5ilH%xClH}Hu vEt H}wDeH]H}sAHMHDH߾AHL oH}sH1suuAH}dsIH}LPH}HurH5@H rEt H}vH5H}qpvHHE( )EH5hlH$wClH}Hu uEt H}vDeH]H}rAHMHDH߾JHL nH}rH1rtEt H}5vH}rrADODHP[A\A^A_]HUHPHIHDH?HEt6H}+H+H&H! HHEt H}uH}qHEm f.UHAWAVAUATSH(H"MMAIIHDEEMHpHu pHHCpLoHHLLDEEEHHUHMHLMUHLH{Xt 9ChuKl;MtChEԉClHHHHLDEMDuDDs`H{xmDuD9s`t$Ds`H{pHDH{pHDH([A\A]A^A_]DUHSPHHXHt#tHcChHcKlHHcCdHHHHA tHCXH[]fUHAVSHtXIHf.GHuNzLAFf.CPu?z=HHH;Cxw+H{pHH;CxwH{pHt1[A^]IHCHIFHCP[A^]f.DUH]f.UHAWAVATSHIIUqHuL-sH5ZHM~pMtkI$HpLH]HrH5$-HqHHǾ Q8H}rLrLrH}MqILLQ0H5LkHuLrH5HKAv`HqHHHpHL}LVqH5w,LAqHHǾ Q8AH}qAHoqHmqHuLrH5\ HAFHHcqH59HHAFPHAqH5HHHHpHLuLpH5+LpHHǾ Q8AH}'qAHpHpH[A\A^A_]HH}pHh UHH4]UHSPHH=qt!H=H~qtHH[]iH[]f.UHSPHH=Aqt&H=H.qtH0iHH[]1H[]øH[]f.fUH]ofDUHAVSHvHnH=K*L5,*HLEpHvH:lH=*HL$pgHvH*nH=)HL[A^]oUHAVSoHH|nHCXHCPHCHHHC`HHChHCpHCxHMHHgH[A^]IHKoLf UHSPHmHCXHCPHCHHHC`HHChHCpHCxH/MHH[]f.UHSPHmHCXHCPHCHHHC`HHChHCpHCxHLHH[]f.UHAWAVAUATSH(HAHIHH5'HPE1LEDuH}L|iAt$h~I|$XHnA|$l:@IcT$hHcHHI|$XHL7nLmA;\$lMcl$hLHHH@HmIIM~#IIIJLH5 mLhHeAL$PA\L$HY ? At$hWHLE1ri/I|$pH1]I|$pH1I|$pHI|$pHI|$pAt$hAT$lAL$dML$XA 8gHuH}H([A\A]A^A_]HHuH}Hd f.@UHAWAVSHHIIHHH5+HPtjAH}HgH}t!HuHt#HHHIHuHuHEHH@H9t@AH}H[A^A_]UH]VfDUHH]UHSPHH=lt4H=Hkt!H=cHktHH[]cH[]UHSPHH=&kt9H=/Hkt/H=Hkt(HcHH[]1H[]øH[]øH[]f.UH]fDUHSPHHH[]j@UHAVSjHH,iHCXHCPHCHHHC`HHChHCpHCxHaHHHbH[A^]IHiLa Ht-UHAVSHIH6HsLH[A^]iÐUHAVSH^pHhH=#L5#HLiH7pHeH=s#HLiaHpHgH=U#HL[A^]ZiUHAVS1iHHgHCXHCPHCHHHC`HHChHCpHCxHAHHH\aH[A^]IHhLK` UHSPHZgHCXHCPHCHHHC`HHChHCpHCxHGHH[]f.UHSPHfHCXHCPHCHHHC`HHChHCpHCxHOGHH[]f.UHAWAVAUATSH(HAHIHH5HPE1LEDuIcD$hH~3H H?H!I|$XH4HHHUgA|$lqAL}LeQDHcHI|$XILLtgH}fH}fLfAE;l$lL}IcD$hH@HعHHH@HfIHH~#HHHHLH5/ gLDaHuL1aHtAD$HAL$PAt$hHL7cIc\$hHعHHH@H&fIHH~#HHHHLH5 ufLeLuLDXaHLeuL1!aHt'AD$HAL$PAt$hHHUйE1aIc\$hL4LHHH@HzeIHBAAuLHUHuWfD)LHUHuȋFAFAA F AFAFHABHAH uEFAFAA H([A\A]A^A_]I|$pH1I|$pH1I|$pH]ĉI|$pHI|$pAt$hAT$lAL$dML$XA H([A\A]A^A_]^f.UHAWAVSHHIIHHH5 HPtjAH}Hh_H}t!HuHt#HHHIHuHuHEHH@H9t@AH}H[A^A_]UH]6fDUHH]UHSPHH=ct4H=oHct!H=CHctHH[][H[]UHSPHH=;ct9H=H~ct/H=Hkct(Hm[HH[]1H[]øH[]øH[]f.UH]fDUHSPHHH[]db@UHAVSabHH aHCXHCPHCHHHC`HHChHCpHCxHqAHHZH[A^]IHaL{Y UHAVSHhH.`H=L5HLaHZhH]H=HLa5YH5hH_H=uHL[A^]zaUHAVSQaHH_HCXHCPHCH(% C`HCpHCxHAHǃH?HHrYH[A^]IH`LaX UHAWAVAUATSHHMEHAAHIHH5\HPtoAGHAOPAwhIWXH߹E1\AtPAAGhE^EEIwXD@1AlHHH[A\A]A^A_]EghE?DuE^EEMwXAD$E1s LDuLeHHEIIKE1fDIM9sC . g )Mv>(EWZv\M_ `\WZ(MC( f:)Eu*f:unf: rf.WZ\M__ \WZ(MCDfoEf:t(fWZ\M_ \WZ(MCDfoEf: ZU\M^ ?\WZCD L9mDuLe\ @HAE9>.vWZ\MJ^ \WZ ILHH1q( ZHH9.vWZY]Z(f:@u"f:@u9f: @tUZYeZdf:@t(fZYeZdf: @SZYUZT 7I9u]IpH1IpHDIpHDIpAwhAOdMOXA HH[A\A]A^A_]V-f.H9} .vZYMZ f.UHAVSHEAHMuD9uf.u{DH[A^]1DUHAWAVATSHIIU3HuL}[H5HCAHZHHHpHLeLKZH5lL6ZHHǾ Q8AH}ZAHdZHbZHuLZH5^HAHUZHHHpHLuLYH5LYHHǾ Q8AH}OZAHYHYH[A\A^A_]HH} ZHQ fUHH]UHSPHH=Zt4H=?HZt!H=HZtHH[]RH[]UHSPHH=ZaZt9H=߾HNZt/H=H;Zt(H=RHH[]1H[]øH[]øH[]f.UH]fDUHSPHHH[]4Y@UHAVS1YHHWHCXHCPHCH(C`HCpHCxH9HǃH?HHRQH[A^]IHXLAP UHAVSHD_HVH=L5lHLXH_HzTH=SHLdXOH^HjVH=5HL[A^]:XUHAVSXHHVHCXHCPHCHHHC`HHChHCpHCxH9HHH(H HAH(LAEH(AI?uHHL0HHHHPH(H@HHHL_EHDž Dž(L5M~L(I@LLEHHH0HDžpHDžxHDžHDžDžH(DL}H]DH LLxMHH 1CD0DhHHHMHHHMLxHH@H@H]t H}DDDHEHMHHL t H0=D}MLH(HEHHXE1HgHHEAf.HCH HuNCLLCAD;}PMHPH HHHLHbCIHDžDž HEH LHL0 CHEH(HH@H@H@H@DžH H5ֳH0HDBHH5HLԏH1HAHHHMHHPHUHMHH@H@H`L膏`HXtHpHh HHaH}oA@0PHHHMHHHMLhHH@H@L3M@uUu/IL#MuE f.ILHIE9~ } I^IFHuL#MAD$(t I|$8AEAD$(EAD$)HEHMID$*IL$0Ml$8`t HpoAELxLeLmH(t H}JA0t H@5AL LL(h#HxAfLL#M4@@IDx H@(H@0H@8HH@LpHLuIHHt IH3LIԒIAD$(H}HL0L}H]8L(LH0pt H#@L?H5tHH(z?H?HHH;EuHĸ[A\A]A^A_]@I tH0?IL0LxRIIIH?IH(t;yIIEu`u0EuG0u^mL8?`t I`tHp?Et IEtH}>0uI0tH@>IL0LxL(IIIL0MIHEH LHEH(ht Hxv>L&>H Hu=H.>MHEH(LHEH0pt H>L=H5nHH(t=H=L5 UHAWAVAUATSHAHHHHEHH\E{uH;W@XEH]`=HH@<H!HHCHHCPHCXH5HHH*9HEHX(HH+9H9H;Lc}HL` =HH;H"HHCHHCPHCXHa5HHH8HEHX HH8H8H;HL`<HH.;H"HHCHHCPHCXH4HHH8H]H{H8H 8H{HLL{PLcXHsXLHC`LLcPHCXLc8Lk@Hs@LÂHCHLLk8HC@H{hLkpHspH0萂HCxLLkhHCpHHLHHHHHH@HHHL:HDžDžHHHH`HH@HXHHL:H=HHhHHDž HDž(HDž0HDž8Dž@HD:HLoL LH:H1z9D DpHHHMHHHMLxHH@H@H]t H:DDHEHMHHLt H9}H@LHEHHXHHH@HHpH(E1HHH8L@6fDL9HH88H9AD;uUHHHH@HL8HDžDžH`HHXH@L8HhHHCHCHCHCDž8HH5Q`HD 8HH5ALLVL1H7s7HHHMHHPHUHMHH@H@HxLxLtHuHUf.HHyH}6XHHHMHHHML`HH@H@M/MUp(L"f.DIEMH`IE9u } M}IEHuIHC(t H{8-7EC(pC)HEHMHC*HK0Lc8xt H}6ELLH@t H}6@t HP6HL贃H1H5HHHMHHPHUHMHH@H@HxLfxLtHuHUfHHyH}O5XHHHMHHHML`HH@H@M/MUpL"f.DIEMHIE9u } M}IEHuIHC(t H{85EC(pC)HEHMHC*HK0Lc8xt H}X5ELH@LL@t H}-5@t HP5HEHxHXtHhLLہL1H3HHHMHHPHUHMHH@H@HxL荁xLHuHUfMIH@Y4HDp H@(H@0H@8HH@LhIHHHHHI7MIHE@3HDp H@(H@0H@8HH@LhIH HHHWHI7OHHyH}2MD`HHHMHHHMHHHpHH@H@M/MfL( f.IEMHIE9u } M}IEHuIH+C(t H{82EC(Dc)HEHMHC*HK0HpHC8xt H}2ELH@LL@t H}k2@t HPV2H`HHXH@HhHH(2f.@MIHf.fMIH5f.fMIH@1HDp H@(H@0H@8HH@LhIH0HHHtbHI7]HL}IX蘃IG`C(HL}I@uIGHC(MIH'MHL}Ip>IGxC( H}HQ)H`HHXHHHhH t H00L<0H5HH/HH=0H2HH;EuH[A\A]A^A_]0It H"0LILIIIH+IH/I_IEtkHpIEtWL/MHIEtQiI@IIEt'?I@u^hIcIxuEu@uH}/I>L0AƆH[A\A]A^A_]HH}H UHƇ]UHSPAHHH1P HH[]f.UHAVSHH4H5HHIHL fUHSPHH5_aHHHH[]fDUHHh]UHSPHH=St!H=]HtHH[]H[]f.UHSPHH=Qt&H=\H>tH@HH[]1H[]øH[]f.fUHAWAVAUATSPIIUI\$HI;\$Pt-L}@L+LIMLLQ0HI;\$PuH[A\A]A^A_]f.fUHAWAVSPIH$HH_HH;_Pt%M~Hf.H;HP HI;^PuIHt I^PHLH[A^A_]eHLLRH謒f.fUHAWAVSPIHHH_HH;_Pt%M~Hf.H;HP HI;^PuIHt I^PHLLH[A^A_]HLTLH@UHAVS`HHHHHCHHCPHCXH8H[A^]IHL' f.UHAWAVAUATSH(IIHHGHHELwHHGXL)HH9H}seI9tI_PL)J<$IJ IIH~LLHHgHHELxHIL`PHHXMt4L*Mu%H([A\A]A^A_]fDH;HI_PItHI_PMwXL9uHEH0H)IIID$HH9I)LHII9LBHH9LCMt'H}HuI9wxJ</IHuH}E1K KHL? HHJH=HL[A^] UHHHOHt HHIHH]OUHAWAVAUATSPMMIHIH?Ht I$XH3L}I?Ht I$(nLH[A\A]A^A_]\%R%T%V%X%Z%\%^%`%b%d%f%h%j%l%n%p%r%t%v%x%z%|%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%% %"%$%&%(%*%,%.%0%2%4%6%8%:%<%>%@%B%D%F%H%J%L%N%P%R%T%V%X%Z%\%^%`%b%d%f%h%j%l%n%p%r%t%v%x%z%|%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%% %"%$%&%(%*%,%.%0%2%4%6%8%:%<%>%@%B%D%F%H%J%L%N%P%R%T%V%X%Z%\%^%`%b%d%f%h%j%l%n%p%r%t%v%x%z%|%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%% %"%$%&%(%*%,%.%0%2%4%6%8%:%<%>%@%B%D%F%H%J%L%NLMAS%5hhh\ h h h h h= hi h h h xh& nhX dh Zh Ph Fh1 h4h#*h' h(h[) h)h)h *h9*hn*h,hH-h-hC.h.h.h/h1h1hB2vhy2lh2bh2XhB3Nh3Dh3:h40hW4&h4h4h5h^5h5h5h5h,6h^6h6h6h7h7h7h8hH@hd@|h@rh4 hh^hEThJh@h 6h,,h`/"h/h/hT0h0h0h1ho1h1hH8h8h 9h:9h9h9h:ht:h:xh;nh\;dh;Zh<Ph7<Fhh<h4h*h  hVh: hxhh#h#hW(h(hh0h]hhhhhh9vhblhbhXhTNhcDh":h"0h"&h#h%h%h'hM'hy'h'h>h|%hMhthh?#hNhhh|hrhhhF^hyThJh@h6h,hF"hhUhhhhqhhhhhKhhhAhhh xh. nhS dh Zh Ph:FhnVh`>Lh}>Bh>8h>.h?$h(?hZ?hw?h?h?h @h@hKh=hu=hAhdAhAhAh$BhJBhlBzhBphCfhiC\hCRhDHhgD>hD4h E*heE hEhF hBFhFhFhGhKGhGhGhHhAHh~HhHhHh5IhsIhIvhIlh)JbhGJXhJNhJDhJ:hK0h'K&hFKhKhLhULhpLhLhLhLhLhh Lh?LhLhbMhrMhMhM|hMrhMhhM^hMThMJ//VTK::System::Dec /*========================================================================= Program: Visualization Toolkit Module: raycasterfs.glsl Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ ////////////////////////////////////////////////////////////////////////////// /// /// Inputs /// ////////////////////////////////////////////////////////////////////////////// /// 3D texture coordinates form vertex shader in vec3 ip_textureCoords; in vec3 ip_vertexPos; ////////////////////////////////////////////////////////////////////////////// /// /// Outputs /// ////////////////////////////////////////////////////////////////////////////// vec4 g_fragColor = vec4(0.0); ////////////////////////////////////////////////////////////////////////////// /// /// Uniforms, attributes, and globals /// ////////////////////////////////////////////////////////////////////////////// vec3 g_dirStep; float g_lengthStep = 0.0; vec4 g_srcColor; vec4 g_eyePosObj; bool g_exit; bool g_skip; float g_currentT; float g_terminatePointMax; // These describe the entire ray for this scene, not just the current depth // peeling segment. These are texture coordinates. vec3 g_rayOrigin; // Entry point of volume or clip point vec3 g_rayTermination; // Termination point (depth, clip, etc) // These describe the current segment. If not peeling, they are initialized to // the ray endpoints. vec3 g_dataPos; vec3 g_terminatePos; float g_jitterValue = 0.0; //VTK::CustomUniforms::Dec //VTK::Output::Dec //VTK::Base::Dec //VTK::Termination::Dec //VTK::Cropping::Dec //VTK::Clipping::Dec #define EPSILON 0.001 // Computes the intersection between a ray and a box // The box should be axis aligned so we only give two arguments struct Hit { float tmin; float tmax; }; struct Ray { vec3 origin; vec3 dir; vec3 invDir; }; bool BBoxIntersect(const vec3 boxMin, const vec3 boxMax, const Ray r, out Hit hit) { vec3 tbot = r.invDir * (boxMin - r.origin); vec3 ttop = r.invDir * (boxMax - r.origin); vec3 tmin = min(ttop, tbot); vec3 tmax = max(ttop, tbot); vec2 t = max(tmin.xx, tmin.yz); float t0 = max(t.x, t.y); t = min(tmax.xx, tmax.yz); float t1 = min(t.x, t.y); hit.tmin = t0; hit.tmax = t1; return t1 > max(t0, 0.0); } // As BBoxIntersect requires the inverse of the ray coords, // this function is used to avoid numerical issues void safe_0_vector(inout Ray ray) { if(abs(ray.dir.x) < EPSILON) ray.dir.x = sign(ray.dir.x) * EPSILON; if(abs(ray.dir.y) < EPSILON) ray.dir.y = sign(ray.dir.y) * EPSILON; if(abs(ray.dir.z) < EPSILON) ray.dir.z = sign(ray.dir.z) * EPSILON; } // the phase function should be normalized to 4pi for compatibility with surface rendering //VTK::PhaseFunction::Dec //VTK::ComputeColor::Unif //VTK::Shading::Dec //VTK::BinaryMask::Dec //VTK::CompositeMask::Dec //VTK::GradientCache::Dec //VTK::Transfer2D::Dec //VTK::ComputeGradientOpacity1D::Dec //VTK::ComputeOpacity::Dec //VTK::ComputeRGBA2DWithGradient::Dec //VTK::ComputeGradient::Dec //VTK::ComputeDensityGradient::Dec //VTK::ComputeVolumetricShadow::Dec //VTK::ComputeLighting::Dec //VTK::ComputeColor::Dec //VTK::ComputeRayDirection::Dec //VTK::Picking::Dec //VTK::RenderToImage::Dec //VTK::DepthPeeling::Dec uniform float in_scale; uniform float in_bias; ////////////////////////////////////////////////////////////////////////////// /// /// Helper functions /// ////////////////////////////////////////////////////////////////////////////// /** * Transform window coordinate to NDC. */ vec4 WindowToNDC(const float xCoord, const float yCoord, const float zCoord) { vec4 NDCCoord = vec4(0.0, 0.0, 0.0, 1.0); NDCCoord.x = (xCoord - in_windowLowerLeftCorner.x) * 2.0 * in_inverseWindowSize.x - 1.0; NDCCoord.y = (yCoord - in_windowLowerLeftCorner.y) * 2.0 * in_inverseWindowSize.y - 1.0; NDCCoord.z = (2.0 * zCoord - (gl_DepthRange.near + gl_DepthRange.far)) / gl_DepthRange.diff; return NDCCoord; } /** * Transform NDC coordinate to window coordinates. */ vec4 NDCToWindow(const float xNDC, const float yNDC, const float zNDC) { vec4 WinCoord = vec4(0.0, 0.0, 0.0, 1.0); WinCoord.x = (xNDC + 1.f) / (2.f * in_inverseWindowSize.x) + in_windowLowerLeftCorner.x; WinCoord.y = (yNDC + 1.f) / (2.f * in_inverseWindowSize.y) + in_windowLowerLeftCorner.y; WinCoord.z = (zNDC * gl_DepthRange.diff + (gl_DepthRange.near + gl_DepthRange.far)) / 2.f; return WinCoord; } /** * Clamps the texture coordinate vector @a pos to a new position in the set * { start + i * step }, where i is an integer. If @a ceiling * is true, the sample located further in the direction of @a step is used, * otherwise the sample location closer to the eye is used. * This function assumes both start and pos already have jittering applied. */ vec3 ClampToSampleLocation(vec3 start, vec3 step, vec3 pos, bool ceiling) { vec3 offset = pos - start; float stepLength = length(step); // Scalar projection of offset on step: float dist = dot(offset, step / stepLength); if (dist < 0.) // Don't move before the start position: { return start; } // Number of steps float steps = dist / stepLength; // If we're reeaaaaallly close, just round -- it's likely just numerical noise // and the value should be considered exact. if (abs(mod(steps, 1.)) > 1e-5) { if (ceiling) { steps = ceil(steps); } else { steps = floor(steps); } } else { steps = floor(steps + 0.5); } return start + steps * step; } ////////////////////////////////////////////////////////////////////////////// /// /// Ray-casting /// ////////////////////////////////////////////////////////////////////////////// /** * Global initialization. This method should only be called once per shader * invocation regardless of whether castRay() is called several times (e.g. * vtkDualDepthPeelingPass). Any castRay() specific initialization should be * placed within that function. */ void initializeRayCast() { /// Initialize g_fragColor (output) to 0 g_fragColor = vec4(0.0); g_dirStep = vec3(0.0); g_srcColor = vec4(0.0); g_exit = false; //VTK::Base::Init //VTK::Cropping::Init //VTK::Terminate::Init //VTK::Clipping::Init //VTK::RenderToImage::Init //VTK::DepthPass::Init //VTK::Matrices::Init g_jitterValue = jitterValue; } /** * March along the ray direction sampling the volume texture. This function * takes a start and end point as arguments but it is up to the specific render * pass implementation to use these values (e.g. vtkDualDepthPeelingPass). The * mapper does not use these values by default, instead it uses the number of * steps defined by g_terminatePointMax. */ vec4 castRay(const float zStart, const float zEnd) { //VTK::DepthPeeling::Ray::Init //VTK::Clipping::Impl //VTK::DepthPeeling::Ray::PathCheck //VTK::Shading::Init /// For all samples along the ray while (!g_exit) { //VTK::Base::Impl //VTK::Cropping::Impl //VTK::BinaryMask::Impl //VTK::CompositeMask::Impl //VTK::PreComputeGradients::Impl //VTK::Shading::Impl //VTK::RenderToImage::Impl //VTK::DepthPass::Impl /// Advance ray g_dataPos += g_dirStep; //VTK::Terminate::Impl } //VTK::Shading::Exit return g_fragColor; } /** * Finalize specific modes and set output data. */ void finalizeRayCast() { //VTK::Base::Exit //VTK::Terminate::Exit //VTK::Cropping::Exit //VTK::Clipping::Exit //VTK::Picking::Exit g_fragColor.r = g_fragColor.r * in_scale + in_bias * g_fragColor.a; g_fragColor.g = g_fragColor.g * in_scale + in_bias * g_fragColor.a; g_fragColor.b = g_fragColor.b * in_scale + in_bias * g_fragColor.a; gl_FragData[0] = g_fragColor; //VTK::RenderToImage::Exit //VTK::DepthPass::Exit } ////////////////////////////////////////////////////////////////////////////// /// /// Main /// ////////////////////////////////////////////////////////////////////////////// void main() { //VTK::CallWorker::Impl } //VTK::System::Dec /*========================================================================= Program: Visualization Toolkit Module: raycastervs.glsl Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ /// Needed to enable inverse function #extension GL_ARB_gpu_shader5 : enable ////////////////////////////////////////////////////////////////////////////// /// /// Uniforms, attributes, and globals /// ////////////////////////////////////////////////////////////////////////////// //VTK::CustomUniforms::Dec //VTK::Base::Dec //VTK::Termination::Dec //VTK::Cropping::Dec //VTK::Shading::Dec ////////////////////////////////////////////////////////////////////////////// /// /// Inputs /// ////////////////////////////////////////////////////////////////////////////// in vec3 in_vertexPos; ////////////////////////////////////////////////////////////////////////////// /// /// Outputs /// ////////////////////////////////////////////////////////////////////////////// /// 3D texture coordinates for texture lookup in the fragment shader out vec3 ip_textureCoords; out vec3 ip_vertexPos; void main() { /// Get clipspace position //VTK::ComputeClipPos::Impl /// Compute texture coordinates //VTK::ComputeTextureCoords::Impl /// Copy incoming vertex position for the fragment shader ip_vertexPos = in_vertexPos; } //VTK::System::Dec /*========================================================================= Program: Visualization Toolkit Module: vtkglprojectedTetrahdraFS.glsl Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ //VTK::Output::Dec in vec3 fcolor; in float fdepth; in float fattenuation; void main() { // the following exp is done in the fragment shader // because linear interpolation (from the VS) of the resulting // value would not match the exp of the interpolated // source values float opacity = 1.0 - exp(-1.0*fattenuation*fdepth); gl_FragData[0] = vec4(fcolor,opacity); if (gl_FragData[0].a <= 0.0) { discard; } } //VTK::System::Dec /*========================================================================= Program: Visualization Toolkit Module: vtkglProjectedTetrahedra.glsl Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ // all variables that represent positions or directions have a suffix // indicating the coordinate system they are in. The possible values are // MC - Model Coordinates // WC - WC world coordinates // VC - View Coordinates // DC - Display Coordinates in vec4 vertexDC; in vec3 scalarColor; in float depthArray; in float attenuationArray; out float fdepth; out float fattenuation; out vec3 fcolor; void main() { fcolor = scalarColor; fdepth = depthArray; fattenuation = attenuationArray; gl_Position = vertexDC; } vtkGPUVolumeRayCastMappervtkOpenGLGPUVolumeRayCastMapperOverride for VTK::RenderingVolumeOpenGL2 modulevtkProjectedTetrahedraMappervtkOpenGLProjectedTetrahedraMappervtkRayCastImageDisplayHelpervtkOpenGLRayCastImageDisplayHelpervtk version 9.2.6vtkRenderingVolumeOpenGL2ObjectFactoryvtkObjectFactoryvtkObjectvtkRenderingVolumeOpenGL2 factory overrides.: (nullptr): Cannot handle input of type '(nullptr)'./Volumes/Data/workspace/med-macos-weekly/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkMultiBlockUnstructuredGridVolumeMapper.cxxAt least one block in the data object is not of type vtkUnstructuredGrid. These blocks will be ignored.vtkDataObjectTreeNumber Of Mappers: BlockLoadingTime: BoundsComputeTime: vtkUnstructuredGridvtkMultiBlockUnstructuredGridVolumeMappervtkUnstructuredGridVolumeMappervtkAbstractVolumeMappervtkAbstractMapper3DvtkAbstractMappervtkAlgorithmallocator::allocate(size_t n) 'n' exceeds maximum supported sizesorting failed/Volumes/Data/workspace/med-macos-weekly/ExtProjs/VTK/Rendering/Volume/vtkBlockSortHelper.h/Volumes/Data/workspace/med-macos-weekly/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkMultiBlockVolumeMapper.cxxAt least one block in the data object is not of type vtkImageData or vtkRectilinearGrid. These blocks will be ignored.VectorMode: VectorComponent: vtkImageDatavtkRectilinearGridvtkMultiBlockVolumeMappervtkVolumeMapper //Transform vertex (data coordinates) to clip coordinates // p_clip = T_ProjViewModel * T_dataToWorld * p_data vec4 pos = in_projectionMatrix * in_modelViewMatrix * in_volumeMatrix[0] * vec4(in_vertexPos.xyz, 1.0); gl_Position = pos; // Transform vertex (data coordinates) to texture coordinates. // p_texture = T_dataToTex * p_data vec3 uvx = sign(in_cellSpacing[0]) * (in_inverseTextureDatasetMatrix[0] * vec4(in_vertexPos, 1.0)).xyz; // For point dataset, we offset the texture coordinate // to account for OpenGL treating voxel at the center of the cell. // Transform cell tex-coordinates to point tex-coordinates (cellToPoint // is an identity matrix in the case of cell data). ip_textureCoords = (in_cellToPoint[0] * vec4(uvx, 1.0)).xyz; ip_inverseTextureDataAdjusted = in_cellToPoint[0] * in_inverseTextureDatasetMatrix[0]; uniform vec3 in_cellSpacing[]; uniform mat4 in_modelViewMatrix; uniform mat4 in_projectionMatrix; uniform mat4 in_volumeMatrix[]; uniform mat4 in_inverseTextureDatasetMatrix[]; uniform mat4 in_cellToPoint[]; //This variable could be 'invariant varying' but it is declared //as 'varying' to avoid compiler compatibility issues. out mat4 ip_inverseTextureDataAdjusted; uniform sampler3D in_volume[]; uniform vec4 in_volume_scale[]; uniform vec4 in_volume_bias[uniform sampler1D in_coordTexs; uniform vec3 in_coordTexSizes; uniform vec3 in_coordsScale; uniform vec3 in_coordsBias; uniform sampler3D in_blanking; uniform int in_noOfComponents; uniform sampler2D in_depthSampler; // Camera position uniform vec3 in_cameraPos; uniform sampler2D in_noiseSampler; ]; uniform mat4 in_inverseVolumeMatrix[]; uniform mat4 in_textureDatasetMatrix[]; uniform mat4 in_textureToEye[]; uniform vec3 in_texMin[]; uniform vec3 in_texMax[// view and model matrices uniform mat4 in_projectionMatrix; uniform mat4 in_inverseProjectionMatrix; uniform mat4 in_modelViewMatrix; uniform mat4 in_inverseModelViewMatrix; in mat4 ip_inverseTextureDataAdjusted; // Ray step size uniform vec3 in_cellStep[mat4 g_eyeToTexture = in_inverseTextureDatasetMatrix[0] * in_inverseVolumeMatrix[0] * in_inverseModelViewMatrix; mat4 g_texToView = in_modelViewMatrix * in_volumeMatrix[0] *in_textureDatasetMatrix[0]; uniform vec2 in_scalarsRange[]; uniform vec3 in_cellSpacing[]; // Sample distance uniform float in_sampleDistance; // Scales uniform vec2 in_windowLowerLeftCorner; uniform vec2 in_inverseOriginalWindowSize; uniform vec2 in_inverseWindowSize; uniform vec3 in_textureExtentsMax; uniform vec3 in_textureExtentsMin; // Material and lighting uniform vec3 in_diffuse[4]; uniform vec3 in_ambient[4]; uniform vec3 in_specular[4]; uniform float in_shininess[4]; // Others vec3 g_rayJitter = vec3(0.0); uniform vec2 in_averageIPRange; vec4 g_eyePosObjs[uniform bool in_twoSidedLighting; uniform float in_giReach; uniform float in_anisotropy; uniform float in_volumetricScatteringBlending; #define TOTAL_NUMBER_LIGHTS #define NUMBER_POS_LIGHTS vec4 g_fragWorldPos; uniform vec3 in_lightAmbientColor[TOTAL_NUMBER_LIGHTS]; uniform vec3 in_lightDiffuseColor[TOTAL_NUMBER_LIGHTS]; uniform vec3 in_lightSpecularColor[TOTAL_NUMBER_LIGHTS]; uniform vec3 in_lightDirection[TOTAL_NUMBER_LIGHTS]; uniform vec3 in_lightPosition[NUMBER_POS_LIGHTS]; uniform vec3 in_lightAttenuation[NUMBER_POS_LIGHTS]; uniform float in_lightConeAngle[NUMBER_POS_LIGHTS]; uniform float in_lightExponent[NUMBER_POS_LIGHTS]; vec3 g_lightDirectionTex[TOTAL_NUMBER_LIGHTS];vec3 g_lightPositionTex[NUMBER_POS_LIGHTS];uniform vec3 in_lightAmbientColor[1]; uniform vec3 in_lightDiffuseColor[1]; uniform vec3 in_lightSpecularColor[1]; vec4 g_lightPosObj[]; vec3 g_ldir[]; vec3 g_vdir[]; vec3 g_h[uniform vec4 in_componentWeight; uniform sampler2D in_depthPassSampler; #if NUMBER_OF_CONTOURS uniform float in_isosurfacesValues[NUMBER_OF_CONTOURS]; int findIsoSurfaceIndex(float scalar, float array[NUMBER_OF_CONTOURS+2]) { int index = NUMBER_OF_CONTOURS >> 1; while (scalar > array[index]) ++index; while (scalar < array[index]) --index; return index; } #endif vtkPlaneuniform vec3 in_slicePlaneOrigin; uniform vec3 in_slicePlaneNormal; vec3 g_intersection; float intersectRayPlane(vec3 rayOrigin, vec3 rayDir) { vec4 planeNormal = in_inverseVolumeMatrix[0] * vec4(in_slicePlaneNormal, 0.0); float denom = dot(planeNormal.xyz, rayDir); if (abs(denom) > 1e-6) { vec4 planeOrigin = in_inverseVolumeMatrix[0] * vec4(in_slicePlaneOrigin, 1.0); return dot(planeOrigin.xyz - rayOrigin, planeNormal.xyz) / denom; } return -1.0; } // vec2 fragTexCoord2 = (gl_FragCoord.xy - in_windowLowerLeftCorner) * in_inverseWindowSize; vec4 depthValue = texture2D(in_depthPassSampler, fragTexCoord2); vec4 rayOrigin = WindowToNDC(gl_FragCoord.x, gl_FragCoord.y, depthValue.x); // From normalized device coordinates to eye coordinates. // in_projectionMatrix is inversed because of way VT // From eye coordinates to texture coordinates rayOrigin = in_inverseTextureDatasetMatrix[0] * in_inverseVolumeMatrix[0] * in_inverseModelViewMatrix * in_inverseProjectionMatrix * rayOrigin; rayOrigin /= rayOrigin.w; g_rayOrigin = rayOrigin.xyz; // Get the 3D texture coordinates for lookup into the in_volume dataset g_rayOrigin = ip_textureCoords.xyz; // Eye position in dataset space g_eyePosObj = in_inverseVolumeMatrix[0] * vec4(in_cameraPos, 1.0); g_eyePosObjs[] = in_inverseVolumeMatrix[] * vec4(in_cameraPos, 1.0); // Getting the ray marching direction (in dataset space) vec3 rayDir = computeRayDirection(); // 2D Texture fragment coordinates [0,1] from fragment coordinates. // The frame buffer texture has the size of the plain buffer but // we use a fraction of it. The texture coordinate is less than 1 if // the reduction factor is less than 1. // Device coordinates are between -1 and 1. We need texture // coordinates between 0 and 1. The in_depthSampler // buffer has the original size buffer. vec2 fragTexCoord = (gl_FragCoord.xy - in_windowLowerLeftCorner) * in_inverseWindowSize; // Multiply the raymarching direction with the step size to get the // sub-step size we need to take at each raymarching step g_dirStep = (ip_inverseTextureDataAdjusted * vec4(rayDir, 0.0)).xyz * in_sampleDistance; g_lengthStep = length(g_dirStep); float jitterValue = 0.0; jitterValue = texture2D(in_noiseSampler, gl_FragCoord.xy / vec2(textureSize(in_noiseSampler, 0))).x; g_rayJitter = g_dirStep * jitterValue; g_rayJitter = g_dirStep; g_rayOrigin += g_rayJitter; // Flag to determine if voxel should be considered for the rendering g_skip = false; // Light position in dataset space g_lightPosObj[] = (in_inverseVolumeMatrix[] * vec4(in_cameraPos, 1.0)); g_ldir[] = normalize(g_lightPosObj[].xyz - ip_vertexPos); g_vdir[] = normalize(g_eyePosObjs[].xyz - ip_vertexPos); g_h[] = normalize(g_ldir[] + g_vdir[]); g_skip = false; // Check whether the neighboring points/cells are blank. // Note the half cellStep because texels are point centered. vec3 xvec = vec3(in_cellStep[0].x/2.0, 0.0, 0.0); vec3 yvec = vec3(0.0, in_cellStep[0].y/2.0, 0.0); vec3 zvec = vec3(0.0, 0.0, in_cellStep[0].z/2.0); vec3 texPosPVec[3]; texPosPVec[0] = g_dataPos + xvec; texPosPVec[1] = g_dataPos + yvec; texPosPVec[2] = g_dataPos + zvec; vec3 texPosNVec[3]; texPosNVec[0] = g_dataPos - xvec; texPosNVec[1] = g_dataPos - yvec; texPosNVec[2] = g_dataPos - zvec; vec4 blankValue = texture3D(in_blanking, g_dataPos); vec4 blankValueXP = texture3D(in_blanking, texPosPVec[0]); vec4 blankValueYP = texture3D(in_blanking, texPosPVec[1]); vec4 blankValueZP = texture3D(in_blanking, texPosPVec[2]); vec4 blankValueXN = texture3D(in_blanking, texPosNVec[0]); vec4 blankValueYN = texture3D(in_blanking, texPosNVec[1]); vec4 blankValueZN = texture3D(in_blanking, texPosNVec[2]); vec3 blankValuePx; blankValuePx[0] = blankValueXP.x; blankValuePx[1] = blankValueYP.x; blankValuePx[2] = blankValueZP.x; vec3 blankValuePy; blankValuePy[0] = blankValueXP.y; blankValuePy[1] = blankValueYP.y; blankValuePy[2] = blankValueZP.y; vec3 blankValueNx; blankValueNx[0] = blankValueXN.x; blankValueNx[1] = blankValueYN.x; blankValueNx[2] = blankValueZN.x; vec3 blankValueNy; blankValueNy[0] = blankValueXN.y; blankValueNy[1] = blankValueYN.y; blankValueNy[2] = blankValueZN.y; // If the current or neighboring points // (that belong to cells that share this texel) are blanked, // skip the texel. In other words, if point 1 were blank, // texels 0, 1 and 2 would have to be skipped. if (blankValue.x > 0.0 || any(greaterThan(blankValueNx, vec3(0.0))) || any(greaterThan(blankValuePx, vec3(0.0)))) { // skip this texel g_skip = true; } // If the current or previous cells (that share this texel) // are blanked, skip the texel. In other words, if cell 1 // is blanked, texels 1 and 2 would have to be skipped. else if (blankValue.y > 0.0 || any(greaterThan(blankValuePy, vec3(0.0))) || any(greaterThan(blankValueNy, vec3(0.0)))) { // skip this texel g_skip = true; } // If the current or previous cells (that share this texel) // are blanked, skip the texel. In other words, if cell 1 // is blanked, texels 1 and 2 would have to be skipped. if (blankValue.x > 0.0 || any(greaterThan(blankValueNx, vec3(0.0))) || any(greaterThan(blankValuePx, vec3(0.0)))) { // skip this texel g_skip = true; } g_dataPos = g_intersection; uniform sampler2D [uniform sampler2D in_labelMapGradientOpacity; float computeGradientOpacity(vec4 grad) { return texture2D(, vec2(grad.w, 0.0)).r; } float computeGradientOpacity(vec4 grad, int component) { if (component == ) { return texture2D(, vec2(grad.w, 0.0)).r; } } float computeGradientOpacityForLabel(vec4 grad, float label) { return texture2D(in_labelMapGradientOpacity, vec2(grad.w, label)).r; }// c is short for component vec4 computeGradient(in vec3 texPos, in int c, in sampler3D volume,in int index) { // Approximate Nabla(F) derivatives with central differences. vec3 g1; // F_front vec3 g2; // F_back vec3 xvec = vec3(in_cellStep[index].x, 0.0, 0.0); vec3 yvec = vec3(0.0, in_cellStep[index].y, 0.0); vec3 zvec = vec3(0.0, 0.0, in_cellStep[index].z); vec3 texPosPvec[3]; texPosPvec[0] = texPos + xvec; texPosPvec[1] = texPos + yvec; texPosPvec[2] = texPos + zvec; vec3 texPosNvec[3]; texPosNvec[0] = texPos - xvec; texPosNvec[1] = texPos - yvec; texPosNvec[2] = texPos - zvec; g1.x = texture3D(volume, vec3(texPosPvec[0]))[c]; g1.y = texture3D(volume, vec3(texPosPvec[1]))[c]; g1.z = texture3D(volume, vec3(texPosPvec[2]))[c]; g2.x = texture3D(volume, vec3(texPosNvec[0]))[c]; g2.y = texture3D(volume, vec3(texPosNvec[1]))[c]; g2.z = texture3D(volume, vec3(texPosNvec[2]))[c]; vec4 g1ObjDataPos[3], g2ObjDataPos[3]; for (int i = 0; i < 3; ++i) { g1ObjDataPos[i] = clip_texToObjMat * vec4(texPosPvec[i], 1.0); if (g1ObjDataPos[i].w != 0.0) { g1ObjDataPos[i] /= g1ObjDataPos[i].w; } g2ObjDataPos[i] = clip_texToObjMat * vec4(texPosNvec[i], 1.0); if (g2ObjDataPos[i].w != 0.0) { g2ObjDataPos[i] /= g2ObjDataPos[i].w; } } for (int i = 0; i < clip_numPlanes && !g_skip; i = i + 6) { vec3 planeOrigin = vec3(in_clippingPlanes[i + 1], in_clippingPlanes[i + 2], in_clippingPlanes[i + 3]); vec3 planeNormal = normalize(vec3(in_clippingPlanes[i + 4], in_clippingPlanes[i + 5], in_clippingPlanes[i + 6])); for (int j = 0; j < 3; ++j) { if (dot(vec3(planeOrigin - g1ObjDataPos[j].xyz), planeNormal) > 0) { g1[j] = in_clippedVoxelIntensity; } if (dot(vec3(planeOrigin - g2ObjDataPos[j].xyz), planeNormal) > 0) { g2[j] = in_clippedVoxelIntensity; } } } // Apply scale and bias to the fetched values. g1 = g1 * in_volume_scale[index][c] + in_volume_bias[index][c]; g2 = g2 * in_volume_scale[index][c] + in_volume_bias[index][c]; // Central differences: (F_front - F_back) / 2h // This version of computeGradient() is only used for lighting // calculations (only direction matters), hence the difference is // not scaled by 2h and a dummy gradient mag is returned (-1.). return vec4((g1 - g2) / in_cellSpacing[index], -1.0); } // Scale values the actual scalar range. float range = in_scalarsRange[4*index+c][1] - in_scalarsRange[4*index+c][0]; g1 = in_scalarsRange[4*index+c][0] + range * g1; g2 = in_scalarsRange[4*index+c][0] + range * g2; // Central differences: (F_front - F_back) / 2h g2 = g1 - g2; float avgSpacing = (in_cellSpacing[index].x + in_cellSpacing[index].y + in_cellSpacing[index].z) / 3.0; vec3 aspect = in_cellSpacing[index] * 2.0 / avgSpacing; g2 /= aspect; float grad_mag = length(g2); // Handle normalizing with grad_mag == 0.0 g2 = grad_mag > 0.0 ? normalize(g2) : vec3(0.0); // Since the actual range of the gradient magnitude is unknown, // assume it is in the range [0, 0.25 * dataRange]. range = range != 0 ? range : 1.0; grad_mag = grad_mag / (0.25 * range); grad_mag = clamp(grad_mag, 0.0, 1.0); return vec4(g2.xyz, grad_mag); } vec4 computeGradient(in vec3 texPos, in int c, in sampler3D volume, in int index) { return vec4(0.0); } for(int i=0; i= 0.0) { opacity *= computeGradientOpacity(gradient opacity *= computeGradientOpacityForLabel(gradient, label); color = texture2D(, vec2(scalar, 0.0)).xyz; vec4 lutRes = computeRGBAWithGrad(vec4(scalar), gradient); opacity = lutRes.a; color = lutRes.xyz vec4 computeDensityGradient(in vec3 texPos, in int c, in sampler3D volume, const in sampler2D opacityTF, const in sampler2D gradTF, in int index, float label) vec4 computeDensityGradient(in vec3 texPos, in int c, in sampler3D volume, const in sampler2D opacityTF, in int index, float label) vec4 computeDensityGradient(in vec3 texPos, in int c, in sampler3D volume, in int index, float label) g1.xtexPosPvec[0] g1.ytexPosPvec[1] g1.ztexPosPvec[2] g2.xtexPosNvec[0] g2.ytexPosNvec[1] g2.ztexPosNvec[2]// c is short for component { // Approximate Nabla(F) derivatives with central differences. vec3 g1; // F_front vec3 g2; // F_back vec3 xvec = vec3(in_cellStep[index].x, 0.0, 0.0); vec3 yvec = vec3(0.0, in_cellStep[index].y, 0.0); vec3 zvec = vec3(0.0, 0.0, in_cellStep[index].z); vec3 texPosPvec[3]; texPosPvec[0] = texPos + xvec; texPosPvec[1] = texPos + yvec; texPosPvec[2] = texPos + zvec; vec3 texPosNvec[3]; texPosNvec[0] = texPos - xvec; texPosNvec[1] = texPos - yvec; texPosNvec[2] = texPos - zvec; float scalar; float opacity; vec4 gradient; scalar = texture3D(volume,)[c]; scalar = scalar * in_volume_scale[index][c] + in_volume_bias[index][c]; = opacity; { return vec4(0.0); } float phase_function(float cos_angle) { return 1.0; } float g_anisotropy2 = in_anisotropy * in_anisotropy; float phase_function(float cos_angle) { float d = 1.0 + g_anisotropy2 - 2.0 * in_anisotropy * cos_angle; return (1.0 - g_anisotropy2) / (d * sqrt(d)); } vec4 computeLighting(vec4 color, int component, float label) { vec4 finalColor = vec4(0.0); vol_shadow = volumeShadow(g_dataPos, tex_light.xyz, 0.0, component, in_volume[0], 0, label); float vol_shadow = 1.0; vec4 tex_light = vec4(0.0); vec4 shading_gradient = computeDensityGradient(g_dataPos, component, in_volume[0], 0, label); vec4 shading_gradient = computeGradient(g_dataPos, component, in_volume[0], 0); vec4 gradient = computeGradient(g_dataPos, component, in_volume[0], 0); vec4 gradient = shading_gradient; vec3 diffuse = vec3(0.0); vec3 specular = vec3(0.0); vec3 normal = shading_gradient.xyz; float normalLength = length(normal); if (normalLength > 0.0) { normal = normalize(normal); } else { normal = vec3(0.0, 0.0, 0.0); } // XXX: normal is oriented inside the volume, so we take -g_ldir/-g_vdir float nDotL = dot(normal, -g_ldir[0]); vec3 r = normalize(2.0 * nDotL * normal + g_ldir[0]); float vDotR = dot(r, -g_vdir[0]); if (nDotL < 0.0 && in_twoSidedLighting) { nDotL = -nDotL; } if (nDotL > 0.0) { diffuse = nDotL * in_diffuse[component] * in_lightDiffuseColor[0] * color.rgb; vDotR = max(vDotR, 0.0); specular = pow(vDotR, in_shininess[component]) * in_specular[component] * in_lightSpecularColor[0]; } // For the headlight, ignore the light's ambient color // for now as it is causing the old mapper tests to fail finalColor.xyz = in_ambient[component] * color.rgb + diffuse + specular; g_fragWorldPos = g_texToView * vec4(g_dataPos, 1.0); if (g_fragWorldPos.w != 0.0) { g_fragWorldPos /= g_fragWorldPos.w; } vec3 viewDirection = normalize(-g_fragWorldPos.xyz); vec3 ambient = vec3(0,0,0); vec3 diffuse = vec3(0,0,0); vec3 specular = vec3(0,0,0); vec3 vertLightDirection; vec3 normal = normalize((in_textureToEye[0] * vec4(shading_gradient.xyz, 0.0)).xyz); vec3 lightDir; for (int posNum = 0; posNum < NUMBER_POS_LIGHTS; posNum++) { float attenuation = 1.0; lightDir = in_lightDirection[posNum]; vertLightDirection = (g_fragWorldPos.xyz - in_lightPosition[posNum]); float distance = length(vertLightDirection); vertLightDirection = normalize(vertLightDirection); attenuation = 1.0 / (in_lightAttenuation[posNum].x + in_lightAttenuation[posNum].y * distance + in_lightAttenuation[posNum].z * distance * distance); // per OpenGL standard cone angle is 90 or less for a spot light if (in_lightConeAngle[posNum] <= 90.0) { float coneDot = dot(vertLightDirection, lightDir); // if inside the cone if (coneDot >= cos(radians(in_lightConeAngle[posNum]))) { attenuation = attenuation * pow(coneDot, in_lightExponent[posNum]); } else { attenuation = 0.0; } } float nDotL = dot(normal, vertLightDirection); if (nDotL < 0.0 && in_twoSidedLighting) { nDotL = -nDotL; } if (nDotL > 0.0) { float df = max(0.0, attenuation * nDotL); diffuse += (df * in_lightDiffuseColor[posNum]); vec3 r = normalize(2.0 * nDotL * normal - vertLightDirection); float rDotV = dot(-viewDirection, r); if (rDotV < 0.0 && in_twoSidedLighting) { rDotV = -rDotV; } if (rDotV > 0.0) { float sf = attenuation * pow(rDotV, in_shininess[component]); specular += (sf * in_lightSpecularColor[posNum]); } } ambient += in_lightAmbientColor[posNum]; } for (int dirNum = NUMBER_POS_LIGHTS; dirNum < TOTAL_NUMBER_LIGHTS; dirNum++) { vertLightDirection = in_lightDirection[dirNum]; float nDotL = dot(normal, vertLightDirection); if (nDotL < 0.0 && in_twoSidedLighting) { nDotL = -nDotL; } if (nDotL > 0.0) { float df = max(0.0, nDotL); diffuse += (df * in_lightDiffuseColor[dirNum]); vec3 r = normalize(2.0 * nDotL * normal - vertLightDirection); float rDotV = dot(-viewDirection, r); if (rDotV > 0.0) { float sf = pow(rDotV, in_shininess[component]); specular += (sf * in_lightSpecularColor[dirNum]); } } ambient += in_lightAmbientColor[dirNum]; } finalColor.xyz = in_ambient[component] * ambient + in_diffuse[component] * diffuse * color.rgb + in_specular[component] * specular; finalColor = vec4(color.rgb, 0.0); float vol_coef = 2.0 * in_volumetricScatteringBlending * exp( - 2.0 * in_volumetricScatteringBlending * shading_gradient.w * color.a)2.0 * (1.0 - in_volumetricScatteringBlending) * exp( - 2.0 * in_volumetricScatteringBlending * shading_gradient.w * color.a) + 2.0 * in_volumetricScatteringBlending - 1.0vec3 view_tdir = normalize((g_eyeToTexture * vec4(viewDirection, 0.0)).xyz); vec3 secondary_contrib = vec3(0.0); vec3 tex_light = vec3(0.0); shading_gradient.w = length(shading_gradient.xyz); vec3 diffuse_light = vec3(0.0); float attenuation = 0.0; float vol_shadow = 0.0; float phase = 1.0; tex_light = (in_inverseTextureDatasetMatrix[0] * in_inverseVolumeMatrix[0] * vec4(in_cameraPos, 1.0)).xyz; phase = phase_function(-1); // always angle of pi vol_shadow = volumeShadow(g_dataPos, tex_light, 1.0, component, in_volume[0], 0, label); secondary_contrib += vol_shadow * phase * color.rgb * in_diffuse[component] * in_lightDiffuseColor[0]; secondary_contrib += in_ambient[component] * in_lightAmbientColor[0]; float dist_light = 0.0; for(int posNum = 0; posNum < NUMBER_POS_LIGHTS; posNum++) { tex_light = g_lightPositionTex[posNum]; vec3 light_vert = g_fragWorldPos.xyz - in_lightPosition[posNum]; dist_light = length(light_vert); float light_angle = dot(normalize(light_vert), normalize(in_lightDirection[posNum])); phase = phase_function(dot(normalize(g_dataPos - tex_light), view_tdir)); attenuation = 1.0 / (in_lightAttenuation[posNum].x + in_lightAttenuation[posNum].y * dist_light + in_lightAttenuation[posNum].z * dist_light * dist_light); attenuation *= max(0.0, sign(light_angle - cos(radians(in_lightConeAngle[posNum])))) * pow(light_angle, in_lightExponent[posNum]); vol_shadow = volumeShadow(g_dataPos, tex_light, 1.0, component, in_volume[0], 0, label); secondary_contrib += vol_shadow * phase * attenuation * color.rgb * in_diffuse[component] * in_lightDiffuseColor[posNum]; secondary_contrib += in_ambient[component] * in_lightAmbientColor[posNum]; } for(int dirNum = NUMBER_POS_LIGHTS; dirNum < TOTAL_NUMBER_LIGHTS; dirNum++) { tex_light = g_lightDirectionTex[dirNum]; phase = phase_function(dot(normalize(-tex_light), view_tdir)); vol_shadow = volumeShadow(g_dataPos, tex_light, 0.0, component, in_volume[0], 0, label); secondary_contrib += vol_shadow * phase * color.rgb * in_diffuse[component] * in_lightDiffuseColor[dirNum]; secondary_contrib += in_ambient[component] * in_lightAmbientColor[dirNum]; } finalColor.xyz = (1.0 - vol_coef) * finalColor.xyz + vol_coef * secondary_contrib; if (gradient.w >= 0.0 && label == 0.0) { color.a *= computeGradientOpacity(gradient); } if (gradient.w >= 0.0 && label > 0.0) { color.a *= computeGradientOpacityForLabel(gradient, label); } if (gradient.w >= 0.0) { for (int i = 0; i < in_noOfComponents; ++i) { color.a = color.a * computeGradientOpacity(gradient, i) * in_componentWeight[i]; } } finalColor.a = color.a; return finalColor; } vec4 computeLighting(vec3 texPos, vec4 color, const in sampler2D gradientTF, const in sampler3D volume, const in sampler2D opacityTF, const int volIdx, int component) { vec4 finalColor = vec4(0.0); vec4 computeLighting(vec3 texPos, vec4 color, const in sampler3D volume, const in sampler2D opacityTF, const int volIdx, int component) { vec4 finalColor = vec4(0.0); vec4 shading_gradient = computeDensityGradient(texPos, component, volume, opacityTF, gradientTF, volIdx, 0.0); vec4 shading_gradient = computeDensityGradient(texPos, component, volume, opacityTF, volIdx, 0.0); vec4 shading_gradient = computeGradient(texPos, component, volume, volIdx); vec4 gradient = computeGradient(texPos, component, volume, volIdx); vec3 diffuse = vec3(0.0); vec3 specular = vec3(0.0); vec3 normal = shading_gradient.xyz; float normalLength = length(normal); if (normalLength > 0.0) { normal = normalize(normal); } else { normal = vec3(0.0, 0.0, 0.0); } // normal is oriented inside the volume (because normal = gradient, oriented inside the volume) // thus we have to take minus everything float nDotL = dot(normal, -g_ldir[volIdx]); vec3 r = normalize(2.0 * nDotL * normal + g_ldir[volIdx]); float vDotR = dot(r, -g_vdir[volIdx]); if (nDotL < 0.0 && in_twoSidedLighting) { nDotL = -nDotL; } if (nDotL > 0.0) { diffuse = nDotL * in_diffuse[component] * in_lightDiffuseColor[0] * color.rgb; vDotR = max(vDotR, 0.0); specular = pow(vDotR, in_shininess[component]) * in_specular[component] * in_lightSpecularColor[0]; } finalColor.xyz = in_ambient[component] * color.rgb * in_lightAmbientColor[0] + diffuse + specular; if (gradient.w >= 0.0) { color.a = color.a * computeGradientOpacity(gradient, gradientTF); } finalColor.a = color.a; return clamp(finalColor, 0.0, 1.0); } vec3 computeRayDirection() { return normalize(ip_vertexPos.xyz - g_eyePosObj.xyz); } uniform vec3 in_projectionDirection; vec3 computeRayDirection() { return normalize((in_inverseVolumeMatrix[0] * vec4(in_projectionDirection, 0.0)).xyz); } vec4 computeColor(vec4 scalar, float opacity) { return clamp(computeLighting(vec4(texture2D(, vec2(scalar.w, 0.0)).xyz, opacity), 0, 0.0), 0.0, 1.0); } vec4 computeColor(vec4 scalar, float opacity, int component) { { return clamp(computeLighting(vec4(texture2D( , vec2( scalar[],0.0)).xyz, opacity),, 0.0), 0.0, 1.0); }, vec2(scalar.x, 0.0)).xyz, opacity), 0, 0.0), 0.0, 1.0); } vec4 computeColor(vec4 scalar, float opacity) { return clamp(computeLighting(vec4(scalar.xyz, opacity), 0, 0.0), 0.0, 1.0); }vec4 computeColor(vec4 scalar, const in sampler2D colorTF) { return clamp(computeLighting(vec4(texture2D(colorTF, vec2(scalar.w, 0.0)).xyz, opacity), 0), 0.0, 1.0); } vec4 computeColor(vec3 texPos, vec4 scalar, float opacity, const in sampler2D colorTF, const in sampler2D gradientTF, const in sampler3D volume, const in sampler2D opacityTF, const int volIdx) { return clamp(computeLighting(texPos, vec4(texture2D(colorTF, vec2(scalar.w, 0.0)).xyz, opacity), gradientTF, volume, opacityTF,volIdx, 0), 0.0, 1.0); } vec4 computeColor(vec3 texPos, vec4 scalar, float opacity, const in sampler2D colorTF, const in sampler3D volume, const in sampler2D opacityTF, const int volIdx) { return clamp(computeLighting(texPos, vec4(texture2D(colorTF, vec2(scalar.w, 0.0)).xyz, opacity), volume, opacityTF,volIdx, 0), 0.0, 1.0); } float computeOpacity(vec4 scalar, const in sampler2D opacityTF) { return texture2D(opacityTF, vec2(scalar.w, 0)).r; } float computeGradientOpacity(vec4 grad, const in sampler2D gradientTF) { return texture2D(gradientTF, vec2(grad.w, 0.0)).r; } float computeOpacity(vec4 scalar, int component) { if (component == { return texture2D(,vec2(scalar[], 0)).r; } float computeOpacity(vec4 scalar) { return texture2D(, vec2(scalar.y, 0)).r; }, vec2(scalar.w, 0)).r; }vec4 computeColor(vec4 scalar, float opacity) { vec4 yscalar = texture3D(in_transfer2DYAxis, g_dataPos); yscalar.r = yscalar.r * in_transfer2DYAxis_scale.r + in_transfer2DYAxis_bias.r; yscalar = vec4(yscalar.r); vec4 color = texture2D(, vec2(scalar.w, yscalar.w)); return computeLighting(color, 0, 0); } vec4 computeColor(vec4 scalar, float opacity) { return vec4(0, 0, 0, 0) } vec4 computeColor(vec4 scalar, float opacity) { vec4 color = texture2D(, vec2(scalar.w, g_gradients_0[0].w)); return computeLighting(color, 0, 0); } vec4 computeColor(vec4 scalar, float opacity, int component) { if (component == ) { vec4 color = texture2D(, vec2(scalar[], g_gradients_0[].w)); return computeLighting(color, , 0.0); } , vec2(scalar.x, g_gradients_0[0].w)); return computeLighting(color, 0, 0.0); } vec4 computeColor(vec4 scalar, float opacity) { return computeLighting(vec4(scalar.xyz, opacity), 0, 0.0); } uniform sampler3D in_transfer2DYAxis; uniform vec4 in_transfer2DYAxis_scale; uniform vec4 in_transfer2DYAxis_bias; float computeOpacity(vec4 scalar, int component) { ].w)).a; } ], yscalar[])).a; } float computeOpacity(vec4 scalar) { return texture2D(, vec2(scalar.y, g_gradients_0[0].w)).a; } , vec2(scalar.y, yscalar.y)).a; } , vec2(scalar.a, g_gradients_0[0].w)).a; } float computeOpacity(vec4 scalar) { vec4 yscalar = texture3D(in_transfer2DYAxis, g_dataPos); yscalar.r = yscalar.r * in_transfer2DYAxis_scale.r + in_transfer2DYAxis_bias.r; yscalar = vec4(yscalar.r); return texture2D(, vec2(scalar.a, yscalar.w)).a; } float volumeShadow(vec3 sample_position, vec3 light_pos_dir, float is_Pos, in int c, in sampler3D volume, in sampler2D opacityTF, in sampler2D gradTF, int index, float label) float shadow = 1.0; vec3 direction = vec3(0.0); vec3 norm_dir = vec3(0.0); float maxdist = 0.0; float scalar; vec4 gradient; float opacity = 0.0; vec3 color; Ray ray; Hit hit; float sampled_dist = 0.0; vec3 sampled_point = vec3(0.0); // direction is light_pos_dir when light is directional // and light_pos_dir - sample_position when positional direction = light_pos_dir - is_Pos * sample_position; norm_dir = normalize(direction); // introduce little offset to avoid sampling shadows at the exact // sample position sample_position += g_lengthStep * norm_dir; direction = light_pos_dir - is_Pos * sample_position; ray.origin = sample_position; ray.dir = norm_dir; safe_0_vector(ray); ray.invDir = 1.0/ray.dir; if(!BBoxIntersect(vec3(0.0), vec3(1.0), ray, hit)) { // it can happen around the bounding box return 1.0; } if(hit.tmax < g_lengthStep) { // if we're too close to the bounding box return 1.0; } // in case of directional light, we want direction not to be normalized but to go // all the way to the bbox direction *= pow(hit.tmax / length(direction), 1.0 - is_Pos); maxdist = min(hit.tmax, length(direction)); maxdist = min(in_giReach, maxdist); if(maxdist < EPSILON) return 1.0; scalar = texture3D(volume, sampled_point)[c]; scalar = scalar * in_volume_scale[index][c] + in_volume_bias[index][c]; sampled_point float current_dist = 0.0; float current_step = g_lengthStep; float clamped_step = 0.0; while(current_dist < maxdist) { clamped_step = min(maxdist - current_dist, current_step); sampled_dist = current_dist + clamped_step * g_jitterValue; sampled_point = sample_position + sampled_dist * norm_dir; shadow *= 1.0 - opacity; current_dist += current_step; } return shadow; } bool l_firstValue; vec4 l_maxValue; bool l_firstValue; vec4 l_minValue; uvec4 l_numSamples; vec4 l_avgValue; vec4 l_sumValue; int l_initialIndex = 0; float l_normValues[NUMBER_OF_CONTOURS + 2]; // We get data between 0.0 - 1.0 range l_firstValue = true; l_maxValue = vec4(0.0); //We get data between 0.0 - 1.0 range l_firstValue = true; l_minValue = vec4(1.0); //We get data between 0.0 - 1.0 range l_avgValue = vec4(0.0); // Keep track of number of samples l_numSamples = uvec4(0); //We get data between 0.0 - 1.0 range l_sumValue = vec4(0.0); #if NUMBER_OF_CONTOURS l_normValues[0] = -1e20; //-infinity l_normValues[NUMBER_OF_CONTOURS+1] = +1e20; //+infinity for (int i = 0; i < NUMBER_OF_CONTOURS; i++) { l_normValues[i+1] = (in_isosurfacesValues[i] - in_scalarsRange[0].x) / (in_scalarsRange[0].y - in_scalarsRange[0].x); } #endif vec4 g_gradients_0[0] = computeGradient(g_dataPos, 0, in_volume[0], 0); for (int comp = 0; comp < in_noOfComponents; comp++) { g_gradients_0[comp] = computeGradient(g_dataPos, comp, in_volume[0], 0); } if (!g_skip) { vec3 texPos; texPos = (in_cellToPoint[] * in_inverseTextureDatasetMatrix[] * in_inverseVolumeMatrix[] * in_volumeMatrix[0] * in_textureDatasetMatrix[0] * vec4(g_dataPos.xyz, 1.0)).xyz; if ((all(lessThanEqual(texPos, vec3(1.0))) && all(greaterThanEqual(texPos, vec3(0.0))))) { vec4 scalar = texture3D(in_volume[], texPos); scalar = scalar * in_volume_scale[] + in_volume_bias[]; scalar = vec4(scalar.r); g_srcColor = vec4(0.0); , g_srcColor.a = computeOpacity(scalar,); if (g_srcColor.a > 0.0) { g_srcColor = computeColor(texPos, scalar, g_srcColor.a, in_volume[ [0] = computeGradient(texPos, 0, ); if ([0].w >= 0.0) { g_srcColor.a *= computeGradientOpacity([0], ); } ); g_srcColor = texture2D(, vec2(scalar.r, [0].w)); if (g_srcColor.a > 0.0) { g_srcColor.rgb *= g_srcColor.a; g_fragColor = (1.0f - g_fragColor.a) * g_srcColor + g_fragColor; } } } if (!g_skip) { vec4 scalar; // Compute IJK vertex position for current sample in the rectilinear grid vec4 dataPosWorld = in_volumeMatrix[0] * in_textureDatasetMatrix[0] * vec4(g_dataPos, 1.0); dataPosWorld = dataPosWorld / dataPosWorld.w; dataPosWorld.w = 1.0; ivec3 ijk = ivec3(0); vec3 ijkTexCoord = vec3(0.0); vec3 pCoords = vec3(0.0); vec3 xPrev, xNext, tmp; int sz = textureSize(in_coordTexs, 0); vec4 dataPosWorldScaled = dataPosWorld * vec4(in_coordsScale, 1.0) + vec4(in_coordsBias, 1.0); for (int j = 0; j < 3; ++j) { xPrev = texture1D(in_coordTexs, 0.0).xyz; xNext = texture1D(in_coordTexs, (in_coordTexSizes[j] - 1) / sz).xyz; if (xNext[j] < xPrev[j]) { tmp = xNext; xNext = xPrev; xPrev = tmp; } for (int i = 0; i < int(in_coordTexSizes[j]); i++) { xNext = texture1D(in_coordTexs, (i + 0.5) / sz).xyz; if (dataPosWorldScaled[j] >= xPrev[j] && dataPosWorldScaled[j] < xNext[j]) { ijk[j] = i - 1; pCoords[j] = (dataPosWorldScaled[j] - xPrev[j]) / (xNext[j] - xPrev[j]); break; } else if (dataPosWorldScaled[j] == xNext[j]) { ijk[j] = i - 1; pCoords[j] = 1.0; break; } xPrev = xNext; } ijkTexCoord[j] = (ijk[j] + pCoords[j]) / in_coordTexSizes[j]; } scalar = texture3D(in_volume[0], sign(in_cellSpacing[0]) * ijkTexCoord); scalar = texture3D(in_volume[0], g_dataPos); scalar.r = scalar.r * in_volume_scale[0].r + in_volume_bias[0].r; scalar = vec4(scalar.r); scalar = scalar * in_volume_scale[0] + in_volume_bias[0]; if (l_maxValue.w < scalar.w || l_firstValue) { l_maxValue = scalar; } if (l_firstValue) { l_firstValue = false; } for (int i = 0; i < in_noOfComponents; ++i) { if (l_maxValue[i] < scalar[i] || l_firstValue) { l_maxValue[i] = scalar[i]; } } if (l_firstValue) { l_firstValue = false; } if (l_maxValue.w < scalar.x || l_firstValue) { l_maxValue.w = scalar.x; } if (l_firstValue) { l_firstValue = false; } if (l_minValue.w > scalar.w || l_firstValue) { l_minValue = scalar; } if (l_firstValue) { l_firstValue = false; } for (int i = 0; i < in_noOfComponents; ++i) { if (l_minValue[i] < scalar[i] || l_firstValue) { l_minValue[i] = scalar[i]; } } if (l_firstValue) { l_firstValue = false; } if (l_minValue.w > scalar.x || l_firstValue) { l_minValue.w = scalar.x; } if (l_firstValue) { l_firstValue = false; } for (int i = 0; i < in_noOfComponents; ++i) { // Get the intensity in volume scalar range float intensity = in_scalarsRange[i][0] + (in_scalarsRange[i][1] - in_scalarsRange[i][0]) * scalar[i]; if (in_averageIPRange.x <= intensity && intensity <= in_averageIPRange.y) { l_avgValue[i] += computeOpacity(scalar, i) * scalar[i]; ++l_numSamples[i]; } } // Get the intensity in volume scalar range float intensity = in_scalarsRange[0][0] + (in_scalarsRange[0][1] - in_scalarsRange[0][0]) * scalar.x; if (in_averageIPRange.x <= intensity && intensity <= in_averageIPRange.y) { l_avgValue.x += computeOpacity(scalar) * scalar.x; ++l_numSamples.x; } for (int i = 0; i < in_noOfComponents; ++i) { float opacity = computeOpacity(scalar, i); l_sumValue[i] = l_sumValue[i] + opacity * scalar[i]; } float opacity = computeOpacity(scalar); l_sumValue.x = l_sumValue.x + opacity * scalar.x; #if NUMBER_OF_CONTOURS int maxComp = 0; for (int i = 1; i < in_noOfComponents; ++i) { if (in_componentWeight[i] > in_componentWeight[maxComp]) maxComp = i; }, maxComp if (g_currentT == 0) { l_initialIndex = findIsoSurfaceIndex(scalar[maxComp], l_normValues); } else { float s; bool shade = false; l_initialIndex = clamp(l_initialIndex, 0, NUMBER_OF_CONTOURS); if (scalar[maxComp] < l_normValues[l_initialIndex]) { s = l_normValues[l_initialIndex]; l_initialIndex--; shade = true; } if (scalar[maxComp] > l_normValues[l_initialIndex+1]) { s = l_normValues[l_initialIndex+1]; l_initialIndex++; shade = true; } if (shade == true) { vec4 vs = vec4(s); g_srcColor.a = computeOpacity(vs ); g_srcColor = computeColor(vs, g_srcColor.a ); g_srcColor.rgb *= g_srcColor.a; g_fragColor = (1.0f - g_fragColor.a) * g_srcColor + g_fragColor; } } #endif // test if the intersection is inside the volume bounds if (any(greaterThan(g_dataPos, vec3(1.0))) || any(lessThan(g_dataPos, vec3(0.0)))) { discard; } float opacity = computeOpacity(scalar); g_fragColor = computeColor(scalar, opacity); g_fragColor.rgb *= opacity; g_exit = true; vec4 color[4]; vec4 tmp = vec4(0.0); float totalAlpha = 0.0; for (int i = 0; i < in_noOfComponents; ++i) { // Data fetching from the red channel of volume texture float opacity = computeOpacity(scalar, i); if (opacity > 0.0) { g_srcColor.a = opacity; } } // Data fetching from the red channel of volume texture color[i][3] = computeOpacity(scalar, i); color[i] = computeColor(scalar, color[i][3], i); totalAlpha += color[i][3] * in_componentWeight[i]; } if (totalAlpha > 0.0) { for (int i = 0; i < in_noOfComponents; ++i) { // Only let visible components contribute to the final color if (in_componentWeight[i] <= 0) continue; tmp.x += color[i].x * color[i].w * in_componentWeight[i]; tmp.y += color[i].y * color[i].w * in_componentWeight[i]; tmp.z += color[i].z * color[i].w * in_componentWeight[i]; tmp.w += ((color[i].w * color[i].w)/totalAlpha); } } g_fragColor = (1.0f - g_fragColor.a) * tmp + g_fragColor; g_srcColor = vec4(0.0); g_srcColor.a = computeOpacity(scalar); g_srcColor = vec4(0.0); g_srcColor.a = computeOpacity(scalar); if (g_srcColor.a > 0.0) { g_srcColor = computeColor(scalar, g_srcColor.a); // Opacity calculation using compositing: // Here we use front to back compositing scheme whereby // the current sample value is multiplied to the // currently accumulated alpha and then this product // is subtracted from the sample value to get the // alpha from the previous steps. Next, this alpha is // multiplied with the current sample colour // and accumulated to the composited colour. The alpha // value from the previous steps is then accumulated // to the composited colour alpha. g_srcColor.rgb *= g_srcColor.a; g_fragColor = (1.0f - g_fragColor.a) * g_srcColor + g_fragColor; } } // Special coloring mode which renders the Prop Id in fragments that // have accumulated certain level of opacity. Used during the selection // pass vtkHardwareSelection::ACTOR_PASS. if (g_fragColor.a > 3.0/ 255.0) { gl_FragData[0] = vec4(in_propId, 1.0); } else { gl_FragData[0] = vec4(0.0); } return; // Special coloring mode which renders the voxel index in fragments that // have accumulated certain level of opacity. Used during the selection // pass vtkHardwareSelection::ID_LOW24. if (g_fragColor.a > 3.0/ 255.0) { uvec3 volumeDim = uvec3(in_textureExtentsMax - in_textureExtentsMin); uvec3 voxelCoords = uvec3(volumeDim * g_dataPos); // vtkHardwareSelector assumes index 0 to be empty space, so add uint(1). uint idx = volumeDim.x * volumeDim.y * voxelCoords.z + volumeDim.x * voxelCoords.y + voxelCoords.x + uint(1); gl_FragData[0] = vec4(float(idx % uint(256)) / 255.0, float((idx / uint(256)) % uint(256)) / 255.0, float((idx / uint(65536)) % uint(256)) / 255.0, 1.0); } else { gl_FragData[0] = vec4(0.0); } return; // Special coloring mode which renders the voxel index in fragments that // have accumulated certain level of opacity. Used during the selection // pass vtkHardwareSelection::ID_MID24. if (g_fragColor.a > 3.0/ 255.0) { uvec3 volumeDim = uvec3(in_textureExtentsMax - in_textureExtentsMin); uvec3 voxelCoords = uvec3(volumeDim * g_dataPos); // vtkHardwareSelector assumes index 0 to be empty space, so add uint(1). uint idx = volumeDim.x * volumeDim.y * voxelCoords.z + volumeDim.x * voxelCoords.y + voxelCoords.x + uint(1); idx = ((idx & 0xff000000) >> 24); gl_FragData[0] = vec4(float(idx % uint(256)) / 255.0, float((idx / uint(256)) % uint(256)) / 255.0, float(idx / uint(65536)) / 255.0, 1.0); } else { gl_FragData[0] = vec4(0.0); } return; g_srcColor = vec4(0); for (int i = 0; i < in_noOfComponents; ++i) { vec4 tmp = computeColor(l_maxValue, computeOpacity(l_maxValue, i), i); g_srcColor[0] += tmp[0] * tmp[3] * in_componentWeight[i]; g_srcColor[1] += tmp[1] * tmp[3] * in_componentWeight[i]; g_srcColor[2] += tmp[2] * tmp[3] * in_componentWeight[i]; g_srcColor[3] += tmp[3] * in_componentWeight[i]; } g_fragColor = g_srcColor; g_srcColor = computeColor(l_maxValue, computeOpacity(l_maxValue)); g_fragColor.rgb = g_srcColor.rgb * g_srcColor.a; g_fragColor.a = g_srcColor.a; g_srcColor = vec4(0); for (int i = 0; i < in_noOfComponents; ++i) { vec4 tmp = computeColor(l_minValue, computeOpacity(l_minValue, i), i); g_srcColor[0] += tmp[0] * tmp[3] * in_componentWeight[i]; g_srcColor[1] += tmp[1] * tmp[3] * in_componentWeight[i]; g_srcColor[2] += tmp[2] * tmp[3] * in_componentWeight[i]; g_srcColor[2] += tmp[3] * tmp[3] * in_componentWeight[i]; } g_fragColor = g_srcColor; g_srcColor = computeColor(l_minValue, computeOpacity(l_minValue)); g_fragColor.rgb = g_srcColor.rgb * g_srcColor.a; g_fragColor.a = g_srcColor.a; for (int i = 0; i < in_noOfComponents; ++i) { if (l_numSamples[i] == uint(0)) { continue; } l_avgValue[i] = l_avgValue[i] * in_componentWeight[i] / l_numSamples[i]; if (i > 0) { l_avgValue[0] += l_avgValue[i]; } } l_avgValue[0] = clamp(l_avgValue[0], 0.0, 1.0); g_fragColor = vec4(vec3(l_avgValue[0]), 1.0); if (l_numSamples.x == uint(0)) { discard; } else { l_avgValue.x /= l_numSamples.x; l_avgValue.x = clamp(l_avgValue.x, 0.0, 1.0); g_fragColor = vec4(vec3(l_avgValue.x), 1.0); } l_sumValue.x *= in_componentWeight.x; for (int i = 1; i < in_noOfComponents; ++i) { l_sumValue.x += l_sumValue[i] * in_componentWeight[i]; } l_sumValue.x = clamp(l_sumValue.x, 0.0, 1.0); g_fragColor = vec4(vec3(l_sumValue.x), 1.0); l_sumValue.x = clamp(l_sumValue.x, 0.0, 1.0); g_fragColor = vec4(vec3(l_sumValue.x), 1.0); const float g_opacityThreshold = 1.0 - 1.0 / 255.0; uniform vec3 in_propId; // Flag to indicate if the raymarch loop should terminate bool stop = false; g_terminatePointMax = 0.0; vec4 l_depthValue = texture2D(in_depthSampler, fragTexCoord); // Depth test if(gl_FragCoord.z >= l_depthValue.x) { discard; } // color buffer or max scalar buffer have a reduced size. fragTexCoord = (gl_FragCoord.xy - in_windowLowerLeftCorner) * in_inverseOriginalWindowSize; // Intersection with plane float t = intersectRayPlane(ip_vertexPos, rayDir); vec4 intersection = vec4(ip_vertexPos + t * rayDir, 1.0); g_intersection = (in_inverseTextureDatasetMatrix[0] * intersection).xyz; vec4 intersDC = in_projectionMatrix * in_modelViewMatrix * in_volumeMatrix[0] * intersection; intersDC.xyz /= intersDC.w; vec4 intersWin = NDCToWindow(intersDC.x, intersDC.y, intersDC.z); if(intersWin.z >= l_depthValue.x) { discard; } Implicit function type is not supported by this mapper. // Compute max number of iterations it will take before we hit // the termination point // Abscissa of the point on the depth buffer along the ray. // point in texture coordinates vec4 rayTermination = WindowToNDC(gl_FragCoord.x, gl_FragCoord.y, l_depthValue.x); // From normalized device coordinates to eye coordinates. // in_projectionMatrix is inversed because of way VT // From eye coordinates to texture coordinates rayTermination = ip_inverseTextureDataAdjusted * in_inverseVolumeMatrix[0] * in_inverseModelViewMatrix * in_inverseProjectionMatrix * rayTermination; g_rayTermination = rayTermination.xyz / rayTermination.w; // Setup the current segment: g_dataPos = g_rayOrigin; g_terminatePos = g_rayTermination; g_terminatePointMax = length(g_terminatePos.xyz - g_dataPos.xyz) / length(g_dirStep); g_currentT = 0.0; if(any(greaterThan(max(g_dirStep, vec3(0.0))*(g_dataPos - in_texMax[0]),vec3(0.0))) || any(greaterThan(min(g_dirStep, vec3(0.0))*(g_dataPos - in_texMin[0]),vec3(0.0)))) { break; } // Early ray termination // if the currently composited colour alpha is already fully saturated // we terminated the loop or if we have hit an obstacle in the // direction of they ray (using depth buffer) we terminate as well. if((g_fragColor.a > g_opacityThreshold) || g_currentT >= g_terminatePointMax) { break; } ++g_currentT; uniform float in_croppingPlanes[6]; uniform int in_croppingFlags [32]; float croppingPlanesTexture[6]; // X: axis = 0, Y: axis = 1, Z: axis = 2 // cp Cropping plane bounds (minX, maxX, minY, maxY, minZ, maxZ) int computeRegionCoord(float cp[6], vec3 pos, int axis) { int cpmin = axis * 2; int cpmax = cpmin + 1; if (pos[axis] < cp[cpmin]) { return 1; } else if (pos[axis] >= cp[cpmin] && pos[axis] < cp[cpmax]) { return 2; } else if (pos[axis] >= cp[cpmax]) { return 3; } return 0; } int computeRegion(float cp[6], vec3 pos) { return (computeRegionCoord(cp, pos, 0) + (computeRegionCoord(cp, pos, 1) - 1) * 3 + (computeRegionCoord(cp, pos, 2) - 1) * 9); } // Convert cropping region to texture space mat4 datasetToTextureMat = in_inverseTextureDatasetMatrix[0]; vec4 tempCrop = vec4(in_croppingPlanes[0], 0.0, 0.0, 1.0); tempCrop = datasetToTextureMat * tempCrop; if (tempCrop[3] != 0.0) { tempCrop[0] /= tempCrop[3]; } croppingPlanesTexture[0] = tempCrop[0]; tempCrop = vec4(in_croppingPlanes[1], 0.0, 0.0, 1.0); tempCrop = datasetToTextureMat * tempCrop; if (tempCrop[3] != 0.0) { tempCrop[0] /= tempCrop[3]; } croppingPlanesTexture[1] = tempCrop[0]; tempCrop = vec4(0.0, in_croppingPlanes[2], 0.0, 1.0); tempCrop = datasetToTextureMat * tempCrop; if (tempCrop[3] != 0.0) { tempCrop[1] /= tempCrop[3]; } croppingPlanesTexture[2] = tempCrop[1]; tempCrop = vec4(0.0, in_croppingPlanes[3], 0.0, 1.0); tempCrop = datasetToTextureMat * tempCrop; if (tempCrop[3] != 0.0) { tempCrop[1] /= tempCrop[3]; } croppingPlanesTexture[3] = tempCrop[1]; tempCrop = vec4(0.0, 0.0, in_croppingPlanes[4], 1.0); tempCrop = datasetToTextureMat * tempCrop; if (tempCrop[3] != 0.0) { tempCrop[2] /= tempCrop[3]; } croppingPlanesTexture[4] = tempCrop[2]; tempCrop = vec4(0.0, 0.0, in_croppingPlanes[5], 1.0); tempCrop = datasetToTextureMat * tempCrop; if (tempCrop[3] != 0.0) { tempCrop[2] /= tempCrop[3]; } croppingPlanesTexture[5] = tempCrop[2]; // Determine region int regionNo = computeRegion(croppingPlanesTexture, g_dataPos); // Do & operation with cropping flags // Pass the flag that its Ok to sample or not to sample if (in_croppingFlags[regionNo] == 0) { // Skip this voxel g_skip = true; } /// We support only 8 clipping planes for now /// The first value is the size of the data array for clipping /// planes (origin, normal) uniform float in_clippingPlanes[49]; uniform float in_clippedVoxelIntensity; int clip_numPlanes; vec3 clip_rayDirObj; mat4 clip_texToObjMat; mat4 clip_objToTexMat; // Tighten the sample range as needed to account for clip planes. // Arguments are in texture coordinates. // Returns true if the range is at all valid after clipping. If not, // the fragment should be discarded. bool AdjustSampleRangeForClipping(inout vec3 startPosTex, inout vec3 stopPosTex) { vec4 startPosObj = vec4(0.0); { startPosObj = clip_texToObjMat * vec4(startPosTex - g_rayJitter, 1.0); startPosObj = startPosObj / startPosObj.w; startPosObj.w = 1.0; } vec4 stopPosObj = vec4(0.0); { stopPosObj = clip_texToObjMat * vec4(stopPosTex, 1.0); stopPosObj = stopPosObj / stopPosObj.w; stopPosObj.w = 1.0; } for (int i = 0; i < clip_numPlanes; i = i + 6) { vec3 planeOrigin = vec3(in_clippingPlanes[i + 1], in_clippingPlanes[i + 2], in_clippingPlanes[i + 3]); vec3 planeNormal = normalize(vec3(in_clippingPlanes[i + 4], in_clippingPlanes[i + 5], in_clippingPlanes[i + 6])); // Abort if the entire segment is clipped: // (We can do this before adjusting the term point, since it'll // only move further into the clipped area) float startDistance = dot(planeNormal, planeOrigin - startPosObj.xyz); float stopDistance = dot(planeNormal, planeOrigin - stopPosObj.xyz); bool startClipped = startDistance > 0.0; bool stopClipped = stopDistance > 0.0; if (startClipped && stopClipped) { return false; } float rayDotNormal = dot(clip_rayDirObj, planeNormal); bool frontFace = rayDotNormal > 0.0; // Move the start position further from the eye if needed: if (frontFace && // Observing from the clipped side (plane's front face) startDistance > 0.0) // Ray-entry lies on the clipped side. { // Scale the point-plane distance to the ray direction and update the // entry point. float rayScaledDist = startDistance / rayDotNormal; startPosObj = vec4(startPosObj.xyz + rayScaledDist * clip_rayDirObj, 1.0); vec4 newStartPosTex = clip_objToTexMat * vec4(startPosObj.xyz, 1.0); newStartPosTex /= newStartPosTex.w; startPosTex = newStartPosTex.xyz; startPosTex += g_rayJitter; } // Move the end position closer to the eye if needed: if (!frontFace && // Observing from the unclipped side (plane's back face) stopDistance > 0.0) // Ray-entry lies on the unclipped side. { // Scale the point-plane distance to the ray direction and update the // termination point. float rayScaledDist = stopDistance / rayDotNormal; stopPosObj = vec4(stopPosObj.xyz + rayScaledDist * clip_rayDirObj, 1.0); vec4 newStopPosTex = clip_objToTexMat * vec4(stopPosObj.xyz, 1.0); newStopPosTex /= newStopPosTex.w; stopPosTex = newStopPosTex.xyz; } } if (any(greaterThan(startPosTex, in_texMax[0])) || any(lessThan(startPosTex, in_texMin[0]))) { return false; } return true; } vec4 tempClip = in_volumeMatrix[0] * vec4(rayDir, 0.0); if (tempClip.w != 0.0) { tempClip = tempClip/tempClip.w; tempClip.w = 1.0; } clip_rayDirObj = normalize(tempClip.xyz); clip_rayDirObj = normalize(in_projectionDirection); clip_numPlanes = int(in_clippingPlanes[0]); clip_texToObjMat = in_volumeMatrix[0] * in_textureDatasetMatrix[0]; clip_objToTexMat = in_inverseTextureDatasetMatrix[0] * in_inverseVolumeMatrix[0]; // Adjust for clipping. if (!AdjustSampleRangeForClipping(g_rayOrigin, g_rayTermination)) { // entire ray is clipped. discard; } // Update the segment post-clip: g_dataPos = g_rayOrigin; g_terminatePos = g_rayTermination; g_terminatePointMax = length(g_terminatePos.xyz - g_dataPos.xyz) / length(g_dirStep); uniform sampler3D in_mask; vec4 maskValue = texture3D(in_mask, g_dataPos); if(maskValue.r <= 0.0) { g_skip = true; } uniform float in_maskBlendFactor; uniform sampler2D in_labelMapTransfer; uniform float in_mask_scale; uniform float in_mask_bias; uniform int in_labelMapNumLabels; vec4 scalar = texture3D(in_volume[0], g_dataPos); scalar.r = scalar.r * in_volume_scale[0].r + in_volume_bias[0].r; scalar = vec4(scalar.r); scalar = scalar * in_volume_scale[0] + in_volume_bias[0]; if (in_maskBlendFactor == 0.0) { g_srcColor.a = computeOpacity(scalar); if (g_srcColor.a > 0) { g_srcColor = computeColor(scalar, g_srcColor.a); } } else { float opacity = computeOpacity(scalar); // Get the mask value at this same location vec4 maskValue = texture3D(in_mask, g_dataPos); maskValue.r = maskValue.r * in_mask_scale + in_mask_bias; // Quantize the height of the labelmap texture over number of labels if (in_labelMapNumLabels > 0) { maskValue.r = floor(maskValue.r * in_labelMapNumLabels) / in_labelMapNumLabels; } else { maskValue.r = 0.0; } if(maskValue.r == 0.0) { g_srcColor.a = opacity; if (g_srcColor.a > 0) { g_srcColor = computeColor(scalar, g_srcColor.a); } } else { g_srcColor = texture2D(in_labelMapTransfer, vec2(scalar.r, maskValue.r)); if (g_srcColor.a > 0) { g_srcColor = computeLighting(g_srcColor, 0, maskValue.r); } if (in_maskBlendFactor < 1.0) { vec4 color = opacity > 0 ? computeColor(scalar, opacity) : vec4(0); g_srcColor = (1.0 - in_maskBlendFactor) * color + in_maskBlendFactor * g_srcColor; } } }uniform bool in_clampDepthToBackface; vec3 l_opaqueFragPos; bool l_updateDepth; l_opaqueFragPos = vec3(-1.0); if(in_clampDepthToBackface) { l_opaqueFragPos = g_dataPos; } l_updateDepth = true; if(!g_skip && g_srcColor.a > 0.0 && l_updateDepth) { l_opaqueFragPos = g_dataPos; l_updateDepth = false; } if (l_opaqueFragPos == vec3(-1.0)) { gl_FragData[1] = vec4(1.0); } else { vec4 depthValue = in_projectionMatrix * in_modelViewMatrix * in_volumeMatrix[0] * in_textureDatasetMatrix[0] * vec4(l_opaqueFragPos, 1.0); depthValue /= depthValue.w; gl_FragData[1] = vec4(vec3(0.5 * (gl_DepthRange.far - gl_DepthRange.near) * depthValue.z + 0.5 * (gl_DepthRange.far + gl_DepthRange.near)), 1.0); } vec3 l_isoPos = g_dataPos; if(!g_skip && g_srcColor.a > 0.0) { l_isoPos = g_dataPos; g_exit = true; g_skip = true; } vec4 depthValue = in_projectionMatrix * in_modelViewMatrix * in_volumeMatrix[0] * in_textureDatasetMatrix[0] * vec4(l_isoPos, 1.0); gl_FragData[0] = vec4(l_isoPos, 1.0); gl_FragData[1] = vec4(vec3((depthValue.z/depthValue.w) * 0.5 + 0.5), 1.0); initializeRayCast(); castRay(-1.0, -1.0); finalizeRayCast(); gl_FragData[] = texture2D(, texCoord); return; in_ambientin_diffusein_specularin_shininessin_twoSidedLightingin_giReachin_lightAmbientColorin_lightDiffuseColorin_lightSpecularColorin_lightDirectionin_lightAttenuationin_lightPositionin_lightExponentin_lightConeAnglein_vertexPosin_croppingPlanesin_croppingFlagsin_clippingPlanesin_clippedVoxelIntensityin_propIdrenderedTex_Failed to attach ImageSampleFBO!/Volumes/Data/workspace/med-macos-weekly/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLGPUVolumeRayCastMapper.cxx//VTK::FSQ::Decl//VTK::FSQ::ImplFailed to initialize ImageSampleProgram!ReductionFactor: CurrentPass: //VTK::CustomUniforms::Dec//VTK::ComputeClipPos::Impl//VTK::ComputeTextureCoords::Impl//VTK::Base::Dec//VTK::CallWorker::Impl//VTK::Base::Init//VTK::Base::Impl//VTK::Base::Exit//VTK::Termination::Dec//VTK::Terminate::Init//VTK::Terminate::Impl//VTK::Terminate::Exit//VTK::Shading::Dec//VTK::Shading::Init//VTK::Shading::Impl//VTK::Shading::Exit//VTK::ComputeGradient::Dec//VTK::ComputeDensityGradient::Dec//VTK::PhaseFunction::Dec//VTK::ComputeVolumetricShadow::Dec//VTK::Matrices::Init//VTK::ComputeColor::Unif//VTK::GradientCache::Dec//VTK::Transfer2D::Dec//VTK::ComputeOpacity::Dec//VTK::ComputeGradientOpacity1D::Dec//VTK::ComputeColor::Dec//VTK::ComputeLighting::Dec//VTK::ComputeRGBA2DWithGradient::Dec//VTK::PreComputeGradients::Impl//VTK::ComputeRayDirection::Dec//VTK::Cropping::Dec//VTK::Cropping::Init//VTK::Cropping::Impl//VTK::Cropping::Exit//VTK::Clipping::Dec//VTK::Clipping::Init//VTK::Clipping::Impl//VTK::Clipping::Exit//VTK::BinaryMask::Dec//VTK::BinaryMask::Impl//VTK::CompositeMask::Dec//VTK::CompositeMask::Impl//VTK::Picking::Exit//VTK::Picking::Dec//VTK::RenderToImage::Dec//VTK::RenderToImage::Init//VTK::RenderToImage::Impl//VTK::RenderToImage::ExitNUMBER_OF_CONTOURSShader failed to compileCurrent implementation of vtkOpenGLGPUVolumeRayCastMapper does not support MultiVolume where some volumes have a gradient opacity function and some others don't. Rendering of the MultiVolume is disabled.3 dependent components (e.g. RGB) are not supported.Only 2 (LA) and 4 (RGBA) supported.in_depthPassSamplerin_coordTexsin_coordTexSizesin_coordsScalein_coordsBiasin_blankingin_volumeMatrixin_inverseVolumeMatrixin_textureDatasetMatrixin_inverseTextureDatasetMatrixin_textureToEyein_cellToPointin_texMinin_texMaxin_volume_scalein_volume_biasin_scalarsRangein_cellStepin_cellSpacingin_anisotropyin_volumetricScatteringBlendingin_depthSamplerin_noiseSamplerin_noOfComponentsin_sampleDistancein_scalein_biasin_transfer2DYAxisin_transfer2DYAxis_scalein_transfer2DYAxis_biasin_projectionMatrixin_inverseProjectionMatrixin_modelViewMatrixin_inverseModelViewMatrixin_projectionDirectionin_cameraPosin_windowLowerLeftCornerin_inverseOriginalWindowSizein_inverseWindowSizein_maskin_labelMapTransferin_labelMapGradientOpacityin_maskBlendFactorin_mask_scalein_mask_biasin_labelMapNumLabelsin_clampDepthToBackfacein_textureExtentsMinin_textureExtentsMaxin_componentWeightin_averageIPRangein_isosurfacesValuesin_slicePlaneOriginin_slicePlaneNormalvtkOpenGLRenderPass::PreReplaceShaderValues failed for vtkOpenGLRenderPass::PostReplaceShaderValues failed for RenderPass::SetShaderParameters failed for renderpass: vtkDataSetvtkOpenGLRenderWindowvtkOpenGLShaderPropertyvtkOpenGLCameravtkMultiVolumeVisibilitySort: UseFloatingPointFrameBuffer: TrueFalseSupport for not implemented/Volumes/Data/workspace/med-macos-weekly/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLProjectedTetrahedraMapper.cxxThe required extensions are not supported.PTM::AllocateFOResourcesMissing FBO support. The algorithm may produce visual artifacts.PTM::RenderATIDisabling floating point framebuffer: Unsupported hardware. Volume rendering will continue, thoughartifacts may be present.Invalid vtkOpenGLRenderWindowIntermixing translucent polygonal data with unstructured grid volumes is not supported! Either set opacity to 1.0 for polydata in the view or resample the unstructured grid to image data and use the ray cast mapper.Encountered non-tetrahedra cell!Can't use projected tetrahedra without scalars!PTM::ProjectTetrahedraPTM::UseFloatingPointFrameBufferFO is incomplete Error setting 'vertexDC' in shader VAO.scalarColorError setting 'scalarColor' in shader VAO.attenuationArrayError setting attenuation in shader VAO.depthArrayError setting depth in shader VAO.start end Refusing to upload empty array.//VTK::System::Dec //VTK::Output::Dec in vec2 tcoordVC; uniform sampler2D source; uniform float scale; void main(void) { gl_FragData[0] = texture2D(source,tcoordVC)*scale; } sourcescaleInternal Error!/Volumes/Data/workspace/med-macos-weekly/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkSmartVolumeMapper.cxxCould not find the requested vtkDataArray! Data array is not supported byFixedPointVolumeRCMapper (either cell data or multiple components).Internal Error: Invalid RequestedRenderModeInternal Error: Invalid CurrentRenderModeFailed to set the active attribute in vtkImageMagnitude's input (from cellToPoints)!Failed to set the active attribute in vtkImageMagnitude's input!Failed to setup vector rendering mode! No input.Failed to locate data array.MagnitudeInternal Error: No RGBTransferFunction has been set!Internal Error: No ScalarOpacity has been set!Unknown vector rendering mode!Invalid Render Mode.Could not create image - no available mapperFinalColorWindow: FinalColorLevel: RequestedRenderMode: InteractiveUpdateRate: InteractiveAdjustSampleDistances: InterpolationMode: MaxMemoryInBytes:MaxMemoryFraction:AutoAdjustSampleDistances: SampleDistance: vtkUniformGridvtkSmartVolumeMapperPartitioning only supported for vtkImageData input right now!/Volumes/Data/workspace/med-macos-weekly/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkVolumeTexture.cxxInterpolation type not supported in this mapper.HandleLargeDataTypes: GL Scale: GL Bias: InterpolationType: UploadTime: CurrentBlockIdx: StreamBlocks: ERROR: OpenGL MAX_3D_TEXTURE_SIZE is Invalid texture dimensions [Capabilities check via proxy texture 3D allocation failed!Texture 3D allocation failed! vtkVolumeTexturevtkPiecewiseFunctionvtkOpenGLVolumeGradientOpacityTablevtkOpenGLVolumeLookupTableTextureObject:(none) Last Interpolation: Last Range: (vtkColorTransferFunctionvtkTextureObject not initialized!/Volumes/Data/workspace/med-macos-weekly/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLVolumeLookupTable.cxxFailed to query max texture size! using default 1024.This OpenGL implementation does not support the required texture size of , falling back to maximum allowed, .This may cause an incorrect lookup table mapping.vtkVolumePropertyvtkOpenGLVolumeMaskGradientOpacityTransferFunction2DvtkOpenGLVolumeMaskTransferFunction2DLast Blend Mode: Last Sample Distance: vtkOpenGLVolumeOpacityTablevtkOpenGLVolumeRGBTablevtkOpenGLVolumeTransferFunction2Dg_gradients_in_opacityTransferFunc_in_colorTransferFunc_in_gradientTransferFunc_in_transfer2D_vtkOpenGLVolumeLookupTables&~2~~-2 ~%n ~%nFm 4 F * FRU 1      2 ;   :  * >-2 2+1'>:A6 Qa!N  q&+Fm54 F * FRU 6      2 ;   yn  "  - >          2&+ 2+1'>:"rr7jU>%/  5 L   CE  a J J     r9      njj;(             |  "    f$ LD#!U" "!(''(' ' ' ' & & $ $ "  !  !      ! !! S o53'3 1 / 2 . .3 1 1113 . "2 . * . >2 0 0 0 // / . ... 2 222#2. -- ))) )) - ( + +! )$ *&.'*(*(  Z ,       7 7            $Nzr#I 2 m     Y     *   R       x  ,    Vrs|           J                 #H i0E.<0E.<X;             j        AE <I6         ` 5 9,        ^H|_xH$    _   .[[i                                           v/ 9Ws 1    * @ /55Q  = ]>   G SbB          ,%)9]$C[K(YY b          Y]B _gf      9166 I T  U   [[c u          B"#7C  U"[[       %?      E          0AG  c       f   * 8 -$L Y   &)@      K;   ~ - x -   g *       E F     -  M          00//N0/// $/ - f 0 0 u / / / / j //y //n020/v//c.1..1 ...1.. 1 -!-!"-#0#-$-$#-%-%y&,&,&r',',( ,(,(|)%/)/*r*&2+)+ 2+0,0,J  >  >  >  :>U x > >uJ - -  -^ *V -V -V -/  "    zz$.  2  <  *  F <  *  F iv~3   :   z    0D2#@)  * > %hh * 8e  q  Y &2    X '*/ H "  -%% %3 ( * ?o ,% f*vE     \          MB           <77 L a z  2+ ++3 LLTbGG kp ,%5*99AMY*5jeeE0__ iT * @d3  * @ho`` ` /   -;x+ N4`d! PL'R'% % $% '& & &&& &-&@(G( % %&% %-% ;& & :( & v & ? & ( && &( ( (((( ((' '-'B( ( &(0%S( % % 0 %!>%! %"%" $" $"$"$" $"-#$#@%$"$ '$ &$ &$l` `` __Qb ] ]"^] ]0]I_/bb;` a bla^]0_]]]V_r-_]bb a bb4a46a68a8 AaACaCEaEGbGKaHbH ^I^I_I"_I ^I0J^JI`LNaLbM ^M^M_M"_M ^N0N^NI`PNaQbQ ^Q^Q_Q"_R ^R0R^RI`TNaUbU ^U^U_U"_V ^V0V^WI`WbY bYm`[][][3[]\]\]\]\]\]\_\_bcccc& ,% 2+T&G+> /& /&  X  X  `UK  H R * T      T&G+> ,%$ [#4  + @c " 0I  "   0  I b . , : y + ?}FF P{ * @  * @V  * @     *  @      * @FF [qy !97    * @YNDD Xe    * @0>> Hs + @3  * Frp[[ x^ \ ^ \ \ \ ^ \ j  U ,%1&FF  ! ,%W  0@?-"     "# # # # ##""#""%#" "##" " w#!"!#"#####  }  >  |  * @ /  * @ /  * @  44L<&?RU !      2 ;    ,% 2+1'>: ib ib  E  E  M R * ;$  * @$  * @%]]zG zs!/D_: zs zs zs }eejE } zs zsY|^@ LLdQ( LLdQ( -> -FY|^@~{{8GW >     ``hO,O(O#   7           #TT\HH2 UUs], TT\A 2+ 6i 6q NG 6i 6q NG 6i 6q NG 6i 6q NG38vtkRenderingVolumeOpenGL2ObjectFactory{a[9~9~999~9????{Gz???41vtkMultiBlockUnstructuredGridVolumeMapperqk@25vtkMultiBlockVolumeMapperqj!!A:!1'1.Q@qgqf!qA9QMQLqoaX!A6aRrQ@aZsQB1.!!!A;1 qfQHyaPA:1!QOQO!1"!1#1$1%!??????Q?z?MbP?@?9~@$@???v~гݿw? ??B=???31vtkOpenGLGPUVolumeRayCastMapperNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEENSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEENSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperE36vtkGenericOpenGLResourceFreeCallbacktDC34vtkOpenGLProjectedTetrahedraMapper34vtkOpenGLRayCastImageDisplayHelper@ _B|=20vtkSmartVolumeMapper?qb??p?p???.0.''ư>>9??p?16vtkVolumeTexture35vtkOpenGLVolumeGradientOpacityTableql26vtkOpenGLVolumeLookupTable52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D37vtkOpenGLVolumeMaskTransferFunction2D8888827vtkOpenGLVolumeOpacityTable23vtkOpenGLVolumeRGBTable33vtkOpenGLVolumeTransferFunction2D?27vtkOpenGLVolumeLookupTablesI23vtkOpenGLVolumeRGBTableE27vtkOpenGLVolumeLookupTablesI27vtkOpenGLVolumeOpacityTableE27vtkOpenGLVolumeLookupTablesI35vtkOpenGLVolumeGradientOpacityTableE27vtkOpenGLVolumeLookupTablesI33vtkOpenGLVolumeTransferFunction2DE LPXQ!Q!Xa aQ QQQh=`x`PȮخ<`0ԯ00@t Ȱ@tp L#t.508@ET`IԴI^̵ _x8,P0d``0t`@XPLp@ ` &).p0,6t 7`80<`@ PX k8~ 0p@Pl@,  T@p@40\`"# &P.P5BKQW0]h0pxuw 0P@P`@PP$08`L0dt T 4 DP T hx`@`$ 4\0p!P.3x=h0A ChFIPH`XX[\^^ r4wd  0@tPp0 \0`$8`HpXpP L&4'\p(lP)++ ,/@00`4459 900:@ ` P0  @ p    @0P  !""`#p#0$`&&@'p' (+ 123`4P5 66 8888 :@>>EpEEGMO0PpPQUWpXY0Z[\P]@^`a0a b`ejln0oyP`000Pp$) 5??CFHWpf`gpjjk nnoppPq@sstuwx0y z{pP`` @pЈ@`г` P p 0P P0  `+`04P9=AFP^``pcjPkm o`qwy}@@@p ppp`    PP@0p 0 @P`0p` P@  `  @ !SSTT`TU0VVVWXYPYYZZ[[bb@cPc0ddefPf`fi@jPjpj my} @p @ 0 `К pp 00ж` 0P0@P  `  p ` ``p0p0p` P 0   p!""$%%&&&P'(()---...p//0@55 677788099:p;;p<<<0==P>>P?@0A`A@B B BCFFG@J`SPcoq s sPt`tttu uu@vv`wwyyzz{||P~~0000PpЇP(@@ @WPP0p@< `PP`  @P0 0Pp0@P`p @p@  0 `p 0Ppp0@P`p ` P`p  P`0 0  0@P`d(`]p]] Т] 0Pp0^0@P`pP^p^^^P`^__P`__ 0```p`````aa a0aPapaaaaaab@bPb`bpbbbbb@cPc`cpccccc@dPd`dpddddde epeeeeeeeef f`fpffffffg@gPg`gpggggghh0h@h`hPp &hhhhhi i0ijjjjk0k@kPk`kkkpp#@lklXpPmmmPooo0pD06rpqPs rs0Xpp0P` p 0Pp0@P`pP^p^ @ P p   p@Pp`0 OOOI P 0PpF0@P`pP^p^0^P`^__P`__ 0Q`QpQQQQQQ@RPR`RpRRRRR0S@SPS`SSSSSST0T@TPT`TTTTT U0U@UPUUUUUUVV V0VWW !й0P^`^"0@  0PpP0  $ $@0p0`P%`pPP`p} $&ppp@ $' `pP0 $(@P00@`p`0 $* Pp0, $+))0**++ ,,`,...@//@00@1-03@333`4455.77@88990::TPPFPNNNNNOLLOOOfNpNzNNOPPO$O.O8OP(P2PIHIRILNNNFQQQ\IfILLLLLMMM&M0M:MDMNMXMbMlMvMMMMM*NM`OjOtO~OOMNNpIQQQQQQQOOOQQQRRROOOOzIINN&R4N>NIIIIIIRN\NMMMMMMM0RnKIIIIIIJxKKKKKKKKKJJ$J.J8JBJLJVJ`JjJtJ~JJJJJJJJJJJJJK KKKKKKLLL"L:R,L6L@LJLTL^LhLRRN NNODRNRXRbRlRvRRRRRRR NKK(KRRRRS SS S*S4S>SHSRS\SfSpSzSSSSSSSSSSSSSSTTT$T.T8TBTLTVT`TjTtT~TTRTTTTTTTTTTrL|LLLU UUU(U2U128LoadMaskEP11vtkRenderer!3" 7894%2)0EndPickingEP11vtkRenderer*6BeginImageSampleEP11vtkRenderer+3ExitDepthPassEP11vtkRenderer,5FinishRenderingEi@SetCheckP)Render+ForceTransferInitEv<upMaskTransferEP11vtkRendererClippingPlanesEP11vtkRendererP16vtkShaderProgramP9vtkVolume) 73!4I&0'2UpdateSamplingDistanceEP11vtkRenderer*5*8GetNumImageSampleDrawBuffersEP9vtkVolume+6=1LastModifiedLightTimeEP18vtkLightCollection>ReleaseGraphicsMaskTransferEP9vtkWindowSet$DeleteMaskTransferEvUpdateMaskTransferEP11vtkRendererP9vtkVolumej!SetCroppingRegionsEP16vtkShaderProgramPd)ClearRemovedInputsEP9vtkWindow<Re C"DeleteBufferObjectsEv(ExitRenderToTextureEP11vtkRenderer+BindTransformationsEP16vtkShaderProgramP12vtkMatrix4x4>freshMaskTransferEP11vtkRendererR20vtkVolumeInputHelper nderWithDepthPassEP11vtkRendererP15vtkOpenGLCameram>UpdateTransferFunctionsEP11vtkRenderer!SetMaskShaderParametersEP16vtkShaderProgramP17vtkVolumePropertyi?aptureDepthTextureEP11vtkRenderer"reateBufferObjectsEv)3#5ReleaseImageSampleGraphicsResourcesEP9vtkWindow+9ReleaseRenderToTextureGraphicsResourcesEP9vtkWindow+LoadRequireDepthTextureExtensionsEP15vtkRenderWindow$ReleaseDepthPassGraphicsResourcesEP9vtkWindow+Ѐ LightingShaderParametersEP11vtkRendererP16vtkShaderProgramP9vtkVolumei%AdvancedShaderParametersEP11vtkRendererP16vtkShaderProgramP9vtkVolumePN16vtkVolumeTexture11VolumeBlockEi@ IsCameraInsideEP11vtkRendererP9vtkVolumePd&EndImageSampleEP11vtkRenderer+SetupDepthPassEP11vtkRenderer+ sGeometryUpdateRequiredEP11vtkRendererP9vtkVolumePd'nitializeImageSampleFBOEP11vtkRenderer+ Render'SetupRenderToTextureEP11vtkRenderer+VolumeGeometryEP11vtkRendererP16vtkShaderProgramP9vtkVolumePd(MultipleInputsEP11vtkRendererP15vtkOpenGLCameraP16vtkShaderProgram@     ropertyKeysEP9vtkVolume)ickingStateEP11vtkRenderer)  BeginPickingEP11vtkRenderer*SetPickingIdEP11vtkRenderer*UpdateInputsEP11vtkRendererP9vtkVolume<    ConvertTextureToImageDataEP16vtkTextureObjectP12vtkImageData+Set>       б    ContourPassEP11vtkRenderer,SingleInputEP11vtkRendererP15vtkOpenGLCameraP16vtkShaderProgram@   2Ev,1Ev,0Ev,   PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent-GPURenderEP11vtkRendererP9vtkVolume= 1/4Re17ReplaceShaderCustomUniformsERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP23vtkOpenGLShaderProperty50ReplaceShader53;2ComputeReductionFactorEd<9SetShaderParametersRenderPassEv@SetSharedDepthTextureEP16vtkTextureObject0ReplaceShaderC9 DepthTextureEv0ColorTextureEv0  Get0SetPartitionsEttt@DepthImageEP12vtkImageData1ColorImageEP12vtkImageData1  leaseGraphicsResourcesEP9vtkWindow2placeShaderTerminationERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei5 GetShaderTemplateERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP23vtkOpenGLShaderProperty4ReplaceShaderBaseERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei5    ShadingERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei9ComputeERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei9MaskingERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei;PickingERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei;Ѓ Ѝ roppingERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei;lippingERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei;      ReplaceShaderRenderPassERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP9vtkVolumeb        VolumeShaderParametersEP16vtkShaderProgramiiP12vtkMatrix4x4?MapperShaderParametersEP16vtkShaderProgramP11vtkRendererii?CameraShaderParametersEP16vtkShaderProgramP11vtkRendererP15vtkOpenGLCamera?Ѕ        з  ProjectedTetrahedraMapper@RayCastImageDisplayHelperD3NewEvACADB9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndentB1B2C6RenderEP11vtkRendererP9vtkVolumeD1EvA2EvB2EvB1EvB0EvB1IsSupportedEP15vtkRenderWindowC0InitializeEP11vtkRendererC9AllocateFOResourcesEP11vtkRendererC7ProjectTetrahedraEP11vtkRendererP9vtkVolumeP21vtkOpenGLRenderWindowD4ReleaseGraphicsResourcesEP9vtkWindowD0GLSafeUpdateProgressEdP21vtkOpenGLRenderWindowD3NewEvECEDF13RenderTextureEP9vtkVolumeP11vtkRendererPF2F9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndentGК1EvF2EvF2EvF1EvF0EvFН25vtkFixedPointRayCastImagefFiS4_S4_S4_fPG1RenderTextureInternalEP9vtkVolumeP11vtkRendererPiS4_S4_S4_fiPvG4ReleaseGraphicsResourcesEP9vtkWindowHhGtGЮSmartVolumeMapperHVolumeInputHelperf3ICJDJ6RenderEP11vtkRendererP9vtkVolumeJ1J2M9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndentPNewEvJ1SetRequestedRenderModeToO0SetRequestedRenderModeToOSPRayEvP7SetInterpolationModeToNearestNeighborEvP1EvJ2EvJ2EvJ1EvJ0EvJл7ComputeRenderModeEP11vtkRendererP9vtkVolumeL0InitializeEP11vtkRendererP9vtkVolumeL8ConnectL5SetupVectorModeEP9vtkVolumeM9CreateCanonicalViewEP11vtkRendererP9vtkVolumeS3_P12vtkImageDataiPdS6_P3SetVectorModeEiPMapperInputEP15vtkVolumeMapperMFilterInputEP16vtkImageResampleM4N5ComputeMagnitudePointDataEP10vtkDataSetP12vtkDataArrayO2SetRequestedRenderModeEiO7SetO8SetInterpolationModeToLinearEvP1GetLastUsedRenderModeEvPComputeMagnitudeCellDataEP10vtkDataSetP12vtkDataArrayOReleaseGraphicsResourcesEP9vtkWindowPDefaultEvORayCastEvORequestedRenderModeToGPUEvPInterpolationModeToCubicEvPЋCQDQ1Q3NewEvS2W9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndentY2EvQ1EvQ2EvQ1EvS0EvS1R0LoadVolumeEP11vtkRendererP10vtkDataSetP12vtkDataArrayiiS9T2T6U5V3V8AreDimensionsValidEP16vtkTextureObjectiiiYClearBlocksEvSSplitVolumeEP12vtkImageDataRK8vtkTupleIiLi3EETLoadTextureEiPNS_11VolumeBlockEUмнAdjustExtentForCellER8vtkTupleIiLi6EETSelectTextureFormatERjS0_RiiiTCreateBlocksEjjiUGetNextBlockEvUUpdateVolumeEP17vtkVolumePropertyYSetInterpolationEiUComputeBlockSizeEPiVGetLoadedScalarsEvYДGetVSafeLoadTextureEP16vtkTextureObjectiiiiiPvYCurrentBlockEvVScaleAndBiasEiPfRfS1_YComputeBoundsEPNS_11VolumeBlockEWSetPartitionsEiiiYGetPartitionsEvY5UpdateTextureToDataMatrixEPNS_11VolumeBlockEX4X3UpdateInterpolationTypeEiY1SortBlocksBackToFrontEP11vtkRendererP12vtkMatrix4x4YComputeCellToPointMatrixEPiYReleaseGraphicsResourcesEP9vtkWindowY3NewEvZ14InternalUpdateEP9vtkObjectiddiZ9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndentZЋЌD[8ActivateEv\1\2]6UpdateEP9vtkObjectPdiddiP21vtkOpenGLRenderWindow^9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent^2Ev\1Ev\0Ev\Г0DeactivateEv\4\3AllocateTableEv^1NeedsUpdateEP9vtkObjectPdid^GetTextureUnitEv]InternalUpdateEP9vtkObjectiddi^Е4ReleaseGraphicsResourcesEP9vtkWindow^3ComputeIdealTextureSizeEP9vtkObjectRiS2_P21vtkOpenGLRenderWindow^3NewEv`C`14InternalUpdateEP9vtkObjectiddi`23ComputeIdealTextureSizeEP9vtkObjectRiS2_P21vtkOpenGLRenderWindow`9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent`1Ev`2Ev`д3NewEvaCb14InternalUpdateEP9vtkObjectiddib23ComputeIdealTextureSizeEP9vtkObjectRiS2_P21vtkOpenGLRenderWindowb9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndentbй1Evb2Evbл3NewEvc1c9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndentc4InternalUpdateEP9vtkObjectiddic1NeedsUpdateEP9vtkObjectPdidc3NewEvdCd14InternalUpdateEP9vtkObjectiddid9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndentd1Evd2Evd3NewEveCe1f9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndentf1Eve2Eve4InternalUpdateEP9vtkObjectiddif1NeedsUpdateEP9vtkObjectPdidf3AllocateTableEvfCg2h37UpdateGradientOpacityTransferFunctionEP11vtkRendererP9vtkVolumejfm17ForceTransferInitEvm2E15vtkSmartPointerI16vtkVolumeTextureEP9vtkVolumeh1E15vtkSmartPointerI16vtkVolumeTextureEP9vtkVolumeh3i6j4k9UpdateOpacityTransferFunctionEP11vtkRendererP9vtkVolumejifl7UpdateColorTransferFunctionEP11vtkRendererP9vtkVolumejm5ReleaseGraphicsTransfermRefreshTransferFunctionEP11vtkRendereriifjUpdateTransferFunctionsEP11vtkRendererifkInitializeTransferFunctionEP11vtkRendererikDeactivateTransferFunctionEimCreateTransferFunctionlUpdateTransferFunction2DEP11vtkRendererjmActivateTransferFunctionEP16vtkShaderProgramimReleaseGraphicsResourcesEP9vtkWindowm2DEP11vtkRendereril1DEP11vtkRendereril1DEP9vtkWindowm2DEP9vtkWindowmSmVtIw3n41vtkMultiBlockUnstructuredGridVolumeMapperp2pNSt3__11q16vtkVolumeTexturet52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2Dt8vtkRenderingVolumeOpenGL2ObjectFactoryp1vtkOpenGLGPUVolumeRayCastMapperq4vtkOpenGLs5vtkOpenGLVolumeGradientOpacityTablet7vtkOpenGLVolumeMaskTransferFunction2Dt3vtkOpenGLVolumeTransferFunction2Dt5vtkMultiBlockVolumeMapperq0vtkSmartVolumeMappert6vtkOpenGLVolumeLookupTablet7vtkOpenGLVolumeOpacityTablet3vtkOpenGLVolumeRGBTablet9basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEEs5basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEEs8basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEEsProjectedTetrahedraMappersRayCastImageDisplayHelpert3u41vtkMultiBlockUnstructuredGridVolumeMapperz2z16vtkVolumeTexture52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D8vtkRenderingVolumeOpenGL2ObjectFactoryw1vtkOpenGLGPUVolumeRayCastMapper|4vtkOpenGL~5vtkOpenGLVolumeGradientOpacityTable7vtkOpenGLVolumeMaskTransferFunction2D3vtkOpenGLVolumeTransferFunction2D3x41vtkMultiBlockUnstructuredGridVolumeMapperz2{NSt3__11|16vtkVolumeTexture52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D8vtkRenderingVolumeOpenGL2ObjectFactoryz1vtkOpenGLGPUVolumeRayCastMapper|4vtkOpenGL~5vtkOpenGLVolumeGradientOpacityTable7vtkOpenGLVolumeMaskTransferFunction2D3vtkOpenGLVolumeTransferFunction2D5vtkMultiBlockVolumeMapper{0vtkSmartVolumeMapper6vtkOpenGLVolumeLookupTable7vtkOpenGLVolumeOpacityTable3vtkOpenGLVolumeRGBTable5vtkMultiBlockVolumeMapper|0vtkSmartVolumeMapper6vtkOpenGLVolumeLookupTable7vtkOpenGLVolumeOpacityTable3vtkOpenGLVolumeRGBTableȕ9basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE~5basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE~8basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE~ProjectedTetrahedraMapper~RayCastImageDisplayHelperProjectedTetrahedraMapperRayCastImageDisplayHelperfsvsFSVS@@@@@` P 0 @ p`P@``P    P0 p  @ p` @``ppP@  PP P0 PP p(3   PPP pP   PPPPpPPP P@p P@p p0 `  2    00`P 00 @0 0 0 0 0PPP00 P  @@@      0 @@0P`000p` PP0@P@`P  `)c`P   P0pPPpp ``p0 0P 0000`  `PP00 P0`0 0 0@@0   P  $`p 0& p` ppP`PP0@ ` ``` @PP`pp` @pp`  `` pp` ``PP` 0P0P`pp P`pp P`pp P`pp 0! .$Щ4.@] ɽ0 @Iľ Bs(Q0% y 08 ^0Pp?b0H@uP`p3a6q3 ^0`p@E@@C| FxP`5Z~P<`sI 0@PV`^pp Bp p $ wp##f.5D884@E`II^P _,x.PF!P.`0d`@]@` QP&@ (0y  j0Pv` @##d##P$[$P%p%M%&(A (@((wP))s@,,,v0---b@...p006Y88=PFho'`p 20`]op]]]%0^oP^p^^^#^H_~___0`V``p``&`e``a;a a0aPa^paaaa:alab@b PbH`b{pbbbbJb@cPc`cBpccccVc@dPd)`djpddddDd{e epe*ejeee eleef f0`fnpfff ffffg-@gxPg`gpg:gnggg hK h 0h @h `h6 hr h h h hV i  i 0i jL j j j- k[ 0k @k Pk `k!kOkk@l'l{Pmm moPoo%ou0pq rhrPssWtFuw P-Q 4@Vu3`aP~P^В@0bPP06^$ o   !0!!#" "`$`8%a%%&PY&&& 'P`'`''( U(@ (P (p #) m) ) ^ @  *p :* q***p1+r+`++9,v,,,#-0W-@-O-O-O$.PW.0Q.`Q.pQ.Q/QR/Q/Q/Q/@R$0PR_0`R0pR0R1R;1Rn1R10S1@S#2PSZ2`S2S2S03Sr3S3S3T040Ts4@T4PT4`T+5Tf5T5T5T5 U@60U6@U6PU6U>7U7U7U7U8VX8V8 V80V8W09W[9W9Z9[ :0[:@[:`[:W;й;;0;^0<`<%= >пh>P>0>@?P? ~?0?P?#@W@@ @%ANA@AAA`OBpBBP0C`oCCDP]DDD&EpVEEE0F?FiF FFF5GpeG@GPGH0&H@HH`~HHH IgIIPII@o )^P))5J)J)J0*1K*K+K+5L ,L,L`.M.oM.M.N@/N/N@0-O0O@1O3P03{P@3P39Q3Q`4R4aR5R5S7eS7S7T@8T8 U9VU9U0:V:PVp<V<V=W@=W`WxXWWXȮXخ(X:XMX<`XsXԯXXX0XtWWXXȰ:XMX`XtXXXXL YtY(X0/YAYTSYԴ:XfY̵MXyYYY`X8YY,YY0YdZ$Z`7ZtJZ]ZXpZZLZpZZZZZX[,[t.[A[T[g[z[[X8[[ [[[@\P\l,\@\T\h\|\\,\\T\\\@]]0]D]4X]\l]]]]]]]] ^0 ^h4^xH^\^p^0^@^P^`^^^^_$$_88_LWdXt Y/YAYSY:XTfYMXYYY4L_DWTWhXxXY(X/Y`XW$X4X\__p/YAY:XxMXhyY YhZ7ZsXHWX/YAYMXyYq_4YdJZ pZ_Z_ Z0_@WtAYWXXAYyY\WXfYWfYWXSY$W8:XHWXWpX:XfYMXY(XLMX4Y\Yl____ ``/`B`U`h`X X0[@{```a`Oaaa#b @nb b c fc c (c x`d d @+e se e e (*%f +cf (+f ,f (,1g -{g (-g . h Kh Lh !Lh "Lh #Lh $L=h %Lgh &Lh (L=h ,Lh -Lgh .L=h /Lh 0Lgh 1Lh 8L=h 9Lgh :Lh @Lyi L:j Lh L=h Lgh L:j L=h Lh Lgh L=h Lh Lgh L=h Lh Lgh L=h Lh Lgh L=h Lh Lgh L=h Lh Lgh L=h Lh Lgh L=h Lh Lgh L=h Lh Lgh L=h Lh Lgh Lh L=h Lgh Lp5^\wf) rRPy >h3^PkkP`0H^ep[`X`^P^-[HP. O3!5=x`2FIPC=F 0Ak F E F EW @E pE `F 8 0t I    1 P o )  * t    p(?&'$Ap2,`j05|&V  E v`@ N00   9p ypI 0 P  /p0%Ipm`"T0+rpV0{pPFn`p4u3t u0.    P0!`!U!{"Ptq"s" #`#Y# kM$ 7$@$`8>%i%p9%P5h&=&0i 'hS''9(P.([(Xw))4/*v*@P*:Y++@W,z,`M-K-B-3Y.#. 8/Q/`@<0}0P@1@d1~1И020<{2p2P30]>30w33Z455]6 77g89 9 s::`;,O;;><<@=W=6> &b>>7>0!?ТK?u???@e@p@A,AXAAASBB@BHC0wCC/D\DDDpD EEPEp?F`FFP &GG GG@HHH`uHPHH ^I@IJJJpJ`JKP_KK`L5L`fLLM@MM@MPN`UNN@N"O hOOPePPPp>QzQQP#RWRPR@RRNSS0 TPTT0 U`"tU !U U (U U $ V '-V (TV *}V V V "V &)W WW `W P%W  X UX XX XXdY`6YYYY,YYY (ZUZPZ Z}ZD7[[[ [ \ '\ x@\ #b\ &\ \ (\ \ )] !T] h%] ] ] 8$^ L)^ L6^ LR^ Ln^~^^^_P_v_____` @` i`````#aHalaaa&bQbbbbcAcccc dHddddAemeeefIfvfffgMgzggghLhhhhhi/iXiwiiij(jAjcjjjjjk3kRkukkkkklAlll7mcmmmmm!n o[ooo$pEpqppppq(qNqwqqqqrIrrrrsKs~ssst"t[ މ5uҊClދ"FeŒ:s + M ʎ%Ky Ϗ !P ߐ  G {  ֑  A o:z7̕0g+xۗGИ#cÙGȚ@}+fݜ2kFnc 5ĠSzˡ7٢ uɣ&S  D nإ$CŦ-Wlӧ':Mb }4^'hǪ,yū`A֭T8tޯJS)_YֳL<Xtҵ.?Vn׶BvH^ָPʹFNVȺֺ%:GYpʻܻ0CS]lyɼݼ     !"#$%&'()01789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefjklmnopqrstuvwxyz{|}~      %&'()*+,-12345689:;<=>?@ABEFGHKLMNOPQRSV^_cdefghijkl7`abx{     !"#$%&'()01789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefjklmnopqrstuvwxyz{|}~      %&'()*+,-12345689:;<=>?@ABEFGHKLMNOPQRSV^_cdefghijkl __Z44vtkRenderingVolumeOpenGL2_AutoInit_Constructv__ZN16vtkVolumeTexture10LoadVolumeEP11vtkRendererP10vtkDataSetP12vtkDataArrayii__ZN16vtkVolumeTexture11ClearBlocksEv__ZN16vtkVolumeTexture11LoadTextureEiPNS_11VolumeBlockE__ZN16vtkVolumeTexture11SplitVolumeEP12vtkImageDataRK8vtkTupleIiLi3EE__ZN16vtkVolumeTexture12CreateBlocksEjji__ZN16vtkVolumeTexture12GetNextBlockEv__ZN16vtkVolumeTexture12UpdateVolumeEP17vtkVolumeProperty__ZN16vtkVolumeTexture13ComputeBoundsEPNS_11VolumeBlockE__ZN16vtkVolumeTexture13GetPartitionsEv__ZN16vtkVolumeTexture13SetPartitionsEiii__ZN16vtkVolumeTexture15GetCurrentBlockEv__ZN16vtkVolumeTexture15GetScaleAndBiasEiPfRfS1___ZN16vtkVolumeTexture15SafeLoadTextureEP16vtkTextureObjectiiiiiPv__ZN16vtkVolumeTexture16ComputeBlockSizeEPi__ZN16vtkVolumeTexture16GetLoadedScalarsEv__ZN16vtkVolumeTexture16SetInterpolationEi__ZN16vtkVolumeTexture18AreDimensionsValidEP16vtkTextureObjectiii__ZN16vtkVolumeTexture19AdjustExtentForCellER8vtkTupleIiLi6EE__ZN16vtkVolumeTexture19SelectTextureFormatERjS0_Riii__ZN16vtkVolumeTexture21SortBlocksBackToFrontEP11vtkRendererP12vtkMatrix4x4__ZN16vtkVolumeTexture23UpdateInterpolationTypeEi__ZN16vtkVolumeTexture24ComputeCellToPointMatrixEPi__ZN16vtkVolumeTexture24ReleaseGraphicsResourcesEP9vtkWindow__ZN16vtkVolumeTexture25UpdateTextureToDataMatrixEPNS_11VolumeBlockE__ZN16vtkVolumeTexture3NewEv__ZN16vtkVolumeTexture9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN16vtkVolumeTextureC1Ev__ZN16vtkVolumeTextureC2Ev__ZN16vtkVolumeTextureD0Ev__ZN16vtkVolumeTextureD1Ev__ZN16vtkVolumeTextureD2Ev__ZN20vtkSmartVolumeMapper10InitializeEP11vtkRendererP9vtkVolume__ZN20vtkSmartVolumeMapper13SetVectorModeEi__ZN20vtkSmartVolumeMapper15SetupVectorModeEP9vtkVolume__ZN20vtkSmartVolumeMapper17ComputeRenderModeEP11vtkRendererP9vtkVolume__ZN20vtkSmartVolumeMapper18ConnectFilterInputEP16vtkImageResample__ZN20vtkSmartVolumeMapper18ConnectMapperInputEP15vtkVolumeMapper__ZN20vtkSmartVolumeMapper19CreateCanonicalViewEP11vtkRendererP9vtkVolumeS3_P12vtkImageDataiPdS6___ZN20vtkSmartVolumeMapper21GetLastUsedRenderModeEv__ZN20vtkSmartVolumeMapper22SetRequestedRenderModeEi__ZN20vtkSmartVolumeMapper24ComputeMagnitudeCellDataEP10vtkDataSetP12vtkDataArray__ZN20vtkSmartVolumeMapper24ReleaseGraphicsResourcesEP9vtkWindow__ZN20vtkSmartVolumeMapper25ComputeMagnitudePointDataEP10vtkDataSetP12vtkDataArray__ZN20vtkSmartVolumeMapper27SetInterpolationModeToCubicEv__ZN20vtkSmartVolumeMapper27SetRequestedRenderModeToGPUEv__ZN20vtkSmartVolumeMapper28SetInterpolationModeToLinearEv__ZN20vtkSmartVolumeMapper30SetRequestedRenderModeToOSPRayEv__ZN20vtkSmartVolumeMapper31SetRequestedRenderModeToDefaultEv__ZN20vtkSmartVolumeMapper31SetRequestedRenderModeToRayCastEv__ZN20vtkSmartVolumeMapper37SetInterpolationModeToNearestNeighborEv__ZN20vtkSmartVolumeMapper3NewEv__ZN20vtkSmartVolumeMapper6RenderEP11vtkRendererP9vtkVolume__ZN20vtkSmartVolumeMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN20vtkSmartVolumeMapperC1Ev__ZN20vtkSmartVolumeMapperC2Ev__ZN20vtkSmartVolumeMapperD0Ev__ZN20vtkSmartVolumeMapperD1Ev__ZN20vtkSmartVolumeMapperD2Ev__ZN20vtkVolumeInputHelper17ForceTransferInitEv__ZN20vtkVolumeInputHelper23RefreshTransferFunctionEP11vtkRendereriif__ZN20vtkVolumeInputHelper23UpdateTransferFunctionsEP11vtkRendererif__ZN20vtkVolumeInputHelper24ActivateTransferFunctionEP16vtkShaderProgrami__ZN20vtkVolumeInputHelper24CreateTransferFunction1DEP11vtkRendereri__ZN20vtkVolumeInputHelper24CreateTransferFunction2DEP11vtkRendereri__ZN20vtkVolumeInputHelper24ReleaseGraphicsResourcesEP9vtkWindow__ZN20vtkVolumeInputHelper24UpdateTransferFunction2DEP11vtkRendererj__ZN20vtkVolumeInputHelper25ReleaseGraphicsTransfer1DEP9vtkWindow__ZN20vtkVolumeInputHelper25ReleaseGraphicsTransfer2DEP9vtkWindow__ZN20vtkVolumeInputHelper26DeactivateTransferFunctionEi__ZN20vtkVolumeInputHelper26InitializeTransferFunctionEP11vtkRendereri__ZN20vtkVolumeInputHelper27UpdateColorTransferFunctionEP11vtkRendererP9vtkVolumej__ZN20vtkVolumeInputHelper29UpdateOpacityTransferFunctionEP11vtkRendererP9vtkVolumejif__ZN20vtkVolumeInputHelper37UpdateGradientOpacityTransferFunctionEP11vtkRendererP9vtkVolumejf__ZN20vtkVolumeInputHelperC1E15vtkSmartPointerI16vtkVolumeTextureEP9vtkVolume__ZN20vtkVolumeInputHelperC2E15vtkSmartPointerI16vtkVolumeTextureEP9vtkVolume__ZN23vtkOpenGLVolumeRGBTable14InternalUpdateEP9vtkObjectiddi__ZN23vtkOpenGLVolumeRGBTable3NewEv__ZN23vtkOpenGLVolumeRGBTable9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN23vtkOpenGLVolumeRGBTableC1Ev__ZN23vtkOpenGLVolumeRGBTableC2Ev__ZN25vtkMultiBlockVolumeMapper11LoadDataSetEP11vtkRendererP9vtkVolume__ZN25vtkMultiBlockVolumeMapper11SetCroppingEi__ZN25vtkMultiBlockVolumeMapper11SortMappersEP11vtkRendererP12vtkMatrix4x4__ZN25vtkMultiBlockVolumeMapper12ClearMappersEv__ZN25vtkMultiBlockVolumeMapper12CreateMapperEv__ZN25vtkMultiBlockVolumeMapper12SetBlendModeEi__ZN25vtkMultiBlockVolumeMapper13ComputeBoundsEv__ZN25vtkMultiBlockVolumeMapper13CreateMappersEP17vtkDataObjectTreeP11vtkRendererP9vtkVolume__ZN25vtkMultiBlockVolumeMapper13SetScalarModeEi__ZN25vtkMultiBlockVolumeMapper13SetVectorModeEi__ZN25vtkMultiBlockVolumeMapper17SelectScalarArrayEPKc__ZN25vtkMultiBlockVolumeMapper17SelectScalarArrayEi__ZN25vtkMultiBlockVolumeMapper18SetArrayAccessModeEi__ZN25vtkMultiBlockVolumeMapper18SetVectorComponentEi__ZN25vtkMultiBlockVolumeMapper22GetDataObjectTreeInputEv__ZN25vtkMultiBlockVolumeMapper22SetCroppingRegionFlagsEi__ZN25vtkMultiBlockVolumeMapper22SetRequestedRenderModeEi__ZN25vtkMultiBlockVolumeMapper23SetCroppingRegionPlanesEPKd__ZN25vtkMultiBlockVolumeMapper23SetCroppingRegionPlanesEdddddd__ZN25vtkMultiBlockVolumeMapper23SetTransfer2DYAxisArrayEPKc__ZN25vtkMultiBlockVolumeMapper24FillInputPortInformationEiP14vtkInformation__ZN25vtkMultiBlockVolumeMapper24ReleaseGraphicsResourcesEP9vtkWindow__ZN25vtkMultiBlockVolumeMapper26SetGlobalIlluminationReachEf__ZN25vtkMultiBlockVolumeMapper27SetComputeNormalFromOpacityEb__ZN25vtkMultiBlockVolumeMapper31SetVolumetricScatteringBlendingEf__ZN25vtkMultiBlockVolumeMapper3NewEv__ZN25vtkMultiBlockVolumeMapper6RenderEP11vtkRendererP9vtkVolume__ZN25vtkMultiBlockVolumeMapper9GetBoundsEv__ZN25vtkMultiBlockVolumeMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN25vtkMultiBlockVolumeMapperC1Ev__ZN25vtkMultiBlockVolumeMapperC2Ev__ZN25vtkMultiBlockVolumeMapperD0Ev__ZN25vtkMultiBlockVolumeMapperD1Ev__ZN25vtkMultiBlockVolumeMapperD2Ev__ZN26vtkOpenGLVolumeLookupTable10DeactivateEv__ZN26vtkOpenGLVolumeLookupTable11NeedsUpdateEP9vtkObjectPdid__ZN26vtkOpenGLVolumeLookupTable13AllocateTableEv__ZN26vtkOpenGLVolumeLookupTable14GetTextureUnitEv__ZN26vtkOpenGLVolumeLookupTable14InternalUpdateEP9vtkObjectiddi__ZN26vtkOpenGLVolumeLookupTable23ComputeIdealTextureSizeEP9vtkObjectRiS2_P21vtkOpenGLRenderWindow__ZN26vtkOpenGLVolumeLookupTable24ReleaseGraphicsResourcesEP9vtkWindow__ZN26vtkOpenGLVolumeLookupTable6UpdateEP9vtkObjectPdiddiP21vtkOpenGLRenderWindow__ZN26vtkOpenGLVolumeLookupTable8ActivateEv__ZN26vtkOpenGLVolumeLookupTable9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN26vtkOpenGLVolumeLookupTableD0Ev__ZN26vtkOpenGLVolumeLookupTableD1Ev__ZN26vtkOpenGLVolumeLookupTableD2Ev__ZN27vtkOpenGLVolumeOpacityTable11NeedsUpdateEP9vtkObjectPdid__ZN27vtkOpenGLVolumeOpacityTable14InternalUpdateEP9vtkObjectiddi__ZN27vtkOpenGLVolumeOpacityTable3NewEv__ZN27vtkOpenGLVolumeOpacityTable9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN31vtkOpenGLGPUVolumeRayCastMapper11BuildShaderEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11DoGPURenderEP11vtkRendererP15vtkOpenGLCameraP16vtkShaderProgramP23vtkOpenGLShaderProperty__ZN31vtkOpenGLGPUVolumeRayCastMapper11PreLoadDataEP11vtkRendererP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal10EndPickingEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal12BeginPickingEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal12SetPickingIdEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal12UpdateInputsEP11vtkRendererP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal13ExitDepthPassEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal14EndImageSampleEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal14IsCameraInsideEP11vtkRendererP9vtkVolumePd__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal14SetupDepthPassEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal15FinishRenderingEi__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal16BeginImageSampleEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal17CheckPickingStateEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal17CheckPropertyKeysEP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal17ForceTransferInitEv__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal17RenderContourPassEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal17RenderSingleInputEP11vtkRendererP15vtkOpenGLCameraP16vtkShaderProgram__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal17SetClippingPlanesEP11vtkRendererP16vtkShaderProgramP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal17SetupMaskTransferEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal18ClearRemovedInputsEP9vtkWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal18DeleteMaskTransferEv__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal18SetCroppingRegionsEP16vtkShaderProgramPd__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal18UpdateMaskTransferEP11vtkRendererP9vtkVolumej__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal19BindTransformationsEP16vtkShaderProgramP12vtkMatrix4x4__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal19CaptureDepthTextureEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal19CreateBufferObjectsEv__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal19DeleteBufferObjectsEv__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal19ExitRenderToTextureEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal19RefreshMaskTransferEP11vtkRendererR20vtkVolumeInputHelper__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal19RenderWithDepthPassEP11vtkRendererP15vtkOpenGLCameram__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal20RenderMultipleInputsEP11vtkRendererP15vtkOpenGLCameraP16vtkShaderProgram__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal20RenderVolumeGeometryEP11vtkRendererP16vtkShaderProgramP9vtkVolumePd__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal20SetupRenderToTextureEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal21LastModifiedLightTimeEP18vtkLightCollection__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal22UpdateSamplingDistanceEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal23SetMaskShaderParametersEP16vtkShaderProgramP17vtkVolumePropertyi__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal23UpdateTransferFunctionsEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal24InitializeImageSampleFBOEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal24IsGeometryUpdateRequiredEP11vtkRendererP9vtkVolumePd__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal25ConvertTextureToImageDataEP16vtkTextureObjectP12vtkImageData__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal25SetCameraShaderParametersEP16vtkShaderProgramP11vtkRendererP15vtkOpenGLCamera__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal25SetMapperShaderParametersEP16vtkShaderProgramP11vtkRendererii__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal25SetVolumeShaderParametersEP16vtkShaderProgramiiP12vtkMatrix4x4__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal26SetRenderToImageParametersEP16vtkShaderProgram__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal26UpdateTransfer2DYAxisArrayEP11vtkRendererP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal27ReleaseGraphicsMaskTransferEP9vtkWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal27SetAdvancedShaderParametersEP11vtkRendererP16vtkShaderProgramP9vtkVolumePN16vtkVolumeTexture11VolumeBlockEi__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal27SetLightingShaderParametersEP11vtkRendererP16vtkShaderProgramP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal28GetNumImageSampleDrawBuffersEP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal33LoadRequireDepthTextureExtensionsEP15vtkRenderWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal33ReleaseDepthPassGraphicsResourcesEP9vtkWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal35ReleaseImageSampleGraphicsResourcesEP9vtkWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal39ReleaseRenderToTextureGraphicsResourcesEP9vtkWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal8LoadMaskEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper13GetColorImageEP12vtkImageData__ZN31vtkOpenGLGPUVolumeRayCastMapper13GetDepthImageEP12vtkImageData__ZN31vtkOpenGLGPUVolumeRayCastMapper13SetPartitionsEttt__ZN31vtkOpenGLGPUVolumeRayCastMapper15GetColorTextureEv__ZN31vtkOpenGLGPUVolumeRayCastMapper15GetDepthTextureEv__ZN31vtkOpenGLGPUVolumeRayCastMapper16ReplaceShaderRTTERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper17GetShaderTemplateERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP23vtkOpenGLShaderProperty__ZN31vtkOpenGLGPUVolumeRayCastMapper17ReplaceShaderBaseERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper19ReplaceShaderValuesERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper20ReplaceShaderComputeERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper20ReplaceShaderMaskingERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper20ReplaceShaderPickingERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper20ReplaceShaderShadingERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper21ReplaceShaderClippingERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper21ReplaceShaderCroppingERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper21SetSharedDepthTextureEP16vtkTextureObject__ZN31vtkOpenGLGPUVolumeRayCastMapper22ComputeReductionFactorEd__ZN31vtkOpenGLGPUVolumeRayCastMapper23GetRenderPassStageMTimeEP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper23ReplaceShaderRenderPassERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP9vtkVolumeb__ZN31vtkOpenGLGPUVolumeRayCastMapper24ReleaseGraphicsResourcesEP9vtkWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper24ReplaceShaderTerminationERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper27ReplaceShaderCustomUniformsERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP23vtkOpenGLShaderProperty__ZN31vtkOpenGLGPUVolumeRayCastMapper29SetShaderParametersRenderPassEv__ZN31vtkOpenGLGPUVolumeRayCastMapper3NewEv__ZN31vtkOpenGLGPUVolumeRayCastMapper9GPURenderEP11vtkRendererP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN31vtkOpenGLGPUVolumeRayCastMapperC1Ev__ZN31vtkOpenGLGPUVolumeRayCastMapperC2Ev__ZN31vtkOpenGLGPUVolumeRayCastMapperD0Ev__ZN31vtkOpenGLGPUVolumeRayCastMapperD1Ev__ZN31vtkOpenGLGPUVolumeRayCastMapperD2Ev__ZN33vtkOpenGLVolumeTransferFunction2D11NeedsUpdateEP9vtkObjectPdid__ZN33vtkOpenGLVolumeTransferFunction2D13AllocateTableEv__ZN33vtkOpenGLVolumeTransferFunction2D14InternalUpdateEP9vtkObjectiddi__ZN33vtkOpenGLVolumeTransferFunction2D3NewEv__ZN33vtkOpenGLVolumeTransferFunction2D9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN33vtkOpenGLVolumeTransferFunction2DC1Ev__ZN33vtkOpenGLVolumeTransferFunction2DC2Ev__ZN34vtkOpenGLProjectedTetrahedraMapper10InitializeEP11vtkRenderer__ZN34vtkOpenGLProjectedTetrahedraMapper11IsSupportedEP15vtkRenderWindow__ZN34vtkOpenGLProjectedTetrahedraMapper17ProjectTetrahedraEP11vtkRendererP9vtkVolumeP21vtkOpenGLRenderWindow__ZN34vtkOpenGLProjectedTetrahedraMapper19AllocateFOResourcesEP11vtkRenderer__ZN34vtkOpenGLProjectedTetrahedraMapper20GLSafeUpdateProgressEdP21vtkOpenGLRenderWindow__ZN34vtkOpenGLProjectedTetrahedraMapper24ReleaseGraphicsResourcesEP9vtkWindow__ZN34vtkOpenGLProjectedTetrahedraMapper3NewEv__ZN34vtkOpenGLProjectedTetrahedraMapper6RenderEP11vtkRendererP9vtkVolume__ZN34vtkOpenGLProjectedTetrahedraMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN34vtkOpenGLProjectedTetrahedraMapperC1Ev__ZN34vtkOpenGLProjectedTetrahedraMapperC2Ev__ZN34vtkOpenGLProjectedTetrahedraMapperD0Ev__ZN34vtkOpenGLProjectedTetrahedraMapperD1Ev__ZN34vtkOpenGLProjectedTetrahedraMapperD2Ev__ZN34vtkOpenGLRayCastImageDisplayHelper13RenderTextureEP9vtkVolumeP11vtkRendererP25vtkFixedPointRayCastImagef__ZN34vtkOpenGLRayCastImageDisplayHelper13RenderTextureEP9vtkVolumeP11vtkRendererPiS4_S4_S4_fPh__ZN34vtkOpenGLRayCastImageDisplayHelper13RenderTextureEP9vtkVolumeP11vtkRendererPiS4_S4_S4_fPt__ZN34vtkOpenGLRayCastImageDisplayHelper21RenderTextureInternalEP9vtkVolumeP11vtkRendererPiS4_S4_S4_fiPv__ZN34vtkOpenGLRayCastImageDisplayHelper24ReleaseGraphicsResourcesEP9vtkWindow__ZN34vtkOpenGLRayCastImageDisplayHelper3NewEv__ZN34vtkOpenGLRayCastImageDisplayHelper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN34vtkOpenGLRayCastImageDisplayHelperC1Ev__ZN34vtkOpenGLRayCastImageDisplayHelperC2Ev__ZN34vtkOpenGLRayCastImageDisplayHelperD0Ev__ZN34vtkOpenGLRayCastImageDisplayHelperD1Ev__ZN34vtkOpenGLRayCastImageDisplayHelperD2Ev__ZN35vtkOpenGLVolumeGradientOpacityTable14InternalUpdateEP9vtkObjectiddi__ZN35vtkOpenGLVolumeGradientOpacityTable3NewEv__ZN35vtkOpenGLVolumeGradientOpacityTable9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN37vtkOpenGLVolumeMaskTransferFunction2D14InternalUpdateEP9vtkObjectiddi__ZN37vtkOpenGLVolumeMaskTransferFunction2D23ComputeIdealTextureSizeEP9vtkObjectRiS2_P21vtkOpenGLRenderWindow__ZN37vtkOpenGLVolumeMaskTransferFunction2D3NewEv__ZN37vtkOpenGLVolumeMaskTransferFunction2D9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN37vtkOpenGLVolumeMaskTransferFunction2DC1Ev__ZN37vtkOpenGLVolumeMaskTransferFunction2DC2Ev__ZN38vtkRenderingVolumeOpenGL2ObjectFactory19GetVTKSourceVersionEv__ZN38vtkRenderingVolumeOpenGL2ObjectFactory3NewEv__ZN38vtkRenderingVolumeOpenGL2ObjectFactory9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN38vtkRenderingVolumeOpenGL2ObjectFactoryC1Ev__ZN38vtkRenderingVolumeOpenGL2ObjectFactoryC2Ev__ZN41vtkMultiBlockUnstructuredGridVolumeMapper11LoadDataSetEv__ZN41vtkMultiBlockUnstructuredGridVolumeMapper11SortMappersEP11vtkRendererP12vtkMatrix4x4__ZN41vtkMultiBlockUnstructuredGridVolumeMapper12ClearMappersEv__ZN41vtkMultiBlockUnstructuredGridVolumeMapper12CreateMapperEv__ZN41vtkMultiBlockUnstructuredGridVolumeMapper12SetBlendModeEi__ZN41vtkMultiBlockUnstructuredGridVolumeMapper13ComputeBoundsEv__ZN41vtkMultiBlockUnstructuredGridVolumeMapper13CreateMappersEP17vtkDataObjectTree__ZN41vtkMultiBlockUnstructuredGridVolumeMapper13SetScalarModeEi__ZN41vtkMultiBlockUnstructuredGridVolumeMapper17SelectScalarArrayEPKc__ZN41vtkMultiBlockUnstructuredGridVolumeMapper17SelectScalarArrayEi__ZN41vtkMultiBlockUnstructuredGridVolumeMapper18SetArrayAccessModeEi__ZN41vtkMultiBlockUnstructuredGridVolumeMapper22GetDataObjectTreeInputEv__ZN41vtkMultiBlockUnstructuredGridVolumeMapper24FillInputPortInformationEiP14vtkInformation__ZN41vtkMultiBlockUnstructuredGridVolumeMapper24ReleaseGraphicsResourcesEP9vtkWindow__ZN41vtkMultiBlockUnstructuredGridVolumeMapper30SetUseFloatingPointFrameBufferEb__ZN41vtkMultiBlockUnstructuredGridVolumeMapper3NewEv__ZN41vtkMultiBlockUnstructuredGridVolumeMapper6RenderEP11vtkRendererP9vtkVolume__ZN41vtkMultiBlockUnstructuredGridVolumeMapper9GetBoundsEv__ZN41vtkMultiBlockUnstructuredGridVolumeMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN41vtkMultiBlockUnstructuredGridVolumeMapperC1Ev__ZN41vtkMultiBlockUnstructuredGridVolumeMapperC2Ev__ZN41vtkMultiBlockUnstructuredGridVolumeMapperD0Ev__ZN41vtkMultiBlockUnstructuredGridVolumeMapperD1Ev__ZN41vtkMultiBlockUnstructuredGridVolumeMapperD2Ev__ZN52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D14InternalUpdateEP9vtkObjectiddi__ZN52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D23ComputeIdealTextureSizeEP9vtkObjectRiS2_P21vtkOpenGLRenderWindow__ZN52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D3NewEv__ZN52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2DC1Ev__ZN52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2DC2Ev__ZNK31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal16GetComponentModeEP17vtkVolumePropertyP12vtkDataArray__ZTI16vtkVolumeTexture__ZTI20vtkSmartVolumeMapper__ZTI23vtkOpenGLVolumeRGBTable__ZTI25vtkMultiBlockVolumeMapper__ZTI26vtkOpenGLVolumeLookupTable__ZTI27vtkOpenGLVolumeOpacityTable__ZTI31vtkOpenGLGPUVolumeRayCastMapper__ZTI33vtkOpenGLVolumeTransferFunction2D__ZTI34vtkOpenGLProjectedTetrahedraMapper__ZTI34vtkOpenGLRayCastImageDisplayHelper__ZTI35vtkOpenGLVolumeGradientOpacityTable__ZTI37vtkOpenGLVolumeMaskTransferFunction2D__ZTI38vtkRenderingVolumeOpenGL2ObjectFactory__ZTI41vtkMultiBlockUnstructuredGridVolumeMapper__ZTI52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D__ZTINSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTINSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTINSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTS16vtkVolumeTexture__ZTS20vtkSmartVolumeMapper__ZTS23vtkOpenGLVolumeRGBTable__ZTS25vtkMultiBlockVolumeMapper__ZTS26vtkOpenGLVolumeLookupTable__ZTS27vtkOpenGLVolumeOpacityTable__ZTS31vtkOpenGLGPUVolumeRayCastMapper__ZTS33vtkOpenGLVolumeTransferFunction2D__ZTS34vtkOpenGLProjectedTetrahedraMapper__ZTS34vtkOpenGLRayCastImageDisplayHelper__ZTS35vtkOpenGLVolumeGradientOpacityTable__ZTS37vtkOpenGLVolumeMaskTransferFunction2D__ZTS38vtkRenderingVolumeOpenGL2ObjectFactory__ZTS41vtkMultiBlockUnstructuredGridVolumeMapper__ZTS52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D__ZTSNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTSNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTSNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTV16vtkVolumeTexture__ZTV20vtkSmartVolumeMapper__ZTV23vtkOpenGLVolumeRGBTable__ZTV25vtkMultiBlockVolumeMapper__ZTV26vtkOpenGLVolumeLookupTable__ZTV27vtkOpenGLVolumeOpacityTable__ZTV31vtkOpenGLGPUVolumeRayCastMapper__ZTV33vtkOpenGLVolumeTransferFunction2D__ZTV34vtkOpenGLProjectedTetrahedraMapper__ZTV34vtkOpenGLRayCastImageDisplayHelper__ZTV35vtkOpenGLVolumeGradientOpacityTable__ZTV37vtkOpenGLVolumeMaskTransferFunction2D__ZTV38vtkRenderingVolumeOpenGL2ObjectFactory__ZTV41vtkMultiBlockUnstructuredGridVolumeMapper__ZTV52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D_raycasterfs_raycastervs_vtkglProjectedTetrahedraFS_vtkglProjectedTetrahedraVS__Unwind_Resume__Z31vtkOutputWindowDisplayErrorTextPKciS0_P9vtkObject__Z33vtkOutputWindowDisplayWarningTextPKciS0_P9vtkObject__Z38vtkRenderingOpenGL2_AutoInit_Constructv__Z40vtkOutputWindowDisplayGenericWarningTextPKciS0___ZN10vtkDataSet17GetCellGhostArrayEv__ZN10vtkDataSet18GetPointGhostArrayEv__ZN10vtkDataSet9GetBoundsEPd__ZN11vtkPolyData3NewEv__ZN11vtkPolyData8GetPolysEv__ZN11vtkPolyData8SetPolysEP12vtkCellArray__ZN11vtkRenderer15GetActiveCameraEv__ZN11vtkRenderer19GetTiledAspectRatioEv__ZN11vtkTimerLog10StartTimerEv__ZN11vtkTimerLog14GetElapsedTimeEv__ZN11vtkTimerLog9StopTimerEv__ZN12vtkAlgorithm11UpdatePieceEiiiPKi__ZN12vtkAlgorithm12SetExecutiveEP12vtkExecutive__ZN12vtkAlgorithm12UpdateExtentEPKi__ZN12vtkAlgorithm13GetOutputPortEi__ZN12vtkAlgorithm13ModifyRequestEP14vtkInformationi__ZN12vtkAlgorithm14ProcessRequestEP14vtkInformationPP20vtkInformationVectorS3___ZN12vtkAlgorithm14SetInformationEP14vtkInformation__ZN12vtkAlgorithm14UpdateTimeStepEdiiiPKi__ZN12vtkAlgorithm16ReportReferencesEP19vtkGarbageCollector__ZN12vtkAlgorithm16UpdateDataObjectEv__ZN12vtkAlgorithm17UpdateInformationEv__ZN12vtkAlgorithm17UpdateWholeExtentEv__ZN12vtkAlgorithm18AddInputConnectionEP18vtkAlgorithmOutput__ZN12vtkAlgorithm18AddInputConnectionEiP18vtkAlgorithmOutput__ZN12vtkAlgorithm18AddInputDataObjectEiP13vtkDataObject__ZN12vtkAlgorithm18GetInputDataObjectEii__ZN12vtkAlgorithm18GetReleaseDataFlagEv__ZN12vtkAlgorithm18SetInputConnectionEP18vtkAlgorithmOutput__ZN12vtkAlgorithm18SetInputConnectionEiP18vtkAlgorithmOutput__ZN12vtkAlgorithm18SetInputDataObjectEiP13vtkDataObject__ZN12vtkAlgorithm18SetReleaseDataFlagEi__ZN12vtkAlgorithm20ComputePipelineMTimeEP14vtkInformationPP20vtkInformationVectorS3_iPm__ZN12vtkAlgorithm21PropagateUpdateExtentEv__ZN12vtkAlgorithm21RemoveInputConnectionEiP18vtkAlgorithmOutput__ZN12vtkAlgorithm21RemoveInputConnectionEii__ZN12vtkAlgorithm21SetNthInputConnectionEiiP18vtkAlgorithmOutput__ZN12vtkAlgorithm21SetNumberOfInputPortsEi__ZN12vtkAlgorithm22CreateDefaultExecutiveEv__ZN12vtkAlgorithm22SetInputArrayToProcessEiP14vtkInformation__ZN12vtkAlgorithm22SetInputArrayToProcessEiiiPKcS1___ZN12vtkAlgorithm22SetInputArrayToProcessEiiiiPKc__ZN12vtkAlgorithm22SetInputArrayToProcessEiiiii__ZN12vtkAlgorithm22SetNumberOfOutputPortsEi__ZN12vtkAlgorithm24INPUT_REQUIRED_DATA_TYPEEv__ZN12vtkAlgorithm25FillOutputPortInformationEiP14vtkInformation__ZN12vtkAlgorithm25RemoveAllInputConnectionsEi__ZN12vtkAlgorithm27GetNumberOfInputConnectionsEi__ZN12vtkAlgorithm27SetNumberOfInputConnectionsEii__ZN12vtkAlgorithm6UpdateEP14vtkInformation__ZN12vtkAlgorithm6UpdateEi__ZN12vtkAlgorithm6UpdateEiP20vtkInformationVector__ZN12vtkAlgorithm6UpdateEv__ZN12vtkCellArray3NewEv__ZN12vtkDataArray16InsertNextTuple3Eddd__ZN12vtkDataArray9GetTuple1Ex__ZN12vtkFieldData16GetAbstractArrayEPKcRi__ZN12vtkFieldData8GetArrayEPKcRi__ZN12vtkImageData39TransformContinuousIndexToPhysicalPointEdddPKdS1_S1_Pd__ZN12vtkImageData3NewEv__ZN12vtkMatrix3x33NewEv__ZN12vtkMatrix3x38DeepCopyEPdPKd__ZN12vtkMatrix3x38IdentityEPd__ZN12vtkMatrix4x413MultiplyPointEPKdPKfPf__ZN12vtkMatrix4x413MultiplyPointEPKdS1_Pd__ZN12vtkMatrix4x43NewEv__ZN12vtkMatrix4x46InvertEPKdPd__ZN12vtkMatrix4x48DeepCopyEPdPKd__ZN12vtkMatrix4x48IdentityEPd__ZN12vtkMatrix4x49TransposeEPKdPd__ZN12vtkTimeStamp8ModifiedEv__ZN13vtkCollection14RemoveAllItemsEv__ZN13vtkCollection7AddItemEP9vtkObject__ZN13vtkFloatArray3NewEv__ZN13vtkObjectBase10FastDeleteEv__ZN13vtkObjectBase10UnRegisterEPS___ZN13vtkObjectBase11PrintHeaderERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN13vtkObjectBase12PrintTrailerERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN13vtkObjectBase16ReportReferencesEP19vtkGarbageCollector__ZN13vtkObjectBase20InitializeObjectBaseEv__ZN13vtkObjectBase34GetNumberOfGenerationsFromBaseTypeEPKc__ZN13vtkObjectBase6DeleteEv__ZN13vtkObjectBase8IsTypeOfEPKc__ZN13vtkObjectBase8RegisterEPS___ZN14vtkBoundingBox9AddBoundsEPKd__ZN14vtkImageResize3NewEv__ZN14vtkInformation3GetEP24vtkInformationIntegerKey__ZN14vtkInformation3GetEP33vtkInformationObjectBaseVectorKeyi__ZN14vtkInformation3HasEP24vtkInformationIntegerKey__ZN14vtkInformation3HasEP33vtkInformationObjectBaseVectorKey__ZN14vtkInformation3NewEv__ZN14vtkInformation5ClearEv__ZN14vtkInformation6AppendEP29vtkInformationStringVectorKeyPKc__ZN14vtkInformation6LengthEP33vtkInformationObjectBaseVectorKey__ZN14vtkInformation9CopyEntryEPS_P33vtkInformationObjectBaseVectorKeyi__ZN14vtkMultiVolume9GetVolumeEi__ZN14vtkOpenGLActor19GLDepthMaskOverrideEv__ZN14vtkOpenGLState10vtkglClearEj__ZN14vtkOpenGLState11vtkglEnableEj__ZN14vtkOpenGLState12GetEnumStateEj__ZN14vtkOpenGLState12SetEnumStateEjb__ZN14vtkOpenGLState12vtkglDisableEj__ZN14vtkOpenGLState13vtkglCullFaceEj__ZN14vtkOpenGLState13vtkglViewportEiiii__ZN14vtkOpenGLState14vtkglDepthMaskEh__ZN14vtkOpenGLState15vtkglClearColorEffff__ZN14vtkOpenGLState16vtkglGetBooleanvEjPh__ZN14vtkOpenGLState16vtkglGetIntegervEjPi__ZN14vtkOpenGLState16vtkglPixelStoreiEji__ZN14vtkOpenGLState20vtkglBlitFramebufferEiiiiiiiijj__ZN14vtkOpenGLState22vtkglBlendFuncSeparateEjjjj__ZN14vtkOpenGLState25PopDrawFramebufferBindingEv__ZN14vtkOpenGLState25PopReadFramebufferBindingEv__ZN14vtkOpenGLState25ScopedglBlendFuncSeparateC1EPS___ZN14vtkOpenGLState26PushDrawFramebufferBindingEv__ZN14vtkOpenGLState26PushReadFramebufferBindingEv__ZN14vtkUniformGrid3NewEv__ZN15vtkOpenGLHelper24ReleaseGraphicsResourcesEP9vtkWindow__ZN15vtkOpenGLHelperC1Ev__ZN15vtkOpenGLHelperD1Ev__ZN15vtkVolumeMapper12SetInputDataEP10vtkDataSet__ZN15vtkVolumeMapper12SetInputDataEP12vtkImageData__ZN15vtkVolumeMapper12SetInputDataEP18vtkRectilinearGrid__ZN15vtkVolumeMapper24FillInputPortInformationEiP14vtkInformation__ZN15vtkVolumeMapper29SpacingAdjustedSampleDistanceEPdPi__ZN15vtkVolumeMapper8GetInputEi__ZN15vtkVolumeMapper8GetInputEv__ZN15vtkVolumeMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN15vtkVolumeMapperC2Ev__ZN15vtkVolumeMapperD2Ev__ZN16vtkContourFilter3NewEv__ZN16vtkContourValues19GetNumberOfContoursEv__ZN16vtkContourValues8GetValueEi__ZN16vtkContourValues8SetValueEid__ZN16vtkImageResample26SetAxisMagnificationFactorEid__ZN16vtkImageResample3NewEv__ZN16vtkObjectFactory11HasOverrideEPKc__ZN16vtkObjectFactory11HasOverrideEPKcS1___ZN16vtkObjectFactory12CreateObjectEPKc__ZN16vtkObjectFactory13GetEnableFlagEPKcS1___ZN16vtkObjectFactory13GetEnableFlagEi__ZN16vtkObjectFactory13SetEnableFlagEiPKcS1___ZN16vtkObjectFactory15RegisterFactoryEPS___ZN16vtkObjectFactory16RegisterOverrideEPKcS1_S1_iPFP9vtkObjectvE__ZN16vtkObjectFactory20GetClassOverrideNameEi__ZN16vtkObjectFactory20GetNumberOfOverridesEv__ZN16vtkObjectFactory22GetOverrideDescriptionEi__ZN16vtkObjectFactory24GetClassOverrideWithNameEi__ZN16vtkObjectFactory7DisableEPKc__ZN16vtkObjectFactory9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN16vtkObjectFactoryC2Ev__ZN16vtkObjectFactoryD2Ev__ZN16vtkPixelTransfer4BlitERK14vtkPixelExtentS2_S2_S2_iiPviiS3___ZN16vtkShaderProgram10SubstituteEP9vtkShaderRKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_b__ZN16vtkShaderProgram10SubstituteERNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEERKS6_S9_b__ZN16vtkShaderProgram11SetUniformfEPKcf__ZN16vtkShaderProgram11SetUniformiEPKci__ZN16vtkShaderProgram12SetUniform3fEPKcPKd__ZN16vtkShaderProgram12SetUniform3fEPKcPKf__ZN16vtkShaderProgram12SetUniform4fEPKcPKf__ZN16vtkShaderProgram13SetUniform1fvEPKciPKf__ZN16vtkShaderProgram13SetUniform1ivEPKciPKi__ZN16vtkShaderProgram13SetUniform2fvEPKciPA2_Kf__ZN16vtkShaderProgram13SetUniform3fvEPKciPA3_Kf__ZN16vtkShaderProgram13SetUniform3fvEPKciPKf__ZN16vtkShaderProgram13SetUniform4fvEPKciPA4_Kf__ZN16vtkShaderProgram16SetUniformMatrixEPKcP12vtkMatrix4x4__ZN16vtkShaderProgram17UseAttributeArrayEPKcimiiNS_15NormalizeOptionE__ZN16vtkShaderProgram20EnableAttributeArrayEPKc__ZN16vtkShaderProgram20SetUniformMatrix4x4vEPKciPf__ZN16vtkTextureObject10Allocate2DEjjiii__ZN16vtkTextureObject10DeactivateEv__ZN16vtkTextureObject10GetContextEv__ZN16vtkTextureObject10SetContextEP21vtkOpenGLRenderWindow__ZN16vtkTextureObject11GetDataTypeEi__ZN16vtkTextureObject11SetDataTypeEj__ZN16vtkTextureObject13AllocateDepthEjji__ZN16vtkTextureObject14GetTextureUnitEv__ZN16vtkTextureObject14GetVTKDataTypeEv__ZN16vtkTextureObject15Create1DFromRawEjiiPv__ZN16vtkTextureObject15Create2DFromRawEjjiiPv__ZN16vtkTextureObject15Create3DFromRawEjjjiiPv__ZN16vtkTextureObject16GetDefaultFormatEiib__ZN16vtkTextureObject17SetInternalFormatEj__ZN16vtkTextureObject18GetDefaultDataTypeEi__ZN16vtkTextureObject20AllocateDepthStencilEjj__ZN16vtkTextureObject21GetMaximumTextureSizeEP21vtkOpenGLRenderWindow__ZN16vtkTextureObject22AllocateProxyTexture3DEjjjii__ZN16vtkTextureObject23GetMaximumTextureSize3DEv__ZN16vtkTextureObject24GetDefaultInternalFormatEiib__ZN16vtkTextureObject3NewEv__ZN16vtkTextureObject4BindEv__ZN16vtkTextureObject6ResizeEjj__ZN16vtkTextureObject8DownloadEv__ZN16vtkTextureObject9GetFormatEiib__ZN16vtkTextureObject9SetFormatEj__ZN17vtkAbstractMapper10GetScalarsEP10vtkDataSetiiiPKcRi__ZN17vtkAbstractMapper11ShallowCopyEPS___ZN17vtkAbstractMapper17SetClippingPlanesEP18vtkPlaneCollection__ZN17vtkAbstractMapper8GetMTimeEv__ZN17vtkImageAlgorithm12SetInputDataEP13vtkDataObject__ZN17vtkImageAlgorithm8GetInputEi__ZN17vtkImageAlgorithm9GetOutputEv__ZN17vtkImageMagnitude3NewEv__ZN17vtkOStreamWrapperlsEPKc__ZN17vtkOStreamWrapperlsERKNS_10std_stringE__ZN17vtkOStreamWrapperlsEi__ZN17vtkOpenGLUniforms11SetUniformsEP16vtkShaderProgram__ZN17vtkOpenGLUniforms15GetDeclarationsEv__ZN17vtkPolyDataMapper3NewEv__ZN17vtkShaderProperty14GetShaderMTimeEv__ZN17vtkShaderProperty19HasVertexShaderCodeEv__ZN17vtkShaderProperty21HasFragmentShaderCodeEv__ZN17vtkVolumeProperty10GetAmbientEi__ZN17vtkVolumeProperty10GetDiffuseEi__ZN17vtkVolumeProperty11GetSpecularEi__ZN17vtkVolumeProperty13GetLabelColorEi__ZN17vtkVolumeProperty16GetScalarOpacityEi__ZN17vtkVolumeProperty16GetSpecularPowerEi__ZN17vtkVolumeProperty16SetScalarOpacityEiP20vtkPiecewiseFunction__ZN17vtkVolumeProperty17GetLabelMapLabelsEv__ZN17vtkVolumeProperty18GetGradientOpacityEi__ZN17vtkVolumeProperty19GetIsoSurfaceValuesEv__ZN17vtkVolumeProperty21GetLabelScalarOpacityEi__ZN17vtkVolumeProperty21GetTransferFunction2DEi__ZN17vtkVolumeProperty22GetRGBTransferFunctionEi__ZN17vtkVolumeProperty23GetLabelGradientOpacityEi__ZN17vtkVolumeProperty28GetScalarOpacityUnitDistanceEi__ZN17vtkVolumeProperty8GetShadeEi__ZN17vtkVolumeProperty8SetColorEiP24vtkColorTransferFunction__ZN18vtkDensifyPolyData3NewEv__ZN18vtkLightCollection12GetNextLightERPv__ZN18vtkPlaneCollection3NewEv__ZN18vtkRectilinearGrid3NewEv__ZN18vtkRectilinearGrid8GetPointEiiiPd__ZN18vtkRectilinearGrid9SetExtentEPi__ZN18vtkTimerLogCleanupC1Ev__ZN18vtkTimerLogCleanupD1Ev__ZN19vtkAbstractMapper3D9GetBoundsEPd__ZN19vtkDataSetAlgorithm12SetInputDataEP10vtkDataSet__ZN19vtkDataSetAlgorithm9GetOutputEv__ZN19vtkOpenGLRenderPass12RenderPassesEv__ZN19vtkSmartPointerBaseC2EP13vtkObjectBase__ZN19vtkSmartPointerBaseC2EP13vtkObjectBaseRKNS_11NoReferenceE__ZN19vtkSmartPointerBaseC2ERKS___ZN19vtkSmartPointerBaseC2Ev__ZN19vtkSmartPointerBaseD2Ev__ZN19vtkSmartPointerBaseaSEP13vtkObjectBase__ZN19vtkUnsignedIntArray3NewEv__ZN20vtkAbstractTransform6UpdateEv__ZN20vtkDataSetAttributes10GetScalarsEv__ZN20vtkDataSetAttributes18SetActiveAttributeEPKci__ZN20vtkDebugLeaksManagerC1Ev__ZN20vtkDebugLeaksManagerD1Ev__ZN20vtkOStrStreamWrapper3strEv__ZN20vtkOStrStreamWrapper5rdbufEv__ZN20vtkOStrStreamWrapper6freezeEi__ZN20vtkOStrStreamWrapperC1Ev__ZN20vtkOStrStreamWrapperD1Ev__ZN20vtkPiecewiseFunction26EstimateMinNumberOfSamplesERKdS1___ZN20vtkPiecewiseFunction7GetSizeEv__ZN20vtkPiecewiseFunction8AddPointEdd__ZN20vtkPiecewiseFunction8GetTableEddiPfii__ZN20vtkPixelBufferObject11UnmapBufferENS_10BufferTypeE__ZN20vtkPixelBufferObject9MapBufferENS_10BufferTypeE__ZN20vtkPolyDataAlgorithm12SetInputDataEP13vtkDataObject__ZN20vtkPolyDataAlgorithm9GetOutputEv__ZN20vtkUnsignedCharArray3NewEv__ZN21vtkClipConvexPolyData3NewEv__ZN21vtkClipConvexPolyData9SetPlanesEP18vtkPlaneCollection__ZN21vtkOpenGLBufferObject14UploadInternalEPKvmNS_10ObjectTypeE__ZN21vtkOpenGLBufferObject24ReleaseGraphicsResourcesEv__ZN21vtkOpenGLBufferObject4BindEv__ZN21vtkOpenGLBufferObject7ReleaseEv__ZN21vtkOpenGLRenderWindow14GetShaderCacheEv__ZN21vtkOpenGLRenderWindow19GetNoiseTextureUnitEv__ZN22vtkCellDataToPointData3NewEv__ZN22vtkPointDataToCellData3NewEv__ZN23vtkAOSDataArrayTemplateIfE10GetPointerEx__ZN23vtkAOSDataArrayTemplateIhE10GetPointerEx__ZN23vtkAOSDataArrayTemplateIiE10GetPointerEx__ZN23vtkAOSDataArrayTemplateIxE10GetPointerEx__ZN23vtkAbstractVolumeMapper15GetDataSetInputEv__ZN23vtkAbstractVolumeMapper17SelectScalarArrayEPKc__ZN23vtkAbstractVolumeMapper17SelectScalarArrayEi__ZN23vtkAbstractVolumeMapper18GetDataObjectInputEv__ZN23vtkAbstractVolumeMapper9GetBoundsEv__ZN24vtkColorTransferFunction11AddRGBPointEdddd__ZN24vtkColorTransferFunction26EstimateMinNumberOfSamplesERKdS1___ZN24vtkColorTransferFunction7GetSizeEv__ZN24vtkColorTransferFunction8GetTableEddiPf__ZN24vtkEventForwarderCommandC1Ev__ZN24vtkOSPRayVolumeInterface3NewEv__ZN24vtkOpenGLRenderUtilities10RenderQuadEPfS0_P16vtkShaderProgramP26vtkOpenGLVertexArrayObject__ZN24vtkOpenGLRenderUtilities14MarkDebugEventERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE__ZN24vtkOpenGLRenderUtilities17PrepFullScreenVAOEP21vtkOpenGLRenderWindowP26vtkOpenGLVertexArrayObjectP16vtkShaderProgram__ZN24vtkOpenGLRenderUtilities18DrawFullScreenQuadEv__ZN24vtkOpenGLRenderUtilities29GetFullScreenQuadVertexShaderEv__ZN24vtkOpenGLRenderUtilities31GetFullScreenQuadGeometryShaderEv__ZN24vtkOpenGLRenderUtilities39GetFullScreenQuadFragmentShaderTemplateEv__ZN25vtkGPUVolumeRayCastMapper13GetInputCountEv__ZN25vtkGPUVolumeRayCastMapper14ValidateRenderEP11vtkRendererP9vtkVolume__ZN25vtkGPUVolumeRayCastMapper18SetInputConnectionEiP18vtkAlgorithmOutput__ZN25vtkGPUVolumeRayCastMapper19CreateCanonicalViewEP11vtkRendererP9vtkVolumeP12vtkImageDataiPdS6___ZN25vtkGPUVolumeRayCastMapper19GetTransformedInputEi__ZN25vtkGPUVolumeRayCastMapper21RemoveInputConnectionEiP18vtkAlgorithmOutput__ZN25vtkGPUVolumeRayCastMapper21RemoveInputConnectionEii__ZN25vtkGPUVolumeRayCastMapper24ClipCroppingRegionPlanesEv__ZN25vtkGPUVolumeRayCastMapper24FillInputPortInformationEiP14vtkInformation__ZN25vtkGPUVolumeRayCastMapper25GetDepthPassContourValuesEv__ZN25vtkGPUVolumeRayCastMapper3NewEv__ZN25vtkGPUVolumeRayCastMapper6RenderEP11vtkRendererP9vtkVolume__ZN25vtkGPUVolumeRayCastMapper8GetInputEi__ZN25vtkGPUVolumeRayCastMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN25vtkGPUVolumeRayCastMapperC2Ev__ZN25vtkGPUVolumeRayCastMapperD2Ev__ZN26vtkOpenGLFramebufferObject10GetContextEv__ZN26vtkOpenGLFramebufferObject10SetContextEP15vtkRenderWindow__ZN26vtkOpenGLFramebufferObject11GetDrawModeEv__ZN26vtkOpenGLFramebufferObject11GetReadModeEv__ZN26vtkOpenGLFramebufferObject18ActivateDrawBufferEj__ZN26vtkOpenGLFramebufferObject18AddColorAttachmentEjP16vtkTextureObjectjjj__ZN26vtkOpenGLFramebufferObject18AddDepthAttachmentEP16vtkTextureObject__ZN26vtkOpenGLFramebufferObject18InitializeViewportEii__ZN26vtkOpenGLFramebufferObject19ActivateDrawBuffersEj__ZN26vtkOpenGLFramebufferObject19PopulateFramebufferEiibiibiib__ZN26vtkOpenGLFramebufferObject20GetFrameBufferStatusEjRPKc__ZN26vtkOpenGLFramebufferObject21DeactivateDrawBuffersEv__ZN26vtkOpenGLFramebufferObject21RemoveColorAttachmentEj__ZN26vtkOpenGLFramebufferObject21RemoveDepthAttachmentEv__ZN26vtkOpenGLFramebufferObject22CheckFrameBufferStatusEj__ZN26vtkOpenGLFramebufferObject3NewEv__ZN26vtkOpenGLFramebufferObject4BindEj__ZN26vtkOpenGLFramebufferObject4BindEv__ZN26vtkOpenGLFramebufferObject6ResizeEii__ZN26vtkOpenGLFramebufferObject6UnBindEv__ZN26vtkOpenGLVertexArrayObject20ShaderProgramChangedEv__ZN26vtkOpenGLVertexArrayObject28AddAttributeArrayWithDivisorEP16vtkShaderProgramP21vtkOpenGLBufferObjectRKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEimiibib__ZN26vtkOpenGLVertexArrayObject3NewEv__ZN26vtkOpenGLVertexArrayObject4BindEv__ZN26vtkOpenGLVertexArrayObject7ReleaseEv__ZN27vtkOpenGLVertexBufferObject3NewEv__ZN28vtkProjectedTetrahedraMapper15TransformPointsEP9vtkPointsPKfS3_P13vtkFloatArray__ZN28vtkProjectedTetrahedraMapper16ReportReferencesEP19vtkGarbageCollector__ZN28vtkProjectedTetrahedraMapper17SetVisibilitySortEP17vtkVisibilitySort__ZN28vtkProjectedTetrahedraMapper18MapScalarsToColorsEP12vtkDataArrayP17vtkVolumePropertyS1___ZN28vtkProjectedTetrahedraMapper3NewEv__ZN28vtkProjectedTetrahedraMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN28vtkProjectedTetrahedraMapperC2Ev__ZN28vtkProjectedTetrahedraMapperD2Ev__ZN28vtkRayCastImageDisplayHelper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN28vtkRayCastImageDisplayHelperC2Ev__ZN28vtkRayCastImageDisplayHelperD2Ev__ZN31vtkObjectFactoryRegistryCleanupC1Ev__ZN31vtkObjectFactoryRegistryCleanupD1Ev__ZN31vtkUnstructuredGridVolumeMapper12SetInputDataEP10vtkDataSet__ZN31vtkUnstructuredGridVolumeMapper12SetInputDataEP23vtkUnstructuredGridBase__ZN31vtkUnstructuredGridVolumeMapper24FillInputPortInformationEiP14vtkInformation__ZN31vtkUnstructuredGridVolumeMapper8GetInputEv__ZN31vtkUnstructuredGridVolumeMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN31vtkUnstructuredGridVolumeMapperC2Ev__ZN31vtkUnstructuredGridVolumeMapperD2Ev__ZN32vtkFixedPointVolumeRayCastMapper19CreateCanonicalViewEP9vtkVolumeP12vtkImageDataiPdS4___ZN32vtkFixedPointVolumeRayCastMapper3NewEv__ZN6vtksys11SystemTools15GetFilenameNameERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE__ZN6vtksys18SystemToolsManagerC1Ev__ZN6vtksys18SystemToolsManagerD1Ev__ZN8vtkActor3NewEv__ZN8vtkLight22GetTransformedPositionEv__ZN8vtkLight24GetTransformedFocalPointEv__ZN8vtkPlane3NewEv__ZN9vtkIdList14SetNumberOfIdsEx__ZN9vtkIdList3NewEv__ZN9vtkIndent13GetNextIndentEv__ZN9vtkObject11AddObserverEmP10vtkCommandf__ZN9vtkObject11InvokeEventEmPv__ZN9vtkObject12BreakOnErrorEv__ZN9vtkObject13SetObjectNameERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE__ZN9vtkObject14ObjectFinalizeEv__ZN9vtkObject16RegisterInternalEP13vtkObjectBasei__ZN9vtkObject18UnRegisterInternalEP13vtkObjectBasei__ZN9vtkObject23GetGlobalWarningDisplayEv__ZN9vtkObject3NewEv__ZN9vtkObject7DebugOnEv__ZN9vtkObject8DebugOffEv__ZN9vtkObject8GetMTimeEv__ZN9vtkObject8ModifiedEv__ZN9vtkObject9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN9vtkObjectC2Ev__ZN9vtkObjectD2Ev__ZN9vtkPoints3NewEv__ZN9vtkProp3D9GetCenterEv__ZN9vtkShader3NewEv__ZN9vtkShader7SetTypeENS_4TypeE__ZN9vtkShader9SetSourceERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE__ZNK13vtkObjectBase12GetClassNameEv__ZNK13vtkObjectBase17GetDebugClassNameEv__ZNK9vtkObject13GetObjectNameEv__ZNK9vtkObject20GetObjectDescriptionEv__ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv__ZNKSt3__120__vector_base_commonILb1EE20__throw_out_of_rangeEv__ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv__ZNKSt3__16locale9use_facetERNS0_2idE__ZNKSt3__18ios_base6getlocEv__ZNSt11logic_errorC2EPKc__ZNSt12length_errorD1Ev__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKc__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5___ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_mmRKS4___ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSERKS5___ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED0Ev__ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED1Ev__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE3putEc__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5flushEv__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3___ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED0Ev__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED2Ev__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEPKv__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEb__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEd__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEf__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEi__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEj__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEm__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEx__ZNSt3__114basic_iostreamIcNS_11char_traitsIcEEED0Ev__ZNSt3__114basic_iostreamIcNS_11char_traitsIcEEED1Ev__ZNSt3__114basic_iostreamIcNS_11char_traitsIcEEED2Ev__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE4syncEv__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5uflowEv__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6setbufEPcl__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsgetnEPcl__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKcl__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9showmanycEv__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEEC2Ev__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED2Ev__ZNSt3__14cerrE__ZNSt3__14coutE__ZNSt3__15ctypeIcE2idE__ZNSt3__16__sortIRNS_6__lessIffEEPfEEvT0_S5_T___ZNSt3__16localeD1Ev__ZNSt3__18ios_base33__set_badbit_and_consider_rethrowEv__ZNSt3__18ios_base4initEPv__ZNSt3__18ios_base5clearEj__ZNSt3__19basic_iosIcNS_11char_traitsIcEEED2Ev__ZNSt3__19to_stringEi__ZNSt3__19to_stringEm__ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9___ZSt9terminatev__ZTI15vtkVolumeMapper__ZTI16vtkObjectFactory__ZTI25vtkGPUVolumeRayCastMapper__ZTI28vtkProjectedTetrahedraMapper__ZTI28vtkRayCastImageDisplayHelper__ZTI31vtkUnstructuredGridVolumeMapper__ZTI9vtkObject__ZTINSt3__113basic_istreamIcNS_11char_traitsIcEEEE__ZTINSt3__113basic_ostreamIcNS_11char_traitsIcEEEE__ZTINSt3__114basic_iostreamIcNS_11char_traitsIcEEEE__ZTINSt3__115basic_streambufIcNS_11char_traitsIcEEEE__ZTISt12length_error__ZTVN10__cxxabiv117__class_type_infoE__ZTVN10__cxxabiv120__si_class_type_infoE__ZTVSt12length_error__ZThn16_NSt3__114basic_iostreamIcNS_11char_traitsIcEEED0Ev__ZThn16_NSt3__114basic_iostreamIcNS_11char_traitsIcEEED1Ev__ZTv0_n24_NSt3__113basic_istreamIcNS_11char_traitsIcEEED0Ev__ZTv0_n24_NSt3__113basic_istreamIcNS_11char_traitsIcEEED1Ev__ZTv0_n24_NSt3__113basic_ostreamIcNS_11char_traitsIcEEED0Ev__ZTv0_n24_NSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev__ZTv0_n24_NSt3__114basic_iostreamIcNS_11char_traitsIcEEED0Ev__ZTv0_n24_NSt3__114basic_iostreamIcNS_11char_traitsIcEEED1Ev__ZdaPv__ZdlPv__ZlsRNSt3__113basic_ostreamIcNS_11char_traitsIcEEEERK9vtkIndent__Znam__Znwm___bzero___cxa_allocate_exception___cxa_atexit___cxa_begin_catch___cxa_end_catch___cxa_free_exception___cxa_guard_acquire___cxa_guard_release___cxa_throw___glewBindBuffer___glewBindVertexArray___glewBufferData___glewDeleteBuffers___glewDeleteVertexArrays___glewDrawRangeElements___glewGenBuffers___glewGenVertexArrays___glewTexSubImage3D___gxx_personality_v0___stack_chk_fail___stack_chk_guard_glDrawElements_glFinish_glGetIntegerv_glGetString_memchr_memcmp_memcpy_memmove_memset_memset_pattern16_pow_strcmp_strlen_vtkTextureObjectVSdyld_stub_binder__GLOBAL__sub_I_raycasterfs.cxx__GLOBAL__sub_I_raycastervs.cxx__GLOBAL__sub_I_vtkglProjectedTetrahedraFS.cxx__GLOBAL__sub_I_vtkglProjectedTetrahedraVS.cxx__ZL53vtkObjectFactoryCreatevtkOpenGLGPUVolumeRayCastMapperv__ZL56vtkObjectFactoryCreatevtkOpenGLProjectedTetrahedraMapperv__ZL56vtkObjectFactoryCreatevtkOpenGLRayCastImageDisplayHelperv__ZNK38vtkRenderingVolumeOpenGL2ObjectFactory20GetClassNameInternalEv__ZN38vtkRenderingVolumeOpenGL2ObjectFactory3IsAEPKc__ZN38vtkRenderingVolumeOpenGL2ObjectFactory30GetNumberOfGenerationsFromBaseEPKc__ZNK13vtkObjectBase20UsesGarbageCollectorEv__ZN38vtkRenderingVolumeOpenGL2ObjectFactoryD1Ev__ZN38vtkRenderingVolumeOpenGL2ObjectFactoryD0Ev__ZNK38vtkRenderingVolumeOpenGL2ObjectFactory19NewInstanceInternalEv__ZN38vtkRenderingVolumeOpenGL2ObjectFactory14GetDescriptionEv__ZN16vtkObjectFactory14GetLibraryPathEv__GLOBAL__sub_I_vtkRenderingVolumeOpenGL2ObjectFactory.cxx__ZNSt3__16vectorIP28vtkProjectedTetrahedraMapperNS_9allocatorIS2_EEED1Ev__ZN6vtkNewI12vtkMatrix4x4ED1Ev___clang_call_terminate__ZN18vtkBlockSortHelper4SortINSt3__111__wrap_iterIPP28vtkProjectedTetrahedraMapperEE31vtkUnstructuredGridVolumeMapperEEvT_S8_RNS_11BackToFrontIT0_EE__ZNK41vtkMultiBlockUnstructuredGridVolumeMapper20GetClassNameInternalEv__ZN41vtkMultiBlockUnstructuredGridVolumeMapper3IsAEPKc__ZN41vtkMultiBlockUnstructuredGridVolumeMapper30GetNumberOfGenerationsFromBaseEPKc__ZNK12vtkAlgorithm20UsesGarbageCollectorEv__ZNK41vtkMultiBlockUnstructuredGridVolumeMapper19NewInstanceInternalEv__ZN12vtkAlgorithm14GetInformationEv__ZN12vtkAlgorithm15SetAbortExecuteEi__ZN12vtkAlgorithm15GetAbortExecuteEv__ZN12vtkAlgorithm14AbortExecuteOnEv__ZN12vtkAlgorithm15AbortExecuteOffEv__ZN12vtkAlgorithm11GetProgressEv__ZN12vtkAlgorithm16GetProgressShiftEv__ZN12vtkAlgorithm16GetProgressScaleEv__ZN12vtkAlgorithm15GetProgressTextEv__ZN12vtkAlgorithm12GetErrorCodeEv__ZN12vtkAlgorithm18SetInputDataObjectEP13vtkDataObject__ZN12vtkAlgorithm18AddInputDataObjectEP13vtkDataObject__ZN12vtkAlgorithm19GetProgressObserverEv__ZN12vtkAlgorithm12SetErrorCodeEm__ZN17vtkAbstractMapper13GetTimeToDrawEv__ZN17vtkAbstractMapper17GetClippingPlanesEv__ZN23vtkAbstractVolumeMapper9GetBoundsEPd__ZN19vtkAbstractMapper3D16IsARayCastMapperEv__ZN19vtkAbstractMapper3D24IsARenderIntoImageMapperEv__ZN23vtkAbstractVolumeMapper13GetScalarModeEv__ZN23vtkAbstractVolumeMapper12GetArrayNameEv__ZN23vtkAbstractVolumeMapper10GetArrayIdEv__ZN23vtkAbstractVolumeMapper18GetArrayAccessModeEv__ZN23vtkAbstractVolumeMapper25GetGradientMagnitudeScaleEv__ZN23vtkAbstractVolumeMapper24GetGradientMagnitudeBiasEv__ZN23vtkAbstractVolumeMapper25GetGradientMagnitudeScaleEi__ZN23vtkAbstractVolumeMapper24GetGradientMagnitudeBiasEi__ZN31vtkUnstructuredGridVolumeMapper12GetBlendModeEv__ZN41vtkMultiBlockUnstructuredGridVolumeMapper30GetUseFloatingPointFrameBufferEv__ZN23vtkAbstractVolumeMapper8IsTypeOfEPKc__ZNSt3__1L20__throw_length_errorEPKc__ZNSt12length_errorC1EPKc__ZN18vtkBlockSortHelper11BackToFrontI31vtkUnstructuredGridVolumeMapperEC2EP11vtkRendererP12vtkMatrix4x4__ZNSt3__16vectorIP28vtkProjectedTetrahedraMapperNS_9allocatorIS2_EEE6assignINS_11__wrap_iterIPS2_EEEENS_9enable_ifIXaasr27__is_cpp17_forward_iteratorIT_EE5valuesr16is_constructibleIS2_NS_15iterator_traitsISB_E9referenceEEE5valueEvE4typeESB_SB___ZN18vtkBlockSortHelper11BackToFrontI31vtkUnstructuredGridVolumeMapperE33CompareBoundsOrderWithUncertaintyEPKdS4___ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m__ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4___GLOBAL__sub_I_vtkMultiBlockUnstructuredGridVolumeMapper.cxx__ZNSt3__16vectorIP20vtkSmartVolumeMapperNS_9allocatorIS2_EEED1Ev__ZN18vtkBlockSortHelper4SortINSt3__111__wrap_iterIPP20vtkSmartVolumeMapperEE15vtkVolumeMapperEEvT_S8_RNS_11BackToFrontIT0_EE__ZNK25vtkMultiBlockVolumeMapper20GetClassNameInternalEv__ZN25vtkMultiBlockVolumeMapper3IsAEPKc__ZN25vtkMultiBlockVolumeMapper30GetNumberOfGenerationsFromBaseEPKc__ZNK25vtkMultiBlockVolumeMapper19NewInstanceInternalEv__ZN15vtkVolumeMapper12GetBlendModeEv__ZN15vtkVolumeMapper23SetAverageIPScalarRangeEdd__ZN15vtkVolumeMapper23GetAverageIPScalarRangeEv__ZN15vtkVolumeMapper23GetAverageIPScalarRangeEPd__ZN15vtkVolumeMapper19GetCroppingMinValueEv__ZN15vtkVolumeMapper19GetCroppingMaxValueEv__ZN15vtkVolumeMapper11GetCroppingEv__ZN15vtkVolumeMapper10CroppingOnEv__ZN15vtkVolumeMapper11CroppingOffEv__ZN15vtkVolumeMapper23GetCroppingRegionPlanesEv__ZN15vtkVolumeMapper23GetCroppingRegionPlanesEPd__ZN15vtkVolumeMapper28GetVoxelCroppingRegionPlanesEv__ZN15vtkVolumeMapper28GetVoxelCroppingRegionPlanesEPd__ZN15vtkVolumeMapper27GetComputeNormalFromOpacityEv__ZN15vtkVolumeMapper26ComputeNormalFromOpacityOnEv__ZN15vtkVolumeMapper27ComputeNormalFromOpacityOffEv__ZN15vtkVolumeMapper30GetCroppingRegionFlagsMinValueEv__ZN15vtkVolumeMapper30GetCroppingRegionFlagsMaxValueEv__ZN15vtkVolumeMapper22GetCroppingRegionFlagsEv__ZN25vtkMultiBlockVolumeMapper13GetVectorModeEv__ZN25vtkMultiBlockVolumeMapper18GetVectorComponentEv__ZN25vtkMultiBlockVolumeMapper26GetGlobalIlluminationReachEv__ZN25vtkMultiBlockVolumeMapper31GetVolumetricScatteringBlendingEv__ZN18vtkBlockSortHelper11BackToFrontI15vtkVolumeMapperEC2EP11vtkRendererP12vtkMatrix4x4__ZNSt3__16vectorIP20vtkSmartVolumeMapperNS_9allocatorIS2_EEE6assignINS_11__wrap_iterIPS2_EEEENS_9enable_ifIXaasr27__is_cpp17_forward_iteratorIT_EE5valuesr16is_constructibleIS2_NS_15iterator_traitsISB_E9referenceEEE5valueEvE4typeESB_SB___ZN18vtkBlockSortHelper11BackToFrontI15vtkVolumeMapperE33CompareBoundsOrderWithUncertaintyEPKdS4___GLOBAL__sub_I_vtkMultiBlockVolumeMapper.cxx__ZN9vtkvolume33ComputeClipPositionImplementationEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume25ComputeTextureCoordinatesEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume21BaseDeclarationVertexEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeb__ZNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev__ZN9vtkvolume23BaseDeclarationFragmentEP11vtkRendererP15vtkVolumeMapperRNSt3__13mapIi20vtkVolumeInputHelperNS4_4lessIiEENS4_9allocatorINS4_4pairIKiS6_EEEEEEiibii__ZN9vtkvolume8BaseInitEP11vtkRendererP15vtkVolumeMapperRNSt3__13mapIi20vtkVolumeInputHelperNS4_4lessIiEENS4_9allocatorINS4_4pairIKiS6_EEEEEEb__ZN9vtkvolume18BaseImplementationEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume8BaseExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume28ComputeGradientOpacity1DDeclEP9vtkVolumeiiNSt3__13mapIiNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS2_4lessIiEENS7_INS2_4pairIKiS9_EEEEEE__ZN9vtkvolume26ComputeGradientDeclarationEP31vtkOpenGLGPUVolumeRayCastMapperRNSt3__13mapIi20vtkVolumeInputHelperNS2_4lessIiEENS2_9allocatorINS2_4pairIKiS4_EEEEEE__ZN9vtkvolume19ComputeMatricesInitEP31vtkOpenGLGPUVolumeRayCastMapperi__ZN9vtkvolume36ComputeRGBA2DWithGradientDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeiiNSt3__13mapIiNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS6_4lessIiEENSB_INS6_4pairIKiSD_EEEEEEi__ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6___ZN9vtkvolume28ComputeOpacityEvaluationCallEP31vtkOpenGLGPUVolumeRayCastMapperRNSt3__13mapIi20vtkVolumeInputHelperNS2_4lessIiEENS2_9allocatorINS2_4pairIKiS4_EEEEEEiiiNS2_12basic_stringIcNS2_11char_traitsIcEENS7_IcEEEEb__ZN9vtkvolume33ComputeDensityGradientDeclarationEP31vtkOpenGLGPUVolumeRayCastMapperRNSt3__13mapIi20vtkVolumeInputHelperNS2_4lessIiEENS2_9allocatorINS2_4pairIKiS4_EEEEEEiii__ZN9vtkvolume24PhaseFunctionDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume26ComputeLightingDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeiiiib__ZN9vtkvolume31ComputeLightingMultiDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeiiib__ZN9vtkvolume30ComputeRayDirectionDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumei__ZN9vtkvolume20ComputeColorUniformsERNSt3__13mapIi20vtkVolumeInputHelperNS0_4lessIiEENS0_9allocatorINS0_4pairIKiS2_EEEEEEiP17vtkVolumeProperty__ZN9vtkvolume23ComputeColorDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeiiNSt3__13mapIiNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS6_4lessIiEENSB_INS6_4pairIKiSD_EEEEEE__ZN9vtkvolume28ComputeColorMultiDeclarationERNSt3__13mapIi20vtkVolumeInputHelperNS0_4lessIiEENS0_9allocatorINS0_4pairIKiS2_EEEEEEb__ZN9vtkvolume30ComputeOpacityMultiDeclarationERNSt3__13mapIi20vtkVolumeInputHelperNS0_4lessIiEENS0_9allocatorINS0_4pairIKiS2_EEEEEE__ZN9vtkvolume33ComputeGradientOpacityMulti1DDeclERNSt3__13mapIi20vtkVolumeInputHelperNS0_4lessIiEENS0_9allocatorINS0_4pairIKiS2_EEEEEE__ZN9vtkvolume25ComputeOpacityDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeiiNSt3__13mapIiNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS6_4lessIiEENSB_INS6_4pairIKiSD_EEEEEE__ZN9vtkvolume30ComputeColor2DYAxisDeclarationEiiNSt3__13mapIiNS0_12basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEENS0_4lessIiEENS5_INS0_4pairIKiS7_EEEEEE__ZN9vtkvolume25ComputeColor2DDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeiiNSt3__13mapIiNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS6_4lessIiEENSB_INS6_4pairIKiSD_EEEEEEi__ZN9vtkvolume21Transfer2DDeclarationERNSt3__13mapIi20vtkVolumeInputHelperNS0_4lessIiEENS0_9allocatorINS0_4pairIKiS2_EEEEEE__ZN9vtkvolume27ComputeOpacity2DDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeiiNSt3__13mapIiNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS6_4lessIiEENSB_INS6_4pairIKiSD_EEEEEEi__ZN9vtkvolume26ComputeVolumetricShadowDecEP31vtkOpenGLGPUVolumeRayCastMapperP9vtkVolumeiiRNSt3__13mapIi20vtkVolumeInputHelperNS4_4lessIiEENS4_9allocatorINS4_4pairIKiS6_EEEEEEi__ZN9vtkvolume24ShadingDeclarationVertexEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume26ShadingDeclarationFragmentEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume11ShadingInitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume16GradientCacheDecEP11vtkRendererP9vtkVolumeRNSt3__13mapIi20vtkVolumeInputHelperNS4_4lessIiEENS4_9allocatorINS4_4pairIKiS6_EEEEEEi__ZN9vtkvolume23PreComputeGradientsImplEP11vtkRendererP9vtkVolumeii__ZN9vtkvolume21ShadingMultipleInputsEP15vtkVolumeMapperRNSt3__13mapIi20vtkVolumeInputHelperNS2_4lessIiEENS2_9allocatorINS2_4pairIKiS4_EEEEEE__ZN9vtkvolume18ShadingSingleInputEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeP12vtkImageDataP16vtkVolumeTextureiii__ZN9vtkvolume20PickingActorPassExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume22PickingIdLow24PassExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume23PickingIdHigh24PassExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume11ShadingExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeii__ZN9vtkvolume28TerminationDeclarationVertexEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume30TerminationDeclarationFragmentEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume27PickingActorPassDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume15TerminationInitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume25TerminationImplementationEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume15TerminationExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume25CroppingDeclarationVertexEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume27CroppingDeclarationFragmentEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume12CroppingInitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume22CroppingImplementationEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume12CroppingExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume25ClippingDeclarationVertexEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume27ClippingDeclarationFragmentEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume12ClippingInitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume22ClippingImplementationEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume12ClippingExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume21BinaryMaskDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeP12vtkImageDataP16vtkVolumeTexturei__ZN9vtkvolume24BinaryMaskImplementationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeP12vtkImageDataP16vtkVolumeTexturei__ZN9vtkvolume32CompositeMaskDeclarationFragmentEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeP12vtkImageDataP16vtkVolumeTexturei__ZN9vtkvolume27CompositeMaskImplementationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeP12vtkImageDataP16vtkVolumeTextureii__ZN9vtkvolume32RenderToImageDeclarationFragmentEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume17RenderToImageInitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume27RenderToImageImplementationEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume17RenderToImageExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume13DepthPassInitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume23DepthPassImplementationEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume13DepthPassExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume20WorkerImplementationEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume26ImageSampleDeclarationFragERKNSt3__16vectorINS0_12basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEENS5_IS7_EEEEm__ZN9vtkvolume29ImageSampleImplementationFragERKNSt3__16vectorINS0_12basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEENS5_IS7_EEEEm__ZNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev__ZN15vtkSmartPointerI37vtkOpenGLVolumeMaskTransferFunction2DED1Ev__ZN15vtkSmartPointerI52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2DED1Ev__ZN15vtkSmartPointerI16vtkVolumeTextureED1Ev__ZNSt3__16vectorIfNS_9allocatorIfEEED1Ev__ZN15vtkSmartPointerI11vtkPolyDataED1Ev__ZNSt3__16vectorI15vtkSmartPointerI16vtkTextureObjectENS_9allocatorIS3_EEE7reserveEm__ZNSt3__16vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEE7reserveEm__ZNSt3__13mapIi20vtkVolumeInputHelperNS_4lessIiEENS_9allocatorINS_4pairIKiS1_EEEEED1Ev__ZN6vtkNewI14vtkInformationED1Ev__ZN20vtkVolumeInputHelperaSEOS___ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal19ShaderRebuildNeededEP9vtkCameraP9vtkVolumemP11vtkRenderer__ZNK31vtkOpenGLGPUVolumeRayCastMapper20GetClassNameInternalEv__ZN31vtkOpenGLGPUVolumeRayCastMapper3IsAEPKc__ZN31vtkOpenGLGPUVolumeRayCastMapper30GetNumberOfGenerationsFromBaseEPKc__ZNK31vtkOpenGLGPUVolumeRayCastMapper19NewInstanceInternalEv__ZN25vtkGPUVolumeRayCastMapper18SetInputConnectionEP18vtkAlgorithmOutput__ZN23vtkAbstractVolumeMapper13SetScalarModeEi__ZN23vtkAbstractVolumeMapper18SetArrayAccessModeEi__ZN25vtkGPUVolumeRayCastMapper8GetInputEv__ZN15vtkVolumeMapper12SetBlendModeEi__ZN15vtkVolumeMapper11SetCroppingEi__ZN15vtkVolumeMapper23SetCroppingRegionPlanesEdddddd__ZN15vtkVolumeMapper23SetCroppingRegionPlanesEPKd__ZN15vtkVolumeMapper27SetComputeNormalFromOpacityEb__ZN15vtkVolumeMapper22SetCroppingRegionFlagsEi__ZN25vtkGPUVolumeRayCastMapper28SetAutoAdjustSampleDistancesEi__ZN25vtkGPUVolumeRayCastMapper36GetAutoAdjustSampleDistancesMinValueEv__ZN25vtkGPUVolumeRayCastMapper36GetAutoAdjustSampleDistancesMaxValueEv__ZN25vtkGPUVolumeRayCastMapper28GetAutoAdjustSampleDistancesEv__ZN25vtkGPUVolumeRayCastMapper27AutoAdjustSampleDistancesOnEv__ZN25vtkGPUVolumeRayCastMapper28AutoAdjustSampleDistancesOffEv__ZN25vtkGPUVolumeRayCastMapper35SetLockSampleDistanceToInputSpacingEi__ZN25vtkGPUVolumeRayCastMapper43GetLockSampleDistanceToInputSpacingMinValueEv__ZN25vtkGPUVolumeRayCastMapper43GetLockSampleDistanceToInputSpacingMaxValueEv__ZN25vtkGPUVolumeRayCastMapper35GetLockSampleDistanceToInputSpacingEv__ZN25vtkGPUVolumeRayCastMapper34LockSampleDistanceToInputSpacingOnEv__ZN25vtkGPUVolumeRayCastMapper35LockSampleDistanceToInputSpacingOffEv__ZN25vtkGPUVolumeRayCastMapper15SetUseJitteringEi__ZN25vtkGPUVolumeRayCastMapper23GetUseJitteringMinValueEv__ZN25vtkGPUVolumeRayCastMapper23GetUseJitteringMaxValueEv__ZN25vtkGPUVolumeRayCastMapper15GetUseJitteringEv__ZN25vtkGPUVolumeRayCastMapper14UseJitteringOnEv__ZN25vtkGPUVolumeRayCastMapper15UseJitteringOffEv__ZN25vtkGPUVolumeRayCastMapper15SetUseDepthPassEi__ZN25vtkGPUVolumeRayCastMapper23GetUseDepthPassMinValueEv__ZN25vtkGPUVolumeRayCastMapper23GetUseDepthPassMaxValueEv__ZN25vtkGPUVolumeRayCastMapper15GetUseDepthPassEv__ZN25vtkGPUVolumeRayCastMapper14UseDepthPassOnEv__ZN25vtkGPUVolumeRayCastMapper15UseDepthPassOffEv__ZN25vtkGPUVolumeRayCastMapper17SetSampleDistanceEf__ZN25vtkGPUVolumeRayCastMapper17GetSampleDistanceEv__ZN25vtkGPUVolumeRayCastMapper22SetImageSampleDistanceEf__ZN25vtkGPUVolumeRayCastMapper30GetImageSampleDistanceMinValueEv__ZN25vtkGPUVolumeRayCastMapper30GetImageSampleDistanceMaxValueEv__ZN25vtkGPUVolumeRayCastMapper22GetImageSampleDistanceEv__ZN25vtkGPUVolumeRayCastMapper29SetMinimumImageSampleDistanceEf__ZN25vtkGPUVolumeRayCastMapper37GetMinimumImageSampleDistanceMinValueEv__ZN25vtkGPUVolumeRayCastMapper37GetMinimumImageSampleDistanceMaxValueEv__ZN25vtkGPUVolumeRayCastMapper29GetMinimumImageSampleDistanceEv__ZN25vtkGPUVolumeRayCastMapper29SetMaximumImageSampleDistanceEf__ZN25vtkGPUVolumeRayCastMapper37GetMaximumImageSampleDistanceMinValueEv__ZN25vtkGPUVolumeRayCastMapper37GetMaximumImageSampleDistanceMaxValueEv__ZN25vtkGPUVolumeRayCastMapper29GetMaximumImageSampleDistanceEv__ZN25vtkGPUVolumeRayCastMapper19SetFinalColorWindowEf__ZN25vtkGPUVolumeRayCastMapper19GetFinalColorWindowEv__ZN25vtkGPUVolumeRayCastMapper18SetFinalColorLevelEf__ZN25vtkGPUVolumeRayCastMapper18GetFinalColorLevelEv__ZN25vtkGPUVolumeRayCastMapper19SetMaxMemoryInBytesEx__ZN25vtkGPUVolumeRayCastMapper19GetMaxMemoryInBytesEv__ZN25vtkGPUVolumeRayCastMapper20SetMaxMemoryFractionEf__ZN25vtkGPUVolumeRayCastMapper28GetMaxMemoryFractionMinValueEv__ZN25vtkGPUVolumeRayCastMapper28GetMaxMemoryFractionMaxValueEv__ZN25vtkGPUVolumeRayCastMapper20GetMaxMemoryFractionEv__ZN25vtkGPUVolumeRayCastMapper17SetReportProgressEb__ZN25vtkGPUVolumeRayCastMapper17GetReportProgressEv__ZN31vtkOpenGLGPUVolumeRayCastMapper17IsRenderSupportedEP15vtkRenderWindowP17vtkVolumeProperty__ZN25vtkGPUVolumeRayCastMapper12GetMaskInputEv__ZN25vtkGPUVolumeRayCastMapper11SetMaskTypeEi__ZN25vtkGPUVolumeRayCastMapper11GetMaskTypeEv__ZN25vtkGPUVolumeRayCastMapper18SetMaskBlendFactorEf__ZN25vtkGPUVolumeRayCastMapper26GetMaskBlendFactorMinValueEv__ZN25vtkGPUVolumeRayCastMapper26GetMaskBlendFactorMaxValueEv__ZN25vtkGPUVolumeRayCastMapper18GetMaskBlendFactorEv__ZN25vtkGPUVolumeRayCastMapper26SetGlobalIlluminationReachEf__ZN25vtkGPUVolumeRayCastMapper34GetGlobalIlluminationReachMinValueEv__ZN25vtkGPUVolumeRayCastMapper34GetGlobalIlluminationReachMaxValueEv__ZN25vtkGPUVolumeRayCastMapper26GetGlobalIlluminationReachEv__ZN25vtkGPUVolumeRayCastMapper31SetVolumetricScatteringBlendingEf__ZN25vtkGPUVolumeRayCastMapper39GetVolumetricScatteringBlendingMinValueEv__ZN25vtkGPUVolumeRayCastMapper39GetVolumetricScatteringBlendingMaxValueEv__ZN25vtkGPUVolumeRayCastMapper31GetVolumetricScatteringBlendingEv__ZN25vtkGPUVolumeRayCastMapper16SetRenderToImageEi__ZN25vtkGPUVolumeRayCastMapper16GetRenderToImageEv__ZN25vtkGPUVolumeRayCastMapper15RenderToImageOnEv__ZN25vtkGPUVolumeRayCastMapper16RenderToImageOffEv__ZN25vtkGPUVolumeRayCastMapper23SetDepthImageScalarTypeEi__ZN25vtkGPUVolumeRayCastMapper23GetDepthImageScalarTypeEv__ZN25vtkGPUVolumeRayCastMapper23SetClampDepthToBackfaceEi__ZN25vtkGPUVolumeRayCastMapper23GetClampDepthToBackfaceEv__ZN25vtkGPUVolumeRayCastMapper22ClampDepthToBackfaceOnEv__ZN25vtkGPUVolumeRayCastMapper23ClampDepthToBackfaceOffEv__ZN31vtkOpenGLGPUVolumeRayCastMapper17GetReductionRatioEPd__ZN25vtkGPUVolumeRayCastMapper17SetColorRangeTypeEi__ZN25vtkGPUVolumeRayCastMapper17GetColorRangeTypeEv__ZN25vtkGPUVolumeRayCastMapper25SetScalarOpacityRangeTypeEi__ZN25vtkGPUVolumeRayCastMapper25GetScalarOpacityRangeTypeEv__ZN25vtkGPUVolumeRayCastMapper27SetGradientOpacityRangeTypeEi__ZN25vtkGPUVolumeRayCastMapper27GetGradientOpacityRangeTypeEv__ZN25vtkGPUVolumeRayCastMapper23SetTransfer2DYAxisArrayEPKc__ZN25vtkGPUVolumeRayCastMapper23GetTransfer2DYAxisArrayEv__ZN31vtkOpenGLGPUVolumeRayCastMapper9PreRenderEP11vtkRendererP9vtkVolumePdS4_ij__ZN31vtkOpenGLGPUVolumeRayCastMapper11RenderBlockEP11vtkRendererP9vtkVolumej__ZN31vtkOpenGLGPUVolumeRayCastMapper10PostRenderEP11vtkRendereri__ZN25vtkGPUVolumeRayCastMapper10SetAMRModeEi__ZN25vtkGPUVolumeRayCastMapper18GetAMRModeMinValueEv__ZN25vtkGPUVolumeRayCastMapper18GetAMRModeMaxValueEv__ZN25vtkGPUVolumeRayCastMapper10GetAMRModeEv__ZN25vtkGPUVolumeRayCastMapper9AMRModeOnEv__ZN25vtkGPUVolumeRayCastMapper10AMRModeOffEv__ZN31vtkOpenGLGPUVolumeRayCastMapper14GetCurrentPassEv__ZTv0_n24_NSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev__ZNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEED0Ev__ZTv0_n24_NSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEED0Ev__ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev__ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEED0Ev__ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj__ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekposENS_4fposI11__mbstate_tEEj__ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9underflowEv__ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9pbackfailEi__ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE8overflowEi__ZThn16_NSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev__ZTv0_n24_NSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev__ZNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEED0Ev__ZThn16_NSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEED0Ev__ZTv0_n24_NSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEED0Ev__ZN12vtkCellArray5VisitIN19vtkCellArray_detail18InsertNextCellImplEJRiEvEEDTclclsr3stdE7declvalIT_EEclL_ZNSt3__17declvalIRNS_10VisitStateI17vtkTypeInt32ArrayEEEEDTclsr3std3__1E9__declvalIS4_ELi0EEEvEEspclsr3stdE7declvalIT0_EEEEOS4_DpOSC___ZN12vtkCellArray5VisitIN19vtkCellArray_detail15GetCellAtIdImplEJRxS3_RPKxR6vtkNewI9vtkIdListEEvEEvOT_DpOT0___ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternalC2EPS___ZN6vtkNewI8vtkActorED1Ev__ZN6vtkNewI17vtkPolyDataMapperED1Ev__ZN6vtkNewI16vtkContourFilterED1Ev__ZNSt3__16vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEED1Ev__ZNSt3__16vectorI15vtkSmartPointerI16vtkTextureObjectENS_9allocatorIS3_EEED1Ev__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternalD2Ev__ZN20vtkVolumeInputHelperC2ERKS___ZN20vtkVolumeInputHelperD2Ev__ZNSt3__16__treeINS_12__value_typeIiNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEENS_19__map_value_compareIiS8_NS_4lessIiEELb1EEENS5_IS8_EEE7destroyEPNS_11__tree_nodeIS8_PvEE__ZN18vtkVolumeStateRAIIC2EP14vtkOpenGLStateb__ZN18vtkVolumeStateRAIID2Ev__ZN12vtkMatrix4x411Multiply4x4EPKdS1_Pd__ZN31vtkOpenGLGPUVolumeRayCastMapper34GetNumberOfGenerationsFromBaseTypeEPKc__ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv__ZNSt3__16__treeINS_12__value_typeIi20vtkVolumeInputHelperEENS_19__map_value_compareIiS3_NS_4lessIiEELb1EEENS_9allocatorIS3_EEE25__emplace_unique_key_argsIiJRKNS_21piecewise_construct_tENS_5tupleIJOiEEENSF_IJEEEEEENS_4pairINS_15__tree_iteratorIS3_PNS_11__tree_nodeIS3_PvEElEEbEERKT_DpOT0___ZNSt3__127__tree_balance_after_insertIPNS_16__tree_node_baseIPvEEEEvT_S5___ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strERKNS_12basic_stringIcS2_S4_EE__ZNSt3__16__treeINS_12__value_typeIiNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEENS_19__map_value_compareIiS8_NS_4lessIiEELb1EEENS5_IS8_EEE14__assign_multiINS_21__tree_const_iteratorIS8_PNS_11__tree_nodeIS8_PvEElEEEEvT_SM___ZNSt3__16__treeINS_12__value_typeIiNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEENS_19__map_value_compareIiS8_NS_4lessIiEELb1EEENS5_IS8_EEE15__emplace_multiIJRKNS_4pairIKiS7_EEEEENS_15__tree_iteratorIS8_PNS_11__tree_nodeIS8_PvEElEEDpOT___ZNSt3__16__treeINS_12__value_typeIiNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEENS_19__map_value_compareIiS8_NS_4lessIiEELb1EEENS5_IS8_EEE30__emplace_hint_unique_key_argsIiJRKNS_4pairIKiS7_EEEEENS_15__tree_iteratorIS8_PNS_11__tree_nodeIS8_PvEElEENS_21__tree_const_iteratorIS8_SP_lEERKT_DpOT0___ZNSt3__16__treeINS_12__value_typeIiNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEENS_19__map_value_compareIiS8_NS_4lessIiEELb1EEENS5_IS8_EEE12__find_equalIiEERPNS_16__tree_node_baseIPvEENS_21__tree_const_iteratorIS8_PNS_11__tree_nodeIS8_SH_EElEERPNS_15__tree_end_nodeISJ_EESK_RKT___ZNSt3__16__treeINS_12__value_typeIi20vtkVolumeInputHelperEENS_19__map_value_compareIiS3_NS_4lessIiEELb1EEENS_9allocatorIS3_EEE25__emplace_unique_key_argsIiJRKNS_21piecewise_construct_tENS_5tupleIJRKiEEENSF_IJEEEEEENS_4pairINS_15__tree_iteratorIS3_PNS_11__tree_nodeIS3_PvEElEEbEERKT_DpOT0___ZNSt3__16__treeINS_12__value_typeIi20vtkVolumeInputHelperEENS_19__map_value_compareIiS3_NS_4lessIiEELb1EEENS_9allocatorIS3_EEE7destroyEPNS_11__tree_nodeIS3_PvEE__ZN29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperED1Ev__ZN29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperED0Ev__ZN29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperE7ReleaseEv__ZN29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperE25RegisterGraphicsResourcesEP21vtkOpenGLRenderWindow__ZNSt3__113__tree_removeIPNS_16__tree_node_baseIPvEEEEvT_S5___ZN21vtkOpenGLRenderWindow25RegisterGraphicsResourcesEP36vtkGenericOpenGLResourceFreeCallback__ZNSt3__16__treeINS_12__value_typeIN9vtkShader4TypeEPS2_EENS_19__map_value_compareIS3_S5_NS_4lessIS3_EELb1EEENS_9allocatorIS5_EEE7destroyEPNS_11__tree_nodeIS5_PvEE__ZNSt3__16__treeINS_12__value_typeIN9vtkShader15ReplacementSpecENS2_16ReplacementValueEEENS_19__map_value_compareIS3_S5_NS_4lessIS3_EELb1EEENS_9allocatorIS5_EEE30__emplace_hint_unique_key_argsIS3_JRKNS_4pairIKS3_S4_EEEEENS_15__tree_iteratorIS5_PNS_11__tree_nodeIS5_PvEElEENS_21__tree_const_iteratorIS5_SN_lEERKT_DpOT0___ZNSt3__16__treeINS_12__value_typeIN9vtkShader15ReplacementSpecENS2_16ReplacementValueEEENS_19__map_value_compareIS3_S5_NS_4lessIS3_EELb1EEENS_9allocatorIS5_EEE12__find_equalIS3_EERPNS_16__tree_node_baseIPvEENS_21__tree_const_iteratorIS5_PNS_11__tree_nodeIS5_SF_EElEERPNS_15__tree_end_nodeISH_EESI_RKT___ZNK9vtkShader15ReplacementSpecltERKS0___ZNSt3__16__treeINS_12__value_typeIN9vtkShader15ReplacementSpecENS2_16ReplacementValueEEENS_19__map_value_compareIS3_S5_NS_4lessIS3_EELb1EEENS_9allocatorIS5_EEE7destroyEPNS_11__tree_nodeIS5_PvEE__ZNSt3__16vectorIfNS_9allocatorIfEEE8__appendEmRKf__GLOBAL__sub_I_vtkOpenGLGPUVolumeRayCastMapper.cxx__ZN12_GLOBAL__N_115scoped_annotateC1ERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE__ZN12_GLOBAL__N_115scoped_annotateD1Ev__ZNK34vtkOpenGLProjectedTetrahedraMapper20GetClassNameInternalEv__ZN34vtkOpenGLProjectedTetrahedraMapper3IsAEPKc__ZN34vtkOpenGLProjectedTetrahedraMapper30GetNumberOfGenerationsFromBaseEPKc__ZNK34vtkOpenGLProjectedTetrahedraMapper19NewInstanceInternalEv__ZN31vtkUnstructuredGridVolumeMapper12SetBlendModeEi__ZN28vtkProjectedTetrahedraMapper17GetVisibilitySortEv__ZN34vtkOpenGLProjectedTetrahedraMapper30SetUseFloatingPointFrameBufferEb__ZN34vtkOpenGLProjectedTetrahedraMapper30GetUseFloatingPointFrameBufferEv__ZN34vtkOpenGLProjectedTetrahedraMapper29UseFloatingPointFrameBufferOnEv__ZN34vtkOpenGLProjectedTetrahedraMapper30UseFloatingPointFrameBufferOffEv__ZN34vtkOpenGLProjectedTetrahedraMapper34GetNumberOfGenerationsFromBaseTypeEPKc__ZNSt3__16vectorIfNS_9allocatorIfEEE8__appendEm__GLOBAL__sub_I_vtkOpenGLProjectedTetrahedraMapper.cxx__ZNK34vtkOpenGLRayCastImageDisplayHelper20GetClassNameInternalEv__ZN34vtkOpenGLRayCastImageDisplayHelper3IsAEPKc__ZN34vtkOpenGLRayCastImageDisplayHelper30GetNumberOfGenerationsFromBaseEPKc__ZNK34vtkOpenGLRayCastImageDisplayHelper19NewInstanceInternalEv__ZN28vtkRayCastImageDisplayHelper22SetPreMultipliedColorsEi__ZN28vtkRayCastImageDisplayHelper30GetPreMultipliedColorsMinValueEv__ZN28vtkRayCastImageDisplayHelper30GetPreMultipliedColorsMaxValueEv__ZN28vtkRayCastImageDisplayHelper22GetPreMultipliedColorsEv__ZN28vtkRayCastImageDisplayHelper21PreMultipliedColorsOnEv__ZN28vtkRayCastImageDisplayHelper22PreMultipliedColorsOffEv__ZN28vtkRayCastImageDisplayHelper13SetPixelScaleEf__ZN28vtkRayCastImageDisplayHelper13GetPixelScaleEv__GLOBAL__sub_I_vtkOpenGLRayCastImageDisplayHelper.cxx__ZNK20vtkSmartVolumeMapper20GetClassNameInternalEv__ZN20vtkSmartVolumeMapper3IsAEPKc__ZN20vtkSmartVolumeMapper30GetNumberOfGenerationsFromBaseEPKc__ZNK20vtkSmartVolumeMapper19NewInstanceInternalEv__ZN20vtkSmartVolumeMapper19SetFinalColorWindowEf__ZN20vtkSmartVolumeMapper19GetFinalColorWindowEv__ZN20vtkSmartVolumeMapper18SetFinalColorLevelEf__ZN20vtkSmartVolumeMapper18GetFinalColorLevelEv__ZN20vtkSmartVolumeMapper22GetRequestedRenderModeEv__ZN20vtkSmartVolumeMapper19SetMaxMemoryInBytesEx__ZN20vtkSmartVolumeMapper19GetMaxMemoryInBytesEv__ZN20vtkSmartVolumeMapper20SetMaxMemoryFractionEf__ZN20vtkSmartVolumeMapper28GetMaxMemoryFractionMinValueEv__ZN20vtkSmartVolumeMapper28GetMaxMemoryFractionMaxValueEv__ZN20vtkSmartVolumeMapper20GetMaxMemoryFractionEv__ZN20vtkSmartVolumeMapper20SetInterpolationModeEi__ZN20vtkSmartVolumeMapper28GetInterpolationModeMinValueEv__ZN20vtkSmartVolumeMapper28GetInterpolationModeMaxValueEv__ZN20vtkSmartVolumeMapper20GetInterpolationModeEv__ZN20vtkSmartVolumeMapper24SetInteractiveUpdateRateEd__ZN20vtkSmartVolumeMapper32GetInteractiveUpdateRateMinValueEv__ZN20vtkSmartVolumeMapper32GetInteractiveUpdateRateMaxValueEv__ZN20vtkSmartVolumeMapper24GetInteractiveUpdateRateEv__ZN20vtkSmartVolumeMapper35SetInteractiveAdjustSampleDistancesEi__ZN20vtkSmartVolumeMapper43GetInteractiveAdjustSampleDistancesMinValueEv__ZN20vtkSmartVolumeMapper43GetInteractiveAdjustSampleDistancesMaxValueEv__ZN20vtkSmartVolumeMapper35GetInteractiveAdjustSampleDistancesEv__ZN20vtkSmartVolumeMapper34InteractiveAdjustSampleDistancesOnEv__ZN20vtkSmartVolumeMapper35InteractiveAdjustSampleDistancesOffEv__ZN20vtkSmartVolumeMapper28SetAutoAdjustSampleDistancesEi__ZN20vtkSmartVolumeMapper36GetAutoAdjustSampleDistancesMinValueEv__ZN20vtkSmartVolumeMapper36GetAutoAdjustSampleDistancesMaxValueEv__ZN20vtkSmartVolumeMapper28GetAutoAdjustSampleDistancesEv__ZN20vtkSmartVolumeMapper27AutoAdjustSampleDistancesOnEv__ZN20vtkSmartVolumeMapper28AutoAdjustSampleDistancesOffEv__ZN20vtkSmartVolumeMapper17SetSampleDistanceEf__ZN20vtkSmartVolumeMapper17GetSampleDistanceEv__ZN20vtkSmartVolumeMapper26SetGlobalIlluminationReachEf__ZN20vtkSmartVolumeMapper34GetGlobalIlluminationReachMinValueEv__ZN20vtkSmartVolumeMapper34GetGlobalIlluminationReachMaxValueEv__ZN20vtkSmartVolumeMapper26GetGlobalIlluminationReachEv__ZN20vtkSmartVolumeMapper31SetVolumetricScatteringBlendingEf__ZN20vtkSmartVolumeMapper39GetVolumetricScatteringBlendingMinValueEv__ZN20vtkSmartVolumeMapper39GetVolumetricScatteringBlendingMaxValueEv__ZN20vtkSmartVolumeMapper31GetVolumetricScatteringBlendingEv__ZN20vtkSmartVolumeMapper13GetVectorModeEv__ZN20vtkSmartVolumeMapper18SetVectorComponentEi__ZN20vtkSmartVolumeMapper26GetVectorComponentMinValueEv__ZN20vtkSmartVolumeMapper26GetVectorComponentMaxValueEv__ZN20vtkSmartVolumeMapper18GetVectorComponentEv__ZN20vtkSmartVolumeMapper23SetTransfer2DYAxisArrayEPKc__ZN20vtkSmartVolumeMapper23GetTransfer2DYAxisArrayEv__ZN20vtkSmartVolumeMapper12GetGPUMapperEv__GLOBAL__sub_I_vtkSmartVolumeMapper.cxx__ZNSt3__16vectorI8vtkTupleIiLi3EENS_9allocatorIS2_EEED1Ev__ZNSt3__16vectorIPN16vtkVolumeTexture11VolumeBlockENS_9allocatorIS3_EEED1Ev__ZNSt3__13mapIP10vtkDataSetPN16vtkVolumeTexture11VolumeBlockENS_4lessIS2_EENS_9allocatorINS_4pairIKS2_S5_EEEEED1Ev__ZNSt3__16vectorIP10vtkDataSetNS_9allocatorIS2_EEED1Ev__ZN15vtkSmartPointerI16vtkTextureObjectED1Ev__ZN18vtkBlockSortHelper4SortINSt3__111__wrap_iterIPP10vtkDataSetEE12vtkImageDataEEvT_S8_RNS_11BackToFrontIT0_EE__ZNK16vtkVolumeTexture20GetClassNameInternalEv__ZN16vtkVolumeTexture3IsAEPKc__ZN16vtkVolumeTexture30GetNumberOfGenerationsFromBaseEPKc__ZNK16vtkVolumeTexture19NewInstanceInternalEv__ZNSt3__16__treeINS_12__value_typeIP10vtkDataSetPN16vtkVolumeTexture11VolumeBlockEEENS_19__map_value_compareIS3_S7_NS_4lessIS3_EELb1EEENS_9allocatorIS7_EEE7destroyEPNS_11__tree_nodeIS7_PvEE__ZN18vtkBlockSortHelper11BackToFrontI12vtkImageDataEC2EP11vtkRendererP12vtkMatrix4x4__ZNSt3__16vectorIP10vtkDataSetNS_9allocatorIS2_EEE6assignINS_11__wrap_iterIPS2_EEEENS_9enable_ifIXaasr27__is_cpp17_forward_iteratorIT_EE5valuesr16is_constructibleIS2_NS_15iterator_traitsISB_E9referenceEEE5valueEvE4typeESB_SB___ZN18vtkBlockSortHelper11BackToFrontI12vtkImageDataE33CompareBoundsOrderWithUncertaintyEPKdS4___GLOBAL__sub_I_vtkVolumeTexture.cxx__ZNK35vtkOpenGLVolumeGradientOpacityTable20GetClassNameInternalEv__ZN35vtkOpenGLVolumeGradientOpacityTable3IsAEPKc__ZN35vtkOpenGLVolumeGradientOpacityTable30GetNumberOfGenerationsFromBaseEPKc__ZN35vtkOpenGLVolumeGradientOpacityTableD1Ev__ZN35vtkOpenGLVolumeGradientOpacityTableD0Ev__ZNK35vtkOpenGLVolumeGradientOpacityTable19NewInstanceInternalEv__ZN26vtkOpenGLVolumeLookupTable16GetTextureHeightEv__ZN26vtkOpenGLVolumeLookupTable15GetTextureWidthEv__GLOBAL__sub_I_vtkOpenGLVolumeGradientOpacityTable.cxx__ZN26vtkOpenGLVolumeLookupTable31GetMaximumSupportedTextureWidthEP21vtkOpenGLRenderWindowi__ZNK26vtkOpenGLVolumeLookupTable20GetClassNameInternalEv__ZN26vtkOpenGLVolumeLookupTable3IsAEPKc__ZN26vtkOpenGLVolumeLookupTable30GetNumberOfGenerationsFromBaseEPKc__ZNK26vtkOpenGLVolumeLookupTable19NewInstanceInternalEv__GLOBAL__sub_I_vtkOpenGLVolumeLookupTable.cxx__ZNK52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D20GetClassNameInternalEv__ZN52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D3IsAEPKc__ZN52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D30GetNumberOfGenerationsFromBaseEPKc__ZN52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2DD1Ev__ZN52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2DD0Ev__ZNK52vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D19NewInstanceInternalEv__ZNSt3__16__treeIiNS_4lessIiEENS_9allocatorIiEEE7destroyEPNS_11__tree_nodeIiPvEE__GLOBAL__sub_I_vtkOpenGLVolumeMaskGradientOpacityTransferFunction2D.cxx__ZNK37vtkOpenGLVolumeMaskTransferFunction2D20GetClassNameInternalEv__ZN37vtkOpenGLVolumeMaskTransferFunction2D3IsAEPKc__ZN37vtkOpenGLVolumeMaskTransferFunction2D30GetNumberOfGenerationsFromBaseEPKc__ZN37vtkOpenGLVolumeMaskTransferFunction2DD1Ev__ZN37vtkOpenGLVolumeMaskTransferFunction2DD0Ev__ZNK37vtkOpenGLVolumeMaskTransferFunction2D19NewInstanceInternalEv__GLOBAL__sub_I_vtkOpenGLVolumeMaskTransferFunction2D.cxx__ZNK27vtkOpenGLVolumeOpacityTable20GetClassNameInternalEv__ZN27vtkOpenGLVolumeOpacityTable3IsAEPKc__ZN27vtkOpenGLVolumeOpacityTable30GetNumberOfGenerationsFromBaseEPKc__ZN27vtkOpenGLVolumeOpacityTableD1Ev__ZN27vtkOpenGLVolumeOpacityTableD0Ev__ZNK27vtkOpenGLVolumeOpacityTable19NewInstanceInternalEv__GLOBAL__sub_I_vtkOpenGLVolumeOpacityTable.cxx__ZNK23vtkOpenGLVolumeRGBTable20GetClassNameInternalEv__ZN23vtkOpenGLVolumeRGBTable3IsAEPKc__ZN23vtkOpenGLVolumeRGBTable30GetNumberOfGenerationsFromBaseEPKc__ZN23vtkOpenGLVolumeRGBTableD1Ev__ZN23vtkOpenGLVolumeRGBTableD0Ev__ZNK23vtkOpenGLVolumeRGBTable19NewInstanceInternalEv__GLOBAL__sub_I_vtkOpenGLVolumeRGBTable.cxx__ZNK33vtkOpenGLVolumeTransferFunction2D20GetClassNameInternalEv__ZN33vtkOpenGLVolumeTransferFunction2D3IsAEPKc__ZN33vtkOpenGLVolumeTransferFunction2D30GetNumberOfGenerationsFromBaseEPKc__ZN33vtkOpenGLVolumeTransferFunction2DD1Ev__ZN33vtkOpenGLVolumeTransferFunction2DD0Ev__ZNK33vtkOpenGLVolumeTransferFunction2D19NewInstanceInternalEv__GLOBAL__sub_I_vtkOpenGLVolumeTransferFunction2D.cxx__ZNK27vtkOpenGLVolumeLookupTablesI23vtkOpenGLVolumeRGBTableE20GetClassNameInternalEv__ZN27vtkOpenGLVolumeLookupTablesI23vtkOpenGLVolumeRGBTableE3IsAEPKc__ZN27vtkOpenGLVolumeLookupTablesI23vtkOpenGLVolumeRGBTableE30GetNumberOfGenerationsFromBaseEPKc__ZN27vtkOpenGLVolumeLookupTablesI23vtkOpenGLVolumeRGBTableE9PrintSelfERNSt3__113basic_ostreamIcNS2_11char_traitsIcEEEE9vtkIndent__ZN27vtkOpenGLVolumeLookupTablesI23vtkOpenGLVolumeRGBTableED1Ev__ZN27vtkOpenGLVolumeLookupTablesI23vtkOpenGLVolumeRGBTableED0Ev__ZNK27vtkOpenGLVolumeLookupTablesI23vtkOpenGLVolumeRGBTableE19NewInstanceInternalEv__ZN27vtkOpenGLVolumeLookupTablesI23vtkOpenGLVolumeRGBTableE6CreateEm__ZNSt3__16vectorIP23vtkOpenGLVolumeRGBTableNS_9allocatorIS2_EEED1Ev__ZNK27vtkOpenGLVolumeLookupTablesI27vtkOpenGLVolumeOpacityTableE20GetClassNameInternalEv__ZN27vtkOpenGLVolumeLookupTablesI27vtkOpenGLVolumeOpacityTableE3IsAEPKc__ZN27vtkOpenGLVolumeLookupTablesI27vtkOpenGLVolumeOpacityTableE30GetNumberOfGenerationsFromBaseEPKc__ZN27vtkOpenGLVolumeLookupTablesI27vtkOpenGLVolumeOpacityTableE9PrintSelfERNSt3__113basic_ostreamIcNS2_11char_traitsIcEEEE9vtkIndent__ZN27vtkOpenGLVolumeLookupTablesI27vtkOpenGLVolumeOpacityTableED1Ev__ZN27vtkOpenGLVolumeLookupTablesI27vtkOpenGLVolumeOpacityTableED0Ev__ZNK27vtkOpenGLVolumeLookupTablesI27vtkOpenGLVolumeOpacityTableE19NewInstanceInternalEv__ZN27vtkOpenGLVolumeLookupTablesI27vtkOpenGLVolumeOpacityTableE6CreateEm__ZNSt3__16vectorIP27vtkOpenGLVolumeOpacityTableNS_9allocatorIS2_EEED1Ev__ZNK27vtkOpenGLVolumeLookupTablesI35vtkOpenGLVolumeGradientOpacityTableE20GetClassNameInternalEv__ZN27vtkOpenGLVolumeLookupTablesI35vtkOpenGLVolumeGradientOpacityTableE3IsAEPKc__ZN27vtkOpenGLVolumeLookupTablesI35vtkOpenGLVolumeGradientOpacityTableE30GetNumberOfGenerationsFromBaseEPKc__ZN27vtkOpenGLVolumeLookupTablesI35vtkOpenGLVolumeGradientOpacityTableE9PrintSelfERNSt3__113basic_ostreamIcNS2_11char_traitsIcEEEE9vtkIndent__ZN27vtkOpenGLVolumeLookupTablesI35vtkOpenGLVolumeGradientOpacityTableED1Ev__ZN27vtkOpenGLVolumeLookupTablesI35vtkOpenGLVolumeGradientOpacityTableED0Ev__ZNK27vtkOpenGLVolumeLookupTablesI35vtkOpenGLVolumeGradientOpacityTableE19NewInstanceInternalEv__ZN27vtkOpenGLVolumeLookupTablesI35vtkOpenGLVolumeGradientOpacityTableE6CreateEm__ZNSt3__16vectorIP35vtkOpenGLVolumeGradientOpacityTableNS_9allocatorIS2_EEED1Ev__ZNK27vtkOpenGLVolumeLookupTablesI33vtkOpenGLVolumeTransferFunction2DE20GetClassNameInternalEv__ZN27vtkOpenGLVolumeLookupTablesI33vtkOpenGLVolumeTransferFunction2DE3IsAEPKc__ZN27vtkOpenGLVolumeLookupTablesI33vtkOpenGLVolumeTransferFunction2DE30GetNumberOfGenerationsFromBaseEPKc__ZN27vtkOpenGLVolumeLookupTablesI33vtkOpenGLVolumeTransferFunction2DE9PrintSelfERNSt3__113basic_ostreamIcNS2_11char_traitsIcEEEE9vtkIndent__ZN27vtkOpenGLVolumeLookupTablesI33vtkOpenGLVolumeTransferFunction2DED1Ev__ZN27vtkOpenGLVolumeLookupTablesI33vtkOpenGLVolumeTransferFunction2DED0Ev__ZNK27vtkOpenGLVolumeLookupTablesI33vtkOpenGLVolumeTransferFunction2DE19NewInstanceInternalEv__ZN27vtkOpenGLVolumeLookupTablesI33vtkOpenGLVolumeTransferFunction2DE6CreateEm__ZNSt3__16vectorIP33vtkOpenGLVolumeTransferFunction2DNS_9allocatorIS2_EEED1Ev__GLOBAL__sub_I_vtkVolumeInputHelper.cxx__ZNSt3__16__treeINS_12__value_typeIiNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEENS_19__map_value_compareIiS8_NS_4lessIiEELb1EEENS5_IS8_EEE14__assign_multiINS_21__tree_const_iteratorIS8_PNS_11__tree_nodeIS8_PvEElEEEEvT_SM_.cold.1__ZN16vtkVolumeTextureC2Ev.cold.1GCC_except_table0GCC_except_table1GCC_except_table2GCC_except_table3GCC_except_table6GCC_except_table11GCC_except_table13GCC_except_table17GCC_except_table32GCC_except_table63GCC_except_table65GCC_except_table68GCC_except_table69GCC_except_table42GCC_except_table94GCC_except_table96GCC_except_table4GCC_except_table5GCC_except_table8GCC_except_table9GCC_except_table10GCC_except_table12GCC_except_table14GCC_except_table15GCC_except_table16GCC_except_table19GCC_except_table20GCC_except_table21GCC_except_table22GCC_except_table23GCC_except_table24GCC_except_table25GCC_except_table26GCC_except_table27GCC_except_table28GCC_except_table29GCC_except_table33GCC_except_table34GCC_except_table35GCC_except_table36GCC_except_table44GCC_except_table54GCC_except_table60GCC_except_table70GCC_except_table72GCC_except_table74GCC_except_table76GCC_except_table82GCC_except_table86GCC_except_table88GCC_except_table91GCC_except_table106GCC_except_table107GCC_except_table110GCC_except_table118GCC_except_table120GCC_except_table121GCC_except_table131GCC_except_table132GCC_except_table133GCC_except_table134GCC_except_table135GCC_except_table136GCC_except_table137GCC_except_table138GCC_except_table139GCC_except_table140GCC_except_table141GCC_except_table142GCC_except_table143GCC_except_table144GCC_except_table145GCC_except_table148GCC_except_table149GCC_except_table152GCC_except_table153GCC_except_table154GCC_except_table156GCC_except_table161GCC_except_table162GCC_except_table163GCC_except_table166GCC_except_table168GCC_except_table176GCC_except_table337GCC_except_table344GCC_except_table345GCC_except_table346GCC_except_table347GCC_except_table348GCC_except_table351GCC_except_table352GCC_except_table356GCC_except_table360GCC_except_table368GCC_except_table369GCC_except_table370GCC_except_table381GCC_except_table62GCC_except_table7GCC_except_table18GCC_except_table31GCC_except_table43GCC_except_table50GCC_except_table30GCC_except_table38GCC_except_table39GCC_except_table40GCC_except_table47GCC_except_table48GCC_except_table49GCC_except_table56GCC_except_table57GCC_except_table58__ZNSt3__1L19piecewise_constructE__ZTS29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperE__ZTS36vtkGenericOpenGLResourceFreeCallback__ZTS27vtkOpenGLVolumeLookupTablesI23vtkOpenGLVolumeRGBTableE__ZTS27vtkOpenGLVolumeLookupTablesI27vtkOpenGLVolumeOpacityTableE__ZTS27vtkOpenGLVolumeLookupTablesI35vtkOpenGLVolumeGradientOpacityTableE__ZTS27vtkOpenGLVolumeLookupTablesI33vtkOpenGLVolumeTransferFunction2DE__ZTVNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTTNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTCNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_ostreamIcS2_EE__ZTVNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTVNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTTNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_14basic_iostreamIcS2_EE__ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE__ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE16_NS_13basic_ostreamIcS2_EE__ZTV29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperE__ZTI36vtkGenericOpenGLResourceFreeCallback__ZTI29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperE__ZTV27vtkOpenGLVolumeLookupTablesI23vtkOpenGLVolumeRGBTableE__ZTI27vtkOpenGLVolumeLookupTablesI23vtkOpenGLVolumeRGBTableE__ZTV27vtkOpenGLVolumeLookupTablesI27vtkOpenGLVolumeOpacityTableE__ZTI27vtkOpenGLVolumeLookupTablesI27vtkOpenGLVolumeOpacityTableE__ZTV27vtkOpenGLVolumeLookupTablesI35vtkOpenGLVolumeGradientOpacityTableE__ZTI27vtkOpenGLVolumeLookupTablesI35vtkOpenGLVolumeGradientOpacityTableE__ZTV27vtkOpenGLVolumeLookupTablesI33vtkOpenGLVolumeTransferFunction2DE__ZTI27vtkOpenGLVolumeLookupTablesI33vtkOpenGLVolumeTransferFunction2DE__dyld_private__ZL28vtkDebugLeaksManagerInstance__ZN6vtksysL26SystemToolsManagerInstanceE__ZL39vtkObjectFactoryRegistryCleanupInstance__ZL30vtkRenderingVolumeOpenGL2Count__ZZN9vtkvolume33ComputeDensityGradientDeclarationEP31vtkOpenGLGPUVolumeRayCastMapperRNSt3__13mapIi20vtkVolumeInputHelperNS2_4lessIiEENS2_9allocatorINS2_4pairIKiS4_EEEEEEiiiE14results_texPos__ZGVZN9vtkvolume33ComputeDensityGradientDeclarationEP31vtkOpenGLGPUVolumeRayCastMapperRNSt3__13mapIi20vtkVolumeInputHelperNS2_4lessIiEENS2_9allocatorINS2_4pairIKiS4_EEEEEEiiiE14results_texPos__ZL26vtkTimerLogCleanupInstance