├── 3rd ├── glew │ ├── glew.dll │ └── glew.lib ├── include │ ├── pangolin │ │ ├── window_frameworks.h │ │ ├── pangolin_export.h │ │ ├── video_drivers.h │ │ └── config.h │ ├── g2o │ │ └── config.h │ ├── gflags │ │ ├── defines.h │ │ ├── gflags_gflags.h │ │ ├── gflags_declare.h │ │ └── gflags_completions.h │ ├── glog │ │ └── config.h │ └── SuiteSparse_config.h ├── glog.vcxproj.filters ├── gflags.vcxproj ├── DBoW2.vcxproj ├── glog.vcxproj ├── yaml-cpp.vcxproj ├── g2o.vcxproj.filters ├── g2o_csparse_extension.vcxproj ├── g2o.vcxproj └── pangolin.vcxproj ├── appveyor.yml ├── .gitignore ├── README.md ├── example ├── run_euroc_slam.vcxproj.filters ├── run_image_slam.vcxproj.filters ├── run_kitti_slam.vcxproj.filters ├── run_tum_rgbd_slam.vcxproj.filters ├── run_image_localization.vcxproj.filters ├── pangolin_viewer.vcxproj ├── run_video_slam.vcxproj ├── run_video_localization.vcxproj ├── run_camera_slam.vcxproj ├── run_camera_localization.vcxproj ├── run_euroc_slam.vcxproj ├── run_kitti_slam.vcxproj ├── run_tum_rgbd_slam.vcxproj ├── run_image_slam.vcxproj └── run_image_localization.vcxproj ├── .gitmodules ├── LICENSE ├── test ├── test.vcxproj.filters └── test.vcxproj ├── openvslam.sln ├── openvslam.vcxproj └── openvslam.vcxproj.filters /3rd/glew/glew.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reunanen/openvslam-build-vs/HEAD/3rd/glew/glew.dll -------------------------------------------------------------------------------- /3rd/glew/glew.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reunanen/openvslam-build-vs/HEAD/3rd/glew/glew.lib -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | image: Visual Studio 2017 2 | install: 3 | - git submodule update --init --recursive 4 | build: 5 | project: openvslam.sln 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.vs/openvslam/v15 2 | *.vcxproj.user 3 | *.bak 4 | *.log 5 | *.pdb 6 | *.obj 7 | *.lib 8 | *.tlog 9 | *.dll 10 | *.ilk 11 | *.exe 12 | *.exp 13 | /3rd/include/opencv2/features2d/features2d.hpp 14 | map.msg 15 | -------------------------------------------------------------------------------- /3rd/include/pangolin/window_frameworks.h: -------------------------------------------------------------------------------- 1 | // CMake generated file. Do Not Edit. 2 | 3 | #pragma once 4 | 5 | namespace pangolin { 6 | 7 | void RegisterWinWindowFactory(); 8 | 9 | inline bool LoadBuiltInWindowFrameworks() 10 | { 11 | RegisterWinWindowFactory(); 12 | return true; 13 | } 14 | 15 | } // pangolin 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # openvslam-build-vs [![Build status](https://ci.appveyor.com/api/projects/status/hfyeibtm44oq20pk?svg=true)](https://ci.appveyor.com/project/reunanen/openvslam-build-vs) 2 | Visual Studio project files for [OpenVSLAM](https://github.com/xdspacelab/openvslam) – no need to use CMake 3 | 4 | ## Instructions 5 | 6 | * `git clone https://github.com/reunanen/openvslam-build-vs` 7 | * `cd openvslam-build-vs` 8 | * `git submodule update --init --recursive` 9 | * Open `openvslam.sln` (in repo root) in Visual Studio 2017 10 | * Build 11 | * Test as described [here](https://openvslam.readthedocs.io/en/master/simple_tutorial.html) 12 | -------------------------------------------------------------------------------- /example/run_euroc_slam.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | util 7 | 8 | 9 | 10 | 11 | {ce5591e4-5a31-44a2-a05c-44f1db9cdded} 12 | 13 | 14 | 15 | 16 | util 17 | 18 | 19 | -------------------------------------------------------------------------------- /example/run_image_slam.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | util 7 | 8 | 9 | 10 | 11 | {d0b67175-fcfe-451b-b644-642a363a84d7} 12 | 13 | 14 | 15 | 16 | util 17 | 18 | 19 | -------------------------------------------------------------------------------- /example/run_kitti_slam.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | util 7 | 8 | 9 | 10 | 11 | {e19fd8b0-4885-43bf-83ca-de06c5bc02e0} 12 | 13 | 14 | 15 | 16 | util 17 | 18 | 19 | -------------------------------------------------------------------------------- /example/run_tum_rgbd_slam.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | util 7 | 8 | 9 | 10 | 11 | {b3f584be-9e05-46f1-a694-b2b58a46a0e5} 12 | 13 | 14 | 15 | 16 | util 17 | 18 | 19 | -------------------------------------------------------------------------------- /example/run_image_localization.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | util 7 | 8 | 9 | 10 | 11 | {a5c52617-e16e-4200-9b4e-5e6b8f187db6} 12 | 13 | 14 | 15 | 16 | util 17 | 18 | 19 | -------------------------------------------------------------------------------- /3rd/glog.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | windows 13 | 14 | 15 | 16 | 17 | {2e02a14f-5d66-442e-9af8-6120848021ba} 18 | 19 | 20 | -------------------------------------------------------------------------------- /3rd/include/g2o/config.h: -------------------------------------------------------------------------------- 1 | #ifndef G2O_CONFIG_H 2 | #define G2O_CONFIG_H 3 | 4 | 5 | /* #undef G2O_HAVE_OPENGL */ 6 | #define G2O_OPENGL_FOUND 1 7 | #define G2O_OPENMP 1 8 | #define G2O_LGPL_SHARED_LIBS 1 9 | 10 | // available sparse matrix libraries 11 | #define G2O_HAVE_CHOLMOD 1 12 | #define G2O_HAVE_CSPARSE 1 13 | 14 | /* #undef G2O_NO_IMPLICIT_OWNERSHIP_OF_OBJECTS */ 15 | 16 | #ifdef G2O_NO_IMPLICIT_OWNERSHIP_OF_OBJECTS 17 | #define G2O_DELETE_IMPLICITLY_OWNED_OBJECTS 0 18 | #else 19 | #define G2O_DELETE_IMPLICITLY_OWNED_OBJECTS 1 20 | #endif 21 | 22 | /* #undef G2O_SINGLE_PRECISION_MATH */ 23 | #ifdef G2O_SINGLE_PRECISION_MATH 24 | #define G2O_NUMBER_FORMAT_STR "%g" 25 | 26 | #ifdef __cplusplus 27 | using number_t = float; 28 | #else 29 | typedef float number_t; 30 | #endif 31 | #else 32 | #define G2O_NUMBER_FORMAT_STR "%lg" 33 | 34 | #ifdef __cplusplus 35 | using number_t = double; 36 | #else 37 | typedef double number_t; 38 | #endif 39 | #endif 40 | 41 | #ifdef __cplusplus 42 | #include 43 | #endif 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /3rd/include/pangolin/pangolin_export.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef PANGOLIN_EXPORT_H 3 | #define PANGOLIN_EXPORT_H 4 | 5 | #ifdef PANGOLIN_BUILT_AS_STATIC 6 | # define PANGOLIN_EXPORT 7 | # define PANGOLIN_NO_EXPORT 8 | #else 9 | # ifndef PANGOLIN_EXPORT 10 | # ifdef pangolin_EXPORTS 11 | /* We are building this library */ 12 | # define PANGOLIN_EXPORT 13 | # else 14 | /* We are using this library */ 15 | # define PANGOLIN_EXPORT 16 | # endif 17 | # endif 18 | 19 | # ifndef PANGOLIN_NO_EXPORT 20 | # define PANGOLIN_NO_EXPORT 21 | # endif 22 | #endif 23 | 24 | #ifndef PANGOLIN_DEPRECATED 25 | # define PANGOLIN_DEPRECATED __declspec(deprecated) 26 | #endif 27 | 28 | #ifndef PANGOLIN_DEPRECATED_EXPORT 29 | # define PANGOLIN_DEPRECATED_EXPORT PANGOLIN_EXPORT PANGOLIN_DEPRECATED 30 | #endif 31 | 32 | #ifndef PANGOLIN_DEPRECATED_NO_EXPORT 33 | # define PANGOLIN_DEPRECATED_NO_EXPORT PANGOLIN_NO_EXPORT PANGOLIN_DEPRECATED 34 | #endif 35 | 36 | #if 0 /* DEFINE_NO_DEPRECATED */ 37 | # ifndef PANGOLIN_NO_DEPRECATED 38 | # define PANGOLIN_NO_DEPRECATED 39 | # endif 40 | #endif 41 | 42 | #endif /* PANGOLIN_EXPORT_H */ 43 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "openvslam"] 2 | path = openvslam 3 | url = https://github.com/reunanen/openvslam.git 4 | [submodule "3rd/eigen"] 5 | path = 3rd/eigen 6 | url = https://gitlab.com/libeigen/eigen.git 7 | [submodule "3rd/suitesparse-metis-for-windows"] 8 | path = 3rd/suitesparse-metis-for-windows 9 | url = https://github.com/jlblancoc/suitesparse-metis-for-windows.git 10 | [submodule "3rd/DBoW2"] 11 | path = 3rd/DBoW2 12 | url = https://github.com/shinsumicco/DBoW2.git 13 | [submodule "3rd/yaml-cpp"] 14 | path = 3rd/yaml-cpp 15 | url = https://github.com/jbeder/yaml-cpp.git 16 | [submodule "3rd/opencv-build-vs"] 17 | path = 3rd/opencv-build-vs 18 | url = https://github.com/reunanen/opencv-build-vs 19 | [submodule "3rd/Pangolin"] 20 | path = 3rd/Pangolin 21 | url = https://github.com/stevenlovegrove/Pangolin.git 22 | [submodule "3rd/glog"] 23 | path = 3rd/glog 24 | url = https://github.com/google/glog.git 25 | [submodule "3rd/gflags"] 26 | path = 3rd/gflags 27 | url = https://github.com/gflags/gflags.git 28 | [submodule "3rd/g2o"] 29 | path = 3rd/g2o 30 | url = https://github.com/RainerKuemmerle/g2o.git 31 | [submodule "3rd/dirent"] 32 | path = 3rd/dirent 33 | url = https://github.com/tronkko/dirent 34 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 2-Clause License 2 | 3 | Copyright (c) 2020, Juha Reunanen 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /3rd/include/gflags/defines.h: -------------------------------------------------------------------------------- 1 | /* Generated from defines.h.in during build configuration using CMake. */ 2 | 3 | // Note: This header file is only used internally. It is not part of public interface! 4 | // Any cmakedefine is defined using the -D flag instead when Bazel is used. 5 | // For Bazel, this file is thus not used to avoid a private file in $(GENDIR). 6 | 7 | #ifndef GFLAGS_DEFINES_H_ 8 | #define GFLAGS_DEFINES_H_ 9 | 10 | 11 | // Define if you build this library for a MS Windows OS. 12 | #define OS_WINDOWS 13 | 14 | // Define if you have the header file. 15 | #define HAVE_STDINT_H 16 | 17 | // Define if you have the header file. 18 | #define HAVE_SYS_TYPES_H 19 | 20 | // Define if you have the header file. 21 | #define HAVE_INTTYPES_H 22 | 23 | // Define if you have the header file. 24 | #define HAVE_SYS_STAT_H 25 | 26 | // Define if you have the header file. 27 | /* #undef HAVE_UNISTD_H */ 28 | 29 | // Define if you have the header file. 30 | /* #undef HAVE_FNMATCH_H */ 31 | 32 | // Define if you have the header file (Windows 2000/XP). 33 | #define HAVE_SHLWAPI_H 34 | 35 | // Define if you have the strtoll function. 36 | /* #undef HAVE_STRTOLL */ 37 | 38 | // Define if you have the strtoq function. 39 | /* #undef HAVE_STRTOQ */ 40 | 41 | // Define if you have the header file. 42 | /* #undef HAVE_PTHREAD */ 43 | 44 | // Define if your pthread library defines the type pthread_rwlock_t 45 | /* #undef HAVE_RWLOCK */ 46 | 47 | 48 | #endif // GFLAGS_DEFINES_H_ 49 | -------------------------------------------------------------------------------- /3rd/include/pangolin/video_drivers.h: -------------------------------------------------------------------------------- 1 | // CMake generated file. Do Not Edit. 2 | 3 | #pragma once 4 | 5 | namespace pangolin { 6 | 7 | void RegisterTestVideoFactory(); 8 | void RegisterImagesVideoFactory(); 9 | void RegisterImagesVideoOutputFactory(); 10 | void RegisterSplitVideoFactory(); 11 | void RegisterTruncateVideoFactory(); 12 | void RegisterPvnVideoFactory(); 13 | void RegisterPangoVideoFactory(); 14 | void RegisterPangoVideoOutputFactory(); 15 | void RegisterDebayerVideoFactory(); 16 | void RegisterShiftVideoFactory(); 17 | void RegisterMirrorVideoFactory(); 18 | void RegisterUnpackVideoFactory(); 19 | void RegisterPackVideoFactory(); 20 | void RegisterJoinVideoFactory(); 21 | void RegisterMergeVideoFactory(); 22 | void RegisterJsonVideoFactory(); 23 | void RegisterThreadVideoFactory(); 24 | void RegisterUvcMediaFoundationVideoFactory(); 25 | 26 | inline bool LoadBuiltInVideoDrivers() 27 | { 28 | RegisterTestVideoFactory(); 29 | RegisterImagesVideoFactory(); 30 | RegisterImagesVideoOutputFactory(); 31 | RegisterSplitVideoFactory(); 32 | RegisterTruncateVideoFactory(); 33 | RegisterPvnVideoFactory(); 34 | RegisterPangoVideoFactory(); 35 | RegisterPangoVideoOutputFactory(); 36 | RegisterDebayerVideoFactory(); 37 | RegisterShiftVideoFactory(); 38 | RegisterMirrorVideoFactory(); 39 | RegisterUnpackVideoFactory(); 40 | RegisterPackVideoFactory(); 41 | RegisterJoinVideoFactory(); 42 | RegisterMergeVideoFactory(); 43 | RegisterJsonVideoFactory(); 44 | RegisterThreadVideoFactory(); 45 | RegisterUvcMediaFoundationVideoFactory(); 46 | return true; 47 | } 48 | 49 | } // pangolin 50 | -------------------------------------------------------------------------------- /3rd/include/pangolin/config.h: -------------------------------------------------------------------------------- 1 | #ifndef PANGOLIN_CONFIG_H 2 | #define PANGOLIN_CONFIG_H 3 | 4 | /* 5 | * Configuration Header for Pangolin 6 | */ 7 | 8 | /// Version 9 | #define PANGOLIN_VERSION_MAJOR 0 10 | #define PANGOLIN_VERSION_MINOR 5 11 | #define PANGOLIN_VERSION_STRING "0.5" 12 | 13 | /// Pangolin options 14 | #define BUILD_PANGOLIN_GUI 15 | #define BUILD_PANGOLIN_VARS 16 | #define BUILD_PANGOLIN_VIDEO 17 | 18 | /// Configured libraries 19 | /* #undef HAVE_CUDA */ 20 | /* #undef HAVE_PYTHON */ 21 | 22 | #define HAVE_EIGEN 23 | /* #undef HAVE_TOON */ 24 | 25 | /* #undef HAVE_DC1394 */ 26 | /* #undef HAVE_V4L */ 27 | /* #undef HAVE_OPENNI */ 28 | /* #undef HAVE_LIBREALSENSE */ 29 | /* #undef HAVE_OPENNI2 */ 30 | /* #undef HAVE_UVC */ 31 | /* #undef HAVE_DEPTHSENSE */ 32 | /* #undef HAVE_TELICAM */ 33 | /* #undef HAVE_PLEORA */ 34 | 35 | /* #undef HAVE_FFMPEG */ 36 | /* #undef HAVE_FFMPEG_MAX_ANALYZE_DURATION2 */ 37 | /* #undef HAVE_FFMPEG_AVFORMAT_ALLOC_OUTPUT_CONTEXT2 */ 38 | /* #undef HAVE_FFMPEG_AVPIXELFORMAT */ 39 | 40 | #define HAVE_GLEW 41 | #define GLEW_STATIC 42 | 43 | /* #undef HAVE_APPLE_OPENGL_FRAMEWORK */ 44 | /* #undef HAVE_GLES */ 45 | /* #undef HAVE_GLES_2 */ 46 | /* #undef HAVE_OCULUS */ 47 | 48 | #define HAVE_PNG 49 | #define HAVE_JPEG 50 | /* #undef HAVE_TIFF */ 51 | /* #undef HAVE_OPENEXR */ 52 | /* #undef HAVE_ZSTD */ 53 | /* #undef HAVE_LZ4 */ 54 | 55 | /// Platform 56 | /* #undef _UNIX_ */ 57 | #define _WIN_ 58 | /* #undef _OSX_ */ 59 | /* #undef _LINUX_ */ 60 | /* #undef _ANDROID_ */ 61 | /* #undef _IOS_ */ 62 | 63 | /// Compiler 64 | /* #undef _GCC_ */ 65 | /* #undef _CLANG_ */ 66 | #define _MSVC_ 67 | 68 | #if (__cplusplus > 199711L) || (_MSC_VER >= 1800) 69 | #define CALLEE_HAS_VARIADIC_TEMPLATES 70 | #endif 71 | 72 | #endif //PANGOLIN_CONFIG_H 73 | -------------------------------------------------------------------------------- /3rd/gflags.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {BBD6D3E7-5ABA-3552-A8CB-67DF47D02B92} 15 | Win32Proj 16 | x64 17 | gflags 18 | 8.1 19 | 20 | 21 | 22 | v141 23 | StaticLibrary 24 | 25 | 26 | v141 27 | StaticLibrary 28 | 29 | 30 | 31 | 32 | 33 | $(Platform)\$(Configuration)\$(ProjectName)\ 34 | 35 | 36 | $(Platform)\$(Configuration)\$(ProjectName)\ 37 | 38 | 39 | 40 | $(ProjectDir)include;$(ProjectDir)include\gflags 41 | MultiThreadedDebugDLL 42 | Disabled 43 | Disabled 44 | 45 | 46 | 47 | 48 | $(ProjectDir)include;$(ProjectDir)include\gflags 49 | MultiThreadedDLL 50 | AnySuitable 51 | Speed 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /3rd/DBoW2.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {17AEC011-48F2-31B2-8B1C-BFB047B653D9} 15 | Win32Proj 16 | x64 17 | DBoW2 18 | 8.1 19 | 20 | 21 | 22 | StaticLibrary 23 | v141 24 | 25 | 26 | StaticLibrary 27 | v141 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | $(Platform)\$(Configuration)\$(ProjectName)\ 38 | 39 | 40 | $(Platform)\$(Configuration)\$(ProjectName)\ 41 | 42 | 43 | 44 | DBoW2\include;opencv-build-vs\include 45 | MultiThreadedDebugDLL 46 | Disabled 47 | Disabled 48 | 49 | 50 | 51 | 52 | DBoW2\include;opencv-build-vs\include 53 | AnySuitable 54 | Speed 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /3rd/glog.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {2FC1F1B2-EBD3-3C55-8DCC-18FCC73421C3} 15 | Win32Proj 16 | x64 17 | glog 18 | 8.1 19 | 20 | 21 | 22 | StaticLibrary 23 | v141 24 | 25 | 26 | StaticLibrary 27 | v141 28 | 29 | 30 | 31 | 32 | 33 | $(Platform)\$(Configuration)\$(ProjectName)\ 34 | 35 | 36 | $(Platform)\$(Configuration)\$(ProjectName)\ 37 | 38 | 39 | 40 | include/glog;glog/src/windows;include 41 | 4091 42 | MultiThreadedDebugDLL 43 | Disabled 44 | Disabled 45 | 46 | 47 | 48 | 49 | include/glog;glog/src/windows;include 50 | 4091 51 | MultiThreadedDLL 52 | AnySuitable 53 | Speed 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | HAVE_SNPRINTF 66 | HAVE_SNPRINTF 67 | 68 | 69 | -------------------------------------------------------------------------------- /test/test.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {0066a7d1-aa2c-4968-91d3-43f01235cef3} 6 | 7 | 8 | {26f97b01-18da-4dba-b4f7-61a59679e285} 9 | 10 | 11 | {700f40a5-867e-47fc-8660-2f1a0ac52ed8} 12 | 13 | 14 | {4c9568bb-9b7f-417d-b1c4-05a5f8aa3953} 15 | 16 | 17 | {e6860aad-38c0-441f-89fe-38e7e39b2da7} 18 | 19 | 20 | {593b95cf-89c3-4349-a2fb-fee12652ad83} 21 | 22 | 23 | 24 | 25 | feature 26 | 27 | 28 | feature 29 | 30 | 31 | util 32 | 33 | 34 | util 35 | 36 | 37 | util 38 | 39 | 40 | match 41 | 42 | 43 | match 44 | 45 | 46 | solve 47 | 48 | 49 | solve 50 | 51 | 52 | solve 53 | 54 | 55 | solve 56 | 57 | 58 | helper 59 | 60 | 61 | helper 62 | 63 | 64 | helper 65 | 66 | 67 | gtest 68 | 69 | 70 | gtest 71 | 72 | 73 | gtest 74 | 75 | 76 | gtest 77 | 78 | 79 | gtest 80 | 81 | 82 | gtest 83 | 84 | 85 | gtest 86 | 87 | 88 | gtest 89 | 90 | 91 | -------------------------------------------------------------------------------- /example/pangolin_viewer.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} 15 | Win32Proj 16 | x64 17 | pangolin_viewer 18 | 8.1 19 | 20 | 21 | 22 | StaticLibrary 23 | v141 24 | 25 | 26 | StaticLibrary 27 | v141 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | $(Platform)\$(Configuration)\$(ProjectName)\ 38 | 39 | 40 | $(Platform)\$(Configuration)\$(ProjectName)\ 41 | 42 | 43 | 44 | ..\openvslam\src;..\3rd\include;..\3rd\Pangolin\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\3rd\g2o 45 | USE_DBOW2 46 | MultiThreadedDebugDLL 47 | Disabled 48 | Disabled 49 | 50 | 51 | xcopy /y /a ..\3rd\opencv-build-vs\include\opencv2\features2d.hpp ..\3rd\include\opencv2\features2d\ 52 | 53 | 54 | 55 | 56 | ..\openvslam\src;..\3rd\include;..\3rd\Pangolin\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\3rd\g2o 57 | USE_DBOW2 58 | AnySuitable 59 | Speed 60 | 61 | 62 | xcopy /y /a ..\3rd\opencv-build-vs\include\opencv2\features2d.hpp ..\3rd\include\opencv2\features2d\ 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /3rd/yaml-cpp.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {1FEE933E-7540-3512-87B5-9DE57E79BC13} 15 | Win32Proj 16 | x64 17 | 8.1 18 | 19 | 20 | 21 | StaticLibrary 22 | v141 23 | 24 | 25 | StaticLibrary 26 | v141 27 | 28 | 29 | 30 | 31 | $(Platform)\$(Configuration)\$(ProjectName)\ 32 | 33 | 34 | $(Platform)\$(Configuration)\$(ProjectName)\ 35 | 36 | 37 | 38 | yaml-cpp\include 39 | MultiThreadedDebugDLL 40 | Disabled 41 | Disabled 42 | 43 | 44 | 45 | 46 | yaml-cpp\include 47 | AnySuitable 48 | Speed 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /3rd/include/gflags/gflags_gflags.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, Andreas Schuh 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // ----------------------------------------------------------------------------- 31 | // Imports the gflags library symbols into an alternative/deprecated namespace. 32 | 33 | #ifndef GFLAGS_GFLAGS_H_ 34 | # error The internal header gflags_gflags.h may only be included by gflags.h 35 | #endif 36 | 37 | #ifndef GFLAGS_NS_GFLAGS_H_ 38 | #define GFLAGS_NS_GFLAGS_H_ 39 | 40 | 41 | namespace gflags { 42 | 43 | 44 | using GFLAGS_NAMESPACE::int32; 45 | using GFLAGS_NAMESPACE::uint32; 46 | using GFLAGS_NAMESPACE::int64; 47 | using GFLAGS_NAMESPACE::uint64; 48 | 49 | using GFLAGS_NAMESPACE::RegisterFlagValidator; 50 | using GFLAGS_NAMESPACE::CommandLineFlagInfo; 51 | using GFLAGS_NAMESPACE::GetAllFlags; 52 | using GFLAGS_NAMESPACE::ShowUsageWithFlags; 53 | using GFLAGS_NAMESPACE::ShowUsageWithFlagsRestrict; 54 | using GFLAGS_NAMESPACE::DescribeOneFlag; 55 | using GFLAGS_NAMESPACE::SetArgv; 56 | using GFLAGS_NAMESPACE::GetArgvs; 57 | using GFLAGS_NAMESPACE::GetArgv; 58 | using GFLAGS_NAMESPACE::GetArgv0; 59 | using GFLAGS_NAMESPACE::GetArgvSum; 60 | using GFLAGS_NAMESPACE::ProgramInvocationName; 61 | using GFLAGS_NAMESPACE::ProgramInvocationShortName; 62 | using GFLAGS_NAMESPACE::ProgramUsage; 63 | using GFLAGS_NAMESPACE::VersionString; 64 | using GFLAGS_NAMESPACE::GetCommandLineOption; 65 | using GFLAGS_NAMESPACE::GetCommandLineFlagInfo; 66 | using GFLAGS_NAMESPACE::GetCommandLineFlagInfoOrDie; 67 | using GFLAGS_NAMESPACE::FlagSettingMode; 68 | using GFLAGS_NAMESPACE::SET_FLAGS_VALUE; 69 | using GFLAGS_NAMESPACE::SET_FLAG_IF_DEFAULT; 70 | using GFLAGS_NAMESPACE::SET_FLAGS_DEFAULT; 71 | using GFLAGS_NAMESPACE::SetCommandLineOption; 72 | using GFLAGS_NAMESPACE::SetCommandLineOptionWithMode; 73 | using GFLAGS_NAMESPACE::FlagSaver; 74 | using GFLAGS_NAMESPACE::CommandlineFlagsIntoString; 75 | using GFLAGS_NAMESPACE::ReadFlagsFromString; 76 | using GFLAGS_NAMESPACE::AppendFlagsIntoFile; 77 | using GFLAGS_NAMESPACE::ReadFromFlagsFile; 78 | using GFLAGS_NAMESPACE::BoolFromEnv; 79 | using GFLAGS_NAMESPACE::Int32FromEnv; 80 | using GFLAGS_NAMESPACE::Uint32FromEnv; 81 | using GFLAGS_NAMESPACE::Int64FromEnv; 82 | using GFLAGS_NAMESPACE::Uint64FromEnv; 83 | using GFLAGS_NAMESPACE::DoubleFromEnv; 84 | using GFLAGS_NAMESPACE::StringFromEnv; 85 | using GFLAGS_NAMESPACE::SetUsageMessage; 86 | using GFLAGS_NAMESPACE::SetVersionString; 87 | using GFLAGS_NAMESPACE::ParseCommandLineNonHelpFlags; 88 | using GFLAGS_NAMESPACE::HandleCommandLineHelpFlags; 89 | using GFLAGS_NAMESPACE::AllowCommandLineReparsing; 90 | using GFLAGS_NAMESPACE::ReparseCommandLineNonHelpFlags; 91 | using GFLAGS_NAMESPACE::ShutDownCommandLineFlags; 92 | using GFLAGS_NAMESPACE::FlagRegisterer; 93 | 94 | #ifndef SWIG 95 | using GFLAGS_NAMESPACE::ParseCommandLineFlags; 96 | #endif 97 | 98 | 99 | } // namespace gflags 100 | 101 | 102 | #endif // GFLAGS_NS_GFLAGS_H_ 103 | -------------------------------------------------------------------------------- /3rd/g2o.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | core 6 | 7 | 8 | core 9 | 10 | 11 | core 12 | 13 | 14 | core 15 | 16 | 17 | core 18 | 19 | 20 | core 21 | 22 | 23 | core 24 | 25 | 26 | core 27 | 28 | 29 | core 30 | 31 | 32 | core 33 | 34 | 35 | core 36 | 37 | 38 | core 39 | 40 | 41 | core 42 | 43 | 44 | core 45 | 46 | 47 | core 48 | 49 | 50 | core 51 | 52 | 53 | core 54 | 55 | 56 | core 57 | 58 | 59 | core 60 | 61 | 62 | core 63 | 64 | 65 | core 66 | 67 | 68 | core 69 | 70 | 71 | core 72 | 73 | 74 | core 75 | 76 | 77 | core 78 | 79 | 80 | stuff 81 | 82 | 83 | stuff 84 | 85 | 86 | stuff 87 | 88 | 89 | stuff 90 | 91 | 92 | stuff 93 | 94 | 95 | stuff 96 | 97 | 98 | stuff 99 | 100 | 101 | stuff 102 | 103 | 104 | stuff 105 | 106 | 107 | 108 | 109 | {ff870051-59a5-4b58-b483-d25b1fa93af4} 110 | 111 | 112 | {d7500d87-e623-4d66-a976-9c09199b750a} 113 | 114 | 115 | -------------------------------------------------------------------------------- /example/run_video_slam.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {C6F70D35-5763-3EA0-9F5E-B02C946C4C8F} 15 | Win32Proj 16 | x64 17 | run_video_slam 18 | 19 | 20 | 21 | Application 22 | v141 23 | 24 | 25 | Application 26 | v141 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | $(Platform)\$(Configuration)\$(ProjectName)\ 37 | 38 | 39 | $(Platform)\$(Configuration)\$(ProjectName)\ 40 | 41 | 42 | 43 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 44 | USE_PANGOLIN_VIEWER;USE_DBOW2 45 | MultiThreadedDebugDLL 46 | Disabled 47 | Disabled 48 | 49 | 50 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;%(AdditionalDependencies) 51 | $(OutDir) 52 | libcmt 53 | 54 | 55 | 56 | 57 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 58 | USE_PANGOLIN_VIEWER;USE_DBOW2 59 | AnySuitable 60 | Speed 61 | 62 | 63 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;%(AdditionalDependencies) 64 | $(OutDir) 65 | libcmt 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /example/run_video_localization.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {A1542A32-7F73-381A-9D60-62D34C08589B} 15 | Win32Proj 16 | x64 17 | run_video_localization 18 | 19 | 20 | 21 | Application 22 | v141 23 | 24 | 25 | Application 26 | v141 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | $(Platform)\$(Configuration)\$(ProjectName)\ 37 | 38 | 39 | $(Platform)\$(Configuration)\$(ProjectName)\ 40 | 41 | 42 | 43 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 44 | USE_PANGOLIN_VIEWER;USE_DBOW2 45 | MultiThreadedDebugDLL 46 | Disabled 47 | Disabled 48 | 49 | 50 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;%(AdditionalDependencies) 51 | $(OutDir) 52 | libcmt 53 | 54 | 55 | 56 | 57 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 58 | USE_PANGOLIN_VIEWER;USE_DBOW2 59 | AnySuitable 60 | Speed 61 | 62 | 63 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;%(AdditionalDependencies) 64 | $(OutDir) 65 | libcmt 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /example/run_camera_slam.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {0999A08C-AD46-30B5-9122-099DA6458AB8} 15 | Win32Proj 16 | x64 17 | run_camera_slam 18 | 19 | 20 | 21 | Application 22 | v141 23 | 24 | 25 | Application 26 | v141 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | $(Platform)\$(Configuration)\$(ProjectName)\ 37 | 38 | 39 | $(Platform)\$(Configuration)\$(ProjectName)\ 40 | 41 | 42 | 43 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 44 | USE_PANGOLIN_VIEWER;USE_DBOW2 45 | MultiThreadedDebugDLL 46 | 4244 47 | Disabled 48 | Disabled 49 | 50 | 51 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;%(AdditionalDependencies) 52 | $(OutDir) 53 | libcmt 54 | 55 | 56 | 57 | 58 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 59 | USE_PANGOLIN_VIEWER;USE_DBOW2 60 | 4244 61 | AnySuitable 62 | Speed 63 | 64 | 65 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;%(AdditionalDependencies) 66 | $(OutDir) 67 | libcmt 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /example/run_camera_localization.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {3E35AD4C-1B7D-3546-AEA4-E4A7342D8978} 15 | Win32Proj 16 | x64 17 | run_camera_localization 18 | 19 | 20 | 21 | Application 22 | v141 23 | 24 | 25 | Application 26 | v141 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | $(Platform)\$(Configuration)\$(ProjectName)\ 37 | 38 | 39 | $(Platform)\$(Configuration)\$(ProjectName)\ 40 | 41 | 42 | 43 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 44 | USE_PANGOLIN_VIEWER;USE_DBOW2 45 | MultiThreadedDebugDLL 46 | 4244 47 | Disabled 48 | Disabled 49 | 50 | 51 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;%(AdditionalDependencies) 52 | $(OutDir) 53 | libcmt 54 | 55 | 56 | 57 | 58 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 59 | USE_PANGOLIN_VIEWER;USE_DBOW2 60 | 4244 61 | AnySuitable 62 | Speed 63 | 64 | 65 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;%(AdditionalDependencies) 66 | $(OutDir) 67 | libcmt 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /example/run_euroc_slam.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {819869DC-6FC8-3B91-A639-2968B86B9A88} 15 | Win32Proj 16 | x64 17 | run_euroc_slam 18 | 19 | 20 | 21 | Application 22 | v141 23 | 24 | 25 | Application 26 | v141 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | $(Platform)\$(Configuration)\$(ProjectName)\ 37 | 38 | 39 | $(Platform)\$(Configuration)\$(ProjectName)\ 40 | 41 | 42 | 43 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 44 | USE_PANGOLIN_VIEWER;USE_DBOW2 45 | MultiThreadedDebugDLL 46 | Disabled 47 | Disabled 48 | 49 | 50 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;Mf.lib;Mfplat.lib;Mfreadwrite.lib;Mfuuid.lib;%(AdditionalDependencies) 51 | $(OutDir) 52 | libcmt 53 | 54 | 55 | 56 | 57 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 58 | USE_PANGOLIN_VIEWER;USE_DBOW2 59 | AnySuitable 60 | Speed 61 | 62 | 63 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;Mf.lib;Mfplat.lib;Mfreadwrite.lib;Mfuuid.lib;%(AdditionalDependencies) 64 | $(OutDir) 65 | libcmt 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /example/run_kitti_slam.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {4638BE55-88F7-3560-BA79-22D6A1EDEBB2} 15 | Win32Proj 16 | x64 17 | run_kitti_slam 18 | 19 | 20 | 21 | Application 22 | v141 23 | 24 | 25 | Application 26 | v141 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | $(Platform)\$(Configuration)\$(ProjectName)\ 37 | 38 | 39 | $(Platform)\$(Configuration)\$(ProjectName)\ 40 | 41 | 42 | 43 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 44 | USE_PANGOLIN_VIEWER;USE_DBOW2 45 | MultiThreadedDebugDLL 46 | Disabled 47 | Disabled 48 | 49 | 50 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;Mf.lib;Mfplat.lib;Mfreadwrite.lib;Mfuuid.lib;%(AdditionalDependencies) 51 | $(OutDir) 52 | libcmt 53 | 54 | 55 | 56 | 57 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 58 | USE_PANGOLIN_VIEWER;USE_DBOW2 59 | AnySuitable 60 | Speed 61 | 62 | 63 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;Mf.lib;Mfplat.lib;Mfreadwrite.lib;Mfuuid.lib;%(AdditionalDependencies) 64 | $(OutDir) 65 | libcmt 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /example/run_tum_rgbd_slam.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {671BEBC7-07A5-3A40-8D1E-5B16C9F09B04} 15 | Win32Proj 16 | x64 17 | run_tum_rgbd_slam 18 | 19 | 20 | 21 | Application 22 | v141 23 | 24 | 25 | Application 26 | v141 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | $(Platform)\$(Configuration)\$(ProjectName)\ 37 | 38 | 39 | $(Platform)\$(Configuration)\$(ProjectName)\ 40 | 41 | 42 | 43 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 44 | USE_PANGOLIN_VIEWER;USE_DBOW2 45 | MultiThreadedDebugDLL 46 | Disabled 47 | Disabled 48 | 49 | 50 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;Mf.lib;Mfplat.lib;Mfreadwrite.lib;Mfuuid.lib;%(AdditionalDependencies) 51 | $(OutDir) 52 | libcmt 53 | 54 | 55 | 56 | 57 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include 58 | USE_PANGOLIN_VIEWER;USE_DBOW2 59 | AnySuitable 60 | Speed 61 | 62 | 63 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;Mf.lib;Mfplat.lib;Mfreadwrite.lib;Mfuuid.lib;%(AdditionalDependencies) 64 | $(OutDir) 65 | libcmt 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /example/run_image_slam.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {06B5EF59-4AAF-3F52-8A29-875DA3B1E87D} 15 | Win32Proj 16 | x64 17 | run_image_slam 18 | 19 | 20 | 21 | Application 22 | v141 23 | 24 | 25 | Application 26 | v141 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | $(Platform)\$(Configuration)\$(ProjectName)\ 37 | 38 | 39 | $(Platform)\$(Configuration)\$(ProjectName)\ 40 | 41 | 42 | 43 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include;..\3rd\dirent\include 44 | USE_PANGOLIN_VIEWER;USE_DBOW2 45 | MultiThreadedDebugDLL 46 | Disabled 47 | Disabled 48 | 49 | 50 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;Mf.lib;Mfplat.lib;Mfreadwrite.lib;Mfuuid.lib;%(AdditionalDependencies) 51 | $(OutDir) 52 | libcmt 53 | 54 | 55 | 56 | 57 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include;..\3rd\dirent\include 58 | USE_PANGOLIN_VIEWER;USE_DBOW2 59 | AnySuitable 60 | Speed 61 | 62 | 63 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;Mf.lib;Mfplat.lib;Mfreadwrite.lib;Mfuuid.lib;%(AdditionalDependencies) 64 | $(OutDir) 65 | libcmt 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /example/run_image_localization.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {AE833F3F-6F42-38AA-A119-7E9D4B269C0C} 15 | Win32Proj 16 | x64 17 | run_image_localization 18 | 19 | 20 | 21 | Application 22 | v141 23 | 24 | 25 | Application 26 | v141 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | $(Platform)\$(Configuration)\$(ProjectName)\ 37 | 38 | 39 | $(Platform)\$(Configuration)\$(ProjectName)\ 40 | 41 | 42 | 43 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include;..\3rd\dirent\include 44 | USE_PANGOLIN_VIEWER;USE_DBOW2 45 | MultiThreadedDebugDLL 46 | Disabled 47 | Disabled 48 | 49 | 50 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;Mf.lib;Mfplat.lib;Mfreadwrite.lib;Mfuuid.lib;%(AdditionalDependencies) 51 | $(OutDir) 52 | libcmt 53 | 54 | 55 | 56 | 57 | ..\openvslam\src;..\3rd\include;..\openvslam\3rd\spdlog\include;..\3rd\eigen;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;..\openvslam\3rd\popl\include;..\3rd\Pangolin\include;..\3rd\dirent\include 58 | USE_PANGOLIN_VIEWER;USE_DBOW2 59 | AnySuitable 60 | Speed 61 | 62 | 63 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;cxsparse.lib;pangolin.lib;pangolin_viewer.lib;..\3rd\glew\glew.lib;opengl32.lib;Mf.lib;Mfplat.lib;Mfreadwrite.lib;Mfuuid.lib;%(AdditionalDependencies) 64 | $(OutDir) 65 | libcmt 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /3rd/g2o_csparse_extension.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | 15 | include;g2o;eigen;suitesparse-metis-for-windows\SuiteSparse\CXSparse_newfiles\Include 16 | include;g2o;eigen;suitesparse-metis-for-windows\SuiteSparse\CXSparse_newfiles\Include 17 | 18 | 19 | include;g2o;eigen;suitesparse-metis-for-windows\SuiteSparse\CXSparse_newfiles\Include 20 | include;g2o;eigen;suitesparse-metis-for-windows\SuiteSparse\CXSparse_newfiles\Include 21 | 22 | 23 | include;g2o;eigen;suitesparse-metis-for-windows\SuiteSparse\CXSparse_newfiles\Include 24 | include;g2o;eigen;suitesparse-metis-for-windows\SuiteSparse\CXSparse_newfiles\Include 25 | 26 | 27 | 28 | {8F9DB88F-9C42-4021-9328-64BC17E5DE67} 29 | Win32Proj 30 | x64 31 | g2o_csparse_extension 32 | 8.1 33 | 34 | 35 | 36 | DynamicLibrary 37 | v141 38 | 39 | 40 | DynamicLibrary 41 | v141 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | $(Platform)\$(Configuration)\$(ProjectName)\ 52 | 53 | 54 | $(Platform)\$(Configuration)\$(ProjectName)\ 55 | 56 | 57 | 58 | include;g2o;eigen 59 | MultiThreadedDebugDLL 60 | Disabled 61 | Disabled 62 | _WINDLL;csparse_extension_EXPORTS;%(PreprocessorDefinitions) 63 | 64 | 65 | $(OutDir)cxsparse.lib;$(OutDir)g2o.lib;%(AdditionalDependencies) 66 | 67 | 68 | 69 | 70 | include;g2o;eigen 71 | true 72 | AnySuitable 73 | Speed 74 | _WINDLL;csparse_extension_EXPORTS;%(PreprocessorDefinitions) 75 | 76 | 77 | $(OutDir)cxsparse.lib;$(OutDir)g2o.lib;%(AdditionalDependencies) 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /3rd/include/gflags/gflags_declare.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 1999, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // --- 31 | // 32 | // Revamped and reorganized by Craig Silverstein 33 | // 34 | // This is the file that should be included by any file which declares 35 | // command line flag. 36 | 37 | #ifndef GFLAGS_DECLARE_H_ 38 | #define GFLAGS_DECLARE_H_ 39 | 40 | 41 | // --------------------------------------------------------------------------- 42 | // Namespace of gflags library symbols. 43 | #define GFLAGS_NAMESPACE google 44 | 45 | // --------------------------------------------------------------------------- 46 | // Windows DLL import/export. 47 | 48 | // Whether gflags library is a DLL. 49 | // 50 | // Set to 1 by default when the shared gflags library was built on Windows. 51 | // Must be overwritten when this header file is used with the optionally also 52 | // built static library instead; set by CMake's INTERFACE_COMPILE_DEFINITIONS. 53 | #ifndef GFLAGS_IS_A_DLL 54 | # define GFLAGS_IS_A_DLL 0 55 | #endif 56 | 57 | // We always want to import the symbols of the gflags library. 58 | #ifndef GFLAGS_DLL_DECL 59 | # if GFLAGS_IS_A_DLL && defined(_MSC_VER) 60 | # define GFLAGS_DLL_DECL __declspec(dllimport) 61 | # elif defined(__GNUC__) && __GNUC__ >= 4 62 | # define GFLAGS_DLL_DECL __attribute__((visibility("default"))) 63 | # else 64 | # define GFLAGS_DLL_DECL 65 | # endif 66 | #endif 67 | 68 | // We always want to import variables declared in user code. 69 | #ifndef GFLAGS_DLL_DECLARE_FLAG 70 | # if GFLAGS_IS_A_DLL && defined(_MSC_VER) 71 | # define GFLAGS_DLL_DECLARE_FLAG __declspec(dllimport) 72 | # elif defined(__GNUC__) && __GNUC__ >= 4 73 | # define GFLAGS_DLL_DECLARE_FLAG __attribute__((visibility("default"))) 74 | # else 75 | # define GFLAGS_DLL_DECLARE_FLAG 76 | # endif 77 | #endif 78 | 79 | // --------------------------------------------------------------------------- 80 | // Flag types 81 | #include 82 | #if 1 83 | # include // the normal place uint32_t is defined 84 | #elif 1 85 | # include // the normal place u_int32_t is defined 86 | #elif 1 87 | # include // a third place for uint32_t or u_int32_t 88 | #endif 89 | 90 | namespace GFLAGS_NAMESPACE { 91 | 92 | #if 0 // C99 93 | typedef int32_t int32; 94 | typedef uint32_t uint32; 95 | typedef int64_t int64; 96 | typedef uint64_t uint64; 97 | #elif 0 // BSD 98 | typedef int32_t int32; 99 | typedef u_int32_t uint32; 100 | typedef int64_t int64; 101 | typedef u_int64_t uint64; 102 | #elif 1 // Windows 103 | typedef __int32 int32; 104 | typedef unsigned __int32 uint32; 105 | typedef __int64 int64; 106 | typedef unsigned __int64 uint64; 107 | #else 108 | # error Do not know how to define a 32-bit integer quantity on your system 109 | #endif 110 | 111 | } // namespace GFLAGS_NAMESPACE 112 | 113 | 114 | namespace fLS { 115 | 116 | // The meaning of "string" might be different between now and when the 117 | // macros below get invoked (e.g., if someone is experimenting with 118 | // other string implementations that get defined after this file is 119 | // included). Save the current meaning now and use it in the macros. 120 | typedef std::string clstring; 121 | 122 | } // namespace fLS 123 | 124 | 125 | #define DECLARE_VARIABLE(type, shorttype, name) \ 126 | /* We always want to import declared variables, dll or no */ \ 127 | namespace fL##shorttype { extern GFLAGS_DLL_DECLARE_FLAG type FLAGS_##name; } \ 128 | using fL##shorttype::FLAGS_##name 129 | 130 | #define DECLARE_bool(name) \ 131 | DECLARE_VARIABLE(bool, B, name) 132 | 133 | #define DECLARE_int32(name) \ 134 | DECLARE_VARIABLE(::GFLAGS_NAMESPACE::int32, I, name) 135 | 136 | #define DECLARE_uint32(name) \ 137 | DECLARE_VARIABLE(::GFLAGS_NAMESPACE::uint32, U, name) 138 | 139 | #define DECLARE_int64(name) \ 140 | DECLARE_VARIABLE(::GFLAGS_NAMESPACE::int64, I64, name) 141 | 142 | #define DECLARE_uint64(name) \ 143 | DECLARE_VARIABLE(::GFLAGS_NAMESPACE::uint64, U64, name) 144 | 145 | #define DECLARE_double(name) \ 146 | DECLARE_VARIABLE(double, D, name) 147 | 148 | #define DECLARE_string(name) \ 149 | /* We always want to import declared variables, dll or no */ \ 150 | namespace fLS { \ 151 | extern GFLAGS_DLL_DECLARE_FLAG ::fLS::clstring& FLAGS_##name; \ 152 | } \ 153 | using fLS::FLAGS_##name 154 | 155 | 156 | #endif // GFLAGS_DECLARE_H_ 157 | -------------------------------------------------------------------------------- /3rd/g2o.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {5260A4C8-6CDD-3BDB-9AA4-F771D45A99B6} 15 | Win32Proj 16 | x64 17 | g2o 18 | 8.1 19 | 20 | 21 | 22 | StaticLibrary 23 | v141 24 | 25 | 26 | StaticLibrary 27 | v141 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | $(Platform)\$(Configuration)\$(ProjectName)\ 38 | 39 | 40 | $(Platform)\$(Configuration)\$(ProjectName)\ 41 | 42 | 43 | 44 | include;g2o;eigen 45 | MultiThreadedDebugDLL 46 | true 47 | Disabled 48 | Disabled 49 | 50 | 51 | 52 | 53 | include;g2o;eigen 54 | true 55 | AnySuitable 56 | Speed 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | WINDOWS;_WINDOWS 89 | WINDOWS;_WINDOWS 90 | 91 | 92 | 93 | 94 | 95 | WINDOWS;_WINDOWS 96 | WINDOWS;_WINDOWS 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /3rd/include/gflags/gflags_completions.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // --- 31 | 32 | // 33 | // Implement helpful bash-style command line flag completions 34 | // 35 | // ** Functional API: 36 | // HandleCommandLineCompletions() should be called early during 37 | // program startup, but after command line flag code has been 38 | // initialized, such as the beginning of HandleCommandLineHelpFlags(). 39 | // It checks the value of the flag --tab_completion_word. If this 40 | // flag is empty, nothing happens here. If it contains a string, 41 | // however, then HandleCommandLineCompletions() will hijack the 42 | // process, attempting to identify the intention behind this 43 | // completion. Regardless of the outcome of this deduction, the 44 | // process will be terminated, similar to --helpshort flag 45 | // handling. 46 | // 47 | // ** Overview of Bash completions: 48 | // Bash can be told to programatically determine completions for the 49 | // current 'cursor word'. It does this by (in this case) invoking a 50 | // command with some additional arguments identifying the command 51 | // being executed, the word being completed, and the previous word 52 | // (if any). Bash then expects a sequence of output lines to be 53 | // printed to stdout. If these lines all contain a common prefix 54 | // longer than the cursor word, bash will replace the cursor word 55 | // with that common prefix, and display nothing. If there isn't such 56 | // a common prefix, bash will display the lines in pages using 'more'. 57 | // 58 | // ** Strategy taken for command line completions: 59 | // If we can deduce either the exact flag intended, or a common flag 60 | // prefix, we'll output exactly that. Otherwise, if information 61 | // must be displayed to the user, we'll take the opportunity to add 62 | // some helpful information beyond just the flag name (specifically, 63 | // we'll include the default flag value and as much of the flag's 64 | // description as can fit on a single terminal line width, as specified 65 | // by the flag --tab_completion_columns). Furthermore, we'll try to 66 | // make bash order the output such that the most useful or relevent 67 | // flags are the most likely to be shown at the top. 68 | // 69 | // ** Additional features: 70 | // To assist in finding that one really useful flag, substring matching 71 | // was implemented. Before pressing a to get completion for the 72 | // current word, you can append one or more '?' to the flag to do 73 | // substring matching. Here's the semantics: 74 | // --foo Show me all flags with names prefixed by 'foo' 75 | // --foo? Show me all flags with 'foo' somewhere in the name 76 | // --foo?? Same as prior case, but also search in module 77 | // definition path for 'foo' 78 | // --foo??? Same as prior case, but also search in flag 79 | // descriptions for 'foo' 80 | // Finally, we'll trim the output to a relatively small number of 81 | // flags to keep bash quiet about the verbosity of output. If one 82 | // really wanted to see all possible matches, appending a '+' to the 83 | // search word will force the exhaustive list of matches to be printed. 84 | // 85 | // ** How to have bash accept completions from a binary: 86 | // Bash requires that it be informed about each command that programmatic 87 | // completion should be enabled for. Example addition to a .bashrc 88 | // file would be (your path to gflags_completions.sh file may differ): 89 | 90 | /* 91 | $ complete -o bashdefault -o default -o nospace -C \ 92 | '/home/build/eng/bash/bash_completions.sh --tab_completion_columns $COLUMNS' \ 93 | time env binary_name another_binary [...] 94 | */ 95 | 96 | // This would allow the following to work: 97 | // $ /path/to/binary_name --vmodule 98 | // Or: 99 | // $ ./bin/path/another_binary --gfs_u 100 | // (etc) 101 | // 102 | // Sadly, it appears that bash gives no easy way to force this behavior for 103 | // all commands. That's where the "time" in the above example comes in. 104 | // If you haven't specifically added a command to the list of completion 105 | // supported commands, you can still get completions by prefixing the 106 | // entire command with "env". 107 | // $ env /some/brand/new/binary --vmod 108 | // Assuming that "binary" is a newly compiled binary, this should still 109 | // produce the expected completion output. 110 | 111 | 112 | #ifndef GFLAGS_COMPLETIONS_H_ 113 | #define GFLAGS_COMPLETIONS_H_ 114 | 115 | namespace google { 116 | 117 | extern void HandleCommandLineCompletions(void); 118 | 119 | } 120 | 121 | #endif // GFLAGS_COMPLETIONS_H_ 122 | -------------------------------------------------------------------------------- /3rd/include/glog/config.h: -------------------------------------------------------------------------------- 1 | #ifndef GLOG_CONFIG_H 2 | #define GLOG_CONFIG_H 3 | 4 | /* define if glog doesn't use RTTI */ 5 | /* #undef DISABLE_RTTI */ 6 | 7 | /* Namespace for Google classes */ 8 | #define GOOGLE_NAMESPACE google 9 | 10 | /* Define if you have the `dladdr' function */ 11 | /* #undef HAVE_DLADDR */ 12 | 13 | /* Define if you have the `snprintf' function */ 14 | #define HAVE_SNPRINTF 15 | 16 | /* Define to 1 if you have the header file. */ 17 | /* #undef HAVE_DLFCN_H */ 18 | 19 | /* Define to 1 if you have the header file. */ 20 | /* #undef HAVE_EXECINFO_H */ 21 | 22 | /* Define if you have the `fcntl' function */ 23 | /* #undef HAVE_FCNTL */ 24 | 25 | /* Define to 1 if you have the header file. */ 26 | /* #undef HAVE_GLOB_H */ 27 | 28 | /* Define to 1 if you have the header file. */ 29 | #define HAVE_INTTYPES_H 1 30 | 31 | /* Define to 1 if you have the `pthread' library (-lpthread). */ 32 | /* #undef HAVE_LIBPTHREAD */ 33 | 34 | /* Define to 1 if you have the header file. */ 35 | /* #undef HAVE_LIBUNWIND_H */ 36 | 37 | /* define if you have google gflags library */ 38 | #define HAVE_LIB_GFLAGS 39 | 40 | /* define if you have google gmock library */ 41 | /* #undef HAVE_LIB_GMOCK */ 42 | 43 | /* define if you have google gtest library */ 44 | /* #undef HAVE_LIB_GTEST */ 45 | 46 | /* define if you have libunwind */ 47 | /* #undef HAVE_LIB_UNWIND */ 48 | 49 | /* Define to 1 if you have the header file. */ 50 | #define HAVE_MEMORY_H 51 | 52 | /* define to disable multithreading support. */ 53 | /* #undef NO_THREADS */ 54 | 55 | /* define if the compiler implements namespaces */ 56 | #define HAVE_NAMESPACES 57 | 58 | /* Define if you have the 'pread' function */ 59 | /* #undef HAVE_PREAD */ 60 | 61 | /* Define if you have POSIX threads libraries and header files. */ 62 | /* #undef HAVE_PTHREAD */ 63 | 64 | /* Define to 1 if you have the header file. */ 65 | /* #undef HAVE_PWD_H */ 66 | 67 | /* Define if you have the 'pwrite' function */ 68 | /* #undef HAVE_PWRITE */ 69 | 70 | /* define if the compiler implements pthread_rwlock_* */ 71 | /* #undef HAVE_RWLOCK */ 72 | 73 | /* Define if you have the 'sigaction' function */ 74 | /* #undef HAVE_SIGACTION */ 75 | 76 | /* Define if you have the `sigaltstack' function */ 77 | /* #undef HAVE_SIGALTSTACK */ 78 | 79 | /* Define to 1 if you have the header file. */ 80 | #define HAVE_STDINT_H 1 81 | 82 | /* Define to 1 if you have the header file. */ 83 | #define HAVE_STDLIB_H 84 | 85 | /* Define to 1 if you have the header file. */ 86 | /* #undef HAVE_STRINGS_H */ 87 | 88 | /* Define to 1 if you have the header file. */ 89 | #define HAVE_STRING_H 90 | 91 | /* Define to 1 if you have the header file. */ 92 | /* #undef HAVE_SYSCALL_H */ 93 | 94 | /* Define to 1 if you have the header file. */ 95 | /* #undef HAVE_SYSLOG_H */ 96 | 97 | /* Define to 1 if you have the header file. */ 98 | #define HAVE_SYS_STAT_H 99 | 100 | /* Define to 1 if you have the header file. */ 101 | /* #undef HAVE_SYS_SYSCALL_H */ 102 | 103 | /* Define to 1 if you have the header file. */ 104 | /* #undef HAVE_SYS_TIME_H */ 105 | 106 | /* Define to 1 if you have the header file. */ 107 | #define HAVE_SYS_TYPES_H 1 108 | 109 | /* Define to 1 if you have the header file. */ 110 | /* #undef HAVE_SYS_UCONTEXT_H */ 111 | 112 | /* Define to 1 if you have the header file. */ 113 | /* #undef HAVE_SYS_UTSNAME_H */ 114 | 115 | /* Define to 1 if you have the header file. */ 116 | /* #undef HAVE_UCONTEXT_H */ 117 | 118 | /* Define to 1 if you have the header file. */ 119 | /* #undef HAVE_UNISTD_H */ 120 | 121 | /* Define to 1 if you have the header file. */ 122 | /* #undef HAVE_UNWIND_H */ 123 | 124 | /* define if the compiler supports using expression for operator */ 125 | #define HAVE_USING_OPERATOR 126 | 127 | /* define if your compiler has __attribute__ */ 128 | /* #undef HAVE___ATTRIBUTE__ */ 129 | 130 | /* define if your compiler has __builtin_expect */ 131 | /* #undef HAVE___BUILTIN_EXPECT */ 132 | 133 | /* define if your compiler has __sync_val_compare_and_swap */ 134 | /* #undef HAVE___SYNC_VAL_COMPARE_AND_SWAP */ 135 | 136 | /* define if symbolize support is available */ 137 | #define HAVE_SYMBOLIZE 138 | 139 | /* define if localtime_r is available in time.h */ 140 | /* #undef HAVE_LOCALTIME_R */ 141 | 142 | /* Define to the sub-directory in which libtool stores uninstalled libraries. 143 | */ 144 | /* #undef LT_OBJDIR */ 145 | 146 | /* Name of package */ 147 | /* #undef PACKAGE */ 148 | 149 | /* Define to the address where bug reports for this package should be sent. */ 150 | /* #undef PACKAGE_BUGREPORT */ 151 | 152 | /* Define to the full name of this package. */ 153 | /* #undef PACKAGE_NAME */ 154 | 155 | /* Define to the full name and version of this package. */ 156 | /* #undef PACKAGE_STRING */ 157 | 158 | /* Define to the one symbol short name of this package. */ 159 | /* #undef PACKAGE_TARNAME */ 160 | 161 | /* Define to the home page for this package. */ 162 | /* #undef PACKAGE_URL */ 163 | 164 | /* Define to the version of this package. */ 165 | /* #undef PACKAGE_VERSION */ 166 | 167 | /* How to access the PC from a struct ucontext */ 168 | /* #undef PC_FROM_UCONTEXT */ 169 | 170 | /* define if we should print raw pc values on symbolization failure. */ 171 | /* #undef PRINT_UNSYMBOLIZED_STACK_TRACES */ 172 | 173 | /* Define to necessary symbol if this constant uses a non-standard name on 174 | your system. */ 175 | /* #undef PTHREAD_CREATE_JOINABLE */ 176 | 177 | /* The size of `void *', as computed by sizeof. */ 178 | #define SIZEOF_VOID_P 8 179 | 180 | /* Define to 1 if you have the ANSI C header files. */ 181 | /* #undef STDC_HEADERS */ 182 | 183 | /* the namespace where STL code like vector<> is defined */ 184 | #define STL_NAMESPACE std 185 | 186 | /* location of source code */ 187 | #define TEST_SRC_DIR "D:/Local/openvslam/3rd/glog" 188 | 189 | /* Define to necessary thread-local storage attribute. */ 190 | #define GLOG_THREAD_LOCAL_STORAGE __declspec(thread) 191 | 192 | /* Check whether aligned_storage and alignof present */ 193 | #define HAVE_ALIGNED_STORAGE 1 194 | 195 | /* Version number of package */ 196 | /* #undef VERSION */ 197 | 198 | #ifdef GLOG_BAZEL_BUILD 199 | 200 | /* TODO(rodrigoq): remove this workaround once bazel#3979 is resolved: 201 | * https://github.com/bazelbuild/bazel/issues/3979 */ 202 | #define _START_GOOGLE_NAMESPACE_ namespace GOOGLE_NAMESPACE { 203 | 204 | #define _END_GOOGLE_NAMESPACE_ } 205 | 206 | #else 207 | 208 | /* Stops putting the code inside the Google namespace */ 209 | #define _END_GOOGLE_NAMESPACE_ } 210 | 211 | /* Puts following code inside the Google namespace */ 212 | #define _START_GOOGLE_NAMESPACE_ namespace google { 213 | 214 | #endif 215 | 216 | #endif // GLOG_CONFIG_H 217 | -------------------------------------------------------------------------------- /3rd/include/SuiteSparse_config.h: -------------------------------------------------------------------------------- 1 | /* ========================================================================== */ 2 | /* === SuiteSparse_config =================================================== */ 3 | /* ========================================================================== */ 4 | 5 | /* Configuration file for SuiteSparse: a Suite of Sparse matrix packages 6 | * (AMD, COLAMD, CCOLAMD, CAMD, CHOLMOD, UMFPACK, CXSparse, and others). 7 | * 8 | * SuiteSparse_config.h provides the definition of the long integer. On most 9 | * systems, a C program can be compiled in LP64 mode, in which long's and 10 | * pointers are both 64-bits, and int's are 32-bits. Windows 64, however, uses 11 | * the LLP64 model, in which int's and long's are 32-bits, and long long's and 12 | * pointers are 64-bits. 13 | * 14 | * SuiteSparse packages that include long integer versions are 15 | * intended for the LP64 mode. However, as a workaround for Windows 64 16 | * (and perhaps other systems), the long integer can be redefined. 17 | * 18 | * If _WIN64 is defined, then the __int64 type is used instead of long. 19 | * 20 | * The long integer can also be defined at compile time. For example, this 21 | * could be added to SuiteSparse_config.mk: 22 | * 23 | * CFLAGS = -O -D'SuiteSparse_long=long long' \ 24 | * -D'SuiteSparse_long_max=9223372036854775801' -D'SuiteSparse_long_idd="lld"' 25 | * 26 | * This file defines SuiteSparse_long as either long (on all but _WIN64) or 27 | * __int64 on Windows 64. The intent is that a SuiteSparse_long is always a 28 | * 64-bit integer in a 64-bit code. ptrdiff_t might be a better choice than 29 | * long; it is always the same size as a pointer. 30 | * 31 | * This file also defines the SUITESPARSE_VERSION and related definitions. 32 | * 33 | * Copyright (c) 2012, Timothy A. Davis. No licensing restrictions apply 34 | * to this file or to the SuiteSparse_config directory. 35 | * Author: Timothy A. Davis. 36 | */ 37 | 38 | #ifndef SUITESPARSE_CONFIG_H 39 | #define SUITESPARSE_CONFIG_H 40 | 41 | #ifdef __cplusplus 42 | extern "C" { 43 | #endif 44 | 45 | #include 46 | #include 47 | 48 | /* ========================================================================== */ 49 | /* === SuiteSparse_long ===================================================== */ 50 | /* ========================================================================== */ 51 | 52 | #ifndef SuiteSparse_long 53 | 54 | #ifdef _WIN64 55 | 56 | #define SuiteSparse_long __int64 57 | #define SuiteSparse_long_max _I64_MAX 58 | #define SuiteSparse_long_idd "I64d" 59 | 60 | #else 61 | 62 | #define SuiteSparse_long long 63 | #define SuiteSparse_long_max LONG_MAX 64 | #define SuiteSparse_long_idd "ld" 65 | 66 | #endif 67 | #define SuiteSparse_long_id "%" SuiteSparse_long_idd 68 | #endif 69 | 70 | /* ========================================================================== */ 71 | /* === SuiteSparse_config parameters and functions ========================== */ 72 | /* ========================================================================== */ 73 | 74 | /* SuiteSparse-wide parameters are placed in this struct. It is meant to be 75 | an extern, globally-accessible struct. It is not meant to be updated 76 | frequently by multiple threads. Rather, if an application needs to modify 77 | SuiteSparse_config, it should do it once at the beginning of the application, 78 | before multiple threads are launched. 79 | 80 | The intent of these function pointers is that they not be used in your 81 | application directly, except to assign them to the desired user-provided 82 | functions. Rather, you should use the 83 | */ 84 | 85 | struct SuiteSparse_config_struct 86 | { 87 | void *(*malloc_func) (size_t) ; /* pointer to malloc */ 88 | void *(*calloc_func) (size_t, size_t) ; /* pointer to calloc */ 89 | void *(*realloc_func) (void *, size_t) ; /* pointer to realloc */ 90 | void (*free_func) (void *) ; /* pointer to free */ 91 | int (*printf_func) (const char *, ...) ; /* pointer to printf */ 92 | double (*hypot_func) (double, double) ; /* pointer to hypot */ 93 | int (*divcomplex_func) (double, double, double, double, double *, double *); 94 | } ; 95 | 96 | extern struct SuiteSparse_config_struct SuiteSparse_config ; 97 | 98 | void SuiteSparse_start ( void ) ; /* called to start SuiteSparse */ 99 | 100 | void SuiteSparse_finish ( void ) ; /* called to finish SuiteSparse */ 101 | 102 | void *SuiteSparse_malloc /* pointer to allocated block of memory */ 103 | ( 104 | size_t nitems, /* number of items to malloc (>=1 is enforced) */ 105 | size_t size_of_item /* sizeof each item */ 106 | ) ; 107 | 108 | void *SuiteSparse_calloc /* pointer to allocated block of memory */ 109 | ( 110 | size_t nitems, /* number of items to calloc (>=1 is enforced) */ 111 | size_t size_of_item /* sizeof each item */ 112 | ) ; 113 | 114 | void *SuiteSparse_realloc /* pointer to reallocated block of memory, or 115 | to original block if the realloc failed. */ 116 | ( 117 | size_t nitems_new, /* new number of items in the object */ 118 | size_t nitems_old, /* old number of items in the object */ 119 | size_t size_of_item, /* sizeof each item */ 120 | void *p, /* old object to reallocate */ 121 | int *ok /* 1 if successful, 0 otherwise */ 122 | ) ; 123 | 124 | void *SuiteSparse_free /* always returns NULL */ 125 | ( 126 | void *p /* block to free */ 127 | ) ; 128 | 129 | void SuiteSparse_tic /* start the timer */ 130 | ( 131 | double tic [2] /* output, contents undefined on input */ 132 | ) ; 133 | 134 | double SuiteSparse_toc /* return time in seconds since last tic */ 135 | ( 136 | double tic [2] /* input: from last call to SuiteSparse_tic */ 137 | ) ; 138 | 139 | double SuiteSparse_time /* returns current wall clock time in seconds */ 140 | ( 141 | void 142 | ) ; 143 | 144 | /* returns sqrt (x^2 + y^2), computed reliably */ 145 | double SuiteSparse_hypot (double x, double y) ; 146 | 147 | /* complex division of c = a/b */ 148 | int SuiteSparse_divcomplex 149 | ( 150 | double ar, double ai, /* real and imaginary parts of a */ 151 | double br, double bi, /* real and imaginary parts of b */ 152 | double *cr, double *ci /* real and imaginary parts of c */ 153 | ) ; 154 | 155 | /* determine which timer to use, if any */ 156 | #ifndef NTIMER 157 | #ifdef _POSIX_C_SOURCE 158 | #if _POSIX_C_SOURCE >= 199309L 159 | #define SUITESPARSE_TIMER_ENABLED 160 | #endif 161 | #endif 162 | #endif 163 | 164 | /* SuiteSparse printf macro */ 165 | #define SUITESPARSE_PRINTF(params) \ 166 | { \ 167 | if (SuiteSparse_config.printf_func != NULL) \ 168 | { \ 169 | (void) (SuiteSparse_config.printf_func) params ; \ 170 | } \ 171 | } 172 | 173 | /* ========================================================================== */ 174 | /* === SuiteSparse version ================================================== */ 175 | /* ========================================================================== */ 176 | 177 | /* SuiteSparse is not a package itself, but a collection of packages, some of 178 | * which must be used together (UMFPACK requires AMD, CHOLMOD requires AMD, 179 | * COLAMD, CAMD, and CCOLAMD, etc). A version number is provided here for the 180 | * collection itself, which is also the version number of SuiteSparse_config. 181 | */ 182 | 183 | int SuiteSparse_version /* returns SUITESPARSE_VERSION */ 184 | ( 185 | /* output, not defined on input. Not used if NULL. Returns 186 | the three version codes in version [0..2]: 187 | version [0] is SUITESPARSE_MAIN_VERSION 188 | version [1] is SUITESPARSE_SUB_VERSION 189 | version [2] is SUITESPARSE_SUBSUB_VERSION 190 | */ 191 | int version [3] 192 | ) ; 193 | 194 | /* Versions prior to 4.2.0 do not have the above function. The following 195 | code fragment will work with any version of SuiteSparse: 196 | 197 | #ifdef SUITESPARSE_HAS_VERSION_FUNCTION 198 | v = SuiteSparse_version (NULL) ; 199 | #else 200 | v = SUITESPARSE_VERSION ; 201 | #endif 202 | */ 203 | #define SUITESPARSE_HAS_VERSION_FUNCTION 204 | 205 | #define SUITESPARSE_DATE "Dec 28, 2018" 206 | #define SUITESPARSE_VER_CODE(main,sub) ((main) * 1000 + (sub)) 207 | #define SUITESPARSE_MAIN_VERSION 5 208 | #define SUITESPARSE_SUB_VERSION 4 209 | #define SUITESPARSE_SUBSUB_VERSION 0 210 | #define SUITESPARSE_VERSION \ 211 | SUITESPARSE_VER_CODE(SUITESPARSE_MAIN_VERSION,SUITESPARSE_SUB_VERSION) 212 | 213 | #ifdef __cplusplus 214 | } 215 | #endif 216 | #endif 217 | -------------------------------------------------------------------------------- /test/test.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | 15 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 16 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 17 | 18 | 19 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 20 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 21 | 22 | 23 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 24 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 25 | 26 | 27 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 28 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 29 | 30 | 31 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 32 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 33 | 34 | 35 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 36 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 37 | 38 | 39 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 40 | ..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | {046B2054-A109-429D-91C2-7F56F9010D97} 60 | Win32Proj 61 | x64 62 | test 63 | 8.1 64 | 65 | 66 | 67 | Application 68 | v141 69 | 70 | 71 | Application 72 | v141 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | $(Platform)\$(Configuration)\$(ProjectName)\ 83 | 84 | 85 | $(Platform)\$(Configuration)\$(ProjectName)\ 86 | 87 | 88 | 89 | ..\openvslam\test;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\openvslam\src;..\3rd\include;openvslam\..\3rd\spdlog\include;..\3rd\eigen;..\3rd\g2o;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;openvslam\..\3rd\popl\include;..\3rd\Pangolin\include 90 | USE_PANGOLIN_VIEWER;USE_DBOW2;TEST_DATA_DIR="../openvslam/test/data" 91 | MultiThreadedDebugDLL 92 | true 93 | Disabled 94 | Disabled 95 | 96 | 97 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;%(AdditionalDependencies) 98 | $(OutDir) 99 | 100 | 101 | $(OutDir)test.exe 102 | 103 | 104 | 105 | 106 | ..\openvslam\test;..\3rd\yaml-cpp\test\gtest-1.8.0\googletest\include;..\openvslam\src;..\3rd\include;openvslam\..\3rd\spdlog\include;..\3rd\eigen;..\3rd\g2o;..\3rd\opencv-build-vs\include;..\3rd\yaml-cpp\include;..\openvslam\3rd\json\include;..\3rd\DBoW2\include;openvslam\..\3rd\popl\include;..\3rd\Pangolin\include 107 | USE_PANGOLIN_VIEWER;USE_DBOW2;TEST_DATA_DIR="../openvslam/test/data" 108 | true 109 | AnySuitable 110 | Speed 111 | 112 | 113 | openvslam.lib;opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;g2o_csparse_extension.lib;%(AdditionalDependencies) 114 | $(OutDir) 115 | 116 | 117 | $(OutDir)test.exe 118 | 119 | 120 | 121 | 122 | 123 | -------------------------------------------------------------------------------- /openvslam.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 12.00 2 | # Visual Studio 15 3 | VisualStudioVersion = 15.0.28307.168 4 | MinimumVisualStudioVersion = 10.0.40219.1 5 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3rd", "3rd", "{1D8CF59A-27AB-4CF6-951A-E78681AD8980}" 6 | EndProject 7 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gflags", "3rd\gflags.vcxproj", "{BBD6D3E7-5ABA-3552-A8CB-67DF47D02B92}" 8 | EndProject 9 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glog", "3rd\glog.vcxproj", "{2FC1F1B2-EBD3-3C55-8DCC-18FCC73421C3}" 10 | ProjectSection(ProjectDependencies) = postProject 11 | {BBD6D3E7-5ABA-3552-A8CB-67DF47D02B92} = {BBD6D3E7-5ABA-3552-A8CB-67DF47D02B92} 12 | EndProjectSection 13 | EndProject 14 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml-cpp", "3rd\yaml-cpp.vcxproj", "{1FEE933E-7540-3512-87B5-9DE57E79BC13}" 15 | EndProject 16 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cxsparse", "3rd\cxsparse.vcxproj", "{C868F471-F46D-3F9A-8C08-8E4E53899A4C}" 17 | EndProject 18 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opencv", "3rd\opencv-build-vs\opencv.vcxproj", "{6B88C78E-FE6F-42B1-B6F8-3EA3D2ACF05F}" 19 | EndProject 20 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DBoW2", "3rd\DBoW2.vcxproj", "{17AEC011-48F2-31B2-8B1C-BFB047B653D9}" 21 | EndProject 22 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g2o", "3rd\g2o.vcxproj", "{5260A4C8-6CDD-3BDB-9AA4-F771D45A99B6}" 23 | EndProject 24 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pangolin", "3rd\pangolin.vcxproj", "{5C1F33D3-A207-3202-A75F-B951435DCFC3}" 25 | EndProject 26 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvslam", "openvslam.vcxproj", "{7AACF226-EA55-39D6-8AF2-57C50FDFA0C2}" 27 | ProjectSection(ProjectDependencies) = postProject 28 | {17AEC011-48F2-31B2-8B1C-BFB047B653D9} = {17AEC011-48F2-31B2-8B1C-BFB047B653D9} 29 | {1FEE933E-7540-3512-87B5-9DE57E79BC13} = {1FEE933E-7540-3512-87B5-9DE57E79BC13} 30 | {C868F471-F46D-3F9A-8C08-8E4E53899A4C} = {C868F471-F46D-3F9A-8C08-8E4E53899A4C} 31 | {6B88C78E-FE6F-42B1-B6F8-3EA3D2ACF05F} = {6B88C78E-FE6F-42B1-B6F8-3EA3D2ACF05F} 32 | {8F9DB88F-9C42-4021-9328-64BC17E5DE67} = {8F9DB88F-9C42-4021-9328-64BC17E5DE67} 33 | {2FC1F1B2-EBD3-3C55-8DCC-18FCC73421C3} = {2FC1F1B2-EBD3-3C55-8DCC-18FCC73421C3} 34 | {5260A4C8-6CDD-3BDB-9AA4-F771D45A99B6} = {5260A4C8-6CDD-3BDB-9AA4-F771D45A99B6} 35 | {BBD6D3E7-5ABA-3552-A8CB-67DF47D02B92} = {BBD6D3E7-5ABA-3552-A8CB-67DF47D02B92} 36 | EndProjectSection 37 | EndProject 38 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "example", "example", "{6E88BD98-DF2E-4CBC-A4D8-5FBBF8E64864}" 39 | EndProject 40 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "run_camera_localization", "example\run_camera_localization.vcxproj", "{3E35AD4C-1B7D-3546-AEA4-E4A7342D8978}" 41 | ProjectSection(ProjectDependencies) = postProject 42 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} = {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} 43 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} = {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} 44 | EndProjectSection 45 | EndProject 46 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "run_camera_slam", "example\run_camera_slam.vcxproj", "{0999A08C-AD46-30B5-9122-099DA6458AB8}" 47 | ProjectSection(ProjectDependencies) = postProject 48 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} = {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} 49 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} = {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} 50 | EndProjectSection 51 | EndProject 52 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "run_euroc_slam", "example\run_euroc_slam.vcxproj", "{819869DC-6FC8-3B91-A639-2968B86B9A88}" 53 | ProjectSection(ProjectDependencies) = postProject 54 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} = {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} 55 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} = {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} 56 | EndProjectSection 57 | EndProject 58 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "run_image_localization", "example\run_image_localization.vcxproj", "{AE833F3F-6F42-38AA-A119-7E9D4B269C0C}" 59 | ProjectSection(ProjectDependencies) = postProject 60 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} = {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} 61 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} = {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} 62 | EndProjectSection 63 | EndProject 64 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "run_image_slam", "example\run_image_slam.vcxproj", "{06B5EF59-4AAF-3F52-8A29-875DA3B1E87D}" 65 | ProjectSection(ProjectDependencies) = postProject 66 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} = {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} 67 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} = {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} 68 | EndProjectSection 69 | EndProject 70 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "run_kitti_slam", "example\run_kitti_slam.vcxproj", "{4638BE55-88F7-3560-BA79-22D6A1EDEBB2}" 71 | ProjectSection(ProjectDependencies) = postProject 72 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} = {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} 73 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} = {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} 74 | EndProjectSection 75 | EndProject 76 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "run_tum_rgbd_slam", "example\run_tum_rgbd_slam.vcxproj", "{671BEBC7-07A5-3A40-8D1E-5B16C9F09B04}" 77 | ProjectSection(ProjectDependencies) = postProject 78 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} = {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} 79 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} = {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} 80 | EndProjectSection 81 | EndProject 82 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "run_video_localization", "example\run_video_localization.vcxproj", "{A1542A32-7F73-381A-9D60-62D34C08589B}" 83 | ProjectSection(ProjectDependencies) = postProject 84 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} = {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} 85 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} = {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} 86 | EndProjectSection 87 | EndProject 88 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "run_video_slam", "example\run_video_slam.vcxproj", "{C6F70D35-5763-3EA0-9F5E-B02C946C4C8F}" 89 | ProjectSection(ProjectDependencies) = postProject 90 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} = {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} 91 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} = {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} 92 | EndProjectSection 93 | EndProject 94 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pangolin_viewer", "example\pangolin_viewer.vcxproj", "{5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6}" 95 | ProjectSection(ProjectDependencies) = postProject 96 | {5C1F33D3-A207-3202-A75F-B951435DCFC3} = {5C1F33D3-A207-3202-A75F-B951435DCFC3} 97 | EndProjectSection 98 | EndProject 99 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test\test.vcxproj", "{046B2054-A109-429D-91C2-7F56F9010D97}" 100 | ProjectSection(ProjectDependencies) = postProject 101 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} = {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} 102 | EndProjectSection 103 | EndProject 104 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g2o_csparse_extension", "3rd\g2o_csparse_extension.vcxproj", "{8F9DB88F-9C42-4021-9328-64BC17E5DE67}" 105 | ProjectSection(ProjectDependencies) = postProject 106 | {C868F471-F46D-3F9A-8C08-8E4E53899A4C} = {C868F471-F46D-3F9A-8C08-8E4E53899A4C} 107 | EndProjectSection 108 | EndProject 109 | Global 110 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 111 | Debug|x64 = Debug|x64 112 | Release|x64 = Release|x64 113 | EndGlobalSection 114 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 115 | {BBD6D3E7-5ABA-3552-A8CB-67DF47D02B92}.Debug|x64.ActiveCfg = Debug|x64 116 | {BBD6D3E7-5ABA-3552-A8CB-67DF47D02B92}.Debug|x64.Build.0 = Debug|x64 117 | {BBD6D3E7-5ABA-3552-A8CB-67DF47D02B92}.Release|x64.ActiveCfg = Release|x64 118 | {BBD6D3E7-5ABA-3552-A8CB-67DF47D02B92}.Release|x64.Build.0 = Release|x64 119 | {2FC1F1B2-EBD3-3C55-8DCC-18FCC73421C3}.Debug|x64.ActiveCfg = Debug|x64 120 | {2FC1F1B2-EBD3-3C55-8DCC-18FCC73421C3}.Debug|x64.Build.0 = Debug|x64 121 | {2FC1F1B2-EBD3-3C55-8DCC-18FCC73421C3}.Release|x64.ActiveCfg = Release|x64 122 | {2FC1F1B2-EBD3-3C55-8DCC-18FCC73421C3}.Release|x64.Build.0 = Release|x64 123 | {1FEE933E-7540-3512-87B5-9DE57E79BC13}.Debug|x64.ActiveCfg = Debug|x64 124 | {1FEE933E-7540-3512-87B5-9DE57E79BC13}.Debug|x64.Build.0 = Debug|x64 125 | {1FEE933E-7540-3512-87B5-9DE57E79BC13}.Release|x64.ActiveCfg = Release|x64 126 | {1FEE933E-7540-3512-87B5-9DE57E79BC13}.Release|x64.Build.0 = Release|x64 127 | {C868F471-F46D-3F9A-8C08-8E4E53899A4C}.Debug|x64.ActiveCfg = Debug|x64 128 | {C868F471-F46D-3F9A-8C08-8E4E53899A4C}.Debug|x64.Build.0 = Debug|x64 129 | {C868F471-F46D-3F9A-8C08-8E4E53899A4C}.Release|x64.ActiveCfg = Release|x64 130 | {C868F471-F46D-3F9A-8C08-8E4E53899A4C}.Release|x64.Build.0 = Release|x64 131 | {6B88C78E-FE6F-42B1-B6F8-3EA3D2ACF05F}.Debug|x64.ActiveCfg = Debug|x64 132 | {6B88C78E-FE6F-42B1-B6F8-3EA3D2ACF05F}.Debug|x64.Build.0 = Debug|x64 133 | {6B88C78E-FE6F-42B1-B6F8-3EA3D2ACF05F}.Release|x64.ActiveCfg = Release|x64 134 | {6B88C78E-FE6F-42B1-B6F8-3EA3D2ACF05F}.Release|x64.Build.0 = Release|x64 135 | {17AEC011-48F2-31B2-8B1C-BFB047B653D9}.Debug|x64.ActiveCfg = Debug|x64 136 | {17AEC011-48F2-31B2-8B1C-BFB047B653D9}.Debug|x64.Build.0 = Debug|x64 137 | {17AEC011-48F2-31B2-8B1C-BFB047B653D9}.Release|x64.ActiveCfg = Release|x64 138 | {17AEC011-48F2-31B2-8B1C-BFB047B653D9}.Release|x64.Build.0 = Release|x64 139 | {5260A4C8-6CDD-3BDB-9AA4-F771D45A99B6}.Debug|x64.ActiveCfg = Debug|x64 140 | {5260A4C8-6CDD-3BDB-9AA4-F771D45A99B6}.Debug|x64.Build.0 = Debug|x64 141 | {5260A4C8-6CDD-3BDB-9AA4-F771D45A99B6}.Release|x64.ActiveCfg = Release|x64 142 | {5260A4C8-6CDD-3BDB-9AA4-F771D45A99B6}.Release|x64.Build.0 = Release|x64 143 | {5C1F33D3-A207-3202-A75F-B951435DCFC3}.Debug|x64.ActiveCfg = Debug|x64 144 | {5C1F33D3-A207-3202-A75F-B951435DCFC3}.Debug|x64.Build.0 = Debug|x64 145 | {5C1F33D3-A207-3202-A75F-B951435DCFC3}.Release|x64.ActiveCfg = Release|x64 146 | {5C1F33D3-A207-3202-A75F-B951435DCFC3}.Release|x64.Build.0 = Release|x64 147 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2}.Debug|x64.ActiveCfg = Debug|x64 148 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2}.Debug|x64.Build.0 = Debug|x64 149 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2}.Release|x64.ActiveCfg = Release|x64 150 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2}.Release|x64.Build.0 = Release|x64 151 | {3E35AD4C-1B7D-3546-AEA4-E4A7342D8978}.Debug|x64.ActiveCfg = Debug|x64 152 | {3E35AD4C-1B7D-3546-AEA4-E4A7342D8978}.Debug|x64.Build.0 = Debug|x64 153 | {3E35AD4C-1B7D-3546-AEA4-E4A7342D8978}.Release|x64.ActiveCfg = Release|x64 154 | {3E35AD4C-1B7D-3546-AEA4-E4A7342D8978}.Release|x64.Build.0 = Release|x64 155 | {0999A08C-AD46-30B5-9122-099DA6458AB8}.Debug|x64.ActiveCfg = Debug|x64 156 | {0999A08C-AD46-30B5-9122-099DA6458AB8}.Debug|x64.Build.0 = Debug|x64 157 | {0999A08C-AD46-30B5-9122-099DA6458AB8}.Release|x64.ActiveCfg = Release|x64 158 | {0999A08C-AD46-30B5-9122-099DA6458AB8}.Release|x64.Build.0 = Release|x64 159 | {819869DC-6FC8-3B91-A639-2968B86B9A88}.Debug|x64.ActiveCfg = Debug|x64 160 | {819869DC-6FC8-3B91-A639-2968B86B9A88}.Debug|x64.Build.0 = Debug|x64 161 | {819869DC-6FC8-3B91-A639-2968B86B9A88}.Release|x64.ActiveCfg = Release|x64 162 | {819869DC-6FC8-3B91-A639-2968B86B9A88}.Release|x64.Build.0 = Release|x64 163 | {AE833F3F-6F42-38AA-A119-7E9D4B269C0C}.Debug|x64.ActiveCfg = Debug|x64 164 | {AE833F3F-6F42-38AA-A119-7E9D4B269C0C}.Debug|x64.Build.0 = Debug|x64 165 | {AE833F3F-6F42-38AA-A119-7E9D4B269C0C}.Release|x64.ActiveCfg = Release|x64 166 | {AE833F3F-6F42-38AA-A119-7E9D4B269C0C}.Release|x64.Build.0 = Release|x64 167 | {06B5EF59-4AAF-3F52-8A29-875DA3B1E87D}.Debug|x64.ActiveCfg = Debug|x64 168 | {06B5EF59-4AAF-3F52-8A29-875DA3B1E87D}.Debug|x64.Build.0 = Debug|x64 169 | {06B5EF59-4AAF-3F52-8A29-875DA3B1E87D}.Release|x64.ActiveCfg = Release|x64 170 | {06B5EF59-4AAF-3F52-8A29-875DA3B1E87D}.Release|x64.Build.0 = Release|x64 171 | {4638BE55-88F7-3560-BA79-22D6A1EDEBB2}.Debug|x64.ActiveCfg = Debug|x64 172 | {4638BE55-88F7-3560-BA79-22D6A1EDEBB2}.Debug|x64.Build.0 = Debug|x64 173 | {4638BE55-88F7-3560-BA79-22D6A1EDEBB2}.Release|x64.ActiveCfg = Release|x64 174 | {4638BE55-88F7-3560-BA79-22D6A1EDEBB2}.Release|x64.Build.0 = Release|x64 175 | {671BEBC7-07A5-3A40-8D1E-5B16C9F09B04}.Debug|x64.ActiveCfg = Debug|x64 176 | {671BEBC7-07A5-3A40-8D1E-5B16C9F09B04}.Debug|x64.Build.0 = Debug|x64 177 | {671BEBC7-07A5-3A40-8D1E-5B16C9F09B04}.Release|x64.ActiveCfg = Release|x64 178 | {671BEBC7-07A5-3A40-8D1E-5B16C9F09B04}.Release|x64.Build.0 = Release|x64 179 | {A1542A32-7F73-381A-9D60-62D34C08589B}.Debug|x64.ActiveCfg = Debug|x64 180 | {A1542A32-7F73-381A-9D60-62D34C08589B}.Debug|x64.Build.0 = Debug|x64 181 | {A1542A32-7F73-381A-9D60-62D34C08589B}.Release|x64.ActiveCfg = Release|x64 182 | {A1542A32-7F73-381A-9D60-62D34C08589B}.Release|x64.Build.0 = Release|x64 183 | {C6F70D35-5763-3EA0-9F5E-B02C946C4C8F}.Debug|x64.ActiveCfg = Debug|x64 184 | {C6F70D35-5763-3EA0-9F5E-B02C946C4C8F}.Debug|x64.Build.0 = Debug|x64 185 | {C6F70D35-5763-3EA0-9F5E-B02C946C4C8F}.Release|x64.ActiveCfg = Release|x64 186 | {C6F70D35-5763-3EA0-9F5E-B02C946C4C8F}.Release|x64.Build.0 = Release|x64 187 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6}.Debug|x64.ActiveCfg = Debug|x64 188 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6}.Debug|x64.Build.0 = Debug|x64 189 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6}.Release|x64.ActiveCfg = Release|x64 190 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6}.Release|x64.Build.0 = Release|x64 191 | {046B2054-A109-429D-91C2-7F56F9010D97}.Debug|x64.ActiveCfg = Debug|x64 192 | {046B2054-A109-429D-91C2-7F56F9010D97}.Debug|x64.Build.0 = Debug|x64 193 | {046B2054-A109-429D-91C2-7F56F9010D97}.Release|x64.ActiveCfg = Release|x64 194 | {046B2054-A109-429D-91C2-7F56F9010D97}.Release|x64.Build.0 = Release|x64 195 | {8F9DB88F-9C42-4021-9328-64BC17E5DE67}.Debug|x64.ActiveCfg = Debug|x64 196 | {8F9DB88F-9C42-4021-9328-64BC17E5DE67}.Debug|x64.Build.0 = Debug|x64 197 | {8F9DB88F-9C42-4021-9328-64BC17E5DE67}.Release|x64.ActiveCfg = Release|x64 198 | {8F9DB88F-9C42-4021-9328-64BC17E5DE67}.Release|x64.Build.0 = Release|x64 199 | EndGlobalSection 200 | GlobalSection(SolutionProperties) = preSolution 201 | HideSolutionNode = FALSE 202 | EndGlobalSection 203 | GlobalSection(NestedProjects) = preSolution 204 | {BBD6D3E7-5ABA-3552-A8CB-67DF47D02B92} = {1D8CF59A-27AB-4CF6-951A-E78681AD8980} 205 | {2FC1F1B2-EBD3-3C55-8DCC-18FCC73421C3} = {1D8CF59A-27AB-4CF6-951A-E78681AD8980} 206 | {1FEE933E-7540-3512-87B5-9DE57E79BC13} = {1D8CF59A-27AB-4CF6-951A-E78681AD8980} 207 | {C868F471-F46D-3F9A-8C08-8E4E53899A4C} = {1D8CF59A-27AB-4CF6-951A-E78681AD8980} 208 | {6B88C78E-FE6F-42B1-B6F8-3EA3D2ACF05F} = {1D8CF59A-27AB-4CF6-951A-E78681AD8980} 209 | {17AEC011-48F2-31B2-8B1C-BFB047B653D9} = {1D8CF59A-27AB-4CF6-951A-E78681AD8980} 210 | {5260A4C8-6CDD-3BDB-9AA4-F771D45A99B6} = {1D8CF59A-27AB-4CF6-951A-E78681AD8980} 211 | {5C1F33D3-A207-3202-A75F-B951435DCFC3} = {1D8CF59A-27AB-4CF6-951A-E78681AD8980} 212 | {3E35AD4C-1B7D-3546-AEA4-E4A7342D8978} = {6E88BD98-DF2E-4CBC-A4D8-5FBBF8E64864} 213 | {0999A08C-AD46-30B5-9122-099DA6458AB8} = {6E88BD98-DF2E-4CBC-A4D8-5FBBF8E64864} 214 | {819869DC-6FC8-3B91-A639-2968B86B9A88} = {6E88BD98-DF2E-4CBC-A4D8-5FBBF8E64864} 215 | {AE833F3F-6F42-38AA-A119-7E9D4B269C0C} = {6E88BD98-DF2E-4CBC-A4D8-5FBBF8E64864} 216 | {06B5EF59-4AAF-3F52-8A29-875DA3B1E87D} = {6E88BD98-DF2E-4CBC-A4D8-5FBBF8E64864} 217 | {4638BE55-88F7-3560-BA79-22D6A1EDEBB2} = {6E88BD98-DF2E-4CBC-A4D8-5FBBF8E64864} 218 | {671BEBC7-07A5-3A40-8D1E-5B16C9F09B04} = {6E88BD98-DF2E-4CBC-A4D8-5FBBF8E64864} 219 | {A1542A32-7F73-381A-9D60-62D34C08589B} = {6E88BD98-DF2E-4CBC-A4D8-5FBBF8E64864} 220 | {C6F70D35-5763-3EA0-9F5E-B02C946C4C8F} = {6E88BD98-DF2E-4CBC-A4D8-5FBBF8E64864} 221 | {5DEA49F8-EF64-3CF2-86B1-6194CEBB2AD6} = {6E88BD98-DF2E-4CBC-A4D8-5FBBF8E64864} 222 | {8F9DB88F-9C42-4021-9328-64BC17E5DE67} = {1D8CF59A-27AB-4CF6-951A-E78681AD8980} 223 | EndGlobalSection 224 | GlobalSection(ExtensibilityGlobals) = postSolution 225 | SolutionGuid = {71A31D52-0124-48B1-B9FC-89BAA1AFB8BD} 226 | EndGlobalSection 227 | EndGlobal 228 | -------------------------------------------------------------------------------- /3rd/pangolin.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {5C1F33D3-A207-3202-A75F-B951435DCFC3} 15 | Win32Proj 16 | x64 17 | pangolin 18 | 8.1 19 | 20 | 21 | 22 | StaticLibrary 23 | v141 24 | 25 | 26 | StaticLibrary 27 | v141 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | $(Platform)\$(Configuration)\$(ProjectName)\ 38 | 39 | 40 | $(Platform)\$(Configuration)\$(ProjectName)\ 41 | 42 | 43 | 44 | Pangolin\include;include;eigen;opencv-build-vs\opencv\3rdparty\libjpeg;opencv-build-vs\opencv\3rdparty\libpng 45 | MultiThreadedDebugDLL 46 | true 47 | Disabled 48 | Disabled 49 | 50 | 51 | 52 | 53 | Pangolin\include;include;eigen;opencv-build-vs\opencv\3rdparty\libjpeg;opencv-build-vs\opencv\3rdparty\libpng 54 | true 55 | AnySuitable 56 | Speed 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | -------------------------------------------------------------------------------- /openvslam.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {7AACF226-EA55-39D6-8AF2-57C50FDFA0C2} 15 | Win32Proj 16 | x64 17 | openvslam 18 | 8.1 19 | 20 | 21 | 22 | StaticLibrary 23 | v141 24 | 25 | 26 | StaticLibrary 27 | v141 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | $(Platform)\$(Configuration)\$(ProjectName)\ 38 | 39 | 40 | $(Platform)\$(Configuration)\$(ProjectName)\ 41 | 42 | 43 | 44 | openvslam\src;openvslam\3rd\spdlog\include;3rd\include;3rd\eigen;3rd\opencv-build-vs\include;3rd\yaml-cpp\include;openvslam\3rd\json\include;3rd\DBoW2\include;3rd\g2o;3rd\suitesparse-metis-for-windows\SuiteSparse\CXSparse_newfiles\Include 45 | _WINDLL;USE_DBOW2;%(PreprocessorDefinitions) 46 | 4244;4267 47 | true 48 | MultiThreadedDebugDLL 49 | Disabled 50 | Disabled 51 | 52 | 53 | opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;cxsparse.lib;%(AdditionalDependencies) 54 | $(OutDir) 55 | 56 | 57 | copy /y 3rd\opencv-build-vs\vs\3rdparty\ffmpeg\opencv_ffmpeg_64.dll $(OutDir)opencv_ffmpeg401_64.dll 58 | copy /y 3rd\glew\glew.dll $(OutDir) 59 | 60 | 61 | xcopy /y /a 3rd\opencv-build-vs\include\opencv2\features2d.hpp 3rd\include\opencv2\features2d\ 62 | 63 | 64 | 65 | 66 | openvslam\src;openvslam\3rd\spdlog\include;3rd\include;3rd\eigen;3rd\opencv-build-vs\include;3rd\yaml-cpp\include;openvslam\3rd\json\include;3rd\DBoW2\include;3rd\g2o;3rd\suitesparse-metis-for-windows\SuiteSparse\CXSparse_newfiles\Include 67 | _WINDLL;USE_DBOW2;%(PreprocessorDefinitions) 68 | 4244;4267 69 | true 70 | AnySuitable 71 | Speed 72 | 73 | 74 | opencv.lib;DBoW2.lib;yaml-cpp.lib;g2o.lib;cxsparse.lib;%(AdditionalDependencies) 75 | $(OutDir) 76 | 77 | 78 | copy /y 3rd\opencv-build-vs\vs\3rdparty\ffmpeg\opencv_ffmpeg_64.dll $(OutDir)opencv_ffmpeg401_64.dll 79 | copy /y 3rd\glew\glew.dll $(OutDir) 80 | 81 | 82 | xcopy /y /a 3rd\opencv-build-vs\include\opencv2\features2d.hpp 3rd\include\opencv2\features2d\ 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | $(IntDir)camera\base.cc.obj 110 | 111 | 112 | $(IntDir)camera\perspective.cc.obj 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | $(IntDir)data\common.cc.obj 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | $(IntDir)initialize\base.cc.obj 148 | 149 | 150 | $(IntDir)initialize\perspective.cc.obj 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | $(IntDir)optimize\g2o\se3\shot_vertex.cc.obj 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | $(IntDir)optimize\g2o\sim3\shot_vertex.cc.obj 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | $(IntDir)solve\common.cc.obj 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | -------------------------------------------------------------------------------- /openvslam.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | camera 11 | 12 | 13 | camera 14 | 15 | 16 | camera 17 | 18 | 19 | camera 20 | 21 | 22 | data 23 | 24 | 25 | data 26 | 27 | 28 | data 29 | 30 | 31 | data 32 | 33 | 34 | data 35 | 36 | 37 | data 38 | 39 | 40 | data 41 | 42 | 43 | data 44 | 45 | 46 | data 47 | 48 | 49 | feature 50 | 51 | 52 | feature 53 | 54 | 55 | feature 56 | 57 | 58 | initialize 59 | 60 | 61 | initialize 62 | 63 | 64 | initialize 65 | 66 | 67 | io 68 | 69 | 70 | io 71 | 72 | 73 | match 74 | 75 | 76 | match 77 | 78 | 79 | match 80 | 81 | 82 | match 83 | 84 | 85 | match 86 | 87 | 88 | match 89 | 90 | 91 | module 92 | 93 | 94 | module 95 | 96 | 97 | module 98 | 99 | 100 | module 101 | 102 | 103 | module 104 | 105 | 106 | module 107 | 108 | 109 | module 110 | 111 | 112 | module 113 | 114 | 115 | solve 116 | 117 | 118 | solve 119 | 120 | 121 | solve 122 | 123 | 124 | solve 125 | 126 | 127 | solve 128 | 129 | 130 | solve 131 | 132 | 133 | publish 134 | 135 | 136 | publish 137 | 138 | 139 | optimize\g2o 140 | 141 | 142 | optimize\g2o 143 | 144 | 145 | optimize 146 | 147 | 148 | optimize 149 | 150 | 151 | optimize 152 | 153 | 154 | optimize 155 | 156 | 157 | optimize 158 | 159 | 160 | util 161 | 162 | 163 | util 164 | 165 | 166 | util 167 | 168 | 169 | util 170 | 171 | 172 | optimize\g2o\sim3 173 | 174 | 175 | optimize\g2o\sim3 176 | 177 | 178 | optimize\g2o\sim3 179 | 180 | 181 | optimize\g2o\sim3 182 | 183 | 184 | optimize\g2o\sim3 185 | 186 | 187 | optimize\g2o\se3 188 | 189 | 190 | optimize\g2o\se3 191 | 192 | 193 | optimize\g2o\se3 194 | 195 | 196 | optimize\g2o\se3 197 | 198 | 199 | optimize\g2o\se3 200 | 201 | 202 | optimize\g2o\se3 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | camera 213 | 214 | 215 | camera 216 | 217 | 218 | camera 219 | 220 | 221 | camera 222 | 223 | 224 | data 225 | 226 | 227 | data 228 | 229 | 230 | data 231 | 232 | 233 | data 234 | 235 | 236 | data 237 | 238 | 239 | data 240 | 241 | 242 | data 243 | 244 | 245 | data 246 | 247 | 248 | data 249 | 250 | 251 | data 252 | 253 | 254 | feature 255 | 256 | 257 | feature 258 | 259 | 260 | feature 261 | 262 | 263 | initialize 264 | 265 | 266 | initialize 267 | 268 | 269 | initialize 270 | 271 | 272 | io 273 | 274 | 275 | io 276 | 277 | 278 | match 279 | 280 | 281 | match 282 | 283 | 284 | match 285 | 286 | 287 | match 288 | 289 | 290 | match 291 | 292 | 293 | match 294 | 295 | 296 | match 297 | 298 | 299 | match 300 | 301 | 302 | module 303 | 304 | 305 | module 306 | 307 | 308 | module 309 | 310 | 311 | module 312 | 313 | 314 | module 315 | 316 | 317 | module 318 | 319 | 320 | module 321 | 322 | 323 | module 324 | 325 | 326 | solve 327 | 328 | 329 | solve 330 | 331 | 332 | solve 333 | 334 | 335 | solve 336 | 337 | 338 | solve 339 | 340 | 341 | solve 342 | 343 | 344 | solve 345 | 346 | 347 | publish 348 | 349 | 350 | publish 351 | 352 | 353 | optimize\g2o 354 | 355 | 356 | optimize\g2o 357 | 358 | 359 | optimize 360 | 361 | 362 | optimize 363 | 364 | 365 | optimize 366 | 367 | 368 | optimize 369 | 370 | 371 | optimize 372 | 373 | 374 | util 375 | 376 | 377 | util 378 | 379 | 380 | util 381 | 382 | 383 | util 384 | 385 | 386 | util 387 | 388 | 389 | util 390 | 391 | 392 | optimize\g2o\sim3 393 | 394 | 395 | optimize\g2o\sim3 396 | 397 | 398 | optimize\g2o\sim3 399 | 400 | 401 | optimize\g2o\sim3 402 | 403 | 404 | optimize\g2o\sim3 405 | 406 | 407 | optimize\g2o\sim3 408 | 409 | 410 | optimize\g2o\se3 411 | 412 | 413 | optimize\g2o\se3 414 | 415 | 416 | optimize\g2o\se3 417 | 418 | 419 | optimize\g2o\se3 420 | 421 | 422 | optimize\g2o\se3 423 | 424 | 425 | optimize\g2o\se3 426 | 427 | 428 | optimize\g2o\se3 429 | 430 | 431 | optimize\g2o\se3 432 | 433 | 434 | 435 | module 436 | 437 | 438 | 439 | 440 | {ae7182db-b939-40ca-b95b-0394295dc695} 441 | 442 | 443 | {ef87c723-128d-4743-ad14-c505d56d1769} 444 | 445 | 446 | {ffccecac-e04d-453c-b210-9d8c10763e77} 447 | 448 | 449 | {8880f19b-62e4-40c8-ad46-6ae68dc8d7ad} 450 | 451 | 452 | {66efa870-d9a2-4d2d-94f1-1819e7bd6720} 453 | 454 | 455 | {d6915a7d-cb91-45ed-a38a-113c8e513f41} 456 | 457 | 458 | {4700ea2e-4efa-4d5c-825d-04f8a525d392} 459 | 460 | 461 | {6ae3113a-60e9-44e9-a2cd-298338cbc9af} 462 | 463 | 464 | {15c05680-ead2-4d6f-a188-898a57c71db0} 465 | 466 | 467 | {e82ec431-b54a-4d30-8cb7-eb1f1e61ec27} 468 | 469 | 470 | {22a8efb3-8e6a-4308-9c37-d9f719ebb4ef} 471 | 472 | 473 | {4c85b347-53ab-4cd8-9a19-327cdbc997e8} 474 | 475 | 476 | {308ddaad-6af8-4e8e-b14e-42523ade0b86} 477 | 478 | 479 | {99a3c968-aae3-4d49-9017-6e16acf0b27c} 480 | 481 | 482 | --------------------------------------------------------------------------------