"x__TEXT__text__TEXTpmLpm__stubs__TEXTDD__stub_helper__TEXT  __gcc_except_tab__TEXT __const__TEXT,__cstring__TEXTq__unwind_info__TEXT@ @8__DATA_CONST@@__got__DATA_CONSTL__mod_init_func__DATA_CONST8 __const__DATA_CONST(0(8__DATA@@@@__la_symbol_ptr__DATA@` @j__data__DATA`J(`J__bss__DATAJH__LINKEDITX /Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkRenderingVolumeOpenGL2-8.1.1.dylib"0X"` B*h0r(  PJJ.Xg!.ǫ*y?ج][:2   a* x/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkImagingMath-8.1.1.dylib /Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkRenderingOpenGL2-8.1.1.dylib x/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkRenderingVolume-8.1.1.dylib p/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkglew-8.1.1.dylib X/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL X/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa x/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkImagingCore-8.1.1.dylib x/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkRenderingCore-8.1.1.dylib x/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkFiltersSources-8.1.1.dylib x/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkFiltersGeneral-8.1.1.dylib x/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkFiltersCore-8.1.1.dylib /Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkCommonExecutionModel-8.1.1.dylib x/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkCommonDataModel-8.1.1.dylib /Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkCommonTransforms-8.1.1.dylib x/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkCommonSystem-8.1.1.dylib x/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkCommonMisc-8.1.1.dylib x/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkCommonMath-8.1.1.dylib x/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtkCommonCore-8.1.1.dylib p/Volumes/Data/workspace/med-macos-free/build/ExtProjs/VTK/lib/libvtksys-8.1.1.dylib 0/usr/lib/libc++.1.dylib 8< /usr/lib/libSystem.B.dylib&()(@UHAVSSHHMHHHǃHǃHǃHǃHǃHǃHǃHH MH[A^]IHH]H1<H5FvHJ;HǾI;H5vH.;Mt=L>H}H;H5vH;HL;H5jvH:H5>xH}:H5vH:Mt0H5ovL=tH}r;H5SvLH=H}U;H7H}J;H1F;H}I;H([A^A_]HH}2;H7 fUHAWAVATSIIHLL9t$f.fH;HLHHI9uIHtHHHL[A\A^A_][A\A^A_]f.fUHSPH7H|vHH18H[]fUHAWAVSPIH'8H5ZvLBHH+HHu=L=tHLfBH5)vLRBHH;=HL3BH5 vLBHH=HLBH5uLAH<H5uHAH<HLAH5u LAHv<HLzAH5uLfAHD<HLH[A^A_]>Af.@UHAWAVATSAIHLL9t$f.fH;HDHI9uLD[A\A^A_]9DUHAWAVATSIIHLL9t$f.fH;HLHI9uLL[A\A^A_]8DUHAWAVATSAIHLL9t$f.fH;HDHI9uE9u [A\A^A_]EIL[A\A^A_]f.UHAWAVATSAIHLL9t$f.fH;HDHI9uE9u [A\A^A_]EIL[A\A^A_]f.UHAWAVSPI9uA9u H[A^A_]AAIML9tfDH3LHI9uILH[A^A_]fDUHAWAVATSAIHLL9t$f.fH;HDHI9uE9u [A\A^A_]EIL[A\A^A_]f.UHAWAVATSAIHLL9t$f.fH;HD(HI9uAAL1IA9u [A\A^A_]AIL[A\A^A_]UHAWAVATSAIHLL9t$f.fH;HDHI9uAAL1IA9u [A\A^A_]AIL[A\A^A_]@UHAWAVATSIIHLL9tDf.fH;AAOAWA_Ag Ao(HXHI9uAAOAWA_Ag Ao(IHXL[A\A^A_]f.@UHAWAVSH8IHLL9tyme]UMEf.DH;HMU]emXEMU]emHI9uA f.uWzUA(f.uFzDA0f.u5z3A8f.u$z"A@f.uzAHf.u{LA A(A0A8A@AHILH8[A^A_]H8[A^A_]UHAWAVATS9u [A\A^A_]AIHLL9tf.H;DHI9uEIL[A\A^A_]UHAWAVATS9u [A\A^A_]AIHLL9t#f.H;HDHI9uEIL[A\A^A_]f.UHH o]UHSPHH=n+6t!H=oH6tHH[]H[]f.UH]f.UHAVS'5HHF/HtHHǃHǃHǃHǃHǃHǃHǃHH].H[A^]IH4L- f.fUHHG8]fDUH9w0u]Éw0H]UHG0]UHHH]f.UHHH1]f.UHOHwb]fWfUf.u{GHH]]DUHW]UH,b]fUHGH]DUHHGP]fDUHHG@]fDUHHHHx1]f.UHHHH1]f.UHHGX]fDUHH9w@u]Hw@H]fDUH]fUHH]UH].fDUH1]UH勇]@UHH]UH勇]@UH勇]@UH a]fUH`]fUH勇]@UHf.uzf.u{H]]UHH]UHHHHHF]DUH]DUH勇]@UHHH(]f.UHHH(1]f.UHH ]UHH HH(HFH0HFH8HFH@HF HHHF(]fUHHP]UHHPHHXHFH`HFHhHFHpHF HxHF(]fUH]DUH勇]@UH勇]@UH勇]@UHSPHH=jH1tZH=jH1tGH=jH0t4H=jH0t!H=jH0tHH[])H[]f.@UHAWAVATSH0IIH\oHHEH(HHuHH?HE)HLx0It$0L)HHLL(HHHuLL(HHPHnHH;Eu H0[A\A^A_]i/HYIHu IHHPL' H1UHAWAVAUATSH8IHIH`nHHEHHHAHxHAHMMLHL)HHHLlHHH?HHIH9| HL IHH]HE)`E)PE)@E)0E) E)A$)AD$)EAD$)LH Uf`EfP]f@Mf0f\f(-!TfTf(%%TfYfXf\fTfYfXUf ]ff\fTfYfXA$ff\A\$f]f\A\$ff\fYfYfXfYfXf(ff."M9Lu HLhHH8M}HLIHLE)`E)PE)@E)0E) E)A$)AD$)EAD$)LLgf(-Rf(%RUf`EfP]f@Mf0f\fTfYfXf\fTfYfXUf ]ff\fTfYfXA$ff\A\$f]f\A\$ff\fYfYfXfYfXf(ff.gIL9af.fLM9I<$LISMIHEHLLuLE)`E)PE)@E)0E) E)LA$)AD$)EAD$)HLf(-Pf(%PUf`EfP]f@Mf0f\fTfYfXf\fTfYfXUf ]ff\fTfYfXA$ff\A\$f]f\A\$ff\fYfYfXfYfXf(ff.v*IHH IHEELuB EMu6LLLM~LHL*LL)HL)H9LLLIMuIELxIIMIM9LxfDIHLf.@H9M}IHLIHH]HE)`E)PE)@E)0E) E)A$)AD$)EAD$)LH&Hf(-kNf(%sNUf`EfP]f@Mf0f\fTfYfXf\fTfYfXUf ]ff\fTfYfXA$ff\A\$f]f\A\$ff\fYfYfXfYfXf(ff.jIEHf.DH9M~I&HLIHH]HE)`E)PE)@E)0E) E)A$)AD$)EAD$)LHvHf(-Lf(%LUf`EfP]f@Mf0f\fTfYfXf\fTfYfXUf ]ff\fTfYfXA$ff\A\$f]f\A\$ff\fYfYfXfYfXf(ff.jM9IEIIMILwMMuM9LI~HL(LRLCH AHcHHxH8M? HLILmHLE)`E)PE)@E)0E) E)A$)AD$)EAD$)LLHUUf`EfP]f@Mf0f\f(-iJfTf(%mJfYfXf\fTfYfXUf ]ff\fTfYfXA$ff\A\$f]f\A\$ff\fYfYfXfYfXf(ff.v'HHxH H HLHLmHZHH;EufH8[A\A]A^A_]IwLHxLeIwIWLHxMYIWIOIwLLxM fUHAWAVAUATSHIIIHHZHHEH>HHIH{HHuLIOE)EE)pE)`E)PE)@E)0A) AG)AG)HLUfUEfp]f`MfPf\f(%GfTf(-GfYfXf\fTfYfX]f@Uf0f\fTfYfXAf f\AWff\AWff\fYfYfXfYfXf)Pff)`LuI>MI]IHHLLeLE)E)E)EE)pE)@E)0A) AG)AG)HLKf(`f.PUfEf]f]Mfpf\f(%RFfTf(-VFfYfXf\fTfYfXUf@]f0f\fTfYfXAf f\A_ff\A_ff\fYfYfXfYfXf(fv+f.HL*HMHHL)h1f.\IHUH IHI>HHIHHLmLLE)EE)pE)`E)PE)@E)0A) AG)AG)HLqUfUEfp]f`MfPf\f(-DfTf(%DfYfXf\fTfYfXUf@]f0f\fTfYfXAf f\A_ff\A_ff\fYfYfXfYfXf(ff.¸HHIH IIHM.HEH8sHLhILmHL<E)EE)pE)`E)PE)@E)0A) AG)AG)LL UfUEfp]f`MfPf\f(-BfTf(%BfYfXf\fTfYfXUf@]f0f\fTfYfXAf f\A_ff\A_ff\fYfYfXfYfXf(ff.¸vIHUH IHH ?SH H;MuH[A\A]A^A_]UHAWAVAUATSHMIHHRHHEHHLEI?HL3` ILU HLuLL) E)EE)pE)`E)PE)@E)0AE) AE)AE)HL UfUEfp]f`MfPf\f(%@fTf(-@fYfXf\fTfYfXUf@]f0f\fTfYfXA]f f\A]ff\A]ff\fYfYfXfYfXf(ff.nHHIH IH:LI$ IH HL}LL E)EE)pE)`E)PE)@E)0AE) AE)AE)HL f(-m?f(%U?UfUEfp]f`MfPf\fTfYfXf\fTfYfXUf@]f0f\fTfYfXA]f f\A]ff\A]ff\fYfYfXfYfXf(ff.I$HH I $HI<$HH IH HL}LLE)EE)pE)`E)PE)@E)0AE) AE)AE)HLnUfUEfp]f`MfPf\f(-=fTf(%=fYfXf\fTfYfXUf@]f0f\fTfYfXA]f f\A]ff\A]ff\fYfYfXfYfXf(ff.vSHHI $H I$EHMHH;EtHL#ILHLeLLE)EE)pE)`E)PE)@E)0A) AG)AG)HL,UfUEfp]f`MfPf\f(%C;fTf(-G;fYfXf\fTfYfXUf@]f0f\fTfYfXAf f\A_ff\A_ff\fYfYfXfYfXf(ff.#LIEIIMII}HH8IH-HLeLLE)EE)pE)`E)PE)@E)0A) AG)AG)HLf(-9f(%9UfUEfp]f`MfPf\fTfYfXf\fTfYfXUf@]f0f\fTfYfXAf f\A_ff\A_ff\fYfYfXfYfXf(ff.iHHIMH IEH:LI]IHHLeLL`E)EE)pE)`E)PE)@E)0A) AG)AG)HLf(-F8f(%.8UfUEfp]f`MfPf\fTfYfXf\fTfYfXUf@]f0f\fTfYfXAf f\A_ff\A_ff\fYfYfXfYfXf(ff.IEHH IMHI}HHIHHLeLLE)EE)pE)`E)PE)@E)0A) AG)AG)HLIUfUEfp]f`MfPf\f(-`6fTf(%d6fYfXf\fTfYfXUf@]f0f\fTfYfXAf f\A_ff\A_ff\fYfYfXfYfXf(ff.viHHIMH IEEHFHH;Et+REHFHH;Et=EHFHH;Eu)EH[A\A]A^A_]ÃEHoFHH;EtfUHAWAVAUATSHIIIH4FHHEH_HwHLIFL9HML}-fDMHEIL}HHCHEL9WHIH8aIHVHLLeL*E)pE)`E)PE)@E)0E) AE)AE)AE)HLLL}UfpEf`]fPMf@f\f(%3fTf(-3fYfXf\fTfYfXUf0]f f\fTfYfXA]ff\A]ff\A]ff\fYfYfXfYfXf(ff.XHHHEL}KD>K>IK\>H}IHHLLeLnE)pE)`E)PE)@E)0E) AE)AE)AE)HLUfpEf`]fPMf@f\f(%2fTf(- 2fYfXf\fTfYfXUf0]f f\fTfYfXA]ff\A]ff\A]ff\fYfYfXfYfXf(fIf.ZMHsBHH;EuH[A\A]A^A_]f.UHAWAVAUATSHIIH'BHHEHH}H)HAHw9H HcHHAHH;E=DH[A\A]A^A_]H]HSHsHILHCL9tEHLLHfDMHI$EELHHCHL9L;HH8ILILLmLE)EE)pE)`E)PE)@E)0A) AF)AF)LL)UfUEfp]f`MfPf\f(%@/fTf(-D/fYfXf\fTfYfXUf@]f0f\fTfYfXAf f\A^ff\A^ff\fYfYfXfYfXf(ff.dHHHLL}f.KD'K'IK\'HIHHLLmLE)EE)pE)`E)PE)@E)0A) AF)AF)HLeUfUEfp]f`MfPf\f(%|-fTf(--fYfXf\fTfYfXUf@]f0f\fTfYfXAf f\A^ff\A^ff\fYfYfXfYfXf(fIf._MjI|$HEH|IHqHLmLLEE)EE)pE)`E)PE)@E)0A) AF)AF)HLUfUEfp]f`MfPf\f(%+fTf(-+fYfXf\fTfYfXUf@]f0f\fTfYfXAf f\A^ff\A^ff\fYfYfXfYfXf(ff.vHUHIL$H ID$AHK<HH;EYH}HwILLH<HH;E)dH}HwHWILMH;HH;E3H}HWHOIHwMM$H;HH;ESAHL9AH;HH;Ef?lUHAVSHH4H5:Hf:HIHL fUHSPHH5g5H:HHH[]fDUHAWAVAUATSH(IIHH}H}HH@L$H|(DluJH}H}L H59H}HHǾ Q8EH}EA$H}MAA LIDDLLMHuHH@H<t JH}HH([A\A]A^A_]IH}IH}ILNHHxH@H6H H.f.@UHAWAVAUATSH8HMIIDMHH)IHE1H)LOHUHH)H~IELHP`H9MLeIsC6EH]Le'I^HHdIHEHH]LuH]uLLC4EtH]HLeIELHLP`HEt H}L9u)HuI)M~IELLP`L9u ID$E1LH8[A\A]A^A_]HEt H}H UHAVSHHH=#7L57HL{HHH=7HL[A^]VUHAVSP'HHHBHHC0HC8C@HCHHH[A^]IHIHL UHAVSpHH^HBHHCHHC0C8H?HC@HCPCXHC`HChHH[A^]IH!L UHAVSpHHHCHHCHHC0HHC8H?HC@HCPCXHC`HChH[H[A^]IHL f.UHAVShwHH.HECHHC`HHC0HC8C@HCHHCPHCXHH[A^]IHL UHAVSIHIF($AH5/HTƃL[A^]UHAVSIHIF(N$AH5J0HƃL[A^]UHAVSIDHIF($AH52HƃL[A^]UHAWAVAUATSPEIIDmHIF(#AH55HSƃE_EuZEAAHH53<HƃLHpHHH5<;iHCiiLHEHEiPHH5`;OHCOOLHHA,HH5C=H:ƃLH8HH5 >HƃLH{DeH5A|v} tp01HHntWeightHC H_componeHCH vec4 inHCH uniformHCH HfC(;)LHHIH5,LP1ɅLDILpILPt|0HHSampler;HC'HpthPassSHC H2D in_deHCH samplerHCH uniformHCH HC//LHBHLH[A\A]A^A_]# IHIAt I~L DUHAWAVAUATSPEIIHtHHH5*HPE1LEE1@qIG(^ AHellFlag;HH-H!in_cellHH(Hents = HH HxtureExtHHHadjustTeHHH bool l_HHH H@5IELpt&IELPtIELHH5?~H:C~~LHHv~HH5<@ Hƃ  LHxH6L&H1 AuDt@`"HH5FRHƃRRLHHLH1tTIELptcHH5HH9ƃLHHr!L`tu HPuL?tuJHPt@6HH5HHƃLH0HLH[A\A]A^A_]ÿPHH5:AHcƃAALH! IHIAt IjL` f.UHSPH UHC(RHp = falsHHH g_skiHHH Hf@e;@HH[]fUHHHGHGH]UHAWAVAUATSHLEAΉUHHGHGH}HHtuHPt}E}EHCtHPHH@H,HHH8H@HHHDž0Dž8H+HHHhH8H@H`HHsHMH+HHpH@HDžHDžHDžHDžDžHyHAHXE1f.DAD;uƅx(Hm sampleHCH uniforHCr2D ELXM,$MMM<$M@IDp H@(H@0H@8HH@LhI$H]HHHttHI4$nf.IEMHtDIE9u } MeIEHuM<$MmAW(tGIW0M8Df.MM<$Mu=LH{HCHyAW(uI)HHxLHHHMHHPHUHMHH@H@fDž@;ƅBH}HAHHHMHHPHUHMHH@H@UtHuHU @HHuH}pEu*@u3Eu?xFf.fH}@tHPEtH}xH}HEHXH$LxHIHHÃ{ y L{HCHuM7MbPvHH5FKHCKKH}HrH0E1L}H8DHxHH@H1HE6HHHMHHPHUHMHH@H@LH5EHHHMHHPHUHMHH@H@UtHuHUf.fHHuH}Eu*Eu3xuHƃLHHLH[A^A_]IHIAt I~L} UHAWAVAUATSPDMDEIIHJIĿpWHIF(aAH5IeHCeL1tILAE1I$LAEu$A$tI$PEtoApHH5IAt I~&L fDUHAVSIH,HHt3HH5aH{HH( /HH5a{HHHH{( I^AL[A^]fUHAWAVAUATSHIAu< aHIF( AH5aHƃ DEAnEeIFIFLuIHHHHHHH@HHHDžDžHHHHXHH@HPHH4HMHwHH`HHDžXHDž`HDžhHDžpDžxL}HAHH1@;]E(Hm sampleIGH uniforIAGr2D ELHMeMuyMMuM@IƉX H@(H@0H@8HH@L`IEL}IHHtmIIugI$MHtDIA9\$ }Ml$ID$HuMuMrAV(tAIV0Mv8>MMuMuELIsIGL}AV(uI)HH}LHHHMHHPHUHMHH@H@fDžh;ƅjH}HiHHHMHHPHUHMHH@H@UtHuHUf.HHuH}PEu*hu3Eu?EFf.DH}htHxEtH}EH}}E`HIF(AH5j`PHƃP`ZHH5 _UHCUUH}HVHE1LmHDLHL1H^HHHMHHPHUHMHH@H@H}H53HHHMHHPHUHMHH@H@Ut HuHU fHHuH}Eu*Eu3EuMMuMuELISIGL}AV(uI)HH}LHHHMHHPHUHMHH@H@fDžH;ƅJH}HIHHHMHHPHUHMHH@H@UtHuHUf.HHuH}0Eu*Hu3Eu?EFf.DH}HtHXEtH}EH}}EM~I^HIHIHHÃ{ LsHCHuP.HH5UCHCCCH}H*HE1Lmf.H@DmLHH袷L1H'HHHMHHPHUHMHH@H@H}H5'HHHMHHPHUHMHH@H@Ut HuHU fHHuH}PEu*Eu3EuI@ H@(H@0H@8HH@HXIH]HHHtwHI6rIM&M@I@ H@(H@0H@8HH@HXIH]HHH^HI6VLH{HCI(H5PLuLL2H5PLiHHHMHHPHUHMHH@H@IHHMHYf.HHHHȃx y HXHHHuIL3Muk@I@ H@(H@0H@8HH@LxHL}IHHIH3LL3MtAV(IV0Mv8IHL3MugLH{虯HCI(H5OLuLLH5OLHHHMHHPHUHMHH@H@IHHMHYHHHHȃx y HXHHHuIL3Muk@lI@ H@(H@0H@8HH@LxHL}IHHIH3LL3MtAV(IV0Mv8IHL3MugLIIIGAV(rI)HH}LHHHPHHPHHH@HH@H@H5JNH@{LI̭IGAV(EI)HH}LWHHHPHHPHHH@HH@H@H5MH@HHHuHNHHPHVHHH@H@@uEuEu+6HPHuEtH}lHuEt H}YHuHHĘ[A\A]A^A_]I@uEuDEuQHPEt%IEu/jIEu!\IEtH}E@H}2IEt-IHII IWhzIEttH}dIEt;H}0I0ASIEtH}YIHt HX?EtH}0IEtH}IHpH@HhHHxHHt HֿHH蔿H5HH@;H菿HEt Hx蕿L苸 DUHAWAVAUATSHHLeAH}uNI\$HMt$fHIHHÃ{ LsHCHuEAEHGHGHHHHHHHH@HH蒾HDžDžHHHHMHH@HEHH8HHHEHHDžHDžHDžHDžDž@0HDuHnent) { HC7Ht componHC0Hcity, inHC(Hloat opaHC Hcalar, fHCHr(vec4 sHCHputeColoHCHvec4 comHC??H}HͼH苽ID$HE1@AD;mcHDLuLH1HHH5?JLHH5AJSHHHxHHPHpHhHH@H@LM<$M|MM4$M@̼IDh H@(H@0H@8HH@LxI$L}IHHtpII4$jfDIMHtEIE9o } MgIGHuM4$MrAV(tAIV0Mv8>f.fMM4$MuALI胧IGAV(uI)HHhLHHH`HHPHXHPHH@H@HPH5H迺HHHHHHPH@H8HH@H@UtHuHUf.HHuH8]HHH0HHPH(H HH@H@H H52H HHHHHPHHHH@H@UtHuHUfHHuH譹HHHHHPHHHH@H@HH5G]HHHHHPHHHH@H@UtHuHUfHHuHHHHHHPHHHH@H@HH5 G譸HHHMHHPHUHMHH@H@Ut HuHU fHHuH}`E 8P'h3t H蟸fEHHu裨Et H}zHHxHH1@EH}KH}=!H$H  HHٷ H08HH觷PH`获hHxuAZEQI\$H$Mt$DHIHHÃ{ LsHCHuEHufE} EH}HEt H}жHEHHEHHEHt H蚶H\H5HHHW3I\$IM>M@^I@ H@(H@0H@8HH@HXII$HHtMI$I6GpHHEHX(mHEH5CjHpHuCjLI|$8ID$I(H5ALLLzH5BL豴HHHuHNHHPHVHHH@H@tH7HuHHH[A\A]A^A_]I\$IM>Mui@I@ H@(H@0H@8HH@HXII$HHt I$I6LI|$4ID$I(H5@LLLvH5BL譳(dIHfIcIIIH IEH}IEuz 8PhH}至tIoH`cIQH5EH9H -H08!HHѲPH`踲h Hx蟲H膲~IGIKI OI8ySIPqWIyIEt H}HEHHEHHEHt HHH5HH&HzHEt Hx耱Lv IwIoIhf.UHAWAVAUATSHLeDEAH}kEbHGHGHH8HHHHHH@H8H襰HDžDžHHHHXHH@HPH8HEHHH`HHDžHDžHDž HDž(Dž0LuID$HHE1AD;eE&H samplerIFH uniformIAFr2D ELHM}MuvMI]H@ƯHD` H@(H@0H@8HH@LxIEL}IHHtjIIudIMHtEIE9g } MoIGHuI]HxS(tAHS0H[8>f.MI]HuGHI胚IGS(uH)HH}HHHHMHHPHUHMHH@H@fDžh;ƅjH}HiHHHMHHPHUHMHH@H@UtHuHUf.DHHuH}`Eu*hu3Eu?EFf.DH}htHxحEtH}ɭEH}趭}EM|$I\$HMt$ f.@HIHHÃ{ LsHCHu@NHHmponent)HC(H, int coHC H4 scalarHCHcity(vecHCHmputeOpaHCHfloat coHC/) { C33H}HH¬E1L AD;}HD@H]HHqLH59HcLH5;蚫HHH@HHPH8H0HH@H@LHI]HuwLMuM@IDx H@(H@0H@8HH@HXIEH]HHHtkHIueHIHtEHD9{ } LkHCHuMuMwAV(tAIV0Mv8>f.fIMuMuFLH{ӖHCAV(uI)HH0L_HHH(HHPH HHH@H@HH58HHHHHPHHHH@H@UtHuHUf.HHuH譩HHHHHPHHHH@H@HH57]HHHxHHPHpHhHH@H@UtHuHUfHHuHhHHHMHHPHUHMHH@H@H}H5<8蹨HHHMHHPHUHMHH@H@UtHuHUf.@HHuH}`EEh0t H輨fEHHuEt H}藨HHxHH1]EH}hf.H}ME1H}:h(Hx!HHH(֧0H@轧EHufE} EH}ŦEt H}|HXHHPH8H`Ht H =HH54HH袦H8bM|$I\$HtQMt$f.HIHHÃ{ y)LsHCHuLMM&M#LMM&M:wIM&M@莦I@ H@(H@0H@8HH@HXIH]HHHtwHI6rIM&M@&I@ H@(H@0H@8HH@HXIH]HHH\HI6TLH{<HCI(H5c4LuLL肥H5`4L蹤HHHMHHPHUHMHH@H@IHLeI\$f.HHHHȃx y HXHHHuIL3Mui@ I@ H@(H@0H@8HH@LxHI$HHI$H3LL3MtAV(IV0Mv8IHL3MuiLH{HCI(H53LuLL1H53LhHHHMHHPHUHMHH@H@IHLeI\$fHHHHȃx y HXHHHuIL3Mui@輣I@ H@(H@0H@8HH@LxHI$HHI$H3LL3MtAV(IV0Mv8IHL3MuiLI|$蚎ID$AV(pI)HH}L$HHHHHPHHHH@H@H51Hԡ}LI|$ID$AV(AI)HH}L襡HHHHHPHHHH@H@H5e1HUHHHuHNHHPHVHHH@H@uEuEu+6H͡HuEtH}躡HuEt H}觡HuHH[A\A]A^A_]IuEuDEuQ:HcEt%IEu/IEu! IEtH}-EH}IEtIHEIBII}IEsH}`IEuYEumh0H}aEt IEtH}Ght IhtHx$tH hH\H(ٟ0PH@tUBIIIItHgIEH}IIIEuhu.Eu:EucjH}ht IhtHxEtH}Eu 'I0PIEt H}赞HXHHPH8H`Ht H vH4H5mHH۝H8/HEt Hx5L+ DUHHHGHGH]UHAVSHIHHu3@IF(AHaxValue;HH.Hc4 l_maxFHH@訝IF(EAHinValue;HH.Hc4 l_minHH(H veHH Hlue; HHH_firstVaHHH bool lHHH H@6L[A^]HH@ IF(AHavgValueHH0H vec4 l_HH(H HH Hmples; HHH l_numSaHHH uvec4HHH Hf@8;^HHuR wIF(AHl_sumValHHH vec4 HHH H@lue;@IFIFIf.UHAVSHIHHu9HIF(AH5+rHPCrHHu9薛HIF(`AH5,qHCqHHu9LHIF(AH5-,H輛ƃ^HHu6`HIF(AH5,RHrCRIFIFIL[A^]f.DUHAWAVAUATSHXAHHHHEHGHGHEAHLH!HHHH@HLHEEL-MuLI@LL衙L=ILHDžHDžHDžHDžDžHD,H}H`H5+H}HUPH5+H}膘HPHUHPHUHPHH@H@Ef HEHMHCHKHSt H}Et H}LLLt HŘH胘H5HH*H~XAuRƅ"Hvec4 g_gHHradientsHfDž;HHHHCHHCHHH;EuHHX[A\A]A^A_]THEtH}HEtH}HLLLt H軗HyHH5HHHoH} HfUHAVSH HHGHGHEt0K06HE(3)EHdient(0)HHHmputeGraHHHnts = coHHHg_gradieHf@ ; @"HEHCHEHMHKHLpÖIHE()EH5(gH3AFgHEHMHHKHEHCHH [A^]HU f.DUHAWAVAUATSH8LMLEIH}DeHtIH5uLPE1MEE1pHHEHX( H5(`HtC`Au?ʕIH5(HIAƆH}L”P苕IHme_bias;IF8H in_voluIF0H_scale +IF(Hn_volumeIF Hscalar*iIFHcalar = IFH sIFH IAF@@H}L+LIL] uPA˔HH5)|HJƃ||H}HēILA>fHH5,qHƃqqH}H_q(HH5* H觔ƃ  H}H!3ILA'pÓHH5.hHBƃhhH}H輒腓HH5|- Hƃ  H}H~ILA;3 HH5p2H蟓ƃH}H+ HH5&HaƃH}Hۑ褒HH50H#ƃH}H蝑ILW)EHEHuH}1fEtH}t (HH5)H角ƃH}H!6HH5!2zHlCzzH}HH觑E HuH HEH }HEEH}諐Et H}bHEH8[A\A]A^A_]DuAAHH51HƃH}H:HIELPIELp0ՐHH5:2%HTƃ%%H}HΏIELPtMIELpu;`tHH56_HC__H}HpH}H}AAAAuAHH56H蕐ƃH}HH͏@ՏHH571HTƃ11H}HΎH茏E 苏HH }HCH HCH HCH}HrH}tH}t At#HH51H袏ƃH}H.IHEeIHEKIHE1IHEoIHEUzIHE;`IHE!FIHE,IHEIHEyIHEbIHEKIHE4IHEtv!IHEtcIHEtPxIHTIHEt:bIHEt*RIL.IHEtH跋ƃ)IELAE HIG(|AH5AHRƃ覊HIG(PAH5?HƃIELAE AHIG(AH5VCH豊ƃ#HIG(AH5=BHuƃIELuOAEP褉HIG(AH5FBHƃBIGIGIm0OHIG(AH5D.H迉ƃ.4HIG(`AH5FsH膉CsLH[A\A]A^A_]fUHHHGHGH]UHSPH@襈HC(rH.0 / 255HH0H 1.0 - 1HH(Heshold =HH HacityThrHHHoat g_opHHHconst flHHH H@75.0;@;HH[]fUHSPH0HC(H_propId;HHH vec3 inHHH uniformHHH H@ HH[]f.UHAVSI0蔇HIF(~AH5 F(Hƃ(L[A^]UHAVSI`DHIF(>AH5KVH贇ƃVL[A^]UHHHGHGH]UHHHGHGH]UHAVSHHH@t9褆IHC(H5MHAƆHCHCHH[A^]f.@UHAVSHHH@t9$IHC(>H5PH蕆AƆHCHCHH[A^]f.@UHAVSHHH@t9p褅IHC(ζH5VfHAƆfHCHCHH[A^]f.@UHHHGHGH]UHHHGHGH]UHAVSI`HIF(.AH5WSHdCSL[A^]f.UHAVSH@HIHH`HW)EHEH}HH@]HE()EHection);HH.HionDirecHH(H_projectHH Halize(inHHHr = normHHHobjRayDiHHH H@6HEHE(E)EcIFIFI豃HHE()EH5VH!ƃ(E)EHEHE࿠ jHH5W Hƃ H}к HcH!HEIFHEHMINILH@[A^]#!IHIEtH}ۂIL{ fDUHAVSHHH`Ht9賂IHC( H5ld~H$AƆ~HCHCHH[A^]f.UHHHGHGH]UHSPHMtRMtM HC(HD in_masHHHsampler3HHHuniform Hf@k;@HCHCHHH[]f.DUHAVSHMtDMt?}t9脁IHC(H5fHAƆHCHCHH[A^]f.@UHAVSHMtAMt<}u6IHC(ްH5frHuAFrHCHCHH[A^]ÐUHAVSH@IMM}]@聀HE()EHataPos);HH/Hme, g_daHH(H(in_voluHH Hexture3DHHHalar = tHHH vec4 scHHH H@7uWHH5fH}ƃH}кH~RIFIFIPHH5fBH&CBH}кBH~Ha`iHHE()EH5fVHƃVMt HUHMHHUH}1Q~HHINHHPIVIHH@H@Et H}~Et H}~LH@[A^] IEt$FIH(IEt3IEuEu$Luw H}l~Et IEtH}R~LHw fUHSPH@E~HC(HdateDeptHH0Hool l_upHH(H bHH HagPos; HHHopaqueFrHHH vec3 l_HHH Hf@8h;@:HH[]f.UHAVSI}HIF(NAH5iH~ƃL[A^]UHAVSIT}HIF(AH5iH}ƃL[A^]UHAVSI@}HIF(AH5&j4Ht}ƃ4L[A^]UHSPH0|HC(rH_dataPosHHHoPos = gHHHec3 l_isHHH vHf@ ;HH[]UHAVSID|HIF(AH5kH|ƃL[A^]UHAVSIP{HIF(έAH5kIHd|ƃIL[A^]UHAVSIP{HIF(AH5lOH|COL[A^]f.UHAWAVAUATSH8If GHHIE1Lmf.IHILLH5 zLH5lzHHHMHHPHUHMHH@H@UtHuHUf.@HHuLyEuEa"f.DH}]zE=H}Jz/LH8[A\A]A^A_]HEuEu*Au>Hs H} zEt HEtH}yAt HAtI~yHr UHAWAVAUATSHH0f H}GH8HHLAE1HLh@H OHQHHH@H@HHEHRHHEH3HHELmOf.MLxHHuxHHxIIL98Lm.LHHHH@HHDžHLwxLHDžDžHEHHLxhLLIxHEHHH@H@H@H@DžxHLwHHLdH1Hi/wHHHMHHPHUHMHH@H@H}H5ivHHHxHHPHpHhHH@H@H0HBT0tJ40JT0f.@HJt0HhlvHHH`HHPHXHPHH@H@HPH5hvHHHMHHPHUHMHH@H@Ut HuHUHHuH}uEPhEt H(SvHEHLHEHHEHXHhvH}uPqH`uheHxuEYH}uLSH5gLuLtLH[A\A]A^A_]I/IEu*PuAhu[EugH}:uPt IPtH`uht IhtHxtEtH}tu.IExItH(tILuHEHLHEHHEHXt HhktL-tHHutH/tAt I~8tL.m IHHusLuILufDUHAWAVSPHH HHHLHHhHH@HGLHزHHGGXt H{hsLqsH5HHRsLH[A^A_]jsf.fUHAVSwsHH贍HmH[A^]IH?sL5l f.DUH]vfDUHAWAVAUATSHAΉIHHHEHLEADEDNrHHD/I`rHHD22IrHHDS4IIMIH@cILJMILJIhIpHIpHHVcILJxIhILJpIHPIH IcILJIILJIHItIuhjqHH!pH8HHC`HHC0HC8C@HCHHCPHCXHjIIukhpHHoHýHHC`HHC0HC8C@HCHHCPHCXHGjILpHLHXHHHH@HL$pL}HDžDžHJHHH`HH@HXHLoHHHhHHDžXHDž`HDžhHDžpDžxEd HEHH(HpH0HH8E1D|HDnEt\E,HEHsferFuncHHHtyTransfHHHin_opaciHEH}L[U~HuHUxE,HEHsferFuncHHHtyTransfHHHin_opaciHELpI$HL( f.@HIH HÃ{ yLcHCHufM<$MEI_(AG(t I8EnHEHCHEHMHKHE(HEHTransferHHHin_colorH@FuncELI$H=L0f.HIHVHÃ{ yLcHCHufM<$MI_(AG(t I8mHEHCHEHMHKH vmIHE(p)EHsferFuncIGHentTransIGHin_gradiIAGL I]HL8HIHHÃ{ yLkHCHufMeMI\$(AD$(t I|$8lHEHCHEHMHKHL|HHuLpH}kXHHHMHHHML`HH@H@M}MU]L(f.IMHBIE9w } MoIGHuI]H\C(t H{8kEC(EC)HEHMHC*HK0Lc8Et H}kEHt H}kE(HEHTransferHHHin_colorH@FuncEH}H>XULtHuHU @HHuH}`jXHHHMHHHML`HH@H@M}MU]L0@IMHIE9w } MoIGHuI]HC(t H{8jEC(EC)HEHMHC*HK0Lc8Et H}djEHt H}Nj VjHE(S)EHsferFuncHHHentTransHHHin_gradiH@H}HVUL tHuHUf.fHHuH}iXHHHMHHHML`HH@H@M}MU]L8@IMHIE9w } MoIGHuI]HC(t H{83iEC(EC)HEHMHC*HK0Lc8Et H}iEL|t H}hfELHuXEt H}hHHxHH1hAA99Z@MI]H@hHDp H@(H@0H@8HH@LxIEH@HHHHIuf.@MI]Hd@hHDp H@(H@0H@8HH@LxIEHHHHHHIuf.@MI]HD@gHDp H@(H@0H@8HH@LxIEHPHHH;HIu2LM<$M@gI@ H@(H@0H@8HH@HXI$H@HHHHI4$LM<$M@fI@ H@(H@0H@8HH@HXI$HHHHHHI4$LMeMa@2fI@ H@(H@0H@8HH@HXIEHPHHHaHIuXMI]H*MI]HMI]HIIM<$M]IM<$MIMeMHL}IPIC(GKHL}IpPIxC(^bHL}IlPIC(LH]HCPHI_(AG(UYLH]HpPHxI_(AG(LH]HOHI\$(AD$(H}Hp]H`HHXHHhHXt HhcLcH5HHZcHcHQHH;EuH[A\A]A^A_]cIGIVIHwcNILgcLMKIEt$LFcEtGIEu IEuEu-Et H}cL~ILrIEtH}bEuIEuILAIEtIEuIEtIEuIEx|IH`HHXHHhHXt HhObLbH5JHHaH bL[ @UHAWAVAUATSPIH}L`MteI$Ml$I)tWILtI~8Ht$f.L]I~8HPIF8L9sI$HLtI~8HuLuIHt#H{8HtL\H{8HPHC8IHt#H{8HtL\H{8HPHC8MMtbI$Ml$I)tTIAJ\H{0Ht fDL8\H{0HPHC0M9sI$IJ\H{0HuHELMt_IMfI)tSIAJ\H{0Ht fDL[H{0HPHC0M9sIIJ\H{0HuH[A\A]A^A_]f.fUHAWAVATSIL`MtAI?MgI)tI1@HMHMU]u/LMM&MuF f.IMHIA y MwIGHuLM&MAD$(t I|$8[EAD$(EAD$)HEHMID$*IL$0HEID$8pt H}ZfDžpIHHpHJLPpt H}ZHHHxHHH1oZAD;mjDLMM&M5@lZI@ H@(H@0H@8HH@LxIH]HHHt HI6LH~EHHPAD$(H}HeSEt H}YH`HHHXHHhHPt HwYL9YH5rHHHXH4YHטHH;EuHĘ[A\A]A^A_]gY(IIILYIEpEt H}XH`HHHXHHhHPt HXHPVXH5HHHWHQXL_Q H}VXpc5ILfLnIp>Ip,H} XE#IE UHAWAVAUATSPLMtkIMgI)t_IIAJ\H{8Ht)f.DLRH{8HPHC8M9sIIJ\H{8HuH[A\A]A^A_]f.fUHAWAVATSILMtAI?MgI)tI1@H DUH]dAfDUHAWAVAUATSPLMMIIHHwpIL@HLIELLLLHMAVAHLHHHHHL;HxHB>DH[A\A]A^A_]f.UHAVSH HIHHHEH8HHHHuHIHHA8A@AHIEfW1f.11f.11f.@@WA*YXAWA* 6rXAY8XAEWA*AY@XAָWA*XAY@XAθWA*UAYHXAWA*XAYHXH11f.11f.@11f.@WA*YXAeA*YXAWA*uYXAWA*YXAWA*YXAWA*YXƸAƨHHH;Eu H [A^]#Bf.UHAWAVATSHPIHOHHEH8H{0:;HH(MtA$@(MtA$PI$%A$A+$W*A$A+$*A$A+$*>t(^^]-*tXf: s^)]\(X^e\X^I$8ZO0f.u{*G0Hm]]mI$8\mWZOXf.u{ GXHmmI$8WZf.u{HI$8(EZOHf.u{GHHI$8EZOhf.u{GhHI$8M$@M$PEZf.u{HI$8(5r)E(:r)EH0HuL8I$8H0HuL8H~HH;Eu HP[A\A^A_]d?f.fUHAWAVSPHIHHMI;vHHIH'LH[A^A_][8DUHAWAVAUATSPMAIIHH8Hu 9HHC8Lf9A$f.CHuzAL$f.KPuCHID$HCPAILH;C`wCH{8HH;C`Au*H{8HtD9s@ H[A\A]A^A_]HsHLc`HSPL:HLAHSXHtD9k0t@Dk0H=Dk0Dk0HcK4IcHHHHA=HHCXCHKPLD}:H{8H1HH{8H1XH{8HDH{8HDxH{8s0K4LKXA 8Ds@L6D9s@Ds@H{8HDH{8HHxDH[A\A]A^A_]E1tfDUHAWAVAUATSHXMDEMIEIIH0Hu 7HID$0LU7AL$`Af.uzAL$hfA.Nu{NAD$`IFID$hAIELI;D$HwtI|$0HI;D$Hw_A9\$8uXt Et ME1EfA.D$@Au/I|$0Ht]A9\$XHX[A\A]A^A_]It$`IT$hL8LLAIT$PHtE9|$f\WZ jI9EAD$@I|$0H1HI|$0H]̉I|$0HxI|$0At$~5I~HI~HIA9u 9E11E1I~Hu덳I~Hu0t,I~HHIHHH9eIHEtIHHHHD(Lp,A9ADOE9EODDEDI~HI~HI~`A9A9HI6HDADžAI1fؙAщؙAW*HW*HWXacZMN`AI9HI6HtP0DAHHIF`HHA90IF`I6HI%*HHWWWHWA*WA*Hr^HHf^H I6HDADžMN`I~DDA *I~HHI~HXI~H1I~H1xI~HWfWWWI~HH[A\A]A^A_]H[A\A]A^A_]UHAWAVATSH0IIHHA|$ uLA|$  Mt$ Mt&IHt3HH5 .HP1HE)IID$ IHu1L\)I|$ HueI|$ H1HI|$ H1XI|$ HI|$ HxI|$ A$A$(I|$ A$A$E$A$$1E1(H0[A\A^A_]I`H}LUt HuHUHHuH=Zl=2HHHpHH},H5HlH},HHǾ Q8AH}-AH,H,E\H}-NHH},HEt H},H% UHAVSH H)uMfEH`HuLXEt H},IHxL1t,H="-t C H [A^]H5L1H5&H1HEt H}9,H/% fUHAWAVAUATSHHHkHHEHHHIHH*E1H1'\HhILH5H4&L$HHHxIHG8HHHpJ'HHIHxH@H`E1fDHxfC@KPHM'HHH`HC@ZLXKCHZCPZAHpH&IHILh~ILIILIILLIILXAMYZHcHXHH@LAMYZLAMYZLA $YZ0AL$YZ4AL$YZ8AYZAOYZAYGZL'HL'fff\K\Hf(fYf(fXf(YXQf.Wuf^^H5aHMHHD#H5YH0HD#H5UHHDr#H5RHHDY#H5KHD)#HhTHpHG8HHM$HgILxI@E1Hx+f.fHpH $IH%IELh~IELZMcJ L HHL$HL11A AAt$AHHHIHuryWZHHHIIIIIH}II%IJIHHPMt I$LPILP=HJHBH:I*I0IIMt IELPHt HHPHt HHPL HHHDUH]fDUHAVSHw t*Ls HWHWLAst*LsH[WHuWLA{t$HtHRWH[A^]DUHAVSHtH6WHsL5WHs AIHH[A^]UHAWAVSHIIHVHHEH?H@LI?HI?HHupAf_EAf]f)MAf_EAf]f)UAf_EAf]f)]WZEfffZfZffEfWZEH5 HML/Džt3؃HAt HHrv#H)H45H5[ HL HUHH;EuH[A^A_]!fUHAWAVAUATSHxHHMUHHEHhH?H`H)W)pHEHHHpHxHUHhH HHq8HqHHH`HHI?@f.@AILxHhHHHqHHHHHFHHHHHHuHHHuEZHxLmL9sBHHxIEZM9AILxMfDHpH)IIIFL9I)LHII9LBHH9MCMt+EM9 IJ<ILEE1O,CO|H~LIHHcLLpLxLmHtHLxLmI?EZM9HpI)LHHCL9I)LHII9LBHH9MCMt+EM9,IJ<ILEE1O,AMtM~LHHLHLpLxLmHI?tHLxLmEZM9sAILxM@HpI)LHHCL9)I)LHII9LBHH9MCMt+EM97IJ<"ILEE1O,AM|M~LHHLHLpLxLmHI?tHLxLmEZM9s AILxMHpI)LHHCL97I)LHII9LBHH9MCMt+EM9>IJ<"ILEE1O,AMtM~LHHLHLpLxLmHI?tHLxLmEZM9s AILxMHpI)LHHCL9EI)LHII9LBHH9MCMt+EM9EIJ<"ILEE1O,AM|M~LHHLHLpLxLmHI?tHLxLmEZM9|LpM)LHHCL9oM)LHII9LBHH9MCMt%EM9hJ<AIEE1O,AI\M~LLLLpHxLmMI?LHpHxH`H)HHwW JW*H5HH5 HpHt HxoHMHH;EuHx[A\A]A^A_]HpO nHpA `Hp3 RHp% DHp 6Hp (!   HHpHt Hx H fDUHAWAVSPHIHHAƆHt4IaLH,tMLHrAƆHHHtH HH1AH[A^A_]@UHAWAVSPHIHHIHt'ILuAƆI=-HH0AtIMt1IL`(At%IAdž AH[A^A_]UHAVSIHHHt8At.HHHA|HHH1[A^][A^]UHAVSH HIH@KHHEEHEHHHtAtHHuHHYHH* J>^ZEW*^ZEW*^ZEIH5lHUHJHH;Eu H [A^] UHAVSHHHHtatXIƃ|<+++ILIL[A^] [A^]f.DUHAVSIH?$HI8HHHHHx@0H8YPPYX@pYXWQAY8f(18fT]<YXXYXHxYXQAY@fT]P@YX`YXYXQAYHfT]WZAFhIp7f.vfWf.u{Z^AFh[A^]ÃtbI8IZI(^(;%;(TTUVUVA^h[A^]ËAFh[A^]UHAWAVAUATSHHGHHEHIHHHXAIELAIELH`LALhAFAODžptDžx|W)EHEEEM)E)E)E'HHHuHHHDD(HHuHHHDL`D`LIHǾIHH1110HpHHHELhPAQATAWH LILPHXHuVHHHHHPHYFHH;EuHĈ[A\A]A^A_]UHAWAVATSIHatQHHILHmAoAT$LH1HHAL;Xu.AL;XtvIH%LXƃ`H.4uHLBtsLLlLwH}HHX<WWWW@[A\A^A_][A\A^A_]fUHAVSatIHHHLHH7A9AVHHHH[A^]ø[A^]f.UHAWAVATSHIIHH56LPIHtHPIdžMII9t_f.@I<$LL1IL9uMIL9tf.@HHbI9uMM(I0L9u]M0IPHtHPIdžPIHHtHPIdžHIdž@[A\A^A_]HI9tHX@tHxUHAWAVAUATSHHIHCHHEH*^,щW*^,ɉHLJ11IHt3HHA9uAA9u9HHt9HH5?HP1ɅHEH!AI1HIIXH` I(IXHh) IXLUL8E1HLHUAH@HH;AHHpHAHHxI@HLLHxLHHIM;XLHHLHH~HAAAMHHHxHHHH1HHH1XIM L9Lt5HHHILkf.DH`HH)HHCHH9I)LHII9LBHH9LCMtI9J<o1HLHAHHA@H8HDžLHHLHEEH *>LiLHIhHH8HHHpHID$ID$ID$ID$Dž0HLKL0LHqL1H=HHHXHHPHPHHHH@H@0t H@*I0I8H9t!HHHfHI0TfHhHH)HHHHKH H9H)HHL4I9LBHUUUUUUUH9LCMtI9JH<@IE1H[IHHHKvMHSI(I0H9tcLf.DH~H{H~HNHKH{HFHFHFHHH9uM(I0 ILI(I0M8L9MtLHHt HXLHH8HHHpHL8=H 7,f.fHI9iHX@tHxIHH\IH߾@rH߾@}I@AA;IIXt6A1IH ؾ@E1HII9u׾@+AIML9tH;HI9uLIH߾@H߾@Et0AƇ`H y:H H;MHĨ[A\A]A^A_]HHH5tH/HǾv .H51HH5HH51HHH_HH1HLH(1H 9H H;M.EH`Hh  IBIH0:I=IMt5L+IMLIIII0Ht0HX"ItIII0t H@@LHH8HHHpHt H HHHxH8@II6IHL9tHHI9uHt HHLw UHAWAVAUATSHL7HGL)HH9IHH=IH_J<<IM)IL9tCLeHEMLHHHILI9uIMwHELeLJI?MoIGI9tf.fILL9uHtHH[A\A]A^A_]H[A\A]A^A_]蠶HM9tILM9uH}THJ @UHAWAVATSL'HGL)HHHH9H H9IH_HLf.fNd(IH<LLHII;Xs,IH< I(M@BD(tN$(IHIHIML9f.@H;BHI9uH}GEZH}4EQH}!I@HH]HdH5H}HǾ |H5(HaH5eHRH5(HCH}HH}H1H}Hh[A\A]A^A_].HEt4\HEt/`HEt$U HEt9HEuEu*Eu3H& H}Et HEtH}EtH}H HH}NH f.@UHAWAVAUATSPHt xtH[A\A]A^A_]IH.u{+*^,W*^,ɉ9uA9u9LMtTMMtcI$H5uLP1IEJIHLMuIHMMu1L!LLBLRH@ H;HAHHt;D9u!HH{HPHǃkIHMMtIEH5^LP1IE1LHEHHH1xHH1HH1DH%IHMMtI$H5LP1IE1LHAHVHH1xHH1HH1HIHMMtIH5LP1IE1LaHVHHH1xHH1HH1H@HH@HH@1E1\HH@E1<HIH@h*W((AH[A\A]A^A_]f.fUHAVSHHIHH5HPIHtHPIdžIHt HAIHPIdžIHt HIHPIdžIHt HIHPIdž[A^]f.fUHAVSHt xt[A^]HH@H@1H@HLLLHHH[A^]UHAWAVAUATSPIIH.<u{.*^,AWA*^,AA9uAA9u AAAMMIH5LPIHtHPIDžIHt L&IHPIDžIHt LIHPIDžIpHLHMMt&IHt5HH5HP1HEDIIIHu1LIHHI@AAItI&IIIHtHH5HP1HE1LIAAE11yIIH1xIH1IH1IzIIIHtHH5nHPE1LELLIAAAIIH1xIH1IH1II@II@1E1II@ IhIp1cH HHHWWWWQAAq H[A\A]A^A_]MDUHAVSHHIHH5HPIHtHPIdžIHt HIHPIdžIHt HIHPIdžIpHHHH[A^][A^]f.@UHAVSHHLLLHHq [A^]f.UHAWAVSPHH_)HsHhHHǃHǃHbIHH茻LH?HpǃxHǃHǃHǃHǃ0H@@H 5HHXIfHn@ H`/|HHH}H[A^A_]ILI3IHHHhHtHǃhHPHLA HsUHHw]fUHHH?Ht HHP]H:f.UHAVSHH'HH`Ht#HPH`HtHPHǃ`HHtHPHǃLMtL\LzHǃHHPHǃHH1HH1HHHhHtHǃhHPH[A^]kH1IHHhH@LfDUH]fDUHSPHHH[]@UHAWAVATSHHIUL}HLpH5)HApHL%AHLHL)H5 HAxHHLH[A\A^A_]f.UHHH]f.fUHHH]f.fUHHHH]DUHHHH]DUHAWAVAUATSPIH`IIs t+Lc HJ Hd LA$st+LcH H2 LA${t$HtH HIHtL—IHGHt+HLIHxHPIHGHG Ht+HLIHx HPIHG LMIIH5[LPHHtHPHǃHHt LHHPHǃHHt LHHPHǃHpHLHIL\IHhHt%HLnhI1OIL|I~ILLMLIEMeI)LuILtI~8HtLI~8HPIF8L9s+IEHLtI~8HuHH[A\A]A^A_]`LuILLMt[I}M}I)u/II}M}I)tI1HI@ H@(HH@HXI$IHHt II4$LImIGI~(LmHELMtZA}tSLeI$HMgf.fHIHHÃ{ LcHCHuLeI$Ht8Mgf.HIHt,HÃ{ yLcHCHuLM4$MIM4$M0I@ H@(HH@HXI$IHHtyII4$sLM4$MIM4$M0I@ H@(HH@HXI$IHHII4$LIIGI^(HWbL(LHxIHsC$ELuMu0IM4$Mu0I@ H@(HH@HXI$IHHt II4$LIIGI~(HELMtRA<$tKI]HMoHIHHËC }LkHCHuI]Ht@Mgf.fHIHHËC }tLcHCHuLMM4$M0}I@ H@(HH@HXI$IHHtxII4$rLMuM)0&I@ H@(HH@HXIEIHHIIuIM4$MuJLI=IGI^(H^L LYHIHsC6ELmMu0Mgf.@HIHt:HËC }tLcHCHuLMM4$MtI~(usRIM4$Mu0I@ H@(HH@HXI$IHHt II4$LI,IGI~(IEHtII_f.@HHHt7HȋH }t HXHHHuIL3MurLL3MueIHL3MuU0.I@ H@(HH@LhHIHHtIH3LI_IGI~(fEHuEt H}H8[A\A]A^A_]H}HEt H}}Hs f.UHAWAVAUATSHhDEHMIH}LvHFHtEt H}/E"L}Hase::ExiHEfEtW)EHEHuHULEt H}Et H}Hh[A\A]A^A_]CAHEtGt4HEt:g'%HEt+XHEtK HEt>HEuEu/Hd H}[EtHEt HEtH}6H, fDUHAWAVAUATSH8ILfHFHt8MoHfDH IHH˃{ yLkHKHuLMMuMtdMv(HI_DHHHHȋH }t HXHHHuIL+MIMuMu0bI@ H@(HH@HXIEIHHtIIuIHL+M,LI}IGIGMv(H-LL+MuU0I@ H@(HH@L`HIHHtIH3LI IGM}( HE()EIion::DecLhHerminatiHXI//VTK::TL @W)EHEHuHULEt H}Et H} HE()ELhHXL @@HE()EH.0 / 255HH0H 1.0 - 1HH(Heshold =HH HacityThrHHHoat g_opHHHconst flHHH H@75.0;@;HuHULEt H}!Et H}E,LeIerminateLuHte::InitHEE0HHE()EH5g(Hbƃ(HuHUL.Et H}Et H}E,LeLuHte::ImplHEE`jHHE(d)EH5VHƃVHuHULEt H}Et H}E,LeLuHte::ExitHEEW)EHEHuHULFEt H}Et H}H8[A\A]A^A_]'%HEt+BHEt5 HEt(HEuEuHG H}>EtH}/H% f.DUHAWAVAUATSHxDEIH}L~HFHt@MfH f.@HIHHӃ{ yLcHSHuLMM,$MteMe(HLeMnHIHHЋP }t LhHPHuII]HIM,$MuHM0=I@ H@(HH@HXI$IHHtII4$III]H5LI~WIFIFHMMe(HLe#MI]Hu_HM0H@ H@(HH@LxIEIHHt IIuHI~ׯIFHMH[(H1HHAE&I//VTK::SLuIhading::LmE:DecEW)EHEHuHUH}jED}t H}Et H}E&LuLmE:DecEH}HU%HuHUH߹Et H}pEt H}aE(LuLmEInitEH}HUG'HuHUH߹踽Et H}Et H} E(LuLmEImplEHULHLhDd$D|$$H}x,HuHUH߹9Et H}Et H}E(LuLmEExitEH}HUEE6HuHUH߹ܼEt H}=Et H}.Hx[A\A]A^A_]2HEt8O%HEt+BHEt5 HEt(HEuEuHҺ H}EtH}H谺 f.UHAWAVAUATSHDEHMIIH}H^HtDMff.HIHt,HËC }t LcHCHuM<$MuiI^IM<$MuW0+I@ H@(HH@HXI$IHHt II4$LI~ZIFMg(H]H贿IHLE HE(/)EHadient::HHHomputeGrHHI//VTK::CL0@:Dec@H}H[HuHUL̺Et H}-Et H}IL_Lm HE()EHacity::DHHHomputeOpHHL0f@ec@HELLXHDž`HDžXLPIIL9rLPfDHL9WHK LLHºHKHtfHH HuHCH9tHH HAHYH9uLm HE()EHacity::DHHHomputeOpHHL0f@ec@HELLHDžHDžLMIƐM9HfIL9IM HLH¹IMHtfHH HuIEL9(tIIMHALiH9uHPH$H}DEDM HuHULbEH//VTK::Ct H}蹽HXHPEt H}藽 蟽HE()EHlor::DecHHHomputeCoHHH@HELLpHDžxHDžpLhIIL9LhfDHL9HK LLHbHKHtfHH HuHCH9tHH HAHYH9uHH$H}DEDMrHuHULH//VTK::CEt H}ZHH衭Et H}80@HE()EHacity1D:HHHadientOpHHHomputeGrHHH@ :Dec@$HELL(HDž0HDž(L IIL9L fHL9HK LLHHKHtfHH HuHCH9tHH HAHYH9uHhH$H}DEDMHuHUL蓵LmEt H}HpHh7EI//VTK::Ct H}ĺ ̺HE()EHache::DeHHHradientCHHH//VTK::GHf@cH}MDEHuHULEt H}HEt H}90AHE()EHts::ImplHHHeGradienHHHreComputHHH//VTK::PH@ H}MDE_"HuHULPEt H}豹Et H}袹 誹HE(')EHghting::HHHomputeLiHHL0@:Dec@HUHTD$H}HMDEDMHuHUL谳Et H}Et H} HE(w)EHion::DecHHHyDirectiHHHomputeRaHHL0@LرHHt3訸HH5[>H'HH(/uHH5={HHH{(H])EHuHUL讲Et H}Et H}H[A\A]A^A_]H}L HuUMHuHULOEH//VTK::Ct H}覷H(H Et H}脷 茷HE()EHlor::DecHHHomputeCoHHH@HELL@HDžHHDž@L8IhIpL9trL8HL9tZHK LLHVHKHtf.HH HuHCH9tHH HAHYH9uH8H$H}DEDMHuHULLmEt H}PH@H8藧EI//VTK::C~HEH} HEH} HE)HEHEH}蠵HEH}耵HEH}`HEtHEuEH' H}EtrHEtgHEt\HH@H8DEt>HH(H &Et HHpHhEsH}蛴H葭 HHHեE@HHXHP賥EUHHw]钥fUHAWAVAUATSHHIH}LvHFHt4M|$HH IHH˃{ yL{HKHuLMM/MteI}(HMl$DHIHHȋH }t LhHHHuII]HIM/Mu0rI@ H@(HH@HXII$HHtI$I7III]H0LI|$苞ID$ID$I}(H(MI]HuaI0H@ H@(HH@LpIEI$HHt I$IuHI|$ID$LLc(E(I//VTK::CL}Iropping:LmE:DecEW)EHEHuHU转ELut H}Et H} E(L}LmE:DecEIL@t9HHE()EH5xH\ƃW)EHEHuHULEt H}xEt H}iE*L}LmHng::InitHEEIL@t9CHHE(])EH5{H賱ƃW)EHEHuHULnEt H}ϰEt H}E*L}LmHng::ImplHEEIL@t9p蚰HHE()EH5сfH ƃfW)EHEHuHULŪEt H}&Et H}E*L}LmHng::ExitHEEW)EHEHuHULeEt H}ƯEt H}路HH[A\A]A^A_]HEuEu:H臨 H}~EtHEtHEt HEtH}NHD f.@UHAWAVAUATSHHIH}LvHFHHUt@MeH f.@H IHH˃{ yLcHKHuLMM<$MtdMg(HI]DHHHHȋH }t HXHHHuIL;MIM<$Mu0bI@ H@(HH@HXI$IEHHtIEI4$IHL;M,LI}{IEIEMg(H+LL;MuW0٭I@ H@(HH@LpHIEHHt IEH3LI}IEMo(E(I//VTK::CLuIlipping:L}E:DecEW)EHEHuHUL跧Et H}Et H} E(LuL}E:DecE`HHE(4)EH5SHjCSHuHUL9EH]t H}薬Et H}臬E*LuL}Hng::InitHEEH}HuH'HuHULԦEt H}5Et H}&E*LuL}Hng::ImplHEEHH`Ht9HHE(Y)EH5~Hoƃ~W)EHEHuHUL*Et H}苫Et H}|E*LuL}Hng::ExitHEEW)EHEHuHULʥEt H}+Et H}HH[A\A]A^A_]HEt@ HEt3HEuEu$H֣ H}ͪEt HEtH}質H詣 UHAWAVAUATSHXDEIIH^Ht?MofDHIHt,HËC }t LkHCHuMuMuiI_IMuMuW0;I@ H@(HH@HXIEIHHt IIuLIjIGM~(E,I//VTK::BLuHinaryMasH]Hask::DecHEEI$t`I$HhtN 葩HE()EHD in_masHHHsampler3HHHuniform Hf@k;@W)EHEHuHUL解Et H}Et H} HE()EHsk::ImplHHHXL0@I$tVI$HhtDA$t9觨HHE()EH5HƃW)EHEHuHULҢEt H}3Et H}$ ,HE(y)EHMask::DeHHIompositeLhI//VTK::CL0f@cI$tSI$HhtAA$u6輧HHE()EH5rH,CrW)EHEHuHULEt H}KEt H}< DHE(A)EHMask::ImHHLhL0f@pl@M$I$LhA$ML$$H},&HuHULMEt H}讦Et H}蟦HX[A\A]A^A_]HEt8OHEt-DHEt"9HEt,HEuEuHE H}<EtH}-H# f.UHAWAVAUATSH8IIH^Ht\Mof.HIHtEHËC }t LkHCHuMeMt+II_IMeMuտ0蒥I@ H@(HH@HXIEIHHt IIuLIIGIBMt$(E(H//VTK::PHEHicking::HEEExitEPHHE( )EH5yQ@HSƃ@HuHULE(H//VTK::PHEHicking::HEEExitE`gHHE()EH5>TZHפƃZHuHUL裞E&I//VTK::PL}Hicking::H]E:DecE0HE()EH_propId;HHH vec3 inHHH uniformHHH H@ HuHUL Et H}kEt H}\E(L}H]EExitEMHHE(g)EH5_NH轣ƃHuHUL艝Et H}Et H}ۢH8[A\A]A^A_]%HEt+MHEt@ HEt3HEuEu$H茛 H}胢Et HEtH}iH_ fUHAWAVAUATSH8IIH^HtPMof.HIHt9HËC }t LkHCHuMeMtAuz_I_IMeMu0ޡI@ H@(HH@HXIEIHHt IIuLI IGAMt$( tHE()EHmage::DeHHIenderToILxI//VTK::RL f@c@,HE()EHdateDeptHH0Hool l_upHH(H bHH HagPos; HHHopaqueFrHHH vec3 l_HHH Hf@8h;@:HuHULEt H}|Et H}m uHE(r)EHmage::InHHLxL f@it@=HHE()EH5'H譠ƃHuHULyEt H}ڟEt H}˟ ӟHE()EHmage::ImHHLxL f@pl@蛟HHE(E)EH5!H ƃHuHULיEt H}8Et H}) 1HE(.)EHmage::ExHHLxL f@it@@HHE()EH54Hiƃ4HuHUL5Et H}薞Et H}臞H8[A\A]A^A_]%HEt+MHEt@ HEt3HEuEu$H8 H}/Et HEtH}H  DUHAWAVAUATSH(EIIIHH֜H1躙zDeLuLmMHǀPIE8HEHuL茙H-ILeHf.fHǀTILLL>IHILhH~-PTt=u#PDf.Tt݃~f.@ǁTPIILXf.=/)ILHTHǀTLuDeLmHLLHLLEHLHLLEHLLLEXHLHLLHLE1HLHLkHLL1H([A\A]A^A_]f.fUHAWAVAUATSHMHUILfH^HHuLet2LfHIHt(HÃ{ yLcHCHuLM<$Mui IM<$Mu[0I@ H@(HH@HXI$H]HHHt HI4$LH{JHCIw(H@HPLeI$Ht?HEL`f.HIHtvHËC }tLcHCHuLM<$Mui0XI@ H@(HH@HXI$H]HHHtHI4$IM<$MuLH{uHCIw(H@Hh1LeI$Ht:HEL`fDHIHtvHËC }tLcHCHuLM<$Mui0舙I@ H@(HH@HXI$H]HHHtHI4$IM<$MuLH{襄HCIw(H@H}dH}HIHLHŒڔLHŒEE1H]$f.H]H AD9}蒔LHDVIH}$LHPHhHMMLMutH蝔HH5趓HǾ赓HH5蚓Mt=LH}H聓HH5rHLmHH5XH}H5HHL赖HH2HH5#MXLH5l#AH}LH5LH2f.LHPHhHMMLMٕuHqHH5芒HǾ艒HH5nMt=LٕH}HUHH5FHLAHH5,H}H5HL艕HHHH5Mt^LH5DtKH}蜒LH5(H?H}H#H}tH1pÔ\H}QHH}FH1B蕔.L}IHt7HELxHIHt'HÃ{ yL{HCHuLM7Muf IM7MuY0聕I@ H@(HH@HXIH]HHHtHI7LH{讀HCI~(HPL}IHt8HELx@HIHtsHËC }tL{HCHuLM7Muf0ɔI@ H@(HH@HXIH]HHHtHI7IM7MuLH{HCI~(Hh=H]HHtEHMHYf.DHHHtvHȋH }t HXHHHuHEL3Mun0I@ H@(HH@HEIFL3L}IHHtIH3HEHL3MuLIIGI~(HuiEu0hu9Pt H`SHĈ[A\A]A^A_]H}8htHx#Pu.,*(&$Hht:]HPt5dHHH}EEuhu%Pu1H賋 H}誒htHx蕒PtH`耒Hv UHAWAVAUATSHAIHxH}HEHEHEHEHH1HXH]HLPL}u$LM7M=DHIHt"HÃ{ y L{HCHuM7Mud IM7MuW0ƑI@ H@(HH@HXIHEHHt HEI7LH}|HEHXIF(=HHǾ3H`H]L}Hu+LM7MIL$Hf.MI?uMMf.0IMIUHP(HH HH@LpIHMH HtHMIH}HAyHEIL$Ht#HH HuL}@f.DID$L9 L}t#If.@I $HALaH9uHMH9HMH]IMl$ L9Y@IL9A~<H]Ht@AF8LmfDH IHtH9C }"LkHKHuf.fLmLM}Muh0辌IAF8AG IG(IIGI_M}HEHHtHEIuIM}MuLH}wHEIw(H@H]H蘋Iv IV@ANXH軆H]HtFAF8Lmf.fH IHtH9C }"LkHKHuf.fLmLM}Muh0΋IAF8AG IG(IIGI_M}HEHHtHEIuIM}MuLH}vHEI(HuCEt H}BINHtHH HuIFL90If.DIHALqH9uf.IL9A<H]Ht4AG8LmfDH IHtsH9C }LkHKHuLmLMuMuh0芊IAG8AF IF(IIFI^MuHEHHtHEIuIMuMuLH}uHEIv(H@H]HdIw IW@AOXH臄H]Ht6AG8LmH IHtsH9C }LkHKHuLmLMuMuh0誉IAG8AF IF(IIFI^MuHEHHtHEIuIMuMuLH}tHEI~(HuEtH}IOHtHH HuIGL98If.DIHALyH9uHxHHu1H]HHHuH}VHHHtH%H}輄H5H}ԃHǾ,ӃH51H踃H}'H}H裃H5H蔃HHu莃H5HyH5&H}iH5 HZH5H}btH}H5H}HHH}H艀H}ڃH1փ)H}ԃHXHPH`HPHpHPHEHȀH}HHa…HuH}ɄHĈ[A\A]A^A_]A?=;9IHuH}蝄@%#IH}1.IH}HvIIEt H}葆HuH}NLz @UH僿tTfWf.u.p Ӵf.vCfWf.u9z7^!%Z ^fW-fTfUfV^^XYYf(]pf.v {)f.w f.f(v pf(f(^Zf.vf(^pf(^Zf.v ^p]f.UHAWAVAUATSPIIHBHHhILӃIċLLL$HEHHspIL@HLI$LLLLHMAAHL?H}BHHHL=HxH}D1H[A\A]A^A_]UHAWAVAUATSHxHUIIH`HHPIH0H{0d}HHIHH;pIHtHH5HP1HE1MHHpH]HaILhHEH=ILb|Ht!HHH5HP1ɅHEHM1HEIELmLAI<$HuguI$t!Hu VI$f(Ef(HHHLILAAAMMH}}Hcp@IHEHSHHKPH)HH9HuHhsHHH)HUH0I$ vHHCPuH}HI$H;pv,H}HHHLuHUD1#Et!HUDE }[H]H}H5CzH}HǾ}H5eH|L\H}H|H5DH|HL|H5-H|H5uzH}|H5CH|H5LtH}:}H5ɸLHH}}HyH}}H1}aH} }DmM,$ALxuH}HM,$I;x1IupLeI$L@IEHH}HHLLHhALL;L7>IEHLML~9IxLyH}HAtcAfWf.DmLxuMAp +f.vZAfWf.uPzNA^w;AZ ^ApDmLxAfW-1fTfUfV^^XYf(]Apf.v hf.w f.f(v Apf(f(^AZf.vf(^Apf(^AZf.v ^ApIHuH]HtILHHME'At I?LKI?LOI$HH5_}HP1HEHM/II$LHHt'HHuAƅI@w2I$H0At&IwHHH`AIvADžnILML6MH]HHMI;HHIH15ALHuHAtILH]ItBI$LHt0t'IHL|IEL1IH}cI]uwH}HIH;w^ILIH;wFH}HI;Alu1HH9w!H9EwHHH1*H}HIAlLLHUHMAIt=L襊IL$LLHUHMLMI?ŏ2LHUtIL$LLHUHMLMI?LAdžxI&H}HIH; ILIH;H}HI;AlHH9H9H}HI?H;LuIHpHxHLIHwLLwLwHtHtq 4zI]sAdžxnH}HIAlHhHu vLvHs~L1f.IILhsIsLvHxs9|rHH}HH]xH{0H0HrHHI?L IHpHxHLM/IvIHvHvI{sIosq xI?rI?rAdžxLLHUHMH}HPItBI$LHt0t'IHL|IEL1IH}t_At I?LIu2xHpHIHHH1IHrIHHQrH5pH߉qILE$LLHUHMLMIHqH}_ItoI$LHt]tTIƃ|<+++ILIL vHx[A\A]A^A_]H%IHu3IH}HP"H{%IH}^ IH}rLo UHAWAVAUATSHIHHII$ƀaE1AMtHXH6-I+W*ߠf(^ +W*f(^(+W*^0fff\fY%If\YIZMWZEWZELH5+kL/lIZEZEZELH5jLkIfff\f(f^f\ a^HH{0GjHHI.^HO0f.u{G0HIH^OXf.u{GXHIH^f.u{HIHf.zu{$H?HHIHOHf.u{GHHIHOhf.u{GhHIHLPf.u{HIHx jIHx jLH5hiHXH{YjH{iLH5hiHxHmII>LHHp IHxHt"jIHxiLH5wh0iLPMt#IiIriLH5XhiLpHHHHIHHx8AHt$GiIHHx8HthHH5g[hIHHx8Ht hIHHx8HthAHHH5xgDhHHH5`ggHxfI>HHHAEE1fDLDhZplhLDhZ@<8LDmhZ LDOhZBIHM9YHHH5}fDHpgHH5ofDH@fHH5afDHfHH5TfDIHfH`HHHhH8LHL0`IHHHH{0H0>eHHIHH{0HeHHHHLH5e8fIHLH5efIHHhH{0H0dHHIHH{0HdHHHhLH5seeIHLH5meeIH0LxILxH{0Hp0HLHx=HXHx \I>HGHt H[I>HG Ht H[I>LHpyLPMt I|$[uZtQHtGu>IHHy8Ht[IHHx8Hth[f.@HDHHHhHH"HIHȟHH;EuHĨ[A\A]A^A_]X`UHAWAVAUATSH8IHHuHHI[LHY[LHYEԅo1f9]W[LHƉeYIIHI$LLHME1u^tLuL[LH5XZHǾZHH5%ZL^H}HZHH5ZHLZHH5rZH}H5\bZIL]LHLZHH5=ZLH5F]tH}ZLH5sH-]H}ZHnWH}ZH1Z]H}ZH8[A\A]A^A_]HH}ZHW fUHAVSLI9tHHHCHHC0HHC8H?HC@HCPCXHC`HChH(9LuMnMfM9_I6I)MIIGHH9I)LHII9LBHH9LCMt#HuI9J<>IHuE1O$KO|M~LHLh?HHEL0ILxL`H]H>H[A\A]A^A_]L= I)IH`>IHEH8Ht HEHxB>L87 fUHHH?Ht Hx]>]DUHAWAVAUATSHHGHGHIAJ<=J IIFINLufDI]IMn]F]Կp=HH[<HHHCHHC0C8H?HC@HCPCXHC`HChH6LuMnMfM9fI6I)MIIGHH9I)LHII9LBHH9LCMt#HuI9J<<IHuE1O$KO|M~LHL/=HHEL0ILxL`H]H^<H[A\A]A^A_]LR;e I)IH'<IHEH8Ht HEHx <L4 fUHHH?Ht Hx];]DUHAWAVAUATSHHGHGH_IAJ<;J IIFINLufDL+HI^]]̿Pe;IH:HۅIE5IE0IE8AE@IEHL4LuI^MfL9uI6H)IIIGHH9I)LHII9LBHH9LCMtHuI9w}J<:IHuE1O$O,O|H~LIH;LHEL0ILxL`HHL:H[A\A]A^A_]L@9S H6H HL8L:HHEH8Ht HEHx9H2 f.UHHH?Ht Hx]9]DUHAWAVATSH IH8cB1ۅOH4&AƉ ؉  ȉ  A9 8WLeL5H5y7L4HǾ4H5pH4L 8H}H4H5oHz4HLu4H5oH`4H57H}P4HljR4H57H74HD84H57H4H57H4H5oH3H5oL7>H}4H5oLH6/6A8H]H4H55H3HǾz3H5nH~3L6H}Hj3H5nH[3HLV3H5nHA3H55H}13H5nH"3H5woL+6 H}3H5WoLH66A[H]H3H54H2HǾ2H5nH2L6H}H2H5mH~2HLy2H5mHd2H54H}T2H5mHE2H5nLN5t]H}2H5~nLH55QADOH}2Ha/H}2H125OH}2H6/H}2H124$H}g2H/H}\2H1X2H}[2DH [A\A^A_]HH};2H. f.UHAWAVATSH IH0cB1ۅOH0&AƉ ؉  ȉ  A9 4WLeL1H5$5L0HǾ0H5lH0L 4H}H0H5kHz0HLu0H5kH`0H53H}P0HljR0H55H70HD80H53H0H53H0H5kH/H5kL3>H}0H5kLH2/2A8H]H0H53H/HǾ/H5jH~/L2H}Hj/H5jH[/HLV/H5jHA/H51H}1/H5jH"/H5wkL+2 H}/H5WkLH22A[H]H/H52H.HǾ.H5jH.L2H}H.H5iH~.HLy.H5iHd.H50H}T.H5iHE.H5jLN1t]H}.H5~jLH51QADOH}.Ha+H}.H1.1OH}.H6+H}.H1.0$H}g.H+H}\.H1X.H}[.DH [A\A^A_]HH};.H* f.UHAWAVATSH IH8cB1ۅOH,&AƉ ؉  ȉ  A9 0WLeL-H5@2L,HǾ,H5hH,L 0H}H,H5gHz,HLu,H5gH`,H5/H}P,HljR,H5/H7,HD8,H5/H,H5/H,H5gH+H5gL/>H},H5gLH./.A8H]H,H50H+HǾz+H5fH~+L.H}Hj+H5fH[+HLV+H5fHA+H5-H}1+H5fH"+H5wgL+. H}+H5WgLH..A[H]H+H5/H*HǾ*H5fH*L.H}H*H5eH~*HLy*H5eHd*H5,H}T*H5eHE*H5fLN-t]H}*H5~fLH5-QADOH}*Ha'H}*H1*-OH}*H6'H}*H1*,$H}g*H'H}\*H1X*H}[*DH [A\A^A_]HH};*H& f.UHAWAVATSH IH0cB1ۅOH(&AƉ ؉  ȉ  A9 ,WLeL)H5@/L(HǾ(H5dH(L ,H}H(H5cHz(HLu(H5cH`(H5+H}P(HljR(H5+H7(HD8(H5+H(H5+H(H5cH'H5cL+>H}(H5cLH*/*A8H]H(H5-H'HǾ~'H5bH~'L*H}Hj'H5bH['HLV'H5bHA'H5)H}1'H5bH"'H5wcL+* H}'H5WcLH**A[H]H'H5,H&HǾ&H5bH&L*H}H&H5aH~&HLy&H5aHd&H5(H}T&H5aHE&H5bLN)t]H}&H5~bLH5)QADOH}&Ha#H}&H1&)OH}&H6#H}&H1&($H}g&H#H}\&H1X&H}[&DH [A\A^A_]HH};&H" f.UHAWAVAUATSHXIHHL`HCXHCPHCHHC@HC8HC0HLhHHHXH@HH}L)HXHEHǃPǃXL=3hMoLXI@LL(HgHHEH`HǃHǃHǃHǃǃHpHǃpHǃxHEHhHHǃHǃHEHHHǃHǃHEHHHǃHǃHEHHǃHǃLeLmf!HZ!HN!HB!H6!H *!H(!H0!H8L`L#LhL#HǃHǃHǃHǃHǃHǃHǃxHǃpHǃHǃHǃHǃ Hǃ(Hǃ0Hǃ8Hǃ@HǃHHǃPHǃXfǃ` Hh$"Hp$HxL3fCC HHC$HC HCHCCh?Hǃ`HǃHǃHǃHǃHǃL1"HǃHCxHCpHǃHǃHǃHǃǃHC`HǃPHǃHǃHǃ(XHHL8I~0IL(W@(WPHC0HKHHC8HKPƃHǃHǃHǃHǃHǃǃfǃHǃHǃHǃHX[A\A]A^A_]HEHEHEHEcHEbHEvHEHEHEHEHEHEHEHEHEHEHxHtHǃxHPHpHtHǃpHPHhHtHǃhHPL(MtEH0LL9t*HHHM@t Hxf#HMHI9uH(L0G#HHEHtHuH}+ H{P"!I>HtH{8!H} H8H0H(H HHHHHHHUHHH?Ht HHP]Hf.UHHH?Ht HHP]Hf.UHHH?Ht HHP]HZf.UHAWAVSPL?MtQIHGL9uL-f.HI9tHX@tHxI>M~H[A^A_]H[A^A_]fUHAWAVSPL?Mt$IH_L9t#fHHI9uI>H[A^A_]LM~H[A^A_]OfUHHH?Ht Hx]-]DUHAWAVATSIH`HtIHtHPIGI HtHPIG IHtHPILJIHtHPILJIHtHPILJIHtHPILJIHtHPILJMII9tCfL1ZIL9uMIL9tf.HH"I9uMM(I0L9MM0IPHtHPILJPIHHtHPILJHLXMMtII<$Mt$I)t$I1Hu/{t9{t1H[A^]ÿ A>tѿ{uǿD {uf.UHAVSI-t HV1HsV11A>u\A~zA~u D uHA~u UA~u q DA~t -[A^]Hf.UHHH6VHHE'fDfV fDf@fN`f(fAYwf(fYfX_f(fAYfXGf(fYfXf)pfnfDV0fDNPfDFpfYfAYfXfAYfXfAYfXf)EG fDY_(fYfAXg0fDYfDXW8fYfAXf)MfYfAYfXfAYfXfAYfXf)Ug@fDfV fDf@fN`f(fAYwHf(fYfX_Pf(fAYfXGXf(fYfXf)}fnfDV0fDNPfDFpfYfAYfXfAYfXfAYfXf)EG`fDY_hfYfAXgpfDYfDXWxfYfAXf)MfYfAYfXfAYfXfAYfXf)UHpHHH*THH;Eu HĐ]f.UHH9Fu]ÐHAHH9@tHNyuHAHH9tHt`ztXfDHPHtztH91HQH2HqHtHNHAHBHA1H9@HH HQHBH91tH4HVHHtHJHAHFHA1H9H4HNHqHFF@HHHHPHtHBHPHQHP1H9@H HHH]HB@HHQHHtHBHPHQHP1H9@H HAHH]ÐUHAWAVAUATSPIF`u ubIFIFIHF0LfXI9sHFXIH^(MI)IIwVCD-ALHL9ukH^Lf MI)IICD-ALHL9TM}IL\IFIM>MnL9,I RL9s J (H9@LHHqHHHljH`sv1M}ILIFIM>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_]LUHAWAVSPHLw@L7HCXC`t2AuHILIV HSPHKHHHKXHSHSHK E>AuIKD>HCXHs@L{HHCPLHCXHHL1AuIHHCHLsPLLs0Ls(HC8C`t\ItDIHHHH)HHHHHH)N0I)ILs0Mt IcILs0H[A^A_]fHtH5/LHH}!HH}H1H}HH}H fUHAVSH `IƇHHt@HH5HPt,ILH Au AƆH]HaH5HzHǾyH5-H^LH}HJH5-H;HL6H5-H!H5H}H5-HH5W.L tH}H5;.LHH}H3H}H1H}~H [A^]HH}iH fUHAWAVAUATSHxHI HE(()EHesourcesHHHocateFORHHHPTM::AllH@H}HuH5H}HUVEt H}YEt H}JHHAA$A$IA$tnAEA;$uA;$I$HHHAuAUHI$HH(HEHuп E}tHuԿHHADEI$HHHHAuAUEԉD$Dt$$H߹AA }~94t5AuAUDt$D$$H߹AA jAƄ$&HuctCI$HzHfAƄ$AEA$AEA$H}H5H}HǾH5%*HLH}HH5*HHLH5)HoH5H}_H5*HPH5)LYtH}H5)LH@H}HH}H1H}AƄ$H@H,E1H5H}HUEt H}"Et H}DHx[A\A]A^A_]SQOMKIHH}Y>9HH}=H #HEtH}HEt;H}0HH5H}HUEt H}Et H}wHm DUHAVSIHƇtƃHHLHPHXHL[A^]%UHAWAVAUATSHxIIIHt0HHEEHPTM::RenHEEnderEH8Hu H5H}HUEt H}Et H}|LLA$ IHtHH5HPH}H5H}HǾFH5'HLH}HzH5&HkHLfH5&HQH5lH}AH5&H2H5'L;tH}H5k'LH"H}HcH}H1H}1HPL`LILHhI$Xt+HPHI$XHH1H xHHH ILXHsC6EL}Mu0H H脵HH5 蝴HǾ'蜴HH5聴HHHjHH5[HHRHH5=HH5.HH53HH5HH5^t H跴HH5?HH藴H;H荴H1艴ܶH舴HLhHPLXƅ HHionArrayHHHattenuatHƅHHAD$ D$D$D$$ LLHHA蕵t HdH H誳HH50òHǾ.²HH5觲HHH萲HH5聲HHxHH5cHH5ETHH5EHH56HH5;t HݲHH5eHH轲HaH賲H1诲H讲HLhHPLXƅHHdepthArrHf@ayƅHHAD$ D$D$D$$ LLHHAót H蒵LX6@)HHѱHH5WHǾ5HH5DΰH:HH賰HH5褰HH蛰HH5膰HH5dsHH5dHH5UHH5Zt$HHH5H:H԰HxHưH1°H轰HHHHHH9tH)˰H@H8H56HHH+HHHGX藰HHHX1AE1H HeHh赱HPMHPHHHIqH°H2詰H HHVHHL$$D$&D$@11E1E1LH訰H莰@D8IHt HHPH5H}HUrEt H}uEt H}fL\ H[jfUHH]UHSPHH={۬t4H=HȬt!H=H赬tHH[]s{H[]UHAVS׫HHĭHpH[A^]IH蟫L蕤 f.DUHH]UH@8u]@H]UH劇]@UHAVSSHH4H5HHPIH?L fUHSPHH5HHHH[]fDUHAWAVAUATSHHILLoLL)HH9snI6I)MII HH>H?I)LHII9LBHH9LCMHut9I9J<>#HtM$HLH*MM~d1N$HEN,H4LM$MH]~H}HLwHEIMfMnHtHH[A\A]A^A_]饩H[A\A]A^A_]L螨CUHAVSH2H¥H=#L5HL{H2H谧H=HL[A^]VUHAVSH'HHfHHKHC8HC@H襢H[A^]IH6IHǨL轡 UHAVSHHHHC8HC@[A^]IHަLr f.fUHAVSH賦HBH蘣HC8HC@[A^]IH莦L" f.fUHAVSHHHH8HtHPHC8Ls@MtLLҧHC@H[A^] IHLVDUHAVSHHHH8HtHPHC8Ls@MtL莡LbHC@H[A^]鰥IH襥LuVDUHAVSHHHH8HtHPHC8Ls@MtLLHC@HDH[A^]֦IH-LUf.UHAWAVAUATSHEHHUHuIHHIHHIHHIHHHLHuHULMMEsXjPH8[A\A]A^A_]f.fUHAWAVAUATSHxL(L HIIIHkHHELMtIH5 LP1IE1DuI}8H8耠Wx.v% .rWZXXL9xL%@0LPILx0ILILIL@Zx1+I}8HxI}8H1AI}83SDDLM 萟W* (W*[^^W(XmXeH(W*^\eMe@W*^\EUEHuW*XH W*^ 7XEvW*XW*g^X]xuW*X^Xm]W*(umX^XUuEUuI}@t*H8HIM@H1HH1l0HHI]@HL8L覣HlIHsC6XLYMu1=LHHH躢IHhHHXL`LLL&C4聢IH5:HAƇW)@HDžPH8HXt HhHYHAHHLE1I}@H;tHHI}@Hw@t HP¡L躡Xt Hh襡 DžXDž@DžpDžtHXˀH@ʀաHpɀġHtȀ賡A}0taI}8lI}8 IM@H9H5蔛IE@H8AE4H5puIE@HHHH}HuI}8蜛HptX@H"HH;EuHĸ[A\A]A^A_]負HX耟I(IH0I@t HP?L7Xt Hh"L fUHHujuH ]DUHHujuH ]DUH]"fDUHAVSIHH8H{@Ht)L跙Ls@MtL貙L膟HC@[A^]UHH]UHSPHH= t4H=Ht!H=*HtHH[]ݘH[]UHAVSHHHFHH+HC8HC@H腘H[A^]IHIH觞L蝗 UHL1I9G0u]ÉG0H]fDUHHH]f.UHHH1]f.UHO4.u{G4H]]f.DUHG4]ÐUHAVSH 'H"H=L5|HL۝H&HH=cHL[A^]鶝UHAVS0臝HHDH H[A^]IHOLE f.DUH]fDUHAWAVSPHPH'HHǃHǃ H??HHǃHǃǃǃH?HHHHHHϙHHHHHH 蘙H蘖HHǃ苕HHHxHHǃǃ(IHILHH=WLIH;WL2H<WLH@WLH>WLH?WL֙ILPHǃ(H[A^A_]ILIH;L fUHAVSHHHHHtHPHǃHHtHPHǃHHtHPHǃHHtHPHǃHHtHPHǃHHtHPHǃH(HtHPHǃ(H[A^]=IH2L"IfUH]fDUHSPHHH[]麙@UHAWAVATSH IIHSwGH "HcHLTIHp1f.@7LuL蕕H5L讔HǾ譔H5 H蒔HH}H~H5HoHHjH5HUH5 H}EH5H6H5H?H}ܔH5kHH"1LtcIHp1f.@IH(Hu+=HH(I$L(HHH!I$LI$HLLLH [A\A^A_]H}H諐H}H1KH}H [A\A^A_]HH}ݓHc 2@UHAWAVAUATSHhIIIHHHEЃtqIEILH9vXILHHH9v8ILHHH9vAIEL9tLLL ADžL賐HL袐HHuHWA.v$EXEXE^ZAMAHwAt[ADžADžHp'HˍHpH1hHpAH LHcHAtlu~IIHeAtLL ALZIIH>IAHIEMLILILh IEML`ILHXIEML@IL(IEMLhILH`IEMLILIEMLILIAH0IAH@IAHLpLH5wL)HǾ(H5H L}HpHH5bHHLH5KH͍H5ƛHp躍H5^H諍H5L贐FHpNH5LH蔐7IAHIEMLILILAIIHIAHIEML`ILHXIEML@IL(IEMLhILH`IEMLILIEMLILIAHIAHIAHhILIHHuEf.վu(z&Ef.ľuzEf.uADžML1}Ht-IHLILHHI9r"76IILLILPLӉILHIAH0IEY1‰IEY褉IϽYE膉IIHIAHIM1'ILHHIEML`ILHXIEML@IL(IEMLhILH`IEMLILIEMLILIAHIAHIAHhHfHH;EuYHh[A\A]A^A_]HpH謆HpH1IHpADž词HHp̉HR EqSqMgx_x_f.fUHAWAVAUATSH(III'HEAAAMLMH3H%}x@ AACLeL׈H5LHǾ H5MHԇLDH}HH5,H豇HL謇H5H藇H5H}臇IHxH5HiH5 HZH5LcH}H5LHFN^LuLH5ILHǾH5XH߆LOH}HˆH57H輆HL跆H5 H袆H5gH}蒆AH菆H5HtAHqH5HVAHSH5wH8IH)H5HH5oL#tH}ĆH5SLH H}视HKH}蜆H1蘆H}薆ADžH}eHH}ZH1VH}YIHHML迈ILHH8AADžIELAIŰL H([A\A]A^A_]HH}ӅHY UHAWAVAUATSPIIHjHtUHI;tIHHILBHHIILHM9r/H[A\A]A^A_]KHILHHHPLH HHHH[A\A]A^A_]fUHAWAVAUATSH(II誂IH +H]H迄H5&H؃HǾ׃H55H較Mt=L'H}H裃H5H蔃HL菃H5HzH5H}jH5H[Mt0H5L_tH}H5LHFH}H臀H}؃H1ԃ'H}҃EA$A$A$M$LML裂HDh@A$yAuI$tgHHC0ǃHHHǃHǃHǃHǃHǃHǃHǃHHǃHǃHǃHǃ`HǃHǃHǃHǃƃǃXHHPHǃHǃHǃHCxHCpHChHC`HCXC4?H??HC8CHHCLHC@?H`H[A^]IHfL_ f.UHAVSH HHt Hh teLuLcH5rL!bHǾ5 bH5~HbHt=HpeH}HaH5XHaHHaH5AHaH5rH}aH5WHaHt0H5HdtH}IbH5؝HHdH},bH^H}!bH1bpdH}bH [A^]HH}bH^ fDUHAWAVAUATSH(EHIHuIzI`EM I$LLAPATAX/IPLLIuCH`IIHEHHtHH58dHP1HE1L_I`HI`Dx@ID1_EID1_EI_EHuHUHMLAEűUЋML II+Hu&II9qHALsH([A\A]A^A_]IhuA$A,A40]IHLLILLMMM9tM}IMqILM)LHHNHH=HM)LHII9LBHH9LCMt+HuLEI9J<cHLEHu1JLIME9EtWA* W*hYX,ɉMEW*YXD,HEW*(MX,EXED,HEW*0PXD,XX,HEHh1Ƀ)A)A)XIHLH`I$LuDLmЋMEEMII9HEH0I)MIIEHH9H)HHHH9HBHH9HCHt#HuH9H<z^IHuE1IOLeIMMHIM9u wsMeIMHu fDLeMM<$MHE0XILp H@(HH@LhI$H]HHHt#HI4$MM<$MuLHCHHEIG(HUHH;ULms-IIH)HH9eIŰLVIuSIuRIuRMIL)HIHt@MIfDH IHt*HH9C ws LcHKHuM4$MuzIIM4$Mue0WIIIF IF(IFII^M4$IHHt II4$LIABILMHI9t"IF(IEILH8[A\A]A^A_]HH7I)MIIOHH=HH)HHHH9HBHH9HCHt#HuH9H<VIHuE1I IF(KOtM~LHLIyVLHHELLHH"HH8[A\A]A^A_]UTUHAWAVAUATSHIAHHHHEH`HcG@HEHAIuHP@QHPHHuMe{0LeLmt?AUAMEEH$L։DLEA OEe8pA9tD 6UDeAED<ED9tHnULeIt$ HuH`H0AT$AL$ED${H$H}։DLEE>OEtHD$$ HLLM}ALTOI$L1HI$L1XI$L1hI$LDI$LDxI$fWfWfWWLD}>MIHLHuIcEIcuHILLpLcDHcHH`HEHIM HhHHA$SILA}#H`IH`LmEAE1LHDAE<HE@}{1HU11+f.DHcHcDHHUD9~|HhHXHHEE1fH`HEJ48H H}s1{f.1f.@ZD4f fYZLH5QvHC1[A\A^A_]UHH)M]UHSPHH=M?t!H=xH?tHH[]8H[]f.UHAVSp>HH=HՙHC0ǃHHHǃHǃHǃHǃHǃHǃHǃHHǃHǃHǃHǃ`HǃHǃHǃHǃƃǃXHHPHǃHǃHǃHCxHCpHChHC`HCXC4?H??HC8CHHCLHC@?H 7H[A^]IH;=L16 f.Ht-UHAVSHIH6HsLH[A^]<f.UHAVS<HH4H5{H{H<IH<L5 fUHSPHH5v;H{HHH[]fDUHAWAVATSH0IIH{HHEHc5HHuHH?HE5HLx0It$0L5HHLLu5HHHuLLN5HHPHT{HH;Eu H0[A\A^A_];HIHu IHHPL4 HUHAWAVAUATSH(IHIHzHHEHHHHHMHHMLHH)HHHHLuH,HH?HHL,H9|HL9LmL E)E)EE)pE)`E)PE)@A$)0AD$) AD$)LILi UfEfE]fpMf`f\f(%UfTf(-UfYfXf\fTfYfX]fPUf@f\fTfYfXA$f0f\AT$f f\AT$ff\fYfYfXfYfXf)pff)]H;LuILoE)E)E)E)`E)PE)@A$)0AD$) AD$)HLf(Ef.pUfEf]fMf`f\f(%SfTf(-SfYfXf\fTfYfXUfP]f@f\fTfYfXA$f0f\A\$f f\A\$ff\fYfYfXfYfXf(fv'f.LM.IIM/EL1f.2HUHIH IH:IL}LE)E)EE)pE)`E)PE)@A$)0AD$) AD$)HL-UfEfE]fpMf`f\f(-DRfTf(%HRfYfXf\fTfYfXUfP]f@f\fTfYfXA$f0f\A\$f f\A\$ff\fYfYfXfYfXf(ff.¸IHUH IHHMHIL)I?H]HE)EE)pE)`E)PE)@E)0A$) AD$)AD$)LHUfUEfp]f`MfPf\f(-PfTf(%PfYfXf\fTfYfXUf@]f0f\fTfYfXA$f f\A\$ff\A\$ff\fYfYfXfYfXf(ff.¸vHUHIH IH aH H;MuH[A\A]A^A_]!UHAWAVAUATSHLIIH`HHEHHLEI?MuLeLE)EE)pE)`E)PE)@E)0) C)C)LLUfUEfp]f`MfPf\f(%NfTf(-NfYfXf\fTfYfXUf@]f0f\fTfYfXf f\[ff\[ff\fYfYfXfYfXf(ff.%IEIIMII}LM4$L}LE)EE)pE)`E)PE)@E)0) C)C)LL#f(-Mf(%gMUfUEfp]f`MfPf\fTfYfXf\fTfYfXUf@]f0f\fTfYfXf f\[ff\[ff\fYfYfXfYfXf(ff.I$IMI $IEI<$LMuL}LE)EE)pE)`E)PE)@E)0) C)C)LLUfUEfp]f`MfPf\f(-KfTf(%KfYfXf\fTfYfXUf@]f0f\fTfYfXf f\[ff\[ff\fYfYfXfYfXf(ff.vNIEI $IMI$EH$\HH;EtM'LmLE)EE)pE)`E)PE)@E)0) C)C)LLUfUEfp]f`MfPf\f(%IfTf(-IfYfXf\fTfYfXUf@]f0f\fTfYfXf f\[ff\[ff\fYfYfXfYfXf(ff.IIIII?LMuLeLE)EE)pE)`E)PE)@E)0) C)C)LLf(-lHf(%THUfUEfp]f`MfPf\fTfYfXf\fTfYfXUf@]f0f\fTfYfXf f\[ff\[ff\fYfYfXfYfXf(ff."IEIIMII}LM4$L}LE)EE)pE)`E)PE)@E)0) C)C)LLf(-Ff(%FUfUEfp]f`MfPf\fTfYfXf\fTfYfXUf@]f0f\fTfYfXf f\[ff\[ff\fYfYfXfYfXf(ff.I$IMI $IEI<$LMuL}LE)EE)pE)`E)PE)@E)0) C)C)LLUfUEfp]f`MfPf\f(-'EfTf(%+EfYfXf\fTfYfXUf@]f0f\fTfYfXf f\[ff\[ff\fYfYfXfYfXf(ff.vdIEI $IMI$EHUHH;Et+REH}UHH;Et=EHgUHH;Eu)EH[A\A]A^A_]ÃEH>UHH;EtUHAWAVAUATSHHIIHUHHELgHwLHBIEL9fHMLu.fDMHEILuLID$HEL9)M4$IH8L}LE)pE)`E)PE)@E)0E) )C)C)LLuL UfpEf`]fPMf@f\f(%BfTf(-BfYfXf\fTfYfXUf0]f f\fTfYfXff\[ff\[ff\fYfYfXfYfXf(ff.wLI$HEL}f.DKD=KD=I,Od=H}LuLc E)pE)`E)PE)@E)0E) )C)C)LL UfpEf`]fPMf@f\f(%AfTf(-AfYfXf\fTfYfXUf0]f f\fTfYfXff\[ff\[ff\fYfYfXfYfXf(fIf.wMHpQHH;EuH[A\A]A^A_]UHAWAVAUATSHHIIH$QHHEHH)HAHH HcHI|$MM&L}Lc E)EE)pE)`E)PE)@E)0) C)C)LL UfUEfp]f`MfPf\f(%?fTf(- ?fYfXf\fTfYfXUf@]f0f\fTfYfXf f\[ff\[ff\fYfYfXfYfXf(ff.vIIMIIEAIVIvLIHIFL9EHLL,f.LHHAHL9tL9IH8LeLxE)EE)pE)`E)PE)@E)0) C)C)LLUfUEfp]f`MfPf\f(%=fTf(- =fYfXf\fTfYfXUf@]f0f\fTfYfXf f\[ff\[ff\fYfYfXfYfXf(ff.LoIEHLf.KD&K&I}Ol&HL}LE)EE)pE)`E)PE)@E)0) C)C)LL^UfUEfp]f`MfPf\f(%u;fTf(-y;fYfXf\fTfYfXUf@]f0f\fTfYfXf f\[ff\[ff\fYfYfXfYfXf(fIf.{M fDMHI$EELHHL9ARIvILLH:IvIVILLIIVINIIvLMIHUKHH;EuDH[A\A]A^A_] f:UHAVSHĔHH=#JL5JHL{ HH H=JHL[A^]V UHAVSh' HHHfHH5 HTDH =?L HAHH5GHH ?L HAH5`H6H >L HAH8H[A^]I IHHZ LP f.UHAVSHHfHH5 HCH j>L KHAuH5tHJH @>L 1HAKH5HcH >L HA![A^]IH#L f.DUHAVSHHZeHH5 HBH =L HAH5HH =L qHAH5HH V=L WHAa[A^]IHcL f.DUH]FfDUH]V fDUH]v_fDUHH =]UH]fDUHSPH tH[]+HHHHH[]`UH ~]@UHH<]UHSPHH=<t4H=<Ht!H=AHtHH[]H[]UH]0fDUHSPHHH[]@UH]VfDUHH5<]UHHG`]ÐUHAVSHHH=EL5EHLKHoHH=EHL[A^]&%%%%%%%…%ą%ƅ%ȅ%ʅ%̅%΅%Ѕ%҅%ԅ%օ%؅%څ%܅%ޅ%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%% %"%$%&%(%*%,%.%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%LLMAS%>hh:hhhh h h h h h&h[xhnhdhZh8Ph{Fhh>)4h})*h) h*hA* h*h*h+hH+h+h+h,h>,hm,h,h,h,h?-h-h(.vhW.lh.bh4Xh4Nh5Dh :hU 0h} &h h hE"hx$h$h4%hx%h%h&h<&h.h/hz/h/h0hE0h0|h0rhB1hhz1^h1Th!BJh A@h!A6h1A,hFA"hYAhmAhAhAhAhAhAhAhAhBhh h hhhhhxhnhdhZhHPh{FhRhjHh>h24hn*h? heh hE h{ h hRhhhhh+hRhhFhwhh}vhlhbh+XhMNhDh:h 0hI&hhhh6h|hhh1 he h h h7 hhhDhh+|hsrhhh^hThJhF@h6h+,hT"hhhhh"h1h2h2h2h-3hU3h3h3h3h4h4hy4xh4nh5dh?Zh!6Phi6Fh6$h_>h>h>h>h!?hE?h}?h?hT@h@h@h@h@hhC@hv@h@zh9BphIBfhYB\hiBRhvBHhB> Fk* )  :I'*-$ZZe/: 2+A6 Qa!N  qc&V+M zs z sl{yy      6 ],   # )  D /& /&  X  X  `(  >Z T&G+> ,%$ :#),*  /;$$_AAU    )l))),AA'))*.p[[ x^ \ ^ \ \ \ ^ \ j  U ,% 88(k`` !   @  4   !  `    e; [  ) ) ) 4? 2+-$ZZe/:&~2~~??????25vtkMultiBlockVolumeMapperA5!qe{aP!qj!A9A6aRqrqg1"q`Q@aZsQB1.!!!A;1 1(aVqfaS~A7aVA:A41!QIQO!?8888!!1$!?????????@@@?o@9~@$@??8w? ?B=31vtkOpenGLGPUVolumeRayCastMapper27vtkOpenGLTransferFunction2D35vtkOpenGLVolumeGradientOpacityTable27vtkOpenGLVolumeOpacityTable23vtkOpenGLVolumeRGBTableNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEENSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEENSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperE36vtkGenericOpenGLResourceFreeCallbackDC34vtkOpenGLProjectedTetrahedraMapper34vtkOpenGLRayCastImageDisplayHelper@ _B|=20vtkSmartVolumeMapper??-/'?p?>?16vtkVolumeTexture38vtkRenderingVolumeOpenGL2ObjectFactoryWarning: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkMultiBlockVolumeMapper.cxx, line (): Not a vtkMultiBlockDataSet, loaded vtkImageData. WarningEventnullptrERROR: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkMultiBlockVolumeMapper.cxx, line Cannot handle input of type: ErrorEventAt least one block in the data object is not of type vtkImageData. These blocks will be ignored.vtkMultiBlockDataSetNumber Of Mappers: BlockLoadingTime: BoundsComputeTime: Jittering resolution (x, y): , VectorMode: VectorComponent: Jittering is not supported by this mapper.vtkCompositeDataPipelinevtkCompositeDataSetvtkImageDatavtkDataObjectTreevtkOpenGLGPUVolumeRayCastMappervtkMultiBlockVolumeMappervtkVolumeMappervtkAbstractVolumeMappervtkAbstractMapper3DvtkAbstractMappervtkAlgorithmvtkObjectallocator::allocate(size_t n) 'n' exceeds maximum supported size vec4 pos = in_projectionMatrix * in_modelViewMatrix * in_volumeMatrix * vec4(in_vertexPos.xyz, 1.0); gl_Position = pos; // For point dataset, we offset the texture coordinate // to account for OpenGL treating voxel at the center of the cell. vec3 uvx = sign(in_cellSpacing) * (in_vertexPos - in_volumeExtentsMin) / (in_volumeExtentsMax - in_volumeExtentsMin); if (in_cellFlag) { ip_textureCoords = uvx; ip_inverseTextureDataAdjusted = in_inverseTextureDatasetMatrix; } else { // Transform cell tex-coordinates to point tex-coordinates ip_textureCoords = (in_cellToPoint * vec4(uvx, 1.0)).xyz; ip_inverseTextureDataAdjusted = in_cellToPoint * in_inverseTextureDatasetMatrix; } uniform bool in_cellFlag; uniform vec3 in_cellSpacing; uniform mat4 in_modelViewMatrix; uniform mat4 in_projectionMatrix; uniform mat4 in_volumeMatrix; uniform vec3 in_volumeExtentsMin; uniform vec3 in_volumeExtentsMax; uniform mat4 in_inverseTextureDatasetMatrix; uniform mat4 in_cellToPoint; uniform vec3 in_textureExtentsMax; uniform vec3 in_textureExtentsMin; //This variable could be 'invariant varying' but it is declared //as 'varying' to avoid compiler compatibility issues. varying mat4 ip_inverseTextureDataAdjusted; // Volume dataset uniform sampler3D in_volume; uniform int in_noOfComponents; uniform int in_independentComponents; uniform sampler2D in_noiseSampler; #ifndef GL_ES uniform sampler2D in_depthSampler; #endif // Camera position uniform vec3 in_cameraPos; // view and model matrices uniform mat4 in_volumeMatrix; uniform mat4 in_inverseVolumeMatrix; uniform mat4 in_projectionMatrix; uniform mat4 in_inverseProjectionMatrix; uniform mat4 in_modelViewMatrix; uniform mat4 in_inverseModelViewMatrix; uniform mat4 in_textureDatasetMatrix; uniform mat4 in_inverseTextureDatasetMatrix; varying mat4 ip_inverseTextureDataAdjusted; uniform vec3 in_texMin; uniform vec3 in_texMax; uniform mat4 in_textureToEye; // Ray step size uniform vec3 in_cellStep; uniform vec2 in_scalarsRange[4]; uniform vec3 in_cellSpacing; // Sample distance uniform float in_sampleDistance; // Scales uniform vec3 in_cellScale; 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 uniform bool in_cellFlag; uniform bool in_useJittering; vec3 g_rayJitter = vec3(0.0); uniform bool in_clampDepthToBackface; uniform vec2 in_averageIPRange; uniform bool in_twoSidedLighting; vec3 g_xvec; vec3 g_yvec; vec3 g_zvec; vec3 g_aspect; vec3 g_cellSpacing; float g_avgSpacing; vec4 g_fragWorldPos; uniform int in_numberOfLights; uniform vec3 in_lightAmbientColor[6]; uniform vec3 in_lightDiffuseColor[6]; uniform vec3 in_lightSpecularColor[6]; uniform vec3 in_lightDirection[6]; uniform vec3 in_lightPosition[6]; uniform vec3 in_lightAttenuation[6]; uniform float in_lightConeAngle[6]; uniform float in_lightExponent[6]; uniform int in_lightPositional[6]; vec4 g_fragWorldPos; uniform int in_numberOfLights; uniform vec3 in_lightAmbientColor[6]; uniform vec3 in_lightDiffuseColor[6]; uniform vec3 in_lightSpecularColor[6]; uniform vec3 in_lightDirection[6]; 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; bool l_adjustTextureExtents = !in_cellFlag; // vec2 fragTexCoord2 = (gl_FragCoord.xy - in_windowLowerLeftCorner) * in_inverseWindowSize; vec4 depthValue = texture2D(in_depthPassSampler, fragTexCoord2); vec4 dataPos = 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 dataPos = in_inverseTextureDatasetMatrix * in_inverseVolumeMatrix * in_inverseModelViewMatrix * in_inverseProjectionMatrix * dataPos; dataPos /= dataPos.w; g_dataPos = dataPos.xyz; l_adjustTextureExtents = true; // Get the 3D texture coordinates for lookup into the in_volume dataset g_dataPos = ip_textureCoords.xyz; // Eye position in dataset space g_eyePosObj = (in_inverseVolumeMatrix * vec4(in_cameraPos, 1.0)); if (g_eyePosObj.w != 0.0) { g_eyePosObj.x /= g_eyePosObj.w; g_eyePosObj.y /= g_eyePosObj.w; g_eyePosObj.z /= g_eyePosObj.w; g_eyePosObj.w = 1.0; } // Getting the ray marching direction (in dataset space); vec3 rayDir = computeRayDirection(); // 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; // 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_noiseSampler and in_depthSampler // buffers have the original size buffer. vec2 fragTexCoord = (gl_FragCoord.xy - in_windowLowerLeftCorner) * in_inverseWindowSize; if (in_useJittering) { float jitterValue = texture2D(in_noiseSampler, fragTexCoord).x; g_rayJitter = g_dirStep * jitterValue; g_dataPos += g_rayJitter; } else { g_dataPos += g_dirStep; } // Flag to deternmine 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)); if (g_lightPosObj.w != 0.0) { g_lightPosObj.x /= g_lightPosObj.w; g_lightPosObj.y /= g_lightPosObj.w; g_lightPosObj.z /= g_lightPosObj.w; g_lightPosObj.w = 1.0; } g_ldir = normalize(g_lightPosObj.xyz - ip_vertexPos); g_vdir = normalize(g_eyePosObj.xyz - ip_vertexPos); g_h = normalize(g_ldir + g_vdir); g_xvec = vec3(in_cellStep[0], 0.0, 0.0); g_yvec = vec3(0.0, in_cellStep[1], 0.0); g_zvec = vec3(0.0, 0.0, in_cellStep[2]); g_cellSpacing = vec3(in_cellSpacing[0], in_cellSpacing[1], in_cellSpacing[2]); g_avgSpacing = (g_cellSpacing[0] + g_cellSpacing[1] + g_cellSpacing[2])/3.0; // Adjust the aspect g_aspect.x = g_cellSpacing[0] * 2.0 / g_avgSpacing; g_aspect.y = g_cellSpacing[1] * 2.0 / g_avgSpacing; g_aspect.z = g_cellSpacing[2] * 2.0 / g_avgSpacing; g_skip = false; uniform sampler2D in_gradientTransferFunc; float computeGradientOpacity(vec4 grad) { return texture2D(, vec2(grad.w, 0.0)).r; } uniform sampler2D float computeGradientOpacity(vec4 grad, int component) { if (component == ) { return texture2D(, vec2(grad.w, 0.0)).r; } } // c is short for component vec4 computeGradient(int c) { // Approximate Nabla(F) derivatives with central differences. vec3 g1; // F_front vec3 g2; // F_back g1.x = texture3D(in_volume, vec3(g_dataPos + g_xvec))[c]; g1.y = texture3D(in_volume, vec3(g_dataPos + g_yvec))[c]; g1.z = texture3D(in_volume, vec3(g_dataPos + g_zvec))[c]; g2.x = texture3D(in_volume, vec3(g_dataPos - g_xvec))[c]; g2.y = texture3D(in_volume, vec3(g_dataPos - g_yvec))[c]; g2.z = texture3D(in_volume, vec3(g_dataPos - g_zvec))[c]; // Apply scale and bias to the fetched values. g1 = g1 * in_volume_scale[c] + in_volume_bias[c]; g2 = g2 * in_volume_scale[c] + in_volume_bias[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), -1.0); } // c is short for component vec4 computeGradient(int c) { // Approximate Nabla(F) derivatives with central differences. vec3 g1; // F_front vec3 g2; // F_back g1.x = texture3D(in_volume, vec3(g_dataPos + g_xvec))[c]; g1.y = texture3D(in_volume, vec3(g_dataPos + g_yvec))[c]; g1.z = texture3D(in_volume, vec3(g_dataPos + g_zvec))[c]; g2.x = texture3D(in_volume, vec3(g_dataPos - g_xvec))[c]; g2.y = texture3D(in_volume, vec3(g_dataPos - g_yvec))[c]; g2.z = texture3D(in_volume, vec3(g_dataPos - g_zvec))[c]; // Apply scale and bias to the fetched values. g1 = g1 * in_volume_scale[c] + in_volume_bias[c]; g2 = g2 * in_volume_scale[c] + in_volume_bias[c]; // Scale values the actual scalar range. float range = in_scalarsRange[c][1] - in_scalarsRange[c][0]; g1 = in_scalarsRange[c][0] + range * g1; g2 = in_scalarsRange[c][0] + range * g2; // Central differences: (F_front - F_back) / 2h g2 = g1 - g2; g2 /= g_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(int component) { return vec4(0.0); } vec4 computeLighting(vec4 color, int component) { vec4 finalColor = vec4(0.0); // Compute gradient function only once vec4 gradient = computeGradient(component); // TransferFunction2D is enabled so the gradient for // each component has already been cached vec4 gradient = g_gradients[component]; vec4 gradient = g_gradients; vec3 diffuse = vec3(0.0); vec3 specular = vec3(0.0); vec3 normal = gradient.xyz / in_cellSpacing; float normalLength = length(normal); if (normalLength > 0.0) { normal = normalize(normal); } else { normal = vec3(0.0, 0.0, 0.0); } float nDotL = dot(normal, g_ldir); float nDotH = dot(normal, g_h); if (nDotL < 0.0 && in_twoSidedLighting) { nDotL = -nDotL; } if (nDotH < 0.0 && in_twoSidedLighting) { nDotH = -nDotH; } if (nDotL > 0.0) { diffuse = nDotL * in_diffuse[component] * in_lightDiffuseColor[0] * color.rgb; } specular = pow(nDotH, 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 = in_modelViewMatrix * in_volumeMatrix * in_textureDatasetMatrix * vec4(-g_dataPos, 1.0); if (g_fragWorldPos.w != 0.0) { g_fragWorldPos /= g_fragWorldPos.w; } vec3 vdir = normalize(g_fragWorldPos.xyz); vec3 normal = gradient.xyz; vec3 ambient = vec3(0.0); vec3 diffuse = vec3(0.0); vec3 specular = vec3(0.0); float normalLength = length(normal); if (normalLength > 0.0) { normal = normalize((in_textureToEye * vec4(normal, 0.0)).xyz); } else { normal = vec3(0.0, 0.0, 0.0); } for (int lightNum = 0; lightNum < in_numberOfLights; lightNum++) { vec3 ldir = in_lightDirection[lightNum].xyz; vec3 h = normalize(ldir + vdir); float nDotH = dot(normal, h); if (nDotH < 0.0 && in_twoSidedLighting) { nDotH = -nDotH; } float nDotL = dot(normal, ldir); if (nDotL < 0.0 && in_twoSidedLighting) { nDotL = -nDotL; } if (nDotL > 0.0) { diffuse += in_lightDiffuseColor[lightNum] * nDotL; } if (nDotH > 0.0) { specular = in_lightSpecularColor[lightNum] * pow(nDotH, in_shininess[component]); } ambient += in_lightAmbientColor[lightNum]; } finalColor.xyz = in_ambient[component] * ambient + in_diffuse[component] * diffuse * color.rgb + in_specular[component] * specular; g_fragWorldPos = in_modelViewMatrix * in_volumeMatrix * in_textureDatasetMatrix * 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 * vec4(gradient.xyz, 0.0)).xyz); vec3 lightDir; for (int lightNum = 0; lightNum < in_numberOfLights; lightNum++) { float attenuation = 1.0; // directional lightDir = in_lightDirection[lightNum]; if (in_lightPositional[lightNum] == 0) { vertLightDirection = lightDir; } else { vertLightDirection = (g_fragWorldPos.xyz - in_lightPosition[lightNum]); float distance = length(vertLightDirection); vertLightDirection = normalize(vertLightDirection); attenuation = 1.0 / (in_lightAttenuation[lightNum].x + in_lightAttenuation[lightNum].y * distance + in_lightAttenuation[lightNum].z * distance * distance); // per OpenGL standard cone angle is 90 or less for a spot light if (in_lightConeAngle[lightNum] <= 90.0) { float coneDot = dot(vertLightDirection, lightDir); // if inside the cone if (coneDot >= cos(radians(in_lightConeAngle[lightNum]))) { attenuation = attenuation * pow(coneDot, in_lightExponent[lightNum]); } else { attenuation = 0.0; } } } // diffuse and specular lighting 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[lightNum]); } vec3 h = normalize(vertLightDirection + viewDirection); float nDotH = dot(normal, h); if (nDotH < 0.0 && in_twoSidedLighting) { nDotH = -nDotH; } if (nDotH > 0.0) { float sf = attenuation * pow(nDotH, in_shininess[component]); specular += (sf * in_lightSpecularColor[lightNum]); } ambient += in_lightAmbientColor[lightNum]; } finalColor.xyz = in_ambient[component] * ambient + in_diffuse[component] * diffuse * color.rgb + in_specular[component] * specular; finalColor = vec4(color.rgb, 0.0); if (gradient.w >= 0.0) { color.a = color.a * computeGradientOpacity(gradient); } 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; } vec3 computeRayDirection() { return normalize(ip_vertexPos.xyz - g_eyePosObj.xyz); } uniform vec3 in_projectionDirection; vec3 computeRayDirection() { return normalize((in_inverseVolumeMatrix * vec4(in_projectionDirection, 0.0)).xyz); } uniform sampler2D in_colorTransferFunc; vec4 computeColor(vec4 scalar, float opacity) { return computeLighting(vec4(texture2D(in_colorTransferFunc, vec2(scalar.w, 0.0)).xyz, opacity), 0); } vec4 computeColor(vec4 scalar, float opacity, int component) { if (component == { return computeLighting(vec4(texture2D( , vec2( scalar[],0.0)).xyz, opacity),); } uniform sampler2D in_colorTransferFunc; vec4 computeColor(vec4 scalar, float opacity) { return computeLighting(vec4(texture2D(in_colorTransferFunc, vec2(scalar.x, 0.0)).xyz, opacity), 0); } vec4 computeColor(vec4 scalar, float opacity) { return computeLighting(vec4(scalar.xyz, opacity), 0); } float computeOpacity(vec4 scalar, int component) { { return texture2D(,vec2(scalar[], 0)).r; } uniform sampler2D ; float computeOpacity(vec4 scalar) { return texture2D(, vec2(scalar.y, 0)).r; }, vec2(scalar.w, 0)).r; }vec4 computeColor(vec4 scalar, float opacity) { vec4 color = texture2D(, vec2(scalar.w, g_gradients.w)); return computeLighting(color, 0); } vec4 computeColor(vec4 scalar, float opacity, int component) { if (component == ) { vec4 color = texture2D(, vec2(scalar[], g_gradients[].w)); return computeLighting(color, ); } , vec2(scalar.x, g_gradients.w)); return computeLighting(color, 0); } vec4 computeColor(vec4 scalar, float opacity) { return computeLighting(vec4(scalar.xyz, opacity), 0); } uniform sampler2D float computeOpacity(vec4 scalar, int component) { ) { return texture2D(].w)).a; } uniform sampler2D ; float computeOpacity(vec4 scalar) { return texture2D(, vec2(scalar.y, g_gradients.w)).a; } , vec2(scalar.a, g_gradients.w)).a; } bool l_firstValue; vec4 l_maxValue; bool l_firstValue; vec4 l_minValue; uvec4 l_numSamples; vec4 l_avgValue; vec4 l_sumValue; // 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);vec4 g_gradients;vec4 g_gradients[];g_gradients = computeGradient(0); for (int comp = 0; comp < in_noOfComponents; comp++) { g_gradients[comp] = computeGradient(comp); } if (!g_skip) { vec4 scalar = texture3D(in_volume, g_dataPos); scalar.r = scalar.r*in_volume_scale.r + in_volume_bias.r; scalar = vec4(scalar.r,scalar.r,scalar.r,scalar.r); scalar = scalar*in_volume_scale + in_volume_bias; 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; 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; #ifdef GL_ES vec4 l_depthValue = vec4(1.0,1.0,1.0,1.0); #else vec4 l_depthValue = texture2D(in_depthSampler, fragTexCoord); #endif // 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; // 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 terminatePoint = 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 terminatePoint = ip_inverseTextureDataAdjusted * in_inverseVolumeMatrix * in_inverseModelViewMatrix * in_inverseProjectionMatrix * terminatePoint; terminatePoint /= terminatePoint.w; g_terminatePointMax = length(terminatePoint.xyz - g_dataPos.xyz) / length(g_dirStep); g_currentT = 0.0; if(any(greaterThan(g_dataPos, in_texMax)) || any(lessThan(g_dataPos, in_texMin))) { 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; 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; } int clippingPlanesSize; vec3 objRayDir; mat4 textureToObjMat; vec4 tempClip = in_volumeMatrix * vec4(rayDir, 0.0); if (tempClip.w != 0.0) { tempClip = tempClip/tempClip.w; tempClip.w = 1.0; } objRayDir = tempClip.xyz; objRayDir = normalize(in_projectionDirection); clippingPlanesSize = int(in_clippingPlanes[0]); vec4 objDataPos = vec4(0.0); textureToObjMat = in_volumeMatrix * in_textureDatasetMatrix; vec4 terminatePointObj = textureToObjMat * terminatePoint; if (terminatePointObj.w != 0.0) { terminatePointObj = terminatePointObj/ terminatePointObj.w ; terminatePointObj.w = 1.0; } for (int i = 0; i < clippingPlanesSize; i = i + 6) { if (in_useJittering) { objDataPos = textureToObjMat * vec4(g_dataPos - g_rayJitter, 1.0); } else { objDataPos = textureToObjMat * vec4(g_dataPos - g_dirStep, 1.0); } if (objDataPos.w != 0.0) { objDataPos = objDataPos/objDataPos.w; objDataPos.w = 1.0; } vec3 planeOrigin = vec3(in_clippingPlanes[i + 1], in_clippingPlanes[i + 2], in_clippingPlanes[i + 3]); vec3 planeNormal = vec3(in_clippingPlanes[i + 4], in_clippingPlanes[i + 5], in_clippingPlanes[i + 6]); vec3 normalizedPlaneNormal = normalize(planeNormal); float rayDotNormal = dot(objRayDir, normalizedPlaneNormal); bool frontFace = rayDotNormal > 0; float distance = dot(normalizedPlaneNormal, planeOrigin - objDataPos.xyz); if (frontFace && // Observing from the clipped side (plane's front face) distance > 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 = distance / rayDotNormal; vec4 newObjDataPos = vec4(objDataPos.xyz + rayScaledDist * objRayDir, 1.0); newObjDataPos = in_inverseTextureDatasetMatrix * in_inverseVolumeMatrix * vec4(newObjDataPos.xyz, 1.0); if (newObjDataPos.w != 0.0) { newObjDataPos /= newObjDataPos.w; } if (in_useJittering) { g_dataPos = newObjDataPos.xyz + g_rayJitter; } else { g_dataPos = newObjDataPos.xyz + g_dirStep; } bool stop = any(greaterThan(g_dataPos, in_texMax)) || any(lessThan(g_dataPos, in_texMin)); if (stop) { // The ray exits the bounding box before ever intersecting the plane (only // the clipped space is hit). discard; } bool behindGeometry = dot(terminatePointObj.xyz - planeOrigin.xyz, normalizedPlaneNormal) < 0.0; if (behindGeometry) { // Geometry appears in front of the plane. discard; } // Update the number of ray marching steps to account for the clipped entry point ( // this is necessary in case the ray hits geometry after marching behind the plane, // given that the number of steps was assumed to be from the not-clipped entry). g_terminatePointMax = length(terminatePoint.xyz - g_dataPos.xyz) / length(g_dirStep); } } for (int i = 0; i < clippingPlanesSize && !g_skip; i = i + 6) { vec4 objDataPos = textureToObjMat * vec4(g_dataPos, 1.0); if (objDataPos.w != 0.0) { objDataPos /= objDataPos.w; } vec3 planeOrigin = vec3(in_clippingPlanes[i + 1], in_clippingPlanes[i + 2], in_clippingPlanes[i + 3]); vec3 planeNormal = vec3(in_clippingPlanes[i + 4], in_clippingPlanes[i + 5], in_clippingPlanes[i + 6]); if (dot(vec3(objDataPos.xyz - planeOrigin), planeNormal) < 0 && dot(objRayDir, planeNormal) < 0) { g_skip = true; g_exit = true; } }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_mask1; uniform sampler2D in_mask2; vec4 scalar = texture3D(in_volume, g_dataPos); scalar.r = scalar.r*in_volume_scale.r + in_volume_bias.r; scalar = vec4(scalar.r,scalar.r,scalar.r,scalar.r); scalar = scalar*in_volume_scale + in_volume_bias; if (in_maskBlendFactor == 0.0) { g_srcColor = computeColor(scalar, computeOpacity(scalar)); } else { float opacity = computeOpacity(scalar); // Get the mask value at this same location vec4 maskValue = texture3D(in_mask, g_dataPos); if(maskValue.r == 0.0) { g_srcColor = computeColor(scalar, opacity); } else { if (maskValue.r == 1.0/255.0) { g_srcColor = texture2D(in_mask1, vec2(scalar.w,0.0)); } else { // maskValue.r == 2.0/255.0 g_srcColor = texture2D(in_mask2, vec2(scalar.w,0.0)); } g_srcColor.a = 1.0; if(in_maskBlendFactor < 1.0) { g_srcColor = (1.0 - in_maskBlendFactor) * computeColor(scalar, opacity) + in_maskBlendFactor * g_srcColor; } } g_srcColor.a = opacity; } 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 * in_textureDatasetMatrix * 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 * in_textureDatasetMatrix * 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_opacityTransferFuncin_colorTransferFuncin_gradientTransferFuncin_transfer2Din_twoSidedLightingin_lightAmbientColorin_lightDiffuseColorin_lightSpecularColorin_lightDirectionin_numberOfLightsin_lightAttenuationin_lightPositionalin_lightPositionin_lightExponentin_lightConeAnglein_vertexPosin_croppingPlanesin_croppingFlagsin_clippingPlanesin_propIdGL_ARB_texture_floatRequired extension GL_ARB_texture_float is not supportedrenderedTex_Generic Warning: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLGPUVolumeRayCastMapper.cxx, line Failed to attach ImageSampleFBO!//VTK::FSQ::Decl//VTK::FSQ::ImplFailed to initialize ImageSampleProgram!ReductionFactor: CurrentPass: //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::ComputeOpacity::Dec//VTK::ComputeGradientOpacity1D::Dec//VTK::ComputeColor::Dec//VTK::GradientCache::Dec//VTK::PreComputeGradients::Impl//VTK::ComputeLighting::Dec//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::ExitERROR: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLGPUVolumeRayCastMapper.cxx, line Shader failed to compileThree dependent components are not supportedin_depthPassSamplerin_cellSpacingin_cellStepin_cellScalein_depthSamplerin_volumein_noiseSamplerin_maskin_mask1in_mask2in_maskBlendFactorin_ambientin_diffusein_specularin_shininessin_projectionMatrixin_inverseProjectionMatrixin_modelViewMatrixin_inverseModelViewMatrixin_volumeMatrixin_inverseVolumeMatrixin_textureDatasetMatrixin_inverseTextureDatasetMatrixin_textureToEyein_projectionDirectionin_noOfComponentsin_independentComponentsin_volume_scalein_volume_biasin_sampleDistancein_scalarsRangein_cameraPosin_volumeExtentsMinin_volumeExtentsMaxin_textureExtentsMinin_textureExtentsMaxin_windowLowerLeftCornerin_inverseOriginalWindowSizein_inverseWindowSizein_useJitteringin_cellFlagin_texMinin_texMaxin_cellToPointin_clampDepthToBackfacein_averageIPRangein_scalein_biasin_componentWeightvtkOpenGLRenderPass::PreReplaceShaderValues failed for vtkOpenGLRenderPass::PostReplaceShaderValues failed for RenderPass::SetShaderParameters failed for renderpass: ERROR: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLVolumeRGBTable.h, line vtkTextureObject not initialized!Failed to query max texture size! using default 1024.Warning: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLVolumeRGBTable.h, line This OpenGL implementation does not support the required texture size of , falling back to maximum allowed, .This may cause an incorrect color table mapping.vtkOpenGLRenderWindowERROR: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLVolumeOpacityTable.h, line Warning: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLVolumeOpacityTable.h, line . Falling back to maximum allowed, ERROR: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLTransferFunction2D.h, line Warning: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLTransferFunction2D.h, line ERROR: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLVolumeGradientOpacityTable.h, line Warning: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLVolumeGradientOpacityTable.h, line vtkOpenGLCameravtkGPUVolumeRayCastMapperVisibilitySort: UseFloatingPointFrameBuffer: TrueFalseERROR: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLProjectedTetrahedraMapper.cxx, line Support for not implementedWarning: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkOpenGLProjectedTetrahedraMapper.cxx, line Missing FBO support. The algorithm may produce visual artifacts.The required extensions are not supported.PTM::AllocateFOResourcesPTM::RenderInvalid vtkOpenGLRenderWindowEncountered 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.GLSafeUpdateProgressstart end vtkOpenGLProjectedTetrahedraMappervtkProjectedTetrahedraMappervtkUnstructuredGridVolumeMapperRefusing to upload empty array.//VTK::System::Dec //VTK::Output::Dec varying vec2 tcoordVC; uniform sampler2D source; uniform float scale; void main(void) { gl_FragData[0] = texture2D(source,tcoordVC)*scale; } sourcescalevtkOpenGLRayCastImageDisplayHelpervtkRayCastImageDisplayHelperERROR: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkSmartVolumeMapper.cxx, line Internal Error!Could not find the requested vtkDataArray! Warning: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkSmartVolumeMapper.cxx, line Data array is not supported byFixedPointVolumeRCMapper (either cell data or multiple components).Internal Error: Invalid RequestedRenderModeInternal Error: Invalid CurrentRenderModeFailed to setup vector rendering mode! No input.Failed to set the active attribute in magnitude filter!MagnitudeInternal Error: No RGBTransferFunction has been set!Internal Error: No ScalarOpacity has been set!Unknown vector rendering mode!RayCastAndTextureRenderMode and TextureRenderMode no longer supportedInvalid Render Mode.Could not create image - no available mapperFinalColorWindow: FinalColorLevel: RequestedRenderMode: InteractiveUpdateRate: InteractiveAdjustSampleDistances: InterpolationMode: MaxMemoryInBytes:MaxMemoryFraction:AutoAdjustSampleDistances: SampleDistance: vtkSmartVolumeMapperERROR: In /Volumes/Data/workspace/med-macos-free/ExtProjs/VTK/Rendering/VolumeOpenGL2/vtkVolumeTexture.cxx, line Invalid mapper!Interpolation 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! vtkVolumeTexture//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 varying vec3 ip_textureCoords; varying vec3 ip_vertexPos; ////////////////////////////////////////////////////////////////////////////// /// /// Outputs /// ////////////////////////////////////////////////////////////////////////////// vec4 g_fragColor = vec4(0.0); ////////////////////////////////////////////////////////////////////////////// /// /// Uniforms, attributes, and globals /// ////////////////////////////////////////////////////////////////////////////// vec3 g_dataPos; vec3 g_dirStep; vec4 g_srcColor; vec4 g_eyePosObj; bool g_exit; bool g_skip; float g_currentT; float g_terminatePointMax; uniform vec4 in_volume_scale; uniform vec4 in_volume_bias; //VTK::Output::Dec //VTK::Base::Dec //VTK::Termination::Dec //VTK::Cropping::Dec //VTK::Clipping::Dec //VTK::Shading::Dec //VTK::BinaryMask::Dec //VTK::CompositeMask::Dec //VTK::GradientCache::Dec //VTK::ComputeOpacity::Dec //VTK::ComputeGradient::Dec //VTK::ComputeGradientOpacity1D::Dec //VTK::ComputeLighting::Dec //VTK::ComputeColor::Dec //VTK::ComputeRayDirection::Dec //VTK::Picking::Dec //VTK::RenderToImage::Dec //VTK::DepthPeeling::Dec /// 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_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; } ////////////////////////////////////////////////////////////////////////////// /// /// 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::Terminate::Init //VTK::Cropping::Init //VTK::Clipping::Init //VTK::RenderToImage::Init //VTK::DepthPass::Init } /** * 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::DepthPeeling::Ray::PathCheck //VTK::Shading::Init /// For all samples along the ray while (!g_exit) { //VTK::Base::Impl //VTK::Cropping::Impl //VTK::Clipping::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::Base::Dec //VTK::Termination::Dec //VTK::Cropping::Dec //VTK::Shading::Dec ////////////////////////////////////////////////////////////////////////////// /// /// Inputs /// ////////////////////////////////////////////////////////////////////////////// attribute vec3 in_vertexPos; ////////////////////////////////////////////////////////////////////////////// /// /// Outputs /// ////////////////////////////////////////////////////////////////////////////// /// 3D texture coordinates for texture lookup in the fragment shader varying vec3 ip_textureCoords; varying 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: 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 attribute vec4 vertexDC; attribute vec3 scalarColor; attribute float depthArray; attribute float attenuationArray; varying float fdepth; varying float fattenuation; varying vec3 fcolor; void main() { fcolor = scalarColor; fdepth = depthArray; fattenuation = attenuationArray; gl_Position = vertexDC; } //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 varying vec3 fcolor; varying float fdepth; varying 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; } } Override for vtkRenderingVolumeOpenGL2 modulevtk version 8.1.2vtkRenderingVolumeOpenGL2ObjectFactoryvtkObjectFactoryvtkRenderingVolumeOpenGL2 factory overrides. HLXQ!Q!Xa Q aQQpmdEpm@or{,P h`|` (08LP\plPH0&)+0<@E(GDM0Na\bjz@`$8p0l0 P0L`t @0 `0 %l.0=dL0a dq rr0s0s@sPPt`tpuy@~p0p<l,l$Р4D TP `$p4Tt`@@pHX h|00@"#  $`&D'X*|048PB8@FhHNVXpZ(k<syp`$ Tl E  0PP    p  ` P@P``##$X`XXYP[[0\\`]]^0beef`qq `sw`xPе@`0@ 0@00 `@ ` ` P $&'- 0P;`;P<>PFGPK0MpNN0P`[\]cgim0n oo oq q@qrr v0w xp00е@```  P 0 `p0 @    P   " & *03 `3 3 344p;p< =@C0EEFGK LMNPOPQQ UUUU VWWXpY P\]pbbPrХ PP p0 `pд@P  @@Ppp pP0  0PP PP P P 0  @p`PHHIPJK`KKK L0LPLL`@``#R@pp Ќ0PЍ 0P` wpЄ0Ўp@Pp`Џ0@  cc dЌ0PЍ 0P`ppddЎd@PdpeeЏ0@efp@fPfpffpfffgp@gPgpggpgggh@hPhhhhh i0i@iPiiiiijj@jPjpjjjjjk kp0k@k`kpkkkkkl l@l`lpllll0=lm m0mPm`mmmpmmmn n0n`nopq qq rr sH qq0ss sqqsPt sqqtu spvpuvx0p"HwPwwy@yyyh@@M|p@`{}@{}x@0hppP`p3p@PpЌ0PЍ 0P`ppddЎ@d8!!p!@"0!P!"p"# #P#!@NNH`'p'NЌ0PЍ 0EP`ppddЎ'd@PdpeeЏ0@e0O`OpOOlOOO0P@PPP`PP`lPQQ Q0Qp`QpQQQpPmQR RPR`RpRRR0k  ~XXp@ 0йjdnxBLVl`(2<FPZjN"&t0:D Xb,6@JT~NXblv  *4>HR\fpzv$^hr |.8 *4>H$.8BLV",6@`jt~ (2<FPZdnxJT^hr|&R\f0:DNXblvpz  *4>HR\fpz$.t8~BLV`&0:DUa!0RAU0WASBp SCp@pZLpphRDpRA`B`ApSBp SCp@pZLpphp(pRApVBWC`lAWApSGSCp(pSGSCp(pSGSCp(pSGSCp(pSBWKpSBRCpSBSB]0pUApRASBp SCp@pZLpphp(pRApVBXBRAWApSBp SCp \ApSBp SCp@pZLpphp(pRApVBXB`0InitializeEP11vtkRendererP9vtkVolume>8Connect>5SetupVectorModeEP9vtkVolume?9CreateCanonicalViewEP11vtkRendererP9vtkVolumeS3_P12vtkImageDataiPdS6_A3SetVectorModeEiA  MapperInputEP15vtkVolumeMapper?FilterInputEP16vtkImageResample?   2SetRequestedRenderModeEi@7Set@4ReleaseGraphicsResourcesEP9vtkWindowA8SetInterpolationModeToLinearEvA1GetLastUsedRenderModeEvAЄ DefaultEv@RayCastEv@  RequestedRenderModeToGPUEvAInterpolationModeToCubicEvA Њ         CADB1B3NewEvD9D2G2EvB1EvB  2EvB1EvD0EvD 1C0LoadVolumeEP11vtkRendererP12vtkImageDataP12vtkDataArrayiE9E2F6F5F3H8AreDimensionsValidEP16vtkTextureObjectiiiIClearBlocksEvDSplitVolumeEP12vtkImageDataRK8vtkTupleIiLi3EEELoadTextureEiPNS_11VolumeBlockEF    SetMapperEP31vtkOpenGLGPUVolumeRayCastMapperEPrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndentI  н AdjustExtentForCellER8vtkTupleIiLi6EEFSelectTextureFormatERjS0_RiiiF  CreateBlocksEjjiFGetNextBlockEvF  SetInterpolationEiFComputeBlockSizeEPiF   SafeLoadTextureEP16vtkTextureObjectiiiiiPvGGetScaleAndBiasEiPdRfS1_H 4ReleaseGraphicsResourcesEP9vtkWindowH3UpdateInterpolationTypeEiH1SortBlocksBackToFrontEP11vtkRendererP12vtkMatrix4x4H    SetPartitionsEiiiIGetPartitionsEvI   3NewEvJCJ19GetVTKSourceVersionEvJ9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndentJ1EvJ2EvJ4vtkRenderingVolumeOpenGL2_AutoInit_ConstructvK3vtkRenderingVolumeOpenGL2_AutoInit_DestructvKSKVOIP2K3LNSt3__11M16vtkVolumeTextureO5vtkMultiBlockVolumeMapperL0vtkSmartVolumeMapperO1vtkOpenGLGPUVolumeRayCastMapperM4vtkOpenGLN8vtkRenderingVolumeOpenGL2ObjectFactoryO9basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEEN5basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEEN8basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEENProjectedTetrahedraMapperORayCastImageDisplayHelperO2O3P16vtkVolumeTextureU5vtkMultiBlockVolumeMapperP0vtkSmartVolumeMapperU2P3QNSt3__11R16vtkVolumeTextureU5vtkMultiBlockVolumeMapperP0vtkSmartVolumeMapperU1vtkOpenGLGPUVolumeRayCastMapperQ4vtkOpenGLT8vtkRenderingVolumeOpenGL2ObjectFactoryU1vtkOpenGLGPUVolumeRayCastMapperR4vtkOpenGLT8vtkRenderingVolumeOpenGL2ObjectFactoryU9basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEES5basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEES8basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEESȠProjectedTetrahedraMapperTRayCastImageDisplayHelperUProjectedTetrahedraMapperTRayCastImageDisplayHelperUЮظfsUvsUVSUFSU p  `` 0``pP  @  @  PP(  P0`PPP` & PPP pPP  P pPPPpPPP P" ` `  P`p `0    0(` `P 00@0 0 0 0 0PPP00 P  @      0 00@``````@@0P` P0   000p` P`P@`P  `g`P P0`pPPpp P`p0 0`P 0000`  `PP00 P0`0 0 00`     `p0 @ppP@P0&  `@` `)30f`y4 ^ opjQ Ќԓ7\0PޔV̕ЍM 0ҖP`(pS61v>wԚ.bЎ؛4f@Pɜpp`pp֝p6plppp>pkڟInЏѠ0@>vס А8`Po@ZԤW}`m æ0?`EP2Pvp"nP0\#0 #ծ@#,P%t&)+l44 5cp588a@99:[P:p::U;;<:0<P<<1>?Ͷ ?B?0@:@CCaC@DDQEPEE@EǻGQ@M|ʼ&׽=f  ,LLcc dpd&dZdddeeCesf@fPf2pfrfffFfg@gPg%pgXgggg#hX@hPhh hKhh i0iX@iPii#iliijjQ@jPjpjj-jmjjk kO0kz0k@k`kpk>k|kkklM l@l`l`l*plellllJlm m0m-PmhPm`mm#mQmmmn nH0n`nopCqqqq r r/ sV0sssPtt uBpuvv6w~Pww*y@yy0y`{{#|n}}@~5PWp}z0Pjpp3RР0K 6_Ь0`\P*`upA&O 3i6PjpRW}P Q!!@"<"y"# #&P#Z`#NNN0OM`OpOOOOEOx0P@PPP!`PTPPQQD Q{0Q`QpQ@QQQR2 RbPR`RpRR(RYRTT TT  p8 W`}OЅ0_$3s 0Pй8J\o,Ph|8(8L*\<NlatHo0 (D2EX\k~$80l,@Th0|L`t@0`DX lld  04@HP\`pp<l$8L,`lt$4DT8 $*4<Tt\atH X8h|%7<o8 D*X<|Na8Ih\7N(<Io$8Tl%G3   , H W ` z  (  & @q `  `h  (  }    X+  W    `J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J4иg[`Wk^\g s~p~x/srsr cIc{yx:XW~pZU S-XHXcV~04 N8#*kA7@FRHPBE F6 EpFPED& Dd E # ' He $  $ p' `' `& rG v v p z! Q `x {  A 0x Є  0xS `D)pmOp w@! nEnipp@o.#M0<p2 0(|z@0z+arj``pЎ)@pIШ` /j 0Ngbps:prM0_`iryjB p  !@lw!`!pB"P"n##| $zs$$$c6%o%p%R&&'0c'@#( ))|*0*+0+, 6--: .0KT.%.C/ /0aF0Mr00=0'1 NQ1{111P1=222`A3@334@b4p4@4P*5PW5@5`5 60!6P!60I7!7 7p!58b888809Z9 990:a: y: @: : : ; 81; @_; H; @; ;<S< o<<<< =9=h=="> X-> PI> (j> > > (> ? hJ ? pJ-? JI? xJe?u???? @ .@ K@p@@@@ A )A LA }A A A A KB B B B C 3C [C C C C 7D aD D D E >E gE E E -F ZF F F F 3G hG G G G (H iH H H H *I FI yI I II J /JZJJJJJJ"K@KfKK KKKLmLLM3MPMqMMMMNYNNNN%OBOOOO PNPhPPPP+QeQQQQR 2R`RRRRR SKStSSSS#TfTTTT(UKUUUU VVW*WSWWWW X=XnXXX"YJYoYYYY!ZJZsZZZZ+[X[[[\9\n\\\\]*]O]r]]]^ G^ j^ ^^^^_!_G_m____/`]````aYa xaa aab@bbbbb c+cKcoc c cc d+dNdrddd d e :e eeee f 5fVf xf ff-gOgrgggh0h_hhhh iFiiiij'jjk8kxkklNlll+mQmmmn?nnnnobooopRpppq9qvqqq%r`rrrsNsusssstStu.uVuuuuKvvv\wwwx9x`xxxxEyyy&zSzzzzz z{:{Z{|{{{{#|M|b|{||||}0}C}^}s}}}~?~W~|~~~=dN5́[قE~.cτ9n؅ Bxeއ[ш*BXɉUf}ڊBvH^֌PʍFNVȎ֎/F_vЏ$6IV_myĐӐ $)19M./012345678;>BK]`ghijklmnopqrstu{}      !"#$%&')*,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPSTUVWXYZ_`abcdefghijklopuvwxyz{|}~[./012345678;>BK]`ghijklmnopqrstu{}      !"#$%&')*,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPSTUVWXYZ_`abcdefghijklopuvwxyz{|}~ __Z43vtkRenderingVolumeOpenGL2_AutoInit_Destructv__Z44vtkRenderingVolumeOpenGL2_AutoInit_Constructv__ZN16vtkVolumeTexture10LoadVolumeEP11vtkRendererP12vtkImageDataP12vtkDataArrayi__ZN16vtkVolumeTexture11ClearBlocksEv__ZN16vtkVolumeTexture11LoadTextureEiPNS_11VolumeBlockE__ZN16vtkVolumeTexture11SplitVolumeEP12vtkImageDataRK8vtkTupleIiLi3EE__ZN16vtkVolumeTexture12CreateBlocksEjji__ZN16vtkVolumeTexture12GetNextBlockEv__ZN16vtkVolumeTexture13GetPartitionsEv__ZN16vtkVolumeTexture13SetPartitionsEiii__ZN16vtkVolumeTexture15GetScaleAndBiasEiPdRfS1___ZN16vtkVolumeTexture15SafeLoadTextureEP16vtkTextureObjectiiiiiPv__ZN16vtkVolumeTexture16ComputeBlockSizeEPi__ZN16vtkVolumeTexture16SetInterpolationEi__ZN16vtkVolumeTexture18AreDimensionsValidEP16vtkTextureObjectiii__ZN16vtkVolumeTexture19AdjustExtentForCellER8vtkTupleIiLi6EE__ZN16vtkVolumeTexture19SelectTextureFormatERjS0_Riii__ZN16vtkVolumeTexture21SortBlocksBackToFrontEP11vtkRendererP12vtkMatrix4x4__ZN16vtkVolumeTexture23UpdateInterpolationTypeEi__ZN16vtkVolumeTexture24ReleaseGraphicsResourcesEP9vtkWindow__ZN16vtkVolumeTexture3NewEv__ZN16vtkVolumeTexture9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN16vtkVolumeTexture9SetMapperEP31vtkOpenGLGPUVolumeRayCastMapper__ZN16vtkVolumeTextureC1Ev__ZN16vtkVolumeTextureC2Ev__ZN16vtkVolumeTextureD0Ev__ZN16vtkVolumeTextureD1Ev__ZN16vtkVolumeTextureD2Ev__ZN20vtkSmartVolumeMapper10InitializeEP11vtkRendererP9vtkVolume__ZN20vtkSmartVolumeMapper13SetVectorModeEi__ZN20vtkSmartVolumeMapper15SetupVectorModeEP9vtkVolume__ZN20vtkSmartVolumeMapper17ComputeRenderModeEP11vtkRendererP9vtkVolume__ZN20vtkSmartVolumeMapper18ConnectFilterInputEP16vtkImageResample__ZN20vtkSmartVolumeMapper18ConnectMapperInputEP15vtkVolumeMapper__ZN20vtkSmartVolumeMapper19CreateCanonicalViewEP11vtkRendererP9vtkVolumeS3_P12vtkImageDataiPdS6___ZN20vtkSmartVolumeMapper21GetLastUsedRenderModeEv__ZN20vtkSmartVolumeMapper22SetRequestedRenderModeEi__ZN20vtkSmartVolumeMapper24ReleaseGraphicsResourcesEP9vtkWindow__ZN20vtkSmartVolumeMapper27SetInterpolationModeToCubicEv__ZN20vtkSmartVolumeMapper27SetRequestedRenderModeToGPUEv__ZN20vtkSmartVolumeMapper28SetInterpolationModeToLinearEv__ZN20vtkSmartVolumeMapper30SetRequestedRenderModeToOSPRayEv__ZN20vtkSmartVolumeMapper31SetRequestedRenderModeToDefaultEv__ZN20vtkSmartVolumeMapper31SetRequestedRenderModeToRayCastEv__ZN20vtkSmartVolumeMapper37SetInterpolationModeToNearestNeighborEv__ZN20vtkSmartVolumeMapper3NewEv__ZN20vtkSmartVolumeMapper6RenderEP11vtkRendererP9vtkVolume__ZN20vtkSmartVolumeMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN20vtkSmartVolumeMapperC1Ev__ZN20vtkSmartVolumeMapperC2Ev__ZN20vtkSmartVolumeMapperD0Ev__ZN20vtkSmartVolumeMapperD1Ev__ZN20vtkSmartVolumeMapperD2Ev__ZN25vtkMultiBlockVolumeMapper11LoadDataSetEP11vtkRendererP9vtkVolume__ZN25vtkMultiBlockVolumeMapper11SetCroppingEi__ZN25vtkMultiBlockVolumeMapper11SortMappersEP11vtkRendererP12vtkMatrix4x4__ZN25vtkMultiBlockVolumeMapper12ClearMappersEv__ZN25vtkMultiBlockVolumeMapper12CreateMapperEv__ZN25vtkMultiBlockVolumeMapper12SetBlendModeEi__ZN25vtkMultiBlockVolumeMapper13ComputeBoundsEv__ZN25vtkMultiBlockVolumeMapper13CreateMappersEP17vtkDataObjectTreeP11vtkRendererP9vtkVolume__ZN25vtkMultiBlockVolumeMapper13SetScalarModeEi__ZN25vtkMultiBlockVolumeMapper13SetVectorModeEi__ZN25vtkMultiBlockVolumeMapper17SelectScalarArrayEPKc__ZN25vtkMultiBlockVolumeMapper17SelectScalarArrayEi__ZN25vtkMultiBlockVolumeMapper18SetArrayAccessModeEi__ZN25vtkMultiBlockVolumeMapper18SetVectorComponentEi__ZN25vtkMultiBlockVolumeMapper22GetDataObjectTreeInputEv__ZN25vtkMultiBlockVolumeMapper22SetCroppingRegionFlagsEi__ZN25vtkMultiBlockVolumeMapper22SetJitteringResolutionEii__ZN25vtkMultiBlockVolumeMapper23SetCroppingRegionPlanesEPd__ZN25vtkMultiBlockVolumeMapper23SetCroppingRegionPlanesEdddddd__ZN25vtkMultiBlockVolumeMapper24ApplyJitteringResolutionEP20vtkSmartVolumeMapper__ZN25vtkMultiBlockVolumeMapper24FillInputPortInformationEiP14vtkInformation__ZN25vtkMultiBlockVolumeMapper24ReleaseGraphicsResourcesEP9vtkWindow__ZN25vtkMultiBlockVolumeMapper3NewEv__ZN25vtkMultiBlockVolumeMapper6RenderEP11vtkRendererP9vtkVolume__ZN25vtkMultiBlockVolumeMapper9GetBoundsEv__ZN25vtkMultiBlockVolumeMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN25vtkMultiBlockVolumeMapperC1Ev__ZN25vtkMultiBlockVolumeMapperC2Ev__ZN25vtkMultiBlockVolumeMapperD0Ev__ZN25vtkMultiBlockVolumeMapperD1Ev__ZN25vtkMultiBlockVolumeMapperD2Ev__ZN31vtkOpenGLGPUVolumeRayCastMapper11BuildShaderEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper11DoGPURenderEP11vtkRendererP9vtkVolumeP15vtkOpenGLCameraP16vtkShaderProgramii__ZN31vtkOpenGLGPUVolumeRayCastMapper11PreLoadDataEP11vtkRendererP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal10EndPickingEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal12BeginPickingEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal12SetPickingIdEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal12UpdateVolumeEP17vtkVolumeProperty__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal13ComputeBoundsEP12vtkImageData__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal13ExitDepthPassEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal14EndImageSampleEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal14IsCameraInsideEP11vtkRendererP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal14SetupDepthPassEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal16BeginImageSampleEP11vtkRendererP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal16DeleteTransfer1DEv__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal16DeleteTransfer2DEv__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal17CheckPickingStateEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal17CheckPropertyKeysEP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal17SetClippingPlanesEP11vtkRendererP16vtkShaderProgramP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal18CreateNoiseTextureEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal18SetCroppingRegionsEP11vtkRendererP16vtkShaderProgramP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal19CaptureDepthTextureEP11vtkRendererP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal19CreateBufferObjectsEv__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal19DeleteBufferObjectsEv__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal19ExitRenderToTextureEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal20RenderVolumeGeometryEP11vtkRendererP16vtkShaderProgramP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal20SetupRenderToTextureEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal21SetLightingParametersEP11vtkRendererP16vtkShaderProgramP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal22UpdateSamplingDistanceEP12vtkImageDataP11vtkRendererP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal22UpdateTransferFunctionEP11vtkRendererP9vtkVolumeii__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal23SetupTransferFunction1DEP11vtkRendererii__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal23SetupTransferFunction2DEP11vtkRendererii__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal24ActivateTransferFunctionEP16vtkShaderProgramP17vtkVolumePropertyi__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal24ComputeCellToPointMatrixEv__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal24InitializeImageSampleFBOEP11vtkRenderer__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal24UpdateTransferFunction2DEP11vtkRendererP9vtkVolumej__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal25ConvertTextureToImageDataEP16vtkTextureObjectP12vtkImageData__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal25ReleaseGraphicsTransfer1DEP9vtkWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal25ReleaseGraphicsTransfer2DEP9vtkWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal26DeactivateTransferFunctionEP17vtkVolumePropertyi__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal26InitializeTransferFunctionEP11vtkRendererP9vtkVolumeii__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal27UpdateColorTransferFunctionEP11vtkRendererP9vtkVolumej__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal28GetNumImageSampleDrawBuffersEP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal29UpdateOpacityTransferFunctionEP11vtkRendererP9vtkVolumej__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal33LoadRequireDepthTextureExtensionsEP15vtkRenderWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal33ReleaseDepthPassGraphicsResourcesEP9vtkWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal35ReleaseImageSampleGraphicsResourcesEP9vtkWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal37UpdateGradientOpacityTransferFunctionEP11vtkRendererP9vtkVolumej__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal39ReleaseRenderToTextureGraphicsResourcesEP9vtkWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal8LoadDataEP11vtkRendererP9vtkVolumeP17vtkVolumePropertyP12vtkImageDataP12vtkDataArray__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternal8LoadMaskEP11vtkRendererP12vtkImageDataS4_P9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper13GetColorImageEP12vtkImageData__ZN31vtkOpenGLGPUVolumeRayCastMapper13GetDepthImageEP12vtkImageData__ZN31vtkOpenGLGPUVolumeRayCastMapper13SetPartitionsEttt__ZN31vtkOpenGLGPUVolumeRayCastMapper15GetColorTextureEv__ZN31vtkOpenGLGPUVolumeRayCastMapper15GetDepthTextureEv__ZN31vtkOpenGLGPUVolumeRayCastMapper16ReplaceShaderRTTERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper17GetShaderTemplateERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEE__ZN31vtkOpenGLGPUVolumeRayCastMapper17ReplaceShaderBaseERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper17SetNoiseGeneratorEP19vtkImplicitFunction__ZN31vtkOpenGLGPUVolumeRayCastMapper19ReplaceShaderValuesERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper20AddShaderReplacementEN9vtkShader4TypeERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEbSA_b__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__ZN31vtkOpenGLGPUVolumeRayCastMapper22ClearShaderReplacementEN9vtkShader4TypeERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEb__ZN31vtkOpenGLGPUVolumeRayCastMapper22ComputeReductionFactorEd__ZN31vtkOpenGLGPUVolumeRayCastMapper23GetRenderPassStageMTimeEP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper23ReplaceShaderRenderPassERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP9vtkVolumeb__ZN31vtkOpenGLGPUVolumeRayCastMapper24ReleaseGraphicsResourcesEP9vtkWindow__ZN31vtkOpenGLGPUVolumeRayCastMapper24ReplaceShaderTerminationERNSt3__13mapIN9vtkShader4TypeEPS2_NS0_4lessIS3_EENS0_9allocatorINS0_4pairIKS3_S4_EEEEEEP11vtkRendererP9vtkVolumei__ZN31vtkOpenGLGPUVolumeRayCastMapper29SetShaderParametersRenderPassEP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper3NewEv__ZN31vtkOpenGLGPUVolumeRayCastMapper9GPURenderEP11vtkRendererP9vtkVolume__ZN31vtkOpenGLGPUVolumeRayCastMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN31vtkOpenGLGPUVolumeRayCastMapperC1Ev__ZN31vtkOpenGLGPUVolumeRayCastMapperC2Ev__ZN31vtkOpenGLGPUVolumeRayCastMapperD0Ev__ZN31vtkOpenGLGPUVolumeRayCastMapperD1Ev__ZN31vtkOpenGLGPUVolumeRayCastMapperD2Ev__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__ZN38vtkRenderingVolumeOpenGL2ObjectFactory19GetVTKSourceVersionEv__ZN38vtkRenderingVolumeOpenGL2ObjectFactory3NewEv__ZN38vtkRenderingVolumeOpenGL2ObjectFactory9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN38vtkRenderingVolumeOpenGL2ObjectFactoryC1Ev__ZN38vtkRenderingVolumeOpenGL2ObjectFactoryC2Ev__ZTI16vtkVolumeTexture__ZTI20vtkSmartVolumeMapper__ZTI25vtkMultiBlockVolumeMapper__ZTI31vtkOpenGLGPUVolumeRayCastMapper__ZTI34vtkOpenGLProjectedTetrahedraMapper__ZTI34vtkOpenGLRayCastImageDisplayHelper__ZTI38vtkRenderingVolumeOpenGL2ObjectFactory__ZTINSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTINSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTINSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTS16vtkVolumeTexture__ZTS20vtkSmartVolumeMapper__ZTS25vtkMultiBlockVolumeMapper__ZTS31vtkOpenGLGPUVolumeRayCastMapper__ZTS34vtkOpenGLProjectedTetrahedraMapper__ZTS34vtkOpenGLRayCastImageDisplayHelper__ZTS38vtkRenderingVolumeOpenGL2ObjectFactory__ZTSNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTSNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTSNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE__ZTV16vtkVolumeTexture__ZTV20vtkSmartVolumeMapper__ZTV25vtkMultiBlockVolumeMapper__ZTV31vtkOpenGLGPUVolumeRayCastMapper__ZTV34vtkOpenGLProjectedTetrahedraMapper__ZTV34vtkOpenGLRayCastImageDisplayHelper__ZTV38vtkRenderingVolumeOpenGL2ObjectFactory_raycasterfs_raycastervs_vtkglProjectedTetrahedraFS_vtkglProjectedTetrahedraVS__Unwind_Resume__Z31vtkOutputWindowDisplayErrorTextPKc__Z33vtkOutputWindowDisplayWarningTextPKc__Z40vtkOutputWindowDisplayGenericWarningTextPKc__ZN10vtkDataSet9GetBoundsEPd__ZN11vtkPolyData3NewEv__ZN11vtkPolyData8GetPolysEv__ZN11vtkRenderer15GetActiveCameraEv__ZN11vtkTimerLog10StartTimerEv__ZN11vtkTimerLog14GetElapsedTimeEv__ZN11vtkTimerLog9StopTimerEv__ZN12vtkAlgorithm10UnRegisterEP13vtkObjectBase__ZN12vtkAlgorithm11UpdatePieceEiiiPKi__ZN12vtkAlgorithm12GetExecutiveEv__ZN12vtkAlgorithm12SetExecutiveEP12vtkExecutive__ZN12vtkAlgorithm12UpdateExtentEPKi__ZN12vtkAlgorithm13GetOutputPortEi__ZN12vtkAlgorithm13ModifyRequestEP14vtkInformationi__ZN12vtkAlgorithm14ProcessRequestEP14vtkInformationPP20vtkInformationVectorS3___ZN12vtkAlgorithm14SetInformationEP14vtkInformation__ZN12vtkAlgorithm14UpdateProgressEd__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__ZN12vtkAlgorithm8RegisterEP13vtkObjectBase__ZN12vtkDataArray16InsertNextTuple3Eddd__ZN12vtkExecutive19GetInputInformationEii__ZN12vtkImageData3NewEv__ZN12vtkMatrix4x413MultiplyPointEPKdPKfPf__ZN12vtkMatrix4x413MultiplyPointEPKdS1_Pd__ZN12vtkMatrix4x43NewEv__ZN12vtkMatrix4x46InvertEPKdPd__ZN12vtkMatrix4x48DeepCopyEPdPKd__ZN12vtkMatrix4x48IdentityEPd__ZN12vtkMatrix4x49TransposeEPKdPd__ZN12vtkTimeStamp8ModifiedEv__ZN13vtkCollection14RemoveAllItemsEv__ZN13vtkCollection7AddItemEP9vtkObject__ZN13vtkDataObject11DATA_OBJECTEv__ZN13vtkFloatArray3NewEv__ZN13vtkObjectBase10FastDeleteEv__ZN13vtkObjectBase10UnRegisterEPS___ZN13vtkObjectBase11PrintHeaderERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN13vtkObjectBase12PrintTrailerERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN13vtkObjectBase16ReportReferencesEP19vtkGarbageCollector__ZN13vtkObjectBase20InitializeObjectBaseEv__ZN13vtkObjectBase6DeleteEv__ZN13vtkObjectBase8IsTypeOfEPKc__ZN13vtkObjectBase8RegisterEPS___ZN14vtkImageResize3NewEv__ZN14vtkInformation3GetEP24vtkInformationIntegerKey__ZN14vtkInformation3GetEP27vtkInformationDataObjectKey__ZN14vtkInformation3GetEP33vtkInformationObjectBaseVectorKeyi__ZN14vtkInformation3HasEP24vtkInformationIntegerKey__ZN14vtkInformation3HasEP33vtkInformationObjectBaseVectorKey__ZN14vtkInformation3NewEv__ZN14vtkInformation3SetEP29vtkInformationStringVectorKeyPKci__ZN14vtkInformation5ClearEv__ZN14vtkInformation6LengthEP33vtkInformationObjectBaseVectorKey__ZN14vtkInformation9CopyEntryEPS_P33vtkInformationObjectBaseVectorKeyi__ZN14vtkOpenGLActor19GLDepthMaskOverrideEv__ZN14vtkPerlinNoise3NewEv__ZN15vtkOpenGLHelper24ReleaseGraphicsResourcesEP9vtkWindow__ZN15vtkOpenGLHelperC1Ev__ZN15vtkOpenGLHelperD1Ev__ZN15vtkVolumeMapper12SetInputDataEP10vtkDataSet__ZN15vtkVolumeMapper12SetInputDataEP12vtkImageData__ZN15vtkVolumeMapper24FillInputPortInformationEiP14vtkInformation__ZN15vtkVolumeMapper29SpacingAdjustedSampleDistanceEPdPi__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__ZN16vtkShaderProgram12SetUniform3fEPKcPKf__ZN16vtkShaderProgram13SetUniform1fvEPKciPKf__ZN16vtkShaderProgram13SetUniform1ivEPKciPKi__ZN16vtkShaderProgram13SetUniform2fvEPKciPA2_Kf__ZN16vtkShaderProgram13SetUniform3fvEPKciPA3_Kf__ZN16vtkShaderProgram13SetUniform4fvEPKciPA4_Kf__ZN16vtkShaderProgram16SetUniformMatrixEPKcP12vtkMatrix4x4__ZN16vtkShaderProgram17UseAttributeArrayEPKcimiiNS_15NormalizeOptionE__ZN16vtkShaderProgram20EnableAttributeArrayEPKc__ZN16vtkTextureObject10Allocate2DEjjii__ZN16vtkTextureObject10DeactivateEv__ZN16vtkTextureObject10SetContextEP21vtkOpenGLRenderWindow__ZN16vtkTextureObject11GetDataTypeEi__ZN16vtkTextureObject11SetDataTypeEj__ZN16vtkTextureObject13AllocateDepthEjji__ZN16vtkTextureObject14GetTextureUnitEv__ZN16vtkTextureObject14GetVTKDataTypeEv__ZN16vtkTextureObject15Create2DFromRawEjjiiPv__ZN16vtkTextureObject15Create3DFromRawEjjjiiPv__ZN16vtkTextureObject16GetDefaultFormatEiib__ZN16vtkTextureObject17SetInternalFormatEj__ZN16vtkTextureObject18GetDefaultDataTypeEi__ZN16vtkTextureObject19CopyFromFrameBufferEiiiiii__ZN16vtkTextureObject21GetMaximumTextureSizeEP21vtkOpenGLRenderWindow__ZN16vtkTextureObject22AllocateProxyTexture3DEjjjii__ZN16vtkTextureObject23GetMaximumTextureSize3DEv__ZN16vtkTextureObject24GetDefaultInternalFormatEiib__ZN16vtkTextureObject24ReleaseGraphicsResourcesEP9vtkWindow__ZN16vtkTextureObject3NewEv__ZN16vtkTextureObject4BindEv__ZN16vtkTextureObject8ActivateEv__ZN16vtkTextureObject8DownloadEv__ZN16vtkTextureObject9GetFormatEiib__ZN16vtkTextureObject9SetFormatEj__ZN17vtkAbstractMapper10GetScalarsEP10vtkDataSetiiiPKcRi__ZN17vtkAbstractMapper17SetClippingPlanesEP18vtkPlaneCollection__ZN17vtkAbstractMapper8GetMTimeEv__ZN17vtkImageAlgorithm12SetInputDataEP13vtkDataObject__ZN17vtkImageAlgorithm8GetInputEi__ZN17vtkImageAlgorithm9GetOutputEv__ZN17vtkImageMagnitude3NewEv__ZN17vtkOStreamWrapperlsEPKc__ZN17vtkOStreamWrapperlsEPv__ZN17vtkOStreamWrapperlsEi__ZN17vtkPolyDataMapper3NewEv__ZN17vtkVolumeProperty10GetAmbientEi__ZN17vtkVolumeProperty10GetDiffuseEi__ZN17vtkVolumeProperty11GetSpecularEi__ZN17vtkVolumeProperty16GetScalarOpacityEi__ZN17vtkVolumeProperty16GetSpecularPowerEi__ZN17vtkVolumeProperty16SetScalarOpacityEiP20vtkPiecewiseFunction__ZN17vtkVolumeProperty18GetGradientOpacityEi__ZN17vtkVolumeProperty21GetTransferFunction2DEi__ZN17vtkVolumeProperty22GetRGBTransferFunctionEi__ZN17vtkVolumeProperty28GetScalarOpacityUnitDistanceEi__ZN17vtkVolumeProperty8GetShadeEi__ZN17vtkVolumeProperty8SetColorEiP24vtkColorTransferFunction__ZN18vtkDensifyPolyData3NewEv__ZN18vtkLightCollection12GetNextLightERPv__ZN18vtkPlaneCollection3NewEv__ZN19vtkAbstractMapper3D9GetBoundsEPd__ZN19vtkOpenGLRenderPass12RenderPassesEv__ZN19vtkSmartPointerBaseC2EP13vtkObjectBase__ZN19vtkSmartPointerBaseC2EP13vtkObjectBaseRKNS_11NoReferenceE__ZN19vtkSmartPointerBaseC2ERKS___ZN19vtkSmartPointerBaseC2Ev__ZN19vtkSmartPointerBaseD2Ev__ZN19vtkSmartPointerBaseaSEP13vtkObjectBase__ZN19vtkSmartPointerBaseaSERKS___ZN19vtkUnsignedIntArray3NewEv__ZN20vtkAbstractTransform6UpdateEv__ZN20vtkDataSetAttributes10GetScalarsEv__ZN20vtkDataSetAttributes18SetActiveAttributeEPKci__ZN20vtkDebugLeaksManagerC1Ev__ZN20vtkDebugLeaksManagerD1Ev__ZN20vtkOStrStreamWrapper3strEv__ZN20vtkOStrStreamWrapper5rdbufEv__ZN20vtkOStrStreamWrapper6freezeEi__ZN20vtkOStrStreamWrapperC1Ev__ZN20vtkOStrStreamWrapperD1Ev__ZN20vtkPiecewiseFunction26EstimateMinNumberOfSamplesERKdS1___ZN20vtkPiecewiseFunction7GetSizeEv__ZN20vtkPiecewiseFunction8AddPointEdd__ZN20vtkPiecewiseFunction8GetTableEddiPfi__ZN20vtkPixelBufferObject11UnmapBufferENS_10BufferTypeE__ZN20vtkPixelBufferObject9MapBufferENS_10BufferTypeE__ZN20vtkPolyDataAlgorithm12SetInputDataEP13vtkDataObject__ZN20vtkPolyDataAlgorithm9GetOutputEv__ZN20vtkUnsignedCharArray3NewEv__ZN21vtkClipConvexPolyData3NewEv__ZN21vtkClipConvexPolyData9SetPlanesEP18vtkPlaneCollection__ZN21vtkOpenGLBufferObject14UploadInternalEPKvmNS_10ObjectTypeE__ZN21vtkOpenGLBufferObject24ReleaseGraphicsResourcesEv__ZN21vtkOpenGLBufferObject3NewEv__ZN21vtkOpenGLBufferObject4BindEv__ZN21vtkOpenGLBufferObject7ReleaseEv__ZN21vtkOpenGLRenderWindow26GetContextSupportsOpenGL32Ev__ZN23vtkAOSDataArrayTemplateIfE10GetPointerEx__ZN23vtkAOSDataArrayTemplateIhE10GetPointerEx__ZN23vtkAOSDataArrayTemplateIxE10GetPointerEx__ZN23vtkAbstractVolumeMapper17SelectScalarArrayEPKc__ZN23vtkAbstractVolumeMapper17SelectScalarArrayEi__ZN23vtkAbstractVolumeMapper9GetBoundsEv__ZN23vtkTessellatedBoxSource3NewEv__ZN24vtkColorTransferFunction11AddRGBPointEdddd__ZN24vtkColorTransferFunction26EstimateMinNumberOfSamplesERKdS1___ZN24vtkColorTransferFunction7GetSizeEv__ZN24vtkColorTransferFunction8GetTableEddiPf__ZN24vtkEventForwarderCommandC1Ev__ZN24vtkOSPRayVolumeInterface3NewEv__ZN24vtkOpenGLRenderUtilities10RenderQuadEPfS0_P16vtkShaderProgramP26vtkOpenGLVertexArrayObject__ZN24vtkOpenGLRenderUtilities17PrepFullScreenVAOEP21vtkOpenGLBufferObjectP26vtkOpenGLVertexArrayObjectP16vtkShaderProgram__ZN24vtkOpenGLRenderUtilities18DrawFullScreenQuadEv__ZN24vtkOpenGLRenderUtilities29GetFullScreenQuadVertexShaderEv__ZN24vtkOpenGLRenderUtilities31GetFullScreenQuadGeometryShaderEv__ZN24vtkOpenGLRenderUtilities39GetFullScreenQuadFragmentShaderTemplateEv__ZN25vtkGPUVolumeRayCastMapper14ValidateRenderEP11vtkRendererP9vtkVolume__ZN25vtkGPUVolumeRayCastMapper19CreateCanonicalViewEP11vtkRendererP9vtkVolumeP12vtkImageDataiPdS6___ZN25vtkGPUVolumeRayCastMapper24ClipCroppingRegionPlanesEv__ZN25vtkGPUVolumeRayCastMapper25GetDepthPassContourValuesEv__ZN25vtkGPUVolumeRayCastMapper3NewEv__ZN25vtkGPUVolumeRayCastMapper6RenderEP11vtkRendererP9vtkVolume__ZN25vtkGPUVolumeRayCastMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN25vtkGPUVolumeRayCastMapperC2Ev__ZN25vtkGPUVolumeRayCastMapperD2Ev__ZN26vtkOpenGLFramebufferObject10SetContextEP15vtkRenderWindow__ZN26vtkOpenGLFramebufferObject11GetDrawModeEv__ZN26vtkOpenGLFramebufferObject11GetReadModeEv__ZN26vtkOpenGLFramebufferObject18ActivateDrawBufferEj__ZN26vtkOpenGLFramebufferObject18AddColorAttachmentEjjP16vtkTextureObjectj__ZN26vtkOpenGLFramebufferObject18AddDepthAttachmentEjP16vtkTextureObject__ZN26vtkOpenGLFramebufferObject18InitializeViewportEii__ZN26vtkOpenGLFramebufferObject18SaveCurrentBuffersEj__ZN26vtkOpenGLFramebufferObject18SaveCurrentBuffersEv__ZN26vtkOpenGLFramebufferObject19ActivateDrawBuffersEj__ZN26vtkOpenGLFramebufferObject19PopulateFramebufferEiibiibii__ZN26vtkOpenGLFramebufferObject19SaveCurrentBindingsEj__ZN26vtkOpenGLFramebufferObject19SaveCurrentBindingsEv__ZN26vtkOpenGLFramebufferObject20GetFrameBufferStatusEjRPKc__ZN26vtkOpenGLFramebufferObject21DeactivateDrawBuffersEv__ZN26vtkOpenGLFramebufferObject21RemoveColorAttachmentEjj__ZN26vtkOpenGLFramebufferObject21RemoveDepthAttachmentEj__ZN26vtkOpenGLFramebufferObject22CheckFrameBufferStatusEj__ZN26vtkOpenGLFramebufferObject22RestorePreviousBuffersEj__ZN26vtkOpenGLFramebufferObject22RestorePreviousBuffersEv__ZN26vtkOpenGLFramebufferObject23RestorePreviousBindingsEj__ZN26vtkOpenGLFramebufferObject23RestorePreviousBindingsEv__ZN26vtkOpenGLFramebufferObject3NewEv__ZN26vtkOpenGLFramebufferObject4BindEj__ZN26vtkOpenGLFramebufferObject4BindEv__ZN26vtkOpenGLFramebufferObject6ResizeEii__ZN26vtkOpenGLFramebufferObject6UnBindEv__ZN26vtkOpenGLVertexArrayObject20ShaderProgramChangedEv__ZN26vtkOpenGLVertexArrayObject28AddAttributeArrayWithDivisorEP16vtkShaderProgramP21vtkOpenGLBufferObjectRKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEimiibib__ZN26vtkOpenGLVertexArrayObject3NewEv__ZN26vtkOpenGLVertexArrayObject4BindEv__ZN26vtkOpenGLVertexArrayObject7ReleaseEv__ZN27vtkOpenGLVertexBufferObject3NewEv__ZN28vtkProjectedTetrahedraMapper15TransformPointsEP9vtkPointsPKfS3_P13vtkFloatArray__ZN28vtkProjectedTetrahedraMapper16ReportReferencesEP19vtkGarbageCollector__ZN28vtkProjectedTetrahedraMapper17SetVisibilitySortEP17vtkVisibilitySort__ZN28vtkProjectedTetrahedraMapper18MapScalarsToColorsEP12vtkDataArrayP17vtkVolumePropertyS1___ZN28vtkProjectedTetrahedraMapper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN28vtkProjectedTetrahedraMapperC2Ev__ZN28vtkProjectedTetrahedraMapperD2Ev__ZN28vtkRayCastImageDisplayHelper9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN28vtkRayCastImageDisplayHelperC2Ev__ZN28vtkRayCastImageDisplayHelperD2Ev__ZN31vtkObjectFactoryRegistryCleanupC1Ev__ZN31vtkObjectFactoryRegistryCleanupD1Ev__ZN31vtkUnstructuredGridVolumeMapper12SetInputDataEP10vtkDataSet__ZN31vtkUnstructuredGridVolumeMapper12SetInputDataEP23vtkUnstructuredGridBase__ZN31vtkUnstructuredGridVolumeMapper24FillInputPortInformationEiP14vtkInformation__ZN31vtkUnstructuredGridVolumeMapper8GetInputEv__ZN32vtkFixedPointVolumeRayCastMapper19CreateCanonicalViewEP9vtkVolumeP12vtkImageDataiPdS4___ZN32vtkFixedPointVolumeRayCastMapper3NewEv__ZN7vtkMath19PlaneIntersectsAABBEPKdS1_S1___ZN8vtkActor3NewEv__ZN8vtkLight22GetTransformedPositionEv__ZN8vtkLight24GetTransformedFocalPointEv__ZN8vtkPlane3NewEv__ZN9vtkIdList3NewEv__ZN9vtkObject11AddObserverEmP10vtkCommandf__ZN9vtkObject11HasObserverEPKc__ZN9vtkObject11InvokeEventEPKcPv__ZN9vtkObject11InvokeEventEmPv__ZN9vtkObject12BreakOnErrorEv__ZN9vtkObject16RegisterInternalEP13vtkObjectBasei__ZN9vtkObject18UnRegisterInternalEP13vtkObjectBasei__ZN9vtkObject23GetGlobalWarningDisplayEv__ZN9vtkObject3NewEv__ZN9vtkObject7DebugOnEv__ZN9vtkObject8DebugOffEv__ZN9vtkObject8GetMTimeEv__ZN9vtkObject8ModifiedEv__ZN9vtkObject9PrintSelfERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE9vtkIndent__ZN9vtkObjectC2Ev__ZN9vtkObjectD2Ev__ZN9vtkProp3D9GetCenterEv__ZN9vtkShader3NewEv__ZN9vtkShader7SetTypeENS_4TypeE__ZN9vtkShader9SetSourceERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE__ZN9vtkVolume11GetPropertyEv__ZN9vtkVolume11SetPropertyEP17vtkVolumeProperty__ZN9vtkVolume6UpdateEv__ZNK13vtkObjectBase12GetClassNameEv__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_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__16localeD1Ev__ZNSt3__18ios_base33__set_badbit_and_consider_rethrowEv__ZNSt3__18ios_base4initEPv__ZNSt3__18ios_base5clearEj__ZNSt3__19basic_iosIcNS_11char_traitsIcEEED2Ev__ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9___ZSt9terminatev__ZTI15vtkVolumeMapper__ZTI16vtkObjectFactory__ZTI25vtkGPUVolumeRayCastMapper__ZTI28vtkProjectedTetrahedraMapper__ZTI28vtkRayCastImageDisplayHelper__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_throw___glewBindBuffer___glewBindVertexArray___glewBlendFuncSeparate___glewBlitFramebuffer___glewBufferData___glewDeleteBuffers___glewDeleteVertexArrays___glewDrawRangeElements___glewGenBuffers___glewGenVertexArrays___glewTexSubImage3D___gxx_personality_v0___stack_chk_fail___stack_chk_guard_glBlendFunc_glClear_glClearColor_glCullFace_glDepthMask_glDisable_glDrawElements_glEnable_glFinish_glGetBooleanv_glGetIntegerv_glIsEnabled_glPixelStorei_glViewport_glewIsSupported_memcmp_memcpy_memset_pow_strcmp_strlen_vtkTextureObjectVSdyld_stub_binder__ZNSt3__16vectorIP20vtkSmartVolumeMapperNS_9allocatorIS2_EEED1Ev___clang_call_terminate__ZNK25vtkMultiBlockVolumeMapper20GetClassNameInternalEv__ZN25vtkMultiBlockVolumeMapper3IsAEPKc__ZN31vtkOpenGLGPUVolumeRayCastMapper9PreRenderEP11vtkRendererP9vtkVolumePdS4_ij__ZN31vtkOpenGLGPUVolumeRayCastMapper11RenderBlockEP11vtkRendererP9vtkVolumej__ZN31vtkOpenGLGPUVolumeRayCastMapper10PostRenderEP11vtkRendereri__ZN13vtkObjectBase16CollectRevisionsERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE__ZNK25vtkMultiBlockVolumeMapper19NewInstanceInternalEv__ZN12vtkAlgorithm14GetInformationEv__ZN12vtkAlgorithm15SetAbortExecuteEi__ZN28vtkRayCastImageDisplayHelper22GetPreMultipliedColorsEv__ZN12vtkAlgorithm15GetAbortExecuteEv__ZN12vtkAlgorithm14AbortExecuteOnEv__ZN12vtkAlgorithm15AbortExecuteOffEv__ZN12vtkAlgorithm11SetProgressEd__ZN23vtkAbstractVolumeMapper24GetGradientMagnitudeBiasEv__ZN23vtkAbstractVolumeMapper24GetGradientMagnitudeBiasEi__ZN25vtkGPUVolumeRayCastMapper26GetMaskBlendFactorMinValueEv__ZN12vtkAlgorithm19GetProgressMinValueEv__ZN12vtkAlgorithm19GetProgressMaxValueEv__ZN12vtkAlgorithm11GetProgressEv__ZN12vtkAlgorithm15GetProgressTextEv__ZN12vtkAlgorithm12GetErrorCodeEv__ZN12vtkAlgorithm18SetInputDataObjectEP13vtkDataObject__ZN12vtkAlgorithm18AddInputDataObjectEP13vtkDataObject__ZN12vtkAlgorithm19GetProgressObserverEv__ZN12vtkAlgorithm12SetErrorCodeEm__ZN17vtkAbstractMapper13GetTimeToDrawEv__ZN17vtkAbstractMapper17GetClippingPlanesEv__ZN23vtkAbstractVolumeMapper9GetBoundsEPd__ZN19vtkAbstractMapper3D24IsARenderIntoImageMapperEv__ZN15vtkVolumeMapper19GetCroppingMinValueEv__ZN15vtkVolumeMapper30GetCroppingRegionFlagsMinValueEv__ZN25vtkGPUVolumeRayCastMapper36GetAutoAdjustSampleDistancesMinValueEv__ZN25vtkGPUVolumeRayCastMapper43GetLockSampleDistanceToInputSpacingMinValueEv__ZN25vtkGPUVolumeRayCastMapper23GetUseJitteringMinValueEv__ZN25vtkGPUVolumeRayCastMapper23GetUseDepthPassMinValueEv__ZN25vtkGPUVolumeRayCastMapper18GetAMRModeMinValueEv__ZN28vtkRayCastImageDisplayHelper30GetPreMultipliedColorsMinValueEv__ZN20vtkSmartVolumeMapper28GetInterpolationModeMinValueEv__ZN20vtkSmartVolumeMapper43GetInteractiveAdjustSampleDistancesMinValueEv__ZN20vtkSmartVolumeMapper36GetAutoAdjustSampleDistancesMinValueEv__ZN20vtkSmartVolumeMapper26GetVectorComponentMinValueEv__ZN19vtkAbstractMapper3D16IsARayCastMapperEv__ZN23vtkAbstractVolumeMapper13GetScalarModeEv__ZN23vtkAbstractVolumeMapper12GetArrayNameEv__ZN23vtkAbstractVolumeMapper10GetArrayIdEv__ZN23vtkAbstractVolumeMapper18GetArrayAccessModeEv__ZN23vtkAbstractVolumeMapper25GetGradientMagnitudeScaleEv__ZN23vtkAbstractVolumeMapper25GetGradientMagnitudeScaleEi__ZN31vtkUnstructuredGridVolumeMapper12GetBlendModeEv__ZN15vtkVolumeMapper12GetBlendModeEv__ZN15vtkVolumeMapper23SetAverageIPScalarRangeEdd__ZN15vtkVolumeMapper23GetAverageIPScalarRangeEv__ZN15vtkVolumeMapper23GetAverageIPScalarRangeEPd__ZN25vtkGPUVolumeRayCastMapper36GetAutoAdjustSampleDistancesMaxValueEv__ZN25vtkGPUVolumeRayCastMapper43GetLockSampleDistanceToInputSpacingMaxValueEv__ZN25vtkGPUVolumeRayCastMapper23GetUseJitteringMaxValueEv__ZN25vtkGPUVolumeRayCastMapper23GetUseDepthPassMaxValueEv__ZN31vtkOpenGLGPUVolumeRayCastMapper17IsRenderSupportedEP15vtkRenderWindowP17vtkVolumeProperty__ZN25vtkGPUVolumeRayCastMapper18GetAMRModeMaxValueEv__ZN28vtkRayCastImageDisplayHelper30GetPreMultipliedColorsMaxValueEv__ZN20vtkSmartVolumeMapper43GetInteractiveAdjustSampleDistancesMaxValueEv__ZN20vtkSmartVolumeMapper36GetAutoAdjustSampleDistancesMaxValueEv__ZN15vtkVolumeMapper19GetCroppingMaxValueEv__ZN15vtkVolumeMapper11GetCroppingEv__ZN34vtkOpenGLProjectedTetrahedraMapper29UseFloatingPointFrameBufferOnEv__ZN15vtkVolumeMapper10CroppingOnEv__ZN34vtkOpenGLProjectedTetrahedraMapper30UseFloatingPointFrameBufferOffEv__ZN15vtkVolumeMapper11CroppingOffEv__ZN15vtkVolumeMapper23GetCroppingRegionPlanesEv__ZN15vtkVolumeMapper23GetCroppingRegionPlanesEPd__ZN15vtkVolumeMapper28GetVoxelCroppingRegionPlanesEv__ZN15vtkVolumeMapper28GetVoxelCroppingRegionPlanesEPd__ZN15vtkVolumeMapper30GetCroppingRegionFlagsMaxValueEv__ZN15vtkVolumeMapper22GetCroppingRegionFlagsEv__ZN25vtkMultiBlockVolumeMapper13GetVectorModeEv__ZN25vtkMultiBlockVolumeMapper18GetVectorComponentEv__ZN23vtkAbstractVolumeMapper8IsTypeOfEPKc__ZN18vtkBlockSortHelper11BackToFrontI15vtkVolumeMapperEC2EP11vtkRendererP12vtkMatrix4x4__ZNSt3__16__sortIRN18vtkBlockSortHelper11BackToFrontI15vtkVolumeMapperEEPP20vtkSmartVolumeMapperEEvT0_S9_T___ZNSt3__17__sort3IRN18vtkBlockSortHelper11BackToFrontI15vtkVolumeMapperEEPP20vtkSmartVolumeMapperEEjT0_S9_S9_T___ZNSt3__17__sort4IRN18vtkBlockSortHelper11BackToFrontI15vtkVolumeMapperEEPP20vtkSmartVolumeMapperEEjT0_S9_S9_S9_T___ZNSt3__17__sort5IRN18vtkBlockSortHelper11BackToFrontI15vtkVolumeMapperEEPP20vtkSmartVolumeMapperEEjT0_S9_S9_S9_S9_T___ZNSt3__118__insertion_sort_3IRN18vtkBlockSortHelper11BackToFrontI15vtkVolumeMapperEEPP20vtkSmartVolumeMapperEEvT0_S9_T___ZNSt3__127__insertion_sort_incompleteIRN18vtkBlockSortHelper11BackToFrontI15vtkVolumeMapperEEPP20vtkSmartVolumeMapperEEbT0_S9_T___ZNSt3__1L20__throw_length_errorEPKc__ZNSt12length_errorC1EPKc__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_vtkMultiBlockVolumeMapper.cxx__ZN27vtkOpenGLTransferFunction2D3NewEv__ZN35vtkOpenGLVolumeGradientOpacityTable3NewEv__ZN27vtkOpenGLVolumeOpacityTable3NewEv__ZN23vtkOpenGLVolumeRGBTable3NewEv__ZN9vtkvolume33ComputeClipPositionImplementationEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume25ComputeTextureCoordinatesEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume21BaseDeclarationVertexEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume23BaseDeclarationFragmentEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeiibii__ZN9vtkvolume8BaseInitEP11vtkRendererP15vtkVolumeMapperP9vtkVolumei__ZN9vtkvolume18BaseImplementationEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume8BaseExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume28ComputeGradientOpacity1DDeclEP9vtkVolumeiiNSt3__13mapIiNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS2_4lessIiEENS7_INS2_4pairIKiS9_EEEEEE__ZNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev__ZN9vtkvolume26ComputeGradientDeclarationEP9vtkVolume__ZN9vtkvolume26ComputeLightingDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeiiii__ZN9vtkvolume30ComputeRayDirectionDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumei__ZN9vtkvolume23ComputeColorDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeiiNSt3__13mapIiNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS6_4lessIiEENSB_INS6_4pairIKiSD_EEEEEE__ZN9vtkvolume25ComputeOpacityDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeiiNSt3__13mapIiNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS6_4lessIiEENSB_INS6_4pairIKiSD_EEEEEE__ZN9vtkvolume25ComputeColor2DDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeiiNSt3__13mapIiNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS6_4lessIiEENSB_INS6_4pairIKiSD_EEEEEE__ZN9vtkvolume27ComputeOpacity2DDeclarationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeiiNSt3__13mapIiNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS6_4lessIiEENSB_INS6_4pairIKiSD_EEEEEE__ZN9vtkvolume24ShadingDeclarationVertexEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume26ShadingDeclarationFragmentEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume11ShadingInitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume16GradientCacheDecEP11vtkRendererP9vtkVolumeii__ZN9vtkvolume23PreComputeGradientsImplEP11vtkRendererP9vtkVolumeii__ZN9vtkvolume21ShadingImplementationEP11vtkRendererP15vtkVolumeMapperP9vtkVolumeP12vtkImageDataP16vtkVolumeTextureiii__ZN9vtkvolume20PickingActorPassExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume22PickingIdLow24PassExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__ZN9vtkvolume22PickingIdMid24PassExitEP11vtkRendererP15vtkVolumeMapperP9vtkVolume__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__ZN15vtkSmartPointerI16vtkVolumeTextureED1Ev__ZN23vtkOpenGLVolumeRGBTable6UpdateEP24vtkColorTransferFunctionPdiP21vtkOpenGLRenderWindow__ZN27vtkOpenGLVolumeOpacityTable6UpdateEP20vtkPiecewiseFunctionidPddiP21vtkOpenGLRenderWindow__ZN27vtkOpenGLTransferFunction2D6UpdateEP12vtkImageDataiP21vtkOpenGLRenderWindow__ZN35vtkOpenGLVolumeGradientOpacityTable6UpdateEP20vtkPiecewiseFunctiondPddiP21vtkOpenGLRenderWindow__ZN15vtkSmartPointerI11vtkPolyDataED1Ev__ZNSt3__16vectorI15vtkSmartPointerI16vtkTextureObjectENS_9allocatorIS3_EEE7reserveEm__ZNSt3__16vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEE7reserveEm__ZNSt3__13mapIKN9vtkShader15ReplacementSpecENS1_16ReplacementValueENS_4lessIS3_EENS_9allocatorINS_4pairIS3_S4_EEEEED1Ev__ZN6vtkNewI14vtkInformationED1Ev__ZNSt3__13mapIiNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_4lessIiEENS4_INS_4pairIKiS6_EEEEED1Ev__ZN6vtkNewI12vtkMatrix4x4ED1Ev__ZNK31vtkOpenGLGPUVolumeRayCastMapper20GetClassNameInternalEv__ZN31vtkOpenGLGPUVolumeRayCastMapper3IsAEPKc__ZNK31vtkOpenGLGPUVolumeRayCastMapper19NewInstanceInternalEv__ZN23vtkAbstractVolumeMapper13SetScalarModeEi__ZN23vtkAbstractVolumeMapper18SetArrayAccessModeEi__ZN31vtkUnstructuredGridVolumeMapper12SetBlendModeEi__ZN15vtkVolumeMapper12SetBlendModeEi__ZN15vtkVolumeMapper11SetCroppingEi__ZN15vtkVolumeMapper23SetCroppingRegionPlanesEdddddd__ZN15vtkVolumeMapper23SetCroppingRegionPlanesEPd__ZN15vtkVolumeMapper22SetCroppingRegionFlagsEi__ZN25vtkGPUVolumeRayCastMapper28SetAutoAdjustSampleDistancesEi__ZN25vtkGPUVolumeRayCastMapper28GetAutoAdjustSampleDistancesEv__ZN25vtkGPUVolumeRayCastMapper27AutoAdjustSampleDistancesOnEv__ZN25vtkGPUVolumeRayCastMapper28AutoAdjustSampleDistancesOffEv__ZN25vtkGPUVolumeRayCastMapper35SetLockSampleDistanceToInputSpacingEi__ZN25vtkGPUVolumeRayCastMapper35GetLockSampleDistanceToInputSpacingEv__ZN25vtkGPUVolumeRayCastMapper34LockSampleDistanceToInputSpacingOnEv__ZN25vtkGPUVolumeRayCastMapper35LockSampleDistanceToInputSpacingOffEv__ZN25vtkGPUVolumeRayCastMapper15SetUseJitteringEi__ZN25vtkGPUVolumeRayCastMapper15GetUseJitteringEv__ZN25vtkGPUVolumeRayCastMapper14UseJitteringOnEv__ZN25vtkGPUVolumeRayCastMapper15UseJitteringOffEv__ZN25vtkGPUVolumeRayCastMapper15SetUseDepthPassEi__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__ZN20vtkSmartVolumeMapper12GetGPUMapperEv__ZN25vtkGPUVolumeRayCastMapper12GetMaskInputEv__ZN25vtkGPUVolumeRayCastMapper11SetMaskTypeEi__ZN25vtkGPUVolumeRayCastMapper11GetMaskTypeEv__ZN25vtkGPUVolumeRayCastMapper18SetMaskBlendFactorEf__ZN25vtkGPUVolumeRayCastMapper26GetMaskBlendFactorMaxValueEv__ZN25vtkGPUVolumeRayCastMapper18GetMaskBlendFactorEv__ZN25vtkGPUVolumeRayCastMapper16SetRenderToImageEi__ZN25vtkGPUVolumeRayCastMapper16GetRenderToImageEv__ZN25vtkGPUVolumeRayCastMapper15RenderToImageOnEv__ZN25vtkGPUVolumeRayCastMapper16RenderToImageOffEv__ZN25vtkGPUVolumeRayCastMapper23SetDepthImageScalarTypeEi__ZN20vtkSmartVolumeMapper20GetInterpolationModeEv__ZN25vtkGPUVolumeRayCastMapper23GetDepthImageScalarTypeEv__ZN25vtkGPUVolumeRayCastMapper23SetClampDepthToBackfaceEi__ZN20vtkSmartVolumeMapper22GetRequestedRenderModeEv__ZN25vtkGPUVolumeRayCastMapper23GetClampDepthToBackfaceEv__ZN25vtkGPUVolumeRayCastMapper22ClampDepthToBackfaceOnEv__ZN25vtkGPUVolumeRayCastMapper23ClampDepthToBackfaceOffEv__ZN31vtkOpenGLGPUVolumeRayCastMapper17GetReductionRatioEPd__ZN25vtkGPUVolumeRayCastMapper17SetColorRangeTypeEi__ZN25vtkGPUVolumeRayCastMapper17GetColorRangeTypeEv__ZN25vtkGPUVolumeRayCastMapper25SetScalarOpacityRangeTypeEi__ZN20vtkSmartVolumeMapper28GetAutoAdjustSampleDistancesEv__ZN25vtkGPUVolumeRayCastMapper25GetScalarOpacityRangeTypeEv__ZN25vtkGPUVolumeRayCastMapper27SetGradientOpacityRangeTypeEi__ZN25vtkGPUVolumeRayCastMapper27GetGradientOpacityRangeTypeEv__ZN25vtkGPUVolumeRayCastMapper10SetAMRModeEi__ZN25vtkGPUVolumeRayCastMapper10GetAMRModeEv__ZN25vtkGPUVolumeRayCastMapper9AMRModeOnEv__ZN25vtkGPUVolumeRayCastMapper10AMRModeOffEv__ZN25vtkGPUVolumeRayCastMapper19GetTransformedInputEv__ZN31vtkOpenGLGPUVolumeRayCastMapper14GetCurrentPassEv__ZN31vtkOpenGLGPUVolumeRayCastMapper19SetNoiseTextureSizeEii__ZN31vtkOpenGLGPUVolumeRayCastMapper19SetVertexShaderCodeEPKc__ZN31vtkOpenGLGPUVolumeRayCastMapper19GetVertexShaderCodeEv__ZN31vtkOpenGLGPUVolumeRayCastMapper21SetFragmentShaderCodeEPKc__ZN31vtkOpenGLGPUVolumeRayCastMapper21GetFragmentShaderCodeEv__ZN6vtkNewI14vtkImageResizeED1Ev__ZNK9vtkObject20GetClassNameInternalEv__ZN9vtkObject3IsAEPKc__ZN27vtkOpenGLTransferFunction2DD1Ev__ZN27vtkOpenGLTransferFunction2DD0Ev__ZNK9vtkObject19NewInstanceInternalEv__ZN35vtkOpenGLVolumeGradientOpacityTableD1Ev__ZN35vtkOpenGLVolumeGradientOpacityTableD0Ev__ZN27vtkOpenGLVolumeOpacityTableD1Ev__ZN27vtkOpenGLVolumeOpacityTableD0Ev__ZN23vtkOpenGLVolumeRGBTableD1Ev__ZN23vtkOpenGLVolumeRGBTableD0Ev__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__ZN24vtkOpenGLVolumeRGBTablesC2Ej__ZNSt3__16vectorIP23vtkOpenGLVolumeRGBTableNS_9allocatorIS2_EEED1Ev__ZN28vtkOpenGLVolumeOpacityTablesC2Ej__ZNSt3__16vectorIP27vtkOpenGLVolumeOpacityTableNS_9allocatorIS2_EEED1Ev__ZN36vtkOpenGLVolumeGradientOpacityTablesC2Ej__ZNSt3__16vectorIP35vtkOpenGLVolumeGradientOpacityTableNS_9allocatorIS2_EEED1Ev__ZN28vtkOpenGLTransferFunctions2DC2Ej__ZNSt3__16vectorIP27vtkOpenGLTransferFunction2DNS_9allocatorIS2_EEED1Ev__ZN23vtkOpenGLVolumeRGBTable31GetMaximumSupportedTextureWidthEP21vtkOpenGLRenderWindowi__ZN27vtkOpenGLVolumeOpacityTable31GetMaximumSupportedTextureWidthEP21vtkOpenGLRenderWindowi__ZN27vtkOpenGLTransferFunction2D31GetMaximumSupportedTextureWidthEP21vtkOpenGLRenderWindowi__ZN35vtkOpenGLVolumeGradientOpacityTable31GetMaximumSupportedTextureWidthEP21vtkOpenGLRenderWindowi__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternalC2EPS___ZN6vtkNewI8vtkActorED1Ev__ZN6vtkNewI17vtkPolyDataMapperED1Ev__ZN6vtkNewI16vtkContourFilterED1Ev__ZNSt3__16vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEED1Ev__ZNSt3__16vectorI15vtkSmartPointerI16vtkTextureObjectENS_9allocatorIS3_EEED1Ev__ZNSt3__16vectorIdNS_9allocatorIdEEED1Ev__ZN31vtkOpenGLGPUVolumeRayCastMapper11vtkInternalD2Ev__ZN18vtkVolumeStateRAIIC2Eb__ZN18vtkVolumeStateRAIID2Ev__ZN12vtkMatrix4x411Multiply4x4EPKdS1_Pd__ZNSt3__127__tree_balance_after_insertIPNS_16__tree_node_baseIPvEEEEvT_S5___ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv__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_EEE7destroyEPNS_11__tree_nodeIS8_PvEE__ZNSt3__16__treeINS_12__value_typeIKN9vtkShader15ReplacementSpecENS2_16ReplacementValueEEENS_19__map_value_compareIS4_S6_NS_4lessIS4_EELb1EEENS_9allocatorIS6_EEE7destroyEPNS_11__tree_nodeIS6_PvEE__ZN29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperED1Ev__ZN29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperED0Ev__ZN29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperE7ReleaseEv__ZN29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperE25RegisterGraphicsResourcesEP21vtkOpenGLRenderWindow__ZNSt3__113__tree_removeIPNS_16__tree_node_baseIPvEEEEvT_S5___ZN21vtkOpenGLRenderWindow25RegisterGraphicsResourcesEP36vtkGenericOpenGLResourceFreeCallback__ZNSt3__16__treeINS_12__value_typeIKN9vtkShader15ReplacementSpecENS2_16ReplacementValueEEENS_19__map_value_compareIS4_S6_NS_4lessIS4_EELb1EEENS_9allocatorIS6_EEE25__emplace_unique_key_argsIS3_JRKNS_21piecewise_construct_tENS_5tupleIJRS4_EEENSI_IJEEEEEENS_4pairINS_15__tree_iteratorIS6_PNS_11__tree_nodeIS6_PvEElEEbEERKT_DpOT0___ZNK9vtkShader15ReplacementSpecltERKS0___ZNSt3__16__treeINS_12__value_typeIKN9vtkShader15ReplacementSpecENS2_16ReplacementValueEEENS_19__map_value_compareIS4_S6_NS_4lessIS4_EELb1EEENS_9allocatorIS6_EEE5eraseENS_21__tree_const_iteratorIS6_PNS_11__tree_nodeIS6_PvEElEE__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_typeIN9vtkShader4TypeEPS2_EENS_19__map_value_compareIS3_S5_NS_4lessIS3_EELb1EEENS_9allocatorIS5_EEE7destroyEPNS_11__tree_nodeIS5_PvEE__ZNSt3__16vectorIdNS_9allocatorIdEEE8__appendEmRKd__GLOBAL__sub_I_vtkOpenGLGPUVolumeRayCastMapper.cxx__ZNK34vtkOpenGLProjectedTetrahedraMapper20GetClassNameInternalEv__ZN34vtkOpenGLProjectedTetrahedraMapper3IsAEPKc__ZNK34vtkOpenGLProjectedTetrahedraMapper19NewInstanceInternalEv__ZN28vtkProjectedTetrahedraMapper17GetVisibilitySortEv__ZN34vtkOpenGLProjectedTetrahedraMapper30SetUseFloatingPointFrameBufferEb__ZN34vtkOpenGLProjectedTetrahedraMapper30GetUseFloatingPointFrameBufferEv__ZNSt3__16vectorIfNS_9allocatorIfEEE8__appendEm__GLOBAL__sub_I_vtkOpenGLProjectedTetrahedraMapper.cxx__ZNK34vtkOpenGLRayCastImageDisplayHelper20GetClassNameInternalEv__ZN34vtkOpenGLRayCastImageDisplayHelper3IsAEPKc__ZNK34vtkOpenGLRayCastImageDisplayHelper19NewInstanceInternalEv__ZN28vtkRayCastImageDisplayHelper22SetPreMultipliedColorsEi__ZN28vtkRayCastImageDisplayHelper21PreMultipliedColorsOnEv__ZN28vtkRayCastImageDisplayHelper22PreMultipliedColorsOffEv__ZN28vtkRayCastImageDisplayHelper13SetPixelScaleEf__ZN28vtkRayCastImageDisplayHelper13GetPixelScaleEv__GLOBAL__sub_I_vtkOpenGLRayCastImageDisplayHelper.cxx__ZNK20vtkSmartVolumeMapper20GetClassNameInternalEv__ZN20vtkSmartVolumeMapper3IsAEPKc__ZNK20vtkSmartVolumeMapper19NewInstanceInternalEv__ZN20vtkSmartVolumeMapper19SetFinalColorWindowEf__ZN20vtkSmartVolumeMapper19GetFinalColorWindowEv__ZN20vtkSmartVolumeMapper18SetFinalColorLevelEf__ZN20vtkSmartVolumeMapper18GetFinalColorLevelEv__ZN20vtkSmartVolumeMapper19SetMaxMemoryInBytesEx__ZN20vtkSmartVolumeMapper19GetMaxMemoryInBytesEv__ZN20vtkSmartVolumeMapper20SetMaxMemoryFractionEf__ZN20vtkSmartVolumeMapper28GetMaxMemoryFractionMinValueEv__ZN20vtkSmartVolumeMapper28GetMaxMemoryFractionMaxValueEv__ZN20vtkSmartVolumeMapper20GetMaxMemoryFractionEv__ZN20vtkSmartVolumeMapper20SetInterpolationModeEi__ZN20vtkSmartVolumeMapper28GetInterpolationModeMaxValueEv__ZN20vtkSmartVolumeMapper24SetInteractiveUpdateRateEd__ZN20vtkSmartVolumeMapper32GetInteractiveUpdateRateMinValueEv__ZN20vtkSmartVolumeMapper32GetInteractiveUpdateRateMaxValueEv__ZN20vtkSmartVolumeMapper24GetInteractiveUpdateRateEv__ZN20vtkSmartVolumeMapper35SetInteractiveAdjustSampleDistancesEi__ZN20vtkSmartVolumeMapper35GetInteractiveAdjustSampleDistancesEv__ZN20vtkSmartVolumeMapper34InteractiveAdjustSampleDistancesOnEv__ZN20vtkSmartVolumeMapper35InteractiveAdjustSampleDistancesOffEv__ZN20vtkSmartVolumeMapper28SetAutoAdjustSampleDistancesEi__ZN20vtkSmartVolumeMapper27AutoAdjustSampleDistancesOnEv__ZN20vtkSmartVolumeMapper28AutoAdjustSampleDistancesOffEv__ZN20vtkSmartVolumeMapper17SetSampleDistanceEf__ZN20vtkSmartVolumeMapper17GetSampleDistanceEv__ZN20vtkSmartVolumeMapper13GetVectorModeEv__ZN20vtkSmartVolumeMapper18SetVectorComponentEi__ZN20vtkSmartVolumeMapper26GetVectorComponentMaxValueEv__ZN20vtkSmartVolumeMapper18GetVectorComponentEv__GLOBAL__sub_I_vtkSmartVolumeMapper.cxx__ZNSt3__16vectorI8vtkTupleIiLi3EENS_9allocatorIS2_EEED1Ev__ZNSt3__16vectorIPN16vtkVolumeTexture11VolumeBlockENS_9allocatorIS3_EEED1Ev__ZNSt3__13mapIP12vtkImageDataPN16vtkVolumeTexture11VolumeBlockENS_4lessIS2_EENS_9allocatorINS_4pairIKS2_S5_EEEEED1Ev__ZNSt3__16vectorIP12vtkImageDataNS_9allocatorIS2_EEED1Ev__ZNK16vtkVolumeTexture20GetClassNameInternalEv__ZN16vtkVolumeTexture3IsAEPKc__ZNK16vtkVolumeTexture19NewInstanceInternalEv__ZNSt3__16__treeINS_12__value_typeIP12vtkImageDataPN16vtkVolumeTexture11VolumeBlockEEENS_19__map_value_compareIS3_S7_NS_4lessIS3_EELb1EEENS_9allocatorIS7_EEE7destroyEPNS_11__tree_nodeIS7_PvEE__ZN18vtkBlockSortHelper11BackToFrontI12vtkImageDataEC2EP11vtkRendererP12vtkMatrix4x4__ZNSt3__16__sortIRN18vtkBlockSortHelper11BackToFrontI12vtkImageDataEEPPS3_EEvT0_S8_T___ZNSt3__17__sort3IRN18vtkBlockSortHelper11BackToFrontI12vtkImageDataEEPPS3_EEjT0_S8_S8_T___ZNSt3__17__sort4IRN18vtkBlockSortHelper11BackToFrontI12vtkImageDataEEPPS3_EEjT0_S8_S8_S8_T___ZNSt3__17__sort5IRN18vtkBlockSortHelper11BackToFrontI12vtkImageDataEEPPS3_EEjT0_S8_S8_S8_S8_T___ZNSt3__118__insertion_sort_3IRN18vtkBlockSortHelper11BackToFrontI12vtkImageDataEEPPS3_EEvT0_S8_T___ZNSt3__127__insertion_sort_incompleteIRN18vtkBlockSortHelper11BackToFrontI12vtkImageDataEEPPS3_EEbT0_S8_T___GLOBAL__sub_I_vtkVolumeTexture.cxx__ZL53vtkObjectFactoryCreatevtkOpenGLGPUVolumeRayCastMapperv__ZL56vtkObjectFactoryCreatevtkOpenGLProjectedTetrahedraMapperv__ZL56vtkObjectFactoryCreatevtkOpenGLRayCastImageDisplayHelperv__ZNK38vtkRenderingVolumeOpenGL2ObjectFactory20GetClassNameInternalEv__ZN38vtkRenderingVolumeOpenGL2ObjectFactory3IsAEPKc__ZN38vtkRenderingVolumeOpenGL2ObjectFactoryD1Ev__ZN38vtkRenderingVolumeOpenGL2ObjectFactoryD0Ev__ZNK38vtkRenderingVolumeOpenGL2ObjectFactory19NewInstanceInternalEv__ZN38vtkRenderingVolumeOpenGL2ObjectFactory14GetDescriptionEv__ZN16vtkObjectFactory14GetLibraryPathEv__GLOBAL__sub_I_vtkRenderingVolumeOpenGL2ObjectFactory.cxxGCC_except_table0GCC_except_table4GCC_except_table10GCC_except_table16GCC_except_table17GCC_except_table36GCC_except_table84GCC_except_table91GCC_except_table93GCC_except_table94GCC_except_table1GCC_except_table2GCC_except_table3GCC_except_table7GCC_except_table8GCC_except_table11GCC_except_table13GCC_except_table14GCC_except_table18GCC_except_table19GCC_except_table23GCC_except_table24GCC_except_table25GCC_except_table43GCC_except_table49GCC_except_table58GCC_except_table59GCC_except_table61GCC_except_table63GCC_except_table65GCC_except_table66GCC_except_table68GCC_except_table77GCC_except_table88GCC_except_table89GCC_except_table92GCC_except_table97GCC_except_table108GCC_except_table109GCC_except_table111GCC_except_table118GCC_except_table120GCC_except_table121GCC_except_table130GCC_except_table131GCC_except_table132GCC_except_table133GCC_except_table134GCC_except_table135GCC_except_table136GCC_except_table137GCC_except_table139GCC_except_table140GCC_except_table141GCC_except_table142GCC_except_table143GCC_except_table145GCC_except_table146GCC_except_table149GCC_except_table151GCC_except_table153GCC_except_table159GCC_except_table302GCC_except_table305GCC_except_table306GCC_except_table308GCC_except_table309GCC_except_table310GCC_except_table311GCC_except_table312GCC_except_table313GCC_except_table323GCC_except_table329GCC_except_table331GCC_except_table333GCC_except_table335GCC_except_table337GCC_except_table339GCC_except_table340GCC_except_table341GCC_except_table342GCC_except_table343GCC_except_table344GCC_except_table345GCC_except_table346GCC_except_table350GCC_except_table352GCC_except_table368GCC_except_table371GCC_except_table9GCC_except_table12GCC_except_table5GCC_except_table6GCC_except_table22GCC_except_table29GCC_except_table34GCC_except_table41__ZTS27vtkOpenGLTransferFunction2D__ZTS35vtkOpenGLVolumeGradientOpacityTable__ZTS27vtkOpenGLVolumeOpacityTable__ZTS23vtkOpenGLVolumeRGBTable__ZNSt3__1L19piecewise_constructE__ZTS29vtkOpenGLResourceFreeCallbackI31vtkOpenGLGPUVolumeRayCastMapperE__ZTS36vtkGenericOpenGLResourceFreeCallback__ZTV27vtkOpenGLTransferFunction2D__ZTI27vtkOpenGLTransferFunction2D__ZTV35vtkOpenGLVolumeGradientOpacityTable__ZTI35vtkOpenGLVolumeGradientOpacityTable__ZTV27vtkOpenGLVolumeOpacityTable__ZTI27vtkOpenGLVolumeOpacityTable__ZTV23vtkOpenGLVolumeRGBTable__ZTI23vtkOpenGLVolumeRGBTable__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__dyld_private__ZL28vtkDebugLeaksManagerInstance__ZL39vtkObjectFactoryRegistryCleanupInstance__ZL30vtkRenderingVolumeOpenGL2Count