From c96b5719668060cea53c91762a13ff10b2f11628 Mon Sep 17 00:00:00 2001 From: IEVGEN KHVEDCHENIA Date: Tue, 5 Feb 2013 22:38:15 +0200 Subject: [PATCH] Old files cleanup --- .../project.pbxproj | 53 +++++++---- .../WorkspaceSettings.xcsettings | 10 -- .../xcdebugger/Expressions.xcexplist | 14 --- .../Example_MarkerBasedAR - Release.xcscheme | 87 ------------------ .../Example_MarkerBasedAR/DebugHelpers.hpp | 24 +++++ .../MarkerDetectionFacade.hpp | 36 -------- .../VisualizationController.h | 30 ------ .../Example_MarkerBasedAR/marker.png | Bin 0 -> 5822 bytes 8 files changed, 57 insertions(+), 197 deletions(-) mode change 100755 => 100644 Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/project.pbxproj delete mode 100755 Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/project.xcworkspace/xcuserdata/bloodaxe.xcuserdatad/WorkspaceSettings.xcsettings delete mode 100755 Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/project.xcworkspace/xcuserdata/bloodaxe.xcuserdatad/xcdebugger/Expressions.xcexplist delete mode 100755 Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/xcuserdata/bloodaxe.xcuserdatad/xcschemes/Example_MarkerBasedAR - Release.xcscheme create mode 100644 Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR/DebugHelpers.hpp delete mode 100755 Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR/MarkerDetectionFacade.hpp delete mode 100755 Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR/VisualizationController.h create mode 100644 Chapter2_iPhoneAR/Example_MarkerBasedAR/marker.png diff --git a/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/project.pbxproj b/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/project.pbxproj old mode 100755 new mode 100644 index 21eff4c..c719023 --- a/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/project.pbxproj +++ b/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/project.pbxproj @@ -15,6 +15,7 @@ 8A2051981510BCB900E80270 /* SimpleVisualizationController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8A2051971510BCB900E80270 /* SimpleVisualizationController.mm */; }; 8A279D1F150E3F88005F4854 /* MarkerDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A279D1E150E3F88005F4854 /* MarkerDetector.cpp */; }; 8A28CB2615249CEA0049925A /* TinyLA.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A28CB2515249CEA0049925A /* TinyLA.cpp */; }; + 8A8BD08D15E4DFE300B9E08E /* opencv2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A8BD08C15E4DFE300B9E08E /* opencv2.framework */; }; 8ADAC4391504BC61008B5F2A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8ADAC4381504BC61008B5F2A /* UIKit.framework */; }; 8ADAC43B1504BC61008B5F2A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8ADAC43A1504BC61008B5F2A /* Foundation.framework */; }; 8ADAC43D1504BC61008B5F2A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8ADAC43C1504BC61008B5F2A /* CoreGraphics.framework */; }; @@ -38,18 +39,18 @@ 8A205171150F8D2000E80270 /* Marker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Marker.cpp; sourceTree = ""; }; 8A20518B1510A35F00E80270 /* EAGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EAGLView.h; sourceTree = ""; }; 8A20518C1510A35F00E80270 /* EAGLView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EAGLView.m; sourceTree = ""; }; - 8A20518E1510A58F00E80270 /* VisualizationController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VisualizationController.h; sourceTree = ""; }; 8A20518F1510A6E300E80270 /* GeometryTypes.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = GeometryTypes.hpp; sourceTree = ""; }; 8A2051901510BB7B00E80270 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; }; 8A2051911510BB7B00E80270 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; 8A2051941510BB8C00E80270 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 8A2051961510BCB900E80270 /* SimpleVisualizationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SimpleVisualizationController.h; sourceTree = ""; }; 8A2051971510BCB900E80270 /* SimpleVisualizationController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SimpleVisualizationController.mm; sourceTree = ""; }; - 8A2051A015112D3B00E80270 /* MarkerDetectionFacade.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = MarkerDetectionFacade.hpp; sourceTree = ""; }; 8A279D1C150E3F7E005F4854 /* MarkerDetector.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MarkerDetector.hpp; sourceTree = ""; }; 8A279D1E150E3F88005F4854 /* MarkerDetector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MarkerDetector.cpp; sourceTree = ""; }; 8A28CB2315249CDA0049925A /* TinyLA.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = TinyLA.hpp; sourceTree = ""; }; 8A28CB2515249CEA0049925A /* TinyLA.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TinyLA.cpp; sourceTree = ""; }; + 8A8BD08C15E4DFE300B9E08E /* opencv2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = opencv2.framework; sourceTree = ""; }; + 8AAEC1C815E6427300CBC28C /* DebugHelpers.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = DebugHelpers.hpp; sourceTree = ""; }; 8ADAC4341504BC61008B5F2A /* Example_MarkerBasedAR.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example_MarkerBasedAR.app; sourceTree = BUILT_PRODUCTS_DIR; }; 8ADAC4381504BC61008B5F2A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 8ADAC43A1504BC61008B5F2A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; @@ -79,6 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 8A8BD08D15E4DFE300B9E08E /* opencv2.framework in Frameworks */, 8A2051931510BB7B00E80270 /* OpenGLES.framework in Frameworks */, 8A2051951510BB8C00E80270 /* QuartzCore.framework in Frameworks */, 8A2051921510BB7B00E80270 /* GLKit.framework in Frameworks */, @@ -94,15 +96,6 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 8A20517D150FAE6600E80270 /* Interfaces */ = { - isa = PBXGroup; - children = ( - 8A2051A015112D3B00E80270 /* MarkerDetectionFacade.hpp */, - 8A20518E1510A58F00E80270 /* VisualizationController.h */, - ); - name = Interfaces; - sourceTree = ""; - }; 8A20517F1510A30800E80270 /* Rendering */ = { isa = PBXGroup; children = ( @@ -117,6 +110,7 @@ 8A279D20150E3F8C005F4854 /* MarkerDetector */ = { isa = PBXGroup; children = ( + 8AAEC1C815E6427300CBC28C /* DebugHelpers.hpp */, 8A279D1C150E3F7E005F4854 /* MarkerDetector.hpp */, 8A279D1E150E3F88005F4854 /* MarkerDetector.cpp */, 8A205170150F8D1800E80270 /* Marker.hpp */, @@ -147,6 +141,7 @@ 8ADAC4371504BC61008B5F2A /* Frameworks */ = { isa = PBXGroup; children = ( + 8A8BD08C15E4DFE300B9E08E /* opencv2.framework */, 8A2051941510BB8C00E80270 /* QuartzCore.framework */, 8A2051901510BB7B00E80270 /* GLKit.framework */, 8A2051911510BB7B00E80270 /* OpenGLES.framework */, @@ -163,9 +158,8 @@ 8ADAC43E1504BC61008B5F2A /* Example_MarkerBasedAR */ = { isa = PBXGroup; children = ( - 8A20517F1510A30800E80270 /* Rendering */, - 8A20517D150FAE6600E80270 /* Interfaces */, 8A279D20150E3F8C005F4854 /* MarkerDetector */, + 8A20517F1510A30800E80270 /* Rendering */, 8ADAC46A1504C9DE008B5F2A /* VideoSource */, 8ADAC4471504BC61008B5F2A /* AppDelegate.h */, 8ADAC4481504BC61008B5F2A /* AppDelegate.m */, @@ -229,7 +223,7 @@ 8ADAC42B1504BC61008B5F2A /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0430; + LastUpgradeCheck = 0440; }; buildConfigurationList = 8ADAC42E1504BC61008B5F2A /* Build configuration list for PBXProject "Example_MarkerBasedAR" */; compatibilityVersion = "Xcode 3.2"; @@ -318,6 +312,7 @@ CLANG_ENABLE_OBJC_ARC = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)\""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -330,9 +325,7 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/opencv/include"; IPHONEOS_DEPLOYMENT_TARGET = 5.0; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/opencv/lib/debug"; OTHER_LDFLAGS = ( "-lopencv_calib3d", "-lzlib", @@ -345,7 +338,6 @@ ); SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/opencv/include"; }; name = Debug; }; @@ -357,14 +349,14 @@ CLANG_ENABLE_OBJC_ARC = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)\""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/opencv/include"; IPHONEOS_DEPLOYMENT_TARGET = 5.0; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/opencv/lib/release"; + LIBRARY_SEARCH_PATHS = ""; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; OTHER_LDFLAGS = ( "-lopencv_calib3d", @@ -378,7 +370,6 @@ ); SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/opencv/include"; VALIDATE_PRODUCT = YES; }; name = Release; @@ -386,10 +377,21 @@ 8ADAC4561504BC61008B5F2A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LIBRARY = "libc++"; + CODE_SIGN_IDENTITY = "iPhone Developer"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)\"", + ); GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Example_MarkerBasedAR/Example_MarkerBasedAR-Prefix.pch"; + HEADER_SEARCH_PATHS = ""; INFOPLIST_FILE = "Example_MarkerBasedAR/Example_MarkerBasedAR-Info.plist"; + LIBRARY_SEARCH_PATHS = ""; + OTHER_LDFLAGS = ""; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; + USER_HEADER_SEARCH_PATHS = ""; WRAPPER_EXTENSION = app; }; name = Debug; @@ -397,10 +399,21 @@ 8ADAC4571504BC61008B5F2A /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LIBRARY = "libc++"; + CODE_SIGN_IDENTITY = "iPhone Developer"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)\"", + ); GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Example_MarkerBasedAR/Example_MarkerBasedAR-Prefix.pch"; + HEADER_SEARCH_PATHS = ""; INFOPLIST_FILE = "Example_MarkerBasedAR/Example_MarkerBasedAR-Info.plist"; + LIBRARY_SEARCH_PATHS = ""; + OTHER_LDFLAGS = ""; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; + USER_HEADER_SEARCH_PATHS = ""; WRAPPER_EXTENSION = app; }; name = Release; diff --git a/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/project.xcworkspace/xcuserdata/bloodaxe.xcuserdatad/WorkspaceSettings.xcsettings b/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/project.xcworkspace/xcuserdata/bloodaxe.xcuserdatad/WorkspaceSettings.xcsettings deleted file mode 100755 index 659c876..0000000 --- a/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/project.xcworkspace/xcuserdata/bloodaxe.xcuserdatad/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,10 +0,0 @@ - - - - - HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges - - SnapshotAutomaticallyBeforeSignificantChanges - - - diff --git a/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/project.xcworkspace/xcuserdata/bloodaxe.xcuserdatad/xcdebugger/Expressions.xcexplist b/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/project.xcworkspace/xcuserdata/bloodaxe.xcuserdatad/xcdebugger/Expressions.xcexplist deleted file mode 100755 index 6665fa0..0000000 --- a/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/project.xcworkspace/xcuserdata/bloodaxe.xcuserdatad/xcdebugger/Expressions.xcexplist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - diff --git a/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/xcuserdata/bloodaxe.xcuserdatad/xcschemes/Example_MarkerBasedAR - Release.xcscheme b/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/xcuserdata/bloodaxe.xcuserdatad/xcschemes/Example_MarkerBasedAR - Release.xcscheme deleted file mode 100755 index 211e6e4..0000000 --- a/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR.xcodeproj/xcuserdata/bloodaxe.xcuserdatad/xcschemes/Example_MarkerBasedAR - Release.xcscheme +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR/DebugHelpers.hpp b/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR/DebugHelpers.hpp new file mode 100644 index 0000000..534de37 --- /dev/null +++ b/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR/DebugHelpers.hpp @@ -0,0 +1,24 @@ +#ifndef DEBUG_HELPERS_HPP +#define DEBUG_HELPERS_HPP + +#include +#include + +template +std::string ToString(const T& value) +{ + std::ostringstream stream; + stream << value; + return stream.str(); +} + +namespace cv +{ + inline void showAndSave(std::string name, const cv::Mat& m) + { + cv::imshow(name, m); + cv::imwrite(name + ".png", m); + } +} + +#endif \ No newline at end of file diff --git a/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR/MarkerDetectionFacade.hpp b/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR/MarkerDetectionFacade.hpp deleted file mode 100755 index 7bda29e..0000000 --- a/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR/MarkerDetectionFacade.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/***************************************************************************** -* MarkerDetectionNativeImpl.hpp -* Example_MarkerBasedAR -****************************************************************************** -* by Khvedchenia Ievgen, 5th Dec 2012 -* http://computer-vision-talks.com -****************************************************************************** -* Ch2 of the book "Mastering OpenCV with Practical Computer Vision Projects" -* Copyright Packt Publishing 2012. -* http://www.packtpub.com/cool-projects-with-opencv/book -*****************************************************************************/ - -#ifndef Example_MarkerBasedAR_MarkerDetectionNativeImpl_hpp -#define Example_MarkerBasedAR_MarkerDetectionNativeImpl_hpp - -//////////////////////////////////////////////////////////////////// -// Standard includes: -#include -#include - -//////////////////////////////////////////////////////////////////// -// File includes: -#include "BGRAVideoFrame.h" -#include "GeometryTypes.hpp" - -class MarkerDetectionFacade -{ -public: - virtual void processFrame(const BGRAVideoFrame& frame) = 0; - virtual const std::vector& getTransformations() const = 0; - virtual ~MarkerDetectionFacade() {} -}; - -std::auto_ptr createMarkerDetection(CameraCalibration calibration); - -#endif diff --git a/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR/VisualizationController.h b/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR/VisualizationController.h deleted file mode 100755 index 5db7495..0000000 --- a/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR/VisualizationController.h +++ /dev/null @@ -1,30 +0,0 @@ -/***************************************************************************** -* VisualizationController.h -* Example_MarkerBasedAR -****************************************************************************** -* by Khvedchenia Ievgen, 5th Dec 2012 -* http://computer-vision-talks.com -****************************************************************************** -* Ch2 of the book "Mastering OpenCV with Practical Computer Vision Projects" -* Copyright Packt Publishing 2012. -* http://www.packtpub.com/cool-projects-with-opencv/book -*****************************************************************************/ - -//////////////////////////////////////////////////////////////////// -// Standard includes: -#import -#import - -//////////////////////////////////////////////////////////////////// -// File includes: -#import "VideoSource.h" -#import "GeometryTypes.hpp" -#import "EAGLView.h" - -@protocol VisualizationController --(void) drawFrame; --(void) updateBackground:(BGRAVideoFrame) frame; --(void) setTransformationList:(const std::vector&) transformations; -@end - -id createVisualizationController(EAGLView * view, CameraCalibration calibration, CGSize size); \ No newline at end of file diff --git a/Chapter2_iPhoneAR/Example_MarkerBasedAR/marker.png b/Chapter2_iPhoneAR/Example_MarkerBasedAR/marker.png new file mode 100644 index 0000000000000000000000000000000000000000..0b75bb5293363c9075656035cebce27820a84320 GIT binary patch literal 5822 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 BSMUG; literal 0 HcmV?d00001