From 6bcf419d2e8f739b432d4790d1ba9d48ab65365b Mon Sep 17 00:00:00 2001 From: fcolin Date: Fri, 18 Nov 2011 12:14:12 +0000 Subject: --- ARMFCaptureD3D/ARAnalyse.cpp | 1244 +++++++++++++++++ ARMFCaptureD3D/ARAnalyse.h | 143 ++ ARMFCaptureD3D/ARMFCaptureD3D.aps | Bin 0 -> 65600 bytes ARMFCaptureD3D/ARMFCaptureD3D.h | 52 + ARMFCaptureD3D/ARMFCaptureD3D.opensdf | Bin 0 -> 24 bytes ARMFCaptureD3D/ARMFCaptureD3D.rc | 198 +++ ARMFCaptureD3D/ARMFCaptureD3D.sdf | Bin 0 -> 48779264 bytes ARMFCaptureD3D/ARMFCaptureD3D.sln | 73 + ARMFCaptureD3D/ARMFCaptureD3D.sln.cache | 241 ++++ ARMFCaptureD3D/ARMFCaptureD3D.suo | Bin 0 -> 82944 bytes ARMFCaptureD3D/BufferLock.h | 125 ++ ARMFCaptureD3D/Calibration.cpp | 254 ++++ ARMFCaptureD3D/Calibration.h | 31 + ARMFCaptureD3D/ConfigFile/AntBlueMaize.jpg | Bin 0 -> 6533 bytes ARMFCaptureD3D/ConfigFile/ArrowHome.gif | Bin 0 -> 187 bytes ARMFCaptureD3D/ConfigFile/ConfigFile.cpp | 142 ++ ARMFCaptureD3D/ConfigFile/ConfigFile.h | 253 ++++ ARMFCaptureD3D/ConfigFile/ConfigFile.html | 72 + ARMFCaptureD3D/ConfigFile/Makefile | 24 + ARMFCaptureD3D/ConfigFile/README | 57 + ARMFCaptureD3D/ConfigFile/Triplet.h | 34 + ARMFCaptureD3D/ConfigFile/example.cpp | 111 ++ ARMFCaptureD3D/ConfigFile/example.inp | 14 + ARMFCaptureD3D/ConfigFile/main.css | 37 + ARMFCaptureD3D/ConfigFile/test.inp | 83 ++ ARMFCaptureD3D/ConfigFile/tester.cpp | 331 +++++ ARMFCaptureD3D/Debug/ARAnalyse.obj | Bin 0 -> 1292265 bytes .../Debug/ARMFCaptureD3D.Build.CppClean.log | 125 ++ ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe | Bin 0 -> 873472 bytes .../Debug/ARMFCaptureD3D.exe.embed.manifest | 15 + .../Debug/ARMFCaptureD3D.exe.embed.manifest.res | Bin 0 -> 744 bytes .../Debug/ARMFCaptureD3D.exe.intermediate.manifest | 15 + ARMFCaptureD3D/Debug/ARMFCaptureD3D.ilk | Bin 0 -> 6546468 bytes ARMFCaptureD3D/Debug/ARMFCaptureD3D.lastbuildstate | 2 + ARMFCaptureD3D/Debug/ARMFCaptureD3D.pdb | Bin 0 -> 6614016 bytes ARMFCaptureD3D/Debug/ARMFCaptureD3D.res | Bin 0 -> 668 bytes ARMFCaptureD3D/Debug/ARMFCaptureD3D.write.1.tlog | 0 ARMFCaptureD3D/Debug/ARMFCaptureD3D_manifest.rc | Bin 0 -> 218 bytes ARMFCaptureD3D/Debug/ARToolKitPlus.dll | Bin 0 -> 657920 bytes ARMFCaptureD3D/Debug/ARToolKitPlus.exp | Bin 0 -> 45324 bytes ARMFCaptureD3D/Debug/ARToolKitPlus.ilk | Bin 0 -> 4061144 bytes ARMFCaptureD3D/Debug/ARToolKitPlus.lib | Bin 0 -> 76238 bytes ARMFCaptureD3D/Debug/ARToolKitPlus.pdb | Bin 0 -> 2665472 bytes ARMFCaptureD3D/Debug/CL.read.1.tlog | Bin 0 -> 238784 bytes ARMFCaptureD3D/Debug/CL.write.1.tlog | Bin 0 -> 19216 bytes ARMFCaptureD3D/Debug/Calibration.obj | Bin 0 -> 173762 bytes ARMFCaptureD3D/Debug/ConfigFile.obj | Bin 0 -> 794939 bytes ARMFCaptureD3D/Debug/Ivy.bsc | Bin 0 -> 11264 bytes ARMFCaptureD3D/Debug/Ivy.dll | Bin 0 -> 314368 bytes ARMFCaptureD3D/Debug/Ivy.exp | Bin 0 -> 17114 bytes ARMFCaptureD3D/Debug/Ivy.ilk | Bin 0 -> 1395312 bytes ARMFCaptureD3D/Debug/Ivy.lib | Bin 0 -> 28202 bytes ARMFCaptureD3D/Debug/Ivy.pdb | Bin 0 -> 2878464 bytes ARMFCaptureD3D/Debug/MFCaptureD3D.exe | Bin 0 -> 72704 bytes ARMFCaptureD3D/Debug/MFCaptureD3D.lastbuildstate | 2 + ARMFCaptureD3D/Debug/MFCaptureD3D.lib | Bin 0 -> 2308 bytes ARMFCaptureD3D/Debug/MFCaptureD3D.log | 59 + .../Debug/MFCaptureD3D.unsuccessfulbuild | 0 .../Debug/ResolveAssemblyReference.cache | Bin 0 -> 1520 bytes ARMFCaptureD3D/Debug/cl.command.1.tlog | Bin 0 -> 8922 bytes ARMFCaptureD3D/Debug/debug.obj | Bin 0 -> 215105 bytes ARMFCaptureD3D/Debug/link-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.1424-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.1424-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.1424.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.1424.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2360-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2360-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2360.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2360.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2364-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2364-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2364.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2364.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2468-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2468-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2468.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2468.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2948-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2948-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2948.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.2948.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3132-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3132-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3132.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3132.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3244-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3244-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3244.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3244.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3672-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3672-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3672.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3672.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3720-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3720-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3720.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3720.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3844-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3844-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3844.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.3844.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4036-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4036-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4036.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4036.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4200-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4200-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4200.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4200.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4460-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4460-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4460.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4460.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4716-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4716-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4716.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4716.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4948-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4948-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4948.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.4948.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5368-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5368-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5368.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5368.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5624-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5624-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5624.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5624.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5656-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5656-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5656.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5656.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5752-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5752-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5752.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5752.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5868-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5868-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5868.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.5868.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6132-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6132-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6132.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6132.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6264-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6264-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6264.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6264.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6468-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6468-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6468.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6468.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6716-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6716-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6716.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6716.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6724-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6724-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6724.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6724.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6772-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6772-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6772.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6772.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6844-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6844-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6844.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6844.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6928-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6928-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6928.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6928.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6968-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6968-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6968.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6968.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6996-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6996-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6996.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.6996.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7096-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7096-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7096.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7096.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7232-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7232-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7232.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7232.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7240-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7240-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7240.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7240.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7416-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7416-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7416.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7416.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7960-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7960-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7960.read.1.tlog | 1 + ARMFCaptureD3D/Debug/link.7960.write.1.tlog | 1 + ARMFCaptureD3D/Debug/link.command.1.tlog | Bin 0 -> 4428 bytes ARMFCaptureD3D/Debug/link.read.1.tlog | Bin 0 -> 7762 bytes ARMFCaptureD3D/Debug/link.write.1.tlog | Bin 0 -> 2948 bytes ARMFCaptureD3D/Debug/mt.command.1.tlog | Bin 0 -> 480 bytes ARMFCaptureD3D/Debug/mt.read.1.tlog | Bin 0 -> 554 bytes ARMFCaptureD3D/Debug/mt.write.1.tlog | Bin 0 -> 454 bytes ARMFCaptureD3D/Debug/options.obj | Bin 0 -> 225747 bytes ARMFCaptureD3D/Debug/pcre.bsc | Bin 0 -> 11264 bytes ARMFCaptureD3D/Debug/pcre.dll | Bin 0 -> 265728 bytes ARMFCaptureD3D/Debug/pcre.exp | Bin 0 -> 38611 bytes ARMFCaptureD3D/Debug/pcre.ilk | Bin 0 -> 606476 bytes ARMFCaptureD3D/Debug/pcre.lib | Bin 0 -> 63630 bytes ARMFCaptureD3D/Debug/pcre.pdb | Bin 0 -> 896000 bytes ARMFCaptureD3D/Debug/rc.command.1.tlog | Bin 0 -> 1380 bytes ARMFCaptureD3D/Debug/rc.read.1.tlog | Bin 0 -> 3280 bytes ARMFCaptureD3D/Debug/rc.write.1.tlog | Bin 0 -> 798 bytes ARMFCaptureD3D/Debug/sgetopt.obj | Bin 0 -> 28610 bytes ARMFCaptureD3D/Debug/vc100.idb | Bin 0 -> 1174528 bytes ARMFCaptureD3D/Debug/vc100.pdb | Bin 0 -> 1200128 bytes ARMFCaptureD3D/MFCaptureD3D.aps | Bin 0 -> 62088 bytes ARMFCaptureD3D/MFCaptureD3D.sdf | Bin 0 -> 45043712 bytes ARMFCaptureD3D/MFCaptureD3D.vcproj | 393 ++++++ ARMFCaptureD3D/MFCaptureD3D.vcxproj | 219 +++ ARMFCaptureD3D/MFCaptureD3D.vcxproj.filters | 89 ++ ARMFCaptureD3D/MFCaptureD3D.vcxproj.user | 19 + ARMFCaptureD3D/MinMaxAvg.cpp | 31 + ARMFCaptureD3D/MinMaxAvg.h | 18 + ARMFCaptureD3D/Release/ARMFCaptureD3D.exe | Bin 0 -> 109568 bytes .../ARMFCaptureD3D.exe.intermediate.manifest | 15 + ARMFCaptureD3D/Release/ARMFCaptureD3D.exp | Bin 0 -> 1006 bytes .../Release/ARMFCaptureD3D.lastbuildstate | 2 + ARMFCaptureD3D/Release/ARMFCaptureD3D.lib | Bin 0 -> 2336 bytes ARMFCaptureD3D/Release/ARMFCaptureD3D.pdb | Bin 0 -> 1420288 bytes ARMFCaptureD3D/Release/ARMFCaptureD3D.res | Bin 0 -> 668 bytes ARMFCaptureD3D/Release/ARMFCaptureD3D.write.1.tlog | 15 + ARMFCaptureD3D/Release/ARToolKitPlus.dll | Bin 0 -> 188416 bytes ARMFCaptureD3D/Release/ARToolKitPlus.exp | Bin 0 -> 45048 bytes ARMFCaptureD3D/Release/ARToolKitPlus.lib | Bin 0 -> 75772 bytes ARMFCaptureD3D/Release/CL.read.1.tlog | Bin 0 -> 176572 bytes ARMFCaptureD3D/Release/CL.write.1.tlog | Bin 0 -> 5840 bytes ARMFCaptureD3D/Release/Calibration.obj | Bin 0 -> 968849 bytes ARMFCaptureD3D/Release/ConfigFile.obj | Bin 0 -> 875046 bytes ARMFCaptureD3D/Release/MFCaptureD3D.log | 19 + ARMFCaptureD3D/Release/cl.command.1.tlog | Bin 0 -> 8168 bytes ARMFCaptureD3D/Release/debug.obj | Bin 0 -> 1016215 bytes ARMFCaptureD3D/Release/device.obj | Bin 0 -> 994643 bytes ARMFCaptureD3D/Release/link-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/Release/link-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/Release/link.command.1.tlog | Bin 0 -> 4064 bytes ARMFCaptureD3D/Release/link.read.1.tlog | Bin 0 -> 7342 bytes ARMFCaptureD3D/Release/link.write.1.tlog | Bin 0 -> 2412 bytes ARMFCaptureD3D/Release/mt.command.1.tlog | Bin 0 -> 626 bytes ARMFCaptureD3D/Release/mt.read.1.tlog | Bin 0 -> 990 bytes ARMFCaptureD3D/Release/mt.write.1.tlog | Bin 0 -> 432 bytes ARMFCaptureD3D/Release/options.obj | Bin 0 -> 654713 bytes ARMFCaptureD3D/Release/preview.obj | Bin 0 -> 1349578 bytes ARMFCaptureD3D/Release/rc.command.1.tlog | Bin 0 -> 684 bytes ARMFCaptureD3D/Release/rc.read.1.tlog | Bin 0 -> 2756 bytes ARMFCaptureD3D/Release/rc.write.1.tlog | Bin 0 -> 370 bytes ARMFCaptureD3D/Release/vc100.pdb | Bin 0 -> 667648 bytes ARMFCaptureD3D/Release/winmain.obj | Bin 0 -> 1134140 bytes ARMFCaptureD3D/Setup/Release/Install ARIvy X64.msi | Bin 0 -> 1049088 bytes ARMFCaptureD3D/Setup/Release/setup.exe | Bin 0 -> 437760 bytes ARMFCaptureD3D/Setup/Setup.vdproj | 1009 ++++++++++++++ ARMFCaptureD3D/UpgradeLog.XML | 16 + ARMFCaptureD3D/UpgradeLog2.XML | 17 + ARMFCaptureD3D/UpgradeLog3.XML | 15 + .../_UpgradeReport_Files/UpgradeReport.css | 207 +++ .../_UpgradeReport_Files/UpgradeReport.xslt | 232 ++++ .../_UpgradeReport_Files/UpgradeReport_Minus.gif | Bin 0 -> 69 bytes .../_UpgradeReport_Files/UpgradeReport_Plus.gif | Bin 0 -> 71 bytes ARMFCaptureD3D/data/Logitech_Notebook_Pro.cal | 2 + ARMFCaptureD3D/data/One.cfg | 10 + ARMFCaptureD3D/data/config.inp | 20 + ARMFCaptureD3D/data/markerboard_480-499.cfg | 165 +++ ARMFCaptureD3D/data/no_distortion.cal | 2 + ARMFCaptureD3D/debug.cpp | 384 ++++++ ARMFCaptureD3D/debug.h | 32 + ARMFCaptureD3D/device.cpp | 1280 ++++++++++++++++++ ARMFCaptureD3D/device.h | 93 ++ .../armfcaptured3d-1ab7d59.ipch | Bin 0 -> 73334784 bytes ARMFCaptureD3D/options.cpp | 1146 ++++++++++++++++ ARMFCaptureD3D/options.h | 496 +++++++ ARMFCaptureD3D/preview.cpp | 701 ++++++++++ ARMFCaptureD3D/preview.h | 97 ++ ARMFCaptureD3D/readme.txt | 51 + ARMFCaptureD3D/resource.h | 66 + ARMFCaptureD3D/ribbon1.mfcribbon-ms | 20 + ARMFCaptureD3D/toolbar1.bmp | Bin 0 -> 238 bytes ARMFCaptureD3D/winmain.cpp | 1416 ++++++++++++++++++++ ARMFCaptureD3D/x64/Debug/ARAnalyse.obj | Bin 0 -> 1427372 bytes .../x64/Debug/ARMFCaptureD3D.Build.CppClean.log | 51 + ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe | Bin 0 -> 457728 bytes .../x64/Debug/ARMFCaptureD3D.exe.embed.manifest | 15 + .../Debug/ARMFCaptureD3D.exe.embed.manifest.res | Bin 0 -> 744 bytes .../Debug/ARMFCaptureD3D.exe.intermediate.manifest | 15 + ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exp | Bin 0 -> 1030 bytes ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.ilk | Bin 0 -> 2485968 bytes .../x64/Debug/ARMFCaptureD3D.lastbuildstate | 2 + ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.lib | Bin 0 -> 2364 bytes ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.pdb | Bin 0 -> 2673664 bytes ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.res | Bin 0 -> 1400 bytes .../x64/Debug/ARMFCaptureD3D.write.1.tlog | 5 + .../x64/Debug/ARMFCaptureD3D_manifest.rc | Bin 0 -> 228 bytes ARMFCaptureD3D/x64/Debug/ARToolKitPlus.dll | Bin 0 -> 868864 bytes ARMFCaptureD3D/x64/Debug/ARToolKitPlus.lib | Bin 0 -> 78280 bytes ARMFCaptureD3D/x64/Debug/CL.read.1.tlog | Bin 0 -> 196296 bytes ARMFCaptureD3D/x64/Debug/CL.write.1.tlog | Bin 0 -> 6254 bytes ARMFCaptureD3D/x64/Debug/Calibration.obj | Bin 0 -> 996284 bytes ARMFCaptureD3D/x64/Debug/ConfigFile.obj | Bin 0 -> 912727 bytes ARMFCaptureD3D/x64/Debug/Ivy.dll | Bin 0 -> 382976 bytes ARMFCaptureD3D/x64/Debug/Ivy.lib | Bin 0 -> 28938 bytes .../x64/Debug/MFCaptureD3D.Build.CppClean.log | 34 + .../x64/Debug/MFCaptureD3D.lastbuildstate | 2 + ARMFCaptureD3D/x64/Debug/MFCaptureD3D.lib | Bin 0 -> 2336 bytes ARMFCaptureD3D/x64/Debug/MFCaptureD3D.log | 254 ++++ .../x64/Debug/MFCaptureD3D.unsuccessfulbuild | 0 ARMFCaptureD3D/x64/Debug/MinMaxAvg.obj | Bin 0 -> 5729 bytes .../x64/Debug/ResolveAssemblyReference.cache | Bin 0 -> 920 bytes ARMFCaptureD3D/x64/Debug/cl.command.1.tlog | Bin 0 -> 9870 bytes ARMFCaptureD3D/x64/Debug/debug.obj | Bin 0 -> 174197 bytes ARMFCaptureD3D/x64/Debug/device.obj | Bin 0 -> 280886 bytes ARMFCaptureD3D/x64/Debug/link-cvtres.read.1.tlog | 1 + ARMFCaptureD3D/x64/Debug/link-cvtres.write.1.tlog | 1 + .../x64/Debug/link.3816-cvtres.read.1.tlog | 1 + .../x64/Debug/link.3816-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/x64/Debug/link.3816.read.1.tlog | 1 + ARMFCaptureD3D/x64/Debug/link.3816.write.1.tlog | 1 + ARMFCaptureD3D/x64/Debug/link.command.1.tlog | Bin 0 -> 5284 bytes ARMFCaptureD3D/x64/Debug/link.read.1.tlog | Bin 0 -> 9946 bytes ARMFCaptureD3D/x64/Debug/link.write.1.tlog | Bin 0 -> 3434 bytes ARMFCaptureD3D/x64/Debug/mt.command.1.tlog | Bin 0 -> 504 bytes ARMFCaptureD3D/x64/Debug/mt.read.1.tlog | Bin 0 -> 344 bytes ARMFCaptureD3D/x64/Debug/mt.write.1.tlog | Bin 0 -> 470 bytes ARMFCaptureD3D/x64/Debug/options.obj | Bin 0 -> 109877 bytes ARMFCaptureD3D/x64/Debug/pcre.dll | Bin 0 -> 344576 bytes ARMFCaptureD3D/x64/Debug/pcre.lib | Bin 0 -> 65226 bytes ARMFCaptureD3D/x64/Debug/preview.obj | Bin 0 -> 205415 bytes ARMFCaptureD3D/x64/Debug/rc.command.1.tlog | Bin 0 -> 1436 bytes ARMFCaptureD3D/x64/Debug/rc.read.1.tlog | Bin 0 -> 3296 bytes ARMFCaptureD3D/x64/Debug/rc.write.1.tlog | Bin 0 -> 822 bytes ARMFCaptureD3D/x64/Debug/vc100.idb | Bin 0 -> 1190912 bytes ARMFCaptureD3D/x64/Debug/vc100.pdb | Bin 0 -> 921600 bytes ARMFCaptureD3D/x64/Debug/winmain.obj | Bin 0 -> 674374 bytes ARMFCaptureD3D/x64/Release/ARAnalyse.obj | Bin 0 -> 1368090 bytes ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exe | Bin 0 -> 164352 bytes .../x64/Release/ARMFCaptureD3D.exe - Raccourci.lnk | Bin 0 -> 1349 bytes .../ARMFCaptureD3D.exe.intermediate.manifest | 15 + ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exp | Bin 0 -> 1032 bytes .../x64/Release/ARMFCaptureD3D.lastbuildstate | 2 + ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.lib | Bin 0 -> 2364 bytes ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.pdb | Bin 0 -> 1477632 bytes ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.res | Bin 0 -> 1400 bytes .../x64/Release/ARMFCaptureD3D.write.1.tlog | 645 +++++++++ ARMFCaptureD3D/x64/Release/ARToolKitPlus.dll | Bin 0 -> 244224 bytes ARMFCaptureD3D/x64/Release/ARToolKitPlus.exp | Bin 0 -> 46554 bytes ARMFCaptureD3D/x64/Release/ARToolKitPlus.lib | Bin 0 -> 78280 bytes ARMFCaptureD3D/x64/Release/CL.1180.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.1180.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.1284.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.1284.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.1464.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.1464.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.2096.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.2096.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.2124.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.2124.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3024.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3024.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3092.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3092.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3364.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3364.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3384.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3384.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3544.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3544.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3916.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3916.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3924.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.3924.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.4284.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.4284.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.4332.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.4332.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.4604.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.4604.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.4640.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.4640.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5060.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5060.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5172.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5172.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5288.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5288.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5404.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5404.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5472.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5472.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5488.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5488.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5716.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5716.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5736.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5736.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5752.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5752.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5804.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5804.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5900.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5900.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5956.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.5956.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.6228.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.6228.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.6368.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.6368.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.6400.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.6400.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.6428.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.6428.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.6488.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.6488.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.6748.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.6748.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.7112.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.7112.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.7176.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.7176.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.7352.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.7352.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.7400.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.7400.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.748.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.748.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8132.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8132.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8248.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8248.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8296.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8296.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8776.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8776.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8824.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8824.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8856.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8856.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8904.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.8904.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.9148.read.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.9148.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/CL.read.1.tlog | Bin 0 -> 197208 bytes ARMFCaptureD3D/x64/Release/CL.write.1.tlog | Bin 0 -> 17388 bytes ARMFCaptureD3D/x64/Release/Calibration.obj | Bin 0 -> 1182125 bytes ARMFCaptureD3D/x64/Release/ConfigFile.obj | Bin 0 -> 875020 bytes ARMFCaptureD3D/x64/Release/Ivy.dll | Bin 0 -> 87040 bytes ARMFCaptureD3D/x64/Release/Ivy.exp | Bin 0 -> 17577 bytes ARMFCaptureD3D/x64/Release/Ivy.lib | Bin 0 -> 28938 bytes ARMFCaptureD3D/x64/Release/MFCaptureD3D.log | 231 ++++ ARMFCaptureD3D/x64/Release/MinMaxAvg.obj | Bin 0 -> 7475 bytes ARMFCaptureD3D/x64/Release/cl.command.1.tlog | Bin 0 -> 10014 bytes ARMFCaptureD3D/x64/Release/debug.obj | Bin 0 -> 313458 bytes ARMFCaptureD3D/x64/Release/device.obj | Bin 0 -> 1026980 bytes ARMFCaptureD3D/x64/Release/link-cvtres.read.1.tlog | 1 + .../x64/Release/link-cvtres.write.1.tlog | 1 + ARMFCaptureD3D/x64/Release/link.command.1.tlog | Bin 0 -> 5128 bytes ARMFCaptureD3D/x64/Release/link.read.1.tlog | Bin 0 -> 8992 bytes ARMFCaptureD3D/x64/Release/link.write.1.tlog | Bin 0 -> 3070 bytes ARMFCaptureD3D/x64/Release/mt.command.1.tlog | Bin 0 -> 650 bytes ARMFCaptureD3D/x64/Release/mt.read.1.tlog | Bin 0 -> 1006 bytes ARMFCaptureD3D/x64/Release/mt.write.1.tlog | Bin 0 -> 448 bytes ARMFCaptureD3D/x64/Release/options.obj | Bin 0 -> 653125 bytes ARMFCaptureD3D/x64/Release/pcre.dll | Bin 0 -> 131072 bytes ARMFCaptureD3D/x64/Release/pcre.exp | Bin 0 -> 39593 bytes ARMFCaptureD3D/x64/Release/pcre.lib | Bin 0 -> 65226 bytes ARMFCaptureD3D/x64/Release/pcre.pdb | Bin 0 -> 699392 bytes ARMFCaptureD3D/x64/Release/preview.obj | Bin 0 -> 1001408 bytes ARMFCaptureD3D/x64/Release/rc.command.1.tlog | Bin 0 -> 700 bytes ARMFCaptureD3D/x64/Release/rc.read.1.tlog | Bin 0 -> 2756 bytes ARMFCaptureD3D/x64/Release/rc.write.1.tlog | Bin 0 -> 378 bytes ARMFCaptureD3D/x64/Release/vc100.pdb | Bin 0 -> 733184 bytes ARMFCaptureD3D/x64/Release/winmain.obj | Bin 0 -> 1160966 bytes 485 files changed, 13551 insertions(+) create mode 100644 ARMFCaptureD3D/ARAnalyse.cpp create mode 100644 ARMFCaptureD3D/ARAnalyse.h create mode 100644 ARMFCaptureD3D/ARMFCaptureD3D.aps create mode 100644 ARMFCaptureD3D/ARMFCaptureD3D.h create mode 100644 ARMFCaptureD3D/ARMFCaptureD3D.opensdf create mode 100644 ARMFCaptureD3D/ARMFCaptureD3D.rc create mode 100644 ARMFCaptureD3D/ARMFCaptureD3D.sdf create mode 100644 ARMFCaptureD3D/ARMFCaptureD3D.sln create mode 100644 ARMFCaptureD3D/ARMFCaptureD3D.sln.cache create mode 100644 ARMFCaptureD3D/ARMFCaptureD3D.suo create mode 100644 ARMFCaptureD3D/BufferLock.h create mode 100644 ARMFCaptureD3D/Calibration.cpp create mode 100644 ARMFCaptureD3D/Calibration.h create mode 100644 ARMFCaptureD3D/ConfigFile/AntBlueMaize.jpg create mode 100644 ARMFCaptureD3D/ConfigFile/ArrowHome.gif create mode 100644 ARMFCaptureD3D/ConfigFile/ConfigFile.cpp create mode 100644 ARMFCaptureD3D/ConfigFile/ConfigFile.h create mode 100644 ARMFCaptureD3D/ConfigFile/ConfigFile.html create mode 100644 ARMFCaptureD3D/ConfigFile/Makefile create mode 100644 ARMFCaptureD3D/ConfigFile/README create mode 100644 ARMFCaptureD3D/ConfigFile/Triplet.h create mode 100644 ARMFCaptureD3D/ConfigFile/example.cpp create mode 100644 ARMFCaptureD3D/ConfigFile/example.inp create mode 100644 ARMFCaptureD3D/ConfigFile/main.css create mode 100644 ARMFCaptureD3D/ConfigFile/test.inp create mode 100644 ARMFCaptureD3D/ConfigFile/tester.cpp create mode 100644 ARMFCaptureD3D/Debug/ARAnalyse.obj create mode 100644 ARMFCaptureD3D/Debug/ARMFCaptureD3D.Build.CppClean.log create mode 100644 ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe create mode 100644 ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe.embed.manifest create mode 100644 ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe.embed.manifest.res create mode 100644 ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe.intermediate.manifest create mode 100644 ARMFCaptureD3D/Debug/ARMFCaptureD3D.ilk create mode 100644 ARMFCaptureD3D/Debug/ARMFCaptureD3D.lastbuildstate create mode 100644 ARMFCaptureD3D/Debug/ARMFCaptureD3D.pdb create mode 100644 ARMFCaptureD3D/Debug/ARMFCaptureD3D.res create mode 100644 ARMFCaptureD3D/Debug/ARMFCaptureD3D.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/ARMFCaptureD3D_manifest.rc create mode 100644 ARMFCaptureD3D/Debug/ARToolKitPlus.dll create mode 100644 ARMFCaptureD3D/Debug/ARToolKitPlus.exp create mode 100644 ARMFCaptureD3D/Debug/ARToolKitPlus.ilk create mode 100644 ARMFCaptureD3D/Debug/ARToolKitPlus.lib create mode 100644 ARMFCaptureD3D/Debug/ARToolKitPlus.pdb create mode 100644 ARMFCaptureD3D/Debug/CL.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/CL.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/Calibration.obj create mode 100644 ARMFCaptureD3D/Debug/ConfigFile.obj create mode 100644 ARMFCaptureD3D/Debug/Ivy.bsc create mode 100644 ARMFCaptureD3D/Debug/Ivy.dll create mode 100644 ARMFCaptureD3D/Debug/Ivy.exp create mode 100644 ARMFCaptureD3D/Debug/Ivy.ilk create mode 100644 ARMFCaptureD3D/Debug/Ivy.lib create mode 100644 ARMFCaptureD3D/Debug/Ivy.pdb create mode 100644 ARMFCaptureD3D/Debug/MFCaptureD3D.exe create mode 100644 ARMFCaptureD3D/Debug/MFCaptureD3D.lastbuildstate create mode 100644 ARMFCaptureD3D/Debug/MFCaptureD3D.lib create mode 100644 ARMFCaptureD3D/Debug/MFCaptureD3D.log create mode 100644 ARMFCaptureD3D/Debug/MFCaptureD3D.unsuccessfulbuild create mode 100644 ARMFCaptureD3D/Debug/ResolveAssemblyReference.cache create mode 100644 ARMFCaptureD3D/Debug/cl.command.1.tlog create mode 100644 ARMFCaptureD3D/Debug/debug.obj create mode 100644 ARMFCaptureD3D/Debug/link-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.1424-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.1424-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.1424.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.1424.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2360-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2360-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2360.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2360.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2364-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2364-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2364.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2364.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2468-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2468-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2468.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2468.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2948-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2948-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2948.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.2948.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3132-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3132-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3132.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3132.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3244-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3244-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3244.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3244.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3672-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3672-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3672.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3672.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3720-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3720-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3720.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3720.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3844-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3844-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3844.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.3844.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4036-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4036-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4036.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4036.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4200-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4200-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4200.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4200.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4460-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4460-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4460.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4460.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4716-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4716-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4716.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4716.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4948-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4948-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4948.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.4948.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5368-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5368-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5368.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5368.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5624-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5624-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5624.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5624.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5656-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5656-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5656.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5656.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5752-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5752-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5752.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5752.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5868-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5868-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5868.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.5868.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6132-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6132-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6132.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6132.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6264-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6264-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6264.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6264.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6468-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6468-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6468.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6468.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6716-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6716-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6716.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6716.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6724-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6724-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6724.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6724.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6772-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6772-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6772.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6772.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6844-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6844-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6844.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6844.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6928-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6928-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6928.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6928.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6968-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6968-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6968.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6968.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6996-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6996-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6996.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.6996.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7096-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7096-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7096.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7096.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7232-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7232-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7232.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7232.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7240-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7240-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7240.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7240.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7416-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7416-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7416.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7416.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7960-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7960-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7960.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.7960.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.command.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/link.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/mt.command.1.tlog create mode 100644 ARMFCaptureD3D/Debug/mt.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/mt.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/options.obj create mode 100644 ARMFCaptureD3D/Debug/pcre.bsc create mode 100644 ARMFCaptureD3D/Debug/pcre.dll create mode 100644 ARMFCaptureD3D/Debug/pcre.exp create mode 100644 ARMFCaptureD3D/Debug/pcre.ilk create mode 100644 ARMFCaptureD3D/Debug/pcre.lib create mode 100644 ARMFCaptureD3D/Debug/pcre.pdb create mode 100644 ARMFCaptureD3D/Debug/rc.command.1.tlog create mode 100644 ARMFCaptureD3D/Debug/rc.read.1.tlog create mode 100644 ARMFCaptureD3D/Debug/rc.write.1.tlog create mode 100644 ARMFCaptureD3D/Debug/sgetopt.obj create mode 100644 ARMFCaptureD3D/Debug/vc100.idb create mode 100644 ARMFCaptureD3D/Debug/vc100.pdb create mode 100644 ARMFCaptureD3D/MFCaptureD3D.aps create mode 100644 ARMFCaptureD3D/MFCaptureD3D.sdf create mode 100644 ARMFCaptureD3D/MFCaptureD3D.vcproj create mode 100644 ARMFCaptureD3D/MFCaptureD3D.vcxproj create mode 100644 ARMFCaptureD3D/MFCaptureD3D.vcxproj.filters create mode 100644 ARMFCaptureD3D/MFCaptureD3D.vcxproj.user create mode 100644 ARMFCaptureD3D/MinMaxAvg.cpp create mode 100644 ARMFCaptureD3D/MinMaxAvg.h create mode 100644 ARMFCaptureD3D/Release/ARMFCaptureD3D.exe create mode 100644 ARMFCaptureD3D/Release/ARMFCaptureD3D.exe.intermediate.manifest create mode 100644 ARMFCaptureD3D/Release/ARMFCaptureD3D.exp create mode 100644 ARMFCaptureD3D/Release/ARMFCaptureD3D.lastbuildstate create mode 100644 ARMFCaptureD3D/Release/ARMFCaptureD3D.lib create mode 100644 ARMFCaptureD3D/Release/ARMFCaptureD3D.pdb create mode 100644 ARMFCaptureD3D/Release/ARMFCaptureD3D.res create mode 100644 ARMFCaptureD3D/Release/ARMFCaptureD3D.write.1.tlog create mode 100644 ARMFCaptureD3D/Release/ARToolKitPlus.dll create mode 100644 ARMFCaptureD3D/Release/ARToolKitPlus.exp create mode 100644 ARMFCaptureD3D/Release/ARToolKitPlus.lib create mode 100644 ARMFCaptureD3D/Release/CL.read.1.tlog create mode 100644 ARMFCaptureD3D/Release/CL.write.1.tlog create mode 100644 ARMFCaptureD3D/Release/Calibration.obj create mode 100644 ARMFCaptureD3D/Release/ConfigFile.obj create mode 100644 ARMFCaptureD3D/Release/MFCaptureD3D.log create mode 100644 ARMFCaptureD3D/Release/cl.command.1.tlog create mode 100644 ARMFCaptureD3D/Release/debug.obj create mode 100644 ARMFCaptureD3D/Release/device.obj create mode 100644 ARMFCaptureD3D/Release/link-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/Release/link-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/Release/link.command.1.tlog create mode 100644 ARMFCaptureD3D/Release/link.read.1.tlog create mode 100644 ARMFCaptureD3D/Release/link.write.1.tlog create mode 100644 ARMFCaptureD3D/Release/mt.command.1.tlog create mode 100644 ARMFCaptureD3D/Release/mt.read.1.tlog create mode 100644 ARMFCaptureD3D/Release/mt.write.1.tlog create mode 100644 ARMFCaptureD3D/Release/options.obj create mode 100644 ARMFCaptureD3D/Release/preview.obj create mode 100644 ARMFCaptureD3D/Release/rc.command.1.tlog create mode 100644 ARMFCaptureD3D/Release/rc.read.1.tlog create mode 100644 ARMFCaptureD3D/Release/rc.write.1.tlog create mode 100644 ARMFCaptureD3D/Release/vc100.pdb create mode 100644 ARMFCaptureD3D/Release/winmain.obj create mode 100644 ARMFCaptureD3D/Setup/Release/Install ARIvy X64.msi create mode 100644 ARMFCaptureD3D/Setup/Release/setup.exe create mode 100644 ARMFCaptureD3D/Setup/Setup.vdproj create mode 100644 ARMFCaptureD3D/UpgradeLog.XML create mode 100644 ARMFCaptureD3D/UpgradeLog2.XML create mode 100644 ARMFCaptureD3D/UpgradeLog3.XML create mode 100644 ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport.css create mode 100644 ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport.xslt create mode 100644 ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport_Minus.gif create mode 100644 ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport_Plus.gif create mode 100644 ARMFCaptureD3D/data/Logitech_Notebook_Pro.cal create mode 100644 ARMFCaptureD3D/data/One.cfg create mode 100644 ARMFCaptureD3D/data/config.inp create mode 100644 ARMFCaptureD3D/data/markerboard_480-499.cfg create mode 100644 ARMFCaptureD3D/data/no_distortion.cal create mode 100644 ARMFCaptureD3D/debug.cpp create mode 100644 ARMFCaptureD3D/debug.h create mode 100644 ARMFCaptureD3D/device.cpp create mode 100644 ARMFCaptureD3D/device.h create mode 100644 ARMFCaptureD3D/ipch/mfcaptured3d-28a9326a/armfcaptured3d-1ab7d59.ipch create mode 100644 ARMFCaptureD3D/options.cpp create mode 100644 ARMFCaptureD3D/options.h create mode 100644 ARMFCaptureD3D/preview.cpp create mode 100644 ARMFCaptureD3D/preview.h create mode 100644 ARMFCaptureD3D/readme.txt create mode 100644 ARMFCaptureD3D/resource.h create mode 100644 ARMFCaptureD3D/ribbon1.mfcribbon-ms create mode 100644 ARMFCaptureD3D/toolbar1.bmp create mode 100644 ARMFCaptureD3D/winmain.cpp create mode 100644 ARMFCaptureD3D/x64/Debug/ARAnalyse.obj create mode 100644 ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.Build.CppClean.log create mode 100644 ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe create mode 100644 ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe.embed.manifest create mode 100644 ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe.embed.manifest.res create mode 100644 ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe.intermediate.manifest create mode 100644 ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exp create mode 100644 ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.ilk create mode 100644 ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.lastbuildstate create mode 100644 ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.lib create mode 100644 ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.pdb create mode 100644 ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.res create mode 100644 ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D_manifest.rc create mode 100644 ARMFCaptureD3D/x64/Debug/ARToolKitPlus.dll create mode 100644 ARMFCaptureD3D/x64/Debug/ARToolKitPlus.lib create mode 100644 ARMFCaptureD3D/x64/Debug/CL.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/CL.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/Calibration.obj create mode 100644 ARMFCaptureD3D/x64/Debug/ConfigFile.obj create mode 100644 ARMFCaptureD3D/x64/Debug/Ivy.dll create mode 100644 ARMFCaptureD3D/x64/Debug/Ivy.lib create mode 100644 ARMFCaptureD3D/x64/Debug/MFCaptureD3D.Build.CppClean.log create mode 100644 ARMFCaptureD3D/x64/Debug/MFCaptureD3D.lastbuildstate create mode 100644 ARMFCaptureD3D/x64/Debug/MFCaptureD3D.lib create mode 100644 ARMFCaptureD3D/x64/Debug/MFCaptureD3D.log create mode 100644 ARMFCaptureD3D/x64/Debug/MFCaptureD3D.unsuccessfulbuild create mode 100644 ARMFCaptureD3D/x64/Debug/MinMaxAvg.obj create mode 100644 ARMFCaptureD3D/x64/Debug/ResolveAssemblyReference.cache create mode 100644 ARMFCaptureD3D/x64/Debug/cl.command.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/debug.obj create mode 100644 ARMFCaptureD3D/x64/Debug/device.obj create mode 100644 ARMFCaptureD3D/x64/Debug/link-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/link-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/link.3816-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/link.3816-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/link.3816.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/link.3816.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/link.command.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/link.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/link.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/mt.command.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/mt.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/mt.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/options.obj create mode 100644 ARMFCaptureD3D/x64/Debug/pcre.dll create mode 100644 ARMFCaptureD3D/x64/Debug/pcre.lib create mode 100644 ARMFCaptureD3D/x64/Debug/preview.obj create mode 100644 ARMFCaptureD3D/x64/Debug/rc.command.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/rc.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/rc.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Debug/vc100.idb create mode 100644 ARMFCaptureD3D/x64/Debug/vc100.pdb create mode 100644 ARMFCaptureD3D/x64/Debug/winmain.obj create mode 100644 ARMFCaptureD3D/x64/Release/ARAnalyse.obj create mode 100644 ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exe create mode 100644 ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exe - Raccourci.lnk create mode 100644 ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exe.intermediate.manifest create mode 100644 ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exp create mode 100644 ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.lastbuildstate create mode 100644 ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.lib create mode 100644 ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.pdb create mode 100644 ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.res create mode 100644 ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/ARToolKitPlus.dll create mode 100644 ARMFCaptureD3D/x64/Release/ARToolKitPlus.exp create mode 100644 ARMFCaptureD3D/x64/Release/ARToolKitPlus.lib create mode 100644 ARMFCaptureD3D/x64/Release/CL.1180.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.1180.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.1284.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.1284.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.1464.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.1464.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.2096.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.2096.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.2124.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.2124.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3024.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3024.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3092.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3092.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3364.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3364.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3384.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3384.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3544.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3544.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3916.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3916.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3924.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.3924.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.4284.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.4284.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.4332.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.4332.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.4604.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.4604.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.4640.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.4640.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5060.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5060.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5172.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5172.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5288.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5288.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5404.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5404.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5472.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5472.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5488.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5488.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5716.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5716.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5736.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5736.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5752.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5752.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5804.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5804.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5900.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5900.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5956.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.5956.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.6228.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.6228.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.6368.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.6368.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.6400.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.6400.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.6428.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.6428.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.6488.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.6488.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.6748.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.6748.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.7112.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.7112.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.7176.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.7176.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.7352.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.7352.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.7400.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.7400.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.748.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.748.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8132.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8132.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8248.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8248.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8296.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8296.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8776.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8776.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8824.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8824.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8856.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8856.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8904.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.8904.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.9148.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.9148.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/CL.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/Calibration.obj create mode 100644 ARMFCaptureD3D/x64/Release/ConfigFile.obj create mode 100644 ARMFCaptureD3D/x64/Release/Ivy.dll create mode 100644 ARMFCaptureD3D/x64/Release/Ivy.exp create mode 100644 ARMFCaptureD3D/x64/Release/Ivy.lib create mode 100644 ARMFCaptureD3D/x64/Release/MFCaptureD3D.log create mode 100644 ARMFCaptureD3D/x64/Release/MinMaxAvg.obj create mode 100644 ARMFCaptureD3D/x64/Release/cl.command.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/debug.obj create mode 100644 ARMFCaptureD3D/x64/Release/device.obj create mode 100644 ARMFCaptureD3D/x64/Release/link-cvtres.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/link-cvtres.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/link.command.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/link.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/link.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/mt.command.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/mt.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/mt.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/options.obj create mode 100644 ARMFCaptureD3D/x64/Release/pcre.dll create mode 100644 ARMFCaptureD3D/x64/Release/pcre.exp create mode 100644 ARMFCaptureD3D/x64/Release/pcre.lib create mode 100644 ARMFCaptureD3D/x64/Release/pcre.pdb create mode 100644 ARMFCaptureD3D/x64/Release/preview.obj create mode 100644 ARMFCaptureD3D/x64/Release/rc.command.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/rc.read.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/rc.write.1.tlog create mode 100644 ARMFCaptureD3D/x64/Release/vc100.pdb create mode 100644 ARMFCaptureD3D/x64/Release/winmain.obj (limited to 'ARMFCaptureD3D') diff --git a/ARMFCaptureD3D/ARAnalyse.cpp b/ARMFCaptureD3D/ARAnalyse.cpp new file mode 100644 index 0000000..71b22b8 --- /dev/null +++ b/ARMFCaptureD3D/ARAnalyse.cpp @@ -0,0 +1,1244 @@ + + +#include "debug.h" +#include + +#include "ConfigFile\ConfigFile.h" + +#include "ARAnalyse.h" +extern char* narrow( const std::wstring& str ); +extern ConfigFile *g_config; +extern std::wstring g_camera_name; +extern int g_camera_instance; +extern int g_ThresholdMin; +extern int g_ThresholdMax; +extern bool g_read_calibrationfile; + +// Filtrage regexp IVY !!! a mettre en concordance avec les SendMsg effectué !!! +const char *ivy_filters[] = {"MarkerAdd", "MarkerMove", "MarkerMoveCalibrated", "MarkerRemove" }; + +//------------------------------------------------------------------- +// constructor +//------------------------------------------------------------------- + +ARAnalyse::ARAnalyse() : + m_calibration(NULL), + m_tracker(NULL) +{ + MarkerMoveThreshold = 0.001; + MarkerAbsenceCount = 10; + MarkerWidth = 20; + m_calibrated = false; + m_calibration_enabled = false; + FrameCount = 0; + bus = NULL; + m_gray = NULL; + m_blur0 = NULL; + m_blur1 = NULL; + DownSample = 8; + BlurPass = 2; + Display = ARAnalyse::Diff; + filter = ARAnalyse::FMoyen; + + MarkerWidth = g_config->read("MarkerWidth"); + MarkerMoveThreshold = g_config->read("MarkerMoveThreshold"); + MarkerAbsenceCount = g_config->read("MarkerAbsenceCount"); + MarkerSeekingThreshold = g_config->read("MarkerSeekingThreshold"); + CameraParameterFile = g_config->read("CameraParameterFile","data\\no_distortion.cal"); + MarkerSetConfigFile = g_config->read("MarkerSetConfigFile", "data\\One.cfg"); + CalibrationFile = g_config->read("CalibrationFile", "data/savedCalibration.dat"); + MarkerBorderPercentage = g_config->read("MarkerBorderPercentage",0.125f); + MarkerSeekingThreshold = g_config->read("MarkerSeekingThreshold",160); + MarkerType = (ARToolKitPlus::MARKER_MODE) g_config->read("MarkerTraditionalOrSimpleOrBCH",ARToolKitPlus::MARKER_ID_BCH); + + m_calibration = new Calibration(1.0, 1.0); + // intialize Calibration + int id; + id = g_config->read("CalibrationID_TopLeft"); + m_IdToCorner[id] = Calibration::TopLeft; + m_calibration_ids.insert( id ); + id = g_config->read("CalibrationID_TopRight"); + m_IdToCorner[id] = Calibration::TopRight; + m_calibration_ids.insert( id ); + id = g_config->read("CalibrationID_BottomLeft"); + m_IdToCorner[id] = Calibration::BottomLeft; + m_calibration_ids.insert( id ); + id = g_config->read("CalibrationID_BottomRight"); + m_IdToCorner[id] = Calibration::BottomRight; + m_calibration_ids.insert( id ); + if ( g_read_calibrationfile ) + { + m_calibrated = m_calibration->RestoreCalibration( CalibrationFile ); + } +} + +//------------------------------------------------------------------- +// destructor +//------------------------------------------------------------------- + +ARAnalyse::~ARAnalyse() +{ + if ( m_calibration ) delete m_calibration; + if ( bus ) + { + bus->stop(); + delete bus; + } +} +void ARAnalyse::IvyInit(const char *domain) +{ + // start Ivy + bus = new Ivy( "ARIvy", NULL, NULL ); + bus->SetFilter( sizeof( ivy_filters ) /sizeof( char *), ivy_filters ); + bus->start(domain); +} +bool ARAnalyse::Calibrate( ) +{ + if ( m_calibration ) + m_calibrated = m_calibration->Calibrate(); + return m_calibrated; +} +void ARAnalyse::SaveCalibration( ) +{ + if ( m_calibration ) + m_calibration->SaveCalibration(CalibrationFile); +} +void ARAnalyse::RestoreCalibration( ) +{ + if ( m_calibration ) + m_calibrated = m_calibration->RestoreCalibration(CalibrationFile); +} +bool ARAnalyse::ToggleAutoThreshold() +{ + if ( m_tracker->isAutoThresholdActivated() ) + { + // try to set manually + if ( MarkerSeekingThreshold > 0 ) + { + m_tracker->activateAutoThreshold( false ); + m_tracker->setThreshold( MarkerSeekingThreshold ); + } + } + else + { + m_tracker->activateAutoThreshold( true ); + } + return m_tracker->isAutoThresholdActivated(); +} + +bool ARAnalyse::IsCalibrationID( int ident ) +{ + return m_calibration_ids.find( ident ) != m_calibration_ids.end(); +} + +bool ARAnalyse::InitialiseTracker( int width, int height, int sample_size) +{ + first_calibration_done = false; + camera = narrow( g_camera_name ); + int pixel_size = sample_size / width /height; + m_width = width; + m_height = height; + nb_pixel = width * height; + m_gray = new pixel_type[nb_pixel]; + // on alloue au max pur eviter de se prendre la tete avec le malloc free , et le changement de DownSample + m_blur0 = new pixel_type[nb_pixel /*width /DownSample * height /DownSample*/]; + m_blur1 = new pixel_type[nb_pixel /*width /DownSample * height /DownSample*/]; + m_filter_h = new pixel_type[nb_pixel /*width /DownSample * height /DownSample*/]; + m_filter_v = new pixel_type[nb_pixel /*width /DownSample * height /DownSample*/]; + + nb_images = 5; + m_sum = new float[nb_pixel]; + for ( int i = 0; i < nb_pixel ; i++ ) + { + m_sum[i] = 0.0; + } + m_images = new float*[nb_images]; + for ( int i = 0 ; i < nb_images; i++ ) + m_images[i] = new float[nb_pixel]; + m_first_image = 0; + m_last_image = 0; + + + if ( m_tracker ) delete m_tracker; + // create a tracker that does: + // - 6x6 sized marker images (required for binary markers) + // - samples at a maximum of 6x6 + // - works with luminance (gray) images + // - can load a maximum of 0 non-binary pattern + // - can detect a maximum of 8 patterns in one image + m_tracker = new TrackerMultiMarker(width, height, 4096, 6, 6, 6, 0); + // poor man pixel format chooser + switch ( pixel_size ) + { + case 1: + m_tracker->setPixelFormat(ARToolKitPlus::PIXEL_FORMAT_LUM); + break; + case 2: + m_tracker->setPixelFormat(ARToolKitPlus::PIXEL_FORMAT_YUY2); + break; + case 3: + m_tracker->setPixelFormat(ARToolKitPlus::PIXEL_FORMAT_RGB); + break; + } + // load a camera file. + if (!m_tracker->init(CameraParameterFile.c_str(), + MarkerSetConfigFile.c_str(), + 0.0f, 3000.0f)) + { + DBGMSG(TEXT("ERROR: InitialiseTracker() failed\n")); + delete m_tracker; + m_tracker = NULL; + return false; + } + + //m_tracker->getCamera()->printSettings(); + m_tracker->setNumAutoThresholdRetries(2); + //if ( MarkerSeekingThreshold > 0 ) + //{ + // m_tracker->activateAutoThreshold( false ); + // m_tracker->setThreshold( MarkerSeekingThreshold ); + //} + //else + //{ + m_tracker->activateAutoThreshold( true ); + //} + m_tracker->setImageProcessingMode(ARToolKitPlus::IMAGE_FULL_RES); + m_tracker->setPoseEstimator(ARToolKitPlus::POSE_ESTIMATOR_RPP); + //m_tracker->setPoseEstimator(ARToolKitPlus::POSE_ESTIMATOR_ORIGINAL_CONT); + // the marker in the BCH test image has a thiner border... + m_tracker->setBorderWidth(MarkerBorderPercentage); + + // set a threshold. we could also activate automatic thresholding + //m_tracker->setThreshold(MarkerSeekingThreshold); + + // let's use lookup-table undistortion for high-speed + // note: LUT only works with images up to 1024x1024 + //m_tracker->setUndistortionMode(ARToolKitPlus::UNDIST_LUT); + m_tracker->setUndistortionMode(ARToolKitPlus::UNDIST_NONE); + m_tracker->setUseDetectLite(false); + // switch to simple ID based markers + // use the tool in tools/IdPatGen to generate markers + m_tracker->setMarkerMode(MarkerType); + // HULL mode + m_tracker->setHullMode(ARToolKitPlus::HULL_FULL); + + // do the OpenGL camera setup + //glMatrixMode(GL_PROJECTION) + //glLoadMatrixf(m_tracker->getProjectionMatrix()); + + return true; +} + +void ARAnalyse::Analyse( double SampleTime, const unsigned char * cameraBuffer, int size ) +{ + static double StartTime = -1; + static double LastFrameTime = 0; + + + extern HWND g_hTrack; // Quick & Dirty !!!! + + double delay = 0; + if ( StartTime < 0 ) + { + StartTime = SampleTime; + LastFrameTime = SampleTime; + } + else + { + delay = SampleTime - LastFrameTime; + } + FrameCount++; + if ( FrameCount > 30 ) // skip first frames in calc avg Wait first Seconds video + { + frame_per_seconds.SetValue( FrameCount / ( SampleTime - StartTime ) ); + frame_delay.SetValue( delay ); + } + LastFrameTime = SampleTime; + + if ( !m_tracker) return; + // here we go, just one call to find the camera pose + int numDetected = m_tracker->calc(cameraBuffer); + + //DBGMSG(TEXT("\n tracker Threshold %d \n"), m_tracker->getThreshold()); + if ( m_tracker->isAutoThresholdActivated() && FrameCount %10 == 0 ) + { + SendMessage(g_hTrack, TBM_SETPOS, + (WPARAM) TRUE, // redraw flag + (LPARAM) m_tracker->getThreshold()); + } + // use the result of calc() to setup the OpenGL transformation + //glMatrixMode(GL_MODELVIEW) + //glLoadMatrixf(m_tracker->getModelViewMatrix()); + //if ( numDetected ) + // DBGMSG(TEXT("\n%d good Markers found and used for pose estimation.\n"), numDetected); +#ifdef DUMP_MATRIX + if ( numDetected ) + { + DBGMSG(TEXT("Pose-Matrix:\n ")); + const ARFloat*matrix = m_tracker->getModelViewMatrix(); + if ( matrix ) + for (int i = 0; i < 16; i++) + DBGMSG(TEXT("%.2f %s"), matrix[i], (i % 4 == 3) ? TEXT("\n ") : TEXT(" ")); + } +#endif + std::set new_ids; + confidence.Raz(); + + for (int i = 0; i < numDetected; i++) { + ARToolKitPlus::ARMarkerInfo markerInfo = m_tracker->getDetectedMarker(i); + + if (new_ids.find(markerInfo.id) != new_ids.end()) { + DBGMSG(TEXT("One id for one marker please!!\n")); + continue; + } + // calculate min max confidence + confidence.SetValue( markerInfo.cf ); + + new_ids.insert(markerInfo.id); + + if (markers.find(markerInfo.id) == markers.end() ) + { + // Adding new marker + markers[markerInfo.id].id = markerInfo.id; + DBGMSG(TEXT("MarkerAdd cam=%s_%d id=%d\n"), g_camera_name.c_str(), g_camera_instance, markerInfo.id); + // filtrage des ID de calibration + if ( bus && !IsCalibrationID(markerInfo.id) ) bus->SendMsg("MarkerAdd cam=%s_%d id=%d", camera, g_camera_instance, markerInfo.id); + } + MyMakerInfo & info = markers[markerInfo.id]; + info.id = markerInfo.id; + info.absent = 0; + info.confidence = markerInfo.cf; + info.area = markerInfo.area; + info.dir = markerInfo.dir; + + info.time = SampleTime - StartTime; + ARFloat center[2] ; + ARFloat matrix[3][4]; + center[0] = 0.0f; + center[1] = 0.0f; + //ARFloat retTransMat = m_tracker->arGetTransMat(tracker, markerInfoPtr, center, (ARFloat)Properties.Settings.Default.MarkerWidth, matrix); + ARFloat retTransMat = m_tracker->arGetTransMatCont( &markerInfo, info.prev_matrix, center, (ARFloat)MarkerWidth, matrix); + //ARFloat retTransMat = m_tracker->rppGetTransMat(tracker, markerInfoPtr, center, (ARFloat)Properties.Settings.Default.MarkerWidth, matrix); + if (retTransMat < 0) + { + DBGMSG(TEXT("Marker Skip id={0} bad transfrm{1}\n"), info.id, retTransMat); + continue; + } + memcpy(info.prev_matrix, matrix, sizeof(matrix)); + double dx = info.x - markerInfo.pos[0]; + double dy = info.y - markerInfo.pos[1]; + double dist = dx*dx + dy*dy; // Square Length distance + + info.x = markerInfo.pos[0]; + info.y = markerInfo.pos[1]; + if ( dist >= MarkerMoveThreshold) + { + DBGMSG(TEXT("MarkerMove cam=%s_%d id=%d time=%.03f confidence=%.03f area=%d dir=%d x=%.03f y=%.03f distance=%.03f \n"), + g_camera_name.c_str(), g_camera_instance, info.id, info.time, info.confidence, info.area, info.dir, info.x, info.y, dist); + if ( bus && !IsCalibrationID(markerInfo.id)) + bus->SendMsg("MarkerMove cam=%s_%d id=%d time=%.03f confidence=%.03f area=%d dir=%d x=%.03f y=%.03f distance=%.03f", + camera, g_camera_instance, info.id, info.time, info.confidence, info.area, info.dir, info.x, info.y, dist); + if (m_calibrated) + { + double cal_x, cal_y; + m_calibration->translateCoords(info.x, info.y, &cal_x, &cal_y); + DBGMSG(TEXT("MarkerMoveCalibrated cam=%s_%d id=%d time=%.03f confidence=%.03f area=%d dir=%d x=%.03f y=%.03f\n"), g_camera_name.c_str(), g_camera_instance, info.id, info.time, info.confidence, info.area, info.dir, cal_x, cal_y); + if ( bus && !IsCalibrationID(markerInfo.id)) + bus->SendMsg("MarkerMoveCalibrated cam=%s_%d id=%d time=%.03f confidence=%.03f area=%d dir=%d x=%.03f y=%.03f", camera, g_camera_instance, info.id, info.time, info.confidence, info.area, info.dir, cal_x, cal_y); + + } + } + + } + // remove OLD markers + std::set old_ids; + for (MarkersMap::iterator iter = markers.begin(); iter != markers.end(); iter++) + { + int id = iter->first; + if ( new_ids.find( id ) == new_ids.end() ) + old_ids.insert( id ); + } + for (std::set::iterator iter = old_ids.begin(); iter != old_ids.end(); iter++) + { + int id = *iter; + markers[id].absent += 1; + if ( markers[id].absent > MarkerAbsenceCount) + { + markers.erase(id); + DBGMSG(TEXT("Marker Remove cam=%s_%d id=%d\n"), g_camera_name.c_str(), g_camera_instance, id); + if ( bus && !IsCalibrationID(id)) bus->SendMsg("MarkerRemove cam=%s_%d id=%d", camera, g_camera_instance, id); + } + } + /*if (titleText.Equals("")) { + titleText ="Markers with ID \"" + +String.Join(", ", new_ids.Select(id => id.ToString("000")).ToArray()) + +"\" are found!!"; + }*/ + + + + // calibration point + m_calibration_enabled = false; + if (includes(new_ids.begin(), new_ids.end(), m_calibration_ids.begin(), m_calibration_ids.end() )) + { + for (std::set::iterator iter = m_calibration_ids.begin(); iter != m_calibration_ids.end() ; iter++) + { + int id = *iter; + MyMakerInfo marker = markers[id]; + m_calibration->SetCalibrationPoint(m_IdToCorner[id], marker.x, marker.y); + } + //all calibration points OK + m_calibration_enabled = true; + if ( !first_calibration_done ) + { + first_calibration_done = Calibrate(); + m_calibrated = first_calibration_done; + } + + } + + + bool showConfig = false; + + if (showConfig) { + const ARToolKitPlus::ARMultiMarkerInfoT *artkpConfig = m_tracker->getMultiMarkerConfig(); + DBGMSG(TEXT("%d markers defined in multi marker cfg\n"), artkpConfig->marker_num); + + printf("marker matrices:\n"); + for (int multiMarkerCounter = 0; multiMarkerCounter < artkpConfig->marker_num; multiMarkerCounter++) { + DBGMSG(TEXT("marker %d, id %d:\n"), multiMarkerCounter, artkpConfig->marker[multiMarkerCounter].patt_id); + for (int row = 0; row < 3; row++) { + for (int column = 0; column < 4; column++) + DBGMSG(TEXT("%.2f "), artkpConfig->marker[multiMarkerCounter].trans[row][column]); + DBGMSG(TEXT("\n")); + } + } + } +} + +#define MAX(a,b) ((a) > (b) ? (a) : (b)) +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +static void RGB2HSL(unsigned char * rgb, double& h, double& s, double& l) + { + + double r = (double)rgb[0] / 255.0; + double g = (double)rgb[1] / 255.0; + double b = (double)rgb[2] / 255.0; + double v; + double m; + double vm; + double r2, g2, b2; + + h = 0; // default to black + s = 0; + l = 0; + + v = MAX(r, g); + v = MAX(v, b); + m = MIN(r, g); + m = MIN(m, b); + l = (m + v) / 2.0; + if (l <= 0.0) + { + return; + } + + vm = v - m; + s = vm; + if (s > 0.0) + { + s /= (l <= 0.5) ? (v + m) : (2.0 - v - m); + } + else + { + return; + } + + r2 = (v - r) / vm; + g2 = (v - g) / vm; + b2 = (v - b) / vm; + if (r == v) + { + h = (g == m ? 5.0 + b2 : 1.0 - g2); + } + + else if (g == v) + { + h = (b == m ? 1.0 + r2 : 3.0 - b2); + } + else + { + h = (r == m ? 3.0 + g2 : 5.0 - r2); + } + h /= 6.0; + } +int CircularDistance(int index1, int index2, int steps) + { //circular distance + int dist = abs(index1 - index2); + return MIN(dist, abs(dist - steps)); + } +#ifdef TRANSFORM_COLOR + void ARAnalyse::Transform( unsigned char * cameraBuffer, int size, bool moyen) + { + float min = FLT_MAX; + float max = FLT_MIN; + pixel_type *dst = m_blur0; + // Gray Image + { + for ( int i = 0; i < nb_pixel ; i++ ) + { + + unsigned char * pixel = &cameraBuffer[i*3]; + value_type val = pixel[0] * 0.3 + pixel[1] * 0.59 + pixel[2] * 0.11; + m_gray[i] = val; + { + if ( val > max ) + max = val; + else if ( val < min ) + min = val; + } + if ( !moyen ) + m_sum[i] = 0; + } + float a = 1.0; + float b = 0.0; + float c = (max - min); + if ( c != 0.0) + { + a = 1.0 / c; + b = - min / c; + } + a *= 255.0; + b *= 255.0; + #pragma omp parallel for + for ( int i = 0; i < nb_pixel ; i++ ) + { + m_gray[i] = m_gray[i] * a + b; + } + // Image moyenne + if ( moyen ) + CalcMoyen(); + } + + const int steps = 10; + const int chromaHistoLength = steps +1; + + int chromaHisto[chromaHistoLength]; + double hue[1920]; + + // chroma histogram 10 steps + // find the 2 max + //if the 2 max> 1 the threashold = min (2 max) + (max2 - max1)/2 + + //Horizontal line + for (int y = 0; y < m_height; y++) + { + //Find min max mean median + for (int i = 0; i < chromaHistoLength; i++) + chromaHisto[i] = 0; + for (int x = 0; x < m_width; x++) + { + long index = (x + y * m_width); + unsigned char * pixel = &cameraBuffer[index*3]; + double h,s,l; + RGB2HSL( pixel, h,s,l ); + hue[x] = h; + int histIndexChroma = (int)(h * steps); + chromaHisto[histIndexChroma]++; + } + + //Find the two max + int max1 = -1; + int chroma1 = -1; + int max2 = -1; + int chroma2 = -1; + + //Find max1 + for (int i = 0; i < chromaHistoLength; i++) + { + if ((chromaHisto[i] > max1) && (chromaHisto[i] != 0)) + { + max1 = chromaHisto[i]; + chroma1 = i; + } + } + //find max2 + for (int i = 0; i < chromaHistoLength; i++) + { + if (CircularDistance(i, chroma1, steps) > (steps / 3)) + if ((chromaHisto[i] > max2) && (chromaHisto[i] != 0)) + { + max2 = chromaHisto[i]; + chroma2 = i; + } + } + + int peak = chroma1; + if ((max1 != -1) && (max2 != -1) && (chromaHisto[chroma2] > chromaHisto[chroma1])) peak = chroma2; + double delta = 3; + + //binaries + if ((max1 != -1) && (max2 != -1)) //found a max1 and max 2 ? + { + for (int x = 0; x < m_width; x++) + { + int index = (x + y * m_width); + int histIndexChroma = (int)(hue[x] * steps); + if ( CircularDistance(histIndexChroma, peak, steps) < delta) + dst[index] = 255; //White + else + dst[index] = 0; //Black + } + + } + else + for (int x = 0; x < m_width; x++) + { + int index = (x + y * m_width); + dst[index] = 127.0f; //no relevant histogram + } + } + + switch ( Display ) + { + case ARAnalyse::GrayScale: + DisplayGrayScale(cameraBuffer, m_gray ); + break; + case ARAnalyse::Blur: + DisplayBlur(cameraBuffer, dst ); + break; + case ARAnalyse::Diff: + DisplayDiff(cameraBuffer, dst ); + break; + case ARAnalyse::Threshold: + DisplayThreshold(cameraBuffer, dst ); + break; + case ARAnalyse::Moyen: + DisplayMoyen(cameraBuffer, NULL ); + break; + } + + } + + +#endif +#ifdef TRANSFORM_HUE +void ARAnalyse::Transform( unsigned char * cameraBuffer, int size, bool moyen) +{ + pixel_type *src; + pixel_type *dst; + float min = FLT_MAX; + float max = FLT_MIN; + //#pragma omp parallel //default(none) shared (cameraBuffer,pixel_size, max, min ) + { + //#pragma omp parallel for + for ( int i = 0; i < nb_pixel ; i++ ) + { + unsigned char * pixel = &cameraBuffer[i*3]; + value_type rgb_min = MIN(pixel[0], pixel[1], pixel[2]); + value_type rgb_max = MAX(pixel[0], pixel[1], pixel[2]); + + value_type val = pixel[0] * 0.3 + pixel[1] * 0.59 + pixel[2] * 0.11; + // + //if ( pixel[0] > pixel[1] && pixel[0] > pixel[2] ) + // val = 255; + //if ( pixel[2] > pixel[0] && pixel[2] > pixel[1] ) + // val = 0; + //m_gray[i] = val; + + /* Compute hue */ + //value_type hue; + //if (rgb_max == pixel[0]) { + // hue = 0 + 43*(pixel[1] - pixel[2])/(rgb_max - rgb_min); + //} else if (rgb_max == pixel[1]) { + // hue = 85 + 43*(pixel[2] - pixel[0])/(rgb_max - rgb_min); + //} else /* rgb_max == rgb.b */ { + // hue = 171 + 43*(pixel[0] - pixel[1])/(rgb_max - rgb_min); + //} + double h,s,l; + RGB2HSL( pixel, h,s,l ); + m_gray[i] = h * 255.0; + //#pragma omp critical + { + if ( val > max ) + max = val; + else + if ( val < min ) + min = val; + } + if ( !moyen ) + m_sum[i] = 0; + } + + float a = 1.0; + float b = 0.0; + float c = (max - min); + if ( c != 0.0) + { + a = 1.0 / c; + b = - min / c; + } + a *= 255.0; + b *= 255.0; + #pragma omp parallel for + for ( int i = 0; i < nb_pixel ; i++ ) + { + m_gray[i] = m_gray[i] * a + b; + } + } + if ( moyen ) + CalcMoyen(); + // Down sample + int width = m_width / DownSample; + int height = m_height / DownSample; + + #pragma omp parallel //default(none) shared (width,height) + { + #pragma omp parallel for + for ( int y = 0; y < height ; y++ ) + { + //#pragma omp for + for ( int x = 0; x < width ; x++ ) + { + long yy = y * width + x; + value_type val = 0; + for ( int i = 0 ; i < DownSample ; i++ ) + for ( int j = 0; j < DownSample ; j++ ) + { + int index = (y*DownSample+i) * m_width + x*DownSample+j; + val += m_gray[index]; + } + val /= DownSample*DownSample; + //assert( val <= 255 ); + m_blur0[yy] = val; + m_blur1[yy] = val; + } + } + } + // blur + dst = m_blur0; +#define BLUR +#ifdef BLUR + #pragma omp parallel //default(none) shared (width,height,src,dst) + { + + static const float moyen[] = { + 1/9.0,1/9.0,1/9.0, + 1/9.0,1/9.0,1/9.0, + 1/9.0,1/9.0,1/9.0 + }; + static const float laplacien4[] = { + 0,-1,0, + -1,4,-1, + 0,-1,0 + }; + + static const float laplacien8[] = { + -1,-1,-1, + -1,8,-1, + -1,-1,-1 + }; + + static const float laplaciend[] = { + 1,-2,1, + -2,4,-2, + 1,-2,1 + }; + + static const float sobelv[] = { + 1,0,-1, + 2,0,-2, + 1,0,-1 + }; + static const float sobelh[] = { + 1,2,1, + 0,0,0, + -1,2,-1 + }; + + static const float prewittv[] = { + 1,0,-1, + 1,0,-1, + 1,0,-1 + }; + static const float prewitth[] = { + 1,1,1, + 0,0,0, + -1,-1,-1 + }; + //5x5 Gaussian filter + static const float gaussian[] = { + 2/159.0, 4/159.0, 5/159.0, 4/159.0, 2/159.0, + 4/159.0, 9/159.0, 12/159.0, 9/159.0, 4/159.0, + 5/159.0, 12/159.0, 15/159.0, 12/159.0, 5/159.0, + 4/159.0, 9/159.0, 12/159.0, 9/159.0, 4/159.0, + 2/159.0, 4/159.0, 5/159.0, 4/159.0, 2/159.0 + }; + for ( int pass = 0 ; pass < BlurPass ; pass++ ) + { + if ( (pass & 1) ==0 ) + { + src = m_blur0; + dst = m_blur1; + } + else + { + src = m_blur1; + dst = m_blur0; + } + switch ( filter ) + { + case FMoyen: + Filter( moyen,3, src, dst ); + break; + case FLaplacien4: + Filter( laplacien4,3, src, dst ); + break; + case FLaplacien8: + Filter( laplacien8, 3, src, dst ); + break; + case FLaplaciend: + Filter( laplaciend, 3, src, dst ); + break; + case FSobel: + Filter( sobelv, 3, src, m_filter_v ); + Filter( sobelh, 3, src, m_filter_h ); + CombineFilter( m_filter_v, m_filter_h, dst ); + break; + case FPrewitt: + Filter( prewittv, 3, src, m_filter_v ); + Filter( prewitth, 3, src, m_filter_h ); + CombineFilter( m_filter_v, m_filter_h, dst ); + case FGaussian: + Filter( gaussian, 5, src, dst ); + break; + } + + } + } +#endif + switch ( Display ) + { + case ARAnalyse::GrayScale: + DisplayGrayScale(cameraBuffer, dst ); + break; + case ARAnalyse::Blur: + DisplayBlur(cameraBuffer, dst ); + break; + case ARAnalyse::Diff: + DisplayDiff(cameraBuffer, dst ); + break; + case ARAnalyse::Threshold: + DisplayThreshold(cameraBuffer, dst ); + break; + case ARAnalyse::Moyen: + DisplayMoyen(cameraBuffer, dst ); + break; + } + +} +#endif +#define GRAY +#ifdef GRAY +// Gray scale & threshold +void ARAnalyse::Transform( unsigned char * cameraBuffer, int size, bool moyen) +{ + pixel_type *src; + pixel_type *dst; + float min = FLT_MAX; + float max = FLT_MIN; + //#pragma omp parallel //default(none) shared (cameraBuffer,pixel_size, max, min ) + { + //#pragma omp parallel for + for ( int i = 0; i < nb_pixel ; i++ ) + { + unsigned char * pixel = &cameraBuffer[i*3]; + value_type val = pixel[0] * 0.3 + pixel[1] * 0.59 + pixel[2] * 0.11; + m_gray[i] = val ; + //#pragma omp critical + { + if ( val > max ) + max = val; + else + if ( val < min ) + min = val; + } + if ( !moyen ) + m_sum[i] = 0; + } + + float a = 1.0; + float b = 0.0; + float c = (max - min); + if ( c != 0.0) + { + a = 1.0 / c; + b = - min / c; + } + a *= 255.0; + b *= 255.0; + #pragma omp parallel for + for ( int i = 0; i < nb_pixel ; i++ ) + { + m_gray[i] = m_gray[i] * a + b; + } + } + if ( moyen ) + CalcMoyen(); + // Down sample + int width = m_width / DownSample; + int height = m_height / DownSample; + + #pragma omp parallel //default(none) shared (width,height) + { + #pragma omp parallel for + for ( int y = 0; y < height ; y++ ) + { + //#pragma omp for + for ( int x = 0; x < width ; x++ ) + { + long yy = y * width + x; + value_type val = 0; + for ( int i = 0 ; i < DownSample ; i++ ) + for ( int j = 0; j < DownSample ; j++ ) + { + int index = (y*DownSample+i) * m_width + x*DownSample+j; + val += m_gray[index]; + } + val /= DownSample*DownSample; + //assert( val <= 255 ); + m_blur0[yy] = val; + m_blur1[yy] = val; + } + } + } + // blur + dst = m_blur0; +#define BLUR +#ifdef BLUR + #pragma omp parallel //default(none) shared (width,height,src,dst) + { + + static const float moyen[] = { + 1/9.0,1/9.0,1/9.0, + 1/9.0,1/9.0,1/9.0, + 1/9.0,1/9.0,1/9.0 + }; + static const float laplacien4[] = { + 0,-1,0, + -1,4,-1, + 0,-1,0 + }; + + static const float laplacien8[] = { + -1,-1,-1, + -1,8,-1, + -1,-1,-1 + }; + + static const float laplaciend[] = { + 1,-2,1, + -2,4,-2, + 1,-2,1 + }; + + static const float sobelv[] = { + 1,0,-1, + 2,0,-2, + 1,0,-1 + }; + static const float sobelh[] = { + 1,2,1, + 0,0,0, + -1,2,-1 + }; + + static const float prewittv[] = { + 1,0,-1, + 1,0,-1, + 1,0,-1 + }; + static const float prewitth[] = { + 1,1,1, + 0,0,0, + -1,-1,-1 + }; + //5x5 Gaussian filter + static const float gaussian[] = { + 2/159.0, 4/159.0, 5/159.0, 4/159.0, 2/159.0, + 4/159.0, 9/159.0, 12/159.0, 9/159.0, 4/159.0, + 5/159.0, 12/159.0, 15/159.0, 12/159.0, 5/159.0, + 4/159.0, 9/159.0, 12/159.0, 9/159.0, 4/159.0, + 2/159.0, 4/159.0, 5/159.0, 4/159.0, 2/159.0 + }; + for ( int pass = 0 ; pass < BlurPass ; pass++ ) + { + if ( (pass & 1) ==0 ) + { + src = m_blur0; + dst = m_blur1; + } + else + { + src = m_blur1; + dst = m_blur0; + } + switch ( filter ) + { + case FMoyen: + Filter( moyen,3, src, dst ); + break; + case FLaplacien4: + Filter( laplacien4,3, src, dst ); + break; + case FLaplacien8: + Filter( laplacien8, 3, src, dst ); + break; + case FLaplaciend: + Filter( laplaciend, 3, src, dst ); + break; + case FSobel: + Filter( sobelv, 3, src, m_filter_v ); + Filter( sobelh, 3, src, m_filter_h ); + CombineFilter( m_filter_v, m_filter_h, dst ); + break; + case FPrewitt: + Filter( prewittv, 3, src, m_filter_v ); + Filter( prewitth, 3, src, m_filter_h ); + CombineFilter( m_filter_v, m_filter_h, dst ); + case FGaussian: + Filter( gaussian, 5, src, dst ); + break; + } + + } + } +#endif + switch ( Display ) + { + case ARAnalyse::GrayScale: + DisplayGrayScale(cameraBuffer, dst ); + break; + case ARAnalyse::Blur: + DisplayBlur(cameraBuffer, dst ); + break; + case ARAnalyse::Diff: + DisplayDiff(cameraBuffer, dst ); + break; + case ARAnalyse::Threshold: + DisplayThreshold(cameraBuffer, dst ); + break; + case ARAnalyse::Moyen: + DisplayMoyen(cameraBuffer, dst ); + break; + } + +} +#endif +void ARAnalyse::CombineFilter ( pixel_type *src_h, pixel_type *src_v, pixel_type *dst ) +{ + int width = m_width / DownSample; + int height = m_height / DownSample; + #pragma omp for + for ( int y = height-2 ; y > 0 ; y-- ) + { + //#pragma omp for + for ( int x = width-2; x > 0 ; x-- ) + { + long yy; + value_type val = 0; + // kernel sum + yy = y * width + x; + + val += src_h[ yy ] * src_h[ yy ]; + val += src_v[ yy ] * src_v[ yy ]; + + dst[yy] = sqrt(val); + + } + } +} +void ARAnalyse::Filter ( const float *krn, int k_size, pixel_type *src, pixel_type *dst ) +{ + int width = m_width / DownSample; + int height = m_height / DownSample; + const float *krn_ptr; + int half_kernel = k_size / 2; + #pragma omp for + for ( int y = height-1-half_kernel ; y >= half_kernel ; y-- ) + { + //#pragma omp for + for ( int x = width-1-half_kernel; x >= half_kernel ; x-- ) + { + long yy; + value_type val = 0; + // kernel sum + krn_ptr = krn; + yy = (y - half_kernel) * width + x ; + for ( int j = 0; j < k_size ; j++ ) + { + for ( int i = 0; i < k_size ; i++ ) + val += src[ yy - half_kernel + i ] * *krn_ptr++; + yy += width ; + } + + dst[y * width + x] = val; + + } + } +} + +void ARAnalyse::DisplayGrayScale (unsigned char * cameraBuffer, pixel_type * dest) +{ + #pragma omp parallel //default(none) shared( cameraBuffer, width,height,dst ) + { + #pragma omp for + for ( int y = 0; y < m_height ; y++ ) + { + //#pragma omp for + for ( int x = 0; x < m_width ; x++ ) + { + long index = (y * m_width + x); + unsigned char * pixel = &cameraBuffer[index*3]; + value_type val = m_gray[index]; //display gray scale + pixel[0] = (unsigned char)(int)(val); + pixel[1] = (unsigned char)(int)(val); + pixel[2] = (unsigned char)(int)(val); + } + } + } +} +void ARAnalyse::DisplayBlur (unsigned char * cameraBuffer, pixel_type * dest) +{ + // Down sample + int width = m_width / DownSample; + int height = m_height / DownSample; + #pragma omp parallel //default(none) shared( cameraBuffer, width,height,dst ) + { + #pragma omp for + for ( int y = 0; y < m_height ; y++ ) + { + //#pragma omp for + for ( int x = 0; x < m_width ; x++ ) + { + long index = (y * m_width + x); + unsigned char * pixel = &cameraBuffer[index*3]; + value_type blur = dest[((y/DownSample) * width + (x/DownSample))]; + value_type val=0; + val = blur; // display BLUR + + pixel[0] = (unsigned char)(int)(val); + pixel[1] = (unsigned char)(int)(val); + pixel[2] = (unsigned char)(int)(val); + } + } + } +} +void ARAnalyse::DisplayDiff (unsigned char * cameraBuffer, pixel_type * dest) +{ + // Down sample + int width = m_width / DownSample; + int height = m_height / DownSample; + #pragma omp parallel //default(none) shared( cameraBuffer, width,height,dst ) + { + #pragma omp for + for ( int y = 0; y < m_height ; y++ ) + { + //#pragma omp for + for ( int x = 0; x < m_width ; x++ ) + { + long index = (y * m_width + x); + unsigned char * pixel = &cameraBuffer[index*3]; + value_type blur = dest[((y/DownSample) * width + (x/DownSample))]; + value_type val=0; + val = m_gray[index] - blur; + val += 127; + if ( val < 0 ) val = 0; + else if ( val > 255 ) val = 255; + + pixel[0] = (unsigned char)(int)(val); + pixel[1] = (unsigned char)(int)(val); + pixel[2] = (unsigned char)(int)(val); + } + } + } +} +void ARAnalyse::DisplayThreshold (unsigned char * cameraBuffer, pixel_type * dest) +{ + // Down sample + int width = m_width / DownSample; + int height = m_height / DownSample; + #pragma omp parallel //default(none) shared( cameraBuffer, width,height,dst ) + { + #pragma omp for + for ( int y = 0; y < m_height ; y++ ) + { + //#pragma omp for + for ( int x = 0; x < m_width ; x++ ) + { + long index = (y * m_width + x); + unsigned char * pixel = &cameraBuffer[index*3]; + value_type blur = dest[((y/DownSample) * width + (x/DownSample))]; + value_type val=0; + val = m_gray[index] - blur * 0.9; + //val = val < 0 ? 0 : 255; + val += 127; + if ( val < g_ThresholdMin ) val = 0; + else if ( val > g_ThresholdMax ) val = 255; + else val = 127; + + pixel[0] = (unsigned char)(int)(val); + pixel[1] = (unsigned char)(int)(val); + pixel[2] = (unsigned char)(int)(val); + } + } + } +} +void ARAnalyse::DisplayMoyen (unsigned char * cameraBuffer, pixel_type * dest) +{ + #pragma omp parallel //default(none) shared( cameraBuffer, width,height,dst ) + { + #pragma omp for + for ( int y = 0; y < m_height ; y++ ) + { + //#pragma omp for + for ( int x = 0; x < m_width ; x++ ) + { + long index = (y * m_width + x); + unsigned char * pixel = &cameraBuffer[index*3]; + value_type val = (m_sum[index] / nb_images); + pixel[0] = (unsigned char)(int)(val); + pixel[1] = (unsigned char)(int)(val); + pixel[2] = (unsigned char)(int)(val); + } + } + } +} + +void ARAnalyse::CalcMoyen() +{ + //DBGMSG(TEXT("Before CalcMoyen Frame %d first %d, last %d:\n"), FrameCount, m_first_image, m_last_image); + + // calcul sum - first + if ( FrameCount > (nb_images-1) ) + { + pixel_type *first_image = m_images[m_first_image]; + for ( int i = 0; i < nb_pixel ; i++ ) + { + m_sum[i] -= first_image[i]; + } + m_first_image++; + if ( m_first_image >= nb_images ) m_first_image = 0; + } + // calcul sum + last = m_gray ! + for ( int i = 0; i < nb_pixel ; i++ ) + { + m_sum[i] += m_gray[i]; + m_images[m_last_image][i] = m_gray[i]; // copy input to last image + m_gray[i] = m_sum[i]/nb_images; // copy and calculate moyen + } + m_last_image++; + if ( m_last_image >= nb_images ) m_last_image = 0; + //DBGMSG(TEXT("After CalcMoyen first %d, last %d:\n"), m_first_image, m_last_image); + +} \ No newline at end of file diff --git a/ARMFCaptureD3D/ARAnalyse.h b/ARMFCaptureD3D/ARAnalyse.h new file mode 100644 index 0000000..0d8a61b --- /dev/null +++ b/ARMFCaptureD3D/ARAnalyse.h @@ -0,0 +1,143 @@ + +#pragma once +#include +#include +#include +#include +#include +#include +#include "Calibration.h" +#include "MinMaxAvg.h" + +using ARToolKitPlus::TrackerMultiMarker; +#pragma comment (lib, "ARToolKitPlus.lib") + +class MyMakerInfo +{ +public: + int id; + ARFloat confidence; + ARFloat x; + ARFloat y; + int area; + int dir; + ARFloat prev_matrix[3][4]; + int absent; // count of marker absence if > 10 ==> remove + double time; +}; + +class ARAnalyse +{ +public: + ARAnalyse(); + ~ARAnalyse(); + bool InitialiseTracker( int width, int height, int sample_size); + void Transform( unsigned char * cameraBuffer, int size, bool moyen ); + void Analyse( double SampleTime, const unsigned char * cameraBuffer, int size ); + bool Calibrate(); + void SaveCalibration(); + void RestoreCalibration(); + + bool IsCalibrationEnabled() + { + return m_calibration_enabled; + } + bool IsCalibrated() + { + return m_calibrated; + } + void IvyInit(const char *domain); + typedef std::map MarkersMap; + MarkersMap markers; + ARToolKitPlus::ARMarkerInfo getDetectedMarker(int i) + { + return m_tracker->getDetectedMarker(i); + } + const ARFloat* getModelViewMatrix() const + { + return m_tracker->getModelViewMatrix(); + } + const ARFloat* getProjectionMatrix() const + { + return m_tracker->getProjectionMatrix(); + } + bool ToggleAutoThreshold(); + void setThreshold( int thr ) + { + if ( ! m_tracker->isAutoThresholdActivated() ) + m_tracker->setThreshold( thr ); + } + int getThreshold() + { + return m_tracker->getThreshold(); + } + bool IsCalibrationID( int id ); + MinMaxAvg confidence; + MinMaxAvg frame_per_seconds; + MinMaxAvg frame_delay; + + int DownSample; + int BlurPass; + typedef enum { GrayScale, Blur, Diff, Threshold, Moyen } DisplayType; + typedef enum { FMoyen, FLaplacien4, FLaplacien8, FLaplaciend, FSobel, FPrewitt, FGaussian } FilterType; + + DisplayType Display; + FilterType filter; + +protected: + // Ivy; + Ivy* bus; + char * camera; + // For calibration Process + std::set m_calibration_ids; + std::map m_IdToCorner; + Calibration *m_calibration; + bool m_calibrated; + + bool m_calibration_enabled; + bool first_calibration_done; + + TrackerMultiMarker *m_tracker; // Manages ARToolkit tracker + + int m_width, m_height; // image size + int nb_pixel; + + typedef float pixel_type; + typedef float value_type; + pixel_type *m_gray; + pixel_type *m_blur0; + pixel_type *m_blur1; + pixel_type *m_filter_v; + pixel_type *m_filter_h; + + // filtre moyen sur plusieurs images + void CalcMoyen(); + + void DisplayGrayScale(unsigned char * cameraBuffer, pixel_type * dest); + void DisplayBlur(unsigned char * cameraBuffer, pixel_type * dest); + void DisplayDiff(unsigned char * cameraBuffer, pixel_type * dest); + void DisplayThreshold(unsigned char * cameraBuffer, pixel_type * dest); + void DisplayMoyen(unsigned char * cameraBuffer, pixel_type * dest); + void Filter ( const float *k, int k_size, pixel_type *src, pixel_type *dst ); + + void CombineFilter ( pixel_type *src_h, pixel_type *src_v, pixel_type *dst ); + + float *m_sum; + pixel_type **m_images; + int m_first_image; + int m_last_image; + int nb_images; + + long FrameCount; + double MarkerWidth; + ARToolKitPlus::MARKER_MODE MarkerType; + std::string CameraParameterFile; + std::string MarkerSetConfigFile; + std::string CalibrationFile; + double MarkerMoveThreshold; + int MarkerSeekingThreshold; + float MarkerBorderPercentage; + int MarkerAbsenceCount; + + +}; \ No newline at end of file diff --git a/ARMFCaptureD3D/ARMFCaptureD3D.aps b/ARMFCaptureD3D/ARMFCaptureD3D.aps new file mode 100644 index 0000000..6d3164d Binary files /dev/null and b/ARMFCaptureD3D/ARMFCaptureD3D.aps differ diff --git a/ARMFCaptureD3D/ARMFCaptureD3D.h b/ARMFCaptureD3D/ARMFCaptureD3D.h new file mode 100644 index 0000000..35b2d6d --- /dev/null +++ b/ARMFCaptureD3D/ARMFCaptureD3D.h @@ -0,0 +1,52 @@ +////////////////////////////////////////////////////////////////////////// +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +////////////////////////////////////////////////////////////////////////// +#pragma once + +#include +#include +#include +#include +#ifdef DX9 +#include +#include +// include the Direct3D Library files +#pragma comment (lib, "d3d9.lib") +#else +#include +// include the Direct3D Library files +#pragma comment (lib, "d3d10.lib") +#endif + +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +template void SafeRelease(T **ppT) +{ + if (*ppT) + { + (*ppT)->Release(); + *ppT = NULL; + } +} + + +#include "device.h" +#include "preview.h" + diff --git a/ARMFCaptureD3D/ARMFCaptureD3D.opensdf b/ARMFCaptureD3D/ARMFCaptureD3D.opensdf new file mode 100644 index 0000000..ffd8cbb Binary files /dev/null and b/ARMFCaptureD3D/ARMFCaptureD3D.opensdf differ diff --git a/ARMFCaptureD3D/ARMFCaptureD3D.rc b/ARMFCaptureD3D/ARMFCaptureD3D.rc new file mode 100644 index 0000000..1f95676 --- /dev/null +++ b/ARMFCaptureD3D/ARMFCaptureD3D.rc @@ -0,0 +1,198 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "windows.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Anglais (États-Unis) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""windows.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU1 MENU +BEGIN + POPUP "Action" + BEGIN + MENUITEM "Choose &Device", ID_ACTION_CHOOSEDEVICE + MENUITEM "Choose Format", ID_ACTION_CHOOSEFORMAT + MENUITEM "Auto Threshold", ID_ACTION_AUTOTHRESHOLD, CHECKED + MENUITEM "Display Video", ID_ACTION_DISPLAYVIDEO, CHECKED + MENUITEM "Calibrate", ID_ACTION_CALIBRATE + MENUITEM "Transform", ID_ACTION_TRANSFORM + MENUITEM "CalcMoyen", ID_ACTION_CALCMOYEN + MENUITEM "Save Calibration", ID_ACTION_SAVEPROJECTIONDATA + END + POPUP "DownSample" + BEGIN + MENUITEM "Facteur 1", ID_DOWNSAMPLE_FACTEUR1 + MENUITEM "Facteur 2", ID_DOWNSAMPLE_FACTEUR2 + MENUITEM "Facteur 4", ID_DOWNSAMPLE_FACTEUR4 + MENUITEM "Facteur 8", ID_DOWNSAMPLE_FACTEUR8 + END + POPUP "Filter" + BEGIN + MENUITEM "Moyen", ID_FILTER_MOYEN + MENUITEM "Laplacien 4", ID_FILTER_LAPLACIEN4 + MENUITEM "Laplacien 8", ID_FILTER_LAPLACIEN8 + MENUITEM "Laplacien D", ID_FILTER_LAPLACIEND + MENUITEM "Sobel", ID_FILTER_SOBEL + MENUITEM "Prewitt", ID_FILTER_PREWITT + MENUITEM "Gaussian", ID_FILTER_GAUSSIAN + END + POPUP "Filter Passe" + BEGIN + MENUITEM "0 Passes", ID_BLURPASSE_0PASS + MENUITEM "1 Passes", ID_BLURPASSE_1PASS + MENUITEM "2 Passes", ID_BLURPASSE_2PASS + MENUITEM "3 Passes", ID_BLURPASSE_3PASS + MENUITEM "4 Passes", ID_BLURPASSE_4PASS + MENUITEM "5 Passes", ID_BLURPASSE_5PASS + MENUITEM "6 Passes", ID_BLURPASSE_6PASS + MENUITEM "10 Passes", ID_BLURPASSE_10PASS + END + POPUP "Affichage" + BEGIN + MENUITEM "GrayScale", ID_AFFICHAGE_GRAYSCALE + MENUITEM "Blur", ID_AFFICHAGE_BLUR + MENUITEM "Diff", ID_AFFICHAGE_DIFF + MENUITEM "Threshold", ID_AFFICHAGE_THRESHOLD + MENUITEM "Moyen", ID_AFFICHAGE_MOYEN + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_CHOOSE_DEVICE DIALOGEX 0, 0, 186, 90 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Select Device" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + DEFPUSHBUTTON "OK",IDOK,129,7,50,14 + PUSHBUTTON "Cancel",IDCANCEL,129,24,50,14 + LISTBOX IDC_DEVICE_LIST,7,7,110,76,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_CHOOSE_DEVICE, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 179 + TOPMARGIN, 7 + BOTTOMMARGIN, 83 + END +END +#endif // APSTUDIO_INVOKED + +#endif // Anglais (États-Unis) resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// Français (France) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA) +LANGUAGE LANG_FRENCH, SUBLANG_FRENCH +#pragma code_page(1252) + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_CHOOSE_VIDEO DIALOGEX 0, 0, 316, 183 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Dialog" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + DEFPUSHBUTTON "OK",IDOK,259,14,50,14 + PUSHBUTTON "Annuler",IDCANCEL,259,42,50,14 + LISTBOX IDC_VIDEO_LIST,7,7,245,169,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_CHOOSE_VIDEO, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 309 + TOPMARGIN, 7 + BOTTOMMARGIN, 176 + END +END +#endif // APSTUDIO_INVOKED + +#endif // Français (France) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/ARMFCaptureD3D/ARMFCaptureD3D.sdf b/ARMFCaptureD3D/ARMFCaptureD3D.sdf new file mode 100644 index 0000000..d41eb73 Binary files /dev/null and b/ARMFCaptureD3D/ARMFCaptureD3D.sdf differ diff --git a/ARMFCaptureD3D/ARMFCaptureD3D.sln b/ARMFCaptureD3D/ARMFCaptureD3D.sln new file mode 100644 index 0000000..f43098f --- /dev/null +++ b/ARMFCaptureD3D/ARMFCaptureD3D.sln @@ -0,0 +1,73 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ARMFCaptureD3D", "MFCaptureD3D.vcxproj", "{42CC2BCD-AAD2-4C3C-87BB-0B42F2848E17}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ARToolKitPlus", "..\ArToolKitPlus\ARToolKitPlus.vcxproj", "{CCF160AF-4F7E-8012-1926-AC4C742CC14F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ivy", "..\Bus\Ivy\Ivy.vcxproj", "{9818D652-CC05-463E-880D-AFCA2C7BFABE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcre", "..\..\pcre\pcre.vcxproj", "{D79FC143-498E-4342-B2C7-BDAD1B8D0E6B}" +EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup", "Setup\Setup.vdproj", "{D99892D1-064D-498E-A96A-9686FAE8CD1D}" +EndProject +Global + GlobalSection(SourceCodeControl) = preSolution + SccNumberOfProjects = 2 + SccProjectUniqueName0 = ..\\Bus\\Ivy\\Ivy.vcxproj + SccProjectName0 = \u0022$/Bus/Ivy\u0022,\u0020QPEAAAAA + SccLocalPath0 = ..\\Bus\\Ivy + SccProvider0 = MSSCCI:Microsoft\u0020Visual\u0020SourceSafe + SccProjectUniqueName1 = ..\\..\\pcre\\pcre.vcxproj + SccProjectName1 = \u0022$/pcre\u0022,\u0020KSHAAAAA + SccLocalPath1 = ..\\..\\pcre + SccProvider1 = MSSCCI:Microsoft\u0020Visual\u0020SourceSafe + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {42CC2BCD-AAD2-4C3C-87BB-0B42F2848E17}.Debug|Win32.ActiveCfg = Debug|Win32 + {42CC2BCD-AAD2-4C3C-87BB-0B42F2848E17}.Debug|Win32.Build.0 = Debug|Win32 + {42CC2BCD-AAD2-4C3C-87BB-0B42F2848E17}.Debug|x64.ActiveCfg = Debug|x64 + {42CC2BCD-AAD2-4C3C-87BB-0B42F2848E17}.Debug|x64.Build.0 = Debug|x64 + {42CC2BCD-AAD2-4C3C-87BB-0B42F2848E17}.Release|Win32.ActiveCfg = Release|Win32 + {42CC2BCD-AAD2-4C3C-87BB-0B42F2848E17}.Release|Win32.Build.0 = Release|Win32 + {42CC2BCD-AAD2-4C3C-87BB-0B42F2848E17}.Release|x64.ActiveCfg = Release|x64 + {42CC2BCD-AAD2-4C3C-87BB-0B42F2848E17}.Release|x64.Build.0 = Release|x64 + {CCF160AF-4F7E-8012-1926-AC4C742CC14F}.Debug|Win32.ActiveCfg = Debug|Win32 + {CCF160AF-4F7E-8012-1926-AC4C742CC14F}.Debug|Win32.Build.0 = Debug|Win32 + {CCF160AF-4F7E-8012-1926-AC4C742CC14F}.Debug|x64.ActiveCfg = Debug|x64 + {CCF160AF-4F7E-8012-1926-AC4C742CC14F}.Debug|x64.Build.0 = Debug|x64 + {CCF160AF-4F7E-8012-1926-AC4C742CC14F}.Release|Win32.ActiveCfg = Release|Win32 + {CCF160AF-4F7E-8012-1926-AC4C742CC14F}.Release|Win32.Build.0 = Release|Win32 + {CCF160AF-4F7E-8012-1926-AC4C742CC14F}.Release|x64.ActiveCfg = Release|x64 + {CCF160AF-4F7E-8012-1926-AC4C742CC14F}.Release|x64.Build.0 = Release|x64 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Debug|Win32.ActiveCfg = Debug|Win32 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Debug|Win32.Build.0 = Debug|Win32 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Debug|x64.ActiveCfg = Debug|x64 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Debug|x64.Build.0 = Debug|x64 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Release|Win32.ActiveCfg = Release|Win32 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Release|Win32.Build.0 = Release|Win32 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Release|x64.ActiveCfg = Release|x64 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Release|x64.Build.0 = Release|x64 + {D79FC143-498E-4342-B2C7-BDAD1B8D0E6B}.Debug|Win32.ActiveCfg = Debug|Win32 + {D79FC143-498E-4342-B2C7-BDAD1B8D0E6B}.Debug|Win32.Build.0 = Debug|Win32 + {D79FC143-498E-4342-B2C7-BDAD1B8D0E6B}.Debug|x64.ActiveCfg = Debug|x64 + {D79FC143-498E-4342-B2C7-BDAD1B8D0E6B}.Debug|x64.Build.0 = Debug|x64 + {D79FC143-498E-4342-B2C7-BDAD1B8D0E6B}.Release|Win32.ActiveCfg = Release|Win32 + {D79FC143-498E-4342-B2C7-BDAD1B8D0E6B}.Release|Win32.Build.0 = Release|Win32 + {D79FC143-498E-4342-B2C7-BDAD1B8D0E6B}.Release|x64.ActiveCfg = Release|x64 + {D79FC143-498E-4342-B2C7-BDAD1B8D0E6B}.Release|x64.Build.0 = Release|x64 + {D99892D1-064D-498E-A96A-9686FAE8CD1D}.Debug|Win32.ActiveCfg = Debug + {D99892D1-064D-498E-A96A-9686FAE8CD1D}.Debug|x64.ActiveCfg = Debug + {D99892D1-064D-498E-A96A-9686FAE8CD1D}.Release|Win32.ActiveCfg = Release + {D99892D1-064D-498E-A96A-9686FAE8CD1D}.Release|x64.ActiveCfg = Release + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ARMFCaptureD3D/ARMFCaptureD3D.sln.cache b/ARMFCaptureD3D/ARMFCaptureD3D.sln.cache new file mode 100644 index 0000000..5f63143 --- /dev/null +++ b/ARMFCaptureD3D/ARMFCaptureD3D.sln.cache @@ -0,0 +1,241 @@ + + + <_SolutionProjectConfiguration>Debug|Win32 + <_SolutionProjectToolsVersion>3.5 + <_SolutionProjectCacheVersion>3.5 + + + <_SolutionProjectProjects Include="..\..\pcre\pcre.vcxproj" /> + <_SolutionProjectProjects Include="..\ArToolKitPlus\ARToolKitPlus.vcxproj" /> + <_SolutionProjectProjects Include="..\Bus\Ivy\Ivy.vcxproj" /> + <_SolutionProjectProjects Include="MFCaptureD3D.vcxproj" /> + <_SolutionProjectProjects Include="Setup\Setup.vdproj" /> + + + + + Debug + + + Win32 + + + $(Configuration) + + + C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\ + .sln + ARMFCaptureD3D.sln + ARMFCaptureD3D + C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\ARMFCaptureD3D.sln + + + v2.0 + v3.5 + + + + + Debug|Win32 + Debug|Win32 + Debug|Win32 + Debug|Win32 + Debug + + + + + + + Debug|x64 + Debug|x64 + Debug|x64 + Debug|x64 + Debug + + + + + + + Release|Win32 + Release|Win32 + Release|Win32 + Release|Win32 + Release + + + + + + + Release|x64 + Release|x64 + Release|x64 + Release|x64 + Release + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ARMFCaptureD3D/ARMFCaptureD3D.suo b/ARMFCaptureD3D/ARMFCaptureD3D.suo new file mode 100644 index 0000000..4f842f7 Binary files /dev/null and b/ARMFCaptureD3D/ARMFCaptureD3D.suo differ diff --git a/ARMFCaptureD3D/BufferLock.h b/ARMFCaptureD3D/BufferLock.h new file mode 100644 index 0000000..d566d5b --- /dev/null +++ b/ARMFCaptureD3D/BufferLock.h @@ -0,0 +1,125 @@ +////////////////////////////////////////////////////////////////////////// +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +////////////////////////////////////////////////////////////////////////// + + + +#pragma once + + +//------------------------------------------------------------------- +// VideoBufferLock class +// +// Locks a video buffer that might or might not support IMF2DBuffer. +// +//------------------------------------------------------------------- + +class VideoBufferLock +{ +public: + VideoBufferLock(IMFMediaBuffer *pBuffer) : m_p2DBuffer(NULL), m_bLocked(FALSE) + { + m_pBuffer = pBuffer; + m_pBuffer->AddRef(); + + // Query for the 2-D buffer interface. OK if this fails. + (void)m_pBuffer->QueryInterface(IID_PPV_ARGS(&m_p2DBuffer)); + } + + ~VideoBufferLock() + { + UnlockBuffer(); + SafeRelease(&m_pBuffer); + SafeRelease(&m_p2DBuffer); + } + + //------------------------------------------------------------------- + // LockBuffer + // + // Locks the buffer. Returns a pointer to scan line 0 and returns the stride. + // + // The caller must provide the default stride as an input parameter, in case + // the buffer does not expose IMF2DBuffer. You can calculate the default stride + // from the media type. + //------------------------------------------------------------------- + + HRESULT LockBuffer( + LONG lDefaultStride, // Minimum stride (with no padding). + DWORD dwHeightInPixels, // Height of the image, in pixels. + BYTE **ppbScanLine0, // Receives a pointer to the start of scan line 0. + LONG *plStride // Receives the actual stride. + ) + { + HRESULT hr = S_OK; + DWORD cbMaxLength; + DWORD cbCurrentLength; + + // Use the 2-D version if available. + if (m_p2DBuffer) + { + hr = m_p2DBuffer->Lock2D(ppbScanLine0, plStride); + } + else + { + // Use non-2D version. + BYTE *pData = NULL; + + hr = m_pBuffer->Lock(&pData, &cbMaxLength, &cbCurrentLength); + if (SUCCEEDED(hr)) + { + *plStride = lDefaultStride; + if (lDefaultStride < 0) + { + // Bottom-up orientation. Return a pointer to the start of the + // last row *in memory* which is the top row of the image. + *ppbScanLine0 = pData + abs(lDefaultStride) * (dwHeightInPixels - 1); + } + else + { + // Top-down orientation. Return a pointer to the start of the + // buffer. + *ppbScanLine0 = pData; + } + } + } + + m_bLocked = (SUCCEEDED(hr)); + + return hr; + } + + //------------------------------------------------------------------- + // UnlockBuffer + // + // Unlocks the buffer. Called automatically by the destructor. + //------------------------------------------------------------------- + + void UnlockBuffer() + { + if (m_bLocked) + { + if (m_p2DBuffer) + { + (void)m_p2DBuffer->Unlock2D(); + } + else + { + (void)m_pBuffer->Unlock(); + } + m_bLocked = FALSE; + } + } + +private: + IMFMediaBuffer *m_pBuffer; + IMF2DBuffer *m_p2DBuffer; + + BOOL m_bLocked; +}; diff --git a/ARMFCaptureD3D/Calibration.cpp b/ARMFCaptureD3D/Calibration.cpp new file mode 100644 index 0000000..a843e50 --- /dev/null +++ b/ARMFCaptureD3D/Calibration.cpp @@ -0,0 +1,254 @@ +#include "ARMFCaptureD3D.h" +#include "Calibration.h" +#include +#include +#include "debug.h" +#include "ConfigFile\ConfigFile.h" + +#define DUMP_CALIBRATION + +Calibration::Calibration(double width, double height, double calibInset) +{ + //dot is the original calibration image + dots[TopLeft][0] = calibInset; //top left X + dots[TopLeft][1] = calibInset; //top left Y + dots[TopRight][0] = width - calibInset; //top right + dots[TopRight][1] = calibInset; //top right + dots[BottomLeft][0] = calibInset; //bot left + dots[BottomLeft][1] = height - calibInset; //bot left + dots[BottomRight][0] = width - calibInset; //bot right + dots[BottomRight][1] = height - calibInset; //bot right + RazCalibration(); +} +void Calibration::SetCalibrationPoint(Corners i, double x, double y) +{ + cal[i][0] = x; + cal[i][1] = y; + cal_set[i] = true; + calib_points_ok = true; + for ( int j = 0; j <4; j++ ) + if ( !cal_set[j] ) + { + calib_points_ok = false; + break; + } +} +void Calibration::RazCalibration() +{ + a1 = b1 = c1 = a3 = b3 = a2 = b2 = c2 = 0.0; + for ( int i = 0; i <4; i++ ) + cal_set[i] = false; + calib_points_ok = false; +} +void Calibration::translateCoords(double X, double Y, double *cx, double *cy) +{ + assert( calibrated == true ); + + *cx = (a1 * X + b1 * Y + c1) / (a3 * X + b3 * Y + 1.0); + *cy = (a2 * X + b2 * Y + c2) / (a3 * X + b3 * Y + 1.0); +} +bool Calibration::Calibrate() +{ +#ifdef DUMP_CALIBRATION + DBGMSG(TEXT("running calibration\n")); +#endif + if ( !calib_points_ok ) return false; + + RazCalibration(); + + double matrix[8][8] = + { + { -1, -1, -1, -1, 0, 0, 0, 0 }, + + { -cal[0][0], -cal[1][0], -cal[2][0], -cal[3][0], 0, 0, 0, 0 }, + { -cal[0][1], -cal[1][1], -cal[2][1], -cal[3][1], 0,0,0,0 }, + { 0,0,0,0,-1,-1,-1,-1 }, + { 0,0,0,0, -cal[0][0], -cal[1][0], -cal[2][0], -cal[3][0] }, + { 0,0,0,0, -cal[0][1], -cal[1][1], -cal[2][1], -cal[3][1] }, + { cal[0][0] * dots[0][0], cal[1][0] * dots[1][0], cal[2][0] * dots[2][0], cal[3][0] * dots[3][0], cal[0][0] * dots[0][1], cal[1][0] * dots[1][1], cal[2][0] * dots[2][1], cal[3][0] * dots[3][1] }, + { cal[0][1] * dots[0][0], cal[1][1] * dots[1][0], cal[2][1] * dots[2][0], cal[3][1] * dots[3][0], cal[0][1] * dots[0][1], cal[1][1] * dots[1][1], cal[2][1] * dots[2][1], cal[3][1] * dots[3][1] }, + }; + + + double bb[] = { -dots[0][0], -dots[1][0], -dots[2][0], -dots[3][0], -dots[0][1], -dots[1][1], -dots[2][1], -dots[3][1] }; + + // gauß-elimination + + for (int j = 1; j < 4; j++) + { + + for (int i = 1; i < 8; i++) + { + matrix[i][j] = -matrix[i][j] + matrix[i][0]; + } + bb[j] = -bb[j] + bb[0]; + matrix[0][j] = 0; + + } + + + for (int i = 2; i < 8; i++) + { + matrix[i][2] = -matrix[i][2] / matrix[1][2] * matrix[1][1] + matrix[i][1]; + } + bb[2] = -bb[2] / matrix[1][2] * matrix[1][1] + bb[1]; + matrix[1][2] = 0; + + + for (int i = 2; i < 8; i++) + { + matrix[i][3] = -matrix[i][3] / matrix[1][3] * matrix[1][1] + matrix[i][1]; + } + bb[3] = -bb[3] / matrix[1][3] * matrix[1][1] + bb[1]; + matrix[1][3] = 0; + + + + for (int i = 3; i < 8; i++) + { + matrix[i][3] = -matrix[i][3] / matrix[2][3] * matrix[2][2] + matrix[i][2]; + } + bb[3] = -bb[3] / matrix[2][3] * matrix[2][2] + bb[2]; + matrix[2][3] = 0; +#ifdef DUMP_CALIBRATION + DBGMSG(TEXT("var57, var56, var55\n")); + DBGMSG(TEXT("%0.3f %0.3f %03.f\n"),matrix[4][6], matrix[4][5] , + matrix[4][4]); +#endif + for (int j = 5; j < 8; j++) + { + for (int i = 4; i < 8; i++) + { + matrix[i][j] = -matrix[i][j] + matrix[i][4]; + } + bb[j] = -bb[j] + bb[4]; + matrix[3][j] = 0; + } + + + for (int i = 5; i < 8; i++) + { + matrix[i][6] = -matrix[i][6] / matrix[4][6] * matrix[4][5] + matrix[i][5]; + } + + bb[6] = -bb[6] / matrix[4][6] * matrix[4][5] + bb[5]; + matrix[4][6] = 0; + + + for (int i = 5; i < 8; i++) + { + matrix[i][7] = -matrix[i][7] / matrix[4][7] * matrix[4][5] + matrix[i][5]; + } + bb[7] = -bb[7] / matrix[4][7] * matrix[4][5] + bb[5]; + matrix[4][7] = 0; + + + for (int i = 6; i < 8; i++) + { + matrix[i][7] = -matrix[i][7] / matrix[5][7] * matrix[5][6] + matrix[i][6]; + } + bb[7] = -bb[7] / matrix[5][7] * matrix[5][6] + bb[6]; + matrix[5][7] = 0; + + + + matrix[7][7] = -matrix[7][7] / matrix[6][7] * matrix[6][3] + matrix[7][3]; + bb[7] = -bb[7] / matrix[6][7] * matrix[6][3] + bb[3]; + matrix[6][7] = 0; +#ifdef DUMP_CALIBRATION + + DBGMSG(TEXT("data dump\n")); + for (int i = 0; i < 8; i++) + { + for (int j = 0; j < 8; j++) + { + DBGMSG(TEXT("%0.3f,"),matrix[i][j]); + } + DBGMSG(TEXT("\n")); + } + + DBGMSG(TEXT("bb\n")); + for (int j = 0; j < 8; j++) + { + DBGMSG(TEXT("%0.3f,"),bb[j]); + } + + DBGMSG(TEXT("\n")); +#endif + b3 = bb[7] / matrix[7][7]; + b2 = (bb[6] - (matrix[7][6] * b3 + matrix[6][6] * a3)) / matrix[5][6]; + a2 = (bb[5] - (matrix[7][5] * b3 + matrix[6][5] * a3 + matrix[5][5] * b2)) / matrix[4][5]; + c2 = (bb[4] - (matrix[7][4] * b3 + matrix[6][5] * a3 + matrix[5][4] * b2 + matrix[4][4] * a2)) / matrix[3][4]; + a3 = (bb[3] - (matrix[7][3] * b3)) / matrix[6][3]; + b1 = (bb[2] - (matrix[7][2] * b3 + matrix[6][2] * a3 + matrix[5][2] * b2 + matrix[4][2] * a2 + matrix[3][2] * c2)) / matrix[2][2]; + a1 = (bb[1] - (matrix[7][1] * b3 + matrix[6][1] * a3 + matrix[5][1] * b2 + matrix[4][1] * a2 + matrix[3][1] * c2 + matrix[2][1] * b1)) / matrix[1][1]; + c1 = (bb[0] - (matrix[7][0] * b3 + matrix[6][0] * a3 + matrix[5][0] * b2 + matrix[4][0] * a2 + matrix[3][0] * c2 + matrix[2][0] * b1 + matrix[1][0] * a1)) / matrix[0][0]; + + if ( _isnan(b3)|| _isnan(b2)|| _isnan(a2)|| _isnan(c2)|| _isnan(a3)|| _isnan(b1)|| _isnan(a1)|| _isnan(c1) ) + { + +#ifdef DUMP_CALIBRATION + DBGMSG(TEXT("calibrated BAd Result NAN!!\n")); +#endif + calibrated = false; + } + else + { +#ifdef DUMP_CALIBRATION + DBGMSG(TEXT("calibrated OK\n")); +#endif + calibrated = true; + } + return calibrated ; +} + + + +void Calibration::SaveCalibration( string filename ) +{ + ConfigFile config; + config.add("A1",a1); + config.add("B1",b1); + config.add("C1",c1); + config.add("A2",a2); + config.add("B2",b2); + config.add("C2",c2); + config.add("A3",a3); + config.add("B3",b3); + + // Construct a ConfigFile, write keys and values from given file + std::ofstream out( filename.c_str() ); + + //if( !out ) throw file_not_found( filename ); + + out << config; + out.close(); +} +bool Calibration::RestoreCalibration(string filename) +{ + try + { + ConfigFile config(filename); + a1 = config.read("A1"); + b1 = config.read("B1"); + c1 = config.read("C1"); + a2 = config.read("A2"); + b2 = config.read("B2"); + c2 = config.read("C2"); + a3 = config.read("A3"); + b3 = config.read("B3"); + calibrated = true; + return true; + } + catch(ConfigFile::file_not_found ex) + { + WCHAR msg[MAX_PATH]; + HRESULT hr = S_OK; + hr = StringCbPrintfW(msg, sizeof(msg), L"Fichier de Calibration not trouve: %S", ex.filename.c_str()); + + if (SUCCEEDED(hr)) + { + MessageBox(NULL, msg, L"Error", MB_ICONERROR); + } + return false; + } +} \ No newline at end of file diff --git a/ARMFCaptureD3D/Calibration.h b/ARMFCaptureD3D/Calibration.h new file mode 100644 index 0000000..a7c5c6e --- /dev/null +++ b/ARMFCaptureD3D/Calibration.h @@ -0,0 +1,31 @@ + +#pragma once +#include +#include +#include +#include + +class Calibration +{ + + double a1, b1, c1, a3, b3, a2, b2, c2; + double cal[4][2]; + double dots[4][2]; + bool cal_set[4]; + bool calib_points_ok; + bool calibrated; + void RazCalibration(); + +public: + typedef enum { TopLeft, TopRight, BottomLeft, BottomRight } Corners; + + Calibration(double width, double height, double calibInset = 0); + void SetCalibrationPoint(Corners i, double x, double y); + + void translateCoords(double X, double Y, double *cx, double *cy); + bool Calibrate(); + void SaveCalibration( std::string filename ); + bool RestoreCalibration(std::string filename); + +}; + diff --git a/ARMFCaptureD3D/ConfigFile/AntBlueMaize.jpg b/ARMFCaptureD3D/ConfigFile/AntBlueMaize.jpg new file mode 100644 index 0000000..3dc2845 Binary files /dev/null and b/ARMFCaptureD3D/ConfigFile/AntBlueMaize.jpg differ diff --git a/ARMFCaptureD3D/ConfigFile/ArrowHome.gif b/ARMFCaptureD3D/ConfigFile/ArrowHome.gif new file mode 100644 index 0000000..b38dd5b Binary files /dev/null and b/ARMFCaptureD3D/ConfigFile/ArrowHome.gif differ diff --git a/ARMFCaptureD3D/ConfigFile/ConfigFile.cpp b/ARMFCaptureD3D/ConfigFile/ConfigFile.cpp new file mode 100644 index 0000000..f041064 --- /dev/null +++ b/ARMFCaptureD3D/ConfigFile/ConfigFile.cpp @@ -0,0 +1,142 @@ +// ConfigFile.cpp + +#include "ConfigFile.h" + +using std::string; + +ConfigFile::ConfigFile( string filename, string delimiter, + string comment, string sentry ) + : myDelimiter(delimiter), myComment(comment), mySentry(sentry) +{ + // Construct a ConfigFile, getting keys and values from given file + + std::ifstream in( filename.c_str() ); + + if( !in ) throw file_not_found( filename ); + + in >> (*this); +} + + +ConfigFile::ConfigFile() + : myDelimiter( string(1,'=') ), myComment( string(1,'#') ) +{ + // Construct a ConfigFile without a file; empty +} + + +void ConfigFile::remove( const string& key ) +{ + // Remove key and its value + myContents.erase( myContents.find( key ) ); + return; +} + + +bool ConfigFile::keyExists( const string& key ) const +{ + // Indicate whether key is found + mapci p = myContents.find( key ); + return ( p != myContents.end() ); +} + + +/* static */ +void ConfigFile::trim( string& s ) +{ + // Remove leading and trailing whitespace + static const char whitespace[] = " \n\t\v\r\f"; + s.erase( 0, s.find_first_not_of(whitespace) ); + s.erase( s.find_last_not_of(whitespace) + 1U ); +} + + +std::ostream& operator<<( std::ostream& os, const ConfigFile& cf ) +{ + // Save a ConfigFile to os + for( ConfigFile::mapci p = cf.myContents.begin(); + p != cf.myContents.end(); + ++p ) + { + os << p->first << " " << cf.myDelimiter << " "; + os << p->second << std::endl; + } + return os; +} + + +std::istream& operator>>( std::istream& is, ConfigFile& cf ) +{ + // Load a ConfigFile from is + // Read in keys and values, keeping internal whitespace + typedef string::size_type pos; + const string& delim = cf.myDelimiter; // separator + const string& comm = cf.myComment; // comment + const string& sentry = cf.mySentry; // end of file sentry + const pos skip = delim.length(); // length of separator + + string nextline = ""; // might need to read ahead to see where value ends + + while( is || nextline.length() > 0 ) + { + // Read an entire line at a time + string line; + if( nextline.length() > 0 ) + { + line = nextline; // we read ahead; use it now + nextline = ""; + } + else + { + std::getline( is, line ); + } + + // Ignore comments + line = line.substr( 0, line.find(comm) ); + + // Check for end of file sentry + if( sentry != "" && line.find(sentry) != string::npos ) return is; + + // Parse the line if it contains a delimiter + pos delimPos = line.find( delim ); + if( delimPos < string::npos ) + { + // Extract the key + string key = line.substr( 0, delimPos ); + line.replace( 0, delimPos+skip, "" ); + + // See if value continues on the next line + // Stop at blank line, next line with a key, end of stream, + // or end of file sentry + bool terminate = false; + while( !terminate && is ) + { + std::getline( is, nextline ); + terminate = true; + + string nlcopy = nextline; + ConfigFile::trim(nlcopy); + if( nlcopy == "" ) continue; + + nextline = nextline.substr( 0, nextline.find(comm) ); + if( nextline.find(delim) != string::npos ) + continue; + if( sentry != "" && nextline.find(sentry) != string::npos ) + continue; + + nlcopy = nextline; + ConfigFile::trim(nlcopy); + if( nlcopy != "" ) line += "\n"; + line += nextline; + terminate = false; + } + + // Store key and value + ConfigFile::trim(key); + ConfigFile::trim(line); + cf.myContents[key] = line; // overwrites if key is repeated + } + } + + return is; +} diff --git a/ARMFCaptureD3D/ConfigFile/ConfigFile.h b/ARMFCaptureD3D/ConfigFile/ConfigFile.h new file mode 100644 index 0000000..82b099a --- /dev/null +++ b/ARMFCaptureD3D/ConfigFile/ConfigFile.h @@ -0,0 +1,253 @@ +// ConfigFile.h +// Class for reading named values from configuration files +// Richard J. Wagner v2.1 24 May 2004 wagnerr@umich.edu + +// Copyright (c) 2004 Richard J. Wagner +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. + +// Typical usage +// ------------- +// +// Given a configuration file "settings.inp": +// atoms = 25 +// length = 8.0 # nanometers +// name = Reece Surcher +// +// Named values are read in various ways, with or without default values: +// ConfigFile config( "settings.inp" ); +// int atoms = config.read( "atoms" ); +// double length = config.read( "length", 10.0 ); +// string author, title; +// config.readInto( author, "name" ); +// config.readInto( title, "title", string("Untitled") ); +// +// See file example.cpp for more examples. + +#ifndef CONFIGFILE_H +#define CONFIGFILE_H + +#include +#include +#include +#include +#include + +using std::string; + +class ConfigFile { +// Data +protected: + string myDelimiter; // separator between key and value + string myComment; // separator between value and comments + string mySentry; // optional string to signal end of file + std::map myContents; // extracted keys and values + + typedef std::map::iterator mapi; + typedef std::map::const_iterator mapci; + +// Methods +public: + ConfigFile( string filename, + string delimiter = "=", + string comment = "#", + string sentry = "EndConfigFile" ); + ConfigFile(); + + // Search for key and read value or optional default value + template T read( const string& key ) const; // call as read + template T read( const string& key, const T& value ) const; + template bool readInto( T& var, const string& key ) const; + template + bool readInto( T& var, const string& key, const T& value ) const; + + // Modify keys and values + template void add( string key, const T& value ); + void remove( const string& key ); + + // Check whether key exists in configuration + bool keyExists( const string& key ) const; + + // Check or change configuration syntax + string getDelimiter() const { return myDelimiter; } + string getComment() const { return myComment; } + string getSentry() const { return mySentry; } + string setDelimiter( const string& s ) + { string old = myDelimiter; myDelimiter = s; return old; } + string setComment( const string& s ) + { string old = myComment; myComment = s; return old; } + + // Write or read configuration + friend std::ostream& operator<<( std::ostream& os, const ConfigFile& cf ); + friend std::istream& operator>>( std::istream& is, ConfigFile& cf ); + +protected: + template static string T_as_string( const T& t ); + template static T string_as_T( const string& s ); + static void trim( string& s ); + + +// Exception types +public: + struct file_not_found { + string filename; + file_not_found( const string& filename_ = string() ) + : filename(filename_) {} }; + struct key_not_found { // thrown only by T read(key) variant of read() + string key; + key_not_found( const string& key_ = string() ) + : key(key_) {} }; +}; + + +/* static */ +template +string ConfigFile::T_as_string( const T& t ) +{ + // Convert from a T to a string + // Type T must support << operator + std::ostringstream ost; + ost << t; + return ost.str(); +} + + +/* static */ +template +T ConfigFile::string_as_T( const string& s ) +{ + // Convert from a string to a T + // Type T must support >> operator + T t; + std::istringstream ist(s); + ist >> t; + return t; +} + + +/* static */ +template<> +inline string ConfigFile::string_as_T( const string& s ) +{ + // Convert from a string to a string + // In other words, do nothing + return s; +} + + +/* static */ +template<> +inline bool ConfigFile::string_as_T( const string& s ) +{ + // Convert from a string to a bool + // Interpret "false", "F", "no", "n", "0" as false + // Interpret "true", "T", "yes", "y", "1", "-1", or anything else as true + bool b = true; + string sup = s; + for( string::iterator p = sup.begin(); p != sup.end(); ++p ) + *p = (char)toupper(*p); // make string all caps + if( sup==string("FALSE") || sup==string("F") || + sup==string("NO") || sup==string("N") || + sup==string("0") || sup==string("NONE") ) + b = false; + return b; +} + + +template +T ConfigFile::read( const string& key ) const +{ + // Read the value corresponding to key + mapci p = myContents.find(key); + if( p == myContents.end() ) throw key_not_found(key); + return string_as_T( p->second ); +} + + +template +T ConfigFile::read( const string& key, const T& value ) const +{ + // Return the value corresponding to key or given default value + // if key is not found + mapci p = myContents.find(key); + if( p == myContents.end() ) return value; + return string_as_T( p->second ); +} + + +template +bool ConfigFile::readInto( T& var, const string& key ) const +{ + // Get the value corresponding to key and store in var + // Return true if key is found + // Otherwise leave var untouched + mapci p = myContents.find(key); + bool found = ( p != myContents.end() ); + if( found ) var = string_as_T( p->second ); + return found; +} + + +template +bool ConfigFile::readInto( T& var, const string& key, const T& value ) const +{ + // Get the value corresponding to key and store in var + // Return true if key is found + // Otherwise set var to given default + mapci p = myContents.find(key); + bool found = ( p != myContents.end() ); + if( found ) + var = string_as_T( p->second ); + else + var = value; + return found; +} + + +template +void ConfigFile::add( string key, const T& value ) +{ + // Add a key with given value + string v = T_as_string( value ); + trim(key); + trim(v); + myContents[key] = v; + return; +} + +#endif // CONFIGFILE_H + +// Release notes: +// v1.0 21 May 1999 +// + First release +// + Template read() access only through non-member readConfigFile() +// + ConfigurationFileBool is only built-in helper class +// +// v2.0 3 May 2002 +// + Shortened name from ConfigurationFile to ConfigFile +// + Implemented template member functions +// + Changed default comment separator from % to # +// + Enabled reading of multiple-line values +// +// v2.1 24 May 2004 +// + Made template specializations inline to avoid compiler-dependent linkage +// + Allowed comments within multiple-line values +// + Enabled blank line termination for multiple-line values +// + Added optional sentry to detect end of configuration file +// + Rewrote messy trimWhitespace() function as elegant trim() diff --git a/ARMFCaptureD3D/ConfigFile/ConfigFile.html b/ARMFCaptureD3D/ConfigFile/ConfigFile.html new file mode 100644 index 0000000..2f29e41 --- /dev/null +++ b/ARMFCaptureD3D/ConfigFile/ConfigFile.html @@ -0,0 +1,72 @@ + + + + + + + + + + Configuration File Reader for C++ + + + + +

Configuration File Reader for C++

+ +ConfigFile is a C++ class for reading configuration files. Such files are handy, for example, in running computer simulations. The simulation program can be set to read its input parameters and settings from a configuration file. Then, changing the simulation conditions is as easy as editing text in the configuration file rather than editing and recompiling the source code. + +

With this purpose in mind, ConfigFile is designed to be convenient, portable, and free. Take a look at the +class header, +class definition, +example program, and +sample input. +Or, download the complete package in +zip +or +tarball +format. + +

Features: +

    +
  • Human-readable configuration files: +
      +
    • atoms = 250 +
    • length = 8.0  # nanometers +
    • name = Reece Surcher +
    +
  • Simple file opening with ConfigFile config( "config.inp" ); +
  • Convenient reading of any data type: +
      +
    • int atoms = config.read<int>( "atoms" ); +
    • double length = config.read( "length", 10.0 ); +
    • string author = config.read<string>( "name", "none" ); +
    +
  • Ability to modify and save configuration files +
  • Thorough example program +
  • Validation tests +
  • Open source code under MIT License +
+ +

If you like this software, also try my version of the +Mersenne Twister +random number generator. + + + +

+ + +
+ ^ home +
+ Rick Wagner ( + wagnerr@umich.edu + ) 26 May 04 +
+ + + diff --git a/ARMFCaptureD3D/ConfigFile/Makefile b/ARMFCaptureD3D/ConfigFile/Makefile new file mode 100644 index 0000000..fd503f8 --- /dev/null +++ b/ARMFCaptureD3D/ConfigFile/Makefile @@ -0,0 +1,24 @@ +# Makefile for ConfigFile class + +CC = g++ +CFLAGS = -Wall -ansi + +all: example tester + +example: example.cpp ConfigFile.cpp + $(CC) $(CFLAGS) -o example example.cpp ConfigFile.cpp + +tester: tester.cpp ConfigFile.cpp + $(CC) $(CFLAGS) -o tester tester.cpp ConfigFile.cpp + +run: example + ./example | tee example.out + +test: tester + ./tester | tee test.out + +tidy: + @ rm -f *.o + +clean: tidy + @ rm -f example tester example.out test.out core* diff --git a/ARMFCaptureD3D/ConfigFile/README b/ARMFCaptureD3D/ConfigFile/README new file mode 100644 index 0000000..27406cf --- /dev/null +++ b/ARMFCaptureD3D/ConfigFile/README @@ -0,0 +1,57 @@ +README for ConfigFile distribution +Richard J. Wagner v2.1 24 May 2004 + +Instructions +------------ + +The only necessary files for using this configuration file reader are +"ConfigFile.h" and "ConfigFile.cpp". The class name is ConfigFile. + +Usage examples are in "example.cpp". Linux or Unix users can type "make" to +compile and then type "make run" to run the example program. + +The test program in "tester.cpp" will check that the class properly reads +a variety of simple and complex configuration file entries. To run the test +program type "make test". + +When you are done with the examples and the test program, type "make clean" +to get rid of temporary files. + +For Windows or Mac users with a compiler such as Metrowerks CodeWarrior or +Microsoft Visual C++, simply add "example.cpp" and "ConfigFile.cpp" to an +empty C++ console application. Compile and run to see the configuration +file reader in action. Do likewise with "tester.cpp" to check that the +code works properly with your compiler. + +If you encounter any problems, please e-mail a copy of the output and a +description of the test system to me at "wagnerr@umich.edu". Any other +feedback is welcome too. + + +Installation +------------ + +Just copy the files "ConfigFile.h" and "ConfigFile.cpp" to your working +directory or some other place where your compiler can find them. Add +"ConfigFile.cpp" to your project and put the following line at the top of +your program to access the ConfigFile class: + +#include "ConfigFile.h" + + +Contents +-------- + +README - this file +ConfigFile.h - declaration of ConfigFile class +ConfigFile.cpp - definitions of ConfigFile class +example.cpp - examples of using ConfigFile +tester.cpp - tests ConfigFile class +example.inp - configuration file for example program +test.inp - configuration file for tester program +Triplet.h - sample user-defined data type +Makefile - instructions used by "make" command +ConfigFile.html - Web page about ConfigFile +AntBlueMaize.jpg - background for ConfigFile.html +ArrowHome.gif - home icon for ConfigFile.html +main.css - style sheet for ConfigFile.html diff --git a/ARMFCaptureD3D/ConfigFile/Triplet.h b/ARMFCaptureD3D/ConfigFile/Triplet.h new file mode 100644 index 0000000..e26dc47 --- /dev/null +++ b/ARMFCaptureD3D/ConfigFile/Triplet.h @@ -0,0 +1,34 @@ +// Triplet.h +// A sample user-defined data type for illustrating ConfigFile +// Operators << and >> are defined to allow writing to and reading from files +// Richard J. Wagner 24 May 2004 + +#include + +struct Triplet +{ + int a, b, c; + + Triplet() {} + Triplet( int u, int v, int w ) : a(u), b(v), c(w) {} + Triplet( const Triplet& orig ) : a(orig.a), b(orig.b), c(orig.c) {} + + Triplet& operator=( const Triplet& orig ) + { a = orig.a; b = orig.b; c = orig.c; return *this; } +}; + + +std::ostream& operator<<( std::ostream& os, const Triplet& t ) +{ + // Save a triplet to os + os << t.a << " " << t.b << " " << t.c; + return os; +} + + +std::istream& operator>>( std::istream& is, Triplet& t ) +{ + // Load a triplet from is + is >> t.a >> t.b >> t.c; + return is; +} diff --git a/ARMFCaptureD3D/ConfigFile/example.cpp b/ARMFCaptureD3D/ConfigFile/example.cpp new file mode 100644 index 0000000..e0d24c0 --- /dev/null +++ b/ARMFCaptureD3D/ConfigFile/example.cpp @@ -0,0 +1,111 @@ +// example.cpp +// Program to demonstrate ConfigFile class + +#include +#include +#include "ConfigFile.h" +#include "Triplet.h" + +using std::string; +using std::cout; +using std::endl; + +int main( void ) +{ + // A configuration file can be loaded with a simple + + ConfigFile config( "example.inp" ); + + // Values can be read from the file by name + + int apples; + config.readInto( apples, "apples" ); + cout << "The number of apples is " << apples << endl; + + double price; + config.readInto( price, "price" ); + cout << "The price is $" << price << endl; + + string title; + config.readInto( title, "title" ); + cout << "The title of the song is " << title << endl; + + // We can provide default values in case the name is not found + + int oranges; + config.readInto( oranges, "oranges", 0 ); + cout << "The number of oranges is " << oranges << endl; + + int fruit = 0; + fruit += config.read( "apples", 0 ); + fruit += config.read( "pears", 0 ); + fruit += config.read( "oranges", 0 ); + cout << "The total number of apples, pears, and oranges is "; + cout << fruit << endl; + + // Sometimes we must tell the compiler what data type we want to + // read when it's not clear from arguments given to read() + + int pears = config.read( "pears" ); + cout << "The number of pears is " << pears; + cout << ", but you knew that already" << endl; + + // The value is interpreted as the requested data type + + cout << "The weight is "; + cout << config.read("weight"); + cout << " as a string" << endl; + + cout << "The weight is "; + cout << config.read("weight"); + cout << " as a double" << endl; + + cout << "The weight is "; + cout << config.read("weight"); + cout << " as an integer" << endl; + + // When reading boolean values, a wide variety of words are + // recognized, including "true", "yes", and "1" + + if( config.read( "sale", false ) ) + cout << "The fruit is on sale" << endl; + else + cout << "The fruit is full price" << endl; + + // We can also read user-defined types, as long as the input and + // output operators, >> and <<, are defined + + Triplet point; + config.readInto( point, "zone" ); + cout << "The first point in the zone is " << point << endl; + + // The readInto() functions report whether the named value was found + + int pommes = 0; + if( config.readInto( pommes, "pommes" ) ) + cout << "The input file is in French: "; + else if( config.readInto( pommes, "apples" ) ) + cout << "The input file is in English: "; + cout << "The number of pommes (apples) is " << pommes << endl; + + // Named values can be added to a ConfigFile + + config.add( "zucchini", 12 ); + int zucchini = config.read( "zucchini", 0 ); + cout << "The number of zucchini was set to " << zucchini << endl; + + // And values can be removed + + config.remove( "pears" ); + if( config.readInto( pears, "pears" ) ) + cout << "The pears are ready" << endl; + else + cout << "The pears have been eaten" << endl; + + // An entire ConfigFile can written (and restored) + + cout << "Here is the modified configuration file:" << endl; + cout << config; + + return 0; +} diff --git a/ARMFCaptureD3D/ConfigFile/example.inp b/ARMFCaptureD3D/ConfigFile/example.inp new file mode 100644 index 0000000..503fb1b --- /dev/null +++ b/ARMFCaptureD3D/ConfigFile/example.inp @@ -0,0 +1,14 @@ +# example.inp +# Example configuration file for ConfigFile class + +apples = 7 # comment after apples +pears = 3 # comment after pears +price = 1.99 # comment after price +sale = true # comment after sale +title = one fine day # comment after title +weight = 2.5 kg # comment after weight +zone = 1 2 3 # comment after 1st point + 4 5 6 # comment after 2nd point + 7 8 9 # comment after 3rd point + +This is also a comment since it has no equals sign and follows a blank line. diff --git a/ARMFCaptureD3D/ConfigFile/main.css b/ARMFCaptureD3D/ConfigFile/main.css new file mode 100644 index 0000000..08bbd90 --- /dev/null +++ b/ARMFCaptureD3D/ConfigFile/main.css @@ -0,0 +1,37 @@ +body { text-align: justify; + margin: 0.5em 1.5em; + color: #002244; + background-color: white; + background: url("AntGreenWhite.jpg"); + font-family: "new century schoolbook", serif } + +a:link { color: #0055cc } +a:visited { color: #303077 } +a:active { color: #aaaa00 } + +h1 { text-align: center; font-size: 200%; margin: 0em 0em 0.2em; color: #000066 } +h2 { text-align: left; font-size: 150%; margin: 0em 0em 0.4em; color: #000000 } +h3 { text-align: left; font-size: 120%; margin: 0em 0em 0.4em; color: #000000 } +li { margin: 0em 0em 0.2em } + +.left { text-align: left } +.center { text-align: center } +.right { text-align: right } +.justify { text-align: justify } +.top { vertical-align: top } +.middle { vertical-align: middle } +.bottom { vertical-align: bottom } +.bold { font-weight: bold } + +.caption { text-align: center; font-size: 90%; font-style: italic } +.preview { vertical-align: top; margin: 0.2em 3.0em 0.2em 2.0em } +.clear { clear: both } +a.plain { text-decoration: none; font-size: larger; font-weight: bold } + +.in0 { text-indent: 0.000em; line-height: 110% } +.in1 { text-indent: 0.143em; line-height: 110% } +.in2 { text-indent: 0.518em; line-height: 110% } +.in3 { text-indent: 0.982em; line-height: 110% } +.in4 { text-indent: 1.357em; line-height: 110% } +.in5 { text-indent: 1.500em; line-height: 110% } + diff --git a/ARMFCaptureD3D/ConfigFile/test.inp b/ARMFCaptureD3D/ConfigFile/test.inp new file mode 100644 index 0000000..1370918 --- /dev/null +++ b/ARMFCaptureD3D/ConfigFile/test.inp @@ -0,0 +1,83 @@ +# test.inp +# Test configuration file for ConfigFile class + +################################ +# Run through the basic syntax # +################################ + +integer = 7 # comment after apples +double = 1.99 # comment after double +boolean = true # comment after bool +string = one fine day # comment after string +weight = 2.5 kg # comment after weight +triplets = 1 2 3 # comment after 1st triplet + 4 5 6 # comment after 2nd triplet + 7 8 9 # comment after 3rd triplet + +This is also a comment since it has no equals sign and follows a blank line. + + +########################################## +# Run through some more difficult syntax # +########################################## + +# Repeated keys should overwrite previous values +repeated = 1 +repeated = 2 + +# Key recognition should be case-sensitive +oneStall = 1 +onesTall = 111 + +# Keys with embedded spaces should be recognized +space key = true + +# An all-space value should be legal +noValue = + +# An all-space key, though weird, should be legal too += 5 + +# On a line with two delimiters, the second should belong to the value +equation = y = mx + b + +# Blank lines should terminate multiple-line values +multilinePause = + first + second + third + + fourth + +# But comments should not terminate multiple-line values +multilineComment = + first # 1st + second # 2nd + third # 3rd + fourth # 4th + +# Commented lines in multiple-line values should simply be skipped +multilineSkip = + first + second +# third + fourth + +# Assignments within comments should be ignored +# postComment = 9 + +# Alternative delimiters should be recognized +atDelimiter @ 7 + +# Alternative comment separators should be recognized +! alternateComment = 9 + +# A space should work as an alternative delimiter +spaceDelimiter 7 + +# Assignments after an active end of file sentry should be ignored +end = before commented sentry +# EndConfigFile +end = before uncommented sentry +EndConfigFile +end = before EOF diff --git a/ARMFCaptureD3D/ConfigFile/tester.cpp b/ARMFCaptureD3D/ConfigFile/tester.cpp new file mode 100644 index 0000000..ff82c27 --- /dev/null +++ b/ARMFCaptureD3D/ConfigFile/tester.cpp @@ -0,0 +1,331 @@ +// tester.cpp +// Program to test ConfigFile class + +#include +#include +#include "ConfigFile.h" +#include "Triplet.h" + +using std::string; +using std::cout; +using std::endl; + +string title = ""; +bool success = true; +int errors = 0; + +void announce( const string& name ) +{ + title = name; + success = true; + cout << "Test " << title << ":" << endl; +} + +void judge() +{ + if( success ) + { + cout << "Passed " << title << "." << endl << endl; + return; + } + cout << "Error - Failed " << title << "." << endl << endl; + ++errors; +} + +void evaluate( const bool& test ) +{ + success = success && test; +} + +int main( void ) +{ + cout << "This is a test of the ConfigFile class." << endl; + + try { + + ConfigFile cf( "test.inp" ); + + cout << "Here is the configuration read from test.inp:" << endl; + cout << cf << endl; + + // Test reading of basic types + + announce("reading of basic types"); + + int valInt = cf.read( "integer", 0 ); + cout << "Value of 'integer' is " << valInt << endl; + evaluate( valInt == 7 ); + + double valDbl = cf.read( "double", 0.0 ); + cout << "Value of 'double' is " << valDbl << endl; + evaluate( valDbl == 1.99 ); + + bool valBoo = cf.read( "boolean", false ); + cout << "Value of 'boolean' is " << valBoo << endl; + evaluate( valBoo ); + + string valStr = cf.read( "string", "nothing" ); + cout << "Value of 'string' is " << valStr << endl; + evaluate( valStr == "one fine day" ); + + judge(); + + // Test reading by different methods + + announce("reading by different methods"); + + int methodExplicit = cf.read( "integer" ); + cout << "Read integer explicitly as " << methodExplicit << endl; + evaluate( methodExplicit == 7 ); + + int methodDefault = cf.read( "integer", 0 ); + cout << "Read integer with default as " << methodDefault << endl; + evaluate( methodDefault == 7 ); + + int valInto = 0; + bool methodInto = cf.readInto( valInto, "integer" ); + cout << "Read integer into variable as " << valInto << endl; + evaluate( methodInto ); + + methodInto = cf.readInto( valInto, "integer", 0 ); + cout << "Read integer into variable with default as " << valInto << endl; + evaluate( methodInto ); + + judge(); + + // Test interpretation as different types + + announce("interpretation as different types"); + + string typeStr = cf.read( "weight", "nothing" ); + cout << "Value of weight as a string is " << typeStr << endl; + evaluate( typeStr == "2.5 kg" ); + + double typeDbl = cf.read( "weight", 0.0 ); + cout << "Value of weight as a double is " << typeDbl << endl; + evaluate( typeDbl == 2.5 ); + + int typeInt = cf.read( "weight", 0 ); + cout << "Value of weight as an integer is " << typeInt << endl; + evaluate( typeInt == 2 ); + + judge(); + + // Test reading of user-defined types + + announce("reading of user-defined types"); + + Triplet trip = cf.read( "triplets" ); + cout << "First Triplet in 'triplets' is " << trip << endl; + evaluate( trip.a==1 && trip.b==2 && trip.c==3 ); + + judge(); + + // Test reading of repeated keys + + announce("reading of repeated keys"); + + int repeat = cf.read( "repeated" ); + cout << "Value of 'repeated' is " << repeat << endl; + evaluate( repeat == 2 ); + + judge(); + + // Test case-sensitivity of key recognition + + announce("case-sensitivity of key recognition"); + + int oneStall = cf.read( "oneStall" ); + cout << "Value of oneStall is " << oneStall << endl; + evaluate( oneStall == 1 ); + + int onesTall = cf.read( "onesTall" ); + cout << "Value of onesTall is " << onesTall << endl; + evaluate( onesTall == 111 ); + + judge(); + + // Test recognition of keys with embedded spaces + + announce("recognition of keys with embedded spaces"); + + bool spaceInKey = cf.read( "space key", false ); + cout << "Value of 'space key' is " << spaceInKey << endl; + evaluate( spaceInKey ); + + judge(); + + // Test legality of all-space values + + announce("legality of all-space values"); + + string noValue = cf.read( "noValue", "something" ); + cout << "Value of 'noValue' is " << noValue << endl; + evaluate( noValue == "" ); + + judge(); + + // Test legality of all-space keys + + announce("legality of all-space keys"); + + int spaceKey = cf.read( "" ); + cout << "Value of nothing is " << spaceKey << endl; + evaluate( spaceKey == 5 ); + + judge(); + + // Test reading of values that include a delimiter + + announce("reading of values that include a delimiter"); + + string equation = cf.read( "equation" ); + cout << "Value of 'equation' is " << equation << endl; + evaluate( equation == "y = mx + b" ); + + judge(); + + // Test termination of multiple-line values by blank lines + + announce("termination of multiple-line values by blank lines"); + + string multiPause = cf.read( "multilinePause" ); + cout << "Value of 'multilinePause' is " << multiPause << endl; + evaluate( multiPause.find("third") != string::npos && + multiPause.find("fourth") == string::npos ); + + judge(); + + // Test continuation of multiple-line values after comments + + announce("continuation of multiple-line values after comments"); + + string multiComment = cf.read( "multilineComment" ); + cout << "Value of 'multilineComment' is " << multiComment << endl; + evaluate( multiComment.find("fourth") != string::npos ); + + judge(); + + // Test skipping of commented lines in multiple-line values + + announce("skipping of commented lines in multiple-line values"); + + string multiSkip = cf.read( "multilineSkip" ); + cout << "Value of 'multilineSkip' is " << multiSkip << endl; + evaluate( multiSkip.find("third") == string::npos && + multiSkip.find("fourth") != string::npos ); + + judge(); + + // Test skipping of assignments within comments + + announce("skipping of assignments within comments"); + + int postComment = cf.read( "postComment", 0 ); + cout << "Value of 'postComment' is " << postComment << endl; + evaluate( postComment == 0 ); + + judge(); + + // Test alternative delimiters + + announce("alternative delimiters"); + string cfDelim = cf.getDelimiter(); + + int atDelimiter = cf.read( "atDelimiter", 0 ); + cout << "Value of 'atDelimiter' with '" << cfDelim; + cout << "' delimiter is " << atDelimiter << endl; + evaluate( atDelimiter == 0 ); + + ConfigFile atcf( "test.inp", "@" ); + atDelimiter = atcf.read( "atDelimiter", 0 ); + cout << "Value of 'atDelimiter' with '" << atcf.getDelimiter(); + cout << "' delimiter is " << atDelimiter << endl; + evaluate( atDelimiter == 7 ); + + judge(); + + // Test alternative comment separators + + announce("alternative comment separators"); + string cfComm = cf.getComment(); + + int altComment = cf.read( "! alternateComment", 0 ); + cout << "Value of '! alternateComment' with '" << cfComm; + cout << "' comment separator is " << altComment << endl; + evaluate( altComment == 9 ); + + altComment = cf.read( "alternateComment", 0 ); + cout << "Value of 'alternateComment' with '" << cfComm; + cout << "' comment separator is " << altComment << endl; + evaluate( altComment == 0 ); + + ConfigFile excf( "test.inp", cf.getDelimiter(), "!" ); + altComment = excf.read( "! alternateComment", 0 ); + cout << "Value of '! alternateComment' with '" << excf.getComment(); + cout << "' comment separator is " << altComment << endl; + evaluate( altComment == 0 ); + + altComment = excf.read( "alternateComment", 0 ); + cout << "Value of 'alternateComment' with '" << excf.getComment(); + cout << "' comment separator is " << altComment << endl; + evaluate( altComment == 0 ); + + judge(); + + // Test legality of a space as a delimiter + + announce("legality of a space as a delimiter"); + + int spaceDelimiter = cf.read( "spaceDelimiter", 0 ); + cout << "Value of 'spaceDelimiter' with '" << cfDelim; + cout << "' delimiter is " << spaceDelimiter << endl; + evaluate( spaceDelimiter == 0 ); + + ConfigFile spcf( "test.inp", " " ); + spaceDelimiter = spcf.read( "spaceDelimiter", 0 ); + cout << "Value of 'spaceDelimiter' with '" << spcf.getDelimiter(); + cout << "' delimiter is " << spaceDelimiter << endl; + evaluate( spaceDelimiter == 7 ); + + judge(); + + // Test interaction of assignments with end of file sentry + + announce("interaction of assignments with end of file sentry"); + + string endStr = cf.read( "end" ); + cout << "Value of 'end' with '" << cf.getSentry(); + cout << "' sentry is " << endStr << endl; + evaluate( endStr == "before uncommented sentry" ); + + ConfigFile eofcf( "test.inp", cfDelim, cfComm, "" ); + endStr = eofcf.read( "end" ); + cout << "Value of 'end' with '" << eofcf.getSentry(); + cout << "' sentry is " << endStr << endl; + evaluate( endStr == "before EOF" ); + judge(); + + // Report results + + } catch( ConfigFile::file_not_found& e ) { + cout << "Error - File '" << e.filename << "' not found."; + cout << endl << endl; + ++errors; + } catch( ConfigFile::key_not_found& e ) { + cout << "Error - Key '" << e.key << "' not found."; + cout << endl << endl; + ++errors; + } + + if( errors > 0 ) + { + cout << "Failed " << errors << " tests of ConfigFile.\n"; + cout << "Please send a copy of this output to wagnerr@umich.edu.\n"; + return 1; + } + + cout << "Passed all tests of ConfigFile." << endl; + + return 0; +} diff --git a/ARMFCaptureD3D/Debug/ARAnalyse.obj b/ARMFCaptureD3D/Debug/ARAnalyse.obj new file mode 100644 index 0000000..0982aec Binary files /dev/null and b/ARMFCaptureD3D/Debug/ARAnalyse.obj differ diff --git a/ARMFCaptureD3D/Debug/ARMFCaptureD3D.Build.CppClean.log b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.Build.CppClean.log new file mode 100644 index 0000000..c4bddcb --- /dev/null +++ b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.Build.CppClean.log @@ -0,0 +1,125 @@ +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\DEBUG\ARMFCAPTURED3D.EXE +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\DEBUG\ARMFCAPTURED3D.EXE.EMBED.MANIFEST +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\DEBUG\ARMFCAPTURED3D.EXE.EMBED.MANIFEST.RES +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\DEBUG\ARMFCAPTURED3D.EXE.INTERMEDIATE.MANIFEST +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\ARMFCaptureD3D.exp +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\DEBUG\ARMFCAPTURED3D.ILK +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\ARMFCaptureD3D.lib +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\DEBUG\ARMFCAPTURED3D.PDB +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\DEBUG\ARMFCAPTURED3D.RES +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\ARMFCaptureD3D.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\ARMFCaptureD3D_manifest.rc +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\ARToolKitPlus.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\ARToolKitPlus.ilk +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\ARToolKitPlus.pdb +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\cl.command.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\CL.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\CL.write.1.tlog +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\DEBUG\DEBUG.OBJ +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\DEBUG\DEVICE.OBJ +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\Ivy.bsc +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\Ivy.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\Ivy.ilk +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\Ivy.pdb +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.2676.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.2676.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.2676-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.2676-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.2732.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.2732.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.2732-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.2732-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.4152.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.4152.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.4152-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.4152-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.4424.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.4424.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.4424-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.4424-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.4640.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.4640.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.4640-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.4640-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.5748.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.5748.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.5748-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.5748-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.5988.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.5988.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.5988-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.5988-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.6080.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.6080.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.6080-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.6080-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.6364.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.6364.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.6364-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.6364-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7352.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7352.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7352-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7352-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7488.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7488.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7488-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7488-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7652.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7652.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7652-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7652-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7936.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7936.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7936-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.7936-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8000.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8000.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8000-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8000-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8088.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8088.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8088-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8088-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8220.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8220.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8220-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8220-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8536.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8536.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8536-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8536-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8612.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8612.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8612-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8612-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8732.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8732.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8732-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8732-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8940.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.8940.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.9004.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.9004.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.9004-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.9004-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.command.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\link-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\mt.command.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\mt.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\mt.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\pcre.bsc +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\pcre.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\pcre.ilk +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\pcre.pdb +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\DEBUG\PREVIEW.OBJ +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\rc.command.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\rc.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\rc.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\ResolveAssemblyReference.cache +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Debug\vc100.idb +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\DEBUG\VC100.PDB +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\DEBUG\WINMAIN.OBJ diff --git a/ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe new file mode 100644 index 0000000..fcaa306 Binary files /dev/null and b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe differ diff --git a/ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe.embed.manifest b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe.embed.manifest new file mode 100644 index 0000000..9032d50 --- /dev/null +++ b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe.embed.manifest @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe.embed.manifest.res b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe.embed.manifest.res new file mode 100644 index 0000000..b6fdff3 Binary files /dev/null and b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe.embed.manifest.res differ diff --git a/ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe.intermediate.manifest b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe.intermediate.manifest new file mode 100644 index 0000000..43cc1f5 --- /dev/null +++ b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.exe.intermediate.manifest @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/ARMFCaptureD3D/Debug/ARMFCaptureD3D.ilk b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.ilk new file mode 100644 index 0000000..ef54be2 Binary files /dev/null and b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.ilk differ diff --git a/ARMFCaptureD3D/Debug/ARMFCaptureD3D.lastbuildstate b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.lastbuildstate new file mode 100644 index 0000000..6b5532a --- /dev/null +++ b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100 +Debug|Win32|C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\| diff --git a/ARMFCaptureD3D/Debug/ARMFCaptureD3D.pdb b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.pdb new file mode 100644 index 0000000..c5d4f85 Binary files /dev/null and b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.pdb differ diff --git a/ARMFCaptureD3D/Debug/ARMFCaptureD3D.res b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.res new file mode 100644 index 0000000..0740831 Binary files /dev/null and b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.res differ diff --git a/ARMFCaptureD3D/Debug/ARMFCaptureD3D.write.1.tlog b/ARMFCaptureD3D/Debug/ARMFCaptureD3D.write.1.tlog new file mode 100644 index 0000000..e69de29 diff --git a/ARMFCaptureD3D/Debug/ARMFCaptureD3D_manifest.rc b/ARMFCaptureD3D/Debug/ARMFCaptureD3D_manifest.rc new file mode 100644 index 0000000..51101ba Binary files /dev/null and b/ARMFCaptureD3D/Debug/ARMFCaptureD3D_manifest.rc differ diff --git a/ARMFCaptureD3D/Debug/ARToolKitPlus.dll b/ARMFCaptureD3D/Debug/ARToolKitPlus.dll new file mode 100644 index 0000000..96f283d Binary files /dev/null and b/ARMFCaptureD3D/Debug/ARToolKitPlus.dll differ diff --git a/ARMFCaptureD3D/Debug/ARToolKitPlus.exp b/ARMFCaptureD3D/Debug/ARToolKitPlus.exp new file mode 100644 index 0000000..6a57b20 Binary files /dev/null and b/ARMFCaptureD3D/Debug/ARToolKitPlus.exp differ diff --git a/ARMFCaptureD3D/Debug/ARToolKitPlus.ilk b/ARMFCaptureD3D/Debug/ARToolKitPlus.ilk new file mode 100644 index 0000000..23dbc7b Binary files /dev/null and b/ARMFCaptureD3D/Debug/ARToolKitPlus.ilk differ diff --git a/ARMFCaptureD3D/Debug/ARToolKitPlus.lib b/ARMFCaptureD3D/Debug/ARToolKitPlus.lib new file mode 100644 index 0000000..a272d57 Binary files /dev/null and b/ARMFCaptureD3D/Debug/ARToolKitPlus.lib differ diff --git a/ARMFCaptureD3D/Debug/ARToolKitPlus.pdb b/ARMFCaptureD3D/Debug/ARToolKitPlus.pdb new file mode 100644 index 0000000..2b68ee5 Binary files /dev/null and b/ARMFCaptureD3D/Debug/ARToolKitPlus.pdb differ diff --git a/ARMFCaptureD3D/Debug/CL.read.1.tlog b/ARMFCaptureD3D/Debug/CL.read.1.tlog new file mode 100644 index 0000000..33a8a23 Binary files /dev/null and b/ARMFCaptureD3D/Debug/CL.read.1.tlog differ diff --git a/ARMFCaptureD3D/Debug/CL.write.1.tlog b/ARMFCaptureD3D/Debug/CL.write.1.tlog new file mode 100644 index 0000000..4f41f9b Binary files /dev/null and b/ARMFCaptureD3D/Debug/CL.write.1.tlog differ diff --git a/ARMFCaptureD3D/Debug/Calibration.obj b/ARMFCaptureD3D/Debug/Calibration.obj new file mode 100644 index 0000000..748120f Binary files /dev/null and b/ARMFCaptureD3D/Debug/Calibration.obj differ diff --git a/ARMFCaptureD3D/Debug/ConfigFile.obj b/ARMFCaptureD3D/Debug/ConfigFile.obj new file mode 100644 index 0000000..7d5bc33 Binary files /dev/null and b/ARMFCaptureD3D/Debug/ConfigFile.obj differ diff --git a/ARMFCaptureD3D/Debug/Ivy.bsc b/ARMFCaptureD3D/Debug/Ivy.bsc new file mode 100644 index 0000000..543d5d0 Binary files /dev/null and b/ARMFCaptureD3D/Debug/Ivy.bsc differ diff --git a/ARMFCaptureD3D/Debug/Ivy.dll b/ARMFCaptureD3D/Debug/Ivy.dll new file mode 100644 index 0000000..abfadcc Binary files /dev/null and b/ARMFCaptureD3D/Debug/Ivy.dll differ diff --git a/ARMFCaptureD3D/Debug/Ivy.exp b/ARMFCaptureD3D/Debug/Ivy.exp new file mode 100644 index 0000000..277d80c Binary files /dev/null and b/ARMFCaptureD3D/Debug/Ivy.exp differ diff --git a/ARMFCaptureD3D/Debug/Ivy.ilk b/ARMFCaptureD3D/Debug/Ivy.ilk new file mode 100644 index 0000000..eda3fe1 Binary files /dev/null and b/ARMFCaptureD3D/Debug/Ivy.ilk differ diff --git a/ARMFCaptureD3D/Debug/Ivy.lib b/ARMFCaptureD3D/Debug/Ivy.lib new file mode 100644 index 0000000..39df773 Binary files /dev/null and b/ARMFCaptureD3D/Debug/Ivy.lib differ diff --git a/ARMFCaptureD3D/Debug/Ivy.pdb b/ARMFCaptureD3D/Debug/Ivy.pdb new file mode 100644 index 0000000..3825a7d Binary files /dev/null and b/ARMFCaptureD3D/Debug/Ivy.pdb differ diff --git a/ARMFCaptureD3D/Debug/MFCaptureD3D.exe b/ARMFCaptureD3D/Debug/MFCaptureD3D.exe new file mode 100644 index 0000000..5aa45b8 Binary files /dev/null and b/ARMFCaptureD3D/Debug/MFCaptureD3D.exe differ diff --git a/ARMFCaptureD3D/Debug/MFCaptureD3D.lastbuildstate b/ARMFCaptureD3D/Debug/MFCaptureD3D.lastbuildstate new file mode 100644 index 0000000..6b5532a --- /dev/null +++ b/ARMFCaptureD3D/Debug/MFCaptureD3D.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100 +Debug|Win32|C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\| diff --git a/ARMFCaptureD3D/Debug/MFCaptureD3D.lib b/ARMFCaptureD3D/Debug/MFCaptureD3D.lib new file mode 100644 index 0000000..f1c9b3f Binary files /dev/null and b/ARMFCaptureD3D/Debug/MFCaptureD3D.lib differ diff --git a/ARMFCaptureD3D/Debug/MFCaptureD3D.log b/ARMFCaptureD3D/Debug/MFCaptureD3D.log new file mode 100644 index 0000000..ce28349 --- /dev/null +++ b/ARMFCaptureD3D/Debug/MFCaptureD3D.log @@ -0,0 +1,59 @@ +La gĂ©nĂ©ration a dĂ©marrĂ© 12/08/2011 10:17:50. + 1>Projet "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj" sur le nĹ“ud 2 (build cible(s)). + 1>InitializeBuildStatus: + CrĂ©ation de "Debug\MFCaptureD3D.unsuccessfulbuild", car "AlwaysCreate" a Ă©tĂ© spĂ©cifiĂ©. + ClCompile: + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /ZI /nologo /W4 /WX /Od /Oy- /D WIN32 /D _DEBUG /D _WINDOWS /D _UNICODE /D UNICODE /Gm /EHsc /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt device.cpp preview.cpp winmain.cpp + winmain.cpp + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdio(48): error C2220: avertissement considĂ©rĂ© comme une erreur - aucun fichier 'object' gĂ©nĂ©rĂ© + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstring(21): warning C4995: 'strcat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstring(22): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(30): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(31): warning C4995: 'vswprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(33): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(35): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(757): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(766): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(775): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\intrin.h(1087): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\intrin.h(1089): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\users\fcolin\documents\projects visual studio\cpp\armfcaptured3d\options.h(196): warning C4512: 'OptIstreamIter' : l'opĂ©rateur d'assignation n'a pas pu ĂŞtre gĂ©nĂ©rĂ© + c:\users\fcolin\documents\projects visual studio\cpp\armfcaptured3d\options.h(172) : voir la dĂ©claration de 'OptIstreamIter' + 1>c:\users\fcolin\documents\projects visual studio\cpp\armfcaptured3d\aranalyse.h(7): fatal error C1083: Impossible d'ouvrir le fichier include : 'ARToolKitPlus/TrackerMultiMarker.h' : No such file or directory + preview.cpp + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdio(48): error C2220: avertissement considĂ©rĂ© comme une erreur - aucun fichier 'object' gĂ©nĂ©rĂ© + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstring(21): warning C4995: 'strcat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstring(22): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(30): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(31): warning C4995: 'vswprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(33): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(35): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\intrin.h(1087): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\intrin.h(1089): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\users\fcolin\documents\projects visual studio\cpp\armfcaptured3d\aranalyse.h(7): fatal error C1083: Impossible d'ouvrir le fichier include : 'ARToolKitPlus/TrackerMultiMarker.h' : No such file or directory + device.cpp + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdio(48): error C2220: avertissement considĂ©rĂ© comme une erreur - aucun fichier 'object' gĂ©nĂ©rĂ© + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstring(21): warning C4995: 'strcat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstring(22): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(30): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(31): warning C4995: 'vswprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(33): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(35): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\intrin.h(1087): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\intrin.h(1089): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\users\fcolin\documents\projects visual studio\cpp\armfcaptured3d\aranalyse.h(7): fatal error C1083: Impossible d'ouvrir le fichier include : 'ARToolKitPlus/TrackerMultiMarker.h' : No such file or directory + GĂ©nĂ©ration de code en cours... + 1>GĂ©nĂ©ration du projet "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj" terminĂ©e (build cible(s)) -- ÉCHEC. + +ÉCHEC de la build. + +Temps Ă©coulĂ© 00:00:04.55 diff --git a/ARMFCaptureD3D/Debug/MFCaptureD3D.unsuccessfulbuild b/ARMFCaptureD3D/Debug/MFCaptureD3D.unsuccessfulbuild new file mode 100644 index 0000000..e69de29 diff --git a/ARMFCaptureD3D/Debug/ResolveAssemblyReference.cache b/ARMFCaptureD3D/Debug/ResolveAssemblyReference.cache new file mode 100644 index 0000000..7b6cf29 Binary files /dev/null and b/ARMFCaptureD3D/Debug/ResolveAssemblyReference.cache differ diff --git a/ARMFCaptureD3D/Debug/cl.command.1.tlog b/ARMFCaptureD3D/Debug/cl.command.1.tlog new file mode 100644 index 0000000..c5f57e6 Binary files /dev/null and b/ARMFCaptureD3D/Debug/cl.command.1.tlog differ diff --git a/ARMFCaptureD3D/Debug/debug.obj b/ARMFCaptureD3D/Debug/debug.obj new file mode 100644 index 0000000..50898f8 Binary files /dev/null and b/ARMFCaptureD3D/Debug/debug.obj differ diff --git a/ARMFCaptureD3D/Debug/link-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.1424-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.1424-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.1424-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.1424-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.1424-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.1424-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.1424.read.1.tlog b/ARMFCaptureD3D/Debug/link.1424.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.1424.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.1424.write.1.tlog b/ARMFCaptureD3D/Debug/link.1424.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.1424.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2360-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.2360-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2360-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2360-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.2360-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2360-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2360.read.1.tlog b/ARMFCaptureD3D/Debug/link.2360.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2360.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2360.write.1.tlog b/ARMFCaptureD3D/Debug/link.2360.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2360.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2364-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.2364-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2364-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2364-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.2364-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2364-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2364.read.1.tlog b/ARMFCaptureD3D/Debug/link.2364.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2364.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2364.write.1.tlog b/ARMFCaptureD3D/Debug/link.2364.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2364.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2468-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.2468-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2468-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2468-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.2468-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2468-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2468.read.1.tlog b/ARMFCaptureD3D/Debug/link.2468.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2468.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2468.write.1.tlog b/ARMFCaptureD3D/Debug/link.2468.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2468.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2948-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.2948-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2948-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2948-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.2948-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2948-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2948.read.1.tlog b/ARMFCaptureD3D/Debug/link.2948.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2948.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.2948.write.1.tlog b/ARMFCaptureD3D/Debug/link.2948.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.2948.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3132-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.3132-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3132-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3132-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.3132-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3132-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3132.read.1.tlog b/ARMFCaptureD3D/Debug/link.3132.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3132.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3132.write.1.tlog b/ARMFCaptureD3D/Debug/link.3132.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3132.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3244-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.3244-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3244-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3244-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.3244-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3244-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3244.read.1.tlog b/ARMFCaptureD3D/Debug/link.3244.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3244.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3244.write.1.tlog b/ARMFCaptureD3D/Debug/link.3244.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3244.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3672-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.3672-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3672-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3672-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.3672-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3672-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3672.read.1.tlog b/ARMFCaptureD3D/Debug/link.3672.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3672.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3672.write.1.tlog b/ARMFCaptureD3D/Debug/link.3672.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3672.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3720-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.3720-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3720-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3720-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.3720-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3720-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3720.read.1.tlog b/ARMFCaptureD3D/Debug/link.3720.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3720.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3720.write.1.tlog b/ARMFCaptureD3D/Debug/link.3720.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3720.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3844-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.3844-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3844-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3844-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.3844-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3844-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3844.read.1.tlog b/ARMFCaptureD3D/Debug/link.3844.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3844.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.3844.write.1.tlog b/ARMFCaptureD3D/Debug/link.3844.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.3844.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4036-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.4036-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4036-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4036-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.4036-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4036-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4036.read.1.tlog b/ARMFCaptureD3D/Debug/link.4036.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4036.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4036.write.1.tlog b/ARMFCaptureD3D/Debug/link.4036.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4036.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4200-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.4200-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4200-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4200-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.4200-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4200-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4200.read.1.tlog b/ARMFCaptureD3D/Debug/link.4200.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4200.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4200.write.1.tlog b/ARMFCaptureD3D/Debug/link.4200.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4200.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4460-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.4460-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4460-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4460-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.4460-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4460-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4460.read.1.tlog b/ARMFCaptureD3D/Debug/link.4460.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4460.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4460.write.1.tlog b/ARMFCaptureD3D/Debug/link.4460.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4460.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4716-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.4716-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4716-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4716-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.4716-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4716-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4716.read.1.tlog b/ARMFCaptureD3D/Debug/link.4716.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4716.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4716.write.1.tlog b/ARMFCaptureD3D/Debug/link.4716.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4716.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4948-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.4948-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4948-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4948-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.4948-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4948-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4948.read.1.tlog b/ARMFCaptureD3D/Debug/link.4948.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4948.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.4948.write.1.tlog b/ARMFCaptureD3D/Debug/link.4948.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.4948.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5368-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.5368-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5368-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5368-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.5368-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5368-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5368.read.1.tlog b/ARMFCaptureD3D/Debug/link.5368.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5368.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5368.write.1.tlog b/ARMFCaptureD3D/Debug/link.5368.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5368.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5624-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.5624-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5624-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5624-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.5624-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5624-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5624.read.1.tlog b/ARMFCaptureD3D/Debug/link.5624.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5624.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5624.write.1.tlog b/ARMFCaptureD3D/Debug/link.5624.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5624.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5656-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.5656-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5656-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5656-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.5656-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5656-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5656.read.1.tlog b/ARMFCaptureD3D/Debug/link.5656.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5656.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5656.write.1.tlog b/ARMFCaptureD3D/Debug/link.5656.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5656.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5752-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.5752-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5752-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5752-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.5752-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5752-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5752.read.1.tlog b/ARMFCaptureD3D/Debug/link.5752.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5752.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5752.write.1.tlog b/ARMFCaptureD3D/Debug/link.5752.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5752.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5868-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.5868-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5868-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5868-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.5868-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5868-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5868.read.1.tlog b/ARMFCaptureD3D/Debug/link.5868.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5868.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.5868.write.1.tlog b/ARMFCaptureD3D/Debug/link.5868.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.5868.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6132-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.6132-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6132-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6132-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.6132-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6132-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6132.read.1.tlog b/ARMFCaptureD3D/Debug/link.6132.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6132.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6132.write.1.tlog b/ARMFCaptureD3D/Debug/link.6132.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6132.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6264-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.6264-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6264-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6264-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.6264-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6264-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6264.read.1.tlog b/ARMFCaptureD3D/Debug/link.6264.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6264.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6264.write.1.tlog b/ARMFCaptureD3D/Debug/link.6264.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6264.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6468-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.6468-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6468-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6468-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.6468-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6468-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6468.read.1.tlog b/ARMFCaptureD3D/Debug/link.6468.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6468.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6468.write.1.tlog b/ARMFCaptureD3D/Debug/link.6468.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6468.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6716-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.6716-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6716-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6716-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.6716-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6716-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6716.read.1.tlog b/ARMFCaptureD3D/Debug/link.6716.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6716.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6716.write.1.tlog b/ARMFCaptureD3D/Debug/link.6716.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6716.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6724-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.6724-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6724-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6724-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.6724-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6724-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6724.read.1.tlog b/ARMFCaptureD3D/Debug/link.6724.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6724.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6724.write.1.tlog b/ARMFCaptureD3D/Debug/link.6724.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6724.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6772-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.6772-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6772-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6772-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.6772-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6772-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6772.read.1.tlog b/ARMFCaptureD3D/Debug/link.6772.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6772.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6772.write.1.tlog b/ARMFCaptureD3D/Debug/link.6772.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6772.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6844-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.6844-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6844-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6844-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.6844-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6844-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6844.read.1.tlog b/ARMFCaptureD3D/Debug/link.6844.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6844.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6844.write.1.tlog b/ARMFCaptureD3D/Debug/link.6844.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6844.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6928-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.6928-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6928-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6928-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.6928-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6928-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6928.read.1.tlog b/ARMFCaptureD3D/Debug/link.6928.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6928.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6928.write.1.tlog b/ARMFCaptureD3D/Debug/link.6928.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6928.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6968-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.6968-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6968-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6968-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.6968-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6968-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6968.read.1.tlog b/ARMFCaptureD3D/Debug/link.6968.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6968.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6968.write.1.tlog b/ARMFCaptureD3D/Debug/link.6968.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6968.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6996-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.6996-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6996-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6996-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.6996-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6996-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6996.read.1.tlog b/ARMFCaptureD3D/Debug/link.6996.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6996.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.6996.write.1.tlog b/ARMFCaptureD3D/Debug/link.6996.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.6996.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7096-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.7096-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7096-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7096-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.7096-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7096-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7096.read.1.tlog b/ARMFCaptureD3D/Debug/link.7096.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7096.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7096.write.1.tlog b/ARMFCaptureD3D/Debug/link.7096.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7096.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7232-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.7232-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7232-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7232-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.7232-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7232-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7232.read.1.tlog b/ARMFCaptureD3D/Debug/link.7232.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7232.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7232.write.1.tlog b/ARMFCaptureD3D/Debug/link.7232.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7232.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7240-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.7240-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7240-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7240-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.7240-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7240-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7240.read.1.tlog b/ARMFCaptureD3D/Debug/link.7240.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7240.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7240.write.1.tlog b/ARMFCaptureD3D/Debug/link.7240.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7240.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7416-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.7416-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7416-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7416-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.7416-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7416-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7416.read.1.tlog b/ARMFCaptureD3D/Debug/link.7416.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7416.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7416.write.1.tlog b/ARMFCaptureD3D/Debug/link.7416.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7416.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7960-cvtres.read.1.tlog b/ARMFCaptureD3D/Debug/link.7960-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7960-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7960-cvtres.write.1.tlog b/ARMFCaptureD3D/Debug/link.7960-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7960-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7960.read.1.tlog b/ARMFCaptureD3D/Debug/link.7960.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7960.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.7960.write.1.tlog b/ARMFCaptureD3D/Debug/link.7960.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Debug/link.7960.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Debug/link.command.1.tlog b/ARMFCaptureD3D/Debug/link.command.1.tlog new file mode 100644 index 0000000..274a53c Binary files /dev/null and b/ARMFCaptureD3D/Debug/link.command.1.tlog differ diff --git a/ARMFCaptureD3D/Debug/link.read.1.tlog b/ARMFCaptureD3D/Debug/link.read.1.tlog new file mode 100644 index 0000000..c0d2402 Binary files /dev/null and b/ARMFCaptureD3D/Debug/link.read.1.tlog differ diff --git a/ARMFCaptureD3D/Debug/link.write.1.tlog b/ARMFCaptureD3D/Debug/link.write.1.tlog new file mode 100644 index 0000000..9e8a237 Binary files /dev/null and b/ARMFCaptureD3D/Debug/link.write.1.tlog differ diff --git a/ARMFCaptureD3D/Debug/mt.command.1.tlog b/ARMFCaptureD3D/Debug/mt.command.1.tlog new file mode 100644 index 0000000..4db1601 Binary files /dev/null and b/ARMFCaptureD3D/Debug/mt.command.1.tlog differ diff --git a/ARMFCaptureD3D/Debug/mt.read.1.tlog b/ARMFCaptureD3D/Debug/mt.read.1.tlog new file mode 100644 index 0000000..b47fe1c Binary files /dev/null and b/ARMFCaptureD3D/Debug/mt.read.1.tlog differ diff --git a/ARMFCaptureD3D/Debug/mt.write.1.tlog b/ARMFCaptureD3D/Debug/mt.write.1.tlog new file mode 100644 index 0000000..d480324 Binary files /dev/null and b/ARMFCaptureD3D/Debug/mt.write.1.tlog differ diff --git a/ARMFCaptureD3D/Debug/options.obj b/ARMFCaptureD3D/Debug/options.obj new file mode 100644 index 0000000..3326781 Binary files /dev/null and b/ARMFCaptureD3D/Debug/options.obj differ diff --git a/ARMFCaptureD3D/Debug/pcre.bsc b/ARMFCaptureD3D/Debug/pcre.bsc new file mode 100644 index 0000000..4e253ae Binary files /dev/null and b/ARMFCaptureD3D/Debug/pcre.bsc differ diff --git a/ARMFCaptureD3D/Debug/pcre.dll b/ARMFCaptureD3D/Debug/pcre.dll new file mode 100644 index 0000000..d999c76 Binary files /dev/null and b/ARMFCaptureD3D/Debug/pcre.dll differ diff --git a/ARMFCaptureD3D/Debug/pcre.exp b/ARMFCaptureD3D/Debug/pcre.exp new file mode 100644 index 0000000..ed22aa8 Binary files /dev/null and b/ARMFCaptureD3D/Debug/pcre.exp differ diff --git a/ARMFCaptureD3D/Debug/pcre.ilk b/ARMFCaptureD3D/Debug/pcre.ilk new file mode 100644 index 0000000..ceba57f Binary files /dev/null and b/ARMFCaptureD3D/Debug/pcre.ilk differ diff --git a/ARMFCaptureD3D/Debug/pcre.lib b/ARMFCaptureD3D/Debug/pcre.lib new file mode 100644 index 0000000..486e22f Binary files /dev/null and b/ARMFCaptureD3D/Debug/pcre.lib differ diff --git a/ARMFCaptureD3D/Debug/pcre.pdb b/ARMFCaptureD3D/Debug/pcre.pdb new file mode 100644 index 0000000..37867b3 Binary files /dev/null and b/ARMFCaptureD3D/Debug/pcre.pdb differ diff --git a/ARMFCaptureD3D/Debug/rc.command.1.tlog b/ARMFCaptureD3D/Debug/rc.command.1.tlog new file mode 100644 index 0000000..62ed914 Binary files /dev/null and b/ARMFCaptureD3D/Debug/rc.command.1.tlog differ diff --git a/ARMFCaptureD3D/Debug/rc.read.1.tlog b/ARMFCaptureD3D/Debug/rc.read.1.tlog new file mode 100644 index 0000000..c8c9c4c Binary files /dev/null and b/ARMFCaptureD3D/Debug/rc.read.1.tlog differ diff --git a/ARMFCaptureD3D/Debug/rc.write.1.tlog b/ARMFCaptureD3D/Debug/rc.write.1.tlog new file mode 100644 index 0000000..bc88c4d Binary files /dev/null and b/ARMFCaptureD3D/Debug/rc.write.1.tlog differ diff --git a/ARMFCaptureD3D/Debug/sgetopt.obj b/ARMFCaptureD3D/Debug/sgetopt.obj new file mode 100644 index 0000000..6442835 Binary files /dev/null and b/ARMFCaptureD3D/Debug/sgetopt.obj differ diff --git a/ARMFCaptureD3D/Debug/vc100.idb b/ARMFCaptureD3D/Debug/vc100.idb new file mode 100644 index 0000000..d76768d Binary files /dev/null and b/ARMFCaptureD3D/Debug/vc100.idb differ diff --git a/ARMFCaptureD3D/Debug/vc100.pdb b/ARMFCaptureD3D/Debug/vc100.pdb new file mode 100644 index 0000000..cfc13ba Binary files /dev/null and b/ARMFCaptureD3D/Debug/vc100.pdb differ diff --git a/ARMFCaptureD3D/MFCaptureD3D.aps b/ARMFCaptureD3D/MFCaptureD3D.aps new file mode 100644 index 0000000..729df1b Binary files /dev/null and b/ARMFCaptureD3D/MFCaptureD3D.aps differ diff --git a/ARMFCaptureD3D/MFCaptureD3D.sdf b/ARMFCaptureD3D/MFCaptureD3D.sdf new file mode 100644 index 0000000..b955825 Binary files /dev/null and b/ARMFCaptureD3D/MFCaptureD3D.sdf differ diff --git a/ARMFCaptureD3D/MFCaptureD3D.vcproj b/ARMFCaptureD3D/MFCaptureD3D.vcproj new file mode 100644 index 0000000..443d66c --- /dev/null +++ b/ARMFCaptureD3D/MFCaptureD3D.vcproj @@ -0,0 +1,393 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ARMFCaptureD3D/MFCaptureD3D.vcxproj b/ARMFCaptureD3D/MFCaptureD3D.vcxproj new file mode 100644 index 0000000..a6bed4a --- /dev/null +++ b/ARMFCaptureD3D/MFCaptureD3D.vcxproj @@ -0,0 +1,219 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {42CC2BCD-AAD2-4C3C-87BB-0B42F2848E17} + MFCaptureD3D + Win32Proj + ARMFCaptureD3D + + + + Application + Unicode + true + + + Application + Unicode + + + Application + Unicode + true + + + Application + Unicode + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + true + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + + + + Disabled + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + + + Level4 + true + EditAndContinue + + + mfplat.lib;mf.lib;mfreadwrite.lib;mfuuid.lib;d3d9.lib;shlwapi.lib;%(AdditionalDependencies) + true + Windows + false + + + MachineX86 + + + + + X64 + + + Disabled + WIN32;_DEBUG;_WINDOWS;DX9;_USE_DOUBLE_;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + + + Level4 + false + ProgramDatabase + C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARToolKitPlus-2.2.1\include;C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\Bus\Ivy;%(AdditionalIncludeDirectories) + + + Comctl32.lib;mfplat.lib;mf.lib;mfreadwrite.lib;mfuuid.lib;d3d9.lib;shlwapi.lib;%(AdditionalDependencies) + true + Windows + false + + + MachineX64 + + + + + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level4 + true + ProgramDatabase + + + mfplat.lib;mf.lib;mfreadwrite.lib;mfuuid.lib;d3d9.lib;shlwapi.lib;%(AdditionalDependencies) + true + Windows + true + true + false + + + MachineX86 + + + + + X64 + + + WIN32;NDEBUG;_WINDOWS;DX9;_USE_DOUBLE_;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level4 + false + ProgramDatabase + C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARToolKitPlus-2.2.1\include;C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\Bus\Ivy;%(AdditionalIncludeDirectories) + + + Comctl32.lib;mfplat.lib;mf.lib;mfreadwrite.lib;mfuuid.lib;d3d9.lib;shlwapi.lib;%(AdditionalDependencies) + true + Windows + true + true + false + + + MachineX64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {d79fc143-498e-4342-b2c7-bdad1b8d0e6b} + + + {ccf160af-4f7e-8012-1926-ac4c742cc14f} + + + {9818d652-cc05-463e-880d-afca2c7bfabe} + + + + + + \ No newline at end of file diff --git a/ARMFCaptureD3D/MFCaptureD3D.vcxproj.filters b/ARMFCaptureD3D/MFCaptureD3D.vcxproj.filters new file mode 100644 index 0000000..568a0f9 --- /dev/null +++ b/ARMFCaptureD3D/MFCaptureD3D.vcxproj.filters @@ -0,0 +1,89 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + + + + Resource Files + + + \ No newline at end of file diff --git a/ARMFCaptureD3D/MFCaptureD3D.vcxproj.user b/ARMFCaptureD3D/MFCaptureD3D.vcxproj.user new file mode 100644 index 0000000..21b5a83 --- /dev/null +++ b/ARMFCaptureD3D/MFCaptureD3D.vcxproj.user @@ -0,0 +1,19 @@ + + + + -cam Logitech -f 24 + WindowsLocalDebugger + + + -f 24 + WindowsLocalDebugger + + + -cam C910 -i 1 -f 24 + WindowsLocalDebugger + + + -cam Logitech -f 24 + WindowsLocalDebugger + + \ No newline at end of file diff --git a/ARMFCaptureD3D/MinMaxAvg.cpp b/ARMFCaptureD3D/MinMaxAvg.cpp new file mode 100644 index 0000000..2cd21b0 --- /dev/null +++ b/ARMFCaptureD3D/MinMaxAvg.cpp @@ -0,0 +1,31 @@ +#include +#include "MinMaxAvg.h" + + +MinMaxAvg::MinMaxAvg(void) +{ + Raz(); +} + + +MinMaxAvg::~MinMaxAvg(void) +{ +} +void MinMaxAvg::Raz() +{ + min = FLT_MAX; + max = FLT_MIN; + sum = 0; + count = 0; +} +void MinMaxAvg::SetValue( float value ) +{ + if ( value > max ) max = value; + else if ( value < min ) min = value; + sum += value; + count++; +} +float MinMaxAvg::Avg() +{ + return sum / count; +} \ No newline at end of file diff --git a/ARMFCaptureD3D/MinMaxAvg.h b/ARMFCaptureD3D/MinMaxAvg.h new file mode 100644 index 0000000..9413ebc --- /dev/null +++ b/ARMFCaptureD3D/MinMaxAvg.h @@ -0,0 +1,18 @@ +#pragma once +class MinMaxAvg +{ +protected: + float min; + float max; + float sum; + int count; +public: + MinMaxAvg(void); + ~MinMaxAvg(void); + void Raz(); + void SetValue( float value ); + float Min() { return min; }; + float Max() { return max; }; + float Avg(); +}; + diff --git a/ARMFCaptureD3D/Release/ARMFCaptureD3D.exe b/ARMFCaptureD3D/Release/ARMFCaptureD3D.exe new file mode 100644 index 0000000..79f5536 Binary files /dev/null and b/ARMFCaptureD3D/Release/ARMFCaptureD3D.exe differ diff --git a/ARMFCaptureD3D/Release/ARMFCaptureD3D.exe.intermediate.manifest b/ARMFCaptureD3D/Release/ARMFCaptureD3D.exe.intermediate.manifest new file mode 100644 index 0000000..43cc1f5 --- /dev/null +++ b/ARMFCaptureD3D/Release/ARMFCaptureD3D.exe.intermediate.manifest @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/ARMFCaptureD3D/Release/ARMFCaptureD3D.exp b/ARMFCaptureD3D/Release/ARMFCaptureD3D.exp new file mode 100644 index 0000000..407bfde Binary files /dev/null and b/ARMFCaptureD3D/Release/ARMFCaptureD3D.exp differ diff --git a/ARMFCaptureD3D/Release/ARMFCaptureD3D.lastbuildstate b/ARMFCaptureD3D/Release/ARMFCaptureD3D.lastbuildstate new file mode 100644 index 0000000..28d3bd1 --- /dev/null +++ b/ARMFCaptureD3D/Release/ARMFCaptureD3D.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100 +Release|Win32|C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\| diff --git a/ARMFCaptureD3D/Release/ARMFCaptureD3D.lib b/ARMFCaptureD3D/Release/ARMFCaptureD3D.lib new file mode 100644 index 0000000..3c23379 Binary files /dev/null and b/ARMFCaptureD3D/Release/ARMFCaptureD3D.lib differ diff --git a/ARMFCaptureD3D/Release/ARMFCaptureD3D.pdb b/ARMFCaptureD3D/Release/ARMFCaptureD3D.pdb new file mode 100644 index 0000000..71d1c8f Binary files /dev/null and b/ARMFCaptureD3D/Release/ARMFCaptureD3D.pdb differ diff --git a/ARMFCaptureD3D/Release/ARMFCaptureD3D.res b/ARMFCaptureD3D/Release/ARMFCaptureD3D.res new file mode 100644 index 0000000..0740831 Binary files /dev/null and b/ARMFCaptureD3D/Release/ARMFCaptureD3D.res differ diff --git a/ARMFCaptureD3D/Release/ARMFCaptureD3D.write.1.tlog b/ARMFCaptureD3D/Release/ARMFCaptureD3D.write.1.tlog new file mode 100644 index 0000000..dce58b3 --- /dev/null +++ b/ARMFCaptureD3D/Release/ARMFCaptureD3D.write.1.tlog @@ -0,0 +1,15 @@ +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Release\ARMFCaptureD3D.exp diff --git a/ARMFCaptureD3D/Release/ARToolKitPlus.dll b/ARMFCaptureD3D/Release/ARToolKitPlus.dll new file mode 100644 index 0000000..cd21182 Binary files /dev/null and b/ARMFCaptureD3D/Release/ARToolKitPlus.dll differ diff --git a/ARMFCaptureD3D/Release/ARToolKitPlus.exp b/ARMFCaptureD3D/Release/ARToolKitPlus.exp new file mode 100644 index 0000000..4e213b7 Binary files /dev/null and b/ARMFCaptureD3D/Release/ARToolKitPlus.exp differ diff --git a/ARMFCaptureD3D/Release/ARToolKitPlus.lib b/ARMFCaptureD3D/Release/ARToolKitPlus.lib new file mode 100644 index 0000000..ce78e1a Binary files /dev/null and b/ARMFCaptureD3D/Release/ARToolKitPlus.lib differ diff --git a/ARMFCaptureD3D/Release/CL.read.1.tlog b/ARMFCaptureD3D/Release/CL.read.1.tlog new file mode 100644 index 0000000..08dbaec Binary files /dev/null and b/ARMFCaptureD3D/Release/CL.read.1.tlog differ diff --git a/ARMFCaptureD3D/Release/CL.write.1.tlog b/ARMFCaptureD3D/Release/CL.write.1.tlog new file mode 100644 index 0000000..4489034 Binary files /dev/null and b/ARMFCaptureD3D/Release/CL.write.1.tlog differ diff --git a/ARMFCaptureD3D/Release/Calibration.obj b/ARMFCaptureD3D/Release/Calibration.obj new file mode 100644 index 0000000..7a39050 Binary files /dev/null and b/ARMFCaptureD3D/Release/Calibration.obj differ diff --git a/ARMFCaptureD3D/Release/ConfigFile.obj b/ARMFCaptureD3D/Release/ConfigFile.obj new file mode 100644 index 0000000..0ff4438 Binary files /dev/null and b/ARMFCaptureD3D/Release/ConfigFile.obj differ diff --git a/ARMFCaptureD3D/Release/MFCaptureD3D.log b/ARMFCaptureD3D/Release/MFCaptureD3D.log new file mode 100644 index 0000000..b08c281 --- /dev/null +++ b/ARMFCaptureD3D/Release/MFCaptureD3D.log @@ -0,0 +1,19 @@ +La gĂ©nĂ©ration a dĂ©marrĂ© 05/07/2011 09:47:00. + 1>Projet "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj" sur le nĹ“ud 3 (build cible(s)). + 1>InitializeBuildStatus: + CrĂ©ation de "Release\ARMFCaptureD3D.unsuccessfulbuild", car "AlwaysCreate" a Ă©tĂ© spĂ©cifiĂ©. + ClCompile: + Toutes les sorties sont Ă  jour. + ResourceCompile: + Toutes les sorties sont Ă  jour. + Link: + Toutes les sorties sont Ă  jour. + MFCaptureD3D.vcxproj -> C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\Release\ARMFCaptureD3D.exe + FinalizeBuildStatus: + Suppression du fichier "Release\ARMFCaptureD3D.unsuccessfulbuild". + Mise Ă  jour de l'horodatage "Release\ARMFCaptureD3D.lastbuildstate". + 1>GĂ©nĂ©ration du projet "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj" terminĂ©e (build cible(s)). + +La gĂ©nĂ©ration a rĂ©ussi. + +Temps Ă©coulĂ© 00:00:00.07 diff --git a/ARMFCaptureD3D/Release/cl.command.1.tlog b/ARMFCaptureD3D/Release/cl.command.1.tlog new file mode 100644 index 0000000..f2e48dd Binary files /dev/null and b/ARMFCaptureD3D/Release/cl.command.1.tlog differ diff --git a/ARMFCaptureD3D/Release/debug.obj b/ARMFCaptureD3D/Release/debug.obj new file mode 100644 index 0000000..741871c Binary files /dev/null and b/ARMFCaptureD3D/Release/debug.obj differ diff --git a/ARMFCaptureD3D/Release/device.obj b/ARMFCaptureD3D/Release/device.obj new file mode 100644 index 0000000..5c73b62 Binary files /dev/null and b/ARMFCaptureD3D/Release/device.obj differ diff --git a/ARMFCaptureD3D/Release/link-cvtres.read.1.tlog b/ARMFCaptureD3D/Release/link-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Release/link-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Release/link-cvtres.write.1.tlog b/ARMFCaptureD3D/Release/link-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/Release/link-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/Release/link.command.1.tlog b/ARMFCaptureD3D/Release/link.command.1.tlog new file mode 100644 index 0000000..5e0abda Binary files /dev/null and b/ARMFCaptureD3D/Release/link.command.1.tlog differ diff --git a/ARMFCaptureD3D/Release/link.read.1.tlog b/ARMFCaptureD3D/Release/link.read.1.tlog new file mode 100644 index 0000000..634fefb Binary files /dev/null and b/ARMFCaptureD3D/Release/link.read.1.tlog differ diff --git a/ARMFCaptureD3D/Release/link.write.1.tlog b/ARMFCaptureD3D/Release/link.write.1.tlog new file mode 100644 index 0000000..7c837ef Binary files /dev/null and b/ARMFCaptureD3D/Release/link.write.1.tlog differ diff --git a/ARMFCaptureD3D/Release/mt.command.1.tlog b/ARMFCaptureD3D/Release/mt.command.1.tlog new file mode 100644 index 0000000..3f3b404 Binary files /dev/null and b/ARMFCaptureD3D/Release/mt.command.1.tlog differ diff --git a/ARMFCaptureD3D/Release/mt.read.1.tlog b/ARMFCaptureD3D/Release/mt.read.1.tlog new file mode 100644 index 0000000..a586008 Binary files /dev/null and b/ARMFCaptureD3D/Release/mt.read.1.tlog differ diff --git a/ARMFCaptureD3D/Release/mt.write.1.tlog b/ARMFCaptureD3D/Release/mt.write.1.tlog new file mode 100644 index 0000000..74c551e Binary files /dev/null and b/ARMFCaptureD3D/Release/mt.write.1.tlog differ diff --git a/ARMFCaptureD3D/Release/options.obj b/ARMFCaptureD3D/Release/options.obj new file mode 100644 index 0000000..048a450 Binary files /dev/null and b/ARMFCaptureD3D/Release/options.obj differ diff --git a/ARMFCaptureD3D/Release/preview.obj b/ARMFCaptureD3D/Release/preview.obj new file mode 100644 index 0000000..969e7cb Binary files /dev/null and b/ARMFCaptureD3D/Release/preview.obj differ diff --git a/ARMFCaptureD3D/Release/rc.command.1.tlog b/ARMFCaptureD3D/Release/rc.command.1.tlog new file mode 100644 index 0000000..7fb3efa Binary files /dev/null and b/ARMFCaptureD3D/Release/rc.command.1.tlog differ diff --git a/ARMFCaptureD3D/Release/rc.read.1.tlog b/ARMFCaptureD3D/Release/rc.read.1.tlog new file mode 100644 index 0000000..3fc68da Binary files /dev/null and b/ARMFCaptureD3D/Release/rc.read.1.tlog differ diff --git a/ARMFCaptureD3D/Release/rc.write.1.tlog b/ARMFCaptureD3D/Release/rc.write.1.tlog new file mode 100644 index 0000000..bc7b925 Binary files /dev/null and b/ARMFCaptureD3D/Release/rc.write.1.tlog differ diff --git a/ARMFCaptureD3D/Release/vc100.pdb b/ARMFCaptureD3D/Release/vc100.pdb new file mode 100644 index 0000000..2f4203a Binary files /dev/null and b/ARMFCaptureD3D/Release/vc100.pdb differ diff --git a/ARMFCaptureD3D/Release/winmain.obj b/ARMFCaptureD3D/Release/winmain.obj new file mode 100644 index 0000000..4593c9b Binary files /dev/null and b/ARMFCaptureD3D/Release/winmain.obj differ diff --git a/ARMFCaptureD3D/Setup/Release/Install ARIvy X64.msi b/ARMFCaptureD3D/Setup/Release/Install ARIvy X64.msi new file mode 100644 index 0000000..6a547be Binary files /dev/null and b/ARMFCaptureD3D/Setup/Release/Install ARIvy X64.msi differ diff --git a/ARMFCaptureD3D/Setup/Release/setup.exe b/ARMFCaptureD3D/Setup/Release/setup.exe new file mode 100644 index 0000000..22ebaf6 Binary files /dev/null and b/ARMFCaptureD3D/Setup/Release/setup.exe differ diff --git a/ARMFCaptureD3D/Setup/Setup.vdproj b/ARMFCaptureD3D/Setup/Setup.vdproj new file mode 100644 index 0000000..f482641 --- /dev/null +++ b/ARMFCaptureD3D/Setup/Setup.vdproj @@ -0,0 +1,1009 @@ +"DeployProject" +{ +"VSVersion" = "3:800" +"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" +"IsWebType" = "8:FALSE" +"ProjectName" = "8:Install ARIvy X64" +"LanguageId" = "3:1036" +"CodePage" = "3:1252" +"UILanguageId" = "3:1036" +"SccProjectName" = "8:" +"SccLocalPath" = "8:" +"SccAuxPath" = "8:" +"SccProvider" = "8:" + "Hierarchy" + { + "Entry" + { + "MsmKey" = "8:_03BE07867632004F18FE8CAF0A618CD6" + "OwnerKey" = "8:_D026679728EF474AAF107EA4BE481FA4" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_2893F9502BF64B19AA4C6C960CE69331" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_3DEBF6D0CCF5FEAAAA509CB45B7D7FD2" + "OwnerKey" = "8:_2893F9502BF64B19AA4C6C960CE69331" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_4077B199D26F455E93767B320FB454E4" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_60653F90D8C54EE6B6A3CC166B63F51D" + "OwnerKey" = "8:_2893F9502BF64B19AA4C6C960CE69331" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_60653F90D8C54EE6B6A3CC166B63F51D" + "OwnerKey" = "8:_D026679728EF474AAF107EA4BE481FA4" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_60653F90D8C54EE6B6A3CC166B63F51D" + "OwnerKey" = "8:_6A5948EA3E9A4953AF64CEE342F4BE14" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_60653F90D8C54EE6B6A3CC166B63F51D" + "OwnerKey" = "8:_4077B199D26F455E93767B320FB454E4" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6A5948EA3E9A4953AF64CEE342F4BE14" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_92C20A89A1F7AA489569897AC0AB8257" + "OwnerKey" = "8:_2893F9502BF64B19AA4C6C960CE69331" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_D026679728EF474AAF107EA4BE481FA4" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_EC537C48738502909F644852EC089C1A" + "OwnerKey" = "8:_2893F9502BF64B19AA4C6C960CE69331" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_F37F0C84F36477726D082401D282BD50" + "OwnerKey" = "8:_2893F9502BF64B19AA4C6C960CE69331" + "MsmSig" = "8:_UNDEFINED" + } + } + "Configurations" + { + "Debug" + { + "DisplayName" = "8:Debug" + "IsDebugOnly" = "11:TRUE" + "IsReleaseOnly" = "11:FALSE" + "OutputFilename" = "8:Debug\\Setup.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + } + "Release" + { + "DisplayName" = "8:Release" + "IsDebugOnly" = "11:FALSE" + "IsReleaseOnly" = "11:TRUE" + "OutputFilename" = "8:Release\\Install ARIvy X64.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + } + } + "Deployable" + { + "CustomAction" + { + } + "DefaultFeature" + { + "Name" = "8:DefaultFeature" + "Title" = "8:" + "Description" = "8:" + } + "ExternalPersistence" + { + "LaunchCondition" + { + } + } + "File" + { + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_03BE07867632004F18FE8CAF0A618CD6" + { + "SourcePath" = "8:WSOCK32.dll" + "TargetName" = "8:WSOCK32.dll" + "Tag" = "8:" + "Folder" = "8:_B57CC1BCBF544E629507680A37FD5F3F" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3DEBF6D0CCF5FEAAAA509CB45B7D7FD2" + { + "SourcePath" = "8:MFPlat.DLL" + "TargetName" = "8:MFPlat.DLL" + "Tag" = "8:" + "Folder" = "8:_B57CC1BCBF544E629507680A37FD5F3F" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_92C20A89A1F7AA489569897AC0AB8257" + { + "SourcePath" = "8:MF.dll" + "TargetName" = "8:MF.dll" + "Tag" = "8:" + "Folder" = "8:_B57CC1BCBF544E629507680A37FD5F3F" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EC537C48738502909F644852EC089C1A" + { + "SourcePath" = "8:d3d9.dll" + "TargetName" = "8:d3d9.dll" + "Tag" = "8:" + "Folder" = "8:_B57CC1BCBF544E629507680A37FD5F3F" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F37F0C84F36477726D082401D282BD50" + { + "SourcePath" = "8:MFReadWrite.dll" + "TargetName" = "8:MFReadWrite.dll" + "Tag" = "8:" + "Folder" = "8:_B57CC1BCBF544E629507680A37FD5F3F" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + } + "FileType" + { + } + "Folder" + { + "{1525181F-901A-416C-8A58-119130FE478E}:_65DB221D672F4F178AE163784C250F07" + { + "Name" = "8:#1919" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:ProgramMenuFolder" + "Folders" + { + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_740B4D6CAEB34C4B86B1486F70B15FDC" + { + "Name" = "8:#1916" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:DesktopFolder" + "Folders" + { + } + } + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_B57CC1BCBF544E629507680A37FD5F3F" + { + "DefaultLocation" = "8:[ProgramFiles64Folder][Manufacturer]\\[ProductName]" + "Name" = "8:#1925" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + } + } + } + "LaunchCondition" + { + } + "Locator" + { + } + "MsiBootstrapper" + { + "LangId" = "3:1036" + "RequiresElevation" = "11:FALSE" + } + "Product" + { + "Name" = "8:Microsoft Visual Studio" + "ProductName" = "8:ARMFCaptureD3D" + "ProductCode" = "8:{096ECDD0-A190-42C5-AD3F-2BDECDA0D286}" + "PackageCode" = "8:{51BD038D-BFC6-42F3-921C-66BBEA1127CB}" + "UpgradeCode" = "8:{5395DAE8-DD88-4383-8D1D-E3A8D0D77865}" + "AspNetVersion" = "8:4.0.30319.0" + "RestartWWWService" = "11:FALSE" + "RemovePreviousVersions" = "11:FALSE" + "DetectNewerInstalledVersion" = "11:TRUE" + "InstallAllUsers" = "11:TRUE" + "ProductVersion" = "8:1.0.0" + "Manufacturer" = "8:DTI R&D PII" + "ARPHELPTELEPHONE" = "8:" + "ARPHELPLINK" = "8:" + "Title" = "8:ARMFCaptureD3D" + "Subject" = "8:" + "ARPCONTACT" = "8:DTI R&D PII" + "Keywords" = "8:" + "ARPCOMMENTS" = "8:Interface Ivy ARToolKit" + "ARPURLINFOABOUT" = "8:" + "ARPPRODUCTICON" = "8:" + "ARPIconIndex" = "3:0" + "SearchPath" = "8:" + "UseSystemSearchPath" = "11:TRUE" + "TargetPlatform" = "3:1" + "PreBuildEvent" = "8:" + "PostBuildEvent" = "8:copy /y \"$(BuiltOuputPath)\" \"C:\\Users\\Public\\Install PII\"" + "RunPostBuildEvent" = "3:0" + } + "Registry" + { + "HKLM" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_9EDE92678DAF4A9CACD84A620DCF8DB9" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_178255032856453B9EF5008CB873777F" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCU" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_22BAB15C155D41D0BCB9EEE67432FDE2" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_637126C090164C43B957B3879E3391CF" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCR" + { + "Keys" + { + } + } + "HKU" + { + "Keys" + { + } + } + "HKPU" + { + "Keys" + { + } + } + } + "Sequences" + { + } + "Shortcut" + { + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_32388B4DD63643FBA1FB59C214EDF9A3" + { + "Name" = "8:ARMFCaptureD3D Logitech HD" + "Arguments" = "8:-cam Logitech -f 24" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_2893F9502BF64B19AA4C6C960CE69331" + "Folder" = "8:_65DB221D672F4F178AE163784C250F07" + "WorkingFolder" = "8:_B57CC1BCBF544E629507680A37FD5F3F" + "Icon" = "8:" + "Feature" = "8:" + } + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_40227BA01DFC4CE5AFCE49FEB41FECB6" + { + "Name" = "8:ARMFCaptureD3D" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_2893F9502BF64B19AA4C6C960CE69331" + "Folder" = "8:_65DB221D672F4F178AE163784C250F07" + "WorkingFolder" = "8:_B57CC1BCBF544E629507680A37FD5F3F" + "Icon" = "8:" + "Feature" = "8:" + } + } + "UserInterface" + { + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_0565A6F9455C404BB7BBF401039A2E71" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdBasicDialogs.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_27519B9A659A4AA7895DE12F249F2DB9" + { + "Name" = "8:#1901" + "Sequence" = "3:2" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_8E6B579C830644DEBA2B1BDA051B7307" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progression" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_45A1EAD363C948F0B2627FEEC97AE4AD" + { + "Name" = "8:#1900" + "Sequence" = "3:1" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_929FDDB457D044E9AF11EBB67ABFEA86" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirmer l'installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E006A629465A4D7F8762CFAF4AB55CBC" + { + "Sequence" = "3:100" + "DisplayName" = "8:Bienvenue" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_EA07C802CB3249CCA3C8DC97560B656A" + { + "Sequence" = "3:200" + "DisplayName" = "8:Dossier d'installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "InstallAllUsersVisible" + { + "Name" = "8:InstallAllUsersVisible" + "DisplayName" = "8:#1059" + "Description" = "8:#1159" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_5F1046C8F0D04A19B8463DE9BB49F784" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdUserInterface.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_BC2F567B32B64DCD9AD72E6EF4D8485C" + { + "Name" = "8:#1902" + "Sequence" = "3:2" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9AF7543F810C4255919DC8539A958948" + { + "Sequence" = "3:100" + "DisplayName" = "8:TerminĂ©" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_CC275C10139745ED9EB25EB8B1498F62" + { + "Name" = "8:#1900" + "Sequence" = "3:2" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9CB5C12428D346B0A93F45677DFE1329" + { + "Sequence" = "3:200" + "DisplayName" = "8:Dossier d'installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C6E4378D41004B779E81ABB11D03A20D" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirmer l'installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F407087E71234F259B46BA5749F9CB21" + { + "Sequence" = "3:100" + "DisplayName" = "8:Bienvenue" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_EDE81B8B38E64A7CB13C2BAE2C2448A0" + { + "Name" = "8:#1901" + "Sequence" = "3:1" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_B7B6272E0FE04CB6A7404B05E6A00B5A" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progression" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F91267112B44495D8C5C25388A943EA6" + { + "Name" = "8:#1902" + "Sequence" = "3:1" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_8E0A9F9469F446B1AD3A25F9A0EA3082" + { + "Sequence" = "3:100" + "DisplayName" = "8:TerminĂ©" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "UpdateText" + { + "Name" = "8:UpdateText" + "DisplayName" = "8:#1058" + "Description" = "8:#1158" + "Type" = "3:15" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1258" + "DefaultValue" = "8:#1258" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + } + "MergeModule" + { + "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_60653F90D8C54EE6B6A3CC166B63F51D" + { + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:TRUE" + "SourcePath" = "8:Microsoft_VC100_CRT_x64.msm" + "Properties" + { + } + "LanguageId" = "3:0" + "Exclude" = "11:FALSE" + "Folder" = "8:" + "Feature" = "8:" + "IsolateTo" = "8:" + } + } + "ProjectOutput" + { + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_2893F9502BF64B19AA4C6C960CE69331" + { + "SourcePath" = "8:..\\x64\\Release\\ARMFCaptureD3D.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_B57CC1BCBF544E629507680A37FD5F3F" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{42CC2BCD-AAD2-4C3C-87BB-0B42F2848E17}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_4077B199D26F455E93767B320FB454E4" + { + "SourcePath" = "8:..\\x64\\Release\\ARToolKitPlus.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_B57CC1BCBF544E629507680A37FD5F3F" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{CCF160AF-4F7E-8012-1926-AC4C742CC14F}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_6A5948EA3E9A4953AF64CEE342F4BE14" + { + "SourcePath" = "8:..\\x64\\Release\\pcre.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_B57CC1BCBF544E629507680A37FD5F3F" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{D79FC143-498E-4342-B2C7-BDAD1B8D0E6B}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_AA13593FF538417984E75D7367A7B1A1" + { + "SourcePath" = "8:" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_B57CC1BCBF544E629507680A37FD5F3F" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:ContentFiles" + "OutputProjectGuid" = "8:{42CC2BCD-AAD2-4C3C-87BB-0B42F2848E17}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D026679728EF474AAF107EA4BE481FA4" + { + "SourcePath" = "8:..\\x64\\Release\\Ivy.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_B57CC1BCBF544E629507680A37FD5F3F" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{9818D652-CC05-463E-880D-AFCA2C7BFABE}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + } + } +} diff --git a/ARMFCaptureD3D/UpgradeLog.XML b/ARMFCaptureD3D/UpgradeLog.XML new file mode 100644 index 0000000..6dc6619 --- /dev/null +++ b/ARMFCaptureD3D/UpgradeLog.XML @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ARMFCaptureD3D/UpgradeLog2.XML b/ARMFCaptureD3D/UpgradeLog2.XML new file mode 100644 index 0000000..0f89cd3 --- /dev/null +++ b/ARMFCaptureD3D/UpgradeLog2.XML @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ARMFCaptureD3D/UpgradeLog3.XML b/ARMFCaptureD3D/UpgradeLog3.XML new file mode 100644 index 0000000..da99671 --- /dev/null +++ b/ARMFCaptureD3D/UpgradeLog3.XML @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport.css b/ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport.css new file mode 100644 index 0000000..3411f63 --- /dev/null +++ b/ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport.css @@ -0,0 +1,207 @@ +BODY +{ + BACKGROUND-COLOR: white; + FONT-FAMILY: "Verdana", sans-serif; + FONT-SIZE: 100%; + MARGIN-LEFT: 0px; + MARGIN-TOP: 0px +} +P +{ + FONT-FAMILY: "Verdana", sans-serif; + FONT-SIZE: 70%; + LINE-HEIGHT: 12pt; + MARGIN-BOTTOM: 0px; + MARGIN-LEFT: 10px; + MARGIN-TOP: 10px +} +.note +{ + BACKGROUND-COLOR: #ffffff; + COLOR: #336699; + FONT-FAMILY: "Verdana", sans-serif; + FONT-SIZE: 100%; + MARGIN-BOTTOM: 0px; + MARGIN-LEFT: 0px; + MARGIN-TOP: 0px; + PADDING-RIGHT: 10px +} +.infotable +{ + BACKGROUND-COLOR: #f0f0e0; + BORDER-BOTTOM: #ffffff 0px solid; + BORDER-COLLAPSE: collapse; + BORDER-LEFT: #ffffff 0px solid; + BORDER-RIGHT: #ffffff 0px solid; + BORDER-TOP: #ffffff 0px solid; + FONT-SIZE: 70%; + MARGIN-LEFT: 10px +} +.issuetable +{ + BACKGROUND-COLOR: #ffffe8; + BORDER-COLLAPSE: collapse; + COLOR: #000000; + FONT-SIZE: 100%; + MARGIN-BOTTOM: 10px; + MARGIN-LEFT: 13px; + MARGIN-TOP: 0px +} +.issuetitle +{ + BACKGROUND-COLOR: #ffffff; + BORDER-BOTTOM: #dcdcdc 1px solid; + BORDER-TOP: #dcdcdc 1px; + COLOR: #003366; + FONT-WEIGHT: normal +} +.header +{ + BACKGROUND-COLOR: #cecf9c; + BORDER-BOTTOM: #ffffff 1px solid; + BORDER-LEFT: #ffffff 1px solid; + BORDER-RIGHT: #ffffff 1px solid; + BORDER-TOP: #ffffff 1px solid; + COLOR: #000000; + FONT-WEIGHT: bold +} +.issuehdr +{ + BACKGROUND-COLOR: #E0EBF5; + BORDER-BOTTOM: #dcdcdc 1px solid; + BORDER-TOP: #dcdcdc 1px solid; + COLOR: #000000; + FONT-WEIGHT: normal +} +.issuenone +{ + BACKGROUND-COLOR: #ffffff; + BORDER-BOTTOM: 0px; + BORDER-LEFT: 0px; + BORDER-RIGHT: 0px; + BORDER-TOP: 0px; + COLOR: #000000; + FONT-WEIGHT: normal +} +.content +{ + BACKGROUND-COLOR: #e7e7ce; + BORDER-BOTTOM: #ffffff 1px solid; + BORDER-LEFT: #ffffff 1px solid; + BORDER-RIGHT: #ffffff 1px solid; + BORDER-TOP: #ffffff 1px solid; + PADDING-LEFT: 3px +} +.issuecontent +{ + BACKGROUND-COLOR: #ffffff; + BORDER-BOTTOM: #dcdcdc 1px solid; + BORDER-TOP: #dcdcdc 1px solid; + PADDING-LEFT: 3px +} +A:link +{ + COLOR: #cc6633; + TEXT-DECORATION: underline +} +A:visited +{ + COLOR: #cc6633; +} +A:active +{ + COLOR: #cc6633; +} +A:hover +{ + COLOR: #cc3300; + TEXT-DECORATION: underline +} +H1 +{ + BACKGROUND-COLOR: #003366; + BORDER-BOTTOM: #336699 6px solid; + COLOR: #ffffff; + FONT-SIZE: 130%; + FONT-WEIGHT: normal; + MARGIN: 0em 0em 0em -20px; + PADDING-BOTTOM: 8px; + PADDING-LEFT: 30px; + PADDING-TOP: 16px +} +H2 +{ + COLOR: #000000; + FONT-SIZE: 80%; + FONT-WEIGHT: bold; + MARGIN-BOTTOM: 3px; + MARGIN-LEFT: 10px; + MARGIN-TOP: 20px; + PADDING-LEFT: 0px +} +H3 +{ + COLOR: #000000; + FONT-SIZE: 80%; + FONT-WEIGHT: bold; + MARGIN-BOTTOM: -5px; + MARGIN-LEFT: 10px; + MARGIN-TOP: 20px +} +H4 +{ + COLOR: #000000; + FONT-SIZE: 70%; + FONT-WEIGHT: bold; + MARGIN-BOTTOM: 0px; + MARGIN-TOP: 15px; + PADDING-BOTTOM: 0px +} +UL +{ + COLOR: #000000; + FONT-SIZE: 70%; + LIST-STYLE: square; + MARGIN-BOTTOM: 0pt; + MARGIN-TOP: 0pt +} +OL +{ + COLOR: #000000; + FONT-SIZE: 70%; + LIST-STYLE: square; + MARGIN-BOTTOM: 0pt; + MARGIN-TOP: 0pt +} +LI +{ + LIST-STYLE: square; + MARGIN-LEFT: 0px +} +.expandable +{ + CURSOR: hand +} +.expanded +{ + color: black +} +.collapsed +{ + DISPLAY: none +} +.foot +{ +BACKGROUND-COLOR: #ffffff; +BORDER-BOTTOM: #cecf9c 1px solid; +BORDER-TOP: #cecf9c 2px solid +} +.settings +{ +MARGIN-LEFT: 25PX; +} +.help +{ +TEXT-ALIGN: right; +margin-right: 10px; +} diff --git a/ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport.xslt b/ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport.xslt new file mode 100644 index 0000000..d69d517 --- /dev/null +++ b/ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport.xslt @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ Solution: + Projet: + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + src + + + + + + + + + + + + +
Nom de fichierÉtatErreursAvertissements
+ javascript:document.images[''].click()src + + + + Converti + + + + Converti + +
+ + fichiers + + + 1 fichier + + + Converti:
+ Non converti: +
+ + + + + + : + + + + + + + + + Rapport de conversion + <xsl:if test="Properties/Property[@Name='LogNumber']"> + <xsl:value-of select="Properties/Property[@Name='LogNumber']/@Value"/> + </xsl:if> + + + + +

Rapport de conversion -

+ +

+ Heure de la conversion :
+

+ + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + +
+ Paramètres de conversion +

+ + +
+ diff --git a/ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport_Minus.gif b/ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport_Minus.gif new file mode 100644 index 0000000..17751cb Binary files /dev/null and b/ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport_Minus.gif differ diff --git a/ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport_Plus.gif b/ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport_Plus.gif new file mode 100644 index 0000000..f6009ca Binary files /dev/null and b/ARMFCaptureD3D/_UpgradeReport_Files/UpgradeReport_Plus.gif differ diff --git a/ARMFCaptureD3D/data/Logitech_Notebook_Pro.cal b/ARMFCaptureD3D/data/Logitech_Notebook_Pro.cal new file mode 100644 index 0000000..c93767a --- /dev/null +++ b/ARMFCaptureD3D/data/Logitech_Notebook_Pro.cal @@ -0,0 +1,2 @@ +ARToolKitPlus_CamCal_Rev02 +640 480 330.27758683214108 228.10613100912309 891.32055276878066 888.496623076345940 -0.049480033893318 0.215863227944058 -0.001997733892605 -0.003151872552003 0.0 0.0 10 diff --git a/ARMFCaptureD3D/data/One.cfg b/ARMFCaptureD3D/data/One.cfg new file mode 100644 index 0000000..3c42daa --- /dev/null +++ b/ARMFCaptureD3D/data/One.cfg @@ -0,0 +1,10 @@ +#the number of patterns to be recognized +1 + +#marker 01 +0 +20.0 +0.0 0.0 +1.0000 0.0000 0.0000 0.0000 +0.0000 1.0000 0.0000 0.0000 +0.0000 0.0000 1.0000 0.0000 diff --git a/ARMFCaptureD3D/data/config.inp b/ARMFCaptureD3D/data/config.inp new file mode 100644 index 0000000..98cbc16 --- /dev/null +++ b/ARMFCaptureD3D/data/config.inp @@ -0,0 +1,20 @@ +# config.inp +# configuration file for ARIvy + +CameraResolution = -1 +CameraName = + +CameraParameterFile = data/no_distortion.cal +MarkerSetConfigFile = data/One.cfg +MarkerWidth = 20 +MarkerBorderPercentage = 0.250 +MarkerSeekingThreshold = 160 + +MarkerTraditionalOrSimpleOrBCH = 2 # MARKER_ID_BCH=2 MAKER_ID_SIMPLE=1 +MarkerAbsenceCount = 5 +MarkerMoveThreshold = 1.0 + +CalibrationID_TopRight = 4095 +CalibrationID_TopLeft = 4092 +CalibrationID_BottomLeft= 4093 +CalibrationID_BottomRight = 4094 \ No newline at end of file diff --git a/ARMFCaptureD3D/data/markerboard_480-499.cfg b/ARMFCaptureD3D/data/markerboard_480-499.cfg new file mode 100644 index 0000000..4ec0163 --- /dev/null +++ b/ARMFCaptureD3D/data/markerboard_480-499.cfg @@ -0,0 +1,165 @@ +# multimarker definition file for ARToolKit (format defined by ARToolKit) +# dataset for test Painting application + +# number of markers +20 + +# marker 0 +480 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 -100.0 + 0.0000 1.0000 0.0000 75.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 1 +481 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 -50.0 + 0.0000 1.0000 0.0000 75.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 2 +482 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 0.0 + 0.0000 1.0000 0.0000 75.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 3 +483 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 50.0 + 0.0000 1.0000 0.0000 75.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 4 +484 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 100.0 + 0.0000 1.0000 0.0000 75.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 5 +485 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 -100.0 + 0.0000 1.0000 0.0000 25.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 6 +486 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 -50.0 + 0.0000 1.0000 0.0000 25.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 7 +487 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 0.0 + 0.0000 1.0000 0.0000 25.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 8 +488 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 50.0 + 0.0000 1.0000 0.0000 25.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 9 +489 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 100.0 + 0.0000 1.0000 0.0000 25.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 10 +490 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 -100.0 + 0.0000 1.0000 0.0000 -25.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 11 +491 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 -50.0 + 0.0000 1.0000 0.0000 -25.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 12 +492 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 0.0 + 0.0000 1.0000 0.0000 -25.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 33 +493 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 50.0 + 0.0000 1.0000 0.0000 -25.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 14 +494 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 100.0 + 0.0000 1.0000 0.0000 -25.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 15 +495 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 -100.0 + 0.0000 1.0000 0.0000 -75.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 16 +496 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 -50.0 + 0.0000 1.0000 0.0000 -75.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 17 +497 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 0.0 + 0.0000 1.0000 0.0000 -75.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 18 +498 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 50.0 + 0.0000 1.0000 0.0000 -75.0 + 0.0000 0.0000 1.0000 0.0 + +# marker 19 +499 +40.0 +0.0 0.0 + 1.0000 0.0000 0.0000 100.0 + 0.0000 1.0000 0.0000 -75.0 + 0.0000 0.0000 1.0000 0.0 diff --git a/ARMFCaptureD3D/data/no_distortion.cal b/ARMFCaptureD3D/data/no_distortion.cal new file mode 100644 index 0000000..d92b030 --- /dev/null +++ b/ARMFCaptureD3D/data/no_distortion.cal @@ -0,0 +1,2 @@ +ARToolKitPlus_CamCal_Rev02 +640 480 320 240 1500.0 1500.0 0.0 0.0 0.0 0.0 0.0 0.0 0 diff --git a/ARMFCaptureD3D/debug.cpp b/ARMFCaptureD3D/debug.cpp new file mode 100644 index 0000000..245dd50 --- /dev/null +++ b/ARMFCaptureD3D/debug.cpp @@ -0,0 +1,384 @@ + + +// The following code enables you to view the contents of a media type while +// debugging. +#include "ARMFCaptureD3D.h" +#include + +LPCWSTR GetGUIDNameConst(const GUID& guid); +HRESULT GetGUIDName(const GUID& guid, WCHAR **ppwsz); + +HRESULT LogAttributeValueByIndex(IMFAttributes *pAttr, DWORD index); +HRESULT SpecialCaseAttributeValue(GUID guid, const PROPVARIANT& var); + +void DBGMSG(PCWSTR format, ...); + +HRESULT LogMediaType(IMFMediaType *pType) +{ + UINT32 count = 0; + + HRESULT hr = pType->GetCount(&count); + if (FAILED(hr)) + { + return hr; + } + + if (count == 0) + { + DBGMSG(L"Empty media type.\n"); + } + + for (UINT32 i = 0; i < count; i++) + { + hr = LogAttributeValueByIndex(pType, i); + if (FAILED(hr)) + { + break; + } + } + return hr; +} + +HRESULT LogAttributeValueByIndex(IMFAttributes *pAttr, DWORD index) +{ + WCHAR *pGuidName = NULL; + WCHAR *pGuidValName = NULL; + + GUID guid = { 0 }; + + PROPVARIANT var; + PropVariantInit(&var); + + HRESULT hr = pAttr->GetItemByIndex(index, &guid, &var); + if (FAILED(hr)) + { + goto done; + } + + hr = GetGUIDName(guid, &pGuidName); + if (FAILED(hr)) + { + goto done; + } + + DBGMSG(L"\t%s\t", pGuidName); + + hr = SpecialCaseAttributeValue(guid, var); + if (FAILED(hr)) + { + goto done; + } + if (hr == S_FALSE) + { + switch (var.vt) + { + case VT_UI4: + DBGMSG(L"%d", var.ulVal); + break; + + case VT_UI8: + DBGMSG(L"%I64d", var.uhVal); + break; + + case VT_R8: + DBGMSG(L"%f", var.dblVal); + break; + + case VT_CLSID: + hr = GetGUIDName(*var.puuid, &pGuidValName); + if (SUCCEEDED(hr)) + { + DBGMSG(pGuidValName); + } + break; + + case VT_LPWSTR: + DBGMSG(var.pwszVal); + break; + + case VT_VECTOR | VT_UI1: + DBGMSG(L"<>"); + break; + + case VT_UNKNOWN: + DBGMSG(L"IUnknown"); + break; + + default: + DBGMSG(L"Unexpected attribute type (vt = %d)", var.vt); + break; + } + } + +done: + DBGMSG(L"\n"); + CoTaskMemFree(pGuidName); + CoTaskMemFree(pGuidValName); + PropVariantClear(&var); + return hr; +} + +HRESULT GetGUIDName(const GUID& guid, WCHAR **ppwsz) +{ + HRESULT hr = S_OK; + WCHAR *pName = NULL; + + LPCWSTR pcwsz = GetGUIDNameConst(guid); + if (pcwsz) + { + size_t cchLength = 0; + + hr = StringCchLength(pcwsz, STRSAFE_MAX_CCH, &cchLength); + if (FAILED(hr)) + { + goto done; + } + + pName = (WCHAR*)CoTaskMemAlloc((cchLength + 1) * sizeof(WCHAR)); + + if (pName == NULL) + { + hr = E_OUTOFMEMORY; + goto done; + } + + hr = StringCchCopy(pName, cchLength + 1, pcwsz); + if (FAILED(hr)) + { + goto done; + } + } + else + { + hr = StringFromCLSID(guid, &pName); + } + +done: + if (FAILED(hr)) + { + *ppwsz = NULL; + CoTaskMemFree(pName); + } + else + { + *ppwsz = pName; + } + return hr; +} + +void LogUINT32AsUINT64(const PROPVARIANT& var) +{ + UINT32 uHigh = 0, uLow = 0; + Unpack2UINT32AsUINT64(var.uhVal.QuadPart, &uHigh, &uLow); + DBGMSG(L"%d x %d", uHigh, uLow); +} + +float OffsetToFloat(const MFOffset& offset) +{ + return offset.value + (static_cast(offset.fract) / 65536.0f); +} + +HRESULT LogVideoArea(const PROPVARIANT& var) +{ + if (var.caub.cElems < sizeof(MFVideoArea)) + { + return MF_E_BUFFERTOOSMALL; + } + + MFVideoArea *pArea = (MFVideoArea*)var.caub.pElems; + + DBGMSG(L"(%f,%f) (%d,%d)", OffsetToFloat(pArea->OffsetX), OffsetToFloat(pArea->OffsetY), + pArea->Area.cx, pArea->Area.cy); + return S_OK; +} + +// Handle certain known special cases. +HRESULT SpecialCaseAttributeValue(GUID guid, const PROPVARIANT& var) +{ + if ((guid == MF_MT_FRAME_RATE) || (guid == MF_MT_FRAME_RATE_RANGE_MAX) || + (guid == MF_MT_FRAME_RATE_RANGE_MIN) || (guid == MF_MT_FRAME_SIZE) || + (guid == MF_MT_PIXEL_ASPECT_RATIO)) + { + // Attributes that contain two packed 32-bit values. + LogUINT32AsUINT64(var); + } + else if ((guid == MF_MT_GEOMETRIC_APERTURE) || + (guid == MF_MT_MINIMUM_DISPLAY_APERTURE) || + (guid == MF_MT_PAN_SCAN_APERTURE)) + { + // Attributes that an MFVideoArea structure. + return LogVideoArea(var); + } + else + { + return S_FALSE; + } + return S_OK; +} + +void DBGMSG(PCWSTR format, ...) +{ + va_list args; + va_start(args, format); + + WCHAR msg[MAX_PATH]; + + if (SUCCEEDED(StringCbVPrintf(msg, sizeof(msg), format, args))) + { + OutputDebugString(msg); + } +} + +#ifndef IF_EQUAL_RETURN +#define IF_EQUAL_RETURN(param, val) if(val == param) return L#val +#endif + +LPCWSTR GetGUIDNameConst(const GUID& guid) +{ + IF_EQUAL_RETURN(guid, MF_MT_MAJOR_TYPE); + IF_EQUAL_RETURN(guid, MF_MT_MAJOR_TYPE); + IF_EQUAL_RETURN(guid, MF_MT_SUBTYPE); + IF_EQUAL_RETURN(guid, MF_MT_ALL_SAMPLES_INDEPENDENT); + IF_EQUAL_RETURN(guid, MF_MT_FIXED_SIZE_SAMPLES); + IF_EQUAL_RETURN(guid, MF_MT_COMPRESSED); + IF_EQUAL_RETURN(guid, MF_MT_SAMPLE_SIZE); + IF_EQUAL_RETURN(guid, MF_MT_WRAPPED_TYPE); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_NUM_CHANNELS); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_SAMPLES_PER_SECOND); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_FLOAT_SAMPLES_PER_SECOND); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_AVG_BYTES_PER_SECOND); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_BLOCK_ALIGNMENT); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_BITS_PER_SAMPLE); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_VALID_BITS_PER_SAMPLE); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_SAMPLES_PER_BLOCK); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_CHANNEL_MASK); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_FOLDDOWN_MATRIX); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_WMADRC_PEAKREF); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_WMADRC_PEAKTARGET); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_WMADRC_AVGREF); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_WMADRC_AVGTARGET); + IF_EQUAL_RETURN(guid, MF_MT_AUDIO_PREFER_WAVEFORMATEX); + IF_EQUAL_RETURN(guid, MF_MT_AAC_PAYLOAD_TYPE); + IF_EQUAL_RETURN(guid, MF_MT_AAC_AUDIO_PROFILE_LEVEL_INDICATION); + IF_EQUAL_RETURN(guid, MF_MT_FRAME_SIZE); + IF_EQUAL_RETURN(guid, MF_MT_FRAME_RATE); + IF_EQUAL_RETURN(guid, MF_MT_FRAME_RATE_RANGE_MAX); + IF_EQUAL_RETURN(guid, MF_MT_FRAME_RATE_RANGE_MIN); + IF_EQUAL_RETURN(guid, MF_MT_PIXEL_ASPECT_RATIO); + IF_EQUAL_RETURN(guid, MF_MT_DRM_FLAGS); + IF_EQUAL_RETURN(guid, MF_MT_PAD_CONTROL_FLAGS); + IF_EQUAL_RETURN(guid, MF_MT_SOURCE_CONTENT_HINT); + IF_EQUAL_RETURN(guid, MF_MT_VIDEO_CHROMA_SITING); + IF_EQUAL_RETURN(guid, MF_MT_INTERLACE_MODE); + IF_EQUAL_RETURN(guid, MF_MT_TRANSFER_FUNCTION); + IF_EQUAL_RETURN(guid, MF_MT_VIDEO_PRIMARIES); + IF_EQUAL_RETURN(guid, MF_MT_CUSTOM_VIDEO_PRIMARIES); + IF_EQUAL_RETURN(guid, MF_MT_YUV_MATRIX); + IF_EQUAL_RETURN(guid, MF_MT_VIDEO_LIGHTING); + IF_EQUAL_RETURN(guid, MF_MT_VIDEO_NOMINAL_RANGE); + IF_EQUAL_RETURN(guid, MF_MT_GEOMETRIC_APERTURE); + IF_EQUAL_RETURN(guid, MF_MT_MINIMUM_DISPLAY_APERTURE); + IF_EQUAL_RETURN(guid, MF_MT_PAN_SCAN_APERTURE); + IF_EQUAL_RETURN(guid, MF_MT_PAN_SCAN_ENABLED); + IF_EQUAL_RETURN(guid, MF_MT_AVG_BITRATE); + IF_EQUAL_RETURN(guid, MF_MT_AVG_BIT_ERROR_RATE); + IF_EQUAL_RETURN(guid, MF_MT_MAX_KEYFRAME_SPACING); + IF_EQUAL_RETURN(guid, MF_MT_DEFAULT_STRIDE); + IF_EQUAL_RETURN(guid, MF_MT_PALETTE); + IF_EQUAL_RETURN(guid, MF_MT_USER_DATA); + IF_EQUAL_RETURN(guid, MF_MT_AM_FORMAT_TYPE); + IF_EQUAL_RETURN(guid, MF_MT_MPEG_START_TIME_CODE); + IF_EQUAL_RETURN(guid, MF_MT_MPEG2_PROFILE); + IF_EQUAL_RETURN(guid, MF_MT_MPEG2_LEVEL); + IF_EQUAL_RETURN(guid, MF_MT_MPEG2_FLAGS); + IF_EQUAL_RETURN(guid, MF_MT_MPEG_SEQUENCE_HEADER); + IF_EQUAL_RETURN(guid, MF_MT_DV_AAUX_SRC_PACK_0); + IF_EQUAL_RETURN(guid, MF_MT_DV_AAUX_CTRL_PACK_0); + IF_EQUAL_RETURN(guid, MF_MT_DV_AAUX_SRC_PACK_1); + IF_EQUAL_RETURN(guid, MF_MT_DV_AAUX_CTRL_PACK_1); + IF_EQUAL_RETURN(guid, MF_MT_DV_VAUX_SRC_PACK); + IF_EQUAL_RETURN(guid, MF_MT_DV_VAUX_CTRL_PACK); + IF_EQUAL_RETURN(guid, MF_MT_ARBITRARY_HEADER); + IF_EQUAL_RETURN(guid, MF_MT_ARBITRARY_FORMAT); + IF_EQUAL_RETURN(guid, MF_MT_IMAGE_LOSS_TOLERANT); + IF_EQUAL_RETURN(guid, MF_MT_MPEG4_SAMPLE_DESCRIPTION); + IF_EQUAL_RETURN(guid, MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY); + IF_EQUAL_RETURN(guid, MF_MT_ORIGINAL_4CC); + IF_EQUAL_RETURN(guid, MF_MT_ORIGINAL_WAVE_FORMAT_TAG); + + // Media types + + IF_EQUAL_RETURN(guid, MFMediaType_Audio); + IF_EQUAL_RETURN(guid, MFMediaType_Video); + IF_EQUAL_RETURN(guid, MFMediaType_Protected); + IF_EQUAL_RETURN(guid, MFMediaType_SAMI); + IF_EQUAL_RETURN(guid, MFMediaType_Script); + IF_EQUAL_RETURN(guid, MFMediaType_Image); + IF_EQUAL_RETURN(guid, MFMediaType_HTML); + IF_EQUAL_RETURN(guid, MFMediaType_Binary); + IF_EQUAL_RETURN(guid, MFMediaType_FileTransfer); + + IF_EQUAL_RETURN(guid, MFVideoFormat_AI44); // FCC('AI44') + IF_EQUAL_RETURN(guid, MFVideoFormat_ARGB32); // D3DFMT_A8R8G8B8 + IF_EQUAL_RETURN(guid, MFVideoFormat_AYUV); // FCC('AYUV') + IF_EQUAL_RETURN(guid, MFVideoFormat_DV25); // FCC('dv25') + IF_EQUAL_RETURN(guid, MFVideoFormat_DV50); // FCC('dv50') + IF_EQUAL_RETURN(guid, MFVideoFormat_DVH1); // FCC('dvh1') + IF_EQUAL_RETURN(guid, MFVideoFormat_DVSD); // FCC('dvsd') + IF_EQUAL_RETURN(guid, MFVideoFormat_DVSL); // FCC('dvsl') + IF_EQUAL_RETURN(guid, MFVideoFormat_H264); // FCC('H264') + IF_EQUAL_RETURN(guid, MFVideoFormat_I420); // FCC('I420') + IF_EQUAL_RETURN(guid, MFVideoFormat_IYUV); // FCC('IYUV') + IF_EQUAL_RETURN(guid, MFVideoFormat_M4S2); // FCC('M4S2') + IF_EQUAL_RETURN(guid, MFVideoFormat_MJPG); + IF_EQUAL_RETURN(guid, MFVideoFormat_MP43); // FCC('MP43') + IF_EQUAL_RETURN(guid, MFVideoFormat_MP4S); // FCC('MP4S') + IF_EQUAL_RETURN(guid, MFVideoFormat_MP4V); // FCC('MP4V') + IF_EQUAL_RETURN(guid, MFVideoFormat_MPG1); // FCC('MPG1') + IF_EQUAL_RETURN(guid, MFVideoFormat_MSS1); // FCC('MSS1') + IF_EQUAL_RETURN(guid, MFVideoFormat_MSS2); // FCC('MSS2') + IF_EQUAL_RETURN(guid, MFVideoFormat_NV11); // FCC('NV11') + IF_EQUAL_RETURN(guid, MFVideoFormat_NV12); // FCC('NV12') + IF_EQUAL_RETURN(guid, MFVideoFormat_P010); // FCC('P010') + IF_EQUAL_RETURN(guid, MFVideoFormat_P016); // FCC('P016') + IF_EQUAL_RETURN(guid, MFVideoFormat_P210); // FCC('P210') + IF_EQUAL_RETURN(guid, MFVideoFormat_P216); // FCC('P216') + IF_EQUAL_RETURN(guid, MFVideoFormat_RGB24); // D3DFMT_R8G8B8 + IF_EQUAL_RETURN(guid, MFVideoFormat_RGB32); // D3DFMT_X8R8G8B8 + IF_EQUAL_RETURN(guid, MFVideoFormat_RGB555); // D3DFMT_X1R5G5B5 + IF_EQUAL_RETURN(guid, MFVideoFormat_RGB565); // D3DFMT_R5G6B5 + IF_EQUAL_RETURN(guid, MFVideoFormat_RGB8); + IF_EQUAL_RETURN(guid, MFVideoFormat_UYVY); // FCC('UYVY') + IF_EQUAL_RETURN(guid, MFVideoFormat_v210); // FCC('v210') + IF_EQUAL_RETURN(guid, MFVideoFormat_v410); // FCC('v410') + IF_EQUAL_RETURN(guid, MFVideoFormat_WMV1); // FCC('WMV1') + IF_EQUAL_RETURN(guid, MFVideoFormat_WMV2); // FCC('WMV2') + IF_EQUAL_RETURN(guid, MFVideoFormat_WMV3); // FCC('WMV3') + IF_EQUAL_RETURN(guid, MFVideoFormat_WVC1); // FCC('WVC1') + IF_EQUAL_RETURN(guid, MFVideoFormat_Y210); // FCC('Y210') + IF_EQUAL_RETURN(guid, MFVideoFormat_Y216); // FCC('Y216') + IF_EQUAL_RETURN(guid, MFVideoFormat_Y410); // FCC('Y410') + IF_EQUAL_RETURN(guid, MFVideoFormat_Y416); // FCC('Y416') + IF_EQUAL_RETURN(guid, MFVideoFormat_Y41P); + IF_EQUAL_RETURN(guid, MFVideoFormat_Y41T); + IF_EQUAL_RETURN(guid, MFVideoFormat_YUY2); // FCC('YUY2') + IF_EQUAL_RETURN(guid, MFVideoFormat_YV12); // FCC('YV12') + IF_EQUAL_RETURN(guid, MFVideoFormat_YVYU); + + IF_EQUAL_RETURN(guid, MFAudioFormat_PCM); // WAVE_FORMAT_PCM + IF_EQUAL_RETURN(guid, MFAudioFormat_Float); // WAVE_FORMAT_IEEE_FLOAT + IF_EQUAL_RETURN(guid, MFAudioFormat_DTS); // WAVE_FORMAT_DTS + IF_EQUAL_RETURN(guid, MFAudioFormat_Dolby_AC3_SPDIF); // WAVE_FORMAT_DOLBY_AC3_SPDIF + IF_EQUAL_RETURN(guid, MFAudioFormat_DRM); // WAVE_FORMAT_DRM + IF_EQUAL_RETURN(guid, MFAudioFormat_WMAudioV8); // WAVE_FORMAT_WMAUDIO2 + IF_EQUAL_RETURN(guid, MFAudioFormat_WMAudioV9); // WAVE_FORMAT_WMAUDIO3 + IF_EQUAL_RETURN(guid, MFAudioFormat_WMAudio_Lossless); // WAVE_FORMAT_WMAUDIO_LOSSLESS + IF_EQUAL_RETURN(guid, MFAudioFormat_WMASPDIF); // WAVE_FORMAT_WMASPDIF + IF_EQUAL_RETURN(guid, MFAudioFormat_MSP1); // WAVE_FORMAT_WMAVOICE9 + IF_EQUAL_RETURN(guid, MFAudioFormat_MP3); // WAVE_FORMAT_MPEGLAYER3 + IF_EQUAL_RETURN(guid, MFAudioFormat_MPEG); // WAVE_FORMAT_MPEG + IF_EQUAL_RETURN(guid, MFAudioFormat_AAC); // WAVE_FORMAT_MPEG_HEAAC + IF_EQUAL_RETURN(guid, MFAudioFormat_ADTS); // WAVE_FORMAT_MPEG_ADTS_AAC + + return NULL; +} \ No newline at end of file diff --git a/ARMFCaptureD3D/debug.h b/ARMFCaptureD3D/debug.h new file mode 100644 index 0000000..21325ad --- /dev/null +++ b/ARMFCaptureD3D/debug.h @@ -0,0 +1,32 @@ + + +// The following code enables you to view the contents of a media type while +// debugging. +#include "ARMFCaptureD3D.h" +#include + +LPCWSTR GetGUIDNameConst(const GUID& guid); +HRESULT GetGUIDName(const GUID& guid, WCHAR **ppwsz); + +HRESULT LogAttributeValueByIndex(IMFAttributes *pAttr, DWORD index); +HRESULT SpecialCaseAttributeValue(GUID guid, const PROPVARIANT& var); + +#ifdef _DEBUG +void DBGMSG(PCWSTR format, ...); +HRESULT LogMediaType(IMFMediaType *pType); +#else +#define DBGMSG(...) /**/ +#define LogMediaType(a) /**/ +#endif + +HRESULT LogAttributeValueByIndex(IMFAttributes *pAttr, DWORD index); + +HRESULT GetGUIDName(const GUID& guid, WCHAR **ppwsz); + +void LogUINT32AsUINT64(const PROPVARIANT& var); + +float OffsetToFloat(const MFOffset& offset); +HRESULT LogVideoArea(const PROPVARIANT& var); + + + diff --git a/ARMFCaptureD3D/device.cpp b/ARMFCaptureD3D/device.cpp new file mode 100644 index 0000000..13ae7cc --- /dev/null +++ b/ARMFCaptureD3D/device.cpp @@ -0,0 +1,1280 @@ +////////////////////////////////////////////////////////////////////////// +// +// device.cpp: Manages the Direct3D device +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +////////////////////////////////////////////////////////////////////////// + +#include "ARMFCaptureD3D.h" +#include "BufferLock.h" +#include "debug.h" +#include "ARAnalyse.h" + +extern ARAnalyse *g_pAnalyse; + +void TransformImage_RGB24( + BYTE* pDest, + LONG lDestStride, + const BYTE* pSrc, + LONG lSrcStride, + DWORD dwWidthInPixels, + DWORD dwHeightInPixels + ); + +void TransformImage_RGB32( + BYTE* pDest, + LONG lDestStride, + const BYTE* pSrc, + LONG lSrcStride, + DWORD dwWidthInPixels, + DWORD dwHeightInPixels + ); + +void TransformImage_YUY2( + BYTE* pDest, + LONG lDestStride, + const BYTE* pSrc, + LONG lSrcStride, + DWORD dwWidthInPixels, + DWORD dwHeightInPixels + ); + +void TransformImage_NV12( + BYTE* pDst, + LONG dstStride, + const BYTE* pSrc, + LONG srcStride, + DWORD dwWidthInPixels, + DWORD dwHeightInPixels + ); + + +RECT LetterBoxRect(const RECT& rcSrc, const RECT& rcDst); +RECT CorrectAspectRatio(const RECT& src, const MFRatio& srcPAR); +HRESULT GetDefaultStride(IMFMediaType *pType, LONG *plStride); + + +inline LONG Width(const RECT& r) +{ + return r.right - r.left; +} + +inline LONG Height(const RECT& r) +{ + return r.bottom - r.top; +} + + +// Static table of output formats and conversion functions. +struct ConversionFunction +{ + GUID subtype; + IMAGE_TRANSFORM_FN xform; +}; + + +ConversionFunction g_FormatConversions[] = +{ + { MFVideoFormat_RGB32, TransformImage_RGB32 }, + { MFVideoFormat_RGB24, TransformImage_RGB24 }, + { MFVideoFormat_YUY2, TransformImage_YUY2 }, + { MFVideoFormat_NV12, TransformImage_NV12 } +}; + +const DWORD g_cFormats = ARRAYSIZE(g_FormatConversions); + + +//------------------------------------------------------------------- +// Constructor +//------------------------------------------------------------------- + +DrawDevice::DrawDevice() : + m_hwnd(NULL), + m_pDevice(NULL), + m_pSwapChain(NULL), + m_pVertexBuffer(NULL), + m_pIndexBuffer(NULL), +#ifdef DX9 + m_pD3D(NULL), + m_format(D3DFMT_UNKNOWN), +#else + m_format(DXGI_FORMAT_UNKNOWN), +#endif + m_width(0), + m_height(0), + m_lDefaultStride(0), + m_interlace(MFVideoInterlace_Unknown), + m_convertFn(NULL) +{ + m_PixelAR.Denominator = m_PixelAR.Numerator = 1; + + ZeroMemory(&m_d3dpp, sizeof(m_d3dpp)); +} + + +//------------------------------------------------------------------- +// Destructor +//------------------------------------------------------------------- + +DrawDevice::~DrawDevice() +{ + DestroyDevice(); +} + +void DrawDevice::GetSize(UINT* width, UINT *height) const +{ + *width = m_width; + *height = m_height; +} +//------------------------------------------------------------------- +// GetFormat +// +// Get a supported output format by index. +//------------------------------------------------------------------- + +HRESULT DrawDevice::GetFormat(DWORD index, GUID *pSubtype) const +{ + if (index < g_cFormats) + { + *pSubtype = g_FormatConversions[index].subtype; + return S_OK; + } + return MF_E_NO_MORE_TYPES; +} + + +//------------------------------------------------------------------- +// IsFormatSupported +// +// Query if a format is supported. +//------------------------------------------------------------------- + +BOOL DrawDevice::IsFormatSupported(REFGUID subtype) const +{ + for (DWORD i = 0; i < g_cFormats; i++) + { + if (subtype == g_FormatConversions[i].subtype) + { + return TRUE; + } + } + return FALSE; +} + + + + +//------------------------------------------------------------------- +// CreateDevice +// +// Create the Direct3D device. +//------------------------------------------------------------------- + +HRESULT DrawDevice::CreateDevice(HWND hwnd) +{ + HRESULT hr = S_OK; + if (m_pDevice) + { + return S_OK; + } +#ifdef DX9 + // Create the Direct3D object. + if (m_pD3D == NULL) + { + m_pD3D = Direct3DCreate9(D3D_SDK_VERSION); + + if (m_pD3D == NULL) + { + return E_FAIL; + } + } + + + D3DPRESENT_PARAMETERS pp = { 0 }; + D3DDISPLAYMODE mode = { 0 }; + + pp.BackBufferFormat = D3DFMT_A8R8G8B8; + pp.SwapEffect = D3DSWAPEFFECT_FLIP; + pp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT; + pp.Windowed = TRUE; + pp.hDeviceWindow = hwnd; + + hr = m_pD3D->GetAdapterDisplayMode( + D3DADAPTER_DEFAULT, + &mode + ); + + if (FAILED(hr)) { goto done; } + + hr = m_pD3D->CheckDeviceType( + D3DADAPTER_DEFAULT, + D3DDEVTYPE_HAL, + mode.Format, + pp.BackBufferFormat, + TRUE // windowed + ); + + if (FAILED(hr)) { goto done; } + + + + hr = m_pD3D->CreateDevice( + D3DADAPTER_DEFAULT, + D3DDEVTYPE_HAL, + hwnd, + D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE, + &pp, + &m_pDevice + ); +#else + + DXGI_SWAP_CHAIN_DESC pp = { 0 }; + ZeroMemory( &pp, sizeof( pp ) ); + + + pp.BufferCount = 1; + //pp.BufferDesc.Width = width; + //pp.BufferDesc.Height = height; + pp.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; + pp.BufferDesc.RefreshRate.Numerator = 0; //users =0, originally 60 + pp.BufferDesc.RefreshRate.Denominator = 0; + pp.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + + //pp.SwapEffect = D3DSWAPEFFECT_COPY; + //pp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; + pp.Windowed = TRUE; + pp.OutputWindow = hwnd; + + D3D_FEATURE_LEVEL FeatureLevels = D3D_FEATURE_LEVEL_11_0; + + + hr = D3D11CreateDevice( NULL,D3D_DRIVER_TYPE_HARDWARE, NULL, 0, &FeatureLevels, 1, D3D11_SDK_VERSION, &m_pDevice, &FeatureLevels, &m_pDeviceContext ); + +#endif + + if (FAILED(hr)) { goto done; } + // Turn on Blending + m_pDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + m_pDevice->SetRenderState(D3DRS_BLENDOP, D3DBLENDOP_ADD); + m_pDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + m_pDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); + + m_hwnd = hwnd; + m_d3dpp = pp; + +done: + return hr; +} + +//------------------------------------------------------------------- +// SetConversionFunction +// +// Set the conversion function for the specified video format. +//------------------------------------------------------------------- + +HRESULT DrawDevice::SetConversionFunction(REFGUID subtype) +{ + m_convertFn = NULL; + + for (DWORD i = 0; i < g_cFormats; i++) + { + if (g_FormatConversions[i].subtype == subtype) + { + m_convertFn = g_FormatConversions[i].xform; + return S_OK; + } + } + + return MF_E_INVALIDMEDIATYPE; +} + + +//------------------------------------------------------------------- +// SetVideoType +// +// Set the video format. +//------------------------------------------------------------------- + +HRESULT DrawDevice::SetVideoType(IMFMediaType *pType) +{ + HRESULT hr = S_OK; + GUID subtype = { 0 }; + MFRatio PAR = { 0 }; + + // Find the video subtype. + hr = pType->GetGUID(MF_MT_SUBTYPE, &subtype); + + if (FAILED(hr)) { goto done; } + + // Choose a conversion function. + // (This also validates the format type.) + + hr = SetConversionFunction(subtype); + + if (FAILED(hr)) { goto done; } + + // + // Get some video attributes. + // + + // Get the frame size. + hr = MFGetAttributeSize(pType, MF_MT_FRAME_SIZE, &m_width, &m_height); + + if (FAILED(hr)) { goto done; } + + + // Get the interlace mode. Default: assume progressive. + m_interlace = (MFVideoInterlaceMode)MFGetAttributeUINT32( + pType, + MF_MT_INTERLACE_MODE, + MFVideoInterlace_Progressive + ); + + // Get the image stride. + hr = GetDefaultStride(pType, &m_lDefaultStride); + + if (FAILED(hr)) { goto done; } + + // Get the pixel aspect ratio. Default: Assume square pixels (1:1) + hr = MFGetAttributeRatio( + pType, + MF_MT_PIXEL_ASPECT_RATIO, + (UINT32*)&PAR.Numerator, + (UINT32*)&PAR.Denominator + ); + + if (SUCCEEDED(hr)) + { + m_PixelAR = PAR; + } + else + { + m_PixelAR.Numerator = m_PixelAR.Denominator = 1; + } +#ifdef DX9 + m_format = (D3DFORMAT)subtype.Data1; +#else + m_format = (DXGI_FORMAT)subtype.Data1; +#endif + // Create Direct3D swap chains. + + hr = CreateSwapChains(); + + if (FAILED(hr)) { goto done; } + + + // Update the destination rectangle for the correct + // aspect ratio. + + UpdateDestinationRect(); + +done: + if (FAILED(hr)) + { +#ifdef DX9 + m_format = D3DFMT_UNKNOWN; +#else + m_format = DXGI_FORMAT_UNKNOWN; +#endif + m_convertFn = NULL; + } + return hr; +} + +//------------------------------------------------------------------- +// UpdateDestinationRect +// +// Update the destination rectangle for the current window size. +// The destination rectangle is letterboxed to preserve the +// aspect ratio of the video image. +//------------------------------------------------------------------- + +void DrawDevice::UpdateDestinationRect() +{ + RECT rcClient; + RECT rcSrc = { 0, 0, m_width, m_height }; + + GetClientRect(m_hwnd, &rcClient); + + rcSrc = CorrectAspectRatio(rcSrc, m_PixelAR); + + m_rcDest = LetterBoxRect(rcSrc, rcClient); +} + + +//------------------------------------------------------------------- +// CreateSwapChains +// +// Create Direct3D swap chains. +//------------------------------------------------------------------- + +HRESULT DrawDevice::CreateSwapChains() +{ + HRESULT hr = S_OK; +#ifdef DX9 + D3DPRESENT_PARAMETERS pp = { 0 }; + + SafeRelease(&m_pSwapChain); + + pp.BackBufferWidth = m_width; + pp.BackBufferHeight = m_height; + pp.Windowed = TRUE; + pp.SwapEffect = D3DSWAPEFFECT_FLIP; + pp.hDeviceWindow = m_hwnd; + pp.BackBufferFormat = D3DFMT_A8R8G8B8; + pp.Flags = + D3DPRESENTFLAG_VIDEO | D3DPRESENTFLAG_DEVICECLIP | + D3DPRESENTFLAG_LOCKABLE_BACKBUFFER; + pp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT; + //pp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; + pp.BackBufferCount = 2; + + hr = m_pDevice->CreateAdditionalSwapChain(&pp, &m_pSwapChain); +#else + DXGI_SWAP_CHAIN_DESC pp = { 0 }; + + SafeRelease(&m_pSwapChain); + pp.BufferCount = 1; + pp.BufferDesc.Width = m_width; + pp.BufferDesc.Height = m_height; + pp.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; + pp.BufferDesc.RefreshRate.Numerator = 0; //users =0, originally 60 + pp.BufferDesc.RefreshRate.Denominator = 0; + pp.Windowed = TRUE; + pp.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; //D3DSWAPEFFECT_FLIP; + pp.OutputWindow = m_hwnd; + + pp.Flags = DXGI_SWAP_CHAIN_FLAG_NONPREROTATED; + /* D3DPRESENTFLAG_VIDEO | D3DPRESENTFLAG_DEVICECLIP | + D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;*/ + //pp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; + + IDXGIDevice* m_pDXGIDevice; + IDXGIAdapter* m_pDXGIAdapter; + IDXGIFactory* m_pDXGIFactory; + + hr = m_pDevice->QueryInterface(__uuidof(IDXGIDevice), (void **)& m_pDXGIDevice); + + if ( hr != S_OK ) + { + DBGMSG(L"cDX10Mananger::Initialise(): Unable to get DXGIDevice (hr = 0x%0X)\n", hr ); + return hr; + } + + hr = m_pDXGIDevice->GetParent(__uuidof(IDXGIAdapter), (void **)& m_pDXGIAdapter); + + if ( hr != S_OK ) + { + DBGMSG(L"cDX10Mananger::Initialise(): Unable to get DXGIAdapter (hr = 0x%0X)\n", hr ); + return hr; + } + + hr = m_pDXGIAdapter->GetParent(__uuidof(IDXGIFactory), (void **)& m_pDXGIFactory); + + if ( hr != S_OK ) + { + DBGMSG(L"cDX10Mananger::Initialise(): Unable to get DXGIFactory (hr = 0x%0X)\n", hr ); + return hr; + } + hr = m_pDXGIFactory->CreateSwapChain(m_pDevice, &pp, &m_pSwapChain ); +#endif + + return hr; +} + + +//------------------------------------------------------------------- +// DrawFrame +// +// Draw the video frame. +//------------------------------------------------------------------- + +HRESULT DrawDevice::DrawFrame(IMFMediaBuffer *pBuffer) +{ + if (m_convertFn == NULL) + { + return MF_E_INVALIDREQUEST; + } + + HRESULT hr = S_OK; + BYTE *pbScanline0 = NULL; + LONG lStride = 0; +#ifdef DX9 + D3DLOCKED_RECT lr; + + IDirect3DSurface9 *pSurf = NULL; + IDirect3DSurface9 *pBB = NULL; +#else + DXGI_MAPPED_RECT lr; + + IDXGISurface *pSurf = NULL; + IDXGISurface *pBB = NULL; + +#endif + if (m_pDevice == NULL || m_pSwapChain == NULL) + { + return S_OK; + } + + + VideoBufferLock buffer(pBuffer); // Helper object to lock the video buffer. + + hr = TestCooperativeLevel(); + + if (FAILED(hr)) { goto done; } + + // Lock the video buffer. This method returns a pointer to the first scan + // line in the image, and the stride in bytes. + + hr = buffer.LockBuffer(m_lDefaultStride, m_height, &pbScanline0, &lStride); + + if (FAILED(hr)) { goto done; } +#ifdef DX9 + // Get the swap-chain surface. + hr = m_pSwapChain->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &pSurf); + + if (FAILED(hr)) { goto done; } + + // Lock the swap-chain surface. + hr = pSurf->LockRect(&lr, NULL, D3DLOCK_NOSYSLOCK ); +#else + // Get the swap-chain surface. + hr = m_pSwapChain->GetBuffer(0, __uuidof(pSurf), reinterpret_cast(&pSurf)); + + if (FAILED(hr)) { goto done; } + + // Lock the swap-chain surface. + hr = pSurf->Map( &lr, DXGI_MAP_WRITE ); +#endif + if (FAILED(hr)) { goto done; } + + + // Convert the frame. This also copies it to the Direct3D surface. + + m_convertFn( + (BYTE*)lr.pBits, + lr.Pitch, + pbScanline0, + lStride, + m_width, + m_height + ); +#ifdef DX9 + hr = pSurf->UnlockRect(); + + if (FAILED(hr)) { goto done; } + + + // Color fill the back buffer. + hr = m_pDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &pBB); + + if (FAILED(hr)) { goto done; } + + hr = m_pDevice->ColorFill(pBB, NULL, D3DCOLOR_XRGB(0x80, 0x80, 0x80)); + + if (FAILED(hr)) { goto done; } + + + // Blit the frame. + + hr = m_pDevice->StretchRect(pSurf, NULL, pBB, &m_rcDest, D3DTEXF_LINEAR); + + if (FAILED(hr)) { goto done; } + + RenderObjects(); + // Present the frame. + + hr = m_pDevice->Present(NULL, NULL, NULL, NULL); + + +#else + hr = pSurf->Unmap(); + + if (FAILED(hr)) { goto done; } + + //Create a render target view + ID3D11Texture2D *pBackBuffer; + ID3D11RenderTargetView *g_pRenderTargetView; + + hr = m_pSwapChain->GetBuffer( 0, __uuidof( ID3D11Texture2D ), (LPVOID*)&pBackBuffer ); + + if (FAILED(hr)) { goto done; } + + hr = m_pDevice->CreateRenderTargetView( pBackBuffer, NULL, &g_pRenderTargetView ); + pBackBuffer->Release(); + if (FAILED(hr)) { goto done; } + + m_pDeviceContext->OMSetRenderTargets( 1, &g_pRenderTargetView, NULL ); + + // + // Clear the backbuffer + // + float ClearColor[4] = { 0.5f, 0.5f, 0.5f, 1.0f }; // RGBA + m_pDeviceContext->ClearRenderTargetView( g_pRenderTargetView, ClearColor ); + + + if (FAILED(hr)) { goto done; } + + + // Blit the frame. + + //hr = m_pDeviceContext->StretchRect(pSurf, NULL, pBB, &m_rcDest, D3DTEXF_LINEAR); + + if (FAILED(hr)) { goto done; } + + + // Present the frame. + + hr = m_pSwapChain->Present(0,0); +#endif + +done: +#ifdef DX9 + SafeRelease(&pBB); + if ( pSurf) SafeRelease(&pSurf); +#endif + return hr; +} + +//------------------------------------------------------------------- +// TestCooperativeLevel +// +// Test the cooperative-level status of the Direct3D device. +//------------------------------------------------------------------- + +HRESULT DrawDevice::TestCooperativeLevel() +{ + if (m_pDevice == NULL) + { + return E_FAIL; + } + + HRESULT hr = S_OK; +#ifdef DX9 + // Check the current status of D3D9 device. + hr = m_pDevice->TestCooperativeLevel(); + + switch (hr) + { + case D3D_OK: + break; + + case D3DERR_DEVICELOST: + hr = S_OK; + + case D3DERR_DEVICENOTRESET: + hr = ResetDevice(); + break; + + default: + // Some other failure. + break; + } +#endif + return hr; +} + + +//------------------------------------------------------------------- +// ResetDevice +// +// Resets the Direct3D device. +//------------------------------------------------------------------- + +HRESULT DrawDevice::ResetDevice() +{ + + HRESULT hr = S_OK; +#ifdef DX9 + if (m_pDevice) + { + D3DPRESENT_PARAMETERS d3dpp = m_d3dpp; + + hr = m_pDevice->Reset(&d3dpp); + + if (FAILED(hr)) + { + DestroyDevice(); + } + } + + if (m_pDevice == NULL) + { + hr = CreateDevice(m_hwnd); + + if (FAILED(hr)) { goto done; } + } + + if ((m_pSwapChain == NULL) && (m_format != D3DFMT_UNKNOWN)) + { + hr = CreateSwapChains(); + + if (FAILED(hr)) { goto done; } + + UpdateDestinationRect(); + } +#else + if (m_pDevice) + { + DestroyDevice(); + } + + if (m_pDevice == NULL) + { + hr = CreateDevice(m_hwnd); + + if (FAILED(hr)) { goto done; } + } + + if ((m_pSwapChain == NULL) && (m_format != DXGI_FORMAT_UNKNOWN)) + { + hr = CreateSwapChains(); + + if (FAILED(hr)) { goto done; } + + UpdateDestinationRect(); + } +#endif +done: + + return hr; +} + + +//------------------------------------------------------------------- +// DestroyDevice +// +// Release all Direct3D resources. +//------------------------------------------------------------------- + +void DrawDevice::DestroyDevice() +{ + SafeRelease(&m_pSwapChain); + SafeRelease(&m_pDevice); +#ifdef DX9 + SafeRelease(&m_pD3D); + if ( m_pVertexBuffer ) SafeRelease(&m_pVertexBuffer); + if ( m_pIndexBuffer ) SafeRelease(&m_pIndexBuffer); +#endif +} + + +struct CUSTOMVERTEX {FLOAT X, Y, Z,RHW; DWORD COLOR;}; + +typedef struct CUSTOMVERTEX CustomVertex; + +#define CUSTOMFVF (D3DFVF_XYZRHW | D3DFVF_DIFFUSE) + +#define TRSF( axe, data ) (translate##axe + (scale##axe * data)); + +HRESULT DrawDevice::RenderObjects() +{ + HRESULT hr = S_OK; + //const ARFloat* nMatrix; + DWORD color = D3DCOLOR_ARGB(127, 0, 127, 0); + int count = g_pAnalyse->markers.size(); + if ( !count ) return hr; + //D3DMATRIX world_matrix; + //D3DMATRIX view_matrix; + //D3DMATRIX projection_matrix; + + //nMatrix = g_pAnalyse->getModelViewMatrix(); + // + ////OpenGL + // //m0 m4 m8 m12 + // //m1 m5 m9 m13 + // //m2 m6 m10 m14 + // //m3 m7 m11 m15 + // //WPF + // //M11 M12 M13 M14 + // //M21 M22 M23 M24 + // //M31 M32 M33 M34 + // //M41 M42 M43 M44 + // + //view_matrix._11 = nMatrix[0]; + // view_matrix._12 = nMatrix[4]; + // view_matrix._13 = nMatrix[8]; + // view_matrix._14 = nMatrix[12]; + // view_matrix._21 = nMatrix[1]; + // view_matrix._22 = nMatrix[5]; + // view_matrix._23 = nMatrix[9]; + // view_matrix._24 = nMatrix[13]; + // view_matrix._31 = nMatrix[2]; + // view_matrix._32 = nMatrix[6]; + // view_matrix._33 = nMatrix[10]; + // view_matrix._34 = nMatrix[14]; + // view_matrix._41 = nMatrix[3]; + // view_matrix._42 = nMatrix[7]; + // view_matrix._43 = nMatrix[11]; + // view_matrix._44 = nMatrix[15]; + //nMatrix = g_pAnalyse->getProjectionMatrix(); + //projection_matrix._11 = nMatrix[0]; + // projection_matrix._12 = nMatrix[4]; + // projection_matrix._13 = nMatrix[8]; + // projection_matrix._14 = nMatrix[12]; + // projection_matrix._21 = nMatrix[1]; + // projection_matrix._22 = nMatrix[5]; + // projection_matrix._23 = nMatrix[9]; + // projection_matrix._24 = nMatrix[13]; + // projection_matrix._31 = nMatrix[2]; + // projection_matrix._32 = nMatrix[6]; + // projection_matrix._33 = nMatrix[10]; + // projection_matrix._34 = nMatrix[14]; + // projection_matrix._41 = nMatrix[3]; + // projection_matrix._42 = nMatrix[7]; + // projection_matrix._43 = nMatrix[11]; + // projection_matrix._44 = nMatrix[15]; + + float scaleX = (float)(m_rcDest.right - m_rcDest.left ) / (float)m_width; + float scaleY = (float)(m_rcDest.bottom - m_rcDest.top ) / (float)m_height; + float translateX = m_rcDest.left; + float translateY = m_rcDest.top; + CustomVertex *quad = new CustomVertex[4*count]; + short *indexes = new short[6*count]; + int i =0; + for( ARAnalyse::MarkersMap::iterator iter = g_pAnalyse->markers.begin(); iter != g_pAnalyse->markers.end(); iter++) + { + int index = i*4; + ARToolKitPlus::ARMarkerInfo info = g_pAnalyse->getDetectedMarker(i++); + + quad[index].X = TRSF( X, info.vertex[0][0]) ; + quad[index].Y = TRSF( Y, (m_height - info.vertex[0][1])); + quad[index].Z = 0.0; + quad[index].RHW = 1.0f; + quad[index++].COLOR = color; + quad[index].X = TRSF( X, info.vertex[1][0]); + quad[index].Y = TRSF( Y, (m_height - info.vertex[1][1])); + quad[index].Z = 0; + quad[index].RHW = 1.0f; + quad[index++].COLOR = color; + quad[index].X = TRSF( X, info.vertex[2][0]); + quad[index].Y = TRSF( Y, (m_height - info.vertex[2][1])); + quad[index].Z = 0; + quad[index].RHW = 1.0f; + quad[index++].COLOR = color; + quad[index].X = TRSF( X, info.vertex[3][0]); + quad[index].Y = TRSF( Y, (m_height - info.vertex[3][1])); + quad[index].Z = 0; + quad[index].RHW = 1.0f; + quad[index].COLOR = color; + } + int j = 0; + for ( int i = 0; i < count; i++ ) + { + int index = i*4; + indexes[j++] = index+0; + indexes[j++] = index+2; + indexes[j++] = index+1; + indexes[j++] = index+3; + indexes[j++] = index+2; + indexes[j++] = index+0; + } + //if ( !m_pVertexBuffer ) + //{ + // // dim the vertex buffer to containt maximun markers + //hr = m_pDevice->CreateVertexBuffer(4*4096 *sizeof(CustomVertex), D3DUSAGE_WRITEONLY, CUSTOMFVF, D3DPOOL_DEFAULT, &m_pVertexBuffer, NULL); + //if(FAILED(hr)) goto done; + //} + //if ( !m_pIndexBuffer ) + //{ + // // dim the index buffer to containt maximun markers + //hr = m_pDevice->CreateIndexBuffer(6*4096*sizeof(short), D3DUSAGE_WRITEONLY, D3DFMT_INDEX16, D3DPOOL_DEFAULT, &m_pIndexBuffer, NULL); + //if(FAILED(hr)) goto done; + //} + //// copy vertex buffer + //VOID* pVoid; + //hr = m_pVertexBuffer->Lock(0, 0, (void**)&pVoid, 0); + //if(FAILED(hr)) goto done; + // + //memcpy(pVoid, quad,4*count*sizeof(CustomVertex)); + //m_pVertexBuffer->Unlock(); + + //// copy index buffer + //hr = m_pIndexBuffer->Lock(0, 0, (void**)&pVoid, 0); + //if(FAILED(hr)) goto done; + // + //memcpy(pVoid, indexes, 6*count*sizeof(short)); + //m_pIndexBuffer->Unlock(); + //memset( (void*) &world_matrix , 0, sizeof( world_matrix )); + ////D3DMatrixIdentity( &world_matrix ); + //world_matrix._11 = scaleX; + //world_matrix._22 = scaleY; + //world_matrix._33 = 1.0; //scale Z + //world_matrix._41 = translateX; + //world_matrix._42 = translateY; + //world_matrix._43 = 0.0; // translate Z + //world_matrix._44 = 1.0; + + //m_pDevice->SetRenderState(D3DRS_FILLMODE,D3DFILL_WIREFRAME); + //m_pDevice->SetRenderState(D3DRS_LIGHTING, true); + //m_pDevice->LightEnable( 0, TRUE ); + + m_pDevice->BeginScene(); + //m_pDevice->SetTransform(D3DTS_WORLD, &world_matrix); + //m_pDevice->SetTransform(D3DTS_VIEW, &view_matrix); + //m_pDevice->SetTransform(D3DTS_PROJECTION, &projection_matrix); + m_pDevice->SetFVF(CUSTOMFVF); + //m_pDevice->SetIndices(m_pIndexBuffer); + //m_pDevice->SetStreamSource(0, m_pVertexBuffer, 0, sizeof(CustomVertex)); + //m_pDevice->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 4*count, 0, 2*count); + //m_pDevice->DrawIndexedPrimitive(D3DPT_LINELIST, 0, 0, 4*count, 0, 2*count); + m_pDevice->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, 0, 4*count, 2*count, indexes, D3DFMT_INDEX16,quad,sizeof(CustomVertex)); + m_pDevice->EndScene(); + + //m_pDevice->SetRenderState(D3DRS_FILLMODE,D3DFILL_SOLID); + +done: + delete quad; + delete indexes; + return hr; +} + +//------------------------------------------------------------------- +// +// Conversion functions +// +//------------------------------------------------------------------- + +__forceinline BYTE Clip(int clr) +{ + return (BYTE)(clr < 0 ? 0 : ( clr > 255 ? 255 : clr )); +} + +__forceinline RGBQUAD ConvertYCrCbToRGB( + int y, + int cr, + int cb + ) +{ + RGBQUAD rgbq; + + int c = y - 16; + int d = cb - 128; + int e = cr - 128; + + rgbq.rgbRed = Clip(( 298 * c + 409 * e + 128) >> 8); + rgbq.rgbGreen = Clip(( 298 * c - 100 * d - 208 * e + 128) >> 8); + rgbq.rgbBlue = Clip(( 298 * c + 516 * d + 128) >> 8); + + return rgbq; +} + + +//------------------------------------------------------------------- +// TransformImage_RGB24 +// +// RGB-24 to RGB-32 +//------------------------------------------------------------------- + +void TransformImage_RGB24( + BYTE* pDest, + LONG lDestStride, + const BYTE* pSrc, + LONG lSrcStride, + DWORD dwWidthInPixels, + DWORD dwHeightInPixels + ) +{ + for (DWORD y = 0; y < dwHeightInPixels; y++) + { + RGBTRIPLE *pSrcPel = (RGBTRIPLE*)pSrc; + DWORD *pDestPel = (DWORD*)pDest; + + for (DWORD x = 0; x < dwWidthInPixels; x++) + { +#ifdef DX9 + pDestPel[x] = D3DCOLOR_XRGB( + pSrcPel[x].rgbtRed, + pSrcPel[x].rgbtGreen, + pSrcPel[x].rgbtBlue + ); +#else + pDestPel[x] = pSrcPel[x].rgbtRed; +#endif + } + + pSrc += lSrcStride; + pDest += lDestStride; + } +} + +//------------------------------------------------------------------- +// TransformImage_RGB32 +// +// RGB-32 to RGB-32 +// +// Note: This function is needed to copy the image from system +// memory to the Direct3D surface. +//------------------------------------------------------------------- + +void TransformImage_RGB32( + BYTE* pDest, + LONG lDestStride, + const BYTE* pSrc, + LONG lSrcStride, + DWORD dwWidthInPixels, + DWORD dwHeightInPixels + ) +{ + MFCopyImage(pDest, lDestStride, pSrc, lSrcStride, dwWidthInPixels * 4, dwHeightInPixels); +} + +//------------------------------------------------------------------- +// TransformImage_YUY2 +// +// YUY2 to RGB-32 +//------------------------------------------------------------------- + +void TransformImage_YUY2( + BYTE* pDest, + LONG lDestStride, + const BYTE* pSrc, + LONG lSrcStride, + DWORD dwWidthInPixels, + DWORD dwHeightInPixels + ) +{ + for (DWORD y = 0; y < dwHeightInPixels; y++) + { + RGBQUAD *pDestPel = (RGBQUAD*)pDest; + WORD *pSrcPel = (WORD*)pSrc; + + for (DWORD x = 0; x < dwWidthInPixels; x += 2) + { + // Byte order is U0 Y0 V0 Y1 + + int y0 = (int)LOBYTE(pSrcPel[x]); + int u0 = (int)HIBYTE(pSrcPel[x]); + int y1 = (int)LOBYTE(pSrcPel[x + 1]); + int v0 = (int)HIBYTE(pSrcPel[x + 1]); + + pDestPel[x] = ConvertYCrCbToRGB(y0, v0, u0); + pDestPel[x + 1] = ConvertYCrCbToRGB(y1, v0, u0); + } + + pSrc += lSrcStride; + pDest += lDestStride; + } + +} + + +//------------------------------------------------------------------- +// TransformImage_NV12 +// +// NV12 to RGB-32 +//------------------------------------------------------------------- + +void TransformImage_NV12( + BYTE* pDst, + LONG dstStride, + const BYTE* pSrc, + LONG srcStride, + DWORD dwWidthInPixels, + DWORD dwHeightInPixels + ) +{ + const BYTE* lpBitsY = pSrc; + const BYTE* lpBitsCb = lpBitsY + (dwHeightInPixels * srcStride);; + const BYTE* lpBitsCr = lpBitsCb + 1; + + for (UINT y = 0; y < dwHeightInPixels; y += 2) + { + const BYTE* lpLineY1 = lpBitsY; + const BYTE* lpLineY2 = lpBitsY + srcStride; + const BYTE* lpLineCr = lpBitsCr; + const BYTE* lpLineCb = lpBitsCb; + + LPBYTE lpDibLine1 = pDst; + LPBYTE lpDibLine2 = pDst + dstStride; + + for (UINT x = 0; x < dwWidthInPixels; x += 2) + { + int y0 = (int)lpLineY1[0]; + int y1 = (int)lpLineY1[1]; + int y2 = (int)lpLineY2[0]; + int y3 = (int)lpLineY2[1]; + int cb = (int)lpLineCb[0]; + int cr = (int)lpLineCr[0]; + + RGBQUAD r = ConvertYCrCbToRGB(y0, cr, cb); + lpDibLine1[0] = r.rgbBlue; + lpDibLine1[1] = r.rgbGreen; + lpDibLine1[2] = r.rgbRed; + lpDibLine1[3] = 0; // Alpha + + r = ConvertYCrCbToRGB(y1, cr, cb); + lpDibLine1[4] = r.rgbBlue; + lpDibLine1[5] = r.rgbGreen; + lpDibLine1[6] = r.rgbRed; + lpDibLine1[7] = 0; // Alpha + + r = ConvertYCrCbToRGB(y2, cr, cb); + lpDibLine2[0] = r.rgbBlue; + lpDibLine2[1] = r.rgbGreen; + lpDibLine2[2] = r.rgbRed; + lpDibLine2[3] = 0; // Alpha + + r = ConvertYCrCbToRGB(y3, cr, cb); + lpDibLine2[4] = r.rgbBlue; + lpDibLine2[5] = r.rgbGreen; + lpDibLine2[6] = r.rgbRed; + lpDibLine2[7] = 0; // Alpha + + lpLineY1 += 2; + lpLineY2 += 2; + lpLineCr += 2; + lpLineCb += 2; + + lpDibLine1 += 8; + lpDibLine2 += 8; + } + + pDst += (2 * dstStride); + lpBitsY += (2 * srcStride); + lpBitsCr += srcStride; + lpBitsCb += srcStride; + } +} + + +//------------------------------------------------------------------- +// LetterBoxDstRect +// +// Takes a src rectangle and constructs the largest possible +// destination rectangle within the specifed destination rectangle +// such thatthe video maintains its current shape. +// +// This function assumes that pels are the same shape within both the +// source and destination rectangles. +// +//------------------------------------------------------------------- + +RECT LetterBoxRect(const RECT& rcSrc, const RECT& rcDst) +{ + // figure out src/dest scale ratios + int iSrcWidth = Width(rcSrc); + int iSrcHeight = Height(rcSrc); + + int iDstWidth = Width(rcDst); + int iDstHeight = Height(rcDst); + + int iDstLBWidth; + int iDstLBHeight; + + if (MulDiv(iSrcWidth, iDstHeight, iSrcHeight) <= iDstWidth) { + + // Column letter boxing ("pillar box") + + iDstLBWidth = MulDiv(iDstHeight, iSrcWidth, iSrcHeight); + iDstLBHeight = iDstHeight; + } + else { + + // Row letter boxing. + + iDstLBWidth = iDstWidth; + iDstLBHeight = MulDiv(iDstWidth, iSrcHeight, iSrcWidth); + } + + + // Create a centered rectangle within the current destination rect + + RECT rc; + + LONG left = rcDst.left + ((iDstWidth - iDstLBWidth) / 2); + LONG top = rcDst.top + ((iDstHeight - iDstLBHeight) / 2); + + SetRect(&rc, left, top, left + iDstLBWidth, top + iDstLBHeight); + + return rc; +} + + +//----------------------------------------------------------------------------- +// CorrectAspectRatio +// +// Converts a rectangle from the source's pixel aspect ratio (PAR) to 1:1 PAR. +// Returns the corrected rectangle. +// +// For example, a 720 x 486 rect with a PAR of 9:10, when converted to 1x1 PAR, +// is stretched to 720 x 540. +//----------------------------------------------------------------------------- + +RECT CorrectAspectRatio(const RECT& src, const MFRatio& srcPAR) +{ + // Start with a rectangle the same size as src, but offset to the origin (0,0). + RECT rc = {0, 0, src.right - src.left, src.bottom - src.top}; + + if ((srcPAR.Numerator != 1) || (srcPAR.Denominator != 1)) + { + // Correct for the source's PAR. + + if (srcPAR.Numerator > srcPAR.Denominator) + { + // The source has "wide" pixels, so stretch the width. + rc.right = MulDiv(rc.right, srcPAR.Numerator, srcPAR.Denominator); + } + else if (srcPAR.Numerator < srcPAR.Denominator) + { + // The source has "tall" pixels, so stretch the height. + rc.bottom = MulDiv(rc.bottom, srcPAR.Denominator, srcPAR.Numerator); + } + // else: PAR is 1:1, which is a no-op. + } + return rc; +} + + +//----------------------------------------------------------------------------- +// GetDefaultStride +// +// Gets the default stride for a video frame, assuming no extra padding bytes. +// +//----------------------------------------------------------------------------- + +HRESULT GetDefaultStride(IMFMediaType *pType, LONG *plStride) +{ + LONG lStride = 0; + + // Try to get the default stride from the media type. + HRESULT hr = pType->GetUINT32(MF_MT_DEFAULT_STRIDE, (UINT32*)&lStride); + if (FAILED(hr)) + { + // Attribute not set. Try to calculate the default stride. + GUID subtype = GUID_NULL; + + UINT32 width = 0; + UINT32 height = 0; + + // Get the subtype and the image size. + hr = pType->GetGUID(MF_MT_SUBTYPE, &subtype); + if (SUCCEEDED(hr)) + { + hr = MFGetAttributeSize(pType, MF_MT_FRAME_SIZE, &width, &height); + } + if (SUCCEEDED(hr)) + { + hr = MFGetStrideForBitmapInfoHeader(subtype.Data1, width, &lStride); + } + + // Set the attribute for later reference. + if (SUCCEEDED(hr)) + { + (void)pType->SetUINT32(MF_MT_DEFAULT_STRIDE, UINT32(lStride)); + } + } + + if (SUCCEEDED(hr)) + { + *plStride = lStride; + } + return hr; +} + diff --git a/ARMFCaptureD3D/device.h b/ARMFCaptureD3D/device.h new file mode 100644 index 0000000..3be3c16 --- /dev/null +++ b/ARMFCaptureD3D/device.h @@ -0,0 +1,93 @@ +////////////////////////////////////////////////////////////////////////// +// +// device.h: Manages the Direct3D device +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +////////////////////////////////////////////////////////////////////////// + + +#pragma once + +// Function pointer for the function that transforms the image. + +typedef void (*IMAGE_TRANSFORM_FN)( + BYTE* pDest, + LONG lDestStride, + const BYTE* pSrc, + LONG lSrcStride, + DWORD dwWidthInPixels, + DWORD dwHeightInPixels + ); + + +// DrawDevice class + +class DrawDevice +{ +private: + + HWND m_hwnd; +#ifdef DX9 + IDirect3D9 *m_pD3D; + IDirect3DDevice9 *m_pDevice; + IDirect3DSwapChain9 *m_pSwapChain; + IDirect3DVertexBuffer9 *m_pVertexBuffer; + IDirect3DIndexBuffer9 *m_pIndexBuffer; + + D3DPRESENT_PARAMETERS m_d3dpp; + + // Format information + D3DFORMAT m_format; +#else + //IDirect3D9 *m_pD3D; + ID3D11Device *m_pDevice; + ID3D11DeviceContext *m_pDeviceContext; + IDXGISwapChain *m_pSwapChain; + + DXGI_SWAP_CHAIN_DESC m_d3dpp; + + // Format information + DXGI_FORMAT m_format; +#endif + UINT m_width; + UINT m_height; + LONG m_lDefaultStride; + MFRatio m_PixelAR; + MFVideoInterlaceMode m_interlace; + RECT m_rcDest; // Destination rectangle + + // Drawing + IMAGE_TRANSFORM_FN m_convertFn; // Function to convert the video to RGB32 + +private: + + HRESULT TestCooperativeLevel(); + HRESULT SetConversionFunction(REFGUID subtype); + HRESULT CreateSwapChains(); + void UpdateDestinationRect(); + +public: + + DrawDevice(); + virtual ~DrawDevice(); + + HRESULT CreateDevice(HWND hwnd); + HRESULT ResetDevice(); + void DestroyDevice(); + + HRESULT SetVideoType(IMFMediaType *pType); + HRESULT DrawFrame(IMFMediaBuffer *pBuffer); + + HRESULT RenderObjects(); + + // What video formats we accept + BOOL IsFormatSupported(REFGUID subtype) const; + HRESULT GetFormat(DWORD index, GUID *pSubtype) const; + void GetSize(UINT* width, UINT *height) const; +}; diff --git a/ARMFCaptureD3D/ipch/mfcaptured3d-28a9326a/armfcaptured3d-1ab7d59.ipch b/ARMFCaptureD3D/ipch/mfcaptured3d-28a9326a/armfcaptured3d-1ab7d59.ipch new file mode 100644 index 0000000..2a3c16f Binary files /dev/null and b/ARMFCaptureD3D/ipch/mfcaptured3d-28a9326a/armfcaptured3d-1ab7d59.ipch differ diff --git a/ARMFCaptureD3D/options.cpp b/ARMFCaptureD3D/options.cpp new file mode 100644 index 0000000..e7e7589 --- /dev/null +++ b/ARMFCaptureD3D/options.cpp @@ -0,0 +1,1146 @@ +// **************************************************************************** +// ^FILE: options.c - implement the functions defined in +// +// ^HISTORY: +// 01/16/92 Brad Appleton Created +// +// 03/23/93 Brad Appleton +// - Added OptIstreamIter class +// +// 10/08/93 Brad Appleton +// - Added "hidden" options +// +// 02/08/94 Brad Appleton +// - Added "OptionSpec" class +// - Permitted use of stdio instead of iostreams via #ifdef USE_STDIO +// +// 03/08/94 Brad Appleton +// - completed support for USE_STDIO +// - added #ifdef NO_USAGE for people who always want to print their own +// - Fixed stupid NULL pointer error in OptionsSpec class +// +// 07/31/97 Brad Appleton +// - Added PARSE_POS control flag and POSITIONAL return value. +// ^^************************************************************************** + + +#include +#include +#include + +#include "options.h" +#ifndef _WIN32 +#include +#endif + +using std::cerr; +using std::endl; + + + +static const char ident[] = "@(#)Options 1.05" ; + + // I need a portable version of "tolower" that does NOT modify + // non-uppercase characters. + // +#define TOLOWER(c) (isupper(c) ? tolower(c) : c) + + // Use this to shut the compiler up about NULL strings +#define NULLSTR (char *)NULL + +// ******************************************************** insertion operators + + // If you are using then you need this stuff! + // If you are using then #ifdef this stuff out + // + + +#ifdef USE_STDIO + + // Implement just enough of ostream to get this file to compile + // + +static const char endl = '\n' ; + +class ostream { +public: + ostream(FILE * fileptr) : fp(fileptr) {} + + ostream & + operator<<(char ch); + + ostream & + operator<<(const char * str); + + ostream & + write(const char * buf, unsigned bufsize); + +private: + FILE * fp; +} ; + +ostream & +ostream::operator<<(char ch) { + fputc(ch, fp); + return *this; +} + +ostream & +ostream::operator<<(const char * str) { + fputs(str, fp); + return *this; +} + +ostream & +ostream::write(const char * buf, unsigned ) { + fputs(buf, fp); + return *this; +} + +static ostream cerr(stderr); +static ostream cout(stdout); + +#endif /* USE_STDIO */ + +// ************************************************************** OptIter + +OptIter::~OptIter(void) {} + +const char * +OptIter::operator()(void) { + const char * elt = curr(); + (void) next(); + return elt; +} + +// ************************************************************** OptIterRwd + +OptIterRwd::OptIterRwd(void) {} + +OptIterRwd::~OptIterRwd(void) {} + +// ************************************************************** OptArgvIter + +OptArgvIter::~OptArgvIter(void) {} + +const char * +OptArgvIter::curr(void) { + return ((ndx == ac) || (av[ndx] == NULL)) ? NULLSTR : av[ndx]; +} + +void +OptArgvIter::next(void) { + if ((ndx != ac) && av[ndx]) ++ndx; +} + +const char * +OptArgvIter::operator()(void) { + return ((ndx == ac) || (av[ndx] == NULL)) ? NULLSTR : av[ndx++]; +} + +void +OptArgvIter::rewind(void) { ndx = 0; } + +// ************************************************************** OptStrTokIter + +static const char WHITESPACE[] = " \t\n\r\v\f" ; +const char * OptStrTokIter::default_delims = WHITESPACE ; + +OptStrTokIter::OptStrTokIter(const char * tokens, const char * _delimiters) + : len(unsigned(strlen(tokens))), str(tokens), seps(_delimiters), + cur(NULLSTR), tokstr(NULLSTR) +{ + if (seps == NULL) seps = default_delims; + tokstr = new char[len + 1]; + (void) ::strcpy(tokstr, str); + cur = ::strtok(tokstr, seps); +} + + +OptStrTokIter::~OptStrTokIter(void) { delete [] tokstr; } + +const char * +OptStrTokIter::curr(void) { return cur; } + +void +OptStrTokIter::next(void) { if (cur) cur = ::strtok(NULL, seps); } + +const char * +OptStrTokIter::operator()(void) { + const char * elt = cur; + if (cur) cur = ::strtok(NULL, seps); + return elt; +} + +void +OptStrTokIter::rewind(void) { + (void) ::strcpy(tokstr, str); + cur = ::strtok(tokstr, seps); +} + +// ************************************************************* OptIstreamIter + +#ifdef vms + enum { c_COMMENT = '!' } ; +#else + enum { c_COMMENT = '#' } ; +#endif + +const unsigned OptIstreamIter::MAX_LINE_LEN = 1024 ; + + // Constructor +OptIstreamIter::OptIstreamIter(istream & input) : is(input), tok_iter(NULL) +{ +#ifdef USE_STDIO + fprintf(stderr, "%s: Can't use OptIstreamIter class:\n", + "OptIstreamIter::OptIstreamIter"); + fprintf(stderr, "\tOptions(3C++) was compiled with USE_STDIO #defined.\n"); + exit(-1); +#endif /* USE_STDIO */ +} + + // Destructor +OptIstreamIter::~OptIstreamIter(void) { + delete tok_iter; +} + +const char * +OptIstreamIter::curr(void) { +#ifdef USE_STDIO + return NULLSTR; +#else + const char * result = NULLSTR; + if (tok_iter) result = tok_iter->curr(); + if (result) return result; + fill(); + return (! is) ? NULLSTR : tok_iter->curr(); +#endif /* USE_STDIO */ +} + +void +OptIstreamIter::next(void) { +#ifdef USE_STDIO + return; +#else + const char * result = NULLSTR; + if (tok_iter) result = tok_iter->operator()(); + if (result) return; + fill(); + if (! is) tok_iter->next(); +#endif /* USE_STDIO */ +} + +const char * +OptIstreamIter::operator()(void) { +#ifdef USE_STDIO + return NULLSTR; +#else + const char * result = NULLSTR; + if (tok_iter) result = tok_iter->operator()(); + if (result) return result; + fill(); + return (! is) ? NULLSTR : tok_iter->operator()(); +#endif /* USE_STDIO */ +} + + // What we do is this: for each line of text in the istream, we use + // a OptStrTokIter to iterate over each token on the line. + // + // If the first non-white character on a line is c_COMMENT, then we + // consider the line to be a comment and we ignore it. + // +void +OptIstreamIter::fill(void) { +#ifdef USE_STDIO + return; +#else + char buf[OptIstreamIter::MAX_LINE_LEN]; + do { + *buf = '\0'; + is.getline(buf, sizeof(buf)); + char * ptr = buf; + while (isspace(*ptr)) ++ptr; + if (*ptr && (*ptr != c_COMMENT)) { + delete tok_iter; + tok_iter = new OptStrTokIter(ptr); + return; + } + } while (is); +#endif /* USE_STDIO */ +} + +// **************************************************** Options class utilities + + // Is this option-char null? +inline static int +isNullOpt(char optchar) { + return ((! optchar) || isspace(optchar) || (! isprint(optchar))); +} + + // Check for explicit "end-of-options" +inline static int +isEndOpts(const char * token) { + return ((token == NULL) || (! ::strcmp(token, "--"))) ; +} + + // See if an argument is an option +inline static int +isOption(unsigned flags, const char * arg) { + return (((*arg != '\0') || (arg[1] != '\0')) && + ((*arg == '-') || ((flags & Options::PLUS) && (*arg == '+')))) ; +} + + // See if we should be parsing only options or if we also need to + // parse positional arguments +inline static int +isOptsOnly(unsigned flags) { + return (flags & Options::PARSE_POS) ? 0 : 1; +} + + // return values for a keyword matching function +enum kwdmatch_t { NO_MATCH, PARTIAL_MATCH, EXACT_MATCH } ; + +// --------------------------------------------------------------------------- +// ^FUNCTION: kwdmatch - match a keyword +// +// ^SYNOPSIS: +// static kwdmatch_t kwdmatch(src, attempt, len) +// +// ^PARAMETERS: +// char * src -- the actual keyword to match +// char * attempt -- the possible keyword to compare against "src" +// int len -- number of character of "attempt" to consider +// (if 0 then we should use all of "attempt") +// +// ^DESCRIPTION: +// See if "attempt" matches some prefix of "src" (case insensitive). +// +// ^REQUIREMENTS: +// - attempt should be non-NULL and non-empty +// +// ^SIDE-EFFECTS: +// None. +// +// ^RETURN-VALUE: +// An enumeration value of type kwdmatch_t corresponding to whether +// We had an exact match, a partial match, or no match. +// +// ^ALGORITHM: +// Trivial +// ^^------------------------------------------------------------------------- +static kwdmatch_t +kwdmatch(const char * src, const char * attempt, size_t len =0) { + size_t i; + + if (src == attempt) return EXACT_MATCH ; + if ((src == NULL) || (attempt == NULL)) return NO_MATCH ; + if ((! *src) && (! *attempt)) return EXACT_MATCH ; + if ((! *src) || (! *attempt)) return NO_MATCH ; + + for (i = 0 ; ((i < len) || (len == 0)) && + (attempt[i]) && (attempt[i] != ' ') ; i++) { + if (TOLOWER(src[i]) != TOLOWER(attempt[i])) return NO_MATCH ; + } + + return (src[i]) ? PARTIAL_MATCH : EXACT_MATCH ; +} + +// **************************************************************** OptionSpec + + // Class that represents an option-specification + // *NOTE*:: Assumes that the char-ptr given to the constructor points + // to storage that will NOT be modified and whose lifetime will + // be as least as long as the OptionSpec object we construct. + // +class OptionSpec { +public: + OptionSpec(const char * decl =NULLSTR) + : hidden(0), spec(decl) + { + if (spec == NULL) spec = NULL_spec; + CheckHidden(); + } + + OptionSpec(const OptionSpec & cp) : hidden(cp.hidden), spec(cp.spec) {} + + // NOTE: use default destructor! + + // Assign to another OptionSpec + OptionSpec & + operator=(const OptionSpec & cp) { + if (this != &cp) { + spec = cp.spec; + hidden = cp.hidden; + } + return *this; + } + + // Assign to a string + OptionSpec & + operator=(const char * decl) { + if (spec != decl) { + spec = decl; + hidden = 0; + CheckHidden(); + } + return *this; + } + + // Convert to char-ptr by returning the original declaration-string + operator const char*() { return isHiddenOpt() ? (spec - 1) : spec; } + + // Is this option NULL? + int + isNULL(void) const { return ((spec == NULL) || (spec == NULL_spec)); } + + // Is this options incorrectly specified? + int + isSyntaxError(const char * name) const; + + // See if this is a Hidden option + int + isHiddenOpt(void) const { return hidden; } + + // Get the corresponding option-character + char + OptChar(void) const { return *spec; } + + // Get the corresponding long-option string + const char * + LongOpt(void) const { + return (spec[1] && spec[2] && (! isspace(spec[2]))) ? (spec + 2) : NULLSTR; + } + + // Does this option require an argument? + int + isValRequired(void) const { + return ((spec[1] == ':') || (spec[1] == '+')); + } + + // Does this option take an optional argument? + int + isValOptional(void) const { + return ((spec[1] == '?') || (spec[1] == '*')); + } + + // Does this option take no arguments? + int + isNoArg(void) const { + return ((spec[1] == '|') || (! spec[1])); + } + + // Can this option take more than one argument? + int + isList(void) const { + return ((spec[1] == '+') || (spec[1] == '*')); + } + + // Does this option take any arguments? + int + isValTaken(void) const { + return (isValRequired() || isValOptional()) ; + } + + // Format this option in the given buffer + unsigned + Format(char * buf, unsigned optctrls) const; + +private: + void + CheckHidden(void) { + if ((! hidden) && (*spec == '-')) { + ++hidden; + ++spec; + } + } + + unsigned hidden : 1; // hidden-flag + const char * spec; // string specification + + static const char NULL_spec[]; +} ; + +const char OptionSpec::NULL_spec[] = "\0\0\0" ; + +int +OptionSpec::isSyntaxError(const char * name) const { + int error = 0; + if ((! spec) || (! *spec)) { + cerr << name << ": empty option specifier." << endl; + cerr << "\tmust be at least 1 character long." << endl; + ++error; + } else if (spec[1] && (strchr("|?:*+", spec[1]) == NULL)) { + cerr << name << ": bad option specifier \"" << spec << "\"." << endl; + cerr << "\t2nd character must be in the set \"|?:*+\"." << endl; + ++error; + } + return error; +} + +// --------------------------------------------------------------------------- +// ^FUNCTION: OptionSpec::Format - format an option-spec for a usage message +// +// ^SYNOPSIS: +// unsigned OptionSpec::Format(buf, optctrls) const +// +// ^PARAMETERS: +// char * buf -- where to print the formatted option +// unsigned optctrls -- option-parsing configuration flags +// +// ^DESCRIPTION: +// Self-explanatory. +// +// ^REQUIREMENTS: +// - buf must be large enough to hold the result +// +// ^SIDE-EFFECTS: +// - writes to buf. +// +// ^RETURN-VALUE: +// Number of characters written to buf. +// +// ^ALGORITHM: +// Follow along in the source - it's not hard but it is tedious! +// ^^------------------------------------------------------------------------- +unsigned +OptionSpec::Format(char * buf, unsigned optctrls) const { +#ifdef NO_USAGE + return (*buf = '\0'); +#else + static char default_value[] = ""; + if (isHiddenOpt()) return (unsigned)(*buf = '\0'); + char optchar = OptChar(); + const char * longopt = LongOpt(); + char * p = buf ; + + const char * value = NULLSTR; + size_t longopt_len = 0; + size_t value_len = 0; + + if (longopt) { + value = ::strchr(longopt, ' '); + longopt_len = (value) ? (value - longopt) : ::strlen(longopt); + } else { + value = ::strchr(spec + 1, ' '); + } + while (value && (*value == ' ')) ++value; + if (value && *value) { + value_len = ::strlen(value); + } else { + value = default_value; + value_len = sizeof(default_value) - 1; + } + + if ((optctrls & Options::SHORT_ONLY) && + ((! isNullOpt(optchar)) || (optctrls & Options::NOGUESSING))) { + longopt = NULLSTR; + } + if ((optctrls & Options::LONG_ONLY) && + (longopt || (optctrls & Options::NOGUESSING))) { + optchar = '\0'; + } + if (isNullOpt(optchar) && (longopt == NULL)) { + *buf = '\0'; + return 0; + } + + *(p++) = '['; + + // print the single character option + if (! isNullOpt(optchar)) { + *(p++) = '-'; + *(p++) = optchar; + } + + if ((! isNullOpt(optchar)) && (longopt)) *(p++) = '|'; + + // print the long option + if (longopt) { + *(p++) = '-'; + if (! (optctrls & (Options::LONG_ONLY | Options::SHORT_ONLY))) { + *(p++) = '-'; + } + strncpy(p, longopt, longopt_len); + p += longopt_len; + } + + // print any argument the option takes + if (isValTaken()) { + *(p++) = ' ' ; + if (isValOptional()) *(p++) = '[' ; + strcpy(p, value); + p += value_len; + if (isList()) { + strcpy(p, " ..."); + p += 4; + } + if (isValOptional()) *(p++) = ']' ; + } + + *(p++) = ']'; + *p = '\0'; + + return (unsigned) strlen(buf); +#endif /* USE_STDIO */ +} + +// ******************************************************************* Options + +#if (defined(MSWIN) || defined(OS2) || defined(MSDOS)) +# define DIR_SEP_CHAR '\\' +#else +# define DIR_SEP_CHAR '/' +#endif + +Options::Options(const char * _name, const char * const optv[]) + : explicit_end(0), optctrls(DEFAULT), optvec(optv), + nextchar(NULLSTR), listopt(NULLSTR), cmdname(_name) +{ + const char * basename = ::strrchr(cmdname, DIR_SEP_CHAR); + if (basename) cmdname = basename + 1; + check_syntax(); +} + +Options::~Options(void) {} + + // Make sure each option-specifier has correct syntax. + // + // If there is even one invalid specifier, then exit ungracefully! + // +void +Options::check_syntax(void) const { + int errors = 0; + if ((optvec == NULL) || (! *optvec)) return; + + for (const char * const * optv = optvec ; *optv ; optv++) { + OptionSpec optspec = *optv; + errors += optspec.isSyntaxError(cmdname); + } + if (errors) exit(127); +} + +// --------------------------------------------------------------------------- +// ^FUNCTION: Options::match_opt - match an option +// +// ^SYNOPSIS: +// const char * match_opt(opt, int ignore_case) const +// +// ^PARAMETERS: +// char opt -- the option-character to match +// int ignore_case -- should we ignore character-case? +// +// ^DESCRIPTION: +// See if "opt" is found in "optvec" +// +// ^REQUIREMENTS: +// - optvec should be non-NULL and terminated by a NULL pointer. +// +// ^SIDE-EFFECTS: +// None. +// +// ^RETURN-VALUE: +// NULL if no match is found, +// otherwise a pointer to the matching option-spec. +// +// ^ALGORITHM: +// foreach option-spec +// - see if "opt" is a match, if so return option-spec +// end-for +// ^^------------------------------------------------------------------------- +const char * +Options::match_opt(char opt, int ignore_case) const { + if ((optvec == NULL) || (! *optvec)) return NULLSTR; + + for (const char * const * optv = optvec ; *optv ; optv++) { + OptionSpec optspec = *optv; + char optchar = optspec.OptChar(); + if (isNullOpt(optchar)) continue; + if (opt == optchar) { + return optspec; + } else if (ignore_case && (TOLOWER(opt) == TOLOWER(optchar))) { + return optspec; + } + } + + return NULLSTR; // not found +} + +// --------------------------------------------------------------------------- +// ^FUNCTION: Options::match_longopt - match a long-option +// +// ^SYNOPSIS: +// const char * Options::match_longopt(opt, len, ambiguous) +// +// ^PARAMETERS: +// char * opt -- the long-option to match +// int len -- the number of character of "opt" to match +// int & ambiguous -- set by this routine before returning. +// +// ^DESCRIPTION: +// Try to match "opt" against some unique prefix of a long-option +// (case insensitive). +// +// ^REQUIREMENTS: +// - optvec should be non-NULL and terminated by a NULL pointer. +// +// ^SIDE-EFFECTS: +// - *ambiguous is set to '1' if "opt" matches >1 long-option +// (otherwise it is set to 0). +// +// ^RETURN-VALUE: +// NULL if no match is found, +// otherwise a pointer to the matching option-spec. +// +// ^ALGORITHM: +// ambiguous is FALSE +// foreach option-spec +// if we have an EXACT-MATCH, return the option-spec +// if we have a partial-match then +// if we already had a previous partial match then +// set ambiguous = TRUE and return NULL +// else +// remember this options spec and continue matching +// end-if +// end-if +// end-for +// if we had exactly 1 partial match return it, else return NULL +// ^^------------------------------------------------------------------------- +const char * +Options::match_longopt(const char * opt, size_t len, int & ambiguous) const { + kwdmatch_t result; + const char * matched = NULLSTR ; + + ambiguous = 0; + if ((optvec == NULL) || (! *optvec)) return NULLSTR; + + for (const char * const * optv = optvec ; *optv ; optv++) { + OptionSpec optspec = *optv; + const char * longopt = optspec.LongOpt(); + if (longopt == NULL) continue; + result = kwdmatch(longopt, opt, len); + if (result == EXACT_MATCH) { + return optspec; + } else if (result == PARTIAL_MATCH) { + if (matched) { + ++ambiguous; + return NULLSTR; + } else { + matched = optspec; + } + } + }//for + + return matched; +} + +// --------------------------------------------------------------------------- +// ^FUNCTION: Options::parse_opt - parse an option +// +// ^SYNOPSIS: +// int Options::parse_opt(iter, optarg) +// +// ^PARAMETERS: +// OptIter & iter -- option iterator +// const char * & optarg -- where to store any option-argument +// +// ^DESCRIPTION: +// Parse the next option in iter (advancing as necessary). +// Make sure we update the nextchar pointer along the way. Any option +// we find should be returned and optarg should point to its argument. +// +// ^REQUIREMENTS: +// - nextchar must point to the prospective option character +// +// ^SIDE-EFFECTS: +// - iter is advanced when an argument completely parsed +// - optarg is modified to point to any option argument +// - if Options::QUIET is not set, error messages are printed on cerr +// +// ^RETURN-VALUE: +// 'c' if the -c option was matched (optarg points to its argument) +// BADCHAR if the option is invalid (optarg points to the bad +// option-character). +// +// ^ALGORITHM: +// It gets complicated -- follow the comments in the source. +// ^^------------------------------------------------------------------------- +int +Options::parse_opt(OptIter & iter, const char * & _optarg) { + listopt = NULLSTR; // reset the list pointer + + if ((optvec == NULL) || (! *optvec)) return Options::ENDOPTS; + + // Try to match a known option + OptionSpec optspec = match_opt(*(nextchar++), (optctrls & Options::ANYCASE)); + + // Check for an unknown option + if (optspec.isNULL()) { + // See if this was a long-option in disguise + if (! (optctrls & Options::NOGUESSING)) { + unsigned save_ctrls = optctrls; + const char * save_nextchar = nextchar; + nextchar -= 1; + optctrls |= (Options::QUIET | Options::NOGUESSING); + int optchar = parse_longopt(iter, _optarg); + optctrls = save_ctrls; + if (optchar > 0) { + return optchar; + } else { + nextchar = save_nextchar; + } + } + if (! (optctrls & Options::QUIET)) { + cerr << cmdname << ": unknown option -" + << *(nextchar - 1) << "." << endl ; + } + _optarg = (nextchar - 1); // record the bad option in optarg + return Options::BADCHAR; + } + + // If no argument is taken, then leave now + if (optspec.isNoArg()) { + _optarg = NULLSTR; + return optspec.OptChar(); + } + + // Check for argument in this arg + if (*nextchar) { + _optarg = nextchar; // the argument is right here + nextchar = NULLSTR; // we've exhausted this arg + if (optspec.isList()) listopt = optspec ; // save the list-spec + return optspec.OptChar(); + } + + // Check for argument in next arg + const char * nextarg = iter.curr(); + if ((nextarg != NULL) && + (optspec.isValRequired() || (! isOption(optctrls, nextarg)))) { + _optarg = nextarg; // the argument is here + iter.next(); // end of arg - advance + if (optspec.isList()) listopt = optspec ; // save the list-spec + return optspec.OptChar(); + } + + // No argument given - if its required, thats an error + _optarg = NULLSTR; + if (optspec.isValRequired() && !(optctrls & Options::QUIET)) { + cerr << cmdname << ": argument required for -" << optspec.OptChar() + << " option." << endl ; + } + return optspec.OptChar(); +} + +// --------------------------------------------------------------------------- +// ^FUNCTION: Options::parse_longopt - parse a long-option +// +// ^SYNOPSIS: +// int Options::parse_longopt(iter, optarg) +// +// ^PARAMETERS: +// OptIter & iter -- option iterator +// const char * & optarg -- where to store any option-argument +// +// ^DESCRIPTION: +// Parse the next long-option in iter (advancing as necessary). +// Make sure we update the nextchar pointer along the way. Any option +// we find should be returned and optarg should point to its argument. +// +// ^REQUIREMENTS: +// - nextchar must point to the prospective option character +// +// ^SIDE-EFFECTS: +// - iter is advanced when an argument completely parsed +// - optarg is modified to point to any option argument +// - if Options::QUIET is not set, error messages are printed on cerr +// +// ^RETURN-VALUE: +// 'c' if the the long-option corresponding to the -c option was matched +// (optarg points to its argument) +// BADKWD if the option is invalid (optarg points to the bad long-option +// name). +// +// ^ALGORITHM: +// It gets complicated -- follow the comments in the source. +// ^^------------------------------------------------------------------------- +int +Options::parse_longopt(OptIter & iter, const char * & _optarg) { + size_t len = 0; + int ambiguous = 0; + + listopt = NULLSTR ; // reset the list-spec + + if ((optvec == NULL) || (! *optvec)) return Options::ENDOPTS; + + // if a value is supplied in this argv element, get it now + const char * val = strpbrk(nextchar, ":=") ; + if (val) { + len = val - nextchar ; + ++val ; + } + + // Try to match a known long-option + OptionSpec optspec = match_longopt(nextchar, len, ambiguous); + + // Check for an unknown long-option + if (optspec.isNULL()) { + // See if this was a short-option in disguise + if ((! ambiguous) && (! (optctrls & Options::NOGUESSING))) { + unsigned save_ctrls = optctrls; + const char * save_nextchar = nextchar; + optctrls |= (Options::QUIET | Options::NOGUESSING); + int optchar = parse_opt(iter, _optarg); + optctrls = save_ctrls; + if (optchar > 0) { + return optchar; + } else { + nextchar = save_nextchar; + } + } + if (! (optctrls & Options::QUIET)) { + cerr << cmdname << ": " << ((ambiguous) ? "ambiguous" : "unknown") + << " option " + << ((optctrls & Options::LONG_ONLY) ? "-" : "--") + << nextchar << "." << endl ; + } + _optarg = nextchar; // record the bad option in optarg + nextchar = NULLSTR; // we've exhausted this argument + return (ambiguous) ? Options::AMBIGUOUS : Options::BADKWD; + } + + // If no argument is taken, then leave now + if (optspec.isNoArg()) { + if ((val) && ! (optctrls & Options::QUIET)) { + cerr << cmdname << ": option " + << ((optctrls & Options::LONG_ONLY) ? "-" : "--") + << optspec.LongOpt() << " does NOT take an argument." << endl ; + } + _optarg = val; // record the unexpected argument + nextchar = NULLSTR; // we've exhausted this argument + return optspec.OptChar(); + } + + // Check for argument in this arg + if (val) { + _optarg = val; // the argument is right here + nextchar = NULLSTR; // we exhausted the rest of this arg + if (optspec.isList()) listopt = optspec ; // save the list-spec + return optspec.OptChar(); + } + + // Check for argument in next arg + const char * nextarg = iter.curr(); // find the next argument to parse + if ((nextarg != NULL) && + (optspec.isValRequired() || (! isOption(optctrls, nextarg)))) { + _optarg = nextarg; // the argument is right here + iter.next(); // end of arg - advance + nextchar = NULLSTR; // we exhausted the rest of this arg + if (optspec.isList()) listopt = optspec ; // save the list-spec + return optspec.OptChar(); + } + + // No argument given - if its required, thats an error + _optarg = NULLSTR; + if (optspec.isValRequired() && !(optctrls & Options::QUIET)) { + const char * longopt = optspec.LongOpt(); + const char * spc = ::strchr(longopt, ' '); + size_t longopt_len; + if (spc) { + longopt_len = spc - longopt; + } else { + longopt_len = ::strlen(longopt); + } + cerr << cmdname << ": argument required for " + << ((optctrls & Options::LONG_ONLY) ? "-" : "--"); + cerr.write(longopt, longopt_len) << " option." << endl ; + } + nextchar = NULLSTR; // we exhausted the rest of this arg + return optspec.OptChar(); +} + +// --------------------------------------------------------------------------- +// ^FUNCTION: Options::usage - print usage +// +// ^SYNOPSIS: +// void Options::usage(os, positionals) +// +// ^PARAMETERS: +// ostream & os -- where to print the usage +// char * positionals -- command-line syntax for any positional args +// +// ^DESCRIPTION: +// Print command-usage (using either option or long-option syntax) on os. +// +// ^REQUIREMENTS: +// os should correspond to an open output file. +// +// ^SIDE-EFFECTS: +// Prints on os +// +// ^RETURN-VALUE: +// None. +// +// ^ALGORITHM: +// Print usage on os, wrapping long lines where necessary. +// ^^------------------------------------------------------------------------- +void +Options::usage(ostream & os, const char * positionals) const { +#ifdef NO_USAGE + return; +#else + const char * const * optv = optvec; + unsigned cols = 79; + int first, nloop; + char buf[256] ; + + if ((optv == NULL) || (! *optv)) return; + + // print first portion "usage: progname" + os << "usage: " << cmdname ; + size_t ll = strlen(cmdname) + 7; + + // save the current length so we know how much space to skip for + // subsequent lines. + // + size_t margin = ll + 1; + + // print the options and the positional arguments + for (nloop = 0, first = 1 ; !nloop ; optv++, first = 0) { + size_t len; + OptionSpec optspec = *optv; + + // figure out how wide this parameter is (for printing) + if (! *optv) { + len = strlen(positionals); + ++nloop; // terminate this loop + } else { + if (optspec.isHiddenOpt()) continue; + len = optspec.Format(buf, optctrls); + } + + // Will this fit? + if ((ll + len + 1) > (cols - first)) { + os << '\n' ; // No - start a new line; +#ifdef USE_STDIO + for (int _i_ = 0; _i_ < margin; ++_i_) os << " "; +#else + os.width(margin); os << "" ; +#endif + ll = margin; + } else { + os << ' ' ; // Yes - just throw in a space + ++ll; + } + ll += len; + os << ((nloop) ? positionals : buf) ; + }// for each ad + + os << endl ; +#endif /* NO_USAGE */ +} + + +// --------------------------------------------------------------------------- +// ^FUNCTION: Options::operator() - get options from the command-line +// +// ^SYNOPSIS: +// int Options::operator()(iter, optarg) +// +// ^PARAMETERS: +// OptIter & iter -- option iterator +// const char * & optarg -- where to store any option-argument +// +// ^DESCRIPTION: +// Parse the next option in iter (advancing as necessary). +// Make sure we update the nextchar pointer along the way. Any option +// we find should be returned and optarg should point to its argument. +// +// ^REQUIREMENTS: +// None. +// +// ^SIDE-EFFECTS: +// - iter is advanced when an argument is completely parsed +// - optarg is modified to point to any option argument +// - if Options::QUIET is not set, error messages are printed on cerr +// +// ^RETURN-VALUE: +// 0 if all options have been parsed. +// 'c' if the the option or long-option corresponding to the -c option was +// matched (optarg points to its argument). +// BADCHAR if the option is invalid (optarg points to the bad option char). +// BADKWD if the option is invalid (optarg points to the bad long-opt name). +// AMBIGUOUS if an ambiguous keyword name was given (optarg points to the +// ambiguous keyword name). +// POSITIONAL if PARSE_POS was set and the current argument is a positional +// parameter (in which case optarg points to the positional argument). +// +// ^ALGORITHM: +// It gets complicated -- follow the comments in the source. +// ^^------------------------------------------------------------------------- +int +Options::operator()(OptIter & iter, const char * & _optarg) { + int parse_opts_only = isOptsOnly(optctrls); + if (parse_opts_only) explicit_end = 0; + + // See if we have an option left over from before ... + if ((nextchar) && *nextchar) { + return parse_opt(iter, _optarg); + } + + // Check for end-of-options ... + const char * arg = NULLSTR; + int get_next_arg = 0; + do { + arg = iter.curr(); + get_next_arg = 0; + if (arg == NULL) { + listopt = NULLSTR; + return Options::ENDOPTS; + } else if ((! explicit_end) && isEndOpts(arg)) { + iter.next(); // advance past end-of-options arg + listopt = NULLSTR; + explicit_end = 1; + if (parse_opts_only) return Options::ENDOPTS; + get_next_arg = 1; // make sure we look at the next argument. + } + } while (get_next_arg); + + // Do we have a positional arg? + if ( explicit_end || (! isOption(optctrls, arg)) ) { + if (parse_opts_only) { + return Options::ENDOPTS; + } else { + _optarg = arg; // set optarg to the positional argument + iter.next(); // advance iterator to the next argument + return Options::POSITIONAL; + } + } + + iter.next(); // pass the argument that arg already points to + + // See if we have a long option ... + if (! (optctrls & Options::SHORT_ONLY)) { + if ((*arg == '-') && (arg[1] == '-')) { + nextchar = arg + 2; + return parse_longopt(iter, _optarg); + } else if ((optctrls & Options::PLUS) && (*arg == '+')) { + nextchar = arg + 1; + return parse_longopt(iter, _optarg); + } + } + if (*arg == '-') { + nextchar = arg + 1; + if (optctrls & Options::LONG_ONLY) { + return parse_longopt(iter, _optarg); + } else { + return parse_opt(iter, _optarg); + } + } + + // If we get here - it is because we have a list value + OptionSpec optspec = listopt; + _optarg = arg ; // record the list value + return optspec.OptChar() ; +} + + + diff --git a/ARMFCaptureD3D/options.h b/ARMFCaptureD3D/options.h new file mode 100644 index 0000000..cc15976 --- /dev/null +++ b/ARMFCaptureD3D/options.h @@ -0,0 +1,496 @@ +// **************************************************************************** +// ^FILE: options.h - option parsing classes +// +// ^DESCRIPTION: +// This file defines classes used to parse command-line options. +// Options may be parsed from an array of strings, or from any structure +// for which a corresponding option-iterator exists. +// +// ^HISTORY: +// 03/06/92 Brad Appleton Created +// +// 03/23/93 Brad Appleton +// - Added OptIstreamIter class +// +// 03/08/94 Brad Appleton +// - Added Options::reset() member function +// +// 07/31/97 Brad Appleton +// - Added PARSE_POS control flag and POSITIONAL return value +// ^^************************************************************************** + +#ifndef _options_h +#define _options_h + +#ifdef USE_STDIO +# include +#else +# include +using std::istream; +using std::ostream; +#endif + +// Abstract class to iterate through options/arguments +// +class OptIter { +public: + OptIter(void) {} + virtual ~OptIter(void); + + // curr() returns the current item in the iterator without + // advancing on to the next item. If we are at the end of items + // then NULL is returned. + virtual const char * + curr(void) = 0; + + // next() advances to the next item. + virtual void + next(void) = 0; + + // operator() returns the current item in the iterator and then + // advances on to the next item. If we are at the end of items + // then NULL is returned. + virtual const char * + operator()(void); +} ; + +// Abstract class for a rewindable OptIter +// +class OptIterRwd : public OptIter { +public: + OptIterRwd(void); + + virtual ~OptIterRwd(void); + + virtual const char * + curr(void) = 0; + + virtual void + next(void) = 0; + + virtual const char * + operator()(void) = 0; + + // rewind() resets the "current-element" to the first one in the "list" + virtual void + rewind(void) = 0; +} ; + +// Class to iterate through an array of tokens. The array may be terminated +// by NULL or a count containing the number of tokens may be given. +// +class OptArgvIter : public OptIterRwd { +private: + int ndx; // index of current arg + int ac; // arg count + const char * const * av; // arg vector + +public: + OptArgvIter(const char * const argv[]) + : ndx(0), ac(-1), av(argv) {} + + OptArgvIter(int argc, const char * const argv[]) + : ndx(0), ac(argc), av(argv) {} + + virtual + ~OptArgvIter(void); + + virtual const char * + curr(void); + + virtual void + next(void); + + virtual const char * + operator()(void); + + virtual void + rewind(void); + + // index returns the current index to use for argv[] + int index(void) { return ndx; } +} ; + + +// Class to iterate through a string containing delimiter-separated tokens +// +class OptStrTokIter : public OptIterRwd { +private: + unsigned len; // length of token-string + const char * str; // the token-string + const char * seps; // delimiter-set (separator-characters) + const char * cur; // current token + char * tokstr; // our copy of the token-string + + static const char * default_delims; // default delimiters = whitespace + +public: + OptStrTokIter(const char * tokens, const char * delimiters =0); + + virtual + ~OptStrTokIter(void); + + virtual const char * + curr(void); + + virtual void + next(void); + + virtual const char * + operator()(void); + + virtual void + rewind(void); + + // delimiters() with NO arguments returns the current set of delimiters, + // If an argument is given then it is used as the new set of delimiters. + const char * + delimiters(void) { return seps; } + + void + delimiters(const char * delims) { + seps = (delims) ? delims : default_delims ; + } +} ; + + + // OptIstreamIter is a class for iterating over arguments that come + // from an input stream. Each line of the input stream is considered + // to be a set of white-space separated tokens. If the the first + // non-white character on a line is '#' ('!' for VMS systems) then + // the line is considered a comment and is ignored. + // + // *Note:: If a line is more than 1022 characters in length then we + // treat it as if it were several lines of length 1022 or less. + // + // *Note:: The string tokens returned by this iterator are pointers + // to temporary buffers which may not necessarily stick around + // for too long after the call to curr() or operator(), hence + // if you need the string value to persist - you will need to + // make a copy. + // +class OptIstreamIter : public OptIter { +private: + istream & is ; + OptStrTokIter * tok_iter ; + + void + fill(void); + +public: + static const unsigned MAX_LINE_LEN ; + + OptIstreamIter(istream & input); + + virtual + ~OptIstreamIter(void); + + virtual const char * + curr(void); + + virtual void + next(void); + + virtual const char * + operator()(void); +} ; + + +// Now we are ready to define a class to declare and parse command-options +// +// +// CLASS +// ===== +// Options -- parse command-line options +// +// SYNOPSIS +// ======== +// #include +// +// Options opts(cmdname, optv); +// char cmdname[], *optv[]; +// +// DESCRIPTION +// =========== +// The Options constructor expects a command-name (usually argv[0]) and +// a pointer to an array of strings. The last element in this array MUST +// be NULL. Each non-NULL string in the array must have the following format: +// +// The 1st character must be the option-name ('c' for a -c option). +// +// The 2nd character must be one of '|', '?', ':', '*', or '+'. +// '|' -- indicates that the option takes NO argument; +// '?' -- indicates that the option takes an OPTIONAL argument; +// ':' -- indicates that the option takes a REQUIRED argument; +// '*' -- indicates that the option takes 0 or more arguments; +// '+' -- indicates that the option takes 1 or more arguments; +// +// The remainder of the string must be the long-option name. +// +// If desired, the long-option name may be followed by one or more +// spaces and then by the name of the option value. This name will +// be used when printing usage messages. If the option-value-name +// is not given then the string "" will be used in usage +// messages. +// +// One may use a space to indicate that a particular option does not +// have a corresponding long-option. For example, "c: " (or "c:") +// means the -c option takes a value & has NO corresponding long-option. +// +// To specify a long-option that has no corresponding single-character +// option is a bit trickier: Options::operator() still needs an "option- +// character" to return when that option is matched. One may use a whitespace +// character or a non-printable character as the single-character option +// in such a case. (hence " |hello" would only match "--hello"). +// +// EXCEPTIONS TO THE ABOVE: +// ------------------------ +// If the 1st character of the string is '-', then the rest of the +// string must correspond to the above format, and the option is +// considered to be a hidden-option. This means it will be parsed +// when actually matching options from the command-line, but will +// NOT show-up if a usage message is printed using the usage() member +// function. Such an example might be "-h|hidden". If you want to +// use any "dummy" options (options that are not parsed, but that +// to show up in the usage message), you can specify them along with +// any positional parameters to the usage() member function. +// +// If the 2nd character of the string is '\0' then it is assumed +// that there is no corresponding long-option and that the option +// takes no argument (hence "f", and "f| " are equivalent). +// +// Examples: +// const char * optv[] = { +// "c:count ", +// "s?str ", +// "x", +// " |hello", +// "g+groups ", +// NULL +// } ; +// +// optv[] now corresponds to the following: +// +// usage: cmdname [-c|--count ] [-s|--str []] +// [-x] [--hello] [-g|--groups ...] +// +// Long-option names are matched case-insensitive and only a unique prefix +// of the name needs to be specified. +// +// Option-name characters are case-sensitive! +// +// CAVEAT +// ====== +// Because of the way in which multi-valued options and options with optional +// values are handled, it is NOT possible to supply a value to an option in +// a separate argument (different argv[] element) if the value is OPTIONAL +// and begins with a '-'. What this means is that if an option "-s" takes an +// optional value value and you wish to supply a value of "-foo" then you must +// specify this on the command-line as "-s-foo" instead of "-s -foo" because +// "-s -foo" will be considered to be two separate sets of options. +// +// A multi-valued option is terminated by another option or by the end-of +// options. The following are all equivalent (if "-l" is a multi-valued +// option and "-x" is an option that takes no value): +// +// cmdname -x -l item1 item2 item3 -- arg1 arg2 arg3 +// cmdname -x -litem1 -litem2 -litem3 -- arg1 arg2 arg3 +// cmdname -l item1 item2 item3 -x arg1 arg2 arg3 +// +// +// EXAMPLE +// ======= +// #include +// +// static const char * optv[] = { +// "H|help", +// "c:count ", +// "s?str ", +// "x", +// " |hello", +// "g+groups ", +// NULL +// } ; +// +// main(int argc, char * argv[]) { +// int optchar; +// const char * optarg; +// const char * str = "default_string"; +// int count = 0, xflag = 0, hello = 0; +// int errors = 0, ngroups = 0; +// +// Options opts(*argv, optv); +// OptArgvIter iter(--argc, ++argv); +// +// while( optchar = opts(iter, optarg) ) { +// switch (optchar) { +// case 'H' : +// opts.usage(cout, "files ..."); +// exit(0); +// break; +// case 'g' : +// ++ngroups; break; // the groupname is in "optarg" +// case 's' : +// str = optarg; break; +// case 'x' : +// ++xflag; break; +// case ' ' : +// ++hello; break; +// case 'c' : +// if (optarg == NULL) ++errors; +// else count = (int) atol(optarg); +// break; +// default : ++errors; break; +// } //switch +// } +// +// if (errors || (iter.index() == argc)) { +// if (! errors) { +// cerr << opts.name() << ": no filenames given." << endl ; +// } +// opts.usage(cerr, "files ..."); +// exit(1); +// } +// +// cout << "xflag=" << ((xflag) ? "ON" : "OFF") << endl +// << "hello=" << ((hello) ? "YES" : "NO") << endl +// << "count=" << count << endl +// << "str=\"" << ((str) ? str : "No value given!") << "\"" << endl +// << "ngroups=" << ngroups << endl ; +// +// if (iter.index() < argc) { +// cout << "files=" ; +// for (int i = iter.index() ; i < argc ; i++) { +// cout << "\"" << argv[i] << "\" " ; +// } +// cout << endl ; +// } +// } +// +class Options { +private: + unsigned explicit_end : 1; // were we terminated because of "--"? + unsigned optctrls : 7; // control settings (a set of OptCtrl masks) + const char * const * optvec; // vector of option-specifications (last=NULL) + const char * nextchar; // next option-character to process + const char * listopt; // last list-option we matched + const char * cmdname; // name of the command + + void + check_syntax(void) const; + + const char * + match_opt(char opt, int ignore_case =0) const; + + const char * + match_longopt(const char * opt, size_t len, int & ambiguous) const; + + int + parse_opt(OptIter & iter, const char * & optarg); + + int + parse_longopt(OptIter & iter, const char * & optarg); + +public: + enum OptCtrl { + DEFAULT = 0x00, // Default setting + ANYCASE = 0x01, // Ignore case when matching short-options + QUIET = 0x02, // Dont print error messages + PLUS = 0x04, // Allow "+" as a long-option prefix + SHORT_ONLY = 0x08, // Dont accept long-options + LONG_ONLY = 0x10, // Dont accept short-options + // (also allows "-" as a long-option prefix). + NOGUESSING = 0x20, // Normally, when we see a short (long) option + // on the command line that doesnt match any + // known short (long) options, then we try to + // "guess" by seeing if it will match any known + // long (short) option. Setting this mask prevents + // this "guessing" from occurring. + PARSE_POS = 0x40 // By default, Options will not present positional + // command-line arguments to the user and will + // instead stop parsing when the first positonal + // argument has been encountered. If this flag + // is given, Options will present positional + // arguments to the user with a return code of + // POSITIONAL; ENDOPTS will be returned only + // when the end of the argument list is reached. + } ; + + // Error return values for operator() + // + enum OptRC { + ENDOPTS = 0, + BADCHAR = -1, + BADKWD = -2, + AMBIGUOUS = -3, + POSITIONAL = -4 + } ; + + Options(const char * name, const char * const optv[]); + + virtual + ~Options(void); + + // name() returns the command name + const char * + name(void) const { return cmdname; } + + // ctrls() (with no arguments) returns the existing control settings + unsigned + ctrls(void) const { return optctrls; } + + // ctrls() (with 1 argument) sets new control settings + void + ctrls(unsigned newctrls) { optctrls = newctrls; } + + // reset for another pass to parse for options + void + reset(void) { nextchar = listopt = NULL; } + + // usage() prints options usage (followed by any positional arguments + // listed in the parameter "positionals") on the given outstream + void + usage(ostream & os, const char * positionals) const ; + + // operator() iterates through the arguments as necessary (using the + // given iterator) and returns the character value of the option + // (or long-option) that it matched. If the option has a value + // then the value given may be found in optarg (otherwise optarg + // will be NULL). + // + // 0 is returned upon end-of-options. At this point, "iter" may + // be used to process any remaining positional parameters. If the + // PARSE_POS control-flag is set then 0 is returned only when all + // arguments in "iter" have been exhausted. + // + // If an invalid option is found then BADCHAR is returned and *optarg + // is the unrecognized option character. + // + // If an invalid long-option is found then BADKWD is returned and optarg + // points to the bad long-option. + // + // If an ambiguous long-option is found then AMBIGUOUS is returned and + // optarg points to the ambiguous long-option. + // + // If the PARSE_POS control-flag is set then POSITIONAL is returned + // when a positional argument is encountered and optarg points to + // the positonal argument (and "iter" is advanced to the next argument + // in the iterator). + // + // Unless Options::QUIET is used, missing option-arguments and + // invalid options (and the like) will automatically cause error + // messages to be issued to cerr. + int + operator()(OptIter & iter, const char * & optarg) ; + + // Call this member function after operator() has returned 0 + // if you want to know whether or not options were explicitly + // terminated because "--" appeared on the command-line. + // + int + explicit_endopts() const { return explicit_end; } +} ; + +#endif /* _options_h */ + + diff --git a/ARMFCaptureD3D/preview.cpp b/ARMFCaptureD3D/preview.cpp new file mode 100644 index 0000000..e8d3624 --- /dev/null +++ b/ARMFCaptureD3D/preview.cpp @@ -0,0 +1,701 @@ +////////////////////////////////////////////////////////////////////////// +// +// preview.cpp: Manages video preview. +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +////////////////////////////////////////////////////////////////////////// + +#include "ARMFCaptureD3D.h" +#include "debug.h" +#include +#include "ARAnalyse.h" + +extern ARAnalyse *g_pAnalyse; + +extern HWND g_hStatus; + +//------------------------------------------------------------------- +// CreateInstance +// +// Static class method to create the CPreview object. +//------------------------------------------------------------------- + +HRESULT CPreview::CreateInstance( + HWND hVideo, // Handle to the video window. + HWND hEvent, // Handle to the window to receive notifications. + CPreview **ppPlayer // Receives a pointer to the CPreview object. + ) +{ + assert(hVideo != NULL); + assert(hEvent != NULL); + + if (ppPlayer == NULL) + { + return E_POINTER; + } + + CPreview *pPlayer = new (std::nothrow) CPreview(hVideo, hEvent); + + // The CPlayer constructor sets the ref count to 1. + + if (pPlayer == NULL) + { + return E_OUTOFMEMORY; + } + + HRESULT hr = pPlayer->Initialize(); + + if (SUCCEEDED(hr)) + { + *ppPlayer = pPlayer; + (*ppPlayer)->AddRef(); + } + + SafeRelease(&pPlayer); + return hr; +} + + +//------------------------------------------------------------------- +// constructor +//------------------------------------------------------------------- + +CPreview::CPreview(HWND hVideo, HWND hEvent) : + m_pReader(NULL), + m_pSource(NULL), + m_hwndVideo(hVideo), + m_hwndEvent(hEvent), + m_nRefCount(1), + m_pwszSymbolicLink(NULL), + m_cchSymbolicLink(0) +{ + InitializeCriticalSection(&m_critsec); + m_video = true; + m_transform = false; + m_moyen = false; +} + +//------------------------------------------------------------------- +// destructor +//------------------------------------------------------------------- + +CPreview::~CPreview() +{ + CloseDevice(); + m_draw.DestroyDevice(); + DeleteCriticalSection(&m_critsec); +} + + +//------------------------------------------------------------------- +// Initialize +// +// Initializes the object. +//------------------------------------------------------------------- + +HRESULT CPreview::Initialize() +{ + HRESULT hr = S_OK; + + hr = m_draw.CreateDevice(m_hwndVideo); + + return hr; +} + +bool CPreview::ToggleVideo() +{ + m_video = !m_video; + return m_video; +} + +bool CPreview::ToggleTransform() +{ + m_transform = !m_transform; + return m_transform; +} +bool CPreview::ToggleMoyen() +{ + m_moyen = !m_moyen; + return m_moyen; +} + +//------------------------------------------------------------------- +// CloseDevice +// +// Releases all resources held by this object. +//------------------------------------------------------------------- + +HRESULT CPreview::CloseDevice() +{ + EnterCriticalSection(&m_critsec); + + if ( m_pSource ) + { + m_pSource->Stop(); + m_pSource->Shutdown(); + } + + SafeRelease(&m_pReader); + SafeRelease(&m_pSource); + + + CoTaskMemFree(m_pwszSymbolicLink); + m_pwszSymbolicLink = NULL; + m_cchSymbolicLink = 0; + + LeaveCriticalSection(&m_critsec); + return S_OK; +} + + +/////////////// IUnknown methods /////////////// + +//------------------------------------------------------------------- +// AddRef +//------------------------------------------------------------------- + +ULONG CPreview::AddRef() +{ + return InterlockedIncrement(&m_nRefCount); +} + + +//------------------------------------------------------------------- +// Release +//------------------------------------------------------------------- + +ULONG CPreview::Release() +{ + ULONG uCount = InterlockedDecrement(&m_nRefCount); + if (uCount == 0) + { + delete this; + } + // For thread safety, return a temporary variable. + return uCount; +} + + + +//------------------------------------------------------------------- +// QueryInterface +//------------------------------------------------------------------- + +HRESULT CPreview::QueryInterface(REFIID riid, void** ppv) +{ + static const QITAB qit[] = + { + QITABENT(CPreview, IMFSourceReaderCallback), + { 0 }, + }; + return QISearch(this, qit, riid, ppv); +} + + +/////////////// IMFSourceReaderCallback methods /////////////// + +//------------------------------------------------------------------- +// OnReadSample +// +// Called when the IMFMediaSource::ReadSample method completes. +//------------------------------------------------------------------- + +HRESULT CPreview::OnReadSample( + HRESULT hrStatus, + DWORD dwStreamIndex, + DWORD /*dwStreamFlags*/, + LONGLONG llTimestamp, + IMFSample *pSample // Can be NULL + ) +{ + HRESULT hr = hrStatus; + IMFMediaBuffer *pBuffer = NULL; + DWORD cbCurrentLength = 0; + + EnterCriticalSection(&m_critsec); + + if (SUCCEEDED(hr)) + { + if (pSample) + { + // Get the video frame buffer from the sample. + hr = pSample->ConvertToContiguousBuffer(&pBuffer); + + // AR analyse + if ( g_pAnalyse && SUCCEEDED(hr) ) + { + BYTE *image_buffer=0; + pBuffer->Lock( &image_buffer, 0, &cbCurrentLength ); + double time = (double)(llTimestamp)/ 10000000.0; + // Gray scale & blur & threshold + if ( m_transform) + g_pAnalyse->Transform( image_buffer, cbCurrentLength, m_moyen ); + g_pAnalyse->Analyse(time, image_buffer, cbCurrentLength ); + pBuffer->Unlock(); + } + // Draw the frame. + + if ( m_video && SUCCEEDED(hr)) + { + hr = m_draw.DrawFrame(pBuffer); + } + + } + } + // Request the next frame. + if (m_pReader && SUCCEEDED(hr)) + { + hr = m_pReader->ReadSample( + dwStreamIndex, + 0, + NULL, // actual + NULL, // flags + NULL, // timestamp + NULL // sample + ); + } + + if (FAILED(hr)) + { + NotifyError(hr); + } + if ( pBuffer ) SafeRelease(&pBuffer); + + LeaveCriticalSection(&m_critsec); + + if (g_pAnalyse && SUCCEEDED(hr)) + { + // display status message + WCHAR szBuf[1024]; + + StringCbPrintf(szBuf, sizeof(szBuf),TEXT("Markers count=%3d confidence=( %0.1f / %0.1f / %0.1f ) FPS=( %0.1f / %0.1f / %0.1f ) delay=( %0.3f / %0.3f / %0.3f )"), + g_pAnalyse->markers.size(), + g_pAnalyse->confidence.Min(), g_pAnalyse->confidence.Max(), g_pAnalyse->confidence.Avg() , + g_pAnalyse->frame_per_seconds.Min(), g_pAnalyse->frame_per_seconds.Max(), g_pAnalyse->frame_per_seconds.Avg(), + g_pAnalyse->frame_delay.Min(), g_pAnalyse->frame_delay.Max(), g_pAnalyse->frame_delay.Avg() ); + SendMessage(g_hStatus, SB_SETTEXT, 0, (LPARAM)(LPSTR)szBuf ); + } + + return hr; +} + + +//------------------------------------------------------------------- +// TryMediaType +// +// Test a proposed video format. +//------------------------------------------------------------------- + +HRESULT CPreview::TryMediaType(IMFMediaType *pType) +{ + HRESULT hr = S_OK; + + BOOL bFound = FALSE; + GUID subtype = { 0 }; + + hr = pType->GetGUID(MF_MT_SUBTYPE, &subtype); + + if (FAILED(hr)) + { + return hr; + } + + // Do we support this type directly? + if (m_draw.IsFormatSupported(subtype)) + { + bFound = TRUE; + } + else + { + // Can we decode this media type to one of our supported + // output formats? + + for (DWORD i = 0; ; i++) + { + // Get the i'th format. + hr = m_draw.GetFormat(i, &subtype); + if (FAILED(hr)) { break; } + + hr = pType->SetGUID(MF_MT_SUBTYPE, subtype); + + if (FAILED(hr)) { break; } + + // Try to set this type on the source reader. + hr = m_pReader->SetCurrentMediaType( + (DWORD)MF_SOURCE_READER_FIRST_VIDEO_STREAM, + NULL, + pType + ); + + if (SUCCEEDED(hr)) + { + bFound = TRUE; + break; + } + } + } + + if (bFound) + { + EnterCriticalSection(&m_critsec); + hr = m_draw.SetVideoType(pType); + LeaveCriticalSection(&m_critsec); + } + + return hr; +} + +//------------------------------------------------------------------- +// SetDevice +// +// Set up preview for a specified video capture device. +//------------------------------------------------------------------- + +HRESULT CPreview::SetDevice(IMFActivate *pActivate, int formatType) +{ + HRESULT hr = S_OK; + + IMFAttributes *pAttributes = NULL; + IMFMediaType *pType = NULL; + + EnterCriticalSection(&m_critsec); + + // Release the current device, if any. + + hr = CloseDevice(); + + // Create the media source for the device. + if (SUCCEEDED(hr)) + { + hr = pActivate->ActivateObject( + __uuidof(IMFMediaSource), + (void**)&m_pSource + ); + } + + // Get the symbolic link. + if (SUCCEEDED(hr)) + { + hr = pActivate->GetAllocatedString( + MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, + &m_pwszSymbolicLink, + &m_cchSymbolicLink + ); + } + + // + // Create the source reader. + // + + // Create an attribute store to hold initialization settings. + + if (SUCCEEDED(hr)) + { + hr = MFCreateAttributes(&pAttributes, 2); + } + if (SUCCEEDED(hr)) + { + hr = pAttributes->SetUINT32(MF_READWRITE_DISABLE_CONVERTERS, TRUE); + } + + // Set the callback pointer. + if (SUCCEEDED(hr)) + { + hr = pAttributes->SetUnknown( + MF_SOURCE_READER_ASYNC_CALLBACK, + this + ); + } + + if (SUCCEEDED(hr)) + { + hr = MFCreateSourceReaderFromMediaSource( + m_pSource, + pAttributes, + &m_pReader + ); + } + + + // Try to find a suitable output type. + if (SUCCEEDED(hr)) + { + + for (DWORD i = formatType; ; i++) + { + hr = m_pReader->GetNativeMediaType( + (DWORD)MF_SOURCE_READER_FIRST_VIDEO_STREAM, + i, + &pType + ); + + if (FAILED(hr)) { break; } + + //hr = TryMediaType(pType); already done in SetFormat !! + hr = SetFormat(pType); + + SafeRelease(&pType); + + if (SUCCEEDED(hr)) + { + // Found an output type. + + break; + } + } + } + if (SUCCEEDED(hr)) + { + // Ask for the first sample. + hr = m_pReader->ReadSample( + (DWORD)MF_SOURCE_READER_FIRST_VIDEO_STREAM, + 0, + NULL, + NULL, + NULL, + NULL + ); + } + + if (FAILED(hr)) + { + if (m_pSource) + { + m_pSource->Shutdown(); + + // NOTE: The source reader shuts down the media source + // by default, but we might not have gotten that far. + } + CloseDevice(); + } + + + SafeRelease(&pAttributes); + SafeRelease(&pType); + + LeaveCriticalSection(&m_critsec); + return hr; +} + + + +//------------------------------------------------------------------- +// ResizeVideo +// Resizes the video rectangle. +// +// The application should call this method if the size of the video +// window changes; e.g., when the application receives WM_SIZE. +//------------------------------------------------------------------- + +HRESULT CPreview::ResizeVideo(WORD /*width*/, WORD /*height*/) +{ + HRESULT hr = S_OK; + + EnterCriticalSection(&m_critsec); + + hr = m_draw.ResetDevice(); + + if (FAILED(hr)) + { + MessageBox(NULL, L"ResetDevice failed!", NULL, MB_OK); + } + + LeaveCriticalSection(&m_critsec); + + return hr; +} + + +//------------------------------------------------------------------- +// CheckDeviceLost +// Checks whether the current device has been lost. +// +// The application should call this method in response to a +// WM_DEVICECHANGE message. (The application must register for +// device notification to receive this message.) +//------------------------------------------------------------------- + +HRESULT CPreview::CheckDeviceLost(DEV_BROADCAST_HDR *pHdr, BOOL *pbDeviceLost) +{ + DEV_BROADCAST_DEVICEINTERFACE *pDi = NULL; + + if (pbDeviceLost == NULL) + { + return E_POINTER; + } + + *pbDeviceLost = FALSE; + + if (pHdr == NULL) + { + return S_OK; + } + + if (pHdr->dbch_devicetype != DBT_DEVTYP_DEVICEINTERFACE) + { + return S_OK; + } + + pDi = (DEV_BROADCAST_DEVICEINTERFACE*)pHdr; + + + EnterCriticalSection(&m_critsec); + + if (m_pwszSymbolicLink) + { + if (_wcsicmp(m_pwszSymbolicLink, pDi->dbcc_name) == 0) + { + *pbDeviceLost = TRUE; + } + } + + LeaveCriticalSection(&m_critsec); + + return S_OK; +} + +HRESULT CPreview::EnumerateCaptureFormats(IMFMediaType ***pppTypes, UINT32 *pcCount) +{ + IMFPresentationDescriptor *pPD = NULL; + IMFStreamDescriptor *pSD = NULL; + IMFMediaTypeHandler *pHandler = NULL; + IMFMediaType *pType = NULL; + + HRESULT hr = m_pSource->CreatePresentationDescriptor(&pPD); + if (FAILED(hr)) + { + goto done; + } + + BOOL fSelected; + hr = pPD->GetStreamDescriptorByIndex(0, &fSelected, &pSD); + if (FAILED(hr)) + { + goto done; + } + + hr = pSD->GetMediaTypeHandler(&pHandler); + if (FAILED(hr)) + { + goto done; + } + + DWORD cTypes = 0; + hr = pHandler->GetMediaTypeCount(&cTypes); + if (FAILED(hr)) + { + goto done; + } + *pcCount = cTypes; + *pppTypes = (IMFMediaType**)CoTaskMemAlloc( cTypes * sizeof(IMFMediaType*)); + + for (DWORD i = 0; i < cTypes; i++) + { + hr = pHandler->GetMediaTypeByIndex(i, &pType); + if (FAILED(hr)) + { + goto done; + } + (*pppTypes)[i] = pType; + pType->AddRef(); + // LogMediaType(pType); + //OutputDebugString(L"\n"); + + SafeRelease(&pType); + } + +done: + SafeRelease(&pPD); + SafeRelease(&pSD); + SafeRelease(&pHandler); + SafeRelease(&pType); + return hr; +} + +HRESULT CPreview::SetFormat(IMFMediaType *pType) +{ + IMFPresentationDescriptor *pPD = NULL; + IMFStreamDescriptor *pSD = NULL; + IMFMediaTypeHandler *pHandler = NULL; + UINT32 width; + UINT32 height; + UINT32 sample_size; + //IMFMediaType *pType = NULL; + EnterCriticalSection(&m_critsec); + + HRESULT hr = m_pSource->CreatePresentationDescriptor(&pPD); + if (FAILED(hr)) + { + goto done; + } + + BOOL fSelected; + hr = pPD->GetStreamDescriptorByIndex(0, &fSelected, &pSD); + if (FAILED(hr)) + { + goto done; + } + + hr = pSD->GetMediaTypeHandler(&pHandler); + if (FAILED(hr)) + { + goto done; + } + + /*hr = pHandler->GetMediaTypeByIndex(dwFormatIndex, &pType); + if (FAILED(hr)) + { + goto done; + }*/ + + hr = pHandler->SetCurrentMediaType(pType); + if (FAILED(hr)) + { + goto done; + } + LeaveCriticalSection(&m_critsec); + + hr = TryMediaType(pType); + + EnterCriticalSection(&m_critsec); + + if (FAILED(hr)) + { + goto done; + } + hr = MFGetAttributeSize( pType, MF_MT_FRAME_SIZE, &width, &height); + if (FAILED(hr)) + { + goto done; + } + hr = pType->GetUINT32( MF_MT_SAMPLE_SIZE, &sample_size); + if (FAILED(hr)) + { + goto done; + } + LogMediaType(pType); + + // Initialize AR Anayse + if ( g_pAnalyse ) + g_pAnalyse->InitialiseTracker( width, height, sample_size ); + +done: + SafeRelease(&pPD); + SafeRelease(&pSD); + SafeRelease(&pHandler); + //SafeRelease(&pType); + + LeaveCriticalSection(&m_critsec); + + return hr; +} + + + + diff --git a/ARMFCaptureD3D/preview.h b/ARMFCaptureD3D/preview.h new file mode 100644 index 0000000..968f1a9 --- /dev/null +++ b/ARMFCaptureD3D/preview.h @@ -0,0 +1,97 @@ +////////////////////////////////////////////////////////////////////////// +// +// preview.h: Manages video preview. +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +////////////////////////////////////////////////////////////////////////// + +#pragma once +#include + + +const UINT WM_APP_PREVIEW_ERROR = WM_APP + 1; // wparam = HRESULT + + +class CPreview : public IMFSourceReaderCallback +{ +public: + static HRESULT CreateInstance( + HWND hVideo, + HWND hEvent, + CPreview **ppPlayer + ); + + // IUnknown methods + STDMETHODIMP QueryInterface(REFIID iid, void** ppv); + STDMETHODIMP_(ULONG) AddRef(); + STDMETHODIMP_(ULONG) Release(); + + // IMFSourceReaderCallback methods + STDMETHODIMP OnReadSample( + HRESULT hrStatus, + DWORD dwStreamIndex, + DWORD dwStreamFlags, + LONGLONG llTimestamp, + IMFSample *pSample + ); + + STDMETHODIMP OnEvent(DWORD, IMFMediaEvent *) + { + return S_OK; + } + + STDMETHODIMP OnFlush(DWORD) + { + return S_OK; + } + + HRESULT SetDevice(IMFActivate *pActivate, int formatType); + HRESULT CloseDevice(); + HRESULT ResizeVideo(WORD width, WORD height); + HRESULT CheckDeviceLost(DEV_BROADCAST_HDR *pHdr, BOOL *pbDeviceLost); + HRESULT EnumerateCaptureFormats(IMFMediaType ***pppTypes, UINT32 *pcCount); + HRESULT SetFormat(IMFMediaType *pActivate); + + bool ToggleVideo(); + bool ToggleTransform(); + bool ToggleMoyen(); + + +protected: + + bool m_video; + bool m_transform; + bool m_moyen; + + // Constructor is private. Use static CreateInstance method to create. + CPreview(HWND hVideo, HWND hEvent); + + // Destructor is private. Caller should call Release. + virtual ~CPreview(); + + HRESULT Initialize(); + void NotifyError(HRESULT hr) { PostMessage(m_hwndEvent, WM_APP_PREVIEW_ERROR, (WPARAM)hr, 0L); } + HRESULT TryMediaType(IMFMediaType *pType); + + long m_nRefCount; // Reference count. + CRITICAL_SECTION m_critsec; + + HWND m_hwndVideo; // Video window. + HWND m_hwndEvent; // Application window to receive events. + + IMFSourceReader *m_pReader; + IMFMediaSource *m_pSource; + + DrawDevice m_draw; // Manages the Direct3D device. + + WCHAR *m_pwszSymbolicLink; + UINT32 m_cchSymbolicLink; + + +}; \ No newline at end of file diff --git a/ARMFCaptureD3D/readme.txt b/ARMFCaptureD3D/readme.txt new file mode 100644 index 0000000..2b85378 --- /dev/null +++ b/ARMFCaptureD3D/readme.txt @@ -0,0 +1,51 @@ +MFCaptureD3D Sample +================================ +Demonstrates how to preview video from a capture device, using +Direct3D to draw the video frames. + + +Sample Language Implementations +=============================== +C++ + + +Files: +============================================= +BufferLock.h +Debug +device.cpp +device.h +MFCaptureD3D.h +MFCaptureD3D.rc +MFCaptureD3D.sln +MFCaptureD3D.vcproj +preview.cpp +preview.h +readme.txt +resource.h +winmain.cpp + + +To build the sample using the command prompt: +============================================= + 1. Open the Command Prompt window and navigate to the MFCaptureD3D directory. + 2. Type msbuild MFCaptureD3D.sln. + + +To build the sample using Visual Studio (preferred method): +=========================================================== + 1. Open Windows Explorer and navigate to the MFCaptureD3D directory. + 2. Double-click the icon for the MFCaptureD3D.sln file to open the file in Visual Studio. + 3. In the Build menu, select Build Solution. The application will be built in the default \Debug or \Release directory. + + +To run the sample: +================= + 1. Navigate to the directory that contains the new executable, using the command prompt or Windows Explorer. + 2. Type MFCaptureD3D.exe at the command line, or double-click the icon for MFCaptureD3D.exe to launch it from Windows Explorer. + +On startup, the application enumerates the available video-capture +devices and begins streaming from the first device in the list. + +To select a different capture device, select Choose Device from the +File menu. diff --git a/ARMFCaptureD3D/resource.h b/ARMFCaptureD3D/resource.h new file mode 100644 index 0000000..67cd108 --- /dev/null +++ b/ARMFCaptureD3D/resource.h @@ -0,0 +1,66 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by ARMFCaptureD3D.rc +// +#define IDR_MENU1 101 +#define IDD_CHOOSE_DEVICE 102 +#define IDD_CHOOSE_VIDEO 103 +#define IDC_LIST1 1001 +#define IDC_DEVICE_LIST 1001 +#define IDC_VIDEO_LIST 1001 +#define ID_ACTION_CHOOSEDEVICE 40001 +#define ID_ACTION_DISPLAYVIDEO 40002 +#define ID_ACTION_CALIBRATE 40003 +#define ID_ACTION_CHOOSEFORMAT 40004 +#define ID_CONFIDENCE_MIN 40005 +#define ID_CONFIDENCE_MAX 40006 +#define ID_CONFIDENCE_ID 40007 +#define ID_FILE_CONFIDENCE 40008 +#define ID_BUTTON2 40009 +#define ID_ACTION_AUTOTHRESHOLD 40010 +#define ID_ACTION_TRANSFORM 40014 +#define ID_DOWNSAMPLE_FACTEUR2 40015 +#define ID_DOWNSAMPLE_FACTEUR4 40016 +#define ID_DOWNSAMPLE_FACTEUR8 40017 +#define ID_BLURPASSE_1PASS 40018 +#define ID_BLURPASSE_2PASSES 40019 +#define ID_BLURPASSE_3PASSES 40020 +#define ID_BLURPASSE_4PASSES 40021 +#define ID_BLURPASSE_2PASS 40022 +#define ID_BLURPASSE_3PASS 40023 +#define ID_BLURPASSE_4PASS 40024 +#define ID_BLURPASSE_5PASSES 40025 +#define ID_BLURPASSE_6PASSES 40026 +#define ID_BLURPASSE_6PASS 40027 +#define ID_BLURPASSE_5PASS 40028 +#define ID_BLURPASSE_10PASSES 40029 +#define ID_BLURPASSE_10PASS 40030 +#define ID_AFFICHAGE_GRAYSCALE 40031 +#define ID_AFFICHAGE_BLUR 40032 +#define ID_AFFICHAGE_DIFF 40033 +#define ID_AFFICHAGE_THRESHOLD 40034 +#define ID_BLURPASSE_0PASSES 40035 +#define ID_DOWNSAMPLE_FACTEUR1 40036 +#define ID_BLURPASSE_0PASS 40037 +#define ID_AFFICHAGE_MOYEN 40038 +#define ID_ACTION_CALCMOYEN 40039 +#define ID_FILTER_MOYEN 40040 +#define ID_FILTER_LAPLACIEN4 40041 +#define ID_FILTER_LAPLACIEN8 40042 +#define ID_FILTER_LAPLACIEND 40043 +#define ID_FILTER_SOBEL 40044 +#define ID_FILTER_PREWITT 40045 +#define ID_FILTER_GAUSSIAN 40046 +#define ID_ACTION_SAVEPROJECTIONDATA 40047 +#define IDC_STATIC -1 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 111 +#define _APS_NEXT_COMMAND_VALUE 40048 +#define _APS_NEXT_CONTROL_VALUE 1002 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/ARMFCaptureD3D/ribbon1.mfcribbon-ms b/ARMFCaptureD3D/ribbon1.mfcribbon-ms new file mode 100644 index 0000000..ed43ba9 --- /dev/null +++ b/ARMFCaptureD3D/ribbon1.mfcribbon-ms @@ -0,0 +1,20 @@ + + +
+ 1 +
+ + + + Category + Category + + + Panel + Panel + + + + + +
diff --git a/ARMFCaptureD3D/toolbar1.bmp b/ARMFCaptureD3D/toolbar1.bmp new file mode 100644 index 0000000..58fccf2 Binary files /dev/null and b/ARMFCaptureD3D/toolbar1.bmp differ diff --git a/ARMFCaptureD3D/winmain.cpp b/ARMFCaptureD3D/winmain.cpp new file mode 100644 index 0000000..02ad991 --- /dev/null +++ b/ARMFCaptureD3D/winmain.cpp @@ -0,0 +1,1416 @@ +////////////////////////////////////////////////////////////////////////// +// +// winmain.cpp : Application entry-point +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +////////////////////////////////////////////////////////////////////////// + +#include "ARMFCaptureD3D.h" +#include "resource.h" +#include "ConfigFile\ConfigFile.h" +#include "debug.h" +#include "options.h" +#include "ARAnalyse.h" + +// Include the v6 common controls in the manifest +#pragma comment(linker, \ + "\"/manifestdependency:type='Win32' "\ + "name='Microsoft.Windows.Common-Controls' "\ + "version='6.0.0.0' "\ + "processorArchitecture='*' "\ + "publicKeyToken='6595b64144ccf1df' "\ + "language='*'\"") + + +// +// ChooseDeviceParam structure +// +// Holds an array of IMFActivate pointers that represent video +// capture devices. +// + +struct ChooseDeviceParam +{ + IMFActivate **ppDevices; // Array of IMFActivate pointers. + UINT32 count; // Number of elements in the array. + UINT32 selection; // Selected device, by array index. +}; + + +// +// ChooseDeviceParam structure +// +// Holds an array of IMFActivate pointers that represent video +// capture devices. +// + +struct ChooseVideoParam +{ + IMFMediaType **ppTypes; // Array of IMFMediaType pointers. + UINT32 count; // Number of elements in the array. + UINT32 selection; // Selected device, by array index. +}; + +BOOL InitializeApplication(); +BOOL InitializeWindow(HWND *pHwnd); +void CleanUp(); +INT MessageLoop(HWND hwnd); + +LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK DeviceDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK VideoDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); +void ShowErrorMessage(PCWSTR format, HRESULT hr); + +// Window message handlers +BOOL OnCreate(HWND hwnd, LPCREATESTRUCT lpCreateStruct); +void OnClose(HWND hwnd); +void OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify); +void OnSize(HWND hwnd, UINT state, int cx, int cy); +void OnDeviceChange(HWND hwnd, DEV_BROADCAST_HDR *pHdr); +void OnPaint(HWND hwnd); +void OnInitMenu(HWND hwnd, HMENU menu); + +// Command handlers +void OnChooseDevice(HWND hwnd, BOOL bPrompt, const WCHAR *name, int instance); +void OnChooseFormat(HWND hwnd, BOOL bPrompt, int index); +int DeviceGetByName(ChooseDeviceParam *pParam , const WCHAR* name, int instance); + + +// Constants +const WCHAR CLASS_NAME[] = L"MFCapture Window Class"; +const WCHAR WINDOW_NAME[] = L"MFCapture Sample Application"; + + + +// Global variables +HWND g_hVideo = NULL; +HWND g_hStatus = NULL; +HWND g_hTrack = NULL; +int g_Threshold = 125; + +HWND g_hTrackSeuilMin = NULL; +int g_ThresholdMin = 127; + +HWND g_hTrackSeuilMax = NULL; +int g_ThresholdMax = 127; + +CPreview *g_pPreview = NULL; +HDEVNOTIFY g_hdevnotify = NULL; +ARAnalyse *g_pAnalyse = NULL; +ConfigFile *g_config = NULL; + +std::wstring g_camera_name; +int g_camera_instance = 0; +std::string g_ivy_domain; +int g_format_video = 0; +bool g_toggle_video = false; +bool g_read_calibrationfile = false; + +// command line options + +std::wstring widen( const string& str ) +{ + std::wostringstream wstm ; + const std::ctype& ctfacet = std::use_facet< std::ctype >( wstm.getloc() ) ; + for( size_t i=0 ; i& ctfacet = std::use_facet< std::ctype >( stm.getloc() ) ; + for( size_t i=0 ; i default: Logitech", + "i:instcam default: 0", + "b:bus ", + "v|video non affichage video", + "f:format ", + "p:projection Read ProjectionFile ", + NULL + } ; + + Options opts("ARIvy", optv); + opts.ctrls( Options::LONG_ONLY ); + OptStrTokIter iter(argv); + + while( (optchar = opts(iter, pa_optarg)) != 0 ) { + switch (optchar) { + + case 'c': + g_camera_name = widen( pa_optarg ); + break; + case 'i': + g_camera_instance = atoi( pa_optarg ); + break; + + case 'b': + g_ivy_domain = pa_optarg; + break; + case 'v': + g_toggle_video = true; + break; + case 'f': + g_format_video = atoi( pa_optarg ); + break; + case 'p': + g_read_calibrationfile = true; + break; + case 'h': // Help + default: + ++errors; + break; + } + } + + if (errors) { + opts.usage(std::cout,""); + getchar(); + exit(0); + } + +} + +//------------------------------------------------------------------- +// WinMain +// +// Application entry-point. +//------------------------------------------------------------------- + +INT WINAPI wWinMain(HINSTANCE/* hInstance*/, HINSTANCE /*hPrevInstance*/,LPWSTR lpCmdLine, INT /*nCmdShow*/ ) +{ + + HWND hwnd = 0; + char *cmdLine = narrow(lpCmdLine) ; + + parse_args(cmdLine); + free( cmdLine ); + try + { + g_config = new ConfigFile("data\\config.inp"); + HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0); + + // camera param + if ( g_camera_name.length() == 0 ) + g_camera_name = widen(g_config->read("CameraName", "Logitech")); + + // Ivy + if ( g_ivy_domain.length() == 0 ) + g_ivy_domain = g_config->read("IvyBus",""); + + if (InitializeApplication() && InitializeWindow(&hwnd)) + { + MessageLoop(hwnd); + } + + CleanUp(); + + return 0; + } + catch(ConfigFile::file_not_found ex) + { + WCHAR msg[MAX_PATH]; + HRESULT hr = S_OK; + hr = StringCbPrintfW(msg, sizeof(msg), L"Fichier de configuration not trouve: %S", ex.filename.c_str()); + + if (SUCCEEDED(hr)) + { + MessageBox(NULL, msg, L"Error", MB_ICONERROR); + } + return -1; + } + catch( ConfigFile::key_not_found ex) + { + WCHAR msg[MAX_PATH]; + HRESULT hr = S_OK; + hr = StringCbPrintfW(msg, sizeof(msg), L"cle manquante dans le fichier de configuration: %S", ex.key.c_str()); + + if (SUCCEEDED(hr)) + { + MessageBox(NULL, msg, L"Error", MB_ICONERROR); + }return -1; + } + +} + + +//------------------------------------------------------------------- +// WindowProc +// +// Window procedure. +//------------------------------------------------------------------- + +LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + switch (uMsg) + { + HANDLE_MSG(hwnd, WM_CREATE, OnCreate); + HANDLE_MSG(hwnd, WM_CLOSE, OnClose); + HANDLE_MSG(hwnd, WM_COMMAND, OnCommand); + HANDLE_MSG(hwnd, WM_SIZE, OnSize); + HANDLE_MSG(hwnd, WM_INITMENU, OnInitMenu); + + case WM_APP_PREVIEW_ERROR: + ShowErrorMessage(L"Error", (HRESULT)wParam); + break; + + case WM_DEVICECHANGE: + OnDeviceChange(hwnd, (PDEV_BROADCAST_HDR)lParam); + break; + case WM_ERASEBKGND: + // Suppress window erasing, to reduce flickering while the video is playing. + return 1; + //case WM_PAINT: + // OnPaint(hwnd); + // break; + case WM_HSCROLL: + { + g_Threshold = SendMessage(g_hTrack, TBM_GETPOS, 0, 0); + g_ThresholdMin = SendMessage(g_hTrackSeuilMin, TBM_GETPOS, 0, 0); + g_ThresholdMax = SendMessage(g_hTrackSeuilMax, TBM_GETPOS, 0, 0); + + if ( g_pAnalyse ) + g_pAnalyse->setThreshold( g_Threshold ); + } + break; + + } + return DefWindowProc(hwnd, uMsg, wParam, lParam); +} + + +//------------------------------------------------------------------- +// InitializeApplication +// +// Initializes the application. +//------------------------------------------------------------------- + +BOOL InitializeApplication() +{ + HRESULT hr = S_OK; + + InitCommonControls(); + + hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE); + + if (SUCCEEDED(hr)) + { + hr = MFStartup(MF_VERSION); + } + + return (SUCCEEDED(hr)); +} + +//------------------------------------------------------------------- +// CleanUp +// +// Releases resources. +//------------------------------------------------------------------- + +void CleanUp() +{ + if (g_hdevnotify) + { + UnregisterDeviceNotification(g_hdevnotify); + } + + if (g_pPreview) + { + g_pPreview->CloseDevice(); + } + + SafeRelease(&g_pPreview); + + MFShutdown(); + CoUninitialize(); +} + + +//------------------------------------------------------------------- +// InitializeWindow +// +// Creates the application window. +//------------------------------------------------------------------- + +BOOL InitializeWindow(HWND *pHwnd) +{ + WNDCLASS wc = {0}; + + wc.lpfnWndProc = WindowProc; + wc.hInstance = GetModuleHandle(NULL); + wc.hCursor = LoadCursor(NULL, IDC_ARROW); + wc.lpszClassName = CLASS_NAME; + wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1); + + if (!RegisterClass(&wc)) + { + return FALSE; + } + + HWND hwnd = CreateWindow( + CLASS_NAME, + WINDOW_NAME, + WS_OVERLAPPEDWINDOW, + CW_USEDEFAULT, + CW_USEDEFAULT, + CW_USEDEFAULT, + CW_USEDEFAULT, + NULL, + NULL, + GetModuleHandle(NULL), + NULL + ); + + if (!hwnd) + { + return FALSE; + } + + + ShowWindow(hwnd, SW_SHOWDEFAULT); + UpdateWindow(hwnd); + + *pHwnd = hwnd; + + return TRUE; +} + + +//------------------------------------------------------------------- +// MessageLoop +// +// Implements the window message loop. +//------------------------------------------------------------------- + +INT MessageLoop(HWND hwnd) +{ + MSG msg = {0}; + + while (GetMessage(&msg, NULL, 0, 0)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + DestroyWindow(hwnd); + + return INT(msg.wParam); +} +HWND CreateSlider( HWND parent, int pos, int min, int max, int val) +{ +HWND hwndTrack = CreateWindowEx( + 0, // no extended styles + TRACKBAR_CLASS, // class name + TEXT("Trackbar Control"), // title (caption) + WS_CHILD | WS_VISIBLE | + TBS_NOTICKS , // style + pos, 0, // position + 200, 20, // size + parent, // parent window + NULL, // control identifier + NULL, // instance + NULL // no WM_CREATE parameter + ); + + SendMessage(hwndTrack, TBM_SETRANGE, + (WPARAM) TRUE, // redraw flag + (LPARAM) MAKELONG(min, max)); // min. & max. positions + + SendMessage(hwndTrack, TBM_SETPAGESIZE, + 0, (LPARAM) 1); // new page size + + //SendMessage(hwndTrack, TBM_SETSEL, + // (WPARAM) FALSE, // redraw flag + // (LPARAM) MAKELONG(0, 255)); + + SendMessage(hwndTrack, TBM_SETPOS, + (WPARAM) TRUE, // redraw flag + (LPARAM) val); + return hwndTrack; +} +//------------------------------------------------------------------- +// OnCreate +// +// Handles the WM_CREATE message. +//------------------------------------------------------------------- + +BOOL OnCreate(HWND hwnd, LPCREATESTRUCT) +{ + HRESULT hr = S_OK; + + // Register this window to get device notification messages. + + DEV_BROADCAST_DEVICEINTERFACE di = { 0 }; + di.dbcc_size = sizeof(di); + di.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE; + di.dbcc_classguid = KSCATEGORY_CAPTURE; + + g_hdevnotify = RegisterDeviceNotification( + hwnd, + &di, + DEVICE_NOTIFY_WINDOW_HANDLE + ); + + if (g_hdevnotify == NULL) + { + ShowErrorMessage(L"RegisterDeviceNotification failed.", HRESULT_FROM_WIN32(GetLastError())); + return FALSE; + } + + // Create status bar + HWND hStatus = CreateStatusWindow( WS_CHILD | WS_VISIBLE, L"Status text" , hwnd, 100 ); + + // Create slider bar + HWND hwndTrack = CreateSlider( hwnd, 0, 0, 255, g_Threshold); + HWND hwndTrack1 = CreateSlider( hwnd, 210, 0, 255, g_ThresholdMin); + HWND hwndTrack2 = CreateSlider( hwnd, 420, 0, 255, g_ThresholdMax); + + + HWND hVideo = CreateWindow( + TEXT("STATIC"), + NULL, + WS_CHILD | WS_VISIBLE, + CW_USEDEFAULT, + CW_USEDEFAULT, + CW_USEDEFAULT, + CW_USEDEFAULT, + hwnd, + NULL, + GetModuleHandle(NULL), + NULL + ); + + if (!hVideo) + { + ShowErrorMessage(L"Create Child Window failed.", GetLastError()); + return FALSE; + } + RECT rcTrackBar; + int iTrackHeight; + + RECT rcStatus; + int iStatusHeight; + + int iEditHeight; + RECT rcClient; + + // Size status bar and get height + + SendMessage(hStatus, WM_SIZE, 0, 0); + + GetWindowRect(hwndTrack, &rcTrackBar); + GetWindowRect(hStatus, &rcStatus); + iStatusHeight = rcStatus.bottom - rcStatus.top; + iTrackHeight = rcTrackBar.bottom - rcTrackBar.top; + // Calculate remaining height and size edit + + GetClientRect(hwnd, &rcClient); + + iEditHeight = rcClient.bottom - iStatusHeight - iTrackHeight; + + SetWindowPos(hVideo, NULL, 0, iTrackHeight, rcClient.right, iEditHeight, SWP_NOZORDER); + + g_hVideo = hVideo; + g_hStatus = hStatus; + g_hTrack = hwndTrack; + g_hTrackSeuilMin = hwndTrack1; + g_hTrackSeuilMax = hwndTrack2; + + // Create ArToolKit Analyser + g_pAnalyse = new ARAnalyse(); + + // Create the object that manages video preview. + if ( g_hVideo ) + { + hr = CPreview::CreateInstance(g_hVideo, g_hVideo, &g_pPreview); + + if (FAILED(hr)) + { + ShowErrorMessage(L"CPreview::CreateInstance failed.", hr); + return FALSE; + } + // Select the first available device (if any). + OnChooseDevice(hwnd, FALSE, g_camera_name.length() ? g_camera_name.c_str() : NULL, g_camera_instance ); + + } + + + + if ( g_toggle_video ) + g_pPreview->ToggleVideo(); + // start Ivy + g_pAnalyse->IvyInit(g_ivy_domain.c_str()); + return TRUE; +} + + + +//------------------------------------------------------------------- +// OnClose +// +// Handles WM_CLOSE messages. +//------------------------------------------------------------------- + +void OnClose(HWND /*hwnd*/) +{ + PostQuitMessage(0); +} + + + +//------------------------------------------------------------------- +// OnSize +// +// Handles WM_SIZE messages. +//------------------------------------------------------------------- + +void OnSize(HWND hwnd, UINT state, int cx, int cy) +{ + // Size status bar and get height + RECT rcStatus; + int iStatusHeight; + int iVideoHeight; + int iTrackHeight; + + + // iconified + if ( state == SIZE_MINIMIZED ) return; + + GetWindowRect(g_hStatus, &rcStatus); + iStatusHeight = rcStatus.bottom - rcStatus.top; + GetWindowRect(g_hTrack, &rcStatus); + iTrackHeight = rcStatus.bottom - rcStatus.top; + + // Calculate remaining height and size edit + + iVideoHeight = cy - iStatusHeight -iTrackHeight; + + SetWindowPos(g_hVideo, NULL, 0, iTrackHeight, cx, iVideoHeight, SWP_NOZORDER); + if (g_pPreview) + { + g_pPreview->ResizeVideo((WORD)cx, (WORD)iVideoHeight); + + InvalidateRect(hwnd, NULL, FALSE); + } + // Auto-resize statusbar (Send WM_SIZE message does just that) + SendMessage(g_hStatus, WM_SIZE, 0, 0); +} + + + +//------------------------------------------------------------------- +// OnPaint +// +// Handles WM_PAINT messages. +//------------------------------------------------------------------- + +//void OnPaint(HWND hwnd) +//{ +// +// PAINTSTRUCT ps; +// HDC hdc = BeginPaint(hwnd, &ps); +// +// // The video is not playing, so we must paint the application window. +// RECT rc; +// GetClientRect(hwnd, &rc); +// FillRect(hdc, &rc, (HBRUSH) COLOR_WINDOW); +// DrawText( hdc, L"ESSAI",5, &rc, 0); +// EndPaint(hwnd, &ps); +// +// +//} +//------------------------------------------------------------------- +// OnInitMenuChange +// +// Handles WM_INITMENU messages. +//------------------------------------------------------------------- + +void OnInitMenu(HWND hwnd, HMENU menu) +{ + + EnableMenuItem( menu, ID_ACTION_CALIBRATE, g_pAnalyse->IsCalibrationEnabled() ? MF_ENABLED : MF_DISABLED ); + EnableMenuItem( menu, ID_ACTION_SAVEPROJECTIONDATA, g_pAnalyse->IsCalibrated() ? MF_ENABLED : MF_DISABLED ); + CheckMenuItem( menu, ID_ACTION_CALIBRATE, g_pAnalyse->IsCalibrated() ? MF_CHECKED : MF_UNCHECKED ); + // Blur pass + CheckMenuItem( menu, ID_BLURPASSE_0PASS, g_pAnalyse->BlurPass == 0 ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_BLURPASSE_1PASS, g_pAnalyse->BlurPass == 1 ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_BLURPASSE_2PASS, g_pAnalyse->BlurPass == 2 ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_BLURPASSE_3PASS, g_pAnalyse->BlurPass == 3 ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_BLURPASSE_4PASS, g_pAnalyse->BlurPass == 4 ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_BLURPASSE_4PASS, g_pAnalyse->BlurPass == 5 ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_BLURPASSE_4PASS, g_pAnalyse->BlurPass == 6 ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_BLURPASSE_4PASS, g_pAnalyse->BlurPass == 10 ? MF_CHECKED : MF_UNCHECKED ); + // DownSample + CheckMenuItem( menu, ID_DOWNSAMPLE_FACTEUR1, g_pAnalyse->DownSample == 1 ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_DOWNSAMPLE_FACTEUR2, g_pAnalyse->DownSample == 2 ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_DOWNSAMPLE_FACTEUR4, g_pAnalyse->DownSample == 4 ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_DOWNSAMPLE_FACTEUR8, g_pAnalyse->DownSample == 8 ? MF_CHECKED : MF_UNCHECKED ); + // Affichage + CheckMenuItem( menu, ID_AFFICHAGE_GRAYSCALE, g_pAnalyse->Display == ARAnalyse::GrayScale ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_AFFICHAGE_BLUR, g_pAnalyse->Display == ARAnalyse::Blur ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_AFFICHAGE_DIFF, g_pAnalyse->Display == ARAnalyse::Diff ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_AFFICHAGE_THRESHOLD, g_pAnalyse->Display == ARAnalyse::Threshold ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_AFFICHAGE_MOYEN, g_pAnalyse->Display == ARAnalyse::Moyen ? MF_CHECKED : MF_UNCHECKED ); + // Filter + CheckMenuItem( menu, ID_FILTER_MOYEN, g_pAnalyse->filter == ARAnalyse::FMoyen ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_FILTER_LAPLACIEN4, g_pAnalyse->filter == ARAnalyse::FLaplacien4 ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_FILTER_LAPLACIEN8, g_pAnalyse->filter == ARAnalyse::FLaplacien8 ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_FILTER_LAPLACIEND, g_pAnalyse->filter == ARAnalyse::FLaplaciend ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_FILTER_SOBEL, g_pAnalyse->filter == ARAnalyse::FSobel ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_FILTER_PREWITT, g_pAnalyse->filter == ARAnalyse::FPrewitt ? MF_CHECKED : MF_UNCHECKED ); + CheckMenuItem( menu, ID_FILTER_GAUSSIAN, g_pAnalyse->filter == ARAnalyse::FGaussian ? MF_CHECKED : MF_UNCHECKED ); +} +//------------------------------------------------------------------- +// OnCommand +// +// Handles WM_COMMAND messages +//------------------------------------------------------------------- + +void OnCommand(HWND hwnd, int id, HWND /*hwndCtl*/, UINT /*codeNotify*/) +{ + switch (id) + { + case ID_ACTION_CHOOSEDEVICE: + OnChooseDevice(hwnd, TRUE, NULL,0); + break; + case ID_ACTION_CHOOSEFORMAT: + OnChooseFormat(hwnd, TRUE, 0); + break; + case ID_ACTION_DISPLAYVIDEO: + if (g_pPreview) + { + bool video = g_pPreview->ToggleVideo(); + CheckMenuItem( GetMenu( hwnd ), ID_ACTION_DISPLAYVIDEO, video ? MF_CHECKED : MF_UNCHECKED ); + } + + break; + case ID_ACTION_CALCMOYEN: + if (g_pPreview) + { + bool moy = g_pPreview->ToggleMoyen(); + CheckMenuItem( GetMenu( hwnd ), ID_ACTION_CALCMOYEN, moy ? MF_CHECKED : MF_UNCHECKED ); + } + + break;case ID_ACTION_TRANSFORM: + if (g_pPreview) + { + bool trsf = g_pPreview->ToggleTransform(); + CheckMenuItem( GetMenu( hwnd ), ID_ACTION_TRANSFORM, trsf ? MF_CHECKED : MF_UNCHECKED ); + } + break; + case ID_ACTION_AUTOTHRESHOLD: + if (g_pAnalyse) + { + bool auto_threshold = g_pAnalyse->ToggleAutoThreshold(); + CheckMenuItem( GetMenu( hwnd ), ID_ACTION_AUTOTHRESHOLD, auto_threshold ? MF_CHECKED : MF_UNCHECKED ); + if ( ! auto_threshold ) + { + SendMessage(g_hTrack, TBM_SETPOS, + (WPARAM) TRUE, // redraw flag + (LPARAM) g_pAnalyse->getThreshold()); + } + } + + break; + case ID_ACTION_CALIBRATE: + if (g_pAnalyse) + { + bool cal = g_pAnalyse->Calibrate(); + CheckMenuItem( GetMenu( hwnd ), ID_ACTION_CALIBRATE, cal ? MF_CHECKED : MF_UNCHECKED ); + } + break; + case ID_ACTION_SAVEPROJECTIONDATA: + if ( g_pAnalyse ) + { + g_pAnalyse->SaveCalibration(); + } + break; + case ID_BLURPASSE_0PASS: + if (g_pAnalyse) + { + g_pAnalyse->BlurPass = 0; + } + break; + + case ID_BLURPASSE_1PASS: + if (g_pAnalyse) + { + g_pAnalyse->BlurPass = 1; + } + break; + + case ID_BLURPASSE_2PASS: + if (g_pAnalyse) + { + g_pAnalyse->BlurPass = 2; + } + break; + + case ID_BLURPASSE_3PASS: + if (g_pAnalyse) + { + g_pAnalyse->BlurPass = 3; + } + break; + case ID_BLURPASSE_4PASS: + if (g_pAnalyse) + { + g_pAnalyse->BlurPass = 4; + } + break; + case ID_BLURPASSE_5PASS: + if (g_pAnalyse) + { + g_pAnalyse->BlurPass = 5; + } + break; + case ID_BLURPASSE_6PASS: + if (g_pAnalyse) + { + g_pAnalyse->BlurPass = 6; + } + break; + case ID_BLURPASSE_10PASS: + if (g_pAnalyse) + { + g_pAnalyse->BlurPass = 10; + } + break; + case ID_DOWNSAMPLE_FACTEUR1: + if (g_pAnalyse) + { + g_pAnalyse->DownSample = 1; + } + break; + case ID_DOWNSAMPLE_FACTEUR2: + if (g_pAnalyse) + { + g_pAnalyse->DownSample = 2; + } + break; + case ID_DOWNSAMPLE_FACTEUR4: + if (g_pAnalyse) + { + g_pAnalyse->DownSample = 4; + } + break; + case ID_DOWNSAMPLE_FACTEUR8: + if (g_pAnalyse) + { + g_pAnalyse->DownSample = 8; + } + break; + + case ID_AFFICHAGE_GRAYSCALE: + if (g_pAnalyse) + { + g_pAnalyse->Display = ARAnalyse::GrayScale; + } + break; + case ID_AFFICHAGE_BLUR: + if (g_pAnalyse) + { + g_pAnalyse->Display = ARAnalyse::Blur; + } + break; + case ID_AFFICHAGE_DIFF: + if (g_pAnalyse) + { + g_pAnalyse->Display = ARAnalyse::Diff; + } + break; + case ID_AFFICHAGE_THRESHOLD: + if (g_pAnalyse) + { + g_pAnalyse->Display = ARAnalyse::Threshold; + } + break; + case ID_AFFICHAGE_MOYEN: + if (g_pAnalyse) + { + g_pAnalyse->Display = ARAnalyse::Moyen; + } + break; + case ID_FILTER_MOYEN: + if (g_pAnalyse) + { + g_pAnalyse->filter = ARAnalyse::FMoyen; + } + break; + case ID_FILTER_LAPLACIEN4: + if (g_pAnalyse) + { + g_pAnalyse->filter = ARAnalyse::FLaplacien4; + } + break; + case ID_FILTER_LAPLACIEN8: + if (g_pAnalyse) + { + g_pAnalyse->filter = ARAnalyse::FLaplacien8; + } + break; + case ID_FILTER_LAPLACIEND: + if (g_pAnalyse) + { + g_pAnalyse->filter = ARAnalyse::FLaplaciend; + } + break; + case ID_FILTER_SOBEL: + if (g_pAnalyse) + { + g_pAnalyse->filter = ARAnalyse::FSobel; + } + break; + case ID_FILTER_PREWITT: + if (g_pAnalyse) + { + g_pAnalyse->filter = ARAnalyse::FPrewitt; + } + break; + case ID_FILTER_GAUSSIAN: + if (g_pAnalyse) + { + g_pAnalyse->filter = ARAnalyse::FGaussian; + } + break; + } +} + +//------------------------------------------------------------------- +// OnChooseDevice +// +// Select a video capture device. +// +// hwnd: A handle to the application window. +/// bPrompt: If TRUE, prompt to user to select the device. Otherwise, +// select the first device in the list. +//------------------------------------------------------------------- + +void OnChooseDevice(HWND hwnd, BOOL bPrompt, const WCHAR* name, int instance) +{ + HRESULT hr = S_OK; + ChooseDeviceParam param = { 0,0,0 }; + + UINT iDevice = 0; // Index into the array of devices + BOOL bCancel = FALSE; + + IMFAttributes *pAttributes = NULL; + + // Initialize an attribute store to specify enumeration parameters. + + hr = MFCreateAttributes(&pAttributes, 1); + + if (FAILED(hr)) { goto done; } + + // Ask for source type = video capture devices. + + hr = pAttributes->SetGUID( + MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, + MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID + ); + + if (FAILED(hr)) { goto done; } + + // Enumerate devices. + hr = MFEnumDeviceSources(pAttributes, ¶m.ppDevices, ¶m.count); + + if (FAILED(hr)) { goto done; } + + // NOTE: param.count might be zero. + + if (bPrompt || name == NULL) + { + // Ask the user to select a device. + + INT_PTR result = DialogBoxParam( + GetModuleHandle(NULL), + MAKEINTRESOURCE(IDD_CHOOSE_DEVICE), + hwnd, + DeviceDlgProc, + (LPARAM)¶m + ); + + if (result == IDOK) + { + iDevice = param.selection; + } + else + { + bCancel = TRUE; // User cancelled + } + } + else + { + iDevice = DeviceGetByName( ¶m, name, instance ); + } + + if (!bCancel && (param.count > 0)) + { + // Give this source to the CPlayer object for preview. + hr = g_pPreview->SetDevice( param.ppDevices[iDevice], g_format_video ); + } + +done: + + SafeRelease(&pAttributes); + + for (DWORD i = 0; i < param.count; i++) + { + SafeRelease(¶m.ppDevices[i]); + } + CoTaskMemFree(param.ppDevices); + + if (FAILED(hr)) + { + ShowErrorMessage(L"Cannot create a video capture device", hr); + } +} + + +//------------------------------------------------------------------- +// OnChooseFormat +// +// Select a video format capture. +// +// hwnd: A handle to the application window. +/// bPrompt: If TRUE, prompt to user to select the device. Otherwise, +// select the first device in the list. +//------------------------------------------------------------------- + +void OnChooseFormat(HWND hwnd, BOOL bPrompt, int index) +{ + HRESULT hr = S_OK; + ChooseVideoParam param = { 0, 0, 0 }; + + UINT iFormat = 0; // Index into the array of devices + BOOL bCancel = FALSE; + + hr = g_pPreview->EnumerateCaptureFormats( ¶m.ppTypes, ¶m.count); + + // NOTE: param.count might be zero. + + if (bPrompt) + { + // Ask the user to select a device. + + INT_PTR result = DialogBoxParam( + GetModuleHandle(NULL), + MAKEINTRESOURCE(IDD_CHOOSE_VIDEO), + hwnd, + VideoDlgProc, + (LPARAM)¶m + ); + + if (result == IDOK) + { + iFormat = param.selection; + } + else + { + bCancel = TRUE; // User cancelled + } + } + else + { + iFormat = index; + } + if (!bCancel && (param.count > 0)) + { + // Give this format to the CPlayer object for preview. + hr = g_pPreview->SetFormat( param.ppTypes[iFormat] ); + } + + + + for (DWORD i = 0; i < param.count; i++) + { + SafeRelease(¶m.ppTypes[i]); + } + CoTaskMemFree(param.ppTypes); + + if (FAILED(hr)) + { + ShowErrorMessage(L"Cannot select a video format", hr); + } +} + +//------------------------------------------------------------------- +// OnDeviceChange +// +// Handles WM_DEVICECHANGE messages. +//------------------------------------------------------------------- + +void OnDeviceChange(HWND hwnd, DEV_BROADCAST_HDR *pHdr) +{ + if (g_pPreview == NULL || pHdr == NULL) + { + return; + } + + HRESULT hr = S_OK; + BOOL bDeviceLost = FALSE; + + // Check if the current device was lost. + + hr = g_pPreview->CheckDeviceLost(pHdr, &bDeviceLost); + + if (FAILED(hr) || bDeviceLost) + { + g_pPreview->CloseDevice(); + + MessageBox(hwnd, L"Lost the capture device.", WINDOW_NAME, MB_OK); + } +} + + +///////////////////////////////////////////////////////////////////// + +// Dialog functions + +int DeviceGetByName(ChooseDeviceParam *pParam , const WCHAR* name, int instance) +{ + HRESULT hr = S_OK; + DWORD iDevice = 0; + int current_inst = 0; + bool NameFound = false; + for (DWORD i = 0; i < pParam->count; i++) + { + WCHAR *szFriendlyName = NULL; + + hr = pParam->ppDevices[i]->GetAllocatedString( + MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, + &szFriendlyName, + NULL + ); + if (FAILED(hr)) + { + break; + } + NameFound = wcsstr( szFriendlyName, name ) != NULL; + CoTaskMemFree(szFriendlyName); + // check if devioce containt name + if ( NameFound ) + { + iDevice = i; + if ( current_inst == instance ) + break; + current_inst++; + + } + + } + + return iDevice; +} + +//------------------------------------------------------------------- +// OnInitDialog +// +// Handles the WM_INITDIALOG message. +//------------------------------------------------------------------- + +void DeviceOnInitDialog(HWND hwnd, ChooseDeviceParam *pParam) +{ + HRESULT hr = S_OK; + + // Populate the list with the friendly names of the devices. + + HWND hList = GetDlgItem(hwnd, IDC_DEVICE_LIST); + + for (DWORD i = 0; i < pParam->count; i++) + { + WCHAR *szFriendlyName = NULL; + + hr = pParam->ppDevices[i]->GetAllocatedString( + MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, + &szFriendlyName, + NULL + ); + + if (FAILED(hr)) + { + break; + } + + + int index = ListBox_AddString(hList, szFriendlyName); + + ListBox_SetItemData(hList, index, i); + + CoTaskMemFree(szFriendlyName); + } + + // Assume no selection for now. + pParam->selection = (UINT32)-1; + + if (pParam->count == 0) + { + // If there are no devices, disable the "OK" button. + EnableWindow(GetDlgItem(hwnd, IDOK), FALSE); + } +} + + +HRESULT DeviceOnOK(HWND hwnd, ChooseDeviceParam *pParam) +{ + HWND hList = GetDlgItem(hwnd, IDC_DEVICE_LIST); + + int sel = ListBox_GetCurSel(hList); + + if (sel != LB_ERR) + { + pParam->selection = (UINT32)ListBox_GetItemData(hList, sel); + } + + return S_OK; +} + + +//------------------------------------------------------------------- +// DeviceDlgProc +// +// Dialog procedure for the "Select Device" dialog. +//------------------------------------------------------------------- + +INT_PTR CALLBACK DeviceDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) +{ + static ChooseDeviceParam *pParam = NULL; + + switch (msg) + { + case WM_INITDIALOG: + pParam = (ChooseDeviceParam*)lParam; + DeviceOnInitDialog(hwnd, pParam); + return TRUE; + + case WM_COMMAND: + switch(LOWORD(wParam)) + { + case IDOK: + DeviceOnOK(hwnd, pParam); + EndDialog(hwnd, LOWORD(wParam)); + return TRUE; + + case IDCANCEL: + EndDialog(hwnd, LOWORD(wParam)); + return TRUE; + } + break; + } + + return FALSE; +} + + + +void ShowErrorMessage(PCWSTR format, HRESULT hrErr) +{ + HRESULT hr = S_OK; + int dwBufferLength; + + WCHAR msg[MAX_PATH]; + static LPCVOID s_hModule = 0; + const LPCWSTR MESSAGEFILE = L"mferror.dll"; + DWORD dwFormatFlags = + FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS | + FORMAT_MESSAGE_MAX_WIDTH_MASK; + + WCHAR *lpMsgBuf = 0; + dwBufferLength = FormatMessage( + dwFormatFlags, + NULL, + hrErr, + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language + (LPTSTR)&lpMsgBuf, + 0, + NULL ); + //lpMsgBuf[strlen(lpMsgBuf) -2] = '\0'; // remove last \n + + // Not a system message. In theory, you should be able to get both with one call. + // In practice (at least on my 64bit box), you need to make 2 calls. + if (dwBufferLength == 0) + { + if (s_hModule == 0) + { + // Load the Media Foundation error message dll + s_hModule = LoadLibraryEx(MESSAGEFILE, NULL, LOAD_LIBRARY_AS_DATAFILE); + } + + if (s_hModule != 0) + { + // If the load succeeds, make sure we look in it + dwFormatFlags |= FORMAT_MESSAGE_FROM_HMODULE; + + // Scan both the Windows Media library, and the system library looking for the message + dwBufferLength = FormatMessage( + dwFormatFlags, + s_hModule, // module to get message from (NULL == system) + hrErr, // error number to get message for + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // default language + (LPTSTR)&lpMsgBuf, + 0, + NULL + ); + } + } + hr = StringCbPrintf(msg, sizeof(msg), L"%s (hr=0x%X) \n%s", format, hrErr, lpMsgBuf); + // Free the buffer. + LocalFree( lpMsgBuf ); + if (SUCCEEDED(hr)) + { + MessageBox(NULL, msg, L"Error", MB_ICONERROR); + } + else + { + DebugBreak(); + } +} + +// Dialog functions + +//------------------------------------------------------------------- +// VideoOnInitDialog +// +// Handles the WM_INITDIALOG message. +//------------------------------------------------------------------- + +void VideoOnInitDialog(HWND hwnd, ChooseVideoParam *pParam) +{ + HRESULT hr = S_OK; + PROPVARIANT var; + UINT32 rate_num; + UINT32 rate_denum; + UINT32 width; + UINT32 height; + WCHAR msg[MAX_PATH]; + + // Populate the list with the friendly names of the devices. + + HWND hList = GetDlgItem(hwnd, IDC_VIDEO_LIST); + + for (DWORD i = 0; i < pParam->count; i++) + { + + WCHAR *szSubTypeName = NULL; + + hr = pParam->ppTypes[i]->GetItem( MF_MT_SUBTYPE, &var ); + if (FAILED(hr)) + { + break; + } + + hr = GetGUIDName(*var.puuid, &szSubTypeName); + if (FAILED(hr)) + { + break; + } + + hr = MFGetAttributeSize( pParam->ppTypes[i], MF_MT_FRAME_RATE, &rate_num, &rate_denum ); + if (FAILED(hr)) + { + break; + } + hr = MFGetAttributeSize( pParam->ppTypes[i], MF_MT_FRAME_SIZE, &width, &height); + if (FAILED(hr)) + { + break; + } + + + if (SUCCEEDED(StringCchPrintf(msg, sizeof(msg), TEXT("%02d %s %dx%d pixel %.01f FPS"), i,szSubTypeName, width,height,((float)rate_num/rate_denum)))) + { + int index = ListBox_AddString(hList, msg); + + ListBox_SetItemData(hList, index, i); + } + + + CoTaskMemFree(szSubTypeName); + } + + // Assume no selection for now. + pParam->selection = (UINT32)-1; + + if (pParam->count == 0) + { + // If there are no devices, disable the "OK" button. + EnableWindow(GetDlgItem(hwnd, IDOK), FALSE); + } +} + + +HRESULT VideoOnOK(HWND hwnd, ChooseVideoParam *pParam) +{ + HWND hList = GetDlgItem(hwnd, IDC_DEVICE_LIST); + + int sel = ListBox_GetCurSel(hList); + + if (sel != LB_ERR) + { + pParam->selection = (UINT32)ListBox_GetItemData(hList, sel); + } + + return S_OK; +} + + + + +//------------------------------------------------------------------- +// DeviceDlgProc +// +// Dialog procedure for the "Select Device" dialog. +//------------------------------------------------------------------- + +INT_PTR CALLBACK VideoDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) +{ + static ChooseVideoParam *pParam = NULL; + + switch (msg) + { + case WM_INITDIALOG: + pParam = (ChooseVideoParam*)lParam; + VideoOnInitDialog(hwnd, pParam); + return TRUE; + + case WM_COMMAND: + switch(LOWORD(wParam)) + { + case IDOK: + VideoOnOK(hwnd, pParam); + EndDialog(hwnd, LOWORD(wParam)); + return TRUE; + + case IDCANCEL: + EndDialog(hwnd, LOWORD(wParam)); + return TRUE; + } + break; + } + + return FALSE; +} + + diff --git a/ARMFCaptureD3D/x64/Debug/ARAnalyse.obj b/ARMFCaptureD3D/x64/Debug/ARAnalyse.obj new file mode 100644 index 0000000..d355854 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/ARAnalyse.obj differ diff --git a/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.Build.CppClean.log b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.Build.CppClean.log new file mode 100644 index 0000000..e11462b --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.Build.CppClean.log @@ -0,0 +1,51 @@ +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\ARANALYSE.OBJ +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\ARMFCAPTURED3D.EXE +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\ARMFCAPTURED3D.EXE.EMBED.MANIFEST +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\ARMFCAPTURED3D.EXE.EMBED.MANIFEST.RES +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\ARMFCAPTURED3D.EXE.INTERMEDIATE.MANIFEST +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.exp +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\ARMFCAPTURED3D.ILK +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.lib +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\ARMFCAPTURED3D.PDB +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\ARMFCAPTURED3D.RES +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D_manifest.rc +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARToolKitPlus.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARToolKitPlus.ilk +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARToolKitPlus.pdb +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\CALIBRATION.OBJ +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\cl.command.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\CL.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\CL.write.1.tlog +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\CONFIGFILE.OBJ +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\DEBUG.OBJ +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\DEVICE.OBJ +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\Ivy.bsc +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\Ivy.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\Ivy.ilk +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\Ivy.pdb +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link.8660.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link.8660.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link.8660-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link.8660-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link.command.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link-cvtres.write.1.tlog +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\MINMAXAVG.OBJ +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\mt.command.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\mt.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\mt.write.1.tlog +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\OPTIONS.OBJ +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\pcre.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\pcre.ilk +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\pcre.pdb +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\PREVIEW.OBJ +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\rc.command.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\rc.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\rc.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ResolveAssemblyReference.cache +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\vc100.idb +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\VC100.PDB +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\WINMAIN.OBJ diff --git a/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe new file mode 100644 index 0000000..3399906 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe differ diff --git a/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe.embed.manifest b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe.embed.manifest new file mode 100644 index 0000000..9032d50 --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe.embed.manifest @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe.embed.manifest.res b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe.embed.manifest.res new file mode 100644 index 0000000..b6fdff3 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe.embed.manifest.res differ diff --git a/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe.intermediate.manifest b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe.intermediate.manifest new file mode 100644 index 0000000..43cc1f5 --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exe.intermediate.manifest @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exp b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exp new file mode 100644 index 0000000..26bd2e9 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.exp differ diff --git a/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.ilk b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.ilk new file mode 100644 index 0000000..3c228dc Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.ilk differ diff --git a/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.lastbuildstate b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.lastbuildstate new file mode 100644 index 0000000..25262a5 --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100 +Debug|x64|C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\| diff --git a/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.lib b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.lib new file mode 100644 index 0000000..783b84c Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.lib differ diff --git a/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.pdb b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.pdb new file mode 100644 index 0000000..829c3a8 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.pdb differ diff --git a/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.res b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.res new file mode 100644 index 0000000..11b1c37 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.res differ diff --git a/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.write.1.tlog b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.write.1.tlog new file mode 100644 index 0000000..96780d7 --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D.write.1.tlog @@ -0,0 +1,5 @@ +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.exp diff --git a/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D_manifest.rc b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D_manifest.rc new file mode 100644 index 0000000..cb0aae6 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/ARMFCaptureD3D_manifest.rc differ diff --git a/ARMFCaptureD3D/x64/Debug/ARToolKitPlus.dll b/ARMFCaptureD3D/x64/Debug/ARToolKitPlus.dll new file mode 100644 index 0000000..9ae7257 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/ARToolKitPlus.dll differ diff --git a/ARMFCaptureD3D/x64/Debug/ARToolKitPlus.lib b/ARMFCaptureD3D/x64/Debug/ARToolKitPlus.lib new file mode 100644 index 0000000..cf97350 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/ARToolKitPlus.lib differ diff --git a/ARMFCaptureD3D/x64/Debug/CL.read.1.tlog b/ARMFCaptureD3D/x64/Debug/CL.read.1.tlog new file mode 100644 index 0000000..86ae0e4 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/CL.read.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Debug/CL.write.1.tlog b/ARMFCaptureD3D/x64/Debug/CL.write.1.tlog new file mode 100644 index 0000000..06612be Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/CL.write.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Debug/Calibration.obj b/ARMFCaptureD3D/x64/Debug/Calibration.obj new file mode 100644 index 0000000..034cb09 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/Calibration.obj differ diff --git a/ARMFCaptureD3D/x64/Debug/ConfigFile.obj b/ARMFCaptureD3D/x64/Debug/ConfigFile.obj new file mode 100644 index 0000000..496a990 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/ConfigFile.obj differ diff --git a/ARMFCaptureD3D/x64/Debug/Ivy.dll b/ARMFCaptureD3D/x64/Debug/Ivy.dll new file mode 100644 index 0000000..d6d28a5 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/Ivy.dll differ diff --git a/ARMFCaptureD3D/x64/Debug/Ivy.lib b/ARMFCaptureD3D/x64/Debug/Ivy.lib new file mode 100644 index 0000000..8856ccd Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/Ivy.lib differ diff --git a/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.Build.CppClean.log b/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.Build.CppClean.log new file mode 100644 index 0000000..c8e0107 --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.Build.CppClean.log @@ -0,0 +1,34 @@ +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\ARMFCAPTURED3D.RES +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARToolKitPlus.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARToolKitPlus.ilk +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARToolKitPlus.pdb +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\cl.command.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\CL.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\CL.write.1.tlog +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\DEVICE.OBJ +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\Ivy.bsc +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\Ivy.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\Ivy.ilk +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\Ivy.pdb +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link.command.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link-cvtres.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\link-cvtres.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\MFCaptureD3D.exe.embed.manifest +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\MFCAPTURED3D.EXE.EMBED.MANIFEST.RES +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\MFCaptureD3D.exe.intermediate.manifest +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\MFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\MFCaptureD3D.pdb +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\MFCaptureD3D.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\MFCaptureD3D_manifest.rc +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\pcre.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\pcre.ilk +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\pcre.pdb +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\PREVIEW.OBJ +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\rc.command.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\rc.read.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\rc.write.1.tlog +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\vc100.idb +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\VC100.PDB +C:\USERS\FCOLIN\DOCUMENTS\PROJECTS VISUAL STUDIO\CPP\ARMFCAPTURED3D\X64\DEBUG\WINMAIN.OBJ diff --git a/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.lastbuildstate b/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.lastbuildstate new file mode 100644 index 0000000..25262a5 --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100 +Debug|x64|C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\| diff --git a/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.lib b/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.lib new file mode 100644 index 0000000..492bef1 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.lib differ diff --git a/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.log b/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.log new file mode 100644 index 0000000..4e8ab2f --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.log @@ -0,0 +1,254 @@ +La gĂ©nĂ©ration a dĂ©marrĂ© 20/10/2011 12:44:31. + 1>Projet "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj" sur le nĹ“ud 2 (rebuild cible(s)). + 1>_PrepareForClean: + Suppression du fichier "x64\Debug\ARMFCaptureD3D.lastbuildstate". + InitializeBuildStatus: + CrĂ©ation de "x64\Debug\ARMFCaptureD3D.unsuccessfulbuild", car "AlwaysCreate" a Ă©tĂ© spĂ©cifiĂ©. + ClCompile: + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64\CL.exe /c /I"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARToolKitPlus-2.2.1\include" /I"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\Bus\Ivy" /Zi /nologo /W4 /WX- /Od /D WIN32 /D _DEBUG /D _WINDOWS /D DX9 /D _USE_DOUBLE_ /D _UNICODE /D UNICODE /Gm /EHsc /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"x64\Debug\\" /Fd"x64\Debug\vc100.pdb" /Gd /TP /errorReport:prompt ARAnalyse.cpp Calibration.cpp ConfigFile\ConfigFile.cpp debug.cpp device.cpp MinMaxAvg.cpp options.cpp preview.cpp winmain.cpp + winmain.cpp + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(21): warning C4995: 'strcat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(22): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(30): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(31): warning C4995: 'vswprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(33): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(35): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(757): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(766): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(775): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1087): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1089): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\users\fcolin\documents\projects visual studio\cpp\armfcaptured3d\options.h(196): warning C4512: 'OptIstreamIter' : l'opĂ©rateur d'assignation n'a pas pu ĂŞtre gĂ©nĂ©rĂ© + c:\users\fcolin\documents\projects visual studio\cpp\armfcaptured3d\options.h(172) : voir la dĂ©claration de 'OptIstreamIter' + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(81): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(83): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>winmain.cpp(133): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>winmain.cpp(133): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(105) : voir la dĂ©claration de 'strcpy' + 1>winmain.cpp(645): warning C4100: 'hwnd' : paramètre formel non rĂ©fĂ©rencĂ© + preview.cpp + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(21): warning C4995: 'strcat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(22): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(30): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(31): warning C4995: 'vswprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(33): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(35): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1087): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1089): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(757): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(766): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(775): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(81): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(83): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + options.cpp + 1>c:\users\fcolin\documents\projects visual studio\cpp\armfcaptured3d\options.h(196): warning C4512: 'OptIstreamIter' : l'opĂ©rateur d'assignation n'a pas pu ĂŞtre gĂ©nĂ©rĂ© + c:\users\fcolin\documents\projects visual studio\cpp\armfcaptured3d\options.h(172) : voir la dĂ©claration de 'OptIstreamIter' + 1>options.cpp(155): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(105) : voir la dĂ©claration de 'strcpy' + 1>options.cpp(156): warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(197) : voir la dĂ©claration de 'strtok' + 1>options.cpp(166): warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(197) : voir la dĂ©claration de 'strtok' + 1>options.cpp(171): warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(197) : voir la dĂ©claration de 'strtok' + 1>options.cpp(177): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(105) : voir la dĂ©claration de 'strcpy' + 1>options.cpp(178): warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(197) : voir la dĂ©claration de 'strtok' + 1>options.cpp(563): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(188) : voir la dĂ©claration de 'strncpy' + 1>options.cpp(571): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(105) : voir la dĂ©claration de 'strcpy' + 1>options.cpp(574): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(105) : voir la dĂ©claration de 'strcpy' + MinMaxAvg.cpp + device.cpp + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(21): warning C4995: 'strcat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(22): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(30): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(31): warning C4995: 'vswprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(33): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(35): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1087): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1089): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(757): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(766): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(775): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(81): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(83): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>device.cpp(932): warning C4102: 'done' : Ă©tiquette non rĂ©fĂ©rencĂ©e + debug.cpp + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + ConfigFile.cpp + Calibration.cpp + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(21): warning C4995: 'strcat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(22): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(30): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(31): warning C4995: 'vswprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(33): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(35): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1087): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1089): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(757): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(766): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(775): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + ARAnalyse.cpp + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(21): warning C4995: 'strcat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(22): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(30): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(31): warning C4995: 'vswprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(33): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(35): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1087): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1089): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(757): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(766): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(775): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(81): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(83): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>ARAnalyse.cpp(232): warning C4100: 'size' : paramètre formel non rĂ©fĂ©rencĂ© + 1>ARAnalyse.cpp(923): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(923): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(923): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(924): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(924): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(924): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(925): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(925): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(926): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(968): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(968): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(968): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(968): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(968): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(969): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(969): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(969): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(969): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(969): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(970): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(970): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(970): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(970): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(970): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(971): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(971): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(971): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(971): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(971): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(972): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(972): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(972): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(972): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(973): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(844): warning C4100: 'size' : paramètre formel non rĂ©fĂ©rencĂ© + 1>ARAnalyse.cpp(1091): warning C4100: 'dest' : paramètre formel non rĂ©fĂ©rencĂ© + 1>ARAnalyse.cpp(1115): warning C4189: 'height' : variable locale initialisĂ©e mais non rĂ©fĂ©rencĂ©e + 1>ARAnalyse.cpp(1141): warning C4189: 'height' : variable locale initialisĂ©e mais non rĂ©fĂ©rencĂ©e + 1>ARAnalyse.cpp(1170): warning C4189: 'height' : variable locale initialisĂ©e mais non rĂ©fĂ©rencĂ©e + 1>ARAnalyse.cpp(1197): warning C4100: 'dest' : paramètre formel non rĂ©fĂ©rencĂ© + 1>ARAnalyse.cpp(421): warning C4505: 'RGB2HSL' : la fonction locale non rĂ©fĂ©rencĂ©e a Ă©tĂ© supprimĂ©e + Generating Code... + ResourceCompile: + c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"x64\Debug\ARMFCaptureD3D.res" ARMFCaptureD3D.rc + ManifestResourceCompile: + c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\rc.exe /nologo /fo"x64\Debug\ARMFCaptureD3D.exe.embed.manifest.res" x64\Debug\ARMFCaptureD3D_manifest.rc + Link: + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.exe" /INCREMENTAL /NOLOGO Comctl32.lib mfplat.lib mf.lib mfreadwrite.lib mfuuid.lib d3d9.lib shlwapi.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"x64\Debug\ARMFCaptureD3D.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.pdb" /SUBSYSTEM:WINDOWS /TLBID:1 /DYNAMICBASE:NO /IMPLIB:"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.lib" /MACHINE:X64 x64\Debug\ARMFCaptureD3D.res + x64\Debug\ARMFCaptureD3D.exe.embed.manifest.res + x64\Debug\ARAnalyse.obj + x64\Debug\Calibration.obj + x64\Debug\ConfigFile.obj + x64\Debug\debug.obj + x64\Debug\device.obj + x64\Debug\MinMaxAvg.obj + x64\Debug\options.obj + x64\Debug\preview.obj + x64\Debug\winmain.obj + "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\pcre.lib" + "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARToolKitPlus.lib" + "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\Ivy.lib" + CrĂ©ation de la bibliothèque C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.lib et de l'objet C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.exp + MFCaptureD3D.vcxproj -> C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.exe + Manifest: + Suppression du fichier "x64\Debug\ARMFCaptureD3D.exe.embed.manifest". + c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /out:"x64\Debug\ARMFCaptureD3D.exe.embed.manifest" /manifest x64\Debug\ARMFCaptureD3D.exe.intermediate.manifest + c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\rc.exe /nologo /fo"x64\Debug\ARMFCaptureD3D.exe.embed.manifest.res" x64\Debug\ARMFCaptureD3D_manifest.rc + LinkEmbedManifest: + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.exe" /INCREMENTAL /NOLOGO Comctl32.lib mfplat.lib mf.lib mfreadwrite.lib mfuuid.lib d3d9.lib shlwapi.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"x64\Debug\ARMFCaptureD3D.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.pdb" /SUBSYSTEM:WINDOWS /TLBID:1 /DYNAMICBASE:NO /IMPLIB:"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.lib" /MACHINE:X64 x64\Debug\ARMFCaptureD3D.res + x64\Debug\ARMFCaptureD3D.exe.embed.manifest.res + x64\Debug\ARAnalyse.obj + x64\Debug\Calibration.obj + x64\Debug\ConfigFile.obj + x64\Debug\debug.obj + x64\Debug\device.obj + x64\Debug\MinMaxAvg.obj + x64\Debug\options.obj + x64\Debug\preview.obj + x64\Debug\winmain.obj + "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\pcre.lib" + "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARToolKitPlus.lib" + "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\Ivy.lib" + CrĂ©ation de la bibliothèque C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.lib et de l'objet C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.exp + MFCaptureD3D.vcxproj -> C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Debug\ARMFCaptureD3D.exe + FinalizeBuildStatus: + Suppression du fichier "x64\Debug\ARMFCaptureD3D.unsuccessfulbuild". + Mise Ă  jour de l'horodatage "x64\Debug\ARMFCaptureD3D.lastbuildstate". + 1>GĂ©nĂ©ration du projet "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj" terminĂ©e (rebuild cible(s)). + +La gĂ©nĂ©ration a rĂ©ussi. + +Temps Ă©coulĂ© 00:00:10.74 diff --git a/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.unsuccessfulbuild b/ARMFCaptureD3D/x64/Debug/MFCaptureD3D.unsuccessfulbuild new file mode 100644 index 0000000..e69de29 diff --git a/ARMFCaptureD3D/x64/Debug/MinMaxAvg.obj b/ARMFCaptureD3D/x64/Debug/MinMaxAvg.obj new file mode 100644 index 0000000..264634d Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/MinMaxAvg.obj differ diff --git a/ARMFCaptureD3D/x64/Debug/ResolveAssemblyReference.cache b/ARMFCaptureD3D/x64/Debug/ResolveAssemblyReference.cache new file mode 100644 index 0000000..c0edb66 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/ResolveAssemblyReference.cache differ diff --git a/ARMFCaptureD3D/x64/Debug/cl.command.1.tlog b/ARMFCaptureD3D/x64/Debug/cl.command.1.tlog new file mode 100644 index 0000000..3a1f62a Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/cl.command.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Debug/debug.obj b/ARMFCaptureD3D/x64/Debug/debug.obj new file mode 100644 index 0000000..f735a4b Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/debug.obj differ diff --git a/ARMFCaptureD3D/x64/Debug/device.obj b/ARMFCaptureD3D/x64/Debug/device.obj new file mode 100644 index 0000000..e2d5bd4 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/device.obj differ diff --git a/ARMFCaptureD3D/x64/Debug/link-cvtres.read.1.tlog b/ARMFCaptureD3D/x64/Debug/link-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/link-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Debug/link-cvtres.write.1.tlog b/ARMFCaptureD3D/x64/Debug/link-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/link-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Debug/link.3816-cvtres.read.1.tlog b/ARMFCaptureD3D/x64/Debug/link.3816-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/link.3816-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Debug/link.3816-cvtres.write.1.tlog b/ARMFCaptureD3D/x64/Debug/link.3816-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/link.3816-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Debug/link.3816.read.1.tlog b/ARMFCaptureD3D/x64/Debug/link.3816.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/link.3816.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Debug/link.3816.write.1.tlog b/ARMFCaptureD3D/x64/Debug/link.3816.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Debug/link.3816.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Debug/link.command.1.tlog b/ARMFCaptureD3D/x64/Debug/link.command.1.tlog new file mode 100644 index 0000000..aa078b2 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/link.command.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Debug/link.read.1.tlog b/ARMFCaptureD3D/x64/Debug/link.read.1.tlog new file mode 100644 index 0000000..ba96714 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/link.read.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Debug/link.write.1.tlog b/ARMFCaptureD3D/x64/Debug/link.write.1.tlog new file mode 100644 index 0000000..307f670 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/link.write.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Debug/mt.command.1.tlog b/ARMFCaptureD3D/x64/Debug/mt.command.1.tlog new file mode 100644 index 0000000..7619a39 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/mt.command.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Debug/mt.read.1.tlog b/ARMFCaptureD3D/x64/Debug/mt.read.1.tlog new file mode 100644 index 0000000..df78fbd Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/mt.read.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Debug/mt.write.1.tlog b/ARMFCaptureD3D/x64/Debug/mt.write.1.tlog new file mode 100644 index 0000000..0747494 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/mt.write.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Debug/options.obj b/ARMFCaptureD3D/x64/Debug/options.obj new file mode 100644 index 0000000..4cc40ea Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/options.obj differ diff --git a/ARMFCaptureD3D/x64/Debug/pcre.dll b/ARMFCaptureD3D/x64/Debug/pcre.dll new file mode 100644 index 0000000..3033cc8 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/pcre.dll differ diff --git a/ARMFCaptureD3D/x64/Debug/pcre.lib b/ARMFCaptureD3D/x64/Debug/pcre.lib new file mode 100644 index 0000000..9fb4e1e Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/pcre.lib differ diff --git a/ARMFCaptureD3D/x64/Debug/preview.obj b/ARMFCaptureD3D/x64/Debug/preview.obj new file mode 100644 index 0000000..6f21b52 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/preview.obj differ diff --git a/ARMFCaptureD3D/x64/Debug/rc.command.1.tlog b/ARMFCaptureD3D/x64/Debug/rc.command.1.tlog new file mode 100644 index 0000000..5f02024 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/rc.command.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Debug/rc.read.1.tlog b/ARMFCaptureD3D/x64/Debug/rc.read.1.tlog new file mode 100644 index 0000000..2e8ade7 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/rc.read.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Debug/rc.write.1.tlog b/ARMFCaptureD3D/x64/Debug/rc.write.1.tlog new file mode 100644 index 0000000..b7401f0 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/rc.write.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Debug/vc100.idb b/ARMFCaptureD3D/x64/Debug/vc100.idb new file mode 100644 index 0000000..66bf6d4 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/vc100.idb differ diff --git a/ARMFCaptureD3D/x64/Debug/vc100.pdb b/ARMFCaptureD3D/x64/Debug/vc100.pdb new file mode 100644 index 0000000..dafeb3a Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/vc100.pdb differ diff --git a/ARMFCaptureD3D/x64/Debug/winmain.obj b/ARMFCaptureD3D/x64/Debug/winmain.obj new file mode 100644 index 0000000..6cf1010 Binary files /dev/null and b/ARMFCaptureD3D/x64/Debug/winmain.obj differ diff --git a/ARMFCaptureD3D/x64/Release/ARAnalyse.obj b/ARMFCaptureD3D/x64/Release/ARAnalyse.obj new file mode 100644 index 0000000..26fbf4a Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/ARAnalyse.obj differ diff --git a/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exe b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exe new file mode 100644 index 0000000..c34837c Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exe differ diff --git a/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exe - Raccourci.lnk b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exe - Raccourci.lnk new file mode 100644 index 0000000..6c2b5b2 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exe - Raccourci.lnk differ diff --git a/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exe.intermediate.manifest b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exe.intermediate.manifest new file mode 100644 index 0000000..43cc1f5 --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exe.intermediate.manifest @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exp b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exp new file mode 100644 index 0000000..358a62a Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.exp differ diff --git a/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.lastbuildstate b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.lastbuildstate new file mode 100644 index 0000000..61399b3 --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100:false +Release|x64|C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\| diff --git a/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.lib b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.lib new file mode 100644 index 0000000..23a476c Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.lib differ diff --git a/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.pdb b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.pdb new file mode 100644 index 0000000..d9e661a Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.pdb differ diff --git a/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.res b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.res new file mode 100644 index 0000000..11b1c37 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.res differ diff --git a/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.write.1.tlog b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.write.1.tlog new file mode 100644 index 0000000..2e1a4dc --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/ARMFCaptureD3D.write.1.tlog @@ -0,0 +1,645 @@ +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +^C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp +C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp diff --git a/ARMFCaptureD3D/x64/Release/ARToolKitPlus.dll b/ARMFCaptureD3D/x64/Release/ARToolKitPlus.dll new file mode 100644 index 0000000..10975e6 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/ARToolKitPlus.dll differ diff --git a/ARMFCaptureD3D/x64/Release/ARToolKitPlus.exp b/ARMFCaptureD3D/x64/Release/ARToolKitPlus.exp new file mode 100644 index 0000000..211b1f7 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/ARToolKitPlus.exp differ diff --git a/ARMFCaptureD3D/x64/Release/ARToolKitPlus.lib b/ARMFCaptureD3D/x64/Release/ARToolKitPlus.lib new file mode 100644 index 0000000..b3959b0 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/ARToolKitPlus.lib differ diff --git a/ARMFCaptureD3D/x64/Release/CL.1180.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.1180.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.1180.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.1180.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.1180.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.1180.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.1284.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.1284.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.1284.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.1284.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.1284.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.1284.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.1464.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.1464.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.1464.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.1464.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.1464.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.1464.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.2096.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.2096.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.2096.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.2096.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.2096.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.2096.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.2124.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.2124.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.2124.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.2124.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.2124.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.2124.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3024.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3024.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3024.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3024.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3024.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3024.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3092.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3092.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3092.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3092.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3092.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3092.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3364.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3364.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3364.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3364.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3364.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3364.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3384.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3384.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3384.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3384.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3384.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3384.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3544.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3544.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3544.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3544.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3544.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3544.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3916.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3916.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3916.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3916.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3916.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3916.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3924.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3924.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3924.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.3924.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.3924.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.3924.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.4284.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.4284.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.4284.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.4284.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.4284.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.4284.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.4332.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.4332.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.4332.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.4332.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.4332.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.4332.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.4604.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.4604.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.4604.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.4604.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.4604.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.4604.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.4640.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.4640.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.4640.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.4640.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.4640.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.4640.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5060.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5060.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5060.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5060.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5060.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5060.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5172.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5172.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5172.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5172.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5172.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5172.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5288.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5288.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5288.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5288.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5288.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5288.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5404.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5404.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5404.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5404.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5404.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5404.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5472.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5472.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5472.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5472.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5472.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5472.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5488.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5488.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5488.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5488.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5488.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5488.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5716.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5716.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5716.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5716.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5716.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5716.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5736.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5736.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5736.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5736.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5736.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5736.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5752.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5752.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5752.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5752.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5752.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5752.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5804.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5804.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5804.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5804.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5804.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5804.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5900.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5900.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5900.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5900.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5900.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5900.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5956.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5956.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5956.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.5956.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.5956.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.5956.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.6228.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.6228.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.6228.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.6228.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.6228.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.6228.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.6368.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.6368.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.6368.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.6368.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.6368.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.6368.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.6400.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.6400.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.6400.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.6400.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.6400.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.6400.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.6428.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.6428.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.6428.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.6428.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.6428.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.6428.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.6488.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.6488.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.6488.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.6488.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.6488.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.6488.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.6748.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.6748.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.6748.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.6748.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.6748.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.6748.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.7112.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.7112.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.7112.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.7112.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.7112.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.7112.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.7176.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.7176.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.7176.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.7176.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.7176.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.7176.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.7352.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.7352.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.7352.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.7352.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.7352.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.7352.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.7400.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.7400.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.7400.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.7400.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.7400.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.7400.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.748.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.748.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.748.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.748.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.748.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.748.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8132.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8132.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8132.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8132.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8132.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8132.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8248.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8248.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8248.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8248.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8248.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8248.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8296.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8296.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8296.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8296.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8296.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8296.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8776.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8776.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8776.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8776.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8776.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8776.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8824.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8824.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8824.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8824.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8824.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8824.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8856.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8856.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8856.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8856.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8856.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8856.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8904.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8904.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8904.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.8904.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.8904.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.8904.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.9148.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.9148.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.9148.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.9148.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.9148.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/CL.9148.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/CL.read.1.tlog b/ARMFCaptureD3D/x64/Release/CL.read.1.tlog new file mode 100644 index 0000000..6101b33 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/CL.read.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Release/CL.write.1.tlog b/ARMFCaptureD3D/x64/Release/CL.write.1.tlog new file mode 100644 index 0000000..2ffd592 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/CL.write.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Release/Calibration.obj b/ARMFCaptureD3D/x64/Release/Calibration.obj new file mode 100644 index 0000000..bd4a7e7 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/Calibration.obj differ diff --git a/ARMFCaptureD3D/x64/Release/ConfigFile.obj b/ARMFCaptureD3D/x64/Release/ConfigFile.obj new file mode 100644 index 0000000..8b89769 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/ConfigFile.obj differ diff --git a/ARMFCaptureD3D/x64/Release/Ivy.dll b/ARMFCaptureD3D/x64/Release/Ivy.dll new file mode 100644 index 0000000..00484ca Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/Ivy.dll differ diff --git a/ARMFCaptureD3D/x64/Release/Ivy.exp b/ARMFCaptureD3D/x64/Release/Ivy.exp new file mode 100644 index 0000000..6b595b7 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/Ivy.exp differ diff --git a/ARMFCaptureD3D/x64/Release/Ivy.lib b/ARMFCaptureD3D/x64/Release/Ivy.lib new file mode 100644 index 0000000..f140850 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/Ivy.lib differ diff --git a/ARMFCaptureD3D/x64/Release/MFCaptureD3D.log b/ARMFCaptureD3D/x64/Release/MFCaptureD3D.log new file mode 100644 index 0000000..32f069c --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/MFCaptureD3D.log @@ -0,0 +1,231 @@ +La gĂ©nĂ©ration a dĂ©marrĂ© 18/11/2011 13:09:41. + 1>Projet "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj" sur le nĹ“ud 3 (build cible(s)). + 1>InitializeBuildStatus: + CrĂ©ation de "x64\Release\ARMFCaptureD3D.unsuccessfulbuild", car "AlwaysCreate" a Ă©tĂ© spĂ©cifiĂ©. + ClCompile: + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64\CL.exe /c /I"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARToolKitPlus-2.2.1\include" /I"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\Bus\Ivy" /Zi /nologo /W4 /WX- /O2 /GL /D WIN32 /D NDEBUG /D _WINDOWS /D DX9 /D _USE_DOUBLE_ /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"x64\Release\\" /Fd"x64\Release\vc100.pdb" /Gd /TP /errorReport:prompt ARAnalyse.cpp Calibration.cpp ConfigFile\ConfigFile.cpp debug.cpp device.cpp MinMaxAvg.cpp options.cpp preview.cpp winmain.cpp + ARAnalyse.cpp + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(21): warning C4995: 'strcat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(22): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(30): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(31): warning C4995: 'vswprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(33): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(35): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1092): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1094): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(757): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(766): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(775): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(81): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(83): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>ARAnalyse.cpp(232): warning C4100: 'size' : paramètre formel non rĂ©fĂ©rencĂ© + 1>ARAnalyse.cpp(923): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(923): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(923): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(924): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(924): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(924): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(925): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(925): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(926): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(968): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(968): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(968): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(968): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(968): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(969): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(969): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(969): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(969): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(969): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(970): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(970): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(970): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(970): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(970): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(971): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(971): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(971): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(971): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(971): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(972): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(972): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(972): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(972): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(973): warning C4305: 'initialisation' : troncation de 'double' Ă  'const float' + 1>ARAnalyse.cpp(844): warning C4100: 'size' : paramètre formel non rĂ©fĂ©rencĂ© + 1>ARAnalyse.cpp(1091): warning C4100: 'dest' : paramètre formel non rĂ©fĂ©rencĂ© + 1>ARAnalyse.cpp(1115): warning C4189: 'height' : variable locale initialisĂ©e mais non rĂ©fĂ©rencĂ©e + 1>ARAnalyse.cpp(1141): warning C4189: 'height' : variable locale initialisĂ©e mais non rĂ©fĂ©rencĂ©e + 1>ARAnalyse.cpp(1170): warning C4189: 'height' : variable locale initialisĂ©e mais non rĂ©fĂ©rencĂ©e + 1>ARAnalyse.cpp(1197): warning C4100: 'dest' : paramètre formel non rĂ©fĂ©rencĂ© + 1>ARAnalyse.cpp(421): warning C4505: 'RGB2HSL' : la fonction locale non rĂ©fĂ©rencĂ©e a Ă©tĂ© supprimĂ©e + Calibration.cpp + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(21): warning C4995: 'strcat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(22): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(30): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(31): warning C4995: 'vswprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(33): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(35): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1092): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1094): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(757): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(766): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(775): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + ConfigFile.cpp + debug.cpp + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + device.cpp + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(21): warning C4995: 'strcat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(22): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(30): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(31): warning C4995: 'vswprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(33): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(35): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1092): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1094): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(757): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(766): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(775): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(81): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(83): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>device.cpp(932): warning C4102: 'done' : Ă©tiquette non rĂ©fĂ©rencĂ©e + MinMaxAvg.cpp + options.cpp + 1>c:\users\fcolin\documents\projects visual studio\cpp\armfcaptured3d\options.h(196): warning C4512: 'OptIstreamIter' : l'opĂ©rateur d'assignation n'a pas pu ĂŞtre gĂ©nĂ©rĂ© + c:\users\fcolin\documents\projects visual studio\cpp\armfcaptured3d\options.h(172) : voir la dĂ©claration de 'OptIstreamIter' + 1>options.cpp(155): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(105) : voir la dĂ©claration de 'strcpy' + 1>options.cpp(156): warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(197) : voir la dĂ©claration de 'strtok' + 1>options.cpp(166): warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(197) : voir la dĂ©claration de 'strtok' + 1>options.cpp(171): warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(197) : voir la dĂ©claration de 'strtok' + 1>options.cpp(177): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(105) : voir la dĂ©claration de 'strcpy' + 1>options.cpp(178): warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(197) : voir la dĂ©claration de 'strtok' + 1>options.cpp(563): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(188) : voir la dĂ©claration de 'strncpy' + 1>options.cpp(571): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(105) : voir la dĂ©claration de 'strcpy' + 1>options.cpp(574): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(105) : voir la dĂ©claration de 'strcpy' + preview.cpp + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(21): warning C4995: 'strcat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(22): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(30): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(31): warning C4995: 'vswprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(33): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(35): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1092): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1094): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(757): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(766): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(775): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(81): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(83): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + winmain.cpp + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(48): warning C4995: 'gets' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(52): warning C4995: 'sprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio(55): warning C4995: 'vsprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(21): warning C4995: 'strcat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring(22): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(30): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(31): warning C4995: 'vswprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(33): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar(35): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(757): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(766): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string(775): warning C4995: 'swprintf' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1092): warning C4995: 'wcscat' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(1094): warning C4995: 'wcscpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>c:\users\fcolin\documents\projects visual studio\cpp\armfcaptured3d\options.h(196): warning C4512: 'OptIstreamIter' : l'opĂ©rateur d'assignation n'a pas pu ĂŞtre gĂ©nĂ©rĂ© + c:\users\fcolin\documents\projects visual studio\cpp\armfcaptured3d\options.h(172) : voir la dĂ©claration de 'OptIstreamIter' + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(81): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(83): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(130): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(132): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'regexp' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'id' : paramètre formel non rĂ©fĂ©rencĂ© + 1>c:\users\fcolin\documents\projects visual studio\cpp\bus\ivy\IvyCallback.h(134): warning C4100: 'app' : paramètre formel non rĂ©fĂ©rencĂ© + 1>winmain.cpp(133): warning C4995: 'strcpy' : le nom a Ă©tĂ© marquĂ© comme #pragma deprecated + 1>winmain.cpp(133): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(105) : voir la dĂ©claration de 'strcpy' + 1>winmain.cpp(648): warning C4100: 'hwnd' : paramètre formel non rĂ©fĂ©rencĂ© + ResourceCompile: + c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"x64\Release\ARMFCaptureD3D.res" ARMFCaptureD3D.rc + Link: + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exe" /INCREMENTAL:NO /NOLOGO Comctl32.lib mfplat.lib mf.lib mfreadwrite.lib mfuuid.lib d3d9.lib shlwapi.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"x64\Release\ARMFCaptureD3D.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.pdb" /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /LTCG /TLBID:1 /DYNAMICBASE:NO /IMPLIB:"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib" /MACHINE:X64 x64\Release\ARMFCaptureD3D.res + x64\Release\ARAnalyse.obj + x64\Release\Calibration.obj + x64\Release\ConfigFile.obj + x64\Release\debug.obj + x64\Release\device.obj + x64\Release\MinMaxAvg.obj + x64\Release\options.obj + x64\Release\preview.obj + x64\Release\winmain.obj + "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\pcre.lib" + "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARToolKitPlus.lib" + "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\Ivy.lib" + CrĂ©ation de la bibliothèque C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.lib et de l'objet C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exp + GĂ©nĂ©ration de code en cours + Fin de la gĂ©nĂ©ration du code + MFCaptureD3D.vcxproj -> C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exe + Manifest: + c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /outputresource:"C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\x64\Release\ARMFCaptureD3D.exe;#1" /manifest x64\Release\ARMFCaptureD3D.exe.intermediate.manifest + FinalizeBuildStatus: + Suppression du fichier "x64\Release\ARMFCaptureD3D.unsuccessfulbuild". + Mise Ă  jour de l'horodatage "x64\Release\ARMFCaptureD3D.lastbuildstate". + 1>GĂ©nĂ©ration du projet "C:\Users\fcolin\Documents\Projects Visual Studio\Cpp\ARMFCaptureD3D\MFCaptureD3D.vcxproj" terminĂ©e (build cible(s)). + +La gĂ©nĂ©ration a rĂ©ussi. + +Temps Ă©coulĂ© 00:00:07.41 diff --git a/ARMFCaptureD3D/x64/Release/MinMaxAvg.obj b/ARMFCaptureD3D/x64/Release/MinMaxAvg.obj new file mode 100644 index 0000000..64d9fac Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/MinMaxAvg.obj differ diff --git a/ARMFCaptureD3D/x64/Release/cl.command.1.tlog b/ARMFCaptureD3D/x64/Release/cl.command.1.tlog new file mode 100644 index 0000000..f529ab6 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/cl.command.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Release/debug.obj b/ARMFCaptureD3D/x64/Release/debug.obj new file mode 100644 index 0000000..24b8a36 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/debug.obj differ diff --git a/ARMFCaptureD3D/x64/Release/device.obj b/ARMFCaptureD3D/x64/Release/device.obj new file mode 100644 index 0000000..a287424 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/device.obj differ diff --git a/ARMFCaptureD3D/x64/Release/link-cvtres.read.1.tlog b/ARMFCaptureD3D/x64/Release/link-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/link-cvtres.read.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/link-cvtres.write.1.tlog b/ARMFCaptureD3D/x64/Release/link-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ARMFCaptureD3D/x64/Release/link-cvtres.write.1.tlog @@ -0,0 +1 @@ +˙ţ \ No newline at end of file diff --git a/ARMFCaptureD3D/x64/Release/link.command.1.tlog b/ARMFCaptureD3D/x64/Release/link.command.1.tlog new file mode 100644 index 0000000..e0b8ef0 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/link.command.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Release/link.read.1.tlog b/ARMFCaptureD3D/x64/Release/link.read.1.tlog new file mode 100644 index 0000000..ef8df0f Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/link.read.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Release/link.write.1.tlog b/ARMFCaptureD3D/x64/Release/link.write.1.tlog new file mode 100644 index 0000000..a3df4f7 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/link.write.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Release/mt.command.1.tlog b/ARMFCaptureD3D/x64/Release/mt.command.1.tlog new file mode 100644 index 0000000..e732c34 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/mt.command.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Release/mt.read.1.tlog b/ARMFCaptureD3D/x64/Release/mt.read.1.tlog new file mode 100644 index 0000000..761f214 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/mt.read.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Release/mt.write.1.tlog b/ARMFCaptureD3D/x64/Release/mt.write.1.tlog new file mode 100644 index 0000000..5f73c74 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/mt.write.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Release/options.obj b/ARMFCaptureD3D/x64/Release/options.obj new file mode 100644 index 0000000..136f0a2 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/options.obj differ diff --git a/ARMFCaptureD3D/x64/Release/pcre.dll b/ARMFCaptureD3D/x64/Release/pcre.dll new file mode 100644 index 0000000..f5b82b9 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/pcre.dll differ diff --git a/ARMFCaptureD3D/x64/Release/pcre.exp b/ARMFCaptureD3D/x64/Release/pcre.exp new file mode 100644 index 0000000..1c7c1c7 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/pcre.exp differ diff --git a/ARMFCaptureD3D/x64/Release/pcre.lib b/ARMFCaptureD3D/x64/Release/pcre.lib new file mode 100644 index 0000000..a0e0fdc Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/pcre.lib differ diff --git a/ARMFCaptureD3D/x64/Release/pcre.pdb b/ARMFCaptureD3D/x64/Release/pcre.pdb new file mode 100644 index 0000000..f95c90b Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/pcre.pdb differ diff --git a/ARMFCaptureD3D/x64/Release/preview.obj b/ARMFCaptureD3D/x64/Release/preview.obj new file mode 100644 index 0000000..b16fec6 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/preview.obj differ diff --git a/ARMFCaptureD3D/x64/Release/rc.command.1.tlog b/ARMFCaptureD3D/x64/Release/rc.command.1.tlog new file mode 100644 index 0000000..62c5aeb Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/rc.command.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Release/rc.read.1.tlog b/ARMFCaptureD3D/x64/Release/rc.read.1.tlog new file mode 100644 index 0000000..3fc68da Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/rc.read.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Release/rc.write.1.tlog b/ARMFCaptureD3D/x64/Release/rc.write.1.tlog new file mode 100644 index 0000000..d573fa0 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/rc.write.1.tlog differ diff --git a/ARMFCaptureD3D/x64/Release/vc100.pdb b/ARMFCaptureD3D/x64/Release/vc100.pdb new file mode 100644 index 0000000..290b0c1 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/vc100.pdb differ diff --git a/ARMFCaptureD3D/x64/Release/winmain.obj b/ARMFCaptureD3D/x64/Release/winmain.obj new file mode 100644 index 0000000..c7f7692 Binary files /dev/null and b/ARMFCaptureD3D/x64/Release/winmain.obj differ -- cgit v1.1