├── LICENSE.txt ├── License-gpl.txt ├── README.md ├── images └── framework.png └── src ├── CMakeLists.txt ├── orbslam_client ├── CMakeLists.txt ├── Dependencies.md ├── Examples │ ├── Monocular │ │ ├── EuRoC.yaml │ │ ├── EuRoC_TimeStamps │ │ │ ├── MH01.txt │ │ │ ├── MH02.txt │ │ │ ├── MH03.txt │ │ │ ├── MH04.txt │ │ │ ├── MH05.txt │ │ │ ├── V101.txt │ │ │ ├── V102.txt │ │ │ ├── V103.txt │ │ │ ├── V201.txt │ │ │ ├── V202.txt │ │ │ └── V203.txt │ │ ├── KITTI00-02.yaml │ │ ├── KITTI03.yaml │ │ ├── KITTI04-12.yaml │ │ ├── KeyFrameTrajectory.txt │ │ ├── KeyFrameTrajectory.txt.orig │ │ ├── KeyFrameTrajectory_BACKUP_13463.txt │ │ ├── KeyFrameTrajectory_BASE_13463.txt │ │ ├── KeyFrameTrajectory_LOCAL_13463.txt │ │ ├── KeyFrameTrajectory_REMOTE_13463.txt │ │ ├── TUM1.yaml │ │ ├── TUM2.yaml │ │ ├── TUM3.yaml │ │ ├── localmappingcost.txt │ │ ├── loopclosingcost.txt │ │ ├── mono_euroc.cc │ │ ├── mono_kitti.cc │ │ ├── mono_tum │ │ ├── mono_tum.cc │ │ ├── mymapsize.txt │ │ ├── orbslam_client_node_mono_euroc │ │ ├── orbslam_client_node_mono_kitti │ │ └── orbslam_client_node_mono_tum │ ├── RGB-D │ │ ├── CameraTrajectory.txt │ │ ├── KeyFrameTrajectory.txt │ │ ├── STTkfs.txt │ │ ├── STTmps.txt │ │ ├── TTSkfs.txt │ │ ├── TTSmps.txt │ │ ├── TUM1.yaml │ │ ├── TUM2.yaml │ │ ├── TUM3.yaml │ │ ├── associations │ │ │ ├── fr1_desk.txt │ │ │ ├── fr1_desk2.txt │ │ │ ├── fr1_room.txt │ │ │ ├── fr1_xyz.txt │ │ │ ├── fr2_desk.txt │ │ │ ├── fr2_xyz.txt │ │ │ ├── fr3_nstr_tex_near.txt │ │ │ ├── fr3_office.txt │ │ │ ├── fr3_office_val.txt │ │ │ ├── fr3_str_tex_far.txt │ │ │ └── fr3_str_tex_near.txt │ │ ├── kfpose.txt │ │ ├── localmappingcost.txt │ │ ├── loopclosingcost.txt │ │ ├── mapsize.txt │ │ ├── mymapsize.txt │ │ ├── orbslam_client_node_rgbd_tum │ │ ├── rgbd_tum.cc │ │ ├── ros_viewer.cpp │ │ ├── ros_viewer.h │ │ └── trackingcost.txt │ ├── ROS │ │ └── ORB_SLAM2 │ │ │ ├── Asus.yaml │ │ │ ├── CMakeLists.txt │ │ │ ├── manifest.xml │ │ │ └── src │ │ │ ├── ros_mono.cc │ │ │ ├── ros_rgbd.cc │ │ │ └── ros_stereo.cc │ └── Stereo │ │ ├── CameraTrajectory.txt │ │ ├── EuRoC.yaml │ │ ├── EuRoC_TimeStamps │ │ ├── MH01.txt │ │ ├── MH02.txt │ │ ├── MH03.txt │ │ ├── MH04.txt │ │ ├── MH05.txt │ │ ├── V101.txt │ │ ├── V102.txt │ │ ├── V103.txt │ │ ├── V201.txt │ │ ├── V202.txt │ │ └── V203.txt │ │ ├── KITTI00-02.yaml │ │ ├── KITTI03.yaml │ │ ├── KITTI04-12.yaml │ │ ├── STTkfs.txt │ │ ├── STTmps.txt │ │ ├── TTSkfs.txt │ │ ├── TTSmps.txt │ │ ├── kfpose.txt │ │ ├── localmappingcost.txt │ │ ├── loopclosingcost.txt │ │ ├── mymapsize.txt │ │ ├── mytrackcost.txt │ │ ├── orbslam_client_node_stereo_euroc │ │ ├── orbslam_client_node_stereo_kitti │ │ ├── stereo_euroc.cc │ │ └── stereo_kitti.cc ├── LICENSE.txt ├── License-gpl.txt ├── README.md ├── Thirdparty │ ├── DBoW2 │ │ ├── CMakeLists.txt │ │ ├── DBoW2 │ │ │ ├── BowVector.cpp │ │ │ ├── BowVector.h │ │ │ ├── FClass.h │ │ │ ├── FORB.cpp │ │ │ ├── FORB.h │ │ │ ├── FeatureVector.cpp │ │ │ ├── FeatureVector.h │ │ │ ├── ScoringObject.cpp │ │ │ ├── ScoringObject.h │ │ │ └── TemplatedVocabulary.h │ │ ├── DUtils │ │ │ ├── Random.cpp │ │ │ ├── Random.h │ │ │ ├── Timestamp.cpp │ │ │ └── Timestamp.h │ │ ├── LICENSE.txt │ │ ├── README.txt │ │ ├── build │ │ │ ├── CMakeCache.txt │ │ │ ├── CMakeFiles │ │ │ │ ├── 2.8.12.2 │ │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ │ ├── CompilerIdC │ │ │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ │ │ └── a.out │ │ │ │ │ └── CompilerIdCXX │ │ │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ │ │ └── a.out │ │ │ │ ├── CMakeDirectoryInformation.cmake │ │ │ │ ├── CMakeOutput.log │ │ │ │ ├── DBoW2.dir │ │ │ │ │ ├── CXX.includecache │ │ │ │ │ ├── DBoW2 │ │ │ │ │ │ ├── BowVector.cpp.o │ │ │ │ │ │ ├── FORB.cpp.o │ │ │ │ │ │ ├── FeatureVector.cpp.o │ │ │ │ │ │ └── ScoringObject.cpp.o │ │ │ │ │ ├── DUtils │ │ │ │ │ │ ├── Random.cpp.o │ │ │ │ │ │ └── Timestamp.cpp.o │ │ │ │ │ ├── DependInfo.cmake │ │ │ │ │ ├── build.make │ │ │ │ │ ├── cmake_clean.cmake │ │ │ │ │ ├── depend.internal │ │ │ │ │ ├── depend.make │ │ │ │ │ ├── flags.make │ │ │ │ │ ├── link.txt │ │ │ │ │ └── progress.make │ │ │ │ ├── Makefile.cmake │ │ │ │ ├── Makefile2 │ │ │ │ ├── TargetDirectories.txt │ │ │ │ ├── cmake.check_cache │ │ │ │ └── progress.marks │ │ │ ├── Makefile │ │ │ └── cmake_install.cmake │ │ └── lib │ │ │ └── libDBoW2.so │ ├── Pangolin │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── CMakeLists.txt │ │ ├── CMakeModules │ │ │ ├── AndroidUtils.cmake │ │ │ ├── CreateMethodCallFile.cmake │ │ │ ├── EmbedBinaryFiles.cmake │ │ │ ├── FindDC1394.cmake │ │ │ ├── FindDepthSense.cmake │ │ │ ├── FindEigen3.cmake │ │ │ ├── FindFFMPEG.cmake │ │ │ ├── FindFREEGLUT.cmake │ │ │ ├── FindGLEW.cmake │ │ │ ├── FindGLUES.cmake │ │ │ ├── FindLibRealSense.cmake │ │ │ ├── FindOculus.cmake │ │ │ ├── FindOpenEXR.cmake │ │ │ ├── FindOpenNI.cmake │ │ │ ├── FindOpenNI2.cmake │ │ │ ├── FindPleora.cmake │ │ │ ├── FindROBOTVISION.cmake │ │ │ ├── FindTeliCam.cmake │ │ │ ├── FindTooN.cmake │ │ │ ├── FindXrandr.cmake │ │ │ ├── Findlibusb1.cmake │ │ │ ├── Findpthread.cmake │ │ │ ├── Finduvc.cmake │ │ │ └── SetPlatformVars.cmake │ │ ├── LICENCE │ │ ├── README.md │ │ ├── appveyor.yml │ │ ├── cmake_uninstall.cmake.in │ │ ├── examples │ │ │ ├── CMakeLists.txt │ │ │ ├── HelloPangolin │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── main.cpp │ │ │ ├── SharedMemoryVideoWriter │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── main.cpp │ │ │ ├── SimpleDisplay │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── app.cfg │ │ │ │ └── main.cpp │ │ │ ├── SimpleDisplayImage │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── main.cpp │ │ │ ├── SimpleMultiDisplay │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── app.cfg │ │ │ │ └── main.cpp │ │ │ ├── SimpleOculus │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── main.cpp │ │ │ ├── SimplePlot │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── main.cpp │ │ │ ├── SimpleRecord │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── main.cpp │ │ │ ├── SimpleRepeatVideo │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── main.cpp │ │ │ ├── SimpleScene │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── main.cpp │ │ │ ├── SimpleVideo │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── main.cpp │ │ │ └── VBODisplay │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── kernal.cu │ │ │ │ └── main.cpp │ │ ├── external │ │ │ └── CMakeLists.txt │ │ ├── include │ │ │ └── pangolin │ │ │ │ ├── compat │ │ │ │ ├── glconsole.h │ │ │ │ ├── glutbitmap.h │ │ │ │ ├── ovr.h │ │ │ │ └── type_traits.h │ │ │ │ ├── console │ │ │ │ ├── ConsoleInterpreter.h │ │ │ │ └── ConsoleView.h │ │ │ │ ├── display │ │ │ │ ├── attach.h │ │ │ │ ├── device │ │ │ │ │ ├── OsxWindow.h │ │ │ │ │ ├── PangolinNSApplication.h │ │ │ │ │ ├── PangolinNSGLView.h │ │ │ │ │ ├── WinWindow.h │ │ │ │ │ ├── X11GlContext.h │ │ │ │ │ ├── X11Window.h │ │ │ │ │ ├── display_android.h │ │ │ │ │ └── display_glut.h │ │ │ │ ├── display.h │ │ │ │ ├── display_internal.h │ │ │ │ ├── opengl_render_state.h │ │ │ │ ├── user_app.h │ │ │ │ ├── view.h │ │ │ │ ├── viewport.h │ │ │ │ ├── widgets │ │ │ │ │ └── widgets.h │ │ │ │ └── window.h │ │ │ │ ├── factory │ │ │ │ └── factory_registry.h │ │ │ │ ├── gl │ │ │ │ ├── cg.h │ │ │ │ ├── colour.h │ │ │ │ ├── compat │ │ │ │ │ ├── gl2engine.h │ │ │ │ │ └── gl_es_compat.h │ │ │ │ ├── gl.h │ │ │ │ ├── gl.hpp │ │ │ │ ├── glchar.h │ │ │ │ ├── glcuda.h │ │ │ │ ├── gldraw.h │ │ │ │ ├── glfont.h │ │ │ │ ├── glformattraits.h │ │ │ │ ├── glglut.h │ │ │ │ ├── glinclude.h │ │ │ │ ├── glpangoglu.h │ │ │ │ ├── glpixformat.h │ │ │ │ ├── glplatform.h │ │ │ │ ├── glsl.h │ │ │ │ ├── glstate.h │ │ │ │ ├── gltext.h │ │ │ │ ├── gltexturecache.h │ │ │ │ └── glvbo.h │ │ │ │ ├── handler │ │ │ │ ├── handler.h │ │ │ │ ├── handler_enums.h │ │ │ │ ├── handler_glbuffer.h │ │ │ │ └── handler_image.h │ │ │ │ ├── hud │ │ │ │ └── oculus_hud.h │ │ │ │ ├── image │ │ │ │ ├── copy.h │ │ │ │ ├── image.h │ │ │ │ ├── image_io.h │ │ │ │ ├── image_utils.h │ │ │ │ ├── managed_image.h │ │ │ │ ├── memcpy.h │ │ │ │ ├── pixel_format.h │ │ │ │ └── typed_image.h │ │ │ │ ├── ios │ │ │ │ ├── PangolinAppDelegate.h │ │ │ │ └── PangolinUIView.h │ │ │ │ ├── log │ │ │ │ └── packetstream.h │ │ │ │ ├── pangolin.h │ │ │ │ ├── platform.h │ │ │ │ ├── plot │ │ │ │ ├── datalog.h │ │ │ │ ├── plotter.h │ │ │ │ └── range.h │ │ │ │ ├── python │ │ │ │ ├── PyInterpreter.h │ │ │ │ ├── PyModulePangolin.h │ │ │ │ ├── PyPangoIO.h │ │ │ │ ├── PyUniqueObj.h │ │ │ │ └── PyVar.h │ │ │ │ ├── scene │ │ │ │ ├── axis.h │ │ │ │ ├── interactive.h │ │ │ │ ├── interactive_index.h │ │ │ │ ├── renderable.h │ │ │ │ └── scenehandler.h │ │ │ │ ├── tools │ │ │ │ └── video_viewer.h │ │ │ │ ├── utils │ │ │ │ ├── assert.h │ │ │ │ ├── file_extension.h │ │ │ │ ├── file_utils.h │ │ │ │ ├── fix_size_buffer_queue.h │ │ │ │ ├── format_string.h │ │ │ │ ├── log.h │ │ │ │ ├── params.h │ │ │ │ ├── picojson.h │ │ │ │ ├── posix │ │ │ │ │ ├── condition_variable.h │ │ │ │ │ ├── semaphore.h │ │ │ │ │ └── shared_memory_buffer.h │ │ │ │ ├── sigstate.h │ │ │ │ ├── simple_math.h │ │ │ │ ├── static_init.h │ │ │ │ ├── threadedfilebuf.h │ │ │ │ ├── timer.h │ │ │ │ ├── transform.h │ │ │ │ ├── type_convert.h │ │ │ │ ├── uri.h │ │ │ │ └── xml │ │ │ │ │ ├── license.txt │ │ │ │ │ ├── rapidxml.hpp │ │ │ │ │ ├── rapidxml_iterators.hpp │ │ │ │ │ ├── rapidxml_print.hpp │ │ │ │ │ └── rapidxml_utils.hpp │ │ │ │ ├── var │ │ │ │ ├── input_record_repeat.h │ │ │ │ ├── var.h │ │ │ │ ├── varextra.h │ │ │ │ ├── varstate.h │ │ │ │ ├── varvalue.h │ │ │ │ ├── varvaluegeneric.h │ │ │ │ ├── varvaluet.h │ │ │ │ └── varwrapper.h │ │ │ │ └── video │ │ │ │ ├── drivers │ │ │ │ ├── debayer.h │ │ │ │ ├── deinterlace.h │ │ │ │ ├── depthsense.h │ │ │ │ ├── ffmpeg.h │ │ │ │ ├── firewire.h │ │ │ │ ├── images.h │ │ │ │ ├── join.h │ │ │ │ ├── merge.h │ │ │ │ ├── mirror.h │ │ │ │ ├── openni.h │ │ │ │ ├── openni2.h │ │ │ │ ├── openni_common.h │ │ │ │ ├── pango.h │ │ │ │ ├── pango_video_output.h │ │ │ │ ├── pleora.h │ │ │ │ ├── pvn.h │ │ │ │ ├── realsense.h │ │ │ │ ├── shared_memory.h │ │ │ │ ├── shift.h │ │ │ │ ├── split.h │ │ │ │ ├── teli.h │ │ │ │ ├── test.h │ │ │ │ ├── thread.h │ │ │ │ ├── unpack.h │ │ │ │ ├── uvc.h │ │ │ │ └── v4l.h │ │ │ │ ├── iostream_operators.h │ │ │ │ ├── stream_info.h │ │ │ │ ├── video.h │ │ │ │ ├── video_exception.h │ │ │ │ ├── video_input.h │ │ │ │ ├── video_interface.h │ │ │ │ ├── video_output.h │ │ │ │ ├── video_output_interface.h │ │ │ │ └── video_record_repeat.h │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ ├── Doxyfile.in │ │ │ ├── PangolinConfig.cmake.in │ │ │ ├── PangolinConfigVersion.cmake.in │ │ │ ├── _embed_ │ │ │ │ └── fonts │ │ │ │ │ ├── AnonymousPro.ttf │ │ │ │ │ └── AnonymousPro.txt │ │ │ ├── config.h.in │ │ │ ├── console │ │ │ │ └── ConsoleView.cpp │ │ │ ├── display │ │ │ │ ├── device │ │ │ │ │ ├── PangolinNSApplication.mm │ │ │ │ │ ├── PangolinNSGLView.mm │ │ │ │ │ ├── display_android.cpp │ │ │ │ │ ├── display_glut.cpp │ │ │ │ │ ├── display_osx.mm │ │ │ │ │ ├── display_win.cpp │ │ │ │ │ └── display_x11.cpp │ │ │ │ ├── display.cpp │ │ │ │ ├── opengl_render_state.cpp │ │ │ │ ├── view.cpp │ │ │ │ ├── viewport.cpp │ │ │ │ └── widgets │ │ │ │ │ └── widgets.cpp │ │ │ ├── gl │ │ │ │ ├── compat │ │ │ │ │ └── gl2engine.cpp │ │ │ │ ├── glchar.cpp │ │ │ │ ├── gldraw.cpp │ │ │ │ ├── glfont.cpp │ │ │ │ ├── glpangoglu.cpp │ │ │ │ ├── gltext.cpp │ │ │ │ ├── gltexturecache.cpp │ │ │ │ └── stb_truetype.h │ │ │ ├── handler │ │ │ │ ├── handler.cpp │ │ │ │ ├── handler_glbuffer.cpp │ │ │ │ └── handler_image.cpp │ │ │ ├── hud │ │ │ │ └── oculus_hud.cpp │ │ │ ├── image │ │ │ │ ├── image_io.cpp │ │ │ │ └── pixel_format.cpp │ │ │ ├── ios │ │ │ │ ├── PangolinAppDelegate.mm │ │ │ │ └── PangolinUIView.mm │ │ │ ├── log │ │ │ │ └── packetstream.cpp │ │ │ ├── plot │ │ │ │ ├── datalog.cpp │ │ │ │ └── plotter.cpp │ │ │ ├── python │ │ │ │ ├── PyInterpreter.cpp │ │ │ │ └── PyModulePangolin.cpp │ │ │ ├── tools │ │ │ │ └── video_viewer.cpp │ │ │ ├── utils │ │ │ │ ├── file_extension.cpp │ │ │ │ ├── file_utils.cpp │ │ │ │ ├── posix │ │ │ │ │ ├── condition_variable.cpp │ │ │ │ │ ├── semaphore.cpp │ │ │ │ │ └── shared_memory_buffer.cpp │ │ │ │ ├── sigstate.cpp │ │ │ │ ├── threadedfilebuf.cpp │ │ │ │ ├── timer.cpp │ │ │ │ └── uri.cpp │ │ │ ├── var │ │ │ │ ├── input_record_repeat.cpp │ │ │ │ └── vars.cpp │ │ │ └── video │ │ │ │ ├── drivers │ │ │ │ ├── debayer.cpp │ │ │ │ ├── deinterlace.cpp │ │ │ │ ├── depthsense.cpp │ │ │ │ ├── ffmpeg.cpp │ │ │ │ ├── firewire.cpp │ │ │ │ ├── images.cpp │ │ │ │ ├── join.cpp │ │ │ │ ├── json.cpp │ │ │ │ ├── merge.cpp │ │ │ │ ├── mirror.cpp │ │ │ │ ├── openni.cpp │ │ │ │ ├── openni2.cpp │ │ │ │ ├── pango.cpp │ │ │ │ ├── pango_video_output.cpp │ │ │ │ ├── pleora.cpp │ │ │ │ ├── pvn.cpp │ │ │ │ ├── realsense.cpp │ │ │ │ ├── shared_memory.cpp │ │ │ │ ├── shift.cpp │ │ │ │ ├── split.cpp │ │ │ │ ├── teli.cpp │ │ │ │ ├── test.cpp │ │ │ │ ├── thread.cpp │ │ │ │ ├── unpack.cpp │ │ │ │ ├── uvc.cpp │ │ │ │ └── v4l.cpp │ │ │ │ ├── video.cpp │ │ │ │ ├── video_input.cpp │ │ │ │ ├── video_interface_factory.cpp │ │ │ │ ├── video_output.cpp │ │ │ │ └── video_output_interface_factory.cpp │ │ └── tools │ │ │ ├── CMakeLists.txt │ │ │ ├── VideoConvert │ │ │ ├── CMakeLists.txt │ │ │ └── main.cpp │ │ │ └── VideoViewer │ │ │ ├── CMakeLists.txt │ │ │ ├── application-x-pango.svg │ │ │ ├── application-x-pango.xml │ │ │ └── main.cpp │ └── g2o │ │ ├── CMakeLists.txt │ │ ├── README.txt │ │ ├── build │ │ ├── CMakeCache.txt │ │ ├── CMakeFiles │ │ │ ├── 2.8.12.2 │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ ├── CompilerIdC │ │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ │ └── a.out │ │ │ │ └── CompilerIdCXX │ │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ │ └── a.out │ │ │ ├── CMakeDirectoryInformation.cmake │ │ │ ├── CMakeOutput.log │ │ │ ├── Makefile.cmake │ │ │ ├── Makefile2 │ │ │ ├── TargetDirectories.txt │ │ │ ├── cmake.check_cache │ │ │ ├── g2o.dir │ │ │ │ ├── C.includecache │ │ │ │ ├── CXX.includecache │ │ │ │ ├── DependInfo.cmake │ │ │ │ ├── build.make │ │ │ │ ├── cmake_clean.cmake │ │ │ │ ├── depend.internal │ │ │ │ ├── depend.make │ │ │ │ ├── flags.make │ │ │ │ ├── g2o │ │ │ │ │ ├── core │ │ │ │ │ │ ├── batch_stats.cpp.o │ │ │ │ │ │ ├── cache.cpp.o │ │ │ │ │ │ ├── estimate_propagator.cpp.o │ │ │ │ │ │ ├── factory.cpp.o │ │ │ │ │ │ ├── hyper_dijkstra.cpp.o │ │ │ │ │ │ ├── hyper_graph.cpp.o │ │ │ │ │ │ ├── hyper_graph_action.cpp.o │ │ │ │ │ │ ├── jacobian_workspace.cpp.o │ │ │ │ │ │ ├── marginal_covariance_cholesky.cpp.o │ │ │ │ │ │ ├── matrix_structure.cpp.o │ │ │ │ │ │ ├── optimizable_graph.cpp.o │ │ │ │ │ │ ├── optimization_algorithm.cpp.o │ │ │ │ │ │ ├── optimization_algorithm_factory.cpp.o │ │ │ │ │ │ ├── optimization_algorithm_levenberg.cpp.o │ │ │ │ │ │ ├── optimization_algorithm_with_hessian.cpp.o │ │ │ │ │ │ ├── parameter.cpp.o │ │ │ │ │ │ ├── parameter_container.cpp.o │ │ │ │ │ │ ├── robust_kernel.cpp.o │ │ │ │ │ │ ├── robust_kernel_factory.cpp.o │ │ │ │ │ │ ├── robust_kernel_impl.cpp.o │ │ │ │ │ │ ├── solver.cpp.o │ │ │ │ │ │ └── sparse_optimizer.cpp.o │ │ │ │ │ ├── stuff │ │ │ │ │ │ ├── os_specific.c.o │ │ │ │ │ │ ├── property.cpp.o │ │ │ │ │ │ ├── string_tools.cpp.o │ │ │ │ │ │ └── timeutil.cpp.o │ │ │ │ │ └── types │ │ │ │ │ │ ├── types_sba.cpp.o │ │ │ │ │ │ ├── types_seven_dof_expmap.cpp.o │ │ │ │ │ │ └── types_six_dof_expmap.cpp.o │ │ │ │ ├── link.txt │ │ │ │ └── progress.make │ │ │ └── progress.marks │ │ ├── Makefile │ │ └── cmake_install.cmake │ │ ├── cmake_modules │ │ ├── FindBLAS.cmake │ │ ├── FindEigen3.cmake │ │ └── FindLAPACK.cmake │ │ ├── config.h │ │ ├── config.h.in │ │ ├── g2o │ │ ├── core │ │ │ ├── base_binary_edge.h │ │ │ ├── base_binary_edge.hpp │ │ │ ├── base_edge.h │ │ │ ├── base_multi_edge.h │ │ │ ├── base_multi_edge.hpp │ │ │ ├── base_unary_edge.h │ │ │ ├── base_unary_edge.hpp │ │ │ ├── base_vertex.h │ │ │ ├── base_vertex.hpp │ │ │ ├── batch_stats.cpp │ │ │ ├── batch_stats.h │ │ │ ├── block_solver.h │ │ │ ├── block_solver.hpp │ │ │ ├── cache.cpp │ │ │ ├── cache.h │ │ │ ├── creators.h │ │ │ ├── eigen_types.h │ │ │ ├── estimate_propagator.cpp │ │ │ ├── estimate_propagator.h │ │ │ ├── factory.cpp │ │ │ ├── factory.h │ │ │ ├── hyper_dijkstra.cpp │ │ │ ├── hyper_dijkstra.h │ │ │ ├── hyper_graph.cpp │ │ │ ├── hyper_graph.h │ │ │ ├── hyper_graph_action.cpp │ │ │ ├── hyper_graph_action.h │ │ │ ├── jacobian_workspace.cpp │ │ │ ├── jacobian_workspace.h │ │ │ ├── linear_solver.h │ │ │ ├── marginal_covariance_cholesky.cpp │ │ │ ├── marginal_covariance_cholesky.h │ │ │ ├── matrix_operations.h │ │ │ ├── matrix_structure.cpp │ │ │ ├── matrix_structure.h │ │ │ ├── openmp_mutex.h │ │ │ ├── optimizable_graph.cpp │ │ │ ├── optimizable_graph.h │ │ │ ├── optimization_algorithm.cpp │ │ │ ├── optimization_algorithm.h │ │ │ ├── optimization_algorithm_dogleg.cpp │ │ │ ├── optimization_algorithm_dogleg.h │ │ │ ├── optimization_algorithm_factory.cpp │ │ │ ├── optimization_algorithm_factory.h │ │ │ ├── optimization_algorithm_gauss_newton.cpp │ │ │ ├── optimization_algorithm_gauss_newton.h │ │ │ ├── optimization_algorithm_levenberg.cpp │ │ │ ├── optimization_algorithm_levenberg.h │ │ │ ├── optimization_algorithm_property.h │ │ │ ├── optimization_algorithm_with_hessian.cpp │ │ │ ├── optimization_algorithm_with_hessian.h │ │ │ ├── parameter.cpp │ │ │ ├── parameter.h │ │ │ ├── parameter_container.cpp │ │ │ ├── parameter_container.h │ │ │ ├── robust_kernel.cpp │ │ │ ├── robust_kernel.h │ │ │ ├── robust_kernel_factory.cpp │ │ │ ├── robust_kernel_factory.h │ │ │ ├── robust_kernel_impl.cpp │ │ │ ├── robust_kernel_impl.h │ │ │ ├── solver.cpp │ │ │ ├── solver.h │ │ │ ├── sparse_block_matrix.h │ │ │ ├── sparse_block_matrix.hpp │ │ │ ├── sparse_block_matrix_ccs.h │ │ │ ├── sparse_block_matrix_diagonal.h │ │ │ ├── sparse_block_matrix_test.cpp │ │ │ ├── sparse_optimizer.cpp │ │ │ └── sparse_optimizer.h │ │ ├── solvers │ │ │ ├── linear_solver_dense.h │ │ │ └── linear_solver_eigen.h │ │ ├── stuff │ │ │ ├── color_macros.h │ │ │ ├── macros.h │ │ │ ├── misc.h │ │ │ ├── os_specific.c │ │ │ ├── os_specific.h │ │ │ ├── property.cpp │ │ │ ├── property.h │ │ │ ├── string_tools.cpp │ │ │ ├── string_tools.h │ │ │ ├── timeutil.cpp │ │ │ └── timeutil.h │ │ └── types │ │ │ ├── se3_ops.h │ │ │ ├── se3_ops.hpp │ │ │ ├── se3quat.h │ │ │ ├── sim3.h │ │ │ ├── types_sba.cpp │ │ │ ├── types_sba.h │ │ │ ├── types_seven_dof_expmap.cpp │ │ │ ├── types_seven_dof_expmap.h │ │ │ ├── types_six_dof_expmap.cpp │ │ │ └── types_six_dof_expmap.h │ │ ├── lib │ │ └── libg2o.so │ │ └── license-bsd.txt ├── Vocabulary │ └── ORBvoc.txt.tar.gz ├── build.sh ├── cmake_modules │ └── FindEigen3.cmake ├── include │ ├── Cache.h │ ├── Converter.h │ ├── DataDriver.h │ ├── Frame.h │ ├── FrameDrawer.h │ ├── Initializer.h │ ├── KeyFrame.h │ ├── KeyFrameDatabase.h │ ├── LightKeyFrame.h │ ├── LightMapPoint.h │ ├── LocalMapping.h │ ├── LoopClosing.h │ ├── Map.h │ ├── MapDrawer.h │ ├── MapPoint.h │ ├── ORBVocabulary.h │ ├── ORBextractor.h │ ├── ORBmatcher.h │ ├── Optimizer.h │ ├── PnPsolver.h │ ├── SerializeObject.h │ ├── Sim3Solver.h │ ├── System.h │ ├── TopoMap.h │ ├── Tracking.h │ └── Viewer.h ├── package.xml ├── src │ ├── Cache.cc │ ├── Converter.cc │ ├── DataDriver.cc │ ├── Frame.cc │ ├── FrameDrawer.cc │ ├── Initializer.cc │ ├── KeyFrame.cc │ ├── KeyFrameDatabase.cc │ ├── LightKeyFrame.cc │ ├── LightMapPoint.cc │ ├── LocalMapping.cc │ ├── LoopClosing.cc │ ├── Map.cc │ ├── MapDrawer.cc │ ├── MapPoint.cc │ ├── ORBextractor.cc │ ├── ORBmatcher.cc │ ├── Optimizer.cc │ ├── PnPsolver.cc │ ├── Sim3Solver.cc │ ├── System.cc │ ├── TopoMap.cc │ ├── Tracking.cc │ └── Viewer.cc └── srv │ └── orbslam_client_testsrv.srv └── orbslam_server ├── CMakeLists.txt ├── CMakeLists.txt~ ├── Thirdparty └── package │ ├── libcutl-1.10.0.tar.bz2 │ ├── libodb-2.4.0.tar.bz2 │ ├── libodb-boost-2.4.0.tar.bz2 │ ├── libodb-pgsql-2.4.0.tar.bz2 │ ├── odb-2.4.0.tar.bz2 │ └── odb-examples-2.4.0.tar.bz2 ├── cmake └── Modules │ ├── FindODB.cmake │ └── UseODB.cmake ├── include ├── Data_KeyFrame-odb.cxx ├── Data_KeyFrame-odb.hxx ├── Data_KeyFrame-odb.ixx ├── Data_KeyFrame.h ├── Data_KeyFrame.sql ├── Data_MapPoint-odb.cxx ├── Data_MapPoint-odb.hxx ├── Data_MapPoint-odb.ixx ├── Data_MapPoint.h ├── Data_MapPoint.sql ├── Data_TopoKeyFrame-odb.cxx ├── Data_TopoKeyFrame-odb.hxx ├── Data_TopoKeyFrame-odb.ixx ├── Data_TopoKeyFrame.h ├── Data_TopoKeyFrame.sql ├── Data_TopoMapPoint-odb.cxx ├── Data_TopoMapPoint-odb.hxx ├── Data_TopoMapPoint-odb.ixx ├── Data_TopoMapPoint.h ├── Data_TopoMapPoint.sql ├── Serialization.h ├── database.h └── person.h ├── package.xml ├── src └── main.cpp └── srv ├── orbslam_get.srv ├── orbslam_muilt_get.srv ├── orbslam_muilt_save.srv ├── orbslam_pose_get.srv ├── orbslam_pose_save.srv └── orbslam_save.srv /LICENSE.txt: -------------------------------------------------------------------------------- 1 | ORB-SLAM2 is released under a GPLv3 license (see License-gpl.txt). 2 | Please see Dependencies.md for a list of all included code and library dependencies which are not property of the authors of ORB-SLAM2. 3 | 4 | For a closed-source version of ORB-SLAM2 for commercial purposes, please contact the authors. 5 | 6 | If you use ORB-SLAM in an academic work, please cite the most relevant publication associated by visiting: 7 | https://github.com/raulmur/ORB_SLAM2 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /images/framework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/images/framework.png -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | /opt/ros/indigo/share/catkin/cmake/toplevel.cmake -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Monocular/EuRoC.yaml: -------------------------------------------------------------------------------- 1 | %YAML:1.0 2 | 3 | #-------------------------------------------------------------------------------------------- 4 | # Camera Parameters. Adjust them! 5 | #-------------------------------------------------------------------------------------------- 6 | 7 | # Camera calibration and distortion parameters (OpenCV) 8 | Camera.fx: 458.654 9 | Camera.fy: 457.296 10 | Camera.cx: 367.215 11 | Camera.cy: 248.375 12 | 13 | Camera.k1: -0.28340811 14 | Camera.k2: 0.07395907 15 | Camera.p1: 0.00019359 16 | Camera.p2: 1.76187114e-05 17 | 18 | # Camera frames per second 19 | Camera.fps: 20.0 20 | 21 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale) 22 | Camera.RGB: 1 23 | 24 | #-------------------------------------------------------------------------------------------- 25 | # ORB Parameters 26 | #-------------------------------------------------------------------------------------------- 27 | 28 | # ORB Extractor: Number of features per image 29 | ORBextractor.nFeatures: 1000 30 | 31 | # ORB Extractor: Scale factor between levels in the scale pyramid 32 | ORBextractor.scaleFactor: 1.2 33 | 34 | # ORB Extractor: Number of levels in the scale pyramid 35 | ORBextractor.nLevels: 8 36 | 37 | # ORB Extractor: Fast threshold 38 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response. 39 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST 40 | # You can lower these values if your images have low contrast 41 | ORBextractor.iniThFAST: 20 42 | ORBextractor.minThFAST: 7 43 | 44 | #-------------------------------------------------------------------------------------------- 45 | # Viewer Parameters 46 | #--------------------------------------------------------------------------------------------- 47 | Viewer.KeyFrameSize: 0.05 48 | Viewer.KeyFrameLineWidth: 1 49 | Viewer.GraphLineWidth: 0.9 50 | Viewer.PointSize:2 51 | Viewer.CameraSize: 0.08 52 | Viewer.CameraLineWidth: 3 53 | Viewer.ViewpointX: 0 54 | Viewer.ViewpointY: -0.7 55 | Viewer.ViewpointZ: -1.8 56 | Viewer.ViewpointF: 500 57 | 58 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Monocular/KITTI00-02.yaml: -------------------------------------------------------------------------------- 1 | %YAML:1.0 2 | 3 | #-------------------------------------------------------------------------------------------- 4 | # Camera Parameters. Adjust them! 5 | #-------------------------------------------------------------------------------------------- 6 | 7 | # Camera calibration and distortion parameters (OpenCV) 8 | Camera.fx: 718.856 9 | Camera.fy: 718.856 10 | Camera.cx: 607.1928 11 | Camera.cy: 185.2157 12 | 13 | Camera.k1: 0.0 14 | Camera.k2: 0.0 15 | Camera.p1: 0.0 16 | Camera.p2: 0.0 17 | 18 | # Camera frames per second 19 | Camera.fps: 10.0 20 | 21 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale) 22 | Camera.RGB: 1 23 | 24 | #-------------------------------------------------------------------------------------------- 25 | # ORB Parameters 26 | #-------------------------------------------------------------------------------------------- 27 | 28 | # ORB Extractor: Number of features per image 29 | ORBextractor.nFeatures: 2000 30 | 31 | # ORB Extractor: Scale factor between levels in the scale pyramid 32 | ORBextractor.scaleFactor: 1.2 33 | 34 | # ORB Extractor: Number of levels in the scale pyramid 35 | ORBextractor.nLevels: 8 36 | 37 | # ORB Extractor: Fast threshold 38 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response. 39 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST 40 | # You can lower these values if your images have low contrast 41 | ORBextractor.iniThFAST: 20 42 | ORBextractor.minThFAST: 7 43 | 44 | #-------------------------------------------------------------------------------------------- 45 | # Viewer Parameters 46 | #-------------------------------------------------------------------------------------------- 47 | Viewer.KeyFrameSize: 0.1 48 | Viewer.KeyFrameLineWidth: 1 49 | Viewer.GraphLineWidth: 1 50 | Viewer.PointSize:2 51 | Viewer.CameraSize: 0.15 52 | Viewer.CameraLineWidth: 2 53 | Viewer.ViewpointX: 0 54 | Viewer.ViewpointY: -10 55 | Viewer.ViewpointZ: -0.1 56 | Viewer.ViewpointF: 2000 57 | 58 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Monocular/KITTI03.yaml: -------------------------------------------------------------------------------- 1 | %YAML:1.0 2 | 3 | #-------------------------------------------------------------------------------------------- 4 | # Camera Parameters. Adjust them! 5 | #-------------------------------------------------------------------------------------------- 6 | 7 | # Camera calibration and distortion parameters (OpenCV) 8 | Camera.fx: 721.5377 9 | Camera.fy: 721.5377 10 | Camera.cx: 609.5593 11 | Camera.cy: 172.854 12 | 13 | Camera.k1: 0.0 14 | Camera.k2: 0.0 15 | Camera.p1: 0.0 16 | Camera.p2: 0.0 17 | 18 | # Camera frames per second 19 | Camera.fps: 10.0 20 | 21 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale) 22 | Camera.RGB: 1 23 | 24 | #-------------------------------------------------------------------------------------------- 25 | # ORB Parameters 26 | #-------------------------------------------------------------------------------------------- 27 | 28 | # ORB Extractor: Number of features per image 29 | ORBextractor.nFeatures: 2000 30 | 31 | # ORB Extractor: Scale factor between levels in the scale pyramid 32 | ORBextractor.scaleFactor: 1.2 33 | 34 | # ORB Extractor: Number of levels in the scale pyramid 35 | ORBextractor.nLevels: 8 36 | 37 | # ORB Extractor: Fast threshold 38 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response. 39 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST 40 | # You can lower these values if your images have low contrast 41 | ORBextractor.iniThFAST: 20 42 | ORBextractor.minThFAST: 7 43 | 44 | #-------------------------------------------------------------------------------------------- 45 | # Viewer Parameters 46 | #-------------------------------------------------------------------------------------------- 47 | Viewer.KeyFrameSize: 0.1 48 | Viewer.KeyFrameLineWidth: 1 49 | Viewer.GraphLineWidth: 1 50 | Viewer.PointSize:2 51 | Viewer.CameraSize: 0.15 52 | Viewer.CameraLineWidth: 2 53 | Viewer.ViewpointX: 0 54 | Viewer.ViewpointY: -10 55 | Viewer.ViewpointZ: -0.1 56 | Viewer.ViewpointF: 2000 57 | 58 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Monocular/KITTI04-12.yaml: -------------------------------------------------------------------------------- 1 | %YAML:1.0 2 | 3 | #-------------------------------------------------------------------------------------------- 4 | # Camera Parameters. Adjust them! 5 | #-------------------------------------------------------------------------------------------- 6 | 7 | # Camera calibration and distortion parameters (OpenCV) 8 | Camera.fx: 707.0912 9 | Camera.fy: 707.0912 10 | Camera.cx: 601.8873 11 | Camera.cy: 183.1104 12 | 13 | Camera.k1: 0.0 14 | Camera.k2: 0.0 15 | Camera.p1: 0.0 16 | Camera.p2: 0.0 17 | 18 | # Camera frames per second 19 | Camera.fps: 10.0 20 | 21 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale) 22 | Camera.RGB: 1 23 | 24 | #-------------------------------------------------------------------------------------------- 25 | # ORB Parameters 26 | #-------------------------------------------------------------------------------------------- 27 | 28 | # ORB Extractor: Number of features per image 29 | ORBextractor.nFeatures: 2000 30 | 31 | # ORB Extractor: Scale factor between levels in the scale pyramid 32 | ORBextractor.scaleFactor: 1.2 33 | 34 | # ORB Extractor: Number of levels in the scale pyramid 35 | ORBextractor.nLevels: 8 36 | 37 | # ORB Extractor: Fast threshold 38 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response. 39 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST 40 | # You can lower these values if your images have low contrast 41 | ORBextractor.iniThFAST: 20 42 | ORBextractor.minThFAST: 7 43 | 44 | #-------------------------------------------------------------------------------------------- 45 | # Viewer Parameters 46 | #-------------------------------------------------------------------------------------------- 47 | Viewer.KeyFrameSize: 0.1 48 | Viewer.KeyFrameLineWidth: 1 49 | Viewer.GraphLineWidth: 1 50 | Viewer.PointSize:2 51 | Viewer.CameraSize: 0.15 52 | Viewer.CameraLineWidth: 2 53 | Viewer.ViewpointX: 0 54 | Viewer.ViewpointY: -10 55 | Viewer.ViewpointZ: -0.1 56 | Viewer.ViewpointF: 2000 57 | 58 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Monocular/KeyFrameTrajectory.txt: -------------------------------------------------------------------------------- 1 | 1311875619.777038 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 2 | 1311875620.045205 -0.0061666 -0.0057612 -0.0004236 -0.0175113 -0.0073493 0.0041753 0.9998109 3 | 1311875620.077065 -0.0069234 -0.0066304 -0.0006773 -0.0219788 -0.0116471 0.0047633 0.9996793 4 | 1311875621.177135 -0.0089372 -0.0156925 0.0201366 -0.0597665 -0.0470156 -0.0086304 0.9970672 5 | 1311875622.413146 -0.0132984 -0.0225393 0.0319955 -0.1273744 -0.0533838 0.0225427 0.9901605 6 | 1311875623.277034 -0.0203121 -0.0219726 0.0315484 -0.1346775 -0.0767790 -0.0099806 0.9878600 7 | 1311875624.277142 -0.0343270 -0.0229346 0.0477988 -0.1586877 -0.2338491 -0.0020687 0.9592333 8 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Monocular/TUM3.yaml: -------------------------------------------------------------------------------- 1 | %YAML:1.0 2 | 3 | #-------------------------------------------------------------------------------------------- 4 | # Camera Parameters. Adjust them! 5 | #-------------------------------------------------------------------------------------------- 6 | 7 | # Camera calibration and distortion parameters (OpenCV) 8 | Camera.fx: 535.4 9 | Camera.fy: 539.2 10 | Camera.cx: 320.1 11 | Camera.cy: 247.6 12 | 13 | Camera.k1: 0.0 14 | Camera.k2: 0.0 15 | Camera.p1: 0.0 16 | Camera.p2: 0.0 17 | 18 | # Camera frames per second 19 | Camera.fps: 30.0 20 | 21 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale) 22 | Camera.RGB: 1 23 | 24 | #-------------------------------------------------------------------------------------------- 25 | # ORB Parameters 26 | #-------------------------------------------------------------------------------------------- 27 | 28 | # ORB Extractor: Number of features per image 29 | ORBextractor.nFeatures: 1000 30 | 31 | # ORB Extractor: Scale factor between levels in the scale pyramid 32 | ORBextractor.scaleFactor: 1.2 33 | 34 | # ORB Extractor: Number of levels in the scale pyramid 35 | ORBextractor.nLevels: 8 36 | 37 | # ORB Extractor: Fast threshold 38 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response. 39 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST 40 | # You can lower these values if your images have low contrast 41 | ORBextractor.iniThFAST: 20 42 | ORBextractor.minThFAST: 7 43 | 44 | #-------------------------------------------------------------------------------------------- 45 | # Viewer Parameters 46 | #-------------------------------------------------------------------------------------------- 47 | Viewer.KeyFrameSize: 0.05 48 | Viewer.KeyFrameLineWidth: 1 49 | Viewer.GraphLineWidth: 0.9 50 | Viewer.PointSize:2 51 | Viewer.CameraSize: 0.08 52 | Viewer.CameraLineWidth: 3 53 | Viewer.ViewpointX: 0 54 | Viewer.ViewpointY: -0.7 55 | Viewer.ViewpointZ: -1.8 56 | Viewer.ViewpointF: 500 57 | 58 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Monocular/localmappingcost.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Examples/Monocular/localmappingcost.txt -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Monocular/loopclosingcost.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Examples/Monocular/loopclosingcost.txt -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Monocular/mono_tum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Examples/Monocular/mono_tum -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Monocular/mymapsize.txt: -------------------------------------------------------------------------------- 1 | 0 0 0 2 | 1 0 0 3 | 2 0 0 4 | 3 0 0 5 | 4 0 0 6 | 5 0 0 7 | 6 0 0 8 | 7 0 0 9 | 8 0 0 10 | 9 0 0 11 | 10 0 0 12 | 11 0 0 13 | 12 0 0 14 | 13 0 0 15 | 14 0 0 16 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Monocular/orbslam_client_node_mono_euroc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Examples/Monocular/orbslam_client_node_mono_euroc -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Monocular/orbslam_client_node_mono_kitti: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Examples/Monocular/orbslam_client_node_mono_kitti -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Monocular/orbslam_client_node_mono_tum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Examples/Monocular/orbslam_client_node_mono_tum -------------------------------------------------------------------------------- /src/orbslam_client/Examples/RGB-D/KeyFrameTrajectory.txt: -------------------------------------------------------------------------------- 1 | 1311875572.406161 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 2 | 1311875572.438063 0.0072917 -0.0376616 0.0153494 0.0025971 -0.0013429 -0.0068679 0.9999722 3 | 1311875572.470142 0.0078201 -0.0509037 0.0238446 0.0139985 0.0051531 -0.0170344 0.9997436 4 | 1311875572.537983 0.0121805 -0.0591473 0.0216545 0.0303987 0.0229923 -0.0344614 0.9986790 5 | 1311875572.705956 0.0934318 -0.1046617 -0.0581709 0.0410843 0.0805811 -0.0524846 0.9945170 6 | 1311875572.738041 0.1244929 -0.1250559 -0.0840410 0.0239000 0.0895854 -0.0425059 0.9947847 7 | 1311875572.806149 0.1559673 -0.1215847 -0.0708990 -0.0010228 0.1133479 -0.0147910 0.9934447 8 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/RGB-D/STTkfs.txt: -------------------------------------------------------------------------------- 1 | 89 7467515 2.5875 2 | 93 3970048 1.67419 3 | 110 3722172 0.765089 4 | 111 1348134 0.585119 5 | 125 3721939 1.13973 6 | 137 1348134 0.607004 7 | 147 4769235 1.35921 8 | 150 8270627 1.82045 9 | 159 2480637 0.866916 10 | 162 3199555 0.983667 11 | 164 535250 0.117423 12 | 182 4169347 1.39261 13 | 185 1559120 0.546114 14 | 196 1302305 0.511049 15 | 249 3199555 1.35266 16 | 261 810153 0.247417 17 | 262 6444161 2.73892 18 | 277 5899116 1.92849 19 | 281 813442 0.28592 20 | 289 2480637 0.987977 21 | 291 1559092 0.865293 22 | 294 2419817 0.784664 23 | 297 18387706 10.6462 24 | 315 6811208 2.21169 25 | 319 2933589 1.10185 26 | 321 1329761 0.730853 27 | 327 18126256 6.69544 28 | 335 3418283 1.05141 29 | 338 6582274 3.19555 30 | 343 19985151 6.36746 31 | 351 11303789 3.25319 32 | 384 19985151 6.8482 33 | 393 11303789 4.41094 34 | 407 6196464 2.4948 35 | 412 1302305 0.779038 36 | 424 1080648 0.276546 37 | 426 12106648 3.42025 38 | 432 3647185 1.75668 39 | 435 1559092 0.515378 40 | 445 2433183 0.867335 41 | 448 6785910 2.61281 42 | 452 8671079 2.48232 43 | 472 10850443 4.10481 44 | 478 1875515 0.501565 45 | 480 271072 0.172137 46 | 482 4805500 1.44642 47 | 485 1865107 0.652916 48 | 487 2480637 1.41252 49 | 490 3199555 0.69001 50 | 492 535250 0.14212 51 | 499 4343488 2.12963 52 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/RGB-D/TTSkfs.txt: -------------------------------------------------------------------------------- 1 | 113 3722172 0.361376 2 | 114 1348134 0.25884 3 | 215 0 0.009124 4 | 217 1302305 0.199587 5 | 227 4169347 0.449134 6 | 229 1559120 0.186218 7 | 238 2480637 0.3024 8 | 240 3199555 0.36956 9 | 360 2480637 0.335225 10 | 362 1559092 0.173467 11 | 367 19985151 1.98248 12 | 372 11303789 1.48669 13 | 380 3199555 0.37505 14 | 419 4769235 0.681455 15 | 422 535250 0.109694 16 | 442 8270627 1.46953 17 | 459 3721939 0.478257 18 | 461 1348134 0.147513 19 | 466 7467515 0.897854 20 | 468 3970048 0.776664 21 | 501 2480637 0.275111 22 | 502 3199555 0.22569 23 | 503 535250 0.035702 24 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/RGB-D/loopclosingcost.txt: -------------------------------------------------------------------------------- 1 | 3.17215 2 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/RGB-D/orbslam_client_node_rgbd_tum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Examples/RGB-D/orbslam_client_node_rgbd_tum -------------------------------------------------------------------------------- /src/orbslam_client/Examples/RGB-D/ros_viewer.h: -------------------------------------------------------------------------------- 1 | #ifndef ROS_VIEWER_H 2 | #define ROS_VIEWER_H 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | namespace My_Viewer { 13 | 14 | struct rawData{ 15 | cv::Mat im; 16 | cv::Mat depth; 17 | cv::Mat mTcw; 18 | double timestamp; 19 | }; 20 | 21 | class ros_viewer 22 | { 23 | public: 24 | ros_viewer(const std::string &strSettingPath); 25 | void addKfToQueue(const cv::Mat im, const cv::Mat depthmap, const double timestamp, const cv::Mat mTcw); 26 | void addUpdatedKF(const std::map kfposes); 27 | void updateFullPointCloud(); 28 | pcl::PointCloud::Ptr createPointCloud(const rawData rawimg, int step=1); 29 | 30 | // Main function 31 | void Run(); 32 | 33 | std::mutex mMutexROSViewer; 34 | private: 35 | //Calibration matrix 36 | cv::Mat mK; 37 | cv::Mat mDistCoef; 38 | float fx_; 39 | float fy_; 40 | float cx_; 41 | float cy_; 42 | float invfx; 43 | float invfy; 44 | cv::Mat mMapx; 45 | cv::Mat mMapy; 46 | cv::Mat mK_new; 47 | 48 | std::vector rawImages_queue; // temp raw images 49 | std::vector rawImages; //global raw images to be used when a loop is closed 50 | 51 | ros::Publisher pub_pointCloud; 52 | ros::Publisher pub_pointCloudFull; 53 | ros::Publisher pub_pointCloudupdated; 54 | 55 | std::map updatedKFposes; 56 | bool mbNeedUpdateKFs; 57 | 58 | pcl::PointCloud::Ptr fullCloud; 59 | }; 60 | 61 | } // namespace 62 | #endif // ROS_VIEWER_H 63 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/ROS/ORB_SLAM2/manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ORB_SLAM2 5 | 6 | 7 | Raul Mur-Artal 8 | GPLv3 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Stereo/loopclosingcost.txt: -------------------------------------------------------------------------------- 1 | 8.72228 2 | 33.0251 3 | 55.9232 4 | 38.7744 5 | 55.9954 6 | -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Stereo/orbslam_client_node_stereo_euroc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Examples/Stereo/orbslam_client_node_stereo_euroc -------------------------------------------------------------------------------- /src/orbslam_client/Examples/Stereo/orbslam_client_node_stereo_kitti: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Examples/Stereo/orbslam_client_node_stereo_kitti -------------------------------------------------------------------------------- /src/orbslam_client/LICENSE.txt: -------------------------------------------------------------------------------- 1 | ORB-SLAM2 is released under a GPLv3 license (see License-gpl.txt). 2 | Please see Dependencies.md for a list of all included code and library dependencies which are not property of the authors of ORB-SLAM2. 3 | 4 | For a closed-source version of ORB-SLAM2 for commercial purposes, please contact the authors. 5 | 6 | If you use ORB-SLAM in an academic work, please cite the most relevant publication associated by visiting: 7 | https://github.com/raulmur/ORB_SLAM2 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | project(DBoW2) 3 | 4 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -march=native ") 5 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -march=native") 6 | 7 | set(HDRS_DBOW2 8 | DBoW2/BowVector.h 9 | DBoW2/FORB.h 10 | DBoW2/FClass.h 11 | DBoW2/FeatureVector.h 12 | DBoW2/ScoringObject.h 13 | DBoW2/TemplatedVocabulary.h) 14 | set(SRCS_DBOW2 15 | DBoW2/BowVector.cpp 16 | DBoW2/FORB.cpp 17 | DBoW2/FeatureVector.cpp 18 | DBoW2/ScoringObject.cpp) 19 | 20 | set(HDRS_DUTILS 21 | DUtils/Random.h 22 | DUtils/Timestamp.h) 23 | set(SRCS_DUTILS 24 | DUtils/Random.cpp 25 | DUtils/Timestamp.cpp) 26 | 27 | find_package(OpenCV REQUIRED) 28 | 29 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 30 | 31 | include_directories(${OpenCV_INCLUDE_DIRS}) 32 | add_library(DBoW2 SHARED ${SRCS_DBOW2} ${SRCS_DUTILS}) 33 | target_link_libraries(DBoW2 ${OpenCV_LIBS}) 34 | 35 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/DBoW2/FClass.h: -------------------------------------------------------------------------------- 1 | /** 2 | * File: FClass.h 3 | * Date: November 2011 4 | * Author: Dorian Galvez-Lopez 5 | * Description: generic FClass to instantiate templated classes 6 | * License: see the LICENSE.txt file 7 | * 8 | */ 9 | 10 | #ifndef __D_T_FCLASS__ 11 | #define __D_T_FCLASS__ 12 | 13 | #include 14 | #include 15 | #include 16 | 17 | namespace DBoW2 { 18 | 19 | /// Generic class to encapsulate functions to manage descriptors. 20 | /** 21 | * This class must be inherited. Derived classes can be used as the 22 | * parameter F when creating Templated structures 23 | * (TemplatedVocabulary, TemplatedDatabase, ...) 24 | */ 25 | class FClass 26 | { 27 | class TDescriptor; 28 | typedef const TDescriptor *pDescriptor; 29 | 30 | /** 31 | * Calculates the mean value of a set of descriptors 32 | * @param descriptors 33 | * @param mean mean descriptor 34 | */ 35 | virtual void meanValue(const std::vector &descriptors, 36 | TDescriptor &mean) = 0; 37 | 38 | /** 39 | * Calculates the distance between two descriptors 40 | * @param a 41 | * @param b 42 | * @return distance 43 | */ 44 | static double distance(const TDescriptor &a, const TDescriptor &b); 45 | 46 | /** 47 | * Returns a string version of the descriptor 48 | * @param a descriptor 49 | * @return string version 50 | */ 51 | static std::string toString(const TDescriptor &a); 52 | 53 | /** 54 | * Returns a descriptor from a string 55 | * @param a descriptor 56 | * @param s string version 57 | */ 58 | static void fromString(TDescriptor &a, const std::string &s); 59 | 60 | /** 61 | * Returns a mat with the descriptors in float format 62 | * @param descriptors 63 | * @param mat (out) NxL 32F matrix 64 | */ 65 | static void toMat32F(const std::vector &descriptors, 66 | cv::Mat &mat); 67 | }; 68 | 69 | } // namespace DBoW2 70 | 71 | #endif 72 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/DBoW2/FORB.h: -------------------------------------------------------------------------------- 1 | /** 2 | * File: FORB.h 3 | * Date: June 2012 4 | * Author: Dorian Galvez-Lopez 5 | * Description: functions for ORB descriptors 6 | * License: see the LICENSE.txt file 7 | * 8 | */ 9 | 10 | #ifndef __D_T_F_ORB__ 11 | #define __D_T_F_ORB__ 12 | 13 | #include 14 | #include 15 | #include 16 | 17 | #include "FClass.h" 18 | 19 | namespace DBoW2 { 20 | 21 | /// Functions to manipulate ORB descriptors 22 | class FORB: protected FClass 23 | { 24 | public: 25 | 26 | /// Descriptor type 27 | typedef cv::Mat TDescriptor; // CV_8U 28 | /// Pointer to a single descriptor 29 | typedef const TDescriptor *pDescriptor; 30 | /// Descriptor length (in bytes) 31 | static const int L; 32 | 33 | /** 34 | * Calculates the mean value of a set of descriptors 35 | * @param descriptors 36 | * @param mean mean descriptor 37 | */ 38 | static void meanValue(const std::vector &descriptors, 39 | TDescriptor &mean); 40 | 41 | /** 42 | * Calculates the distance between two descriptors 43 | * @param a 44 | * @param b 45 | * @return distance 46 | */ 47 | static int distance(const TDescriptor &a, const TDescriptor &b); 48 | 49 | /** 50 | * Returns a string version of the descriptor 51 | * @param a descriptor 52 | * @return string version 53 | */ 54 | static std::string toString(const TDescriptor &a); 55 | 56 | /** 57 | * Returns a descriptor from a string 58 | * @param a descriptor 59 | * @param s string version 60 | */ 61 | static void fromString(TDescriptor &a, const std::string &s); 62 | 63 | /** 64 | * Returns a mat with the descriptors in float format 65 | * @param descriptors 66 | * @param mat (out) NxL 32F matrix 67 | */ 68 | static void toMat32F(const std::vector &descriptors, 69 | cv::Mat &mat); 70 | 71 | static void toMat8U(const std::vector &descriptors, 72 | cv::Mat &mat); 73 | 74 | }; 75 | 76 | } // namespace DBoW2 77 | 78 | #endif 79 | 80 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/DBoW2/FeatureVector.h: -------------------------------------------------------------------------------- 1 | /** 2 | * File: FeatureVector.h 3 | * Date: November 2011 4 | * Author: Dorian Galvez-Lopez 5 | * Description: feature vector 6 | * License: see the LICENSE.txt file 7 | * 8 | */ 9 | 10 | #ifndef __D_T_FEATURE_VECTOR__ 11 | #define __D_T_FEATURE_VECTOR__ 12 | 13 | #include "BowVector.h" 14 | #include 15 | #include 16 | #include 17 | 18 | namespace DBoW2 { 19 | 20 | /// Vector of nodes with indexes of local features 21 | class FeatureVector: 22 | public std::map > 23 | { 24 | public: 25 | 26 | /** 27 | * Constructor 28 | */ 29 | FeatureVector(void); 30 | 31 | /** 32 | * Destructor 33 | */ 34 | ~FeatureVector(void); 35 | 36 | /** 37 | * Adds a feature to an existing node, or adds a new node with an initial 38 | * feature 39 | * @param id node id to add or to modify 40 | * @param i_feature index of feature to add to the given node 41 | */ 42 | void addFeature(NodeId id, unsigned int i_feature); 43 | 44 | /** 45 | * Sends a string versions of the feature vector through the stream 46 | * @param out stream 47 | * @param v feature vector 48 | */ 49 | friend std::ostream& operator<<(std::ostream &out, const FeatureVector &v); 50 | 51 | }; 52 | 53 | } // namespace DBoW2 54 | 55 | #endif 56 | 57 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/README.txt: -------------------------------------------------------------------------------- 1 | You should have received this DBoW2 version along with ORB-SLAM2 (https://github.com/raulmur/ORB_SLAM2). 2 | See the original DBoW2 library at: https://github.com/dorian3d/DBoW2 3 | All files included in this version are BSD, see LICENSE.txt 4 | 5 | We also use Random.h, Random.cpp, Timestamp.pp and Timestamp.h from DLib/DUtils. 6 | See the original DLib library at: https://github.com/dorian3d/DLib 7 | All files included in this version are BSD, see LICENSE.txt 8 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/usr/bin/cc") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "GNU") 4 | set(CMAKE_C_COMPILER_VERSION "4.8.4") 5 | set(CMAKE_C_PLATFORM_ID "Linux") 6 | 7 | set(CMAKE_AR "/usr/bin/ar") 8 | set(CMAKE_RANLIB "/usr/bin/ranlib") 9 | set(CMAKE_LINKER "/usr/bin/ld") 10 | set(CMAKE_COMPILER_IS_GNUCC 1) 11 | set(CMAKE_C_COMPILER_LOADED 1) 12 | set(CMAKE_C_COMPILER_WORKS TRUE) 13 | set(CMAKE_C_ABI_COMPILED TRUE) 14 | set(CMAKE_COMPILER_IS_MINGW ) 15 | set(CMAKE_COMPILER_IS_CYGWIN ) 16 | if(CMAKE_COMPILER_IS_CYGWIN) 17 | set(CYGWIN 1) 18 | set(UNIX 1) 19 | endif() 20 | 21 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 22 | 23 | if(CMAKE_COMPILER_IS_MINGW) 24 | set(MINGW 1) 25 | endif() 26 | set(CMAKE_C_COMPILER_ID_RUN 1) 27 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c) 28 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 29 | set(CMAKE_C_LINKER_PREFERENCE 10) 30 | 31 | # Save compiler ABI information. 32 | set(CMAKE_C_SIZEOF_DATA_PTR "8") 33 | set(CMAKE_C_COMPILER_ABI "ELF") 34 | set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 35 | 36 | if(CMAKE_C_SIZEOF_DATA_PTR) 37 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 38 | endif() 39 | 40 | if(CMAKE_C_COMPILER_ABI) 41 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 42 | endif() 43 | 44 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 45 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 46 | endif() 47 | 48 | 49 | 50 | 51 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") 52 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/4.8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 53 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_CXX_COMPILER "/usr/bin/c++") 2 | set(CMAKE_CXX_COMPILER_ARG1 "") 3 | set(CMAKE_CXX_COMPILER_ID "GNU") 4 | set(CMAKE_CXX_COMPILER_VERSION "4.8.4") 5 | set(CMAKE_CXX_PLATFORM_ID "Linux") 6 | 7 | set(CMAKE_AR "/usr/bin/ar") 8 | set(CMAKE_RANLIB "/usr/bin/ranlib") 9 | set(CMAKE_LINKER "/usr/bin/ld") 10 | set(CMAKE_COMPILER_IS_GNUCXX 1) 11 | set(CMAKE_CXX_COMPILER_LOADED 1) 12 | set(CMAKE_CXX_COMPILER_WORKS TRUE) 13 | set(CMAKE_CXX_ABI_COMPILED TRUE) 14 | set(CMAKE_COMPILER_IS_MINGW ) 15 | set(CMAKE_COMPILER_IS_CYGWIN ) 16 | if(CMAKE_COMPILER_IS_CYGWIN) 17 | set(CYGWIN 1) 18 | set(UNIX 1) 19 | endif() 20 | 21 | set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") 22 | 23 | if(CMAKE_COMPILER_IS_MINGW) 24 | set(MINGW 1) 25 | endif() 26 | set(CMAKE_CXX_COMPILER_ID_RUN 1) 27 | set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) 28 | set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) 29 | set(CMAKE_CXX_LINKER_PREFERENCE 30) 30 | set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) 31 | 32 | # Save compiler ABI information. 33 | set(CMAKE_CXX_SIZEOF_DATA_PTR "8") 34 | set(CMAKE_CXX_COMPILER_ABI "ELF") 35 | set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 36 | 37 | if(CMAKE_CXX_SIZEOF_DATA_PTR) 38 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") 39 | endif() 40 | 41 | if(CMAKE_CXX_COMPILER_ABI) 42 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") 43 | endif() 44 | 45 | if(CMAKE_CXX_LIBRARY_ARCHITECTURE) 46 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 47 | endif() 48 | 49 | 50 | 51 | 52 | set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c") 53 | set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/4.8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 54 | set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/2.8.12.2/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-3.19.0-68-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "3.19.0-68-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-3.19.0-68-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "3.19.0-68-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 2.8 3 | 4 | # Relative path conversion top directories. 5 | SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2") 6 | SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/build") 7 | 8 | # Force unix paths in dependencies. 9 | SET(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DBoW2/BowVector.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DBoW2/BowVector.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DBoW2/FORB.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DBoW2/FORB.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DBoW2/FeatureVector.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DBoW2/FeatureVector.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DBoW2/ScoringObject.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DBoW2/ScoringObject.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DUtils/Random.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DUtils/Random.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DUtils/Timestamp.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DUtils/Timestamp.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | SET(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | SET(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/BowVector.cpp" "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DBoW2/BowVector.cpp.o" 8 | "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/FORB.cpp" "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DBoW2/FORB.cpp.o" 9 | "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/FeatureVector.cpp" "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DBoW2/FeatureVector.cpp.o" 10 | "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/ScoringObject.cpp" "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DBoW2/ScoringObject.cpp.o" 11 | "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DUtils/Random.cpp" "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DUtils/Random.cpp.o" 12 | "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DUtils/Timestamp.cpp" "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/DUtils/Timestamp.cpp.o" 13 | ) 14 | SET(CMAKE_CXX_COMPILER_ID "GNU") 15 | 16 | # Targets to which this target links. 17 | SET(CMAKE_TARGET_LINKED_INFO_FILES 18 | ) 19 | 20 | # The include file search paths: 21 | SET(CMAKE_C_TARGET_INCLUDE_PATH 22 | "/usr/local/include/opencv" 23 | "/usr/local/include" 24 | ) 25 | SET(CMAKE_CXX_TARGET_INCLUDE_PATH ${CMAKE_C_TARGET_INCLUDE_PATH}) 26 | SET(CMAKE_Fortran_TARGET_INCLUDE_PATH ${CMAKE_C_TARGET_INCLUDE_PATH}) 27 | SET(CMAKE_ASM_TARGET_INCLUDE_PATH ${CMAKE_C_TARGET_INCLUDE_PATH}) 28 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | FILE(REMOVE_RECURSE 2 | "CMakeFiles/DBoW2.dir/DBoW2/BowVector.cpp.o" 3 | "CMakeFiles/DBoW2.dir/DBoW2/FORB.cpp.o" 4 | "CMakeFiles/DBoW2.dir/DBoW2/FeatureVector.cpp.o" 5 | "CMakeFiles/DBoW2.dir/DBoW2/ScoringObject.cpp.o" 6 | "CMakeFiles/DBoW2.dir/DUtils/Random.cpp.o" 7 | "CMakeFiles/DBoW2.dir/DUtils/Timestamp.cpp.o" 8 | "../lib/libDBoW2.pdb" 9 | "../lib/libDBoW2.so" 10 | ) 11 | 12 | # Per-language clean rules from dependency scanning. 13 | FOREACH(lang CXX) 14 | INCLUDE(CMakeFiles/DBoW2.dir/cmake_clean_${lang}.cmake OPTIONAL) 15 | ENDFOREACH(lang) 16 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/depend.internal: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 2.8 3 | 4 | CMakeFiles/DBoW2.dir/DBoW2/BowVector.cpp.o 5 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/BowVector.cpp 6 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/BowVector.h 7 | CMakeFiles/DBoW2.dir/DBoW2/FORB.cpp.o 8 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/FClass.h 9 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/FORB.cpp 10 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/FORB.h 11 | /usr/local/include/opencv2/core/core.hpp 12 | /usr/local/include/opencv2/core/mat.hpp 13 | /usr/local/include/opencv2/core/operations.hpp 14 | /usr/local/include/opencv2/core/types_c.h 15 | /usr/local/include/opencv2/core/version.hpp 16 | CMakeFiles/DBoW2.dir/DBoW2/FeatureVector.cpp.o 17 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/BowVector.h 18 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/FeatureVector.cpp 19 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/FeatureVector.h 20 | CMakeFiles/DBoW2.dir/DBoW2/ScoringObject.cpp.o 21 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/BowVector.h 22 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/FeatureVector.h 23 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/ScoringObject.cpp 24 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/ScoringObject.h 25 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/TemplatedVocabulary.h 26 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DUtils/Random.h 27 | /usr/local/include/opencv2/core/core.hpp 28 | /usr/local/include/opencv2/core/mat.hpp 29 | /usr/local/include/opencv2/core/operations.hpp 30 | /usr/local/include/opencv2/core/types_c.h 31 | /usr/local/include/opencv2/core/version.hpp 32 | CMakeFiles/DBoW2.dir/DUtils/Random.cpp.o 33 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DUtils/Random.cpp 34 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DUtils/Random.h 35 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DUtils/Timestamp.h 36 | CMakeFiles/DBoW2.dir/DUtils/Timestamp.cpp.o 37 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DUtils/Timestamp.cpp 38 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/DUtils/Timestamp.h 39 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 2.8 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -Wall -O3 -march=native -O3 -DNDEBUG -fPIC -I/usr/local/include/opencv -I/usr/local/include 6 | 7 | CXX_DEFINES = -DDBoW2_EXPORTS 8 | 9 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/link.txt: -------------------------------------------------------------------------------- 1 | /usr/bin/c++ -fPIC -Wall -O3 -march=native -O3 -DNDEBUG -shared -Wl,-soname,libDBoW2.so -o ../lib/libDBoW2.so CMakeFiles/DBoW2.dir/DBoW2/BowVector.cpp.o CMakeFiles/DBoW2.dir/DBoW2/FORB.cpp.o CMakeFiles/DBoW2.dir/DBoW2/FeatureVector.cpp.o CMakeFiles/DBoW2.dir/DBoW2/ScoringObject.cpp.o CMakeFiles/DBoW2.dir/DUtils/Random.cpp.o CMakeFiles/DBoW2.dir/DUtils/Timestamp.cpp.o /usr/local/lib/libopencv_videostab.so.2.4.11 /usr/local/lib/libopencv_video.so.2.4.11 /usr/local/lib/libopencv_ts.a /usr/local/lib/libopencv_superres.so.2.4.11 /usr/local/lib/libopencv_stitching.so.2.4.11 /usr/local/lib/libopencv_photo.so.2.4.11 /usr/local/lib/libopencv_ocl.so.2.4.11 /usr/local/lib/libopencv_objdetect.so.2.4.11 /usr/local/lib/libopencv_nonfree.so.2.4.11 /usr/local/lib/libopencv_ml.so.2.4.11 /usr/local/lib/libopencv_legacy.so.2.4.11 /usr/local/lib/libopencv_imgproc.so.2.4.11 /usr/local/lib/libopencv_highgui.so.2.4.11 /usr/local/lib/libopencv_gpu.so.2.4.11 /usr/local/lib/libopencv_flann.so.2.4.11 /usr/local/lib/libopencv_features2d.so.2.4.11 /usr/local/lib/libopencv_core.so.2.4.11 /usr/local/lib/libopencv_contrib.so.2.4.11 /usr/local/lib/libopencv_calib3d.so.2.4.11 -ldl -lm -lpthread -lrt /usr/local/lib/libopencv_nonfree.so.2.4.11 /usr/local/lib/libopencv_ocl.so.2.4.11 /usr/local/lib/libopencv_gpu.so.2.4.11 /usr/local/lib/libopencv_photo.so.2.4.11 /usr/local/lib/libopencv_objdetect.so.2.4.11 /usr/local/lib/libopencv_legacy.so.2.4.11 /usr/local/lib/libopencv_video.so.2.4.11 /usr/local/lib/libopencv_ml.so.2.4.11 /usr/local/lib/libopencv_calib3d.so.2.4.11 /usr/local/lib/libopencv_features2d.so.2.4.11 /usr/local/lib/libopencv_highgui.so.2.4.11 /usr/local/lib/libopencv_imgproc.so.2.4.11 /usr/local/lib/libopencv_flann.so.2.4.11 /usr/local/lib/libopencv_core.so.2.4.11 -Wl,-rpath,/usr/local/lib 2 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | CMAKE_PROGRESS_3 = 3 4 | CMAKE_PROGRESS_4 = 4 5 | CMAKE_PROGRESS_5 = 5 6 | CMAKE_PROGRESS_6 = 6 7 | 8 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/Makefile.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 2.8 3 | 4 | # The generator used is: 5 | SET(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") 6 | 7 | # The top level Makefile was generated from the following files: 8 | SET(CMAKE_MAKEFILE_DEPENDS 9 | "CMakeCache.txt" 10 | "../CMakeLists.txt" 11 | "CMakeFiles/2.8.12.2/CMakeCCompiler.cmake" 12 | "CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake" 13 | "CMakeFiles/2.8.12.2/CMakeSystem.cmake" 14 | "/usr/local/share/OpenCV/OpenCVConfig-version.cmake" 15 | "/usr/local/share/OpenCV/OpenCVConfig.cmake" 16 | "/usr/local/share/OpenCV/OpenCVModules-release.cmake" 17 | "/usr/local/share/OpenCV/OpenCVModules.cmake" 18 | "/usr/share/cmake-2.8/Modules/CMakeCInformation.cmake" 19 | "/usr/share/cmake-2.8/Modules/CMakeCXXInformation.cmake" 20 | "/usr/share/cmake-2.8/Modules/CMakeCommonLanguageInclude.cmake" 21 | "/usr/share/cmake-2.8/Modules/CMakeGenericSystem.cmake" 22 | "/usr/share/cmake-2.8/Modules/CMakeSystemSpecificInformation.cmake" 23 | "/usr/share/cmake-2.8/Modules/Compiler/GNU-C.cmake" 24 | "/usr/share/cmake-2.8/Modules/Compiler/GNU-CXX.cmake" 25 | "/usr/share/cmake-2.8/Modules/Compiler/GNU.cmake" 26 | "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU-C.cmake" 27 | "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU-CXX.cmake" 28 | "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU.cmake" 29 | "/usr/share/cmake-2.8/Modules/Platform/Linux.cmake" 30 | "/usr/share/cmake-2.8/Modules/Platform/UnixPaths.cmake" 31 | ) 32 | 33 | # The corresponding makefile is: 34 | SET(CMAKE_MAKEFILE_OUTPUTS 35 | "Makefile" 36 | "CMakeFiles/cmake.check_cache" 37 | ) 38 | 39 | # Byproducts of CMake generate step: 40 | SET(CMAKE_MAKEFILE_PRODUCTS 41 | "CMakeFiles/CMakeDirectoryInformation.cmake" 42 | ) 43 | 44 | # Dependency information for all targets: 45 | SET(CMAKE_DEPEND_INFO_FILES 46 | "CMakeFiles/DBoW2.dir/DependInfo.cmake" 47 | ) 48 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/lifu/ORB_SLAM2/Thirdparty/DBoW2/build/CMakeFiles/DBoW2.dir 2 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 6 2 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/lifu/ORB_SLAM2/Thirdparty/DBoW2 2 | 3 | # Set the install prefix 4 | IF(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | SET(CMAKE_INSTALL_PREFIX "/usr/local") 6 | ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) 7 | STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | IF(BUILD_TYPE) 12 | STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | ELSE(BUILD_TYPE) 15 | SET(CMAKE_INSTALL_CONFIG_NAME "Release") 16 | ENDIF(BUILD_TYPE) 17 | MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 19 | 20 | # Set the component getting installed. 21 | IF(NOT CMAKE_INSTALL_COMPONENT) 22 | IF(COMPONENT) 23 | MESSAGE(STATUS "Install component: \"${COMPONENT}\"") 24 | SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | ELSE(COMPONENT) 26 | SET(CMAKE_INSTALL_COMPONENT) 27 | ENDIF(COMPONENT) 28 | ENDIF(NOT CMAKE_INSTALL_COMPONENT) 29 | 30 | # Install shared libraries without execute permission? 31 | IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | SET(CMAKE_INSTALL_SO_NO_EXE "1") 33 | ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 34 | 35 | IF(CMAKE_INSTALL_COMPONENT) 36 | SET(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | ELSE(CMAKE_INSTALL_COMPONENT) 38 | SET(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | ENDIF(CMAKE_INSTALL_COMPONENT) 40 | 41 | FILE(WRITE "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/build/${CMAKE_INSTALL_MANIFEST}" "") 42 | FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES}) 43 | FILE(APPEND "/home/lifu/ORB_SLAM2/Thirdparty/DBoW2/build/${CMAKE_INSTALL_MANIFEST}" "${file}\n") 44 | ENDFOREACH(file) 45 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/DBoW2/lib/libDBoW2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/DBoW2/lib/libDBoW2.so -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | build 3 | abuild 4 | ibuild 5 | debug 6 | CMakeLists.txt.user 7 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: required 2 | dist: trusty 3 | 4 | before_install: 5 | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get -qq update ; fi 6 | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install libeigen3-dev libglew-dev libc++-dev; fi 7 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi 8 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install eigen glew ; fi 9 | 10 | language: cpp 11 | 12 | compiler: 13 | - gcc 14 | - clang 15 | 16 | os: 17 | - linux 18 | - osx 19 | 20 | env: 21 | - BUILD_TYPE=Release 22 | # - BUILD_TYPE=Debug 23 | 24 | script: 25 | - mkdir build 26 | - cd build 27 | - cmake -D CMAKE_BUILD_TYPE=$BUILD_TYPE .. 28 | - make -j 29 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/CreateMethodCallFile.cmake: -------------------------------------------------------------------------------- 1 | macro( CreateMethodCallFile filename namespace function symbols) 2 | file(WRITE ${filename} "// CMake generated file. Do Not Edit.\n\n#pragma once\n\nnamespace ${namespace} {\n\n") 3 | foreach( symbol ${symbols} ) 4 | file(APPEND ${filename} "void ${symbol}();\n") 5 | endforeach() 6 | file(APPEND ${filename} "\ninline bool ${function}()\n{\n") 7 | foreach( symbol ${symbols} ) 8 | file(APPEND ${filename} " ${symbol}();\n") 9 | endforeach() 10 | file(APPEND ${filename} " return true;\n}\n\n} // ${namespace}\n") 11 | endmacro() 12 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/EmbedBinaryFiles.cmake: -------------------------------------------------------------------------------- 1 | # Creates C resources file from files in given directory 2 | # Based on http://stackoverflow.com/a/27206982 3 | function(embed_binary_files file_glob output) 4 | # Collect input files 5 | file(GLOB bins ${file_glob}) 6 | # Stop when output file is newer than all binary files 7 | set(output_newer_than_bins 1) 8 | foreach(bin ${bins}) 9 | if(bin IS_NEWER_THAN output) 10 | set(output_newer_than_bins 0) 11 | break() 12 | endif() 13 | endforeach() 14 | if(output_newer_than_bins) 15 | return() 16 | endif() 17 | # Create empty output file 18 | file(WRITE ${output} "") 19 | # Iterate through input files 20 | foreach(bin ${bins}) 21 | # Get short filename 22 | string(REGEX MATCH "([^/]+)$" filename ${bin}) 23 | # Replace filename spaces & extension separator for C compatibility 24 | string(REGEX REPLACE "\\.| " "_" filename ${filename}) 25 | # Read hex data from file 26 | file(READ ${bin} filedata HEX) 27 | # Convert hex data for C compatibility 28 | string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," filedata ${filedata}) 29 | # Append data to output file 30 | file(APPEND ${output} "const unsigned char ${filename}[] = {${filedata}};\nconst unsigned ${filename}_size = sizeof(${filename});\n") 31 | endforeach() 32 | endfunction() 33 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/FindDC1394.cmake: -------------------------------------------------------------------------------- 1 | # Try to find the dc1394 v2 lib and include files 2 | # 3 | # DC1394_INCLUDE_DIR 4 | # DC1394_LIBRARIES 5 | # DC1394_FOUND 6 | 7 | FIND_PATH( DC1394_INCLUDE_DIR dc1394/control.h 8 | /usr/include 9 | /usr/local/include 10 | ) 11 | 12 | FIND_LIBRARY( DC1394_LIBRARY dc1394 13 | /usr/lib64 14 | /usr/lib 15 | /usr/local/lib 16 | ) 17 | 18 | IF(DC1394_INCLUDE_DIR AND DC1394_LIBRARY) 19 | SET( DC1394_FOUND TRUE ) 20 | SET( DC1394_LIBRARIES ${DC1394_LIBRARY} ) 21 | ENDIF(DC1394_INCLUDE_DIR AND DC1394_LIBRARY) 22 | 23 | IF(DC1394_FOUND) 24 | IF(NOT DC1394_FIND_QUIETLY) 25 | MESSAGE(STATUS "Found DC1394: ${DC1394_LIBRARY}") 26 | ENDIF(NOT DC1394_FIND_QUIETLY) 27 | ELSE(DC1394_FOUND) 28 | IF(DC1394_FIND_REQUIRED) 29 | MESSAGE(FATAL_ERROR "Could not find libdc1394") 30 | ENDIF(DC1394_FIND_REQUIRED) 31 | ENDIF(DC1394_FOUND) 32 | 33 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/FindDepthSense.cmake: -------------------------------------------------------------------------------- 1 | # Try to find the DepthSense SDK For SoftKinetic Cameras 2 | # 3 | # DepthSense_INCLUDE_DIRS 4 | # DepthSense_LIBRARIES 5 | # DepthSense_FOUND 6 | 7 | FIND_PATH( DepthSense_INCLUDE_DIR DepthSense.hxx 8 | PATHS 9 | "${PROGRAM_FILES}/SoftKinetic/DepthSenseSDK/include" 10 | "${PROGRAM_FILES}/Meta/DepthSenseSDK/include" 11 | /usr/include 12 | /usr/local/include 13 | /opt/local/include 14 | /opt/softkinetic/DepthSenseSDK/include 15 | ) 16 | 17 | FIND_LIBRARY( DepthSense_LIBRARY DepthSense 18 | PATHS 19 | "${PROGRAM_FILES}/SoftKinetic/DepthSenseSDK/lib" 20 | "${PROGRAM_FILES}/Meta/DepthSenseSDK/lib" 21 | /usr/lib64 22 | /usr/lib 23 | /usr/local/lib 24 | /opt/local/lib 25 | /opt/softkinetic/DepthSenseSDK/lib 26 | ) 27 | 28 | IF(DepthSense_INCLUDE_DIR AND DepthSense_LIBRARY) 29 | SET( DepthSense_FOUND TRUE ) 30 | SET( DepthSense_LIBRARIES ${DepthSense_LIBRARY} ) 31 | SET( DepthSense_INCLUDE_DIRS ${DepthSense_INCLUDE_DIR} ) 32 | ENDIF() 33 | 34 | IF(DepthSense_FOUND) 35 | IF(NOT DepthSense_FIND_QUIETLY) 36 | MESSAGE(STATUS "Found DepthSense: ${DepthSense_LIBRARY}") 37 | ENDIF() 38 | ELSE() 39 | IF(DepthSense_FIND_REQUIRED) 40 | MESSAGE(FATAL_ERROR "Could not find DepthSense") 41 | ENDIF() 42 | ENDIF() 43 | 44 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/FindFREEGLUT.cmake: -------------------------------------------------------------------------------- 1 | # Try to find the FREEGLUT library 2 | # 3 | # FREEGLUT_INCLUDE_DIR 4 | # FREEGLUT_LIBRARY 5 | # FREEGLUT_FOUND 6 | 7 | FIND_PATH( 8 | FREEGLUT_INCLUDE_DIR GL/freeglut.h 9 | ${CMAKE_INCLUDE_PATH} 10 | $ENV{include} 11 | ${OPENGL_INCLUDE_DIR} 12 | /usr/include 13 | /usr/local/include 14 | ) 15 | 16 | SET(STORE_CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK}) 17 | SET(CMAKE_FIND_FRAMEWORK NEVER) 18 | 19 | FIND_LIBRARY( 20 | FREEGLUT_LIBRARY 21 | NAMES freeglut_static freeglut glut 22 | PATH 23 | /opt/local/lib 24 | ${CMAKE_LIBRARY_PATH} 25 | $ENV{lib} 26 | /usr/lib 27 | /usr/local/lib 28 | ) 29 | 30 | SET(CMAKE_FIND_FRAMEWORK ${STORE_CMAKE_FIND_FRAMEWORK}) 31 | 32 | IF (FREEGLUT_INCLUDE_DIR AND FREEGLUT_LIBRARY) 33 | SET(FREEGLUT_FOUND TRUE) 34 | ENDIF (FREEGLUT_INCLUDE_DIR AND FREEGLUT_LIBRARY) 35 | 36 | IF (FREEGLUT_FOUND) 37 | IF (NOT FREEGLUT_FIND_QUIETLY) 38 | MESSAGE(STATUS "Found FREEGLUT: ${FREEGLUT_LIBRARY}") 39 | ENDIF (NOT FREEGLUT_FIND_QUIETLY) 40 | ELSE (FREEGLUT_FOUND) 41 | IF (FREEGLUT_FIND_REQUIRED) 42 | MESSAGE(FATAL_ERROR "Could not find FREEGLUT") 43 | ENDIF (FREEGLUT_FIND_REQUIRED) 44 | ENDIF (FREEGLUT_FOUND) 45 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/FindGLEW.cmake: -------------------------------------------------------------------------------- 1 | # 2 | # Try to find GLEW library and include path. 3 | # Once done this will define 4 | # 5 | # GLEW_FOUND 6 | # GLEW_INCLUDE_DIR 7 | # GLEW_LIBRARY 8 | # 9 | 10 | IF (WIN32) 11 | FIND_PATH( GLEW_INCLUDE_DIR GL/glew.h 12 | $ENV{PROGRAMFILES}/GLEW/include 13 | ${PROJECT_SOURCE_DIR}/src/nvgl/glew/include 14 | DOC "The directory where GL/glew.h resides") 15 | FIND_LIBRARY( GLEW_LIBRARY 16 | NAMES glew GLEW glew32 glew32s 17 | PATHS 18 | $ENV{PROGRAMFILES}/GLEW/lib 19 | ${PROJECT_SOURCE_DIR}/src/nvgl/glew/bin 20 | ${PROJECT_SOURCE_DIR}/src/nvgl/glew/lib 21 | DOC "The GLEW library") 22 | ELSE (WIN32) 23 | FIND_PATH( GLEW_INCLUDE_DIR GL/glew.h 24 | /usr/include 25 | /usr/local/include 26 | /sw/include 27 | /opt/local/include 28 | DOC "The directory where GL/glew.h resides") 29 | FIND_LIBRARY( GLEW_LIBRARY 30 | NAMES GLEW glew 31 | PATHS 32 | /usr/lib64 33 | /usr/lib 34 | /usr/local/lib64 35 | /usr/local/lib 36 | /sw/lib 37 | /opt/local/lib 38 | DOC "The GLEW library") 39 | ENDIF (WIN32) 40 | 41 | IF (GLEW_INCLUDE_DIR AND GLEW_LIBRARY) 42 | SET( GLEW_FOUND TRUE ) 43 | ENDIF (GLEW_INCLUDE_DIR AND GLEW_LIBRARY) 44 | 45 | IF (GLEW_FOUND) 46 | IF (NOT GLEW_FIND_QUIETLY) 47 | MESSAGE(STATUS "Found GLEW: ${GLEW_LIBRARY}") 48 | ENDIF (NOT GLEW_FIND_QUIETLY) 49 | ELSE (GLEW_FOUND) 50 | IF (GLEW_FIND_REQUIRED) 51 | MESSAGE(FATAL_ERROR "Could not find GLEW") 52 | ENDIF (GLEW_FIND_REQUIRED) 53 | ENDIF (GLEW_FOUND) 54 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/FindGLUES.cmake: -------------------------------------------------------------------------------- 1 | # Try to find the GLUES lib and include files 2 | # 3 | # GLUES_INCLUDE_DIR 4 | # GLUES_LIBRARIES 5 | # GLUES_FOUND 6 | 7 | FIND_PATH( GLUES_INCLUDE_DIR glues/glues.h 8 | /usr/include 9 | /usr/local/include 10 | /opt/include 11 | /opt/local/include 12 | ${CMAKE_INSTALL_PREFIX}/include 13 | ) 14 | 15 | FIND_LIBRARY( GLUES_LIBRARY glues 16 | /usr/lib64 17 | /usr/lib 18 | /usr/local/lib 19 | /opt/local/lib 20 | /opt/local/lib64 21 | ${CMAKE_INSTALL_PREFIX}/lib 22 | ) 23 | 24 | IF(GLUES_INCLUDE_DIR AND GLUES_LIBRARY) 25 | SET( GLUES_FOUND TRUE ) 26 | SET( GLUES_LIBRARIES ${GLUES_LIBRARY} ) 27 | ENDIF(GLUES_INCLUDE_DIR AND GLUES_LIBRARY) 28 | 29 | IF(GLUES_FOUND) 30 | IF(NOT GLUES_FIND_QUIETLY) 31 | MESSAGE(STATUS "Found GLUES: ${GLUES_LIBRARY}") 32 | ENDIF(NOT GLUES_FIND_QUIETLY) 33 | ELSE(GLUES_FOUND) 34 | IF(GLUES_FIND_REQUIRED) 35 | MESSAGE(FATAL_ERROR "Could not find GLUES") 36 | ENDIF(GLUES_FIND_REQUIRED) 37 | ENDIF(GLUES_FOUND) 38 | 39 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/FindLibRealSense.cmake: -------------------------------------------------------------------------------- 1 | # -*- mode: cmake; -*- 2 | ############################################################################### 3 | # Find librealsense https://github.com/IntelRealSense/librealsense 4 | # 5 | # This sets the following variables: 6 | # LIBREALSENSE_FOUND - True if OPENNI was found. 7 | # LIBREALSENSE_INCLUDE_DIRS - Directories containing the OPENNI include files. 8 | # LIBREALSENSE_LIBRARIES - Libraries needed to use OPENNI. 9 | # LIBREALSENSE_DEFINITIONS - Compiler flags for OPENNI. 10 | # 11 | # File forked from augmented_dev, project of alantrrs 12 | # (https://github.com/alantrrs/augmented_dev). 13 | 14 | find_package(PkgConfig) 15 | if(${CMAKE_VERSION} VERSION_LESS 2.8.2) 16 | endif() 17 | 18 | #add a hint so that it can find it without the pkg-config 19 | find_path(LIBREALSENSE_INCLUDE_DIR rs.h 20 | HINTS /usr/include/ /usr/local/include 21 | PATH_SUFFIXES librealsense) 22 | #add a hint so that it can find it without the pkg-config 23 | find_library(LIBREALSENSE_LIBRARY 24 | NAMES librealsense.so 25 | HINTS /usr/lib /usr/local/lib ) 26 | 27 | set(LIBREALSENSE_INCLUDE_DIRS ${LIBREALSENSE_INCLUDE_DIR}) 28 | set(LIBREALSENSE_LIBRARIES ${LIBREALSENSE_LIBRARY}) 29 | 30 | include(FindPackageHandleStandardArgs) 31 | find_package_handle_standard_args(LibRealSense DEFAULT_MSG 32 | LIBREALSENSE_LIBRARY LIBREALSENSE_INCLUDE_DIR) 33 | 34 | mark_as_advanced(LIBREALSENSE_LIBRARY LIBREALSENSE_INCLUDE_DIR) 35 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/FindOpenEXR.cmake: -------------------------------------------------------------------------------- 1 | # Try to find the OpenEXR v2 lib and include files 2 | # 3 | # OpenEXR_INCLUDE_DIR 4 | # OpenEXR_LIBRARIES 5 | # OpenEXR_FOUND 6 | 7 | FIND_PATH( OpenEXR_INCLUDE_DIR ImfHeader.h 8 | /usr/include 9 | /usr/local/include 10 | PATH_SUFFIXES OpenEXR 11 | ) 12 | 13 | FIND_LIBRARY( OpenEXR_LIBRARY IlmImf 14 | /usr/lib64 15 | /usr/lib 16 | /usr/local/lib 17 | ) 18 | 19 | IF(OpenEXR_INCLUDE_DIR AND OpenEXR_LIBRARY) 20 | SET( OpenEXR_FOUND TRUE ) 21 | SET( OpenEXR_LIBRARIES ${OpenEXR_LIBRARY} ) 22 | ENDIF() 23 | 24 | IF(OpenEXR_FOUND) 25 | IF(NOT OpenEXR_FIND_QUIETLY) 26 | MESSAGE(STATUS "Found OpenEXR: ${OpenEXR_LIBRARY}") 27 | ENDIF(NOT OpenEXR_FIND_QUIETLY) 28 | ELSE(OpenEXR_FOUND) 29 | IF(OpenEXR_FIND_REQUIRED) 30 | MESSAGE(FATAL_ERROR "Could not find libOpenEXR") 31 | ENDIF(OpenEXR_FIND_REQUIRED) 32 | ENDIF(OpenEXR_FOUND) 33 | 34 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/FindOpenNI.cmake: -------------------------------------------------------------------------------- 1 | # -*- mode: cmake; -*- 2 | ############################################################################### 3 | # Find OpenNI 4 | # 5 | # This sets the following variables: 6 | # OPENNI_FOUND - True if OPENNI was found. 7 | # OPENNI_INCLUDE_DIRS - Directories containing the OPENNI include files. 8 | # OPENNI_LIBRARIES - Libraries needed to use OPENNI. 9 | # OPENNI_DEFINITIONS - Compiler flags for OPENNI. 10 | # 11 | # File forked from augmented_dev, project of alantrrs 12 | # (https://github.com/alantrrs/augmented_dev). 13 | 14 | find_package(PkgConfig) 15 | if(${CMAKE_VERSION} VERSION_LESS 2.8.2) 16 | pkg_check_modules(PC_OPENNI openni-dev) 17 | else() 18 | pkg_check_modules(PC_OPENNI QUIET openni-dev) 19 | endif() 20 | 21 | set(OPENNI_DEFINITIONS ${PC_OPENNI_CFLAGS_OTHER}) 22 | 23 | #using the 64bit version of OpenNi if generating for 64bit 24 | if(CMAKE_SIZEOF_VOID_P EQUAL 8) 25 | set(PROGRAMFILES_ "$ENV{PROGRAMW6432}") 26 | set(OPENNI_SUFFIX "64") 27 | else(CMAKE_SIZEOF_VOID_P EQUAL 8) 28 | set(PROGRAMFILES_ "$ENV{PROGRAMFILES}") 29 | set(OPENNI_SUFFIX "") 30 | endif(CMAKE_SIZEOF_VOID_P EQUAL 8) 31 | 32 | #add a hint so that it can find it without the pkg-config 33 | find_path(OPENNI_INCLUDE_DIR XnStatus.h 34 | HINTS ${PC_OPENNI_INCLUDEDIR} ${PC_OPENNI_INCLUDE_DIRS} /usr/include/ni /usr/include/openni 35 | "${PROGRAMFILES_}/OpenNI/Include" 36 | PATH_SUFFIXES openni) 37 | #add a hint so that it can find it without the pkg-config 38 | find_library(OPENNI_LIBRARY 39 | NAMES OpenNI64 OpenNI 40 | HINTS ${PC_OPENNI_LIBDIR} ${PC_OPENNI_LIBRARY_DIRS} /usr/lib "${PROGRAMFILES_}/OpenNI/Lib${OPENNI_SUFFIX}") 41 | 42 | set(OPENNI_INCLUDE_DIRS ${OPENNI_INCLUDE_DIR}) 43 | set(OPENNI_LIBRARIES ${OPENNI_LIBRARY}) 44 | 45 | include(FindPackageHandleStandardArgs) 46 | find_package_handle_standard_args(OpenNI DEFAULT_MSG 47 | OPENNI_LIBRARY OPENNI_INCLUDE_DIR) 48 | 49 | mark_as_advanced(OPENNI_LIBRARY OPENNI_INCLUDE_DIR) 50 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/FindOpenNI2.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Find OpenNI2 3 | # 4 | # This sets the following variables: 5 | # OPENNI2_FOUND - True if OPENNI was found. 6 | # OPENNI2_INCLUDE_DIRS - Directories containing the OPENNI include files. 7 | # OPENNI2_LIBRARIES - Libraries needed to use OPENNI. 8 | 9 | find_package(PkgConfig) 10 | if(${CMAKE_VERSION} VERSION_LESS 2.8.2) 11 | pkg_check_modules(PC_OPENNI openni2-dev) 12 | else() 13 | pkg_check_modules(PC_OPENNI QUIET openni2-dev) 14 | endif() 15 | 16 | set(OPENNI2_DEFINITIONS ${PC_OPENNI_CFLAGS_OTHER}) 17 | 18 | #add a hint so that it can find it without the pkg-config 19 | find_path(OPENNI2_INCLUDE_DIR OpenNI.h 20 | HINTS 21 | ${PC_OPENNI_INCLUDEDIR} 22 | ${PC_OPENNI_INCLUDE_DIRS} 23 | PATHS 24 | "${PROGRAM_FILES}/OpenNI2/Include" 25 | "${CMAKE_SOURCE_DIR}/../OpenNI2/Include" 26 | /usr/include 27 | /user/include 28 | PATH_SUFFIXES openni2 ni2 29 | ) 30 | 31 | if(${CMAKE_CL_64}) 32 | set(OPENNI_PATH_SUFFIXES lib64 lib) 33 | else() 34 | set(OPENNI_PATH_SUFFIXES lib) 35 | endif() 36 | 37 | #add a hint so that it can find it without the pkg-config 38 | find_library(OPENNI2_LIBRARY 39 | NAMES OpenNI2 40 | HINTS 41 | ${PC_OPENNI_LIBDIR} 42 | ${PC_OPENNI_LIBRARY_DIRS} 43 | PATHS 44 | "${PROGRAM_FILES}/OpenNI2/Redist" 45 | "${PROGRAM_FILES}/OpenNI2" 46 | "${CMAKE_SOURCE_DIR}/../OpenNI2/Bin/x64-Release" 47 | /usr/lib 48 | /user/lib 49 | PATH_SUFFIXES ${OPENNI_PATH_SUFFIXES} 50 | ) 51 | 52 | set(OPENNI2_INCLUDE_DIRS ${OPENNI2_INCLUDE_DIR}) 53 | set(OPENNI2_LIBRARIES ${OPENNI2_LIBRARY}) 54 | 55 | include(FindPackageHandleStandardArgs) 56 | find_package_handle_standard_args(OpenNI2 DEFAULT_MSG 57 | OPENNI2_LIBRARY OPENNI2_INCLUDE_DIR) 58 | 59 | mark_as_advanced(OPENNI2_LIBRARY OPENNI2_INCLUDE_DIR) 60 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/FindROBOTVISION.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find librobotvision 2 | # 3 | # ROBOTVISION_FOUND - system has librobotvision 4 | # ROBOTVISION_INCLUDE_DIR - the librobotvision include directories 5 | # ROBOTVISION_LIBRARY - link these to use librobotvision 6 | 7 | FIND_PATH( 8 | ROBOTVISION_INCLUDE_DIR 9 | NAMES robotvision/bundle_adjuster.h 10 | PATHS ${CMAKE_SOURCE_DIR}/.. /usr/include/robotvision /usr/local/include/robotvision 11 | ) 12 | 13 | FIND_LIBRARY( 14 | ROBOTVISION_LIBRARY 15 | NAMES robotvision 16 | PATHS ${CMAKE_SOURCE_DIR}/../robotvision/release /usr/lib /usr/local/lib 17 | ) 18 | 19 | IF (ROBOTVISION_INCLUDE_DIR AND ROBOTVISION_LIBRARY) 20 | SET(ROBOTVISION_FOUND TRUE) 21 | ENDIF (ROBOTVISION_INCLUDE_DIR AND ROBOTVISION_LIBRARY) 22 | 23 | IF (ROBOTVISION_FOUND) 24 | IF (NOT ROBOTVISION_FIND_QUIETLY) 25 | MESSAGE(STATUS "Found ROBOTVISION: ${ROBOTVISION_LIBRARY}") 26 | ENDIF (NOT ROBOTVISION_FIND_QUIETLY) 27 | ELSE (ROBOTVISION_FOUND) 28 | IF (ROBOTVISION_FIND_REQUIRED) 29 | MESSAGE(FATAL_ERROR "Could not find ROBOTVISION") 30 | ENDIF (ROBOTVISION_FIND_REQUIRED) 31 | ENDIF (ROBOTVISION_FOUND) 32 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/FindTeliCam.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Find Toshiba TeliCam 3 | # 4 | # This sets the following variables: 5 | # TeliCam_FOUND - True if TeliCam was found. 6 | # TeliCam_INCLUDE_DIRS - Directories containing the TeliCam include files. 7 | # TeliCam_LIBRARIES - Libraries needed to use TeliCam. 8 | 9 | find_path( 10 | TeliCam_INCLUDE_DIR TeliCamApi.h 11 | PATHS 12 | "${PROGRAM_FILES}/Toshiba Teli/TeliCamSDK/TeliCamApi/Include" 13 | "${CMAKE_SOURCE_DIR}/../TeliCamSDK/TeliCamApi/Include" 14 | /usr/include 15 | /user/include 16 | /opt/TeliCamSDK/include 17 | PATH_SUFFIXES TeliCam 18 | ) 19 | 20 | if(${CMAKE_CL_64}) 21 | set(TELI_PATH_SUFFIXES x64) 22 | else() 23 | set(TELI_PATH_SUFFIXES x86) 24 | endif() 25 | 26 | find_library( 27 | TeliCamApi_LIBRARY 28 | NAMES TeliCamApi TeliCamApi64 TeliCamApi_64 29 | PATHS 30 | "${PROGRAM_FILES}/Toshiba Teli/TeliCamSDK/TeliCamApi/lib" 31 | "${CMAKE_SOURCE_DIR}/../TeliCamSDK/TeliCamApi/lib" 32 | /usr/lib 33 | /user/lib 34 | /opt/TeliCamSDK/lib 35 | PATH_SUFFIXES ${TELI_PATH_SUFFIXES} 36 | ) 37 | 38 | find_library( 39 | TeliCamUtl_LIBRARY 40 | NAMES TeliCamUtl TeliCamUtl64 TeliCamUtl_64 41 | PATHS 42 | "${PROGRAM_FILES}/Toshiba Teli/TeliCamSDK/TeliCamApi/lib" 43 | "${CMAKE_SOURCE_DIR}/../TeliCamSDK/TeliCamApi/lib" 44 | /usr/lib 45 | /user/lib 46 | /opt/TeliCamSDK/lib 47 | PATH_SUFFIXES ${TELI_PATH_SUFFIXES} 48 | ) 49 | 50 | set(TeliCam_INCLUDE_DIRS ${TeliCam_INCLUDE_DIR}) 51 | set(TeliCam_LIBRARY "${TeliCamApi_LIBRARY}" "${TeliCamUtl_LIBRARY}") 52 | set(TeliCam_LIBRARIES ${TeliCam_LIBRARY}) 53 | 54 | include(FindPackageHandleStandardArgs) 55 | find_package_handle_standard_args( TeliCam 56 | FOUND_VAR TeliCam_FOUND 57 | REQUIRED_VARS TeliCamApi_LIBRARY TeliCamUtl_LIBRARY TeliCam_INCLUDE_DIR 58 | ) 59 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/FindTooN.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find libTooN 2 | # 3 | # TooN_FOUND - system has libTooN 4 | # TooN_INCLUDE_DIR - the libTooN include directories 5 | 6 | FIND_PATH( 7 | TooN_INCLUDE_DIR 8 | NAMES TooN/TooN.h 9 | PATHS 10 | ${CMAKE_SOURCE_DIR} 11 | ${CMAKE_SOURCE_DIR}/.. 12 | /usr/include 13 | /usr/local/include 14 | ) 15 | 16 | IF(TooN_INCLUDE_DIR) 17 | SET(TooN_FOUND TRUE) 18 | ENDIF() 19 | 20 | IF(TooN_FOUND) 21 | IF(NOT TooN_FIND_QUIETLY) 22 | MESSAGE(STATUS "Found TooN: ${TooN_INCLUDE_DIR}") 23 | ENDIF() 24 | ELSE() 25 | IF(TooN_FIND_REQUIRED) 26 | MESSAGE(FATAL_ERROR "Could not find TooN") 27 | ENDIF() 28 | ENDIF() 29 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/FindXrandr.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find Xrandr 2 | # 3 | # Xrandr_FOUND - system has libXrandr 4 | # Xrandr_INCLUDE_DIRS - the libXrandr include directories 5 | # Xrandr_LIBRARIES - link these to use libXrandr 6 | 7 | FIND_PATH( 8 | Xrandr_INCLUDE_DIRS 9 | NAMES X11/extensions/Xrandr.h 10 | PATH_SUFFIXES X11/extensions 11 | DOC "The Xrandr include directory" 12 | ) 13 | 14 | FIND_LIBRARY( 15 | Xrandr_LIBRARIES 16 | NAMES Xrandr 17 | DOC "The Xrandr library" 18 | ) 19 | 20 | IF (Xrandr_INCLUDE_DIRS AND Xrandr_LIBRARIES) 21 | SET(Xrandr_FOUND TRUE) 22 | ENDIF (Xrandr_INCLUDE_DIRS AND Xrandr_LIBRARIES) 23 | 24 | IF (Xrandr_FOUND) 25 | IF (NOT Xrandr_FIND_QUIETLY) 26 | MESSAGE(STATUS "Found Xrandr: ${Xrandr_LIBRARIES}") 27 | ENDIF (NOT Xrandr_FIND_QUIETLY) 28 | ELSE (Xrandr_FOUND) 29 | IF (Xrandr_FIND_REQUIRED) 30 | MESSAGE(FATAL_ERROR "Could not find Xrandr") 31 | ENDIF (Xrandr_FIND_REQUIRED) 32 | ENDIF (Xrandr_FOUND) 33 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/Findlibusb1.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find libusb1 2 | # 3 | # libusb1_FOUND - system has libusb1 4 | # libusb1_INCLUDE_DIRS - the libusb1 include directories 5 | # libusb1_LIBRARIES - link these to use libusb1 6 | 7 | FIND_PATH( 8 | libusb1_INCLUDE_DIRS 9 | NAMES libusb-1.0/libusb.h 10 | PATHS 11 | c:/dev/sysroot32/usr/include 12 | ${CMAKE_SOURCE_DIR}/../libusb1/include 13 | /usr/include/ 14 | /usr/local/include 15 | /opt/local/include 16 | ) 17 | 18 | FIND_LIBRARY( 19 | libusb1_LIBRARIES 20 | NAMES libusb-1.0 21 | PATHS 22 | c:/dev/sysroot32/usr/lib 23 | ${CMAKE_SOURCE_DIR}/../libusb1/lib 24 | /usr/lib 25 | /usr/local/lib 26 | /opt/local/lib 27 | ) 28 | 29 | IF(libusb1_INCLUDE_DIRS AND libusb1_LIBRARIES) 30 | SET(libusb1_FOUND TRUE) 31 | ENDIF(libusb1_INCLUDE_DIRS AND libusb1_LIBRARIES) 32 | 33 | IF(libusb1_FOUND) 34 | IF(NOT libusb1_FIND_QUIETLY) 35 | MESSAGE(STATUS "Found libusb1: ${libusb1_LIBRARIES}") 36 | ENDIF(NOT libusb1_FIND_QUIETLY) 37 | ELSE(libusb1_FOUND) 38 | message(STATUS "libusb1 NOT found") 39 | IF(libusb1_FIND_REQUIRED) 40 | MESSAGE(FATAL_ERROR "Could not find libusb1") 41 | ENDIF(libusb1_FIND_REQUIRED) 42 | ENDIF(libusb1_FOUND) 43 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/Findpthread.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find pthread 2 | # 3 | # pthread_FOUND - system has pthread 4 | # pthread_INCLUDE_DIRS - the pthread include directories 5 | # pthread_LIBRARIES - link these to use pthread 6 | 7 | FIND_PATH( 8 | pthread_INCLUDE_DIRS 9 | NAMES pthread.h 10 | PATHS 11 | c:/dev/sysroot32/usr/include 12 | ${CMAKE_SOURCE_DIR}/../pthread/include 13 | /usr/include/ 14 | /usr/local/include 15 | /opt/local/include 16 | ) 17 | 18 | FIND_LIBRARY( 19 | pthread_LIBRARIES 20 | NAMES pthreadVSE2 pthread 21 | PATHS 22 | c:/dev/sysroot32/usr/lib 23 | ${CMAKE_SOURCE_DIR}/../pthread/lib 24 | /usr/lib 25 | /usr/local/lib 26 | /opt/local/lib 27 | ) 28 | 29 | IF(pthread_INCLUDE_DIRS AND pthread_LIBRARIES) 30 | SET(pthread_FOUND TRUE) 31 | ENDIF(pthread_INCLUDE_DIRS AND pthread_LIBRARIES) 32 | 33 | IF(pthread_FOUND) 34 | IF(NOT pthread_FIND_QUIETLY) 35 | MESSAGE(STATUS "Found pthread: ${pthread_LIBRARIES}") 36 | ENDIF(NOT pthread_FIND_QUIETLY) 37 | ELSE(pthread_FOUND) 38 | message(STATUS "pthread NOT found") 39 | IF(pthread_FIND_REQUIRED) 40 | MESSAGE(FATAL_ERROR "Could not find pthread") 41 | ENDIF(pthread_FIND_REQUIRED) 42 | ENDIF(pthread_FOUND) 43 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/Finduvc.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find uvc 2 | # 3 | # uvc_FOUND - system has libuvc 4 | # uvc_INCLUDE_DIRS - the libuvc include directories 5 | # uvc_LIBRARIES - link these to use libuvc 6 | 7 | FIND_PATH( 8 | uvc_INCLUDE_DIRS 9 | NAMES libuvc/libuvc.h 10 | PATHS 11 | ${CMAKE_SOURCE_DIR}/.. 12 | /usr/include/ 13 | /usr/local/include 14 | /opt/local/include 15 | ) 16 | 17 | FIND_LIBRARY( 18 | uvc_LIBRARIES 19 | NAMES uvc 20 | PATHS 21 | ${CMAKE_SOURCE_DIR}/../uvc/build 22 | /usr/lib 23 | /usr/local/lib 24 | /opt/local/lib 25 | ) 26 | 27 | IF (uvc_INCLUDE_DIRS AND uvc_LIBRARIES) 28 | SET(uvc_FOUND TRUE) 29 | ENDIF (uvc_INCLUDE_DIRS AND uvc_LIBRARIES) 30 | 31 | IF (uvc_FOUND) 32 | IF (NOT uvc_FIND_QUIETLY) 33 | MESSAGE(STATUS "Found uvc: ${uvc_LIBRARIES}") 34 | ENDIF (NOT uvc_FIND_QUIETLY) 35 | ELSE (uvc_FOUND) 36 | IF (uvc_FIND_REQUIRED) 37 | MESSAGE(FATAL_ERROR "Could not find uvc") 38 | ENDIF (uvc_FIND_REQUIRED) 39 | ENDIF (uvc_FOUND) 40 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/CMakeModules/SetPlatformVars.cmake: -------------------------------------------------------------------------------- 1 | ## Compiler configuration 2 | IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUCC) 3 | SET(_GCC_ 1) 4 | ENDIF() 5 | 6 | IF(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") 7 | SET(_CLANG_ 1) 8 | ENDIF() 9 | 10 | IF(MSVC) 11 | SET(_MSVC_ 1) 12 | ENDIF() 13 | 14 | ## Platform configuration 15 | 16 | IF(WIN32 OR WIN64) 17 | SET(_WIN_ 1) 18 | ENDIF() 19 | 20 | IF(UNIX) 21 | SET(_UNIX_ 1) 22 | ENDIF() 23 | 24 | IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 25 | SET(_OSX_ 1) 26 | ENDIF() 27 | 28 | IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 29 | SET(_LINUX_ 1) 30 | ENDIF() 31 | 32 | IF(ANDROID) 33 | SET(_ANDROID_ 1) 34 | ENDIF() 35 | 36 | IF(IOS) 37 | SET(_APPLE_IOS_ 1) 38 | ENDIF() 39 | 40 | 41 | 42 | ## Default search paths 43 | 44 | IF(_WIN_) 45 | IF(${CMAKE_CL_64}) 46 | LIST(APPEND CMAKE_INCLUDE_PATH "c:/dev/sysroot64/usr/include") 47 | LIST(APPEND CMAKE_LIBRARY_PATH "c:/dev/sysroot64/usr/lib") 48 | LIST(APPEND CMAKE_LIBRARY_PATH "c:/dev/sysroot64/usr/bin") 49 | set(PROGRAM_FILES "$ENV{PROGRAMW6432}" ) 50 | ELSE() 51 | LIST(APPEND CMAKE_INCLUDE_PATH "c:/dev/sysroot32/usr/include") 52 | LIST(APPEND CMAKE_LIBRARY_PATH "c:/dev/sysroot32/usr/lib") 53 | LIST(APPEND CMAKE_LIBRARY_PATH "c:/dev/sysroot32/usr/bin") 54 | set(PROGRAM_FILES "$ENV{PROGRAMFILES}" ) 55 | ENDIF() 56 | ENDIF() 57 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/LICENCE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Steven Lovegrove and Richard Newcombe 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/appveyor.yml: -------------------------------------------------------------------------------- 1 | os: Visual Studio 2015 2 | 3 | clone_folder: c:/projects/Pangolin 4 | 5 | platform: x64 6 | configuration: Release 7 | 8 | build: 9 | project: c:/projects/Pangolin/build/Pangolin.sln 10 | 11 | install: 12 | - ps: wget http://bitbucket.org/eigen/eigen/get/3.2.10.zip -outfile eigen3.zip 13 | - cmd: 7z x eigen3.zip -o"C:/projects" -y > nul 14 | 15 | before_build: 16 | - cd c:/projects/Pangolin 17 | - mkdir build 18 | - cd build 19 | - cmake -G "Visual Studio 14 2015 Win64" -D EIGEN3_INCLUDE_DIR=C:/projects/eigen-eigen-b9cd8366d4e8 .. 20 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/cmake_uninstall.cmake.in: -------------------------------------------------------------------------------- 1 | # ----------------------------------------------- 2 | # File that provides "make uninstall" target 3 | # We use the file 'install_manifest.txt' 4 | # ----------------------------------------------- 5 | IF(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") 6 | MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_BINARY_DIR@/install_manifest.txt\"") 7 | ENDIF(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") 8 | 9 | FILE(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files) 10 | STRING(REGEX REPLACE "\n" ";" files "${files}") 11 | FOREACH(file ${files}) 12 | MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") 13 | IF(EXISTS "$ENV{DESTDIR}${file}") 14 | EXEC_PROGRAM( 15 | "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" 16 | OUTPUT_VARIABLE rm_out 17 | RETURN_VALUE rm_retval 18 | ) 19 | IF(NOT "${rm_retval}" STREQUAL 0) 20 | MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") 21 | ENDIF(NOT "${rm_retval}" STREQUAL 0) 22 | ELSE(EXISTS "$ENV{DESTDIR}${file}") 23 | MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") 24 | ENDIF(EXISTS "$ENV{DESTDIR}${file}") 25 | ENDFOREACH(file) 26 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #find_package(CUDA QUIET) 2 | find_package(Oculus QUIET) 3 | 4 | # All examples depend on Pangolin GUI 5 | if(BUILD_PANGOLIN_GUI) 6 | add_subdirectory(HelloPangolin) 7 | add_subdirectory(SimpleMultiDisplay) 8 | add_subdirectory(SimpleDisplayImage) 9 | add_subdirectory(SimpleScene) 10 | 11 | if(NOT HAVE_GLES OR HAVE_GLES_2) 12 | add_subdirectory(SimplePlot) 13 | endif() 14 | 15 | ## These samples require Pangolin Var support 16 | if(BUILD_PANGOLIN_VARS) 17 | add_subdirectory(SimpleDisplay) 18 | 19 | ## Video Samples require Pangolin Video support 20 | if(BUILD_PANGOLIN_VIDEO) 21 | add_subdirectory(SimpleVideo) 22 | add_subdirectory(SimpleRecord) 23 | add_subdirectory(SimpleRepeatVideo) 24 | endif() 25 | 26 | # if(Oculus_FOUND) 27 | # add_subdirectory(SimpleOculus) 28 | # endif() 29 | 30 | # This sample fails on many platforms, so exclude it for now, 31 | # until we can create a better cmake test for support. 32 | # ## VBODisplay Sample requires CUDA 33 | # if( CUDA_FOUND ) 34 | # add_subdirectory(VBODisplay) 35 | # endif() 36 | endif() 37 | endif() 38 | 39 | add_subdirectory(SharedMemoryVideoWriter) 40 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/HelloPangolin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Find Pangolin (https://github.com/stevenlovegrove/Pangolin) 2 | find_package(Pangolin 0.4 REQUIRED) 3 | include_directories(${Pangolin_INCLUDE_DIRS}) 4 | 5 | add_executable(HelloPangolin main.cpp) 6 | target_link_libraries(HelloPangolin ${Pangolin_LIBRARIES}) 7 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/HelloPangolin/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main( int /*argc*/, char** /*argv*/ ) 4 | { 5 | pangolin::CreateWindowAndBind("Main",640,480); 6 | glEnable(GL_DEPTH_TEST); 7 | 8 | // Define Projection and initial ModelView matrix 9 | pangolin::OpenGlRenderState s_cam( 10 | pangolin::ProjectionMatrix(640,480,420,420,320,240,0.2,100), 11 | pangolin::ModelViewLookAt(-2,2,-2, 0,0,0, pangolin::AxisY) 12 | ); 13 | 14 | // Create Interactive View in window 15 | pangolin::Handler3D handler(s_cam); 16 | pangolin::View& d_cam = pangolin::CreateDisplay() 17 | .SetBounds(0.0, 1.0, 0.0, 1.0, -640.0f/480.0f) 18 | .SetHandler(&handler); 19 | 20 | while( !pangolin::ShouldQuit() ) 21 | { 22 | // Clear screen and activate view to render into 23 | glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 24 | d_cam.Activate(s_cam); 25 | 26 | // Render OpenGL Cube 27 | pangolin::glDrawColouredCube(); 28 | 29 | // Swap frames and Process Events 30 | pangolin::FinishFrame(); 31 | } 32 | 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SharedMemoryVideoWriter/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(UNIX) 2 | find_package(Pangolin 0.4 REQUIRED) 3 | include_directories(${Pangolin_INCLUDE_DIRS}) 4 | 5 | add_executable(SharedMemoryVideoWriter main.cpp) 6 | target_link_libraries(SharedMemoryVideoWriter ${Pangolin_LIBRARIES}) 7 | endif() 8 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SharedMemoryVideoWriter/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | #include 8 | #include 9 | 10 | // This sample acts as a soft camera. It writes a pattern of GRAY8 pixels to the 11 | // shared memory space. It can be seen in Pangolin's SimpleVideo sample using 12 | // the shmem:[size=640x480]//example video URI. 13 | 14 | using namespace pangolin; 15 | 16 | unsigned char generate_value(basetime t, basetime start) 17 | { 18 | int64_t us = TimeDiff_us(start, t); 19 | 20 | // 10s sinusoid 21 | double d = 10./(M_PI) * ((double)us/1000000); 22 | d = std::sin(d); 23 | d = d*128 + 128; 24 | return static_cast(d); 25 | } 26 | 27 | int main(/*int argc, char *argv[]*/) 28 | { 29 | std::string shmem_name = "/example"; 30 | 31 | std::shared_ptr shmem_buffer = 32 | create_named_shared_memory_buffer(shmem_name, 640 * 480); 33 | if (!shmem_buffer) { 34 | perror("Unable to create shared memory buffer"); 35 | exit(1); 36 | } 37 | 38 | std::string cond_name = shmem_name + "_cond"; 39 | std::shared_ptr buffer_full = 40 | create_named_condition_variable(cond_name); 41 | 42 | basetime start = TimeNow(); 43 | basetime d = {0, 0}; 44 | d.tv_usec = 33333; 45 | 46 | // Sit in a loop and write gray values based on some timing pattern. 47 | basetime t = start; 48 | while (true) { 49 | basetime nt = TimeAdd(t, d); 50 | 51 | shmem_buffer->lock(); 52 | unsigned char *ptr = shmem_buffer->ptr(); 53 | unsigned char value = generate_value(t, start); 54 | 55 | for (int i = 0; i < 640*480; ++i) { 56 | ptr[i] = value; 57 | } 58 | 59 | shmem_buffer->unlock(); 60 | buffer_full->signal(); 61 | 62 | t = WaitUntil(nt); 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimpleDisplay/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Find Pangolin (https://github.com/stevenlovegrove/Pangolin) 2 | find_package(Pangolin 0.4 REQUIRED) 3 | include_directories(${Pangolin_INCLUDE_DIRS}) 4 | 5 | add_executable(SimpleDisplay main.cpp) 6 | target_link_libraries(SimpleDisplay ${Pangolin_LIBRARIES} ) 7 | 8 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimpleDisplay/app.cfg: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | % Pangolin Sample configuration file 3 | % Comments start with '%' or '#' 4 | % 5 | % Declarations are name value pairs, 6 | % seperated with '=' and terminated with ';' 7 | 8 | % We can set any variable referenced in code directly 9 | ui.A Double = 3.2; 10 | ui.A Checkbox = false; 11 | 12 | % We can set unreferenced variables too 13 | a.b = 1; 14 | a.c = 2; 15 | z.b = 3; 16 | z.c = 4; 17 | start = z; 18 | 19 | % Which we might refer to by reference 20 | ui.An Int = ${${start}.c}; 21 | 22 | % Declarations can span multiple lines 23 | M = 24 | [1, 0, 0 25 | 0, 1, 0 26 | 0, 0, 1]; 27 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimpleDisplayImage/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Find Pangolin (https://github.com/stevenlovegrove/Pangolin) 2 | find_package(Pangolin 0.4 REQUIRED) 3 | include_directories(${Pangolin_INCLUDE_DIRS}) 4 | 5 | add_executable(SimpleDisplayImage main.cpp) 6 | target_link_libraries(SimpleDisplayImage ${Pangolin_LIBRARIES}) 7 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimpleMultiDisplay/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Find Pangolin (https://github.com/stevenlovegrove/Pangolin) 2 | find_package(Pangolin 0.4 REQUIRED) 3 | include_directories(${Pangolin_INCLUDE_DIRS}) 4 | 5 | add_executable(SimpleMultiDisplay main.cpp) 6 | target_link_libraries(SimpleMultiDisplay ${Pangolin_LIBRARIES}) 7 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimpleMultiDisplay/app.cfg: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | % Pangolin Sample configuration file 3 | % Comments start with '%' or '#' 4 | % 5 | % Declarations are name value pairs, 6 | % seperated with '=' and terminated with ';' 7 | 8 | % We can set any variable referenced in code directly 9 | ui.A Double = 3.2; 10 | 11 | % We can set unreferenced variables too 12 | a.b = 1; 13 | a.c = 2; 14 | z.b = 3; 15 | z.c = 4; 16 | start = z; 17 | 18 | % Which we might refer to by reference 19 | ui.An Int = ${${start}.c}; 20 | 21 | % Declarations can span multiple lines 22 | M = 23 | [1, 0, 0 24 | 0, 1, 0 25 | 0, 0, 1]; 26 | 27 | ui.Aliased Double = @ui.A Double; 28 | ui.Aliased Double = 2.0; 29 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimpleOculus/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Find Pangolin (https://github.com/stevenlovegrove/Pangolin) 2 | find_package(Pangolin 0.2 REQUIRED) 3 | include_directories(${Pangolin_INCLUDE_DIRS}) 4 | 5 | add_executable(SimpleOculus main.cpp) 6 | target_link_libraries(SimpleOculus ${Pangolin_LIBRARIES}) 7 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimpleOculus/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | // This Oculus sample is experimental - the OculusHud API is subject to change. 6 | int main(int argc, char ** argv) { 7 | pangolin::CreateWindowAndBind("Main",640,480); 8 | glEnable(GL_DEPTH_TEST); 9 | 10 | pangolin::OculusHud oculus; 11 | pangolin::OpenGlRenderState s_cam = oculus.DefaultRenderState(); 12 | s_cam.SetModelViewMatrix(pangolin::ModelViewLookAt(-1.5,1.5,-1.5, 0,0,0, pangolin::AxisY)); 13 | oculus.SetHandler(new pangolin::Handler3DFramebuffer(oculus.Framebuffer(), s_cam)); 14 | 15 | // Create Pangolin panel (displayed in both views) with sample input variables. 16 | oculus.CommonView().AddDisplay( 17 | pangolin::CreatePanel("ui") 18 | .SetBounds(0.0, 0.6, pangolin::Attach::Pix(150), pangolin::Attach::Pix(-150)) 19 | ); 20 | pangolin::RegisterKeyPressCallback(' ', std::bind(&pangolin::View::ToggleShow, std::ref(oculus.CommonView()) ) ); 21 | pangolin::Var a_button("ui.A Button",false,false); 22 | pangolin::Var a_double("ui.A Double",3,0,5); 23 | pangolin::Var an_int("ui.An Int",2,0,5); 24 | 25 | while( !pangolin::ShouldQuit() ) 26 | { 27 | // Update modelview matrix with head transform 28 | s_cam.GetModelViewMatrix() = oculus.HeadTransformDelta() * s_cam.GetModelViewMatrix(); 29 | 30 | oculus.Framebuffer().Bind(); 31 | glClearColor(1,1,1,0); 32 | glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 33 | for(unsigned int view = 0; view < oculus.NumEyes(); ++view) 34 | { 35 | oculus[view].Activate(); 36 | s_cam.ApplyNView(view); 37 | pangolin::glDrawColouredCube(); 38 | } 39 | oculus.Framebuffer().Unbind(); 40 | 41 | pangolin::FinishFrame(); 42 | } 43 | 44 | return 0; 45 | } 46 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimplePlot/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Find Pangolin (https://github.com/stevenlovegrove/Pangolin) 2 | find_package(Pangolin 0.4 REQUIRED) 3 | include_directories(${Pangolin_INCLUDE_DIRS}) 4 | 5 | add_executable(SimplePlot main.cpp) 6 | target_link_libraries(SimplePlot ${Pangolin_LIBRARIES}) 7 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimplePlot/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | int main(/*int argc, char* argv[]*/) 6 | { 7 | // Create OpenGL window in single line 8 | pangolin::CreateWindowAndBind("Main",640,480); 9 | 10 | // Data logger object 11 | pangolin::DataLog log; 12 | 13 | // Optionally add named labels 14 | std::vector labels; 15 | labels.push_back(std::string("sin(t)")); 16 | labels.push_back(std::string("cos(t)")); 17 | labels.push_back(std::string("sin(t)+cos(t)")); 18 | log.SetLabels(labels); 19 | 20 | const float tinc = 0.01f; 21 | 22 | // OpenGL 'view' of data. We might have many views of the same data. 23 | pangolin::Plotter plotter(&log,0.0f,4.0f*(float)M_PI/tinc,-2.0f,2.0f,(float)M_PI/(4.0f*tinc),0.5f); 24 | plotter.SetBounds(0.0, 1.0, 0.0, 1.0); 25 | plotter.Track("$i"); 26 | 27 | // Add some sample annotations to the plot 28 | plotter.AddMarker(pangolin::Marker::Vertical, -1000, pangolin::Marker::LessThan, pangolin::Colour::Blue().WithAlpha(0.2f) ); 29 | plotter.AddMarker(pangolin::Marker::Horizontal, 100, pangolin::Marker::GreaterThan, pangolin::Colour::Red().WithAlpha(0.2f) ); 30 | plotter.AddMarker(pangolin::Marker::Horizontal, 10, pangolin::Marker::Equal, pangolin::Colour::Green().WithAlpha(0.2f) ); 31 | 32 | pangolin::DisplayBase().AddDisplay(plotter); 33 | 34 | float t = 0; 35 | 36 | // Default hooks for exiting (Esc) and fullscreen (tab). 37 | while( !pangolin::ShouldQuit() ) 38 | { 39 | glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 40 | 41 | log.Log(sin(t),cos(t),sin(t)+cos(t)); 42 | t += tinc; 43 | 44 | // Render graph, Swap frames and Process Events 45 | pangolin::FinishFrame(); 46 | } 47 | 48 | return 0; 49 | } 50 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimpleRecord/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Find Pangolin (https://github.com/stevenlovegrove/Pangolin) 2 | find_package(Pangolin 0.4 REQUIRED) 3 | include_directories(${Pangolin_INCLUDE_DIRS}) 4 | 5 | add_executable(SimpleRecord main.cpp) 6 | target_link_libraries(SimpleRecord ${Pangolin_LIBRARIES}) 7 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimpleRepeatVideo/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Find Pangolin (https://github.com/stevenlovegrove/Pangolin) 2 | find_package(Pangolin 0.4 REQUIRED) 3 | include_directories(${Pangolin_INCLUDE_DIRS}) 4 | 5 | add_executable(SimpleRepeatVideo main.cpp) 6 | target_link_libraries(SimpleRepeatVideo ${Pangolin_LIBRARIES}) 7 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimpleScene/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Find Pangolin (https://github.com/stevenlovegrove/Pangolin) 2 | find_package(Pangolin 0.4 REQUIRED) 3 | include_directories(${Pangolin_INCLUDE_DIRS}) 4 | 5 | add_executable(SimpleScene main.cpp) 6 | target_link_libraries(SimpleScene ${Pangolin_LIBRARIES}) 7 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimpleScene/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | int main( int /*argc*/, char** /*argv*/ ) 6 | { 7 | pangolin::CreateWindowAndBind("Main",640,480); 8 | glEnable(GL_DEPTH_TEST); 9 | 10 | // Define Projection and initial ModelView matrix 11 | pangolin::OpenGlRenderState s_cam( 12 | pangolin::ProjectionMatrix(640,480,420,420,320,240,0.2,100), 13 | pangolin::ModelViewLookAt(-2,2,-2, 0,0,0, pangolin::AxisY) 14 | ); 15 | 16 | pangolin::Renderable tree; 17 | tree.Add( std::make_shared() ); 18 | 19 | // Create Interactive View in window 20 | pangolin::SceneHandler handler(tree, s_cam); 21 | pangolin::View& d_cam = pangolin::CreateDisplay() 22 | .SetBounds(0.0, 1.0, 0.0, 1.0, -640.0f/480.0f) 23 | .SetHandler(&handler); 24 | 25 | d_cam.SetDrawFunction([&](pangolin::View& view){ 26 | view.Activate(s_cam); 27 | tree.Render(); 28 | }); 29 | 30 | while( !pangolin::ShouldQuit() ) 31 | { 32 | // Clear screen and activate view to render into 33 | glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 34 | 35 | // Swap frames and Process Events 36 | pangolin::FinishFrame(); 37 | } 38 | 39 | return 0; 40 | } 41 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/SimpleVideo/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Find Pangolin (https://github.com/stevenlovegrove/Pangolin) 2 | find_package(Pangolin 0.4 REQUIRED) 3 | include_directories(${Pangolin_INCLUDE_DIRS}) 4 | 5 | add_executable(SimpleVideo main.cpp) 6 | target_link_libraries(SimpleVideo ${Pangolin_LIBRARIES}) 7 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/VBODisplay/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Find Pangolin (https://github.com/stevenlovegrove/Pangolin) 2 | find_package(Pangolin 0.4 REQUIRED) 3 | include_directories(${Pangolin_INCLUDE_DIRS}) 4 | link_directories(${Pangolin_LIBRARY_DIRS}) 5 | link_libraries(${Pangolin_LIBRARIES}) 6 | 7 | find_package(CUDA QUIET) 8 | 9 | # This example could be made to work with C++11, but the kernel code must be 10 | # compiled without it. 11 | if(CUDA_FOUND) 12 | cuda_include_directories(${CMAKE_CURRENT_SOURCE_DIR}) 13 | 14 | cuda_add_executable( 15 | VBODisplay 16 | main.cpp kernal.cu 17 | ) 18 | 19 | endif() 20 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/examples/VBODisplay/kernal.cu: -------------------------------------------------------------------------------- 1 | // Colour Sine wave Kernal 2 | // Based on kernal_colour in kernelVBO.cpp by Rob Farber 3 | __global__ void kernel(float4* dVertexArray, uchar4 *dColorArray, 4 | unsigned int width, unsigned int height, float time) 5 | { 6 | unsigned int x = blockIdx.x*blockDim.x + threadIdx.x; 7 | unsigned int y = blockIdx.y*blockDim.y + threadIdx.y; 8 | 9 | // Each thread is unique point (u,v) in interval [-1,1],[-1,1] 10 | const float u = 2.0f* (x/(float)width) - 1.0f; 11 | const float v = 2.0f* (y/(float)height) - 1.0f; 12 | const float w = 0.5f * sinf(4.0f*u + time) * cosf(4.0f*v + time); 13 | 14 | // Update vertex array for point 15 | dVertexArray[y*width+x] = make_float4(u, w, v, 1.0f); 16 | 17 | // Update colour array for point 18 | dColorArray[y*width+x].w = 0.0f; 19 | dColorArray[y*width+x].x = 255.0f *0.5f*(1.f+sinf(w+x)); 20 | dColorArray[y*width+x].y = 255.0f *0.5f*(1.f+sinf(x)*cosf(y)); 21 | dColorArray[y*width+x].z = 255.0f *0.5f*(1.f+sinf(w+time/10.0f)); 22 | } 23 | 24 | extern "C" void launch_kernel(float4* dVertexArray, uchar4* dColourArray, 25 | unsigned int width, unsigned int height, float time) 26 | { 27 | dim3 block(8, 8, 1); 28 | dim3 grid(width / block.x, height / block.y, 1); 29 | kernel<<< grid, block>>>(dVertexArray, dColourArray, width, height, time); 30 | } 31 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/compat/ovr.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2013 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #pragma once 29 | 30 | #include 31 | 32 | #ifndef _MSVC_ 33 | // Suppress warnings in OVR library headers 34 | #pragma GCC system_header 35 | #endif 36 | 37 | #include 38 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/compat/type_traits.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2013 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #pragma once 29 | 30 | #include 31 | 32 | #include 33 | 34 | #include 35 | 36 | // enable_if From Boost 37 | namespace pangolin 38 | { 39 | template 40 | struct enable_if_c { 41 | typedef T type; 42 | }; 43 | 44 | template 45 | struct enable_if_c {}; 46 | 47 | template 48 | struct enable_if : public enable_if_c {}; 49 | } 50 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/display/device/PangolinNSGLView.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2011 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #pragma once 29 | 30 | #import 31 | #import 32 | 33 | #include 34 | 35 | //////////////////////////////////////////////////////////////////// 36 | // PangolinNSGLView 37 | //////////////////////////////////////////////////////////////////// 38 | 39 | @interface PangolinNSGLView : NSOpenGLView 40 | { 41 | pangolin::PangolinGl* context; 42 | float backing_scale; 43 | } 44 | @end 45 | 46 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/display/device/X11GlContext.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/Pangolin/include/pangolin/display/device/X11GlContext.h -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/display/user_app.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2014 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #pragma once 29 | 30 | #include 31 | 32 | namespace pangolin 33 | { 34 | 35 | class PANGOLIN_EXPORT UserApp 36 | { 37 | public: 38 | virtual ~UserApp() {} 39 | virtual void Init() {} 40 | virtual void Render() = 0; 41 | }; 42 | 43 | } 44 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/display/window.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2016 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #pragma once 29 | 30 | namespace pangolin 31 | { 32 | 33 | class GlContextInterface 34 | { 35 | public: 36 | virtual ~GlContextInterface() {} 37 | }; 38 | 39 | class WindowInterface 40 | { 41 | public: 42 | virtual ~WindowInterface() {} 43 | 44 | virtual void ToggleFullscreen() = 0; 45 | virtual void Move(int x, int y) = 0; 46 | virtual void Resize(unsigned int w, unsigned int h) = 0; 47 | virtual void MakeCurrent() = 0; 48 | virtual void ProcessEvents() = 0; 49 | virtual void SwapBuffers() = 0; 50 | }; 51 | 52 | } 53 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/gl/glglut.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2014 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #pragma once 29 | 30 | #include "glplatform.h" 31 | 32 | #ifdef HAVE_GLUT 33 | #ifdef HAVE_APPLE_OPENGL_FRAMEWORK 34 | #include 35 | #define HAVE_GLUT_APPLE_FRAMEWORK 36 | 37 | inline void glutBitmapString(void* font, const unsigned char* str) 38 | { 39 | const unsigned char* s = str; 40 | while(*s != 0) { 41 | glutBitmapCharacter(font, *s); 42 | ++s; 43 | } 44 | } 45 | #else 46 | #include 47 | #endif // HAVE_APPLE_OPENGL_FRAMEWORK 48 | #endif // HAVE_GLUT 49 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/gl/glinclude.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2011 Steven Lovegrove, Richard Newcombe 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #pragma once 29 | 30 | #include 31 | 32 | #ifdef HAVE_GLES 33 | #include 34 | #endif 35 | 36 | #define CheckGlDieOnError() pangolin::_CheckGlDieOnError( __FILE__, __LINE__ ); 37 | namespace pangolin { 38 | inline void _CheckGlDieOnError( const char *sFile, const int nLine ) 39 | { 40 | GLenum glError = glGetError(); 41 | if( glError != GL_NO_ERROR ) { 42 | pango_print_error( "OpenGL Error: %s (%d)\n", glErrorString(glError), glError ); 43 | pango_print_error("In: %s, line %d\n", sFile, nLine); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/handler/handler_glbuffer.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2014 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #ifndef HANDLER_GLBUFFER_H 29 | #define HANDLER_GLBUFFER_H 30 | 31 | #include 32 | #include 33 | 34 | namespace pangolin 35 | { 36 | 37 | struct Handler3DFramebuffer : public pangolin::Handler3D 38 | { 39 | Handler3DFramebuffer(GlFramebuffer& fb, pangolin::OpenGlRenderState& cam_state, pangolin::AxisDirection enforce_up=pangolin::AxisNone, float trans_scale=0.01f); 40 | void GetPosNormal(pangolin::View& view, int x, int y, GLprecision p[3], GLprecision Pw[3], GLprecision Pc[3], GLprecision /*n*/[3], GLprecision default_z); 41 | 42 | protected: 43 | GlFramebuffer& fb; 44 | }; 45 | 46 | } 47 | 48 | #endif // HANDLER_GLBUFFER_H 49 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/image/copy.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2011 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #pragma once 29 | 30 | namespace pangolin { 31 | 32 | // Hold a reference to an object to be copied 33 | template 34 | struct CopyObject { 35 | CopyObject(const T& obj) : obj(obj) { } 36 | const T& obj; 37 | }; 38 | 39 | // Return copy wrapper for assignment to another object. 40 | template 41 | typename pangolin::CopyObject Copy(const T& obj) { 42 | return typename pangolin::CopyObject(obj); 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/ios/PangolinAppDelegate.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2014 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #import 29 | 30 | #import "PangolinUIView.h" 31 | 32 | @interface PangolinAppDelegate : UIResponder 33 | 34 | @property (strong, nonatomic) UIWindow *window; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/ios/PangolinUIView.h: -------------------------------------------------------------------------------- 1 | // 2 | // GlTestViewController.h 3 | // gltest 4 | // 5 | // Created by Steven Lovegrove on 30/01/2014. 6 | // Copyright (c) 2014 Steven Lovegrove. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #include 12 | #include 13 | 14 | @interface PangolinUIView : UIView { 15 | CAEAGLLayer* _eaglLayer; 16 | EAGLContext* _context; 17 | 18 | GLuint _colorRenderBuffer; 19 | GLuint _depthRenderBuffer; 20 | } 21 | 22 | @end -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/python/PyModulePangolin.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2011 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #pragma once 29 | 30 | #include 31 | 32 | #include 33 | 34 | namespace pangolin 35 | { 36 | 37 | PANGOLIN_EXPORT 38 | PyMODINIT_FUNC InitPangoModule(); 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/tools/video_viewer.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | namespace pangolin 4 | { 5 | 6 | void RunVideoViewerUI(const std::string& input_uri, const std::string& output_uri); 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/utils/posix/condition_variable.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | namespace pangolin 8 | { 9 | 10 | class ConditionVariableInterface 11 | { 12 | public: 13 | virtual ~ConditionVariableInterface() 14 | { 15 | } 16 | 17 | virtual void wait() = 0; 18 | virtual bool wait(basetime t) = 0; 19 | virtual void signal() = 0; 20 | virtual void broadcast() = 0; 21 | }; 22 | 23 | std::shared_ptr create_named_condition_variable(const 24 | std::string& name); 25 | std::shared_ptr open_named_condition_variable(const 26 | std::string& name); 27 | } 28 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/utils/posix/semaphore.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | namespace pangolin 8 | { 9 | 10 | class SemaphoreInterface 11 | { 12 | public: 13 | 14 | virtual ~SemaphoreInterface() { 15 | } 16 | 17 | virtual bool tryAcquire() = 0; 18 | virtual void acquire() = 0; 19 | virtual void release() = 0; 20 | }; 21 | 22 | std::shared_ptr create_named_semaphore(const std::string& name, 23 | unsigned int value); 24 | std::shared_ptr open_named_semaphore(const std::string& name); 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/utils/posix/shared_memory_buffer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | namespace pangolin 8 | { 9 | class SharedMemoryBufferInterface 10 | { 11 | public: 12 | virtual ~SharedMemoryBufferInterface() { 13 | } 14 | virtual bool tryLock() = 0; 15 | virtual void lock() = 0; 16 | virtual void unlock() = 0; 17 | virtual unsigned char *ptr() = 0; 18 | virtual std::string name() = 0; 19 | }; 20 | 21 | std::shared_ptr create_named_shared_memory_buffer(const 22 | std::string& name, size_t size); 23 | std::shared_ptr open_named_shared_memory_buffer(const 24 | std::string& name, bool readwrite); 25 | } 26 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/utils/static_init.h: -------------------------------------------------------------------------------- 1 | // Initializer / finalizer sample for MSVC and GCC/Clang. 2 | // 2010-2016 Joe Lowe. Released into the public domain. 3 | 4 | #if defined(_MSC_VER) 5 | #pragma section(".CRT$XCU",read) 6 | #define PANGOLIN_STATIC_CONSTRUCTOR_(f,p) \ 7 | extern "C" void f(void); \ 8 | __declspec(allocate(".CRT$XCU")) void (*f##_)(void) = f; \ 9 | __pragma(comment(linker,"/include:" p #f "_")) \ 10 | extern "C" void f(void) 11 | #ifdef _WIN64 12 | #define PANGOLIN_STATIC_CONSTRUCTOR(f) PANGOLIN_STATIC_CONSTRUCTOR_(f,"") 13 | #else 14 | #define PANGOLIN_STATIC_CONSTRUCTOR(f) PANGOLIN_STATIC_CONSTRUCTOR_(f,"_") 15 | #endif 16 | #else 17 | #define PANGOLIN_STATIC_CONSTRUCTOR(f) \ 18 | extern "C" void f(void) asm(#f) __attribute__((constructor)); \ 19 | extern "C" void f(void) 20 | #endif 21 | 22 | // For linking against static libraries, it is important to ensure the symbol is included 23 | // in an appliction to trigger the static construction 24 | 25 | // MSVC: https://msdn.microsoft.com/en-us/library/2s3hwbhs.aspx 26 | // GCC / CLANG: https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html#Link-Options "-u option" 27 | 28 | // Sample Usage 29 | 30 | // extern "C" void example_finalizer(void) 31 | // { 32 | // printf( "finalize\n"); 33 | // } 34 | // 35 | // PANGOLIN_STATIC_CONSTRUCTOR(example_initializer) 36 | // { 37 | // printf("initialize\n"); 38 | // atexit(example_finalizer); 39 | // } 40 | 41 | 42 | // Further, the linker must be made aware that it should not optimise out static constructor symbols 43 | // In CMake: 44 | 45 | // macro( ensure_lib_loads_symbol target symbol) 46 | // if (MSVC) 47 | // target_link_libraries(${target} PUBLIC "/INCLUDE:${symbol}") 48 | // else() 49 | // target_link_libraries(${target} PUBLIC "-u ${symbol}") 50 | // endif() 51 | // endmacro() 52 | // 53 | // ensure_lib_loads_symbol(some_lib, example_initializer) 54 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/utils/uri.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2011 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #pragma once 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | namespace pangolin 35 | { 36 | 37 | class PANGOLIN_EXPORT Uri : public Params 38 | { 39 | public: 40 | std::string scheme; 41 | std::string url; 42 | }; 43 | 44 | //! Parse string as Video URI 45 | PANGOLIN_EXPORT 46 | Uri ParseUri(const std::string& str_uri); 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/var/varvaluet.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2014 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #pragma once 29 | 30 | #include 31 | #include 32 | 33 | namespace pangolin 34 | { 35 | 36 | template 37 | class VarValueT : public VarValueGeneric 38 | { 39 | public: 40 | typedef typename std::remove_reference::type VarT; 41 | 42 | virtual const VarT& Get() const = 0; 43 | virtual void Set(const VarT& val) = 0; 44 | }; 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/video/drivers/shared_memory.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | 11 | namespace pangolin 12 | { 13 | 14 | class SharedMemoryVideo : public VideoInterface 15 | { 16 | public: 17 | SharedMemoryVideo(size_t w, size_t h, std::string pix_fmt, 18 | const std::shared_ptr& shared_memory, 19 | const std::shared_ptr& buffer_full); 20 | ~SharedMemoryVideo(); 21 | 22 | size_t SizeBytes() const; 23 | const std::vector& Streams() const; 24 | void Start(); 25 | void Stop(); 26 | bool GrabNext(unsigned char *image, bool wait); 27 | bool GrabNewest(unsigned char *image, bool wait); 28 | 29 | private: 30 | PixelFormat _fmt; 31 | size_t _frame_size; 32 | std::vector _streams; 33 | std::shared_ptr _shared_memory; 34 | std::shared_ptr _buffer_full; 35 | }; 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/video/video_exception.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | namespace pangolin { 8 | 9 | struct PANGOLIN_EXPORT VideoException : std::exception 10 | { 11 | VideoException(std::string str) : desc(str) {} 12 | VideoException(std::string str, std::string detail) { 13 | desc = str + "\n\t" + detail; 14 | } 15 | ~VideoException() throw() {} 16 | const char* what() const throw() { return desc.c_str(); } 17 | std::string desc; 18 | }; 19 | 20 | } 21 | 22 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/include/pangolin/video/video_record_repeat.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2011 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #pragma once 29 | 30 | // VideoInput subsumes the previous VideoRecordRepeat class. 31 | #include 32 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/src/PangolinConfig.cmake.in: -------------------------------------------------------------------------------- 1 | # Compute paths 2 | get_filename_component( PROJECT_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH ) 3 | SET( Pangolin_INCLUDE_DIRS "@EXPORT_LIB_INC_DIR@;@USER_INC@" ) 4 | SET( Pangolin_INCLUDE_DIR "@EXPORT_LIB_INC_DIR@;@USER_INC@" ) 5 | 6 | # Library dependencies (contains definitions for IMPORTED targets) 7 | if( NOT TARGET @LIBRARY_NAME@ AND NOT @PROJECT_NAME@_BINARY_DIR ) 8 | include( "${PROJECT_CMAKE_DIR}/@PROJECT_NAME@Targets.cmake" ) 9 | @ExternConfig@ 10 | endif() 11 | 12 | SET( Pangolin_LIBRARIES @LIBRARY_NAME@ ) 13 | SET( Pangolin_LIBRARY @LIBRARY_NAME@ ) 14 | SET( Pangolin_CMAKEMODULES @CMAKE_CURRENT_SOURCE_DIR@/../CMakeModules ) 15 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/src/PangolinConfigVersion.cmake.in: -------------------------------------------------------------------------------- 1 | set(PACKAGE_VERSION "@PANGOLIN_VERSION@") 2 | 3 | # Check build type is valid 4 | if( "System:${CMAKE_SYSTEM_NAME},Win64:${CMAKE_CL_64},Android:${ANDROID},iOS:${IOS}" STREQUAL 5 | "System:@CMAKE_SYSTEM_NAME@,Win64:@CMAKE_CL_64@,Android:@ANDROID@,iOS:@IOS@" ) 6 | # Check whether the requested PACKAGE_FIND_VERSION is compatible 7 | if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}") 8 | set(PACKAGE_VERSION_COMPATIBLE FALSE) 9 | else() 10 | set(PACKAGE_VERSION_COMPATIBLE TRUE) 11 | if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}") 12 | set(PACKAGE_VERSION_EXACT TRUE) 13 | endif() 14 | endif() 15 | else() 16 | set(PACKAGE_VERSION_COMPATIBLE FALSE) 17 | endif() 18 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/src/_embed_/fonts/AnonymousPro.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/Pangolin/src/_embed_/fonts/AnonymousPro.ttf -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/src/config.h.in: -------------------------------------------------------------------------------- 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 @PANGOLIN_VERSION_MAJOR@ 10 | #define PANGOLIN_VERSION_MINOR @PANGOLIN_VERSION_MINOR@ 11 | #define PANGOLIN_VERSION_STRING "@PANGOLIN_VERSION@" 12 | 13 | /// Pangolin options 14 | #cmakedefine BUILD_PANGOLIN_GUI 15 | #cmakedefine BUILD_PANGOLIN_VARS 16 | #cmakedefine BUILD_PANGOLIN_VIDEO 17 | 18 | /// Configured libraries 19 | #cmakedefine HAVE_CUDA 20 | #cmakedefine HAVE_PYTHON 21 | 22 | #cmakedefine HAVE_EIGEN 23 | #cmakedefine HAVE_TOON 24 | 25 | #cmakedefine HAVE_DC1394 26 | #cmakedefine HAVE_V4L 27 | #cmakedefine HAVE_OPENNI 28 | #cmakedefine HAVE_LIBREALSENSE 29 | #cmakedefine HAVE_OPENNI2 30 | #cmakedefine HAVE_UVC 31 | #cmakedefine HAVE_DEPTHSENSE 32 | #cmakedefine HAVE_TELICAM 33 | #cmakedefine HAVE_PLEORA 34 | 35 | #cmakedefine HAVE_FFMPEG 36 | #cmakedefine HAVE_FFMPEG_MAX_ANALYZE_DURATION2 37 | #cmakedefine HAVE_FFMPEG_AVFORMAT_ALLOC_OUTPUT_CONTEXT2 38 | #cmakedefine HAVE_FFMPEG_AVPIXELFORMAT 39 | 40 | #cmakedefine HAVE_GLEW 41 | #cmakedefine GLEW_STATIC 42 | 43 | #cmakedefine HAVE_GLUT 44 | #cmakedefine HAVE_FREEGLUT 45 | #cmakedefine HAVE_APPLE_OPENGL_FRAMEWORK 46 | #cmakedefine HAVE_MODIFIED_OSXGLUT 47 | #cmakedefine HAVE_GLES 48 | #cmakedefine HAVE_GLES_2 49 | #cmakedefine HAVE_OCULUS 50 | 51 | #cmakedefine HAVE_PNG 52 | #cmakedefine HAVE_JPEG 53 | #cmakedefine HAVE_TIFF 54 | #cmakedefine HAVE_OPENEXR 55 | 56 | /// Platform 57 | #cmakedefine _UNIX_ 58 | #cmakedefine _WIN_ 59 | #cmakedefine _OSX_ 60 | #cmakedefine _LINUX_ 61 | #cmakedefine _ANDROID_ 62 | #cmakedefine _IOS_ 63 | 64 | /// Compiler 65 | #cmakedefine _GCC_ 66 | #cmakedefine _CLANG_ 67 | #cmakedefine _MSVC_ 68 | 69 | #if (__cplusplus > 199711L) || (_MSC_VER >= 1800) 70 | #define CALLEE_HAS_VARIADIC_TEMPLATES 71 | #endif 72 | 73 | #endif //PANGOLIN_CONFIG_H 74 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/src/gl/compat/gl2engine.cpp: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2014 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #include 29 | 30 | namespace pangolin 31 | { 32 | 33 | GlEngine& glEngine() 34 | { 35 | static GlEngine engine; 36 | return engine; 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/src/gl/gldraw.cpp: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2011 Steven Lovegrove, Richard Newcombe 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | 29 | #include 30 | #include 31 | 32 | namespace pangolin 33 | { 34 | 35 | void glRecordGraphic(float x, float y, float radius) 36 | { 37 | const int ticks = static_cast(TimeNow_s()); 38 | if( ticks % 2 ) 39 | { 40 | // now, render a little red "recording" dot 41 | glPushAttrib(GL_ENABLE_BIT); 42 | glDisable(GL_LIGHTING); 43 | glDisable(GL_DEPTH_TEST); 44 | glColor3ub( 255, 0, 0 ); 45 | glDrawCircle( x, y, radius ); 46 | glPopAttrib(); 47 | } 48 | 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/src/gl/gltexturecache.cpp: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2013 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #include 29 | 30 | namespace pangolin 31 | { 32 | 33 | TextureCache& TextureCache::I() { 34 | static TextureCache instance; 35 | return instance; 36 | } 37 | 38 | } -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/src/handler/handler_glbuffer.cpp: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2013 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #include 29 | #include 30 | 31 | namespace pangolin { 32 | 33 | Handler3DFramebuffer::Handler3DFramebuffer(GlFramebuffer& fb, pangolin::OpenGlRenderState& cam_state, pangolin::AxisDirection enforce_up, float trans_scale) 34 | : pangolin::Handler3D(cam_state,enforce_up, trans_scale), fb(fb) 35 | { 36 | } 37 | 38 | void Handler3DFramebuffer::GetPosNormal(pangolin::View& view, int x, int y, GLprecision p[3], GLprecision Pw[3], GLprecision Pc[3], GLprecision n[3], GLprecision default_z) 39 | { 40 | fb.Bind(); 41 | Handler3D::GetPosNormal(view,x,y,p,Pw,Pc,n,default_z); 42 | fb.Unbind(); 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/src/utils/posix/semaphore.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | #include 8 | 9 | using namespace std; 10 | 11 | namespace pangolin 12 | { 13 | 14 | // TODO(shaheen) register a signal handler for SIGTERM and unlink shared 15 | // semaphores. 16 | class PosixSemaphore : public SemaphoreInterface 17 | { 18 | public: 19 | PosixSemaphore(sem_t *semaphore, bool ownership, const string& name) : 20 | _semaphore(semaphore), 21 | _ownership(ownership), 22 | _name(name) 23 | { 24 | } 25 | 26 | ~PosixSemaphore() 27 | { 28 | if (_ownership) { 29 | sem_unlink(_name.c_str()); 30 | } else { 31 | sem_close(_semaphore); 32 | } 33 | } 34 | 35 | bool tryAcquire() 36 | { 37 | int err = sem_trywait(_semaphore); 38 | return err == 0; 39 | } 40 | 41 | void acquire() 42 | { 43 | sem_wait(_semaphore); 44 | } 45 | 46 | void release() 47 | { 48 | sem_post(_semaphore); 49 | } 50 | 51 | private: 52 | sem_t *_semaphore; 53 | bool _ownership; 54 | string _name; 55 | }; 56 | 57 | std::shared_ptr create_named_semaphore(const string& name, unsigned int value) 58 | { 59 | std::shared_ptr ptr; 60 | sem_t *semaphore = sem_open(name.c_str(), O_CREAT | O_EXCL, 61 | S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP, value); 62 | if (NULL == semaphore) { 63 | return ptr; 64 | } 65 | 66 | ptr.reset(new PosixSemaphore(semaphore, true, name)); 67 | return ptr; 68 | } 69 | 70 | std::shared_ptr open_named_semaphore(const string& name) 71 | { 72 | std::shared_ptr ptr; 73 | sem_t *semaphore = sem_open(name.c_str(), 0); 74 | 75 | if (NULL == semaphore) { 76 | return ptr; 77 | } 78 | 79 | ptr.reset(new PosixSemaphore(semaphore, false, name)); 80 | return ptr; 81 | } 82 | 83 | } 84 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/src/utils/sigstate.cpp: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2011 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #include 29 | #include 30 | #include 31 | #include 32 | 33 | using namespace std; 34 | 35 | namespace pangolin 36 | { 37 | 38 | SigState& SigState::I() { 39 | static SigState singleton; 40 | return singleton; 41 | } 42 | 43 | SigState::SigState() 44 | { 45 | } 46 | 47 | SigState::~SigState() { 48 | Clear(); 49 | } 50 | 51 | void SigState::Clear() { 52 | sig_callbacks.clear(); 53 | } 54 | 55 | void RegisterNewSigCallback(SigCallbackFn callback, void* data, const int signal) 56 | { 57 | SigState::I().sig_callbacks.insert(std::pair(signal, SigCallback(signal, callback, data))); 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/src/video/video_interface_factory.cpp: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2011-2013 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #include 29 | #include 30 | 31 | namespace pangolin 32 | { 33 | 34 | template<> 35 | FactoryRegistry& FactoryRegistry::I() 36 | { 37 | // Singleton instance 38 | static FactoryRegistry instance; 39 | return instance; 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/src/video/video_output_interface_factory.cpp: -------------------------------------------------------------------------------- 1 | /* This file is part of the Pangolin Project. 2 | * http://github.com/stevenlovegrove/Pangolin 3 | * 4 | * Copyright (c) 2011-2013 Steven Lovegrove 5 | * 6 | * Permission is hereby granted, free of charge, to any person 7 | * obtaining a copy of this software and associated documentation 8 | * files (the "Software"), to deal in the Software without 9 | * restriction, including without limitation the rights to use, 10 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following 13 | * conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | * OTHER DEALINGS IN THE SOFTWARE. 26 | */ 27 | 28 | #include 29 | #include 30 | 31 | namespace pangolin 32 | { 33 | 34 | template<> 35 | FactoryRegistry& FactoryRegistry::I() 36 | { 37 | // Singleton instance 38 | static FactoryRegistry instance; 39 | return instance; 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/tools/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(BUILD_PANGOLIN_GUI AND BUILD_PANGOLIN_VARS ) 2 | if(BUILD_PANGOLIN_VIDEO) 3 | add_subdirectory(VideoViewer) 4 | add_subdirectory(VideoConvert) 5 | endif() 6 | endif() 7 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/tools/VideoConvert/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Find Pangolin (https://github.com/stevenlovegrove/Pangolin) 2 | find_package(Pangolin 0.4 REQUIRED) 3 | include_directories(${Pangolin_INCLUDE_DIRS}) 4 | 5 | add_executable(VideoConvert main.cpp) 6 | target_link_libraries(VideoConvert ${Pangolin_LIBRARIES}) 7 | 8 | ####################################################### 9 | ## Install 10 | 11 | install(TARGETS VideoConvert 12 | RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin 13 | LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib 14 | ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib 15 | ) 16 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/Pangolin/tools/VideoViewer/application-x-pango.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Pangolin Video File 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/README.txt: -------------------------------------------------------------------------------- 1 | You should have received this g2o version along with ORB-SLAM2 (https://github.com/raulmur/ORB_SLAM2). 2 | See the original g2o library at: https://github.com/RainerKuemmerle/g2o 3 | All files included in this g2o version are BSD, see license-bsd.txt 4 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/usr/bin/cc") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "GNU") 4 | set(CMAKE_C_COMPILER_VERSION "4.8.4") 5 | set(CMAKE_C_PLATFORM_ID "Linux") 6 | 7 | set(CMAKE_AR "/usr/bin/ar") 8 | set(CMAKE_RANLIB "/usr/bin/ranlib") 9 | set(CMAKE_LINKER "/usr/bin/ld") 10 | set(CMAKE_COMPILER_IS_GNUCC 1) 11 | set(CMAKE_C_COMPILER_LOADED 1) 12 | set(CMAKE_C_COMPILER_WORKS TRUE) 13 | set(CMAKE_C_ABI_COMPILED TRUE) 14 | set(CMAKE_COMPILER_IS_MINGW ) 15 | set(CMAKE_COMPILER_IS_CYGWIN ) 16 | if(CMAKE_COMPILER_IS_CYGWIN) 17 | set(CYGWIN 1) 18 | set(UNIX 1) 19 | endif() 20 | 21 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 22 | 23 | if(CMAKE_COMPILER_IS_MINGW) 24 | set(MINGW 1) 25 | endif() 26 | set(CMAKE_C_COMPILER_ID_RUN 1) 27 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c) 28 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 29 | set(CMAKE_C_LINKER_PREFERENCE 10) 30 | 31 | # Save compiler ABI information. 32 | set(CMAKE_C_SIZEOF_DATA_PTR "8") 33 | set(CMAKE_C_COMPILER_ABI "ELF") 34 | set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 35 | 36 | if(CMAKE_C_SIZEOF_DATA_PTR) 37 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 38 | endif() 39 | 40 | if(CMAKE_C_COMPILER_ABI) 41 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 42 | endif() 43 | 44 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 45 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 46 | endif() 47 | 48 | 49 | 50 | 51 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") 52 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/4.8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 53 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_CXX_COMPILER "/usr/bin/c++") 2 | set(CMAKE_CXX_COMPILER_ARG1 "") 3 | set(CMAKE_CXX_COMPILER_ID "GNU") 4 | set(CMAKE_CXX_COMPILER_VERSION "4.8.4") 5 | set(CMAKE_CXX_PLATFORM_ID "Linux") 6 | 7 | set(CMAKE_AR "/usr/bin/ar") 8 | set(CMAKE_RANLIB "/usr/bin/ranlib") 9 | set(CMAKE_LINKER "/usr/bin/ld") 10 | set(CMAKE_COMPILER_IS_GNUCXX 1) 11 | set(CMAKE_CXX_COMPILER_LOADED 1) 12 | set(CMAKE_CXX_COMPILER_WORKS TRUE) 13 | set(CMAKE_CXX_ABI_COMPILED TRUE) 14 | set(CMAKE_COMPILER_IS_MINGW ) 15 | set(CMAKE_COMPILER_IS_CYGWIN ) 16 | if(CMAKE_COMPILER_IS_CYGWIN) 17 | set(CYGWIN 1) 18 | set(UNIX 1) 19 | endif() 20 | 21 | set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") 22 | 23 | if(CMAKE_COMPILER_IS_MINGW) 24 | set(MINGW 1) 25 | endif() 26 | set(CMAKE_CXX_COMPILER_ID_RUN 1) 27 | set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) 28 | set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) 29 | set(CMAKE_CXX_LINKER_PREFERENCE 30) 30 | set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) 31 | 32 | # Save compiler ABI information. 33 | set(CMAKE_CXX_SIZEOF_DATA_PTR "8") 34 | set(CMAKE_CXX_COMPILER_ABI "ELF") 35 | set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 36 | 37 | if(CMAKE_CXX_SIZEOF_DATA_PTR) 38 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") 39 | endif() 40 | 41 | if(CMAKE_CXX_COMPILER_ABI) 42 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") 43 | endif() 44 | 45 | if(CMAKE_CXX_LIBRARY_ARCHITECTURE) 46 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 47 | endif() 48 | 49 | 50 | 51 | 52 | set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c") 53 | set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/4.8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 54 | set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/2.8.12.2/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-3.19.0-68-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "3.19.0-68-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-3.19.0-68-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "3.19.0-68-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 2.8 3 | 4 | # Relative path conversion top directories. 5 | SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/lifu/ORB_SLAM2/Thirdparty/g2o") 6 | SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/lifu/ORB_SLAM2/Thirdparty/g2o/build") 7 | 8 | # Force unix paths in dependencies. 9 | SET(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/lifu/ORB_SLAM2/Thirdparty/g2o/build/CMakeFiles/g2o.dir 2 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/C.includecache: -------------------------------------------------------------------------------- 1 | #IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) 2 | 3 | #IncludeRegexScan: ^.*$ 4 | 5 | #IncludeRegexComplain: ^$ 6 | 7 | #IncludeRegexTransform: 8 | 9 | /home/lifu/ORB_SLAM2/Thirdparty/g2o/g2o/stuff/os_specific.c 10 | os_specific.h 11 | /home/lifu/ORB_SLAM2/Thirdparty/g2o/g2o/stuff/os_specific.h 12 | 13 | /home/lifu/ORB_SLAM2/Thirdparty/g2o/g2o/stuff/os_specific.h 14 | stdio.h 15 | - 16 | stdlib.h 17 | - 18 | stdarg.h 19 | - 20 | sys/time.h 21 | - 22 | sys/time.h 23 | - 24 | 25 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | FILE(REMOVE_RECURSE 2 | "CMakeFiles/g2o.dir/g2o/types/types_sba.cpp.o" 3 | "CMakeFiles/g2o.dir/g2o/types/types_six_dof_expmap.cpp.o" 4 | "CMakeFiles/g2o.dir/g2o/types/types_seven_dof_expmap.cpp.o" 5 | "CMakeFiles/g2o.dir/g2o/core/hyper_graph_action.cpp.o" 6 | "CMakeFiles/g2o.dir/g2o/core/hyper_graph.cpp.o" 7 | "CMakeFiles/g2o.dir/g2o/core/marginal_covariance_cholesky.cpp.o" 8 | "CMakeFiles/g2o.dir/g2o/core/matrix_structure.cpp.o" 9 | "CMakeFiles/g2o.dir/g2o/core/batch_stats.cpp.o" 10 | "CMakeFiles/g2o.dir/g2o/core/parameter.cpp.o" 11 | "CMakeFiles/g2o.dir/g2o/core/cache.cpp.o" 12 | "CMakeFiles/g2o.dir/g2o/core/optimizable_graph.cpp.o" 13 | "CMakeFiles/g2o.dir/g2o/core/solver.cpp.o" 14 | "CMakeFiles/g2o.dir/g2o/core/optimization_algorithm_factory.cpp.o" 15 | "CMakeFiles/g2o.dir/g2o/core/estimate_propagator.cpp.o" 16 | "CMakeFiles/g2o.dir/g2o/core/factory.cpp.o" 17 | "CMakeFiles/g2o.dir/g2o/core/sparse_optimizer.cpp.o" 18 | "CMakeFiles/g2o.dir/g2o/core/hyper_dijkstra.cpp.o" 19 | "CMakeFiles/g2o.dir/g2o/core/parameter_container.cpp.o" 20 | "CMakeFiles/g2o.dir/g2o/core/optimization_algorithm.cpp.o" 21 | "CMakeFiles/g2o.dir/g2o/core/optimization_algorithm_with_hessian.cpp.o" 22 | "CMakeFiles/g2o.dir/g2o/core/optimization_algorithm_levenberg.cpp.o" 23 | "CMakeFiles/g2o.dir/g2o/core/jacobian_workspace.cpp.o" 24 | "CMakeFiles/g2o.dir/g2o/core/robust_kernel.cpp.o" 25 | "CMakeFiles/g2o.dir/g2o/core/robust_kernel_factory.cpp.o" 26 | "CMakeFiles/g2o.dir/g2o/core/robust_kernel_impl.cpp.o" 27 | "CMakeFiles/g2o.dir/g2o/stuff/timeutil.cpp.o" 28 | "CMakeFiles/g2o.dir/g2o/stuff/os_specific.c.o" 29 | "CMakeFiles/g2o.dir/g2o/stuff/string_tools.cpp.o" 30 | "CMakeFiles/g2o.dir/g2o/stuff/property.cpp.o" 31 | "../lib/libg2o.pdb" 32 | "../lib/libg2o.so" 33 | ) 34 | 35 | # Per-language clean rules from dependency scanning. 36 | FOREACH(lang C CXX) 37 | INCLUDE(CMakeFiles/g2o.dir/cmake_clean_${lang}.cmake OPTIONAL) 38 | ENDFOREACH(lang) 39 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 2.8 3 | 4 | # compile C with /usr/bin/cc 5 | # compile CXX with /usr/bin/c++ 6 | C_FLAGS = -Wall -W -O3 -DNDEBUG -O3 -march=native -fPIC -I/home/lifu/ORB_SLAM2/Thirdparty/g2o/core -I/home/lifu/ORB_SLAM2/Thirdparty/g2o/types -I/home/lifu/ORB_SLAM2/Thirdparty/g2o/stuff -I/usr/include/eigen3 7 | 8 | C_DEFINES = -DUNIX -Dg2o_EXPORTS 9 | 10 | CXX_FLAGS = -Wall -W -O3 -DNDEBUG -O3 -march=native -fPIC -I/home/lifu/ORB_SLAM2/Thirdparty/g2o/core -I/home/lifu/ORB_SLAM2/Thirdparty/g2o/types -I/home/lifu/ORB_SLAM2/Thirdparty/g2o/stuff -I/usr/include/eigen3 11 | 12 | CXX_DEFINES = -DUNIX -Dg2o_EXPORTS 13 | 14 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/batch_stats.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/batch_stats.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/cache.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/cache.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/estimate_propagator.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/estimate_propagator.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/factory.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/factory.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/hyper_dijkstra.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/hyper_dijkstra.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/hyper_graph.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/hyper_graph.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/hyper_graph_action.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/hyper_graph_action.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/jacobian_workspace.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/jacobian_workspace.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/marginal_covariance_cholesky.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/marginal_covariance_cholesky.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/matrix_structure.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/matrix_structure.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/optimizable_graph.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/optimizable_graph.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/optimization_algorithm.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/optimization_algorithm.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/optimization_algorithm_factory.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/optimization_algorithm_factory.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/optimization_algorithm_levenberg.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/optimization_algorithm_levenberg.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/optimization_algorithm_with_hessian.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/optimization_algorithm_with_hessian.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/parameter.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/parameter.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/parameter_container.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/parameter_container.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/robust_kernel.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/robust_kernel.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/robust_kernel_factory.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/robust_kernel_factory.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/robust_kernel_impl.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/robust_kernel_impl.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/solver.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/solver.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/sparse_optimizer.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/core/sparse_optimizer.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/stuff/os_specific.c.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/stuff/os_specific.c.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/stuff/property.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/stuff/property.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/stuff/string_tools.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/stuff/string_tools.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/stuff/timeutil.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/stuff/timeutil.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/types/types_sba.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/types/types_sba.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/types/types_seven_dof_expmap.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/types/types_seven_dof_expmap.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/types/types_six_dof_expmap.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/g2o/types/types_six_dof_expmap.cpp.o -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/link.txt: -------------------------------------------------------------------------------- 1 | /usr/bin/c++ -fPIC -Wall -W -O3 -DNDEBUG -O3 -march=native -shared -Wl,-soname,libg2o.so -o ../lib/libg2o.so CMakeFiles/g2o.dir/g2o/types/types_sba.cpp.o CMakeFiles/g2o.dir/g2o/types/types_six_dof_expmap.cpp.o CMakeFiles/g2o.dir/g2o/types/types_seven_dof_expmap.cpp.o CMakeFiles/g2o.dir/g2o/core/hyper_graph_action.cpp.o CMakeFiles/g2o.dir/g2o/core/hyper_graph.cpp.o CMakeFiles/g2o.dir/g2o/core/marginal_covariance_cholesky.cpp.o CMakeFiles/g2o.dir/g2o/core/matrix_structure.cpp.o CMakeFiles/g2o.dir/g2o/core/batch_stats.cpp.o CMakeFiles/g2o.dir/g2o/core/parameter.cpp.o CMakeFiles/g2o.dir/g2o/core/cache.cpp.o CMakeFiles/g2o.dir/g2o/core/optimizable_graph.cpp.o CMakeFiles/g2o.dir/g2o/core/solver.cpp.o CMakeFiles/g2o.dir/g2o/core/optimization_algorithm_factory.cpp.o CMakeFiles/g2o.dir/g2o/core/estimate_propagator.cpp.o CMakeFiles/g2o.dir/g2o/core/factory.cpp.o CMakeFiles/g2o.dir/g2o/core/sparse_optimizer.cpp.o CMakeFiles/g2o.dir/g2o/core/hyper_dijkstra.cpp.o CMakeFiles/g2o.dir/g2o/core/parameter_container.cpp.o CMakeFiles/g2o.dir/g2o/core/optimization_algorithm.cpp.o CMakeFiles/g2o.dir/g2o/core/optimization_algorithm_with_hessian.cpp.o CMakeFiles/g2o.dir/g2o/core/optimization_algorithm_levenberg.cpp.o CMakeFiles/g2o.dir/g2o/core/jacobian_workspace.cpp.o CMakeFiles/g2o.dir/g2o/core/robust_kernel.cpp.o CMakeFiles/g2o.dir/g2o/core/robust_kernel_factory.cpp.o CMakeFiles/g2o.dir/g2o/core/robust_kernel_impl.cpp.o CMakeFiles/g2o.dir/g2o/stuff/timeutil.cpp.o CMakeFiles/g2o.dir/g2o/stuff/os_specific.c.o CMakeFiles/g2o.dir/g2o/stuff/string_tools.cpp.o CMakeFiles/g2o.dir/g2o/stuff/property.cpp.o 2 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/g2o.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | CMAKE_PROGRESS_3 = 3 4 | CMAKE_PROGRESS_4 = 4 5 | CMAKE_PROGRESS_5 = 5 6 | CMAKE_PROGRESS_6 = 6 7 | CMAKE_PROGRESS_7 = 7 8 | CMAKE_PROGRESS_8 = 8 9 | CMAKE_PROGRESS_9 = 9 10 | CMAKE_PROGRESS_10 = 10 11 | CMAKE_PROGRESS_11 = 11 12 | CMAKE_PROGRESS_12 = 12 13 | CMAKE_PROGRESS_13 = 13 14 | CMAKE_PROGRESS_14 = 14 15 | CMAKE_PROGRESS_15 = 15 16 | CMAKE_PROGRESS_16 = 16 17 | CMAKE_PROGRESS_17 = 17 18 | CMAKE_PROGRESS_18 = 18 19 | CMAKE_PROGRESS_19 = 19 20 | CMAKE_PROGRESS_20 = 20 21 | CMAKE_PROGRESS_21 = 21 22 | CMAKE_PROGRESS_22 = 22 23 | CMAKE_PROGRESS_23 = 23 24 | CMAKE_PROGRESS_24 = 24 25 | CMAKE_PROGRESS_25 = 25 26 | CMAKE_PROGRESS_26 = 26 27 | CMAKE_PROGRESS_27 = 27 28 | CMAKE_PROGRESS_28 = 28 29 | CMAKE_PROGRESS_29 = 29 30 | 31 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 29 2 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/lifu/ORB_SLAM2/Thirdparty/g2o 2 | 3 | # Set the install prefix 4 | IF(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | SET(CMAKE_INSTALL_PREFIX "/usr/local") 6 | ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) 7 | STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | IF(BUILD_TYPE) 12 | STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | ELSE(BUILD_TYPE) 15 | SET(CMAKE_INSTALL_CONFIG_NAME "Release") 16 | ENDIF(BUILD_TYPE) 17 | MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 19 | 20 | # Set the component getting installed. 21 | IF(NOT CMAKE_INSTALL_COMPONENT) 22 | IF(COMPONENT) 23 | MESSAGE(STATUS "Install component: \"${COMPONENT}\"") 24 | SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | ELSE(COMPONENT) 26 | SET(CMAKE_INSTALL_COMPONENT) 27 | ENDIF(COMPONENT) 28 | ENDIF(NOT CMAKE_INSTALL_COMPONENT) 29 | 30 | # Install shared libraries without execute permission? 31 | IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | SET(CMAKE_INSTALL_SO_NO_EXE "1") 33 | ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 34 | 35 | IF(CMAKE_INSTALL_COMPONENT) 36 | SET(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | ELSE(CMAKE_INSTALL_COMPONENT) 38 | SET(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | ENDIF(CMAKE_INSTALL_COMPONENT) 40 | 41 | FILE(WRITE "/home/lifu/ORB_SLAM2/Thirdparty/g2o/build/${CMAKE_INSTALL_MANIFEST}" "") 42 | FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES}) 43 | FILE(APPEND "/home/lifu/ORB_SLAM2/Thirdparty/g2o/build/${CMAKE_INSTALL_MANIFEST}" "${file}\n") 44 | ENDFOREACH(file) 45 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/config.h: -------------------------------------------------------------------------------- 1 | #ifndef G2O_CONFIG_H 2 | #define G2O_CONFIG_H 3 | 4 | /* #undef G2O_OPENMP */ 5 | /* #undef G2O_SHARED_LIBS */ 6 | 7 | // give a warning if Eigen defaults to row-major matrices. 8 | // We internally assume column-major matrices throughout the code. 9 | #ifdef EIGEN_DEFAULT_TO_ROW_MAJOR 10 | # error "g2o requires column major Eigen matrices (see http://eigen.tuxfamily.org/bz/show_bug.cgi?id=422)" 11 | #endif 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/config.h.in: -------------------------------------------------------------------------------- 1 | #ifndef G2O_CONFIG_H 2 | #define G2O_CONFIG_H 3 | 4 | #cmakedefine G2O_OPENMP 1 5 | #cmakedefine G2O_SHARED_LIBS 1 6 | 7 | // give a warning if Eigen defaults to row-major matrices. 8 | // We internally assume column-major matrices throughout the code. 9 | #ifdef EIGEN_DEFAULT_TO_ROW_MAJOR 10 | # error "g2o requires column major Eigen matrices (see http://eigen.tuxfamily.org/bz/show_bug.cgi?id=422)" 11 | #endif 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/g2o/core/parameter.cpp: -------------------------------------------------------------------------------- 1 | // g2o - General Graph Optimization 2 | // Copyright (C) 2011 R. Kuemmerle, G. Grisetti, W. Burgard 3 | // All rights reserved. 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are 7 | // met: 8 | // 9 | // * Redistributions of source code must retain the above copyright notice, 10 | // this list of conditions and the following disclaimer. 11 | // * Redistributions in binary form must reproduce the above copyright 12 | // notice, this list of conditions and the following disclaimer in the 13 | // documentation and/or other materials provided with the distribution. 14 | // 15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 16 | // IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 17 | // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 18 | // PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 19 | // HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 21 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 22 | // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 23 | // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 24 | // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | 27 | #include "parameter.h" 28 | 29 | namespace g2o { 30 | 31 | Parameter::Parameter() : _id(-1) 32 | { 33 | } 34 | 35 | void Parameter::setId(int id_) 36 | { 37 | _id = id_; 38 | } 39 | 40 | } // end namespace 41 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/g2o/core/robust_kernel.cpp: -------------------------------------------------------------------------------- 1 | // g2o - General Graph Optimization 2 | // Copyright (C) 2011 R. Kuemmerle, G. Grisetti, W. Burgard 3 | // All rights reserved. 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are 7 | // met: 8 | // 9 | // * Redistributions of source code must retain the above copyright notice, 10 | // this list of conditions and the following disclaimer. 11 | // * Redistributions in binary form must reproduce the above copyright 12 | // notice, this list of conditions and the following disclaimer in the 13 | // documentation and/or other materials provided with the distribution. 14 | // 15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 16 | // IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 17 | // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 18 | // PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 19 | // HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 21 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 22 | // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 23 | // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 24 | // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | 27 | #include "robust_kernel.h" 28 | 29 | namespace g2o { 30 | 31 | RobustKernel::RobustKernel() : 32 | _delta(1.) 33 | { 34 | } 35 | 36 | RobustKernel::RobustKernel(double delta) : 37 | _delta(delta) 38 | { 39 | } 40 | 41 | void RobustKernel::setDelta(double delta) 42 | { 43 | _delta = delta; 44 | } 45 | 46 | } // end namespace g2o 47 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/g2o/types/se3_ops.h: -------------------------------------------------------------------------------- 1 | // g2o - General Graph Optimization 2 | // Copyright (C) 2011 H. Strasdat 3 | // All rights reserved. 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are 7 | // met: 8 | // 9 | // * Redistributions of source code must retain the above copyright notice, 10 | // this list of conditions and the following disclaimer. 11 | // * Redistributions in binary form must reproduce the above copyright 12 | // notice, this list of conditions and the following disclaimer in the 13 | // documentation and/or other materials provided with the distribution. 14 | // 15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 16 | // IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 17 | // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 18 | // PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 19 | // HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 21 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 22 | // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 23 | // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 24 | // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | 27 | #ifndef G2O_MATH_STUFF 28 | #define G2O_MATH_STUFF 29 | 30 | #include 31 | #include 32 | 33 | namespace g2o { 34 | using namespace Eigen; 35 | 36 | inline Matrix3d skew(const Vector3d&v); 37 | inline Vector3d deltaR(const Matrix3d& R); 38 | inline Vector2d project(const Vector3d&); 39 | inline Vector3d project(const Vector4d&); 40 | inline Vector3d unproject(const Vector2d&); 41 | inline Vector4d unproject(const Vector3d&); 42 | 43 | #include "se3_ops.hpp" 44 | 45 | } 46 | 47 | #endif //MATH_STUFF 48 | -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/lib/libg2o.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Thirdparty/g2o/lib/libg2o.so -------------------------------------------------------------------------------- /src/orbslam_client/Thirdparty/g2o/license-bsd.txt: -------------------------------------------------------------------------------- 1 | g2o - General Graph Optimization 2 | Copyright (C) 2011 Rainer Kuemmerle, Giorgio Grisetti, Hauke Strasdat, 3 | Kurt Konolige, and Wolfram Burgard 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 8 | met: 9 | 10 | * Redistributions of source code must retain the above copyright notice, 11 | this list of conditions and the following disclaimer. 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 17 | IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 18 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 19 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 20 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 22 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 24 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | 28 | -------------------------------------------------------------------------------- /src/orbslam_client/Vocabulary/ORBvoc.txt.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_client/Vocabulary/ORBvoc.txt.tar.gz -------------------------------------------------------------------------------- /src/orbslam_client/build.sh: -------------------------------------------------------------------------------- 1 | echo "Configuring and building Thirdparty/DBoW2 ..." 2 | 3 | cd Thirdparty/DBoW2 4 | mkdir build 5 | cd build 6 | cmake .. -DCMAKE_BUILD_TYPE=Release 7 | make -j 8 | 9 | cd ../../g2o 10 | 11 | echo "Configuring and building Thirdparty/g2o ..." 12 | 13 | mkdir build 14 | cd build 15 | cmake .. -DCMAKE_BUILD_TYPE=Release 16 | make -j 17 | 18 | cd ../../../ 19 | 20 | echo "Uncompress vocabulary ..." 21 | 22 | cd Vocabulary 23 | tar -xf ORBvoc.txt.tar.gz 24 | cd .. 25 | 26 | echo "Configuring and building ORB_SLAM2 ..." 27 | 28 | mkdir build 29 | cd build 30 | cmake .. -DCMAKE_BUILD_TYPE=Release 31 | make -j 32 | -------------------------------------------------------------------------------- /src/orbslam_client/include/FrameDrawer.h: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of ORB-SLAM2. 3 | * 4 | * Copyright (C) 2014-2016 Raúl Mur-Artal (University of Zaragoza) 5 | * For more information see 6 | * 7 | * ORB-SLAM2 is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * ORB-SLAM2 is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with ORB-SLAM2. If not, see . 19 | */ 20 | 21 | #ifndef FRAMEDRAWER_H 22 | #define FRAMEDRAWER_H 23 | 24 | #include "Tracking.h" 25 | #include "MapPoint.h" 26 | #include "Map.h" 27 | 28 | #include 29 | #include 30 | 31 | #include 32 | 33 | 34 | namespace ORB_SLAM2 35 | { 36 | 37 | class Tracking; 38 | class Viewer; 39 | 40 | class FrameDrawer 41 | { 42 | public: 43 | FrameDrawer(Map* pMap); 44 | 45 | // Update info from the last processed frame. 46 | void Update(Tracking *pTracker); 47 | 48 | // Draw last processed frame. 49 | cv::Mat DrawFrame(); 50 | 51 | protected: 52 | 53 | void DrawTextInfo(cv::Mat &im, int nState, cv::Mat &imText); 54 | 55 | // Info of the frame to be drawn 56 | cv::Mat mIm; 57 | int N; 58 | vector mvCurrentKeys; 59 | vector mvbMap, mvbVO; 60 | bool mbOnlyTracking; 61 | int mnTracked, mnTrackedVO; 62 | vector mvIniKeys; 63 | vector mvIniMatches; 64 | int mState; 65 | 66 | Map* mpMap; 67 | 68 | std::mutex mMutex; 69 | }; 70 | 71 | } //namespace ORB_SLAM 72 | 73 | #endif // FRAMEDRAWER_H 74 | -------------------------------------------------------------------------------- /src/orbslam_client/include/LightKeyFrame.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by lifu on 17-2-1. 3 | // 4 | 5 | #ifndef ORB_SLAM2_LIGHTKEYFRAME_H 6 | #define ORB_SLAM2_LIGHTKEYFRAME_H 7 | 8 | 9 | #include "Frame.h" 10 | #include "KeyFrame.h" 11 | #include "MapPoint.h" 12 | #include "ORBVocabulary.h" 13 | #include "KeyFrameDatabase.h" 14 | #include "Map.h" 15 | 16 | #include 17 | #include 18 | #include 19 | 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | 26 | /* 27 | * 28 | */ 29 | 30 | namespace ORB_SLAM2 { 31 | class Map; 32 | class Cache; 33 | class KeyFrame; 34 | 35 | class LightKeyFrame { 36 | private: 37 | friend class boost::serialization::access; 38 | template 39 | void serialize(Archive &ar, const unsigned int) { 40 | ar & mnId; 41 | } 42 | 43 | public: 44 | //constructure 45 | LightKeyFrame(); 46 | LightKeyFrame(long unsigned int pId, Cache *pCache); 47 | 48 | LightKeyFrame( KeyFrame * pKF ); 49 | ~LightKeyFrame(){ } 50 | 51 | // replement the < operate function 52 | bool operator < ( const LightKeyFrame & lkf ) const{ 53 | return this->mnId < lkf.mnId; 54 | } 55 | 56 | bool operator == ( const LightKeyFrame & lkf ) const{ 57 | return this->mnId == lkf.mnId; 58 | } 59 | 60 | void setCacher( Cache *pCacher ){ 61 | 62 | mpCache = pCacher; 63 | 64 | } 65 | 66 | KeyFrame* getKeyFrame() const; 67 | 68 | KeyFrame* getKeyFrameInCache(); 69 | 70 | // the original keyframe ID 71 | long unsigned int mnId; 72 | //the referense of the cache 73 | Cache *mpCache; 74 | 75 | }; 76 | } 77 | 78 | 79 | 80 | #endif //ORB_SLAM2_LIGHTKEYFRAME_H 81 | -------------------------------------------------------------------------------- /src/orbslam_client/include/LightMapPoint.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by lifu on 17-2-2. 3 | // 4 | 5 | #ifndef ORB_SLAM2_LIGHTMAPPOINT_H 6 | #define ORB_SLAM2_LIGHTMAPPOINT_H 7 | 8 | 9 | 10 | #include "Frame.h" 11 | #include "KeyFrame.h" 12 | #include "MapPoint.h" 13 | #include "ORBVocabulary.h" 14 | #include "KeyFrameDatabase.h" 15 | #include "Map.h" 16 | 17 | #include 18 | #include 19 | #include 20 | 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | 27 | /* 28 | * 29 | */ 30 | 31 | namespace ORB_SLAM2 { 32 | class Map; 33 | class Cache; 34 | class KeyFrame; 35 | class MapPoint; 36 | 37 | class LightMapPoint { 38 | private: 39 | friend class boost::serialization::access; 40 | template 41 | void serialize(Archive &ar, const unsigned int) { 42 | ar & mnMapPointId; 43 | } 44 | 45 | public: 46 | //constructure 47 | LightMapPoint(); 48 | LightMapPoint(long unsigned int pId, Cache *pCache); 49 | 50 | LightMapPoint( MapPoint * pMP ); 51 | ~LightMapPoint(){ } 52 | 53 | // replement the < operate function 54 | bool operator < ( const LightMapPoint & lMP ) const{ 55 | return this->mnMapPointId < lMP.mnMapPointId; 56 | }; 57 | 58 | bool operator == ( const LightMapPoint & lMP ) const{ 59 | return this->mnMapPointId == lMP.mnMapPointId; 60 | }; 61 | 62 | MapPoint* getMapPoint() const; 63 | 64 | void setCacher( Cache *pCacher) { 65 | 66 | mpCache = pCacher; 67 | 68 | } 69 | 70 | // the original MapPoint ID 71 | long unsigned int mnMapPointId; 72 | //the referense of the cache 73 | Cache *mpCache; 74 | 75 | }; 76 | } 77 | 78 | #endif //ORB_SLAM2_LIGHTMAPPOINT_H 79 | -------------------------------------------------------------------------------- /src/orbslam_client/include/MapDrawer.h: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of ORB-SLAM2. 3 | * 4 | * Copyright (C) 2014-2016 Raúl Mur-Artal (University of Zaragoza) 5 | * For more information see 6 | * 7 | * ORB-SLAM2 is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * ORB-SLAM2 is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with ORB-SLAM2. If not, see . 19 | */ 20 | 21 | #ifndef MAPDRAWER_H 22 | #define MAPDRAWER_H 23 | 24 | #include"Map.h" 25 | #include"MapPoint.h" 26 | #include"KeyFrame.h" 27 | #include 28 | 29 | #include 30 | 31 | namespace ORB_SLAM2 32 | { 33 | 34 | class MapDrawer 35 | { 36 | public: 37 | MapDrawer(Map* pMap, const string &strSettingPath); 38 | 39 | Map* mpMap; 40 | 41 | void DrawMapPoints(); 42 | void DrawKeyFrames(const bool bDrawKF, const bool bDrawGraph); 43 | void DrawCurrentCamera(pangolin::OpenGlMatrix &Twc); 44 | void SetCurrentCameraPose(const cv::Mat &Tcw); 45 | void SetReferenceKeyFrame(KeyFrame *pKF); 46 | void GetCurrentOpenGLCameraMatrix(pangolin::OpenGlMatrix &M); 47 | void DrawTopoMapline(int MaxArea, int Lmax, int Lmin); 48 | 49 | private: 50 | 51 | float mKeyFrameSize; 52 | float mKeyFrameLineWidth; 53 | float mGraphLineWidth; 54 | float mPointSize; 55 | float mCameraSize; 56 | float mCameraLineWidth; 57 | 58 | cv::Mat mCameraPose; 59 | 60 | std::mutex mMutexCamera; 61 | }; 62 | 63 | } //namespace ORB_SLAM 64 | 65 | #endif // MAPDRAWER_H 66 | -------------------------------------------------------------------------------- /src/orbslam_client/include/ORBVocabulary.h: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of ORB-SLAM2. 3 | * 4 | * Copyright (C) 2014-2016 Raúl Mur-Artal (University of Zaragoza) 5 | * For more information see 6 | * 7 | * ORB-SLAM2 is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * ORB-SLAM2 is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with ORB-SLAM2. If not, see . 19 | */ 20 | 21 | 22 | #ifndef ORBVOCABULARY_H 23 | #define ORBVOCABULARY_H 24 | 25 | #include"Thirdparty/DBoW2/DBoW2/FORB.h" 26 | #include"Thirdparty/DBoW2/DBoW2/TemplatedVocabulary.h" 27 | 28 | namespace ORB_SLAM2 29 | { 30 | 31 | typedef DBoW2::TemplatedVocabulary 32 | ORBVocabulary; 33 | 34 | } //namespace ORB_SLAM 35 | 36 | #endif // ORBVOCABULARY_H 37 | -------------------------------------------------------------------------------- /src/orbslam_client/src/LightKeyFrame.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Created by lifu on 17-2-1. 3 | // 4 | 5 | #include "System.h" 6 | #include "Cache.h" 7 | #include "LightKeyFrame.h" 8 | #include "Converter.h" 9 | #include 10 | #include 11 | #include 12 | 13 | namespace ORB_SLAM2 { 14 | 15 | LightKeyFrame::LightKeyFrame() : mnId(0), mpCache(nullptr) { 16 | 17 | } 18 | 19 | LightKeyFrame::LightKeyFrame(long unsigned int pId, Cache *pCache) 20 | : mnId(pId), mpCache(pCache) { 21 | 22 | } 23 | 24 | LightKeyFrame::LightKeyFrame(KeyFrame *pKF) { 25 | if( pKF ) { 26 | this->mnId = pKF->mnId; 27 | this->mpCache = pKF->getCache(); 28 | } else{ 29 | this->mnId = 0; 30 | this->mpCache = nullptr; 31 | } 32 | } 33 | 34 | KeyFrame* LightKeyFrame::getKeyFrame() const{ 35 | 36 | if( this->mpCache ) 37 | return this->mpCache->getKeyFrameById( this->mnId ); 38 | else 39 | return nullptr; 40 | 41 | } 42 | 43 | KeyFrame* LightKeyFrame::getKeyFrameInCache() { 44 | 45 | if( this->mpCache ) { 46 | if( this->mpCache->KeyFrameInCache( this->mnId)) { 47 | return this->mpCache->getKeyFrameById( this->mnId ); 48 | } 49 | } 50 | 51 | return nullptr; 52 | 53 | } 54 | 55 | 56 | 57 | } -------------------------------------------------------------------------------- /src/orbslam_client/src/LightMapPoint.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Created by lifu on 17-2-2. 3 | // 4 | 5 | 6 | #include "System.h" 7 | #include "Cache.h" 8 | #include "LightKeyFrame.h" 9 | #include "Converter.h" 10 | #include 11 | #include 12 | #include 13 | #include "LightMapPoint.h" 14 | 15 | 16 | namespace ORB_SLAM2 { 17 | 18 | LightMapPoint::LightMapPoint() { 19 | this->mnMapPointId = 0; 20 | this->mpCache = nullptr; 21 | } 22 | LightMapPoint::LightMapPoint(MapPoint *pMP) { 23 | if( pMP) { 24 | this->mnMapPointId = pMP->mnId; 25 | this->mpCache = pMP->getCache(); 26 | }else { 27 | this->mnMapPointId = 0; 28 | this->mpCache = nullptr; 29 | } 30 | 31 | } 32 | LightMapPoint::LightMapPoint(long unsigned int pId, Cache *pCache) { 33 | 34 | this->mnMapPointId = pId; 35 | this->mpCache = pCache; 36 | 37 | } 38 | MapPoint* LightMapPoint::getMapPoint() const { 39 | 40 | if( this->mpCache ) 41 | return this->mpCache->getMapPointById( this->mnMapPointId); 42 | else 43 | return nullptr; 44 | 45 | } 46 | 47 | 48 | } -------------------------------------------------------------------------------- /src/orbslam_client/srv/orbslam_client_testsrv.srv: -------------------------------------------------------------------------------- 1 | string FNAME 2 | string LNAME 3 | int32 AGE 4 | --- 5 | int32 ID -------------------------------------------------------------------------------- /src/orbslam_server/Thirdparty/package/libcutl-1.10.0.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_server/Thirdparty/package/libcutl-1.10.0.tar.bz2 -------------------------------------------------------------------------------- /src/orbslam_server/Thirdparty/package/libodb-2.4.0.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_server/Thirdparty/package/libodb-2.4.0.tar.bz2 -------------------------------------------------------------------------------- /src/orbslam_server/Thirdparty/package/libodb-boost-2.4.0.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_server/Thirdparty/package/libodb-boost-2.4.0.tar.bz2 -------------------------------------------------------------------------------- /src/orbslam_server/Thirdparty/package/libodb-pgsql-2.4.0.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_server/Thirdparty/package/libodb-pgsql-2.4.0.tar.bz2 -------------------------------------------------------------------------------- /src/orbslam_server/Thirdparty/package/odb-2.4.0.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_server/Thirdparty/package/odb-2.4.0.tar.bz2 -------------------------------------------------------------------------------- /src/orbslam_server/Thirdparty/package/odb-examples-2.4.0.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifunudt/M2SLAM/fb0d17916e9a54bc8f4314948f02844ad05c70db/src/orbslam_server/Thirdparty/package/odb-examples-2.4.0.tar.bz2 -------------------------------------------------------------------------------- /src/orbslam_server/include/Data_KeyFrame-odb.ixx: -------------------------------------------------------------------------------- 1 | // This file was generated by ODB, object-relational mapping (ORM) 2 | // compiler for C++. 3 | // 4 | 5 | namespace odb 6 | { 7 | // Data_KeyFrame 8 | // 9 | 10 | inline 11 | access::object_traits< ::Data_KeyFrame >::id_type 12 | access::object_traits< ::Data_KeyFrame >:: 13 | id (const object_type& o) 14 | { 15 | return o.id_; 16 | } 17 | 18 | inline 19 | void access::object_traits< ::Data_KeyFrame >:: 20 | callback (database& db, object_type& x, callback_event e) 21 | { 22 | ODB_POTENTIALLY_UNUSED (db); 23 | ODB_POTENTIALLY_UNUSED (x); 24 | ODB_POTENTIALLY_UNUSED (e); 25 | } 26 | 27 | inline 28 | void access::object_traits< ::Data_KeyFrame >:: 29 | callback (database& db, const object_type& x, callback_event e) 30 | { 31 | ODB_POTENTIALLY_UNUSED (db); 32 | ODB_POTENTIALLY_UNUSED (x); 33 | ODB_POTENTIALLY_UNUSED (e); 34 | } 35 | } 36 | 37 | namespace odb 38 | { 39 | // Data_KeyFrame 40 | // 41 | 42 | inline 43 | void access::object_traits_impl< ::Data_KeyFrame, id_pgsql >:: 44 | erase (database& db, const object_type& obj) 45 | { 46 | callback (db, obj, callback_event::pre_erase); 47 | erase (db, id (obj)); 48 | callback (db, obj, callback_event::post_erase); 49 | } 50 | 51 | inline 52 | void access::object_traits_impl< ::Data_KeyFrame, id_pgsql >:: 53 | load_ (statements_type& sts, 54 | object_type& obj, 55 | bool) 56 | { 57 | ODB_POTENTIALLY_UNUSED (sts); 58 | ODB_POTENTIALLY_UNUSED (obj); 59 | } 60 | } 61 | 62 | -------------------------------------------------------------------------------- /src/orbslam_server/include/Data_KeyFrame.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by lifu on 2/20/17. 3 | // 4 | 5 | #ifndef PROJECT_DATA_KEYFRAME_H 6 | #define PROJECT_DATA_KEYFRAME_H 7 | 8 | #include 9 | #include // std::size_t 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | using namespace std; 22 | 23 | #pragma db object 24 | 25 | class Data_KeyFrame { 26 | 27 | public: 28 | Data_KeyFrame() { 29 | 30 | } 31 | 32 | Data_KeyFrame(long unsigned int kfid ,std::string pose, std::string data) { 33 | 34 | kfid_ = kfid; 35 | Data_KeyFrame::pose_ = pose; 36 | Data_KeyFrame::data_ = data; 37 | 38 | } 39 | Data_KeyFrame* getData_KeyFrame() { 40 | return this; 41 | } 42 | 43 | unsigned long getId_() const { 44 | return id_; 45 | } 46 | 47 | void setId_(unsigned long id_) { 48 | Data_KeyFrame::id_ = id_; 49 | } 50 | 51 | unsigned long getKfid_() const { 52 | return kfid_; 53 | } 54 | 55 | void setKfid_(unsigned long kfid_) { 56 | Data_KeyFrame::kfid_ = kfid_; 57 | } 58 | 59 | 60 | const string &getData_() const { 61 | return data_; 62 | } 63 | 64 | void setData_(const string &data_) { 65 | Data_KeyFrame::data_ = data_; 66 | } 67 | 68 | const string &getPose_() const { 69 | return pose_; 70 | } 71 | 72 | void setPose_(const string &pose_) { 73 | Data_KeyFrame::pose_ = pose_; 74 | } 75 | 76 | private: 77 | friend class odb::access; 78 | 79 | #pragma db id auto 80 | unsigned long id_; 81 | 82 | long unsigned int kfid_; 83 | 84 | std::string pose_; 85 | 86 | std::string data_; 87 | 88 | }; 89 | 90 | #endif //PROJECT_DATA_KEYFRAME_H -------------------------------------------------------------------------------- /src/orbslam_server/include/Data_KeyFrame.sql: -------------------------------------------------------------------------------- 1 | /* This file was generated by ODB, object-relational mapping (ORM) 2 | * compiler for C++. 3 | */ 4 | 5 | DROP TABLE IF EXISTS "Data_KeyFrame" CASCADE; 6 | 7 | CREATE TABLE "Data_KeyFrame" ( 8 | "id" BIGSERIAL NOT NULL PRIMARY KEY, 9 | "kfid" BIGINT NOT NULL, 10 | "pose" TEXT NOT NULL, 11 | "data" TEXT NOT NULL); 12 | 13 | -------------------------------------------------------------------------------- /src/orbslam_server/include/Data_MapPoint-odb.ixx: -------------------------------------------------------------------------------- 1 | // This file was generated by ODB, object-relational mapping (ORM) 2 | // compiler for C++. 3 | // 4 | 5 | namespace odb 6 | { 7 | // Data_MapPoint 8 | // 9 | 10 | inline 11 | access::object_traits< ::Data_MapPoint >::id_type 12 | access::object_traits< ::Data_MapPoint >:: 13 | id (const object_type& o) 14 | { 15 | return o.id_; 16 | } 17 | 18 | inline 19 | void access::object_traits< ::Data_MapPoint >:: 20 | callback (database& db, object_type& x, callback_event e) 21 | { 22 | ODB_POTENTIALLY_UNUSED (db); 23 | ODB_POTENTIALLY_UNUSED (x); 24 | ODB_POTENTIALLY_UNUSED (e); 25 | } 26 | 27 | inline 28 | void access::object_traits< ::Data_MapPoint >:: 29 | callback (database& db, const object_type& x, callback_event e) 30 | { 31 | ODB_POTENTIALLY_UNUSED (db); 32 | ODB_POTENTIALLY_UNUSED (x); 33 | ODB_POTENTIALLY_UNUSED (e); 34 | } 35 | } 36 | 37 | namespace odb 38 | { 39 | // Data_MapPoint 40 | // 41 | 42 | inline 43 | void access::object_traits_impl< ::Data_MapPoint, id_pgsql >:: 44 | erase (database& db, const object_type& obj) 45 | { 46 | callback (db, obj, callback_event::pre_erase); 47 | erase (db, id (obj)); 48 | callback (db, obj, callback_event::post_erase); 49 | } 50 | 51 | inline 52 | void access::object_traits_impl< ::Data_MapPoint, id_pgsql >:: 53 | load_ (statements_type& sts, 54 | object_type& obj, 55 | bool) 56 | { 57 | ODB_POTENTIALLY_UNUSED (sts); 58 | ODB_POTENTIALLY_UNUSED (obj); 59 | } 60 | } 61 | 62 | -------------------------------------------------------------------------------- /src/orbslam_server/include/Data_MapPoint.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by lifu on 3/23/17. 3 | // 4 | 5 | #ifndef PROJECT_DATA_MAPPOINT_H 6 | #define PROJECT_DATA_MAPPOINT_H 7 | 8 | #include 9 | #include // std::size_t 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | using namespace std; 22 | 23 | #pragma db object 24 | 25 | class Data_MapPoint { 26 | 27 | public: 28 | Data_MapPoint() { 29 | 30 | } 31 | 32 | Data_MapPoint(long unsigned int kfid , std::string pose, std::string data) { 33 | 34 | mpid_ = kfid; 35 | Data_MapPoint::pose_ = pose; 36 | Data_MapPoint::data_ = data; 37 | 38 | } 39 | Data_MapPoint* getData_MapPoint() { 40 | return this; 41 | } 42 | 43 | 44 | unsigned long getId_() const { 45 | return id_; 46 | } 47 | 48 | void setId_(unsigned long id_) { 49 | Data_MapPoint::id_ = id_; 50 | } 51 | 52 | unsigned long getMpid_() const { 53 | return mpid_; 54 | } 55 | 56 | void setMpid_(unsigned long mpid_) { 57 | Data_MapPoint::mpid_ = mpid_; 58 | } 59 | 60 | const string &getData_() const { 61 | return data_; 62 | } 63 | 64 | void setData_(const string &data_) { 65 | Data_MapPoint::data_ = data_; 66 | } 67 | 68 | const string &getPose_() const { 69 | return pose_; 70 | } 71 | 72 | void setPose_(const string &pose_) { 73 | Data_MapPoint::pose_ = pose_; 74 | } 75 | 76 | private: 77 | friend class odb::access; 78 | 79 | #pragma db id auto 80 | unsigned long id_; 81 | 82 | long unsigned int mpid_; 83 | 84 | std::string pose_; 85 | 86 | std::string data_; 87 | 88 | }; 89 | 90 | 91 | #endif //PROJECT_DATA_MAPPOINT_H 92 | -------------------------------------------------------------------------------- /src/orbslam_server/include/Data_MapPoint.sql: -------------------------------------------------------------------------------- 1 | /* This file was generated by ODB, object-relational mapping (ORM) 2 | * compiler for C++. 3 | */ 4 | 5 | DROP TABLE IF EXISTS "Data_MapPoint" CASCADE; 6 | 7 | CREATE TABLE "Data_MapPoint" ( 8 | "id" BIGSERIAL NOT NULL PRIMARY KEY, 9 | "mpid" BIGINT NOT NULL, 10 | "pose" TEXT NOT NULL, 11 | "data" TEXT NOT NULL); 12 | 13 | -------------------------------------------------------------------------------- /src/orbslam_server/include/Data_TopoKeyFrame-odb.ixx: -------------------------------------------------------------------------------- 1 | // This file was generated by ODB, object-relational mapping (ORM) 2 | // compiler for C++. 3 | // 4 | 5 | namespace odb 6 | { 7 | // Data_TopoKeyFrame 8 | // 9 | 10 | inline 11 | access::object_traits< ::Data_TopoKeyFrame >::id_type 12 | access::object_traits< ::Data_TopoKeyFrame >:: 13 | id (const object_type& o) 14 | { 15 | return o.id_; 16 | } 17 | 18 | inline 19 | void access::object_traits< ::Data_TopoKeyFrame >:: 20 | callback (database& db, object_type& x, callback_event e) 21 | { 22 | ODB_POTENTIALLY_UNUSED (db); 23 | ODB_POTENTIALLY_UNUSED (x); 24 | ODB_POTENTIALLY_UNUSED (e); 25 | } 26 | 27 | inline 28 | void access::object_traits< ::Data_TopoKeyFrame >:: 29 | callback (database& db, const object_type& x, callback_event e) 30 | { 31 | ODB_POTENTIALLY_UNUSED (db); 32 | ODB_POTENTIALLY_UNUSED (x); 33 | ODB_POTENTIALLY_UNUSED (e); 34 | } 35 | } 36 | 37 | namespace odb 38 | { 39 | // Data_TopoKeyFrame 40 | // 41 | 42 | inline 43 | void access::object_traits_impl< ::Data_TopoKeyFrame, id_pgsql >:: 44 | erase (database& db, const object_type& obj) 45 | { 46 | callback (db, obj, callback_event::pre_erase); 47 | erase (db, id (obj)); 48 | callback (db, obj, callback_event::post_erase); 49 | } 50 | 51 | inline 52 | void access::object_traits_impl< ::Data_TopoKeyFrame, id_pgsql >:: 53 | load_ (statements_type& sts, 54 | object_type& obj, 55 | bool) 56 | { 57 | ODB_POTENTIALLY_UNUSED (sts); 58 | ODB_POTENTIALLY_UNUSED (obj); 59 | } 60 | } 61 | 62 | -------------------------------------------------------------------------------- /src/orbslam_server/include/Data_TopoKeyFrame.sql: -------------------------------------------------------------------------------- 1 | /* This file was generated by ODB, object-relational mapping (ORM) 2 | * compiler for C++. 3 | */ 4 | 5 | DROP TABLE IF EXISTS "Data_TopoKeyFrame" CASCADE; 6 | 7 | CREATE TABLE "Data_TopoKeyFrame" ( 8 | "id" BIGSERIAL NOT NULL PRIMARY KEY, 9 | "topoId" BIGINT NOT NULL, 10 | "pose" TEXT NOT NULL, 11 | "data" TEXT NOT NULL); 12 | 13 | -------------------------------------------------------------------------------- /src/orbslam_server/include/Data_TopoMapPoint-odb.ixx: -------------------------------------------------------------------------------- 1 | // This file was generated by ODB, object-relational mapping (ORM) 2 | // compiler for C++. 3 | // 4 | 5 | namespace odb 6 | { 7 | // Data_TopoMapPoint 8 | // 9 | 10 | inline 11 | access::object_traits< ::Data_TopoMapPoint >::id_type 12 | access::object_traits< ::Data_TopoMapPoint >:: 13 | id (const object_type& o) 14 | { 15 | return o.id_; 16 | } 17 | 18 | inline 19 | void access::object_traits< ::Data_TopoMapPoint >:: 20 | callback (database& db, object_type& x, callback_event e) 21 | { 22 | ODB_POTENTIALLY_UNUSED (db); 23 | ODB_POTENTIALLY_UNUSED (x); 24 | ODB_POTENTIALLY_UNUSED (e); 25 | } 26 | 27 | inline 28 | void access::object_traits< ::Data_TopoMapPoint >:: 29 | callback (database& db, const object_type& x, callback_event e) 30 | { 31 | ODB_POTENTIALLY_UNUSED (db); 32 | ODB_POTENTIALLY_UNUSED (x); 33 | ODB_POTENTIALLY_UNUSED (e); 34 | } 35 | } 36 | 37 | namespace odb 38 | { 39 | // Data_TopoMapPoint 40 | // 41 | 42 | inline 43 | void access::object_traits_impl< ::Data_TopoMapPoint, id_pgsql >:: 44 | erase (database& db, const object_type& obj) 45 | { 46 | callback (db, obj, callback_event::pre_erase); 47 | erase (db, id (obj)); 48 | callback (db, obj, callback_event::post_erase); 49 | } 50 | 51 | inline 52 | void access::object_traits_impl< ::Data_TopoMapPoint, id_pgsql >:: 53 | load_ (statements_type& sts, 54 | object_type& obj, 55 | bool) 56 | { 57 | ODB_POTENTIALLY_UNUSED (sts); 58 | ODB_POTENTIALLY_UNUSED (obj); 59 | } 60 | } 61 | 62 | -------------------------------------------------------------------------------- /src/orbslam_server/include/Data_TopoMapPoint.sql: -------------------------------------------------------------------------------- 1 | /* This file was generated by ODB, object-relational mapping (ORM) 2 | * compiler for C++. 3 | */ 4 | 5 | DROP TABLE IF EXISTS "Data_TopoMapPoint" CASCADE; 6 | 7 | CREATE TABLE "Data_TopoMapPoint" ( 8 | "id" BIGSERIAL NOT NULL PRIMARY KEY, 9 | "topoId" BIGINT NOT NULL, 10 | "pose" TEXT NOT NULL, 11 | "data" TEXT NOT NULL); 12 | 13 | -------------------------------------------------------------------------------- /src/orbslam_server/include/Serialization.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by lifu on 4/3/17. 3 | // 4 | 5 | #ifndef PROJECT_SERIALIZATION_H 6 | #define PROJECT_SERIALIZATION_H 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include "cstring" 19 | 20 | using namespace std; 21 | 22 | namespace boost { 23 | namespace serialization { 24 | 25 | //serialize the opencv mat class 26 | template 27 | void serialize(Archive &ar, pair &par, const unsigned int) { 28 | ar & par.first & par.second; 29 | } 30 | } 31 | } 32 | 33 | #endif //PROJECT_SERIALIZATION_H 34 | -------------------------------------------------------------------------------- /src/orbslam_server/include/person.h: -------------------------------------------------------------------------------- 1 | // file : hello/person.hxx 2 | // copyright : not copyrighted - public domain 3 | 4 | #ifndef PERSON_HXX 5 | #define PERSON_HXX 6 | 7 | #include 8 | #include // std::size_t 9 | 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | #pragma db object 20 | 21 | class person { 22 | 23 | private: 24 | friend class boost::serialization::access; 25 | 26 | template 27 | void serialize(Archive &ar, const unsigned int version) { 28 | ar & first_; 29 | ar & last_; 30 | ar & age_; 31 | } 32 | 33 | public: 34 | person() { 35 | 36 | } 37 | 38 | person(const std::string &first, 39 | const std::string &last, 40 | unsigned short age) 41 | : first_(first), last_(last), age_(age) { 42 | } 43 | 44 | const std::string & first() const { 45 | return first_; 46 | } 47 | 48 | const std::string & last() const { 49 | return last_; 50 | } 51 | 52 | unsigned short age() const { 53 | return age_; 54 | } 55 | 56 | void age(unsigned short age) { 57 | age_ = age; 58 | } 59 | 60 | private: 61 | friend class odb::access; 62 | 63 | #pragma db id auto 64 | unsigned long id_; 65 | 66 | std::string first_; 67 | std::string last_; 68 | unsigned short age_; 69 | }; 70 | 71 | #pragma db view object(person) 72 | struct person_stat { 73 | #pragma db column("count(" + person::id_ + ")") 74 | std::size_t count; 75 | 76 | #pragma db column("min(" + person::age_ + ")") 77 | unsigned short min_age; 78 | 79 | #pragma db column("max(" + person::age_ + ")") 80 | unsigned short max_age; 81 | }; 82 | 83 | #endif // PERSON_HXX 84 | -------------------------------------------------------------------------------- /src/orbslam_server/srv/orbslam_get.srv: -------------------------------------------------------------------------------- 1 | int32 ID 2 | --- 3 | string POSE 4 | string DATA 5 | -------------------------------------------------------------------------------- /src/orbslam_server/srv/orbslam_muilt_get.srv: -------------------------------------------------------------------------------- 1 | string IDS 2 | --- 3 | string POSE 4 | string DATA -------------------------------------------------------------------------------- /src/orbslam_server/srv/orbslam_muilt_save.srv: -------------------------------------------------------------------------------- 1 | string DATA 2 | string POSE 3 | --- 4 | string IDS -------------------------------------------------------------------------------- /src/orbslam_server/srv/orbslam_pose_get.srv: -------------------------------------------------------------------------------- 1 | int32 ID 2 | --- 3 | string POSE -------------------------------------------------------------------------------- /src/orbslam_server/srv/orbslam_pose_save.srv: -------------------------------------------------------------------------------- 1 | uint64 ID 2 | string POSE 3 | --- 4 | int32 ID -------------------------------------------------------------------------------- /src/orbslam_server/srv/orbslam_save.srv: -------------------------------------------------------------------------------- 1 | uint64 ID 2 | string POSE 3 | string DATA 4 | --- 5 | int32 ID --------------------------------------------------------------------------------