Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • vtk/vtk
  • brad.king/vtk
  • allisonvacanti/vtk
  • chuck.atkins/vtk
  • shawn.waldon/vtk
  • robertmaynard/vtk
  • gcasey/vtk
  • danlipsa/vtk
  • sankhesh/vtk
  • nix/vtk
  • utkarsh.ayachit/vtk
  • seanm/vtk
  • amaclean/vtk
  • lorensen/vtk
  • dgobbi/vtk
  • jpouderoux/vtk
  • ken-martin/vtk
  • ben.boeckel/vtk
  • karsten.tausche/vtk
  • jbeezley/vtk
  • demarle/vtk
  • karasevpa/vtk
  • sebastien.jourdain/vtk
  • will.schroeder/vtk
  • pixelstime/vtk
  • sujin.philip/vtk
  • acbauer/vtk
  • berkgeveci/vtk
  • cory.quammen/vtk
  • john.tourtellott/vtk
  • jcfr/vtk
  • tcoulange/vtk
  • finetjul/vtk
  • aashish-chaudhary/vtk
  • tadeu/vtk
  • bxa/vtk
  • clinton/vtk
  • cjh1/vtk
  • alextsui05/vtk
  • jorge.suit/vtk
  • mwestphal/vtk
  • arnaudgelas/vtk
  • splines/vtk
  • dcthomp/spline-vtk
  • Lin.Ma/vtk-spline
  • matt-mccormick/vtk
  • ndfabian/vtk
  • scott.wittenburg/vtk
  • bill-hoffman/vtk
  • dlrdave/vtk
  • ethanb/vtk
  • johan-andruejol/vtk
  • ashray/vtk
  • Toki/vtk
  • kimbaol/vtk
  • toster/vtk
  • applekey/vtk
  • quantumsteve/vtk
  • a_neeman/vtk
  • biddisco/vtk
  • mhanwell/vtk
  • jjomier/vtk
  • dkuegler/vtk
  • bobifx/vtk
  • yordan_kyosev/vtk
  • schuyler.kylstra/vtk
  • ilya-five/vtk
  • JimCosby/vtk
  • Geng/vtk
  • blessley/vtk
  • davisb/vtk
  • iMSTK/vtk
  • chunmingchen/vtk
  • danlugli/vtk
  • chaffra/vtk
  • tjcorona/vtk
  • mennodeij1/vtk
  • thehummingbird/vtk
  • prabhuramachandran/vtk
  • chiranjibsur/vtk
  • jwilliz/vtk
  • wydesenej/vtk
  • msmolens/vtk
  • Lin.Ma/vtk
  • joseph.g.hennessey2.ctr/vtk
  • Wu/vtk
  • rogerkint/vtk
  • Xabi/vtk
  • timt/vtk
  • dcthomp/vtk
  • carson/vtk
  • Niels_Dekker/vtk
  • dmsurti/vtk
  • shreejan/vtk
  • brudfors/vtk
  • yumin/vtk
  • bob.obara/vtk
  • cousin_it/vtk
  • fstrati/vtk
  • dzenanz/vtk
  • cdeepakroy/vtk
  • LucasGandelKitware/vtk
  • alexis-girault/vtk
  • sreekanth-arikatla/vtk
  • SumedhaSingla/vtk
  • ricardo-ortiz/vtk
  • yboumenir/vtk
  • alvaro.sanchez/vtk
  • jgoizueta/vtk
  • bloring/vtk
  • akhilsurabhi/vtk
  • appstonic/vtk
  • waldyrious/vtk
  • lenlen/vtk
  • romangrothausmann/vtk
  • NevilX/vtk
  • natorious1990/vtk
  • ktsumura/vtk
  • radix-vinni/vtk
  • saumyabhadani/vtk
  • starius/vtk
  • mgenet/vtk
  • dhanannjay-deo/vtk
  • fabian.wenzel/vtk
  • stephenshamilton/vtk
  • axkibe/vtk
  • grlee77/vtk
  • lisa-avila/vtk
  • martyngigg/vtk
  • asmith/vtk
  • opoplawski/vtk
  • maxoox/vtk
  • estan/vtk
  • awehrfritz/vtk
  • dsgruss/vtk
  • abheekg/vtk
  • jfavre/vtk
  • updega2/vtk
  • dgraves/vtk
  • zaherabdulazeez/vtk
  • lisphacker/vtk
  • BillMcGrory/vtk
  • Yang/vtk
  • dumontal/vtk
  • DVigneault/vtk
  • xyjin213/vtk
  • cpatrick/vtk
  • isohatalaj/vtk
  • rete/vtk
  • polycorn/vtk
  • Promayon/vtk
  • karthik/vtk
  • betsy.mcphail/vtk
  • nschloe/vtk
  • kmorel/vtk
  • aniqah/vtk
  • rupertnash/vtk
  • iMichka/vtk
  • shru13448/vtk
  • aeslaughter/vtk
  • QuadmasterXLII1/vtk
  • QuadmasterXLII/vtk
  • haocheng.liu/vtk
  • LouisBergmann/vtk
  • alouis/vtk
  • bjacquet/vtk
  • pieper/vtk
  • Ychuan1115/vtk
  • srikanthnagella/vtk
  • SeunOdutola/vtk
  • jborck/vtk
  • sidd23295/vtk
  • besoft/vtk
  • imikejackson/vtk
  • tttanichka333/vtk
  • vromerocano/vtk
  • fogleman/vtk
  • hinashah/vtk
  • abhishekns/vtk
  • mpkh/vtk
  • borisb/vtk
  • eg/vtk
  • technic/vtk
  • chet.nieter/vtk
  • maleike/vtk
  • emmenlau/vtk
  • florianlink1/vtk
  • teracamo/vtk
  • ole.v.solberg/vtk
  • greenjava/vtk
  • snorrikris/vtk
  • HaipengY/vtk
  • hina/vtk
  • jhlegarreta/vtk
  • diorcety/vtk
  • taketwo/vtk
  • mnucci32/vtk
  • gnzlbg/vtk
  • dfroger/vtk
  • WimK/vtk
  • luciemacron/vtk
  • kd7uns/vtk
  • dgkf/vtk
  • gocarlos/vtk
  • jayas121/vtk
  • olesen/vtk
  • Jon_Garner/vtk
  • cschmitz/vtk
  • Paul/vtk
  • kaaalid/vtk
  • neiltwist/vtk
  • Hertz1239/vtk
  • jupiterben/vtk
  • pierre.guilbert/vtk
  • matthew-woehlke/vtk
  • xantares/vtk
  • mayeul.chassagnard/vtk
  • t-ikegami/vtk
  • gbivins4/vtk
  • jacob/vtk
  • sarahjelinek/vtk
  • nicolas.vuaille/vtk
  • art/vtk
  • Levinaz69/vtk
  • aron.helser/vtk
  • yohey/vtk
  • alex-novinski/vtk
  • jacob-becker/vtk
  • robbie_lxw/vtk
  • burhan14031/vtk
  • thewtex/vtk
  • ML/vtk
  • bilke/vtk
  • bvanelli/vtk
  • Juliano/vtk
  • luliag/vtk
  • muellni/vtk
  • barkinet/vtk
  • kvankooten/vtk
  • Moonypoony/vtk
  • derino/vtk
  • wendy/vtk
  • kekivelez/vtk
  • Archeks/vtk
  • claireguilbaud/vtk
  • lassoan/vtk
  • brunbennett/vtk
  • hcwiley/vtk
  • jie.cheng/vtk
  • kghandi/vtk
  • michalhabera/vtk
  • francis.giraldeau/vtk
  • GG1991/vtk
  • ugiwgh/vtk
  • benjaminjeliot/vtk
  • locuscaeruleus/vtk
  • marcelotrevisani/vtk
  • Punzo/vtk
  • pavelpokutnev/vtk
  • sylmarien/vtk
  • jbvimort/vtk
  • athius/vtk
  • aowen87/vtk
  • StefanBruens/vtk
  • nocnokneo/vtk
  • mds/vtk
  • forrest.li/vtk
  • rcfwgithub/vtk
  • Guenoleh/vtk
  • drmateo/vtk
  • ahota/vtk
  • nishanthkarthik/vtk
  • pdhahn/vtk
  • dyoll/vtk
  • todoooo/vtk
  • Rhodanos/vtk
  • bjoernthiel/vtk
  • pink2/vtk
  • thudacko/vtk
  • qwofford/vtk
  • michael.migliore/vtk
  • mohamedAhmedIsmailAhmed/vtk
  • m-chaturvedi/vtk
  • Shoepon/vtk
  • ricardomorello/vtk
  • ktsai/vtk
  • hjmjohnson/vtk
  • daseven/vtk
  • federico.miorelli/vtk
  • jianfulin/vtk
  • ihnorton/vtk
  • handrake0724/vtk
  • yuelinho777/vtk
  • eberroca/vtk
  • arankin/vtk
  • zachmullen/vtk
  • alzi/vtk
  • csukuangfj/vtk
  • nick.laurenson/vtk
  • ethan.stam/vtk
  • bujack/vtk
  • ifmfr/vtk
  • jpulido/vtk
  • Butakoff/vtk
  • innokentiy.alaytsev/vtk
  • hendersa/vtk
  • tkarabela/vtk
  • charly.girot/vtk
  • dbonhaus/vtk
  • ClundXIII/vtk
  • shaikan/vtk
  • timrowley/vtk
  • tomj/vtk
  • ombre5733/vtk
  • hbwhlk83/vtk
  • cpinter/vtk
  • fbudin/vtk
  • nehaljwani/vtk
  • CometS1/vtk
  • debian/vtk
  • jan.o.schutte/vtk
  • normanius/vtk
  • wehhh/vtk
  • bwspenc/vtk
  • sergioPereiraBR/vtk
  • yurivict/vtk
  • GarrettMorrison/vtk
  • jensgw/vtk
  • alesgenova/vtk
  • paulharris/vtk
  • niranjankala/vtk
  • tavaughan/vtk
  • christianezeani/vtk
  • kihneman/vtk
  • phcerdan/vtk
  • Bengt/vtk
  • knolla/vtk
  • shreeraj.jadhav/vtk
  • Sunderlandkyl/vtk
  • drpeterfranz/vtk
  • pedroneto/vtk
  • levara/vtk
  • TheBlackCat/vtk
  • Bleach665/vtk
  • JeromeDuboisPro/vtk
  • pbergeron/vtk
  • ilovezfs/vtk
  • jeffamstutz/vtk
  • edwinbennink/vtk
  • ChrisB/vtk
  • rexchai/vtk
  • jclearwater/vtk
  • pengzhou93/vtk
  • Cotrik/vtk
  • drouin-simon/vtk
  • Simon-GitLab/vtk
  • mcvaneede/vtk
  • aaigner/vtk
  • murraypurves/vtk
  • Chrisyunhua/vtk
  • lhofmann/vtk
  • tobias-haenel/vtk
  • aitormoreno/vtk
  • severnaa/vtk
  • angelika.ophagen/vtk
  • AOphagen/vtk
  • byhongda/vtk
  • HuangLiJinJames/vtk
  • NicholasWon47/vtk
  • chenhaomagnetic/vtk
  • imngy/vtk
  • maxGimeno/vtk
  • kf6kjg/vtk
  • cstew2/vtk
  • lrineau/vtk
  • vnpavanelli/vtk
  • erichlf/vtk
  • SunBlack/vtk
  • PauloCarvalhoRJ/vtk
  • McrmDev/vtk
  • jblekien/vtk
  • guerrero78/vtk
  • hygonsoc/vtk
  • embeddedmz/vtk
  • wangtaoz/vtk
  • andrea-iob/vtk
  • ollielo/vtk
  • boonth/vtk
  • lugia-kun/vtk
  • adrien.boucaud/vtk
  • jstark/vtk
  • mathiash/vtk
  • patrick-oleary/vtk
  • patchett2002/vtk
  • tbiedert/vtk
  • MITRALZ/vtk
  • shihabrus/vtk
  • Xaxetrov/vtk
  • charles.gueunet/vtk
  • edern.haumont/vtk
  • schweitzer/vtk
  • leonhardt/vtk
  • williamfgc/vtk
  • hococoder/vtk
  • barcharcraz/vtk
  • lcantell/vtk
  • matt.leotta/vtk
  • kairong.jiang/vtk
  • neohsbrother/vtk
  • animeshbaranawal/vtk
  • jdoenias/vtk
  • bmwiedemann/vtk
  • stephen.sanchez/vtk
  • kislinsk/vtk
  • yufeimi/vtk
  • milljm/vtk
  • zmj1316/vtk
  • zhuokaizhao/vtk
  • nghia.truong/vtk
  • Mycai/vtk
  • Jacques-Bernard/vtk
  • yohann.bearzi/vtk
  • nghiatruong.vn/vtk
  • caitlin.ross/vtk
  • aandreyev/vtk
  • robustwangace/vtk
  • kovtuh/vtk
  • paulyc/vtk
  • pronaman/vtk
  • huyidao625/vtk
  • EvgenyVRN/vtk
  • yale.lee_nga/vtk
  • cobo/vtk
  • Highphone110/vtk
  • kevin.tew/vtk
  • daniel.jasinski/vtk
  • aspsee/vtk
  • Jellby/vtk
  • Bo98/vtk
  • tkoyama010/vtk
  • keith.m.ballard/vtk
  • XinhuaZhang/vtk
  • Simon-Esneault/vtk
  • maximilian.reimer.42/vtk
  • florian360/vtk
  • patrick.avery/vtk
  • aglv/vtk
  • mat127/vtk
  • brad-t-moore/vtk
  • thompson318/vtk
  • kingyue737/vtk
  • gilcu2/vtk
  • shogarth/vtk
  • doktorkjeld/vtk
  • BuzzBurrowes/vtk
  • amine.aboufirass/vtk
  • kirv/vtk
  • westphalm/vtk
  • gerald.lodron/vtk
  • yhtank/vtk
  • paul.lafoix/vtk
  • KiraGabi/vtk
  • ralovich/vtk
  • s.jafari.m/vtk
  • richardc/vtk
  • larsoner/vtk
  • DavidLaidlaw/vtk
  • thibault.pelletier/vtk
  • dhanakoti.murali/vtk
  • vbolea/vtk
  • aravind90/vtk
  • martijnkoopman/vtk
  • Tiphainejh/vtk
  • yozara/vtk
  • NicolaasWeideman/vtk
  • fdepourcq/vtk
  • Eustache/vtk
  • mdaley/vtk
  • aangelos28/vtk
  • RaoGY/vtk
  • sthibaul/vtk
  • qyr3366/vtk
  • ChristophHonal/vtk
  • christos.tsolakis/vtk
  • Cool/vtk
  • hansuk/vtk
  • mdorier/vtk
  • nerdalien/vtk
  • yasushi.saito/vtk
  • paul.choisel/vtk
  • kovynev/vtk
  • bobmiller/vtk
  • ziqiangxu/vtk
  • gonzalosaezm55/vtk
  • SailCPU/vtk
  • woodbot/vtk
  • yufan/vtk
  • amelvill-umich/vtk
  • mossaiby/vtk
  • likehuaer/vtk
  • timothee.chabat/vtk
  • Senidenary/vtk
  • Tobias-Fischer/vtk
  • BrentFoster/vtk
  • thliebig/vtk
  • thomas.caissard/vtk
  • whophil/vtk
  • RafaelPalomar/vtk
  • Angelo-abel/vtk
  • shawfei/vtk
  • MattesSchu/vtk
  • guillaume.gindre/vtk
  • maack/vtk
  • zqcolorful/vtk
  • tniemi/vtk
  • imalkov82/vtk
  • bzindovic/vtk
  • v.engelgardt/vtk
  • mjjackey/vtk
  • halowine/vtk
  • laurenn.lam/vtk
  • zonghx/vtk
  • ProGamerCode/vtk
  • bp85540/vtk
  • julia.sanchez/vtk
  • melanie.carriere/vtk
  • jules.bourdais/vtk
  • jerome.dias/vtk
  • luca.lacaille/vtk
  • octave.rossi/vtk
  • c.wetterer-nelson/vtk
  • nima.tofighi/vtk
  • jspanchu/vtk
  • jsteele/vtk
  • PetiteViking/vtk
  • bart/vtk
  • LucasGasparinoBSC/vtk
  • julien2412/vtk
  • francois.mazen/vtk
  • lxgwd1983/vtk
  • timothee.couble/vtk
  • benntqoo/vtk
  • jmhawkins/vtk
  • stonej/vtk
  • JackGuyver/vtk
  • rodrigomologni/vtk
  • chart3388/vtk
  • jessica.marquis/vtk
  • rockandsalt/vtk
  • zakaria220/vtk
  • ryan.krattiger1/vtk
  • darktemplarbasealt/vtk
  • scbiradar/vtk
  • andrew.wilson/vtk
  • moritz-h/vtk
  • kyzitemelos93/vtk
  • qqzhoucn/vtk
  • laurent.malka/vtk
  • akaszynski/vtk
  • spiros.tsalikis/vtk
  • sercxjo/vtk
  • jesper.norell/vtk
  • tiffany.chhim/vtk
  • jennifermanzella11/vtk
  • loongson-zn/vtk
  • RonRahaman/vtk
  • Snethy/vtk
  • antoine.ruffion/vtk
  • air-h-128k-il/vtk
  • atomicky/vtk
  • chenjt2001/vtk
  • cclauss/vtk
  • Connor-Bowley/vtk
  • ferdymercury/vtk
  • connor.bowley/vtk
  • Tianyang86/vtk
  • stephen.crowell/vtk
  • xzhang/vtk
  • antoine.schieb/vtk
  • ArchangeGabriel/vtk
  • thomas.galland/vtk
  • kadabraqc/vtk
  • sanguinariojoe/vtk
  • tom.suchel/vtk
  • mgoodson-cvd/vtk
  • jtojnar/vtk
  • bwoodsend/vtk
  • frantze.raphael/vtk
  • YuhaoQiu/vtk
  • user-zmt/vtk
  • XiaLiChao82/vtk
  • biagas/vtk
  • gaspard.thevenon/vtk
  • nicoco/vtk
  • svenevs/vtk
  • olesalscheider/vtk
  • EvanHampton-Seequent/vtk
  • spsjorspeterse/vtk
  • p-j-smith/vtk
  • jaswant.panchumarti/vtk
  • nasos/vtk
  • david.berger/vtk
  • dmt/vtk
  • huangjx-beijing/vtk
  • andtokm/vtk
  • MehdiChinoune/vtk
  • alexy.pellegrini/vtk
  • lucas.givord/vtk
  • jianhui2769/vtk
  • chengchengjing/vtk
  • scienceasdf/vtk
  • maidamai0/vtk
  • GuillaumeFavelier/vtk
  • ayenpure/vtk
  • ikerssm/vtk
  • hakostra/vtk
  • epalmer/vtk
  • Dophi123/vtk
  • julien.fausty/vtk
  • zjibben/vtk
  • nncarlson/vtk
  • Simon96128/vtk
  • jiapei1001/vtk
  • jiapei100/vtk
  • Failxxx/vtk
  • jcorbettfrank/vtk
  • Xingorno/vtk
  • windgs/vtk
  • orbisvicis/vtk
  • jramaiah/vtk
  • luzpaz/vtk
  • kammnd/vtk
  • lokessh/vtk
  • QinChen1998/vtk
  • mirenradia/vtk
  • tbirdso/vtk
  • jones/vtk
  • HollowSun/vtk
  • db/vtk
  • matthiasbock/vtk
  • adam-grant-hendry/vtk
  • Kenichiro-Yoshimi/vtk
  • redemptorridon/vtk
  • Neumann-A/vtk
  • tereshkinvadimst/vtk
  • francorougier60/vtk
  • felixonmars/vtk
  • gabrielmuller/vtk
  • Alex9/vtk
  • XinweiHsu/vtk
  • Zz-er/vtk
  • ferdnyc/vtk
  • mahmoudmohamedk8200949/vtk
  • HamsaSaber/vtk
  • boomanaiden154/vtk
  • bebuch/vtk
  • fab/vtk
  • chrisadamsonmcri/vtk
  • yarous224/vtk
  • zhenhaochu/vtk
  • pranjal.sahu/vtk
  • thibault.bruyere/vtk
  • banesullivan/vtk
  • is0591hs/vtk
  • philipp.weissenbacher/vtk
  • xavier.tricoche/vtk
  • hopfer.benjamin/vtk
  • liyinyan/vtk
  • gabriel.lefloch/vtk
  • bistek/vtk
  • mmXIO/vtk
  • MicK7/vtk
  • jndxljun/vtk
  • Shirin_ra/vtk
  • hanfengyu/vtk
  • zhhaoyuting111/vtk
  • john-stone/vtk
  • woosukbyun0724/vtk
  • xenosLit/vtk
  • ashishmalik5am/vtk
  • j824h/vtk
  • jschueller/vtk
  • alexdewar/vtk
  • mo.gomaa1996/vtk
  • rubendebruin/vtk
  • CiaoTan/vtk
  • bhaq-tri/vtk
  • TattiRuby/vtk
  • griffin28/vtk
  • he.wryyy/vtk
  • aly.tireira/vtk
  • Riaa/vtk
  • b89alireza/vtk
  • john.parent/vtk
  • marin.kajtazi/vtk
  • andy9t7/vtk
  • mikedubb0811/vtk
  • kookoo9999/vtk
  • charly.bollinger/vtk
  • kamm1948/vtk
  • jacob.moore/vtk
  • gaoxinyu18/vtk
  • zhouyi-u/vtk
  • Robbie/vtk
  • couletj/vtk
  • julien.chaize1/vtk
  • shreeni152/vtk
  • lkaly/vtk
  • louis.gombert/vtk
  • linneapalmstrom/vtk
  • ppebay/vtk
  • Rocky/vtk
  • jiangxingkai/vtk
  • xutang/vtk
  • jens.munk.hansen/vtk
  • 5268368/vtk
  • jumbojing/vtk
  • vectorD/vtk
  • mo-schmid/vtk
  • CC9701/vtk
  • Diiiiii-9/vtk
  • moussa-li/vtk
  • MatthewFlamm/vtk
  • sergeylesnik/vtk
  • xpnguyen/vtk
  • FireFlyUh/vtk
  • klevzoff/vtk
  • jake.yun/vtk
  • ixxi/vtk
  • stavbodik/vtk
  • willdunklin/vtk
  • hjhicks321/vtk
  • ymao.mu/vtk
  • fghoussen/vtk
  • Otahal/vtk
  • OccupyMars2025/vtk
  • dglaeser/vtk
  • Skyde/vtk
  • rbinyahib/vtk
  • jmisedam/vtk
  • petlenz/vtk
  • nmnobre/vtk
  • mheinsen/vtk
  • LimitingFactor/vtk
  • Senguo/vtk
  • lee.newberg/vtk
  • svniemeijer/vtk
  • alfiogn/vtk
  • 2xB/vtk
  • karamozianalireza1010/vtk
  • astucky/vtk
  • penfe/vtk
  • lgombert/vtk
  • saichaitanya.rodda/vtk
  • thaumaturg1c/vtk
  • pkestene/vtk
  • rlexmann/vtk
  • gabokamaze/vtk
  • 212dandan/vtk
  • dinghao19960829/vtk
  • ScarpMarc/vtk
  • yangdonglai/vtk
  • stauffert.maxime/vtk
  • dyollb/vtk
  • hollowsunhc/vtk
  • loic.gaillard/vtk
  • ychaos/vtk
  • dperozzi/vtk
  • SeanCurtis-TRI/vtk
  • jhodges/vtk
  • jingliang2005/vtk
  • hbwhzc/vtk
  • zellmann/vtk
  • germa89/vtk
  • 2nafish117/vtk
  • uporersith/vtk
  • jordi.subirana/vtk
  • carlosgcolon/vtk
  • PeterFranzSeequent/vtk
  • cristianAnd24/vtk
  • mrbean-bremen/vtk
  • usiems/vtk
  • Krzmbrzl/vtk
  • tom.clabault/vtk
  • dpseiter1/vtk
  • scivision/vtk
  • Donvlouss/vtk
  • fedormsv/vtk
  • chandan.satija/vtk
  • anuraaga/vtk
  • kxxt/vtk
  • ryosga/vtk
  • Ajile3D/vtk-ajile
  • matekelemen/vtk
  • lililiangyu/vtk
  • ArashPartow/vtk
  • Peter.Zajac/vtk
  • zackgalbreath/vtk
  • bansan/vtk
  • leon.victor/vtk
  • gabbyva5/vtk
  • ClaudioHoffmann/vtk
  • larshg/vtk
  • barracuda156/vtk
  • niconiconi/vtk
  • quangvd3/vtk
  • lmaoha/vtk
  • jarredgaudineer/vtk
  • YingjuHan/vtk
  • afa/vtk
  • thecasterian/vtk
  • codeling/vtk
  • wortiz/vtk
  • undeadde/vtk
  • jonathanschilling/vtk
  • ychu-hoo/vtk
  • FlashPanda/vtk
  • rachedwaly/vtk
  • DownerCase/vtk
  • TurBoss/vtk
  • dunyazad/vtk
  • marquis.weng/vtk
  • chir-set/vtk
  • Mechazo11/az-vtk
  • nekto1989/vtk
  • jean.fechter/vtk
  • anonymous-fys/vtk
  • clintonstimpson/vtk
  • krande/vtk
  • zist8888/vtk
  • Joker-7-7/vtk
  • skashtanov/vtk
  • o.derewonko/vtk
  • ndelpuppo/vtk
  • kenavolic/vtk
  • raimund-schluessler/vtk
  • medmssaouri/vtk-pca-normals
  • karchit0509/vtk
  • gapry/vtk
  • guillaume-jacquenot/vtk
  • Dave-Allured/vtk
  • ctaylo41/vtk
  • johnnynunez/vtk
  • 1div0/vtk
  • aruggieri/vtk
  • LunaNebula/vtk
  • quinn.powell/vtk
  • exbluesbreaker/vtk
  • junghans/vtk
  • NikitaKolebaev/vtk
  • jwilson1881/vtk
  • celynchgt/vtk
  • guillaume.gisbert/vtk
853 results
Show changes
Commits on Source (4)
## Add SurfaceProbeVolumeMapper
vtkOpenGLSurfaceProbeVolumeMapper is a PolyDataMapper colored with probed volume data.
The mapper accepts three inputs: the Input, the Source and an optional ProbeInput.
The Source data defines the vtkImageData from which scalar values are interpolated.
The Input data defines the rendered surface.
The ProbeInput defines the geometry used to interpolate the source data.
If the ProbeInput is not specified, the Input is used both for probing and rendering.
Projecting the scalar values from the ProbeInput to the Input is done thanks to texture
coordinates. Both inputs must provide texture coordinates in the [0, 1] range.
...@@ -4,6 +4,7 @@ set(classes ...@@ -4,6 +4,7 @@ set(classes
vtkOpenGLGPUVolumeRayCastMapper vtkOpenGLGPUVolumeRayCastMapper
vtkOpenGLProjectedTetrahedraMapper vtkOpenGLProjectedTetrahedraMapper
vtkOpenGLRayCastImageDisplayHelper vtkOpenGLRayCastImageDisplayHelper
vtkOpenGLSurfaceProbeVolumeMapper
vtkSmartVolumeMapper vtkSmartVolumeMapper
vtkVolumeTexture) vtkVolumeTexture)
......
...@@ -19,6 +19,7 @@ set (VolumeOpenGL2CxxTests ...@@ -19,6 +19,7 @@ set (VolumeOpenGL2CxxTests
TestGPURayCastToggleJittering.cxx TestGPURayCastToggleJittering.cxx
TestGPURayCastUserShader.cxx TestGPURayCastUserShader.cxx
TestGPURayCastUserShader2.cxx TestGPURayCastUserShader2.cxx
TestSurfaceProbeVolumeMapper.cxx
) )
# everyone gets these tests # everyone gets these tests
......
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
// SPDX-License-Identifier: BSD-3-Clause
#include "vtkActor.h"
#include "vtkCamera.h"
#include "vtkCellArray.h"
#include "vtkColorTransferFunction.h"
#include "vtkDoubleArray.h"
#include "vtkImageData.h"
#include "vtkLinearExtrusionFilter.h"
#include "vtkNew.h"
#include "vtkOpenGLGPUVolumeRayCastMapper.h"
#include "vtkOpenGLSurfaceProbeVolumeMapper.h"
#include "vtkPiecewiseFunction.h"
#include "vtkPlaneSource.h"
#include "vtkPointData.h"
#include "vtkPoints.h"
#include "vtkPolyData.h"
#include "vtkPolyDataMapper.h"
#include "vtkPolyDataNormals.h"
#include "vtkPolyLine.h"
#include "vtkRegressionTestImage.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkRenderer.h"
#include "vtkSplineFilter.h"
#include "vtkTestUtilities.h"
#include "vtkTransform.h"
#include "vtkVolume.h"
#include "vtkVolume16Reader.h"
#include "vtkVolumeProperty.h"
namespace
{
vtkSmartPointer<vtkPolyData> CreateCurvedPlane(double planeWidth, double& curveLength)
{
// Create centerline polydata
vtkNew<vtkPoints> linePoints;
linePoints->InsertNextPoint(70.0, 105.0, 70.0);
linePoints->InsertNextPoint(95.0, 165.0, 70.0);
linePoints->InsertNextPoint(125.0, 105.0, 70.0);
vtkNew<vtkPolyLine> line;
line->GetPointIds()->SetNumberOfIds(linePoints->GetNumberOfPoints());
for (int i = 0; i < linePoints->GetNumberOfPoints(); i++)
{
line->GetPointIds()->SetId(i, i);
}
vtkNew<vtkCellArray> lines;
lines->InsertNextCell(line);
vtkNew<vtkPolyData> linePolydata;
linePolydata->SetPoints(linePoints);
linePolydata->SetLines(lines);
// Create spline from centerline polydata
vtkNew<vtkSplineFilter> spline;
spline->SetNumberOfSubdivisions(50);
spline->SetInputData(linePolydata);
spline->Update();
vtkPolyData* splinePolydata = spline->GetOutput();
// Extrude spline to create a curved plane
vtkNew<vtkLinearExtrusionFilter> lineExtrusion;
lineExtrusion->SetInputData(splinePolydata);
lineExtrusion->SetExtrusionTypeToVectorExtrusion();
lineExtrusion->SetVector(0, 0, planeWidth);
// Compute normals for blend mode
vtkNew<vtkPolyDataNormals> normalsFilter;
normalsFilter->SetInputConnection(lineExtrusion->GetOutputPort());
normalsFilter->ConsistencyOn();
normalsFilter->SplittingOff();
normalsFilter->Update();
vtkSmartPointer<vtkPolyData> probeSurface = normalsFilter->GetOutput();
curveLength = 0.0;
// Compute centerline length for texture coordinates
for (int i = 0; i < splinePolydata->GetNumberOfPoints(); i++)
{
double p1[3] = {};
double p2[3] = {};
splinePolydata->GetPoint(i, p1);
splinePolydata->GetPoint(i > 0 ? i - 1 : i, p2);
curveLength += std::sqrt(vtkMath::Distance2BetweenPoints(p1, p2));
}
// Compute texture coordinates
vtkNew<vtkDoubleArray> tcoords;
tcoords->SetNumberOfComponents(2);
tcoords->SetNumberOfTuples(2 * probeSurface->GetNumberOfPoints());
double currentLineDistance = 0.0;
for (int i = 0; i < splinePolydata->GetNumberOfPoints(); i++)
{
double p1[3] = {};
double p2[3] = {};
splinePolydata->GetPoint(i, p1);
splinePolydata->GetPoint(i > 0 ? i - 1 : i, p2);
currentLineDistance += std::sqrt(vtkMath::Distance2BetweenPoints(p1, p2));
double xCoord = currentLineDistance / curveLength;
tcoords->SetTuple2(i, xCoord, 1.0);
tcoords->SetTuple2(i + splinePolydata->GetNumberOfPoints(), xCoord, 0.0);
}
probeSurface->GetPointData()->SetTCoords(tcoords);
return probeSurface;
}
}
//------------------------------------------------------------------------------
int TestSurfaceProbeVolumeMapper(int argc, char* argv[])
{
// Load image
char* fname = vtkTestUtilities::ExpandDataFileName(argc, argv, "Data/headsq/quarter");
vtkNew<vtkVolume16Reader> volumeReader;
volumeReader->SetDataDimensions(64, 64);
volumeReader->SetDataByteOrderToLittleEndian();
volumeReader->SetImageRange(1, 93);
volumeReader->SetDataSpacing(3.2, 3.2, 1.5);
volumeReader->SetFilePrefix(fname);
volumeReader->Update();
delete[] fname;
vtkImageData* volumeData = volumeReader->GetOutput();
vtkNew<vtkRenderWindow> renderWindow;
vtkNew<vtkRenderWindowInteractor> interactor;
interactor->SetRenderWindow(renderWindow);
vtkNew<vtkRenderer> renderer;
renderWindow->AddRenderer(renderer);
renderer->SetBackground(1, 1, 1);
renderer->SetViewport(0, 0.3, 1, 1);
vtkNew<vtkRenderer> renderer2;
renderWindow->AddRenderer(renderer2);
renderer2->SetBackground(1, 1, 1);
renderer2->SetViewport(0, 0, 1, 0.3);
// Test mixing surface probe mapper with volume rendering
vtkNew<vtkOpenGLGPUVolumeRayCastMapper> volumeMapper;
volumeMapper->SetInputData(volumeData);
vtkNew<vtkVolume> volume;
volume->SetMapper(volumeMapper);
vtkNew<vtkColorTransferFunction> colorFunction;
colorFunction->AddRGBPoint(0, 0.0, 0.0, 0.0);
colorFunction->AddRGBPoint(3900, 1.0, 1.0, 1.0);
vtkNew<vtkPiecewiseFunction> scalarOpacityFunction;
scalarOpacityFunction->AddPoint(1000, 0.0);
scalarOpacityFunction->AddPoint(3900, 0.15);
volume->GetProperty()->SetScalarOpacity(scalarOpacityFunction);
volume->GetProperty()->SetColor(colorFunction);
volume->GetProperty()->SetInterpolationTypeToLinear();
renderer->AddVolume(volume);
// Create probe surface
double planeWidth = 30.0;
double lineDistance = 0.0;
vtkSmartPointer<vtkPolyData> probeSurface = CreateCurvedPlane(planeWidth, lineDistance);
// Test probe mapper without probe input. The input data is used for probing and rendering.
vtkNew<vtkOpenGLSurfaceProbeVolumeMapper> probeMapper;
probeMapper->SetInputData(probeSurface);
probeMapper->SetSourceData(volumeData);
probeMapper->SetBlendModeToAverageIntensity();
probeMapper->SetBlendWidth(10);
probeMapper->SetWindow(2000);
probeMapper->SetLevel(2000);
vtkNew<vtkActor> probeActor;
probeActor->SetMapper(probeMapper);
// Test transforms applied to probe surface
double* c = probeActor->GetCenter();
vtkNew<vtkTransform> transform;
transform->Translate(c);
transform->RotateX(30);
transform->Translate(-c[0], -c[1], -c[2]);
probeActor->SetUserTransform(transform);
renderer->AddActor(probeActor);
renderer->ResetCamera();
renderer->GetActiveCamera()->Elevation(70);
renderer->GetActiveCamera()->Dolly(1.5);
renderer->ResetCameraClippingRange();
// Test probe mapper on straightened plane.
// The probe input is projected on the input data
vtkNew<vtkPlaneSource> planeSource;
planeSource->SetOrigin(0, 0, 0);
planeSource->SetPoint1(0, lineDistance, 0);
planeSource->SetPoint2(planeWidth, 0, 0);
vtkNew<vtkOpenGLSurfaceProbeVolumeMapper> probeMapper2;
probeMapper2->SetInputConnection(planeSource->GetOutputPort());
probeMapper2->SetProbeInputData(probeSurface);
probeMapper2->SetSourceData(volumeData);
probeMapper2->SetBlendModeToAverageIntensity();
probeMapper2->SetBlendWidth(10);
probeMapper2->SetWindow(2000);
probeMapper2->SetLevel(2000);
vtkNew<vtkActor> probeActor2;
probeActor2->SetMapper(probeMapper2);
probeActor2->SetUserTransform(transform);
renderer2->AddActor(probeActor2);
renderer2->GetActiveCamera()->SetViewUp(1, 0, 0);
renderer2->GetActiveCamera()->Yaw(210);
renderer2->ResetCamera();
renderer2->GetActiveCamera()->Dolly(3);
renderer2->ResetCameraClippingRange();
renderWindow->Render();
int retVal = vtkRegressionTestImage(renderWindow);
if (retVal == vtkRegressionTester::DO_INTERACTOR)
{
interactor->Start();
}
return !retVal;
}
c1629c99a7f048c0da3cc2e62861db29f06feecf1a55f5673aa52fc67ae84d3a960b4bca292cc45337922b36a8339dfac02a338d1cdfb8022d1164b99e16c27e
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
// SPDX-License-Identifier: BSD-3-Clause
/**
* @class vtkOpenGLSurfaceProbeVolumeMapper
* @brief PolyDataMapper colored with probed volume data.
*
* PolyDataMapper that probes volume data at the points positions specified in its input data.
* The rendered surface is colored using the scalar values that were probed in the source volume.
* The mapper accepts three inputs: the Input, the Source and an optional ProbeInput.
* The Source data defines the vtkImageData from which scalar values are interpolated.
* The Input data defines the rendered surface.
* The ProbeInput defines the geometry used to interpolate the source data.
* If the ProbeInput is not specified, the Input is used both for probing and rendering.
*
* Projecting the scalar values from the ProbeInput to the Input is done thanks to texture
* coordinates. Both inputs must provide texture coordinates in the [0, 1] range.
*
* The sampled scalar values can be computed with different blending strategy that use surface
* normals to perform thick probing of the Source data.
*
* @note The following features are not supported yet but should be considered in the future.
*
* - The volume texture is always uploaded using linear interpolation.
* The public API could provide a setter to use nearest neighbor interpolation instead.
*
* - If the source is rendered by a volume mapper, any transform applied to the volume
* is ignored as there is no interface to pass this information.
*
* - Only the first scalar component is used for rendering and rescaled with Window/Level.
* Consider supporting RGB volumes without W/L mapping, and independent component.
* Consider supporting Color and opacity transfer function to replace W/L mapping.
*
* Passing a vtkVolumeProperty to this mapper should be considered to address the above points.
*
* - A background value of (0, 0, 0, 0) is used when probing outside the volume, but this
* parameters could be exposed in the public API
*
* - A step value corresponding to the half of the minimum spacing value of the source is used for
* blend modes, but it could be configured from the public API.
*/
#ifndef vtkOpenGLSurfaceProbeVolumeMapper_h
#define vtkOpenGLSurfaceProbeVolumeMapper_h
#include "vtkNew.h" // For vtkNew
#include "vtkOpenGLPolyDataMapper.h"
#include "vtkRenderingVolumeOpenGL2Module.h" // For export macro
VTK_ABI_NAMESPACE_BEGIN
class vtkOpenGLFramebufferObject;
class vtkOpenGLRenderWindow;
class vtkTextureObject;
class vtkVolumeTexture;
class VTKRENDERINGVOLUMEOPENGL2_EXPORT vtkOpenGLSurfaceProbeVolumeMapper
: public vtkOpenGLPolyDataMapper
{
public:
static vtkOpenGLSurfaceProbeVolumeMapper* New();
vtkTypeMacro(vtkOpenGLSurfaceProbeVolumeMapper, vtkOpenGLPolyDataMapper);
///@{
/**
* Specify the input data used for probing (optional).
* If no probe data is specified, the input is used.
*/
void SetProbeInputData(vtkPolyData* in);
vtkPolyData* GetProbeInput();
void SetProbeInputConnection(vtkAlgorithmOutput* algOutput);
///@}
///@{
/**
* Specify the input data to be probed.
*/
void SetSourceData(vtkImageData* in);
vtkImageData* GetSource();
void SetSourceConnection(vtkAlgorithmOutput* algOutput);
///@}
///@{
/**
* Set/Get the current window and level values used for scalar coloring.
*/
vtkGetMacro(Window, double);
vtkSetMacro(Window, double);
vtkGetMacro(Level, double);
vtkSetMacro(Level, double);
///@}
///@{
/**
* Set/Get the blend mode.
* Default is none.
*
* \sa vtkVolumeMapper::GetBlendMode()
*/
enum class BlendModes : unsigned int
{
NONE = 0,
MAX,
MIN,
AVERAGE
};
vtkGetEnumMacro(BlendMode, BlendModes);
vtkSetEnumMacro(BlendMode, BlendModes);
void SetBlendModeToNone() { this->SetBlendMode(BlendModes::NONE); }
void SetBlendModeToMaximumIntensity() { this->SetBlendMode(BlendModes::MAX); }
void SetBlendModeToMinimumIntensity() { this->SetBlendMode(BlendModes::MIN); }
void SetBlendModeToAverageIntensity() { this->SetBlendMode(BlendModes::AVERAGE); }
///@}
///@{
/**
* Set/Get the blend width in world coordinates.
*/
vtkGetMacro(BlendWidth, double);
vtkSetMacro(BlendWidth, double);
///@}
void RenderPiece(vtkRenderer* ren, vtkActor* act) override;
void UpdateShaders(vtkOpenGLHelper& cellBO, vtkRenderer* ren, vtkActor* act) override;
protected:
int FillInputPortInformation(int port, vtkInformation* info) override;
virtual void ReplaceShaderPositionPass(vtkActor* act);
virtual void ReplaceShaderProbePass(vtkActor* act);
virtual void UpdateShadersProbePass(vtkOpenGLHelper& cellBO, vtkRenderer* ren);
private:
vtkOpenGLSurfaceProbeVolumeMapper();
~vtkOpenGLSurfaceProbeVolumeMapper() override = default;
void CreateTexture(vtkTextureObject*, vtkOpenGLRenderWindow*);
void ReplaceActiveFBO(vtkRenderer*);
void RestoreActiveFBO(vtkRenderer*);
vtkNew<vtkOpenGLFramebufferObject> FBO;
vtkNew<vtkTextureObject> PositionsTextureObject;
vtkNew<vtkTextureObject> NormalsTextureObject;
vtkNew<vtkVolumeTexture> VolumeTexture;
vtkNew<vtkImageData> TransformedSource;
// Internal pass type used for shader updates
enum class PassTypes : unsigned int
{
DEFAULT = 0,
POSITION_TEXTURE,
PROBE
};
PassTypes CurrentPass = PassTypes::DEFAULT;
// Window / level
double Window = 1.0;
double Level = 0.0;
// Blend mode
BlendModes BlendMode = BlendModes::NONE;
double BlendWidth = 1.0;
// Saved state
bool SavedScissorTestState = false;
bool SavedBlendState = false;
int SavedViewport[4] = {};
};
VTK_ABI_NAMESPACE_END
#endif