### Live Reconstruction with Calibration Source: https://github.com/victorprad/infinitam/blob/master/README.md Example of running InfiniTAM with a calibration file for live reconstruction. ```bash $ ./InfiniTAM Teddy/calib.txt ``` -------------------------------- ### Offline Processing with Calibration Source: https://github.com/victorprad/infinitam/blob/master/README.md Example of running InfiniTAM for offline processing with calibration and frame file masks. ```bash $ ./InfiniTAM Teddy/calib.txt Teddy/Frames/%04i.ppm Teddy/Frames/%04i.pgm ``` -------------------------------- ### Build Process Source: https://github.com/victorprad/infinitam/blob/master/README.md Standard cmake approach to compile the system. ```bash $ mkdir build $ cd build $ cmake /path/to/InfiniTAM -DOPEN_NI_ROOT=/path/to/OpenNI2/ $ make ``` -------------------------------- ### Specify the libraries to use Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/Apps/InfiniTAM/CMakeLists.txt Includes CMake scripts to set up various libraries like CUDA, FFmpeg, GLUT, etc. ```cmake INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseCUDA.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseFFmpeg.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseGLUT.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseLibRoyale.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseOpenGL.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseOpenMP.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseOpenNI.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UsePNG.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseRealSense.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseRealSense2.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseUVC.cmake) ``` -------------------------------- ### Specify the project files Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/Apps/InfiniTAM/CMakeLists.txt Defines the source and header files for the project. ```cmake SET(sources InfiniTAM.cpp UIEngine.cpp ) SET(headers UIEngine.h ) ``` -------------------------------- ### Doxygen Documentation Source: https://github.com/victorprad/infinitam/blob/master/README.md Command to create a doxygen documentation. ```bash $ doxygen Doxyfile ``` -------------------------------- ### CMakeLists.txt Configuration Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/Apps/CMakeLists.txt This file defines subdirectories for building the InfiniTAM application and its command-line interface. ```cmake # CMakeLists.txt for Apps # add_subdirectory(InfiniTAM) add_subdirectory(InfiniTAM_cli) ``` -------------------------------- ### Source and Header Files Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/Apps/InfiniTAM_cli/CMakeLists.txt Defines the source and header files that constitute the InfiniTAM_cli application. ```cmake SET(sources CLIEngine.cpp InfiniTAM_cli.cpp ) SET(headers CLIEngine.h ) ``` -------------------------------- ### Specify the libraries to link Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/Apps/InfiniTAM/CMakeLists.txt Links the target application with various libraries. ```cmake TARGET_LINK_LIBRARIES(${targetname} InputSource ITMLib MiniSlamGraphLib ORUtils FernRelocLib) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkFFmpeg.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkGLUT.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkLibRoyale.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkOpenGL.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkOpenNI.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkPNG.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkRealSense.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkRealSense2.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkUVC.cmake) ``` -------------------------------- ### Specify the target name Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/Apps/InfiniTAM/CMakeLists.txt Sets the target name for the application. ```cmake SET(targetname InfiniTAM) ``` -------------------------------- ### View Building Engine Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for the view building engine. ```cmake SET(ITMLIB_ENGINES_VIEWBUILDING_HEADERS Engines/ViewBuilding/ITMViewBuilderFactory.h ) ``` -------------------------------- ### Specify the project files Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/InputSource/CMakeLists.txt Defines the list of source files and header files for the project. ```cmake SET(sources CompositeImageSourceEngine.cpp FFMPEGReader.cpp FFMPEGWriter.cpp IdleImageSourceEngine.cpp ImageSourceEngine.cpp IMUSourceEngine.cpp Kinect2Engine.cpp LibUVCEngine.cpp OpenNIEngine.cpp PicoFlexxEngine.cpp RealSenseEngine.cpp RealSense2Engine.cpp ) SET(headers CompositeImageSourceEngine.h FFMPEGReader.h FFMPEGWriter.h IdleImageSourceEngine.h ImageSourceEngine.h IMUSourceEngine.h Kinect2Engine.h LibUVCEngine.h OpenNIEngine.h PicoFlexxEngine.h RealSenseEngine.h RealSense2Engine.h ) ``` -------------------------------- ### Target and Output Directory Configuration Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/Apps/InfiniTAM_cli/CMakeLists.txt Specifies the target and where it should be placed, likely using a helper CMake script for CUDA applications. ```cmake INCLUDE(${PROJECT_SOURCE_DIR}/cmake/SetCUDAAppTarget.cmake) ``` -------------------------------- ### CPU View Building Engine Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the CPU header files for the view building engine. ```cmake SET(ITMLIB_ENGINES_VIEWBUILDING_CPU_HEADERS Engines/ViewBuilding/CPU/ITMViewBuilder_CPU.h ) ``` -------------------------------- ### View Building Engine Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the source files for the view building engine. ```cmake SET(ITMLIB_ENGINES_VIEWBUILDING_SOURCES Engines/ViewBuilding/ITMViewBuilderFactory.cpp ) ``` -------------------------------- ### CPU View Building Engine Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the CPU source files for the view building engine. ```cmake SET(ITMLIB_ENGINES_VIEWBUILDING_CPU_SOURCES Engines/ViewBuilding/CPU/ITMViewBuilder_CPU.cpp ) ``` -------------------------------- ### Utils Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for utility functions. ```cmake SET(ITMLIB_UTILS_HEADERS Utils/ITMCUDAUtils.h Utils/ITMImageTypes.h Utils/ITMLibSettings.h Utils/ITMMath.h Utils/ITMMemoryBlockTypes.h Utils/ITMPixelUtils.h Utils/ITMProjectionUtils.h Utils/ITMSceneParams.h Utils/ITMSurfelSceneParams.h ) ``` -------------------------------- ### Interface Visualisation Engine Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the interface header files for the visualisation engine. ```cmake SET(ITMLIB_ENGINES_VISUALISATION_INTERFACE_HEADERS Engines/Visualisation/Interface/ITMMultiVisualisationEngine.h Engines/Visualisation/Interface/ITMSurfelVisualisationEngine.h Engines/Visualisation/Interface/ITMVisualisationEngine.h ) ``` -------------------------------- ### Visualisation Engine Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for the visualisation engine. ```cmake SET(ITMLIB_ENGINES_VISUALISATION_HEADERS Engines/Visualisation/ITMMultiVisualisationEngineFactory.h Engines/Visualisation/ITMSurfelVisualisationEngineFactory.h Engines/Visualisation/ITMVisualisationEngineFactory.h ) ``` -------------------------------- ### Library Linking Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/Apps/InfiniTAM_cli/CMakeLists.txt Links the necessary libraries to the target application, including core InfiniTAM libraries and specific device/sensor libraries. ```cmake TARGET_LINK_LIBRARIES(${targetname} InputSource ITMLib MiniSlamGraphLib ORUtils FernRelocLib) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkOpenNI.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkPNG.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkRealSense.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkRealSense2.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/LinkUVC.cmake) ``` -------------------------------- ### CPU Visualisation Engine Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the CPU header files for the visualisation engine. ```cmake SET(ITMLIB_ENGINES_VISUALISATION_CPU_HEADERS Engines/Visualisation/CPU/ITMMultiVisualisationEngine_CPU.h Engines/Visualisation/CPU/ITMSurfelVisualisationEngine_CPU.h Engines/Visualisation/CPU/ITMVisualisationEngine_CPU.h ) ``` -------------------------------- ### Utils Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the source files for utility functions. ```cmake SET(ITMLIB_UTILS_SOURCES Utils/ITMLibSettings.cpp ) ``` -------------------------------- ### Interface View Building Engine Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the interface header files for the view building engine. ```cmake SET(ITMLIB_ENGINES_VIEWBUILDING_INTERFACE_HEADERS Engines/ViewBuilding/Interface/ITMViewBuilder.h ) ``` -------------------------------- ### Specify the libraries to use Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/InputSource/CMakeLists.txt Includes CMake scripts to enable support for various libraries and technologies like CUDA, FFmpeg, GLUT, Kinect2, etc. ```cmake INCLUDE(${PROJECT_SOURCE_DIR}/cmake/OfferInputMirroring.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseCUDA.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseFFmpeg.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseGLUT.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseKinect2.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseLibRoyale.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseOpenGL.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseOpenMP.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseOpenNI.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseRealSense.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseRealSense2.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseUVC.cmake) ``` -------------------------------- ### CPU Visualisation Engine Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the CPU source files for the visualisation engine. ```cmake SET(ITMLIB_ENGINES_VISUALISATION_CPU_SOURCES Engines/Visualisation/CPU/ITMMultiVisualisationEngine_CPU.tpp Engines/Visualisation/CPU/ITMSurfelVisualisationEngine_CPU.tpp Engines/Visualisation/CPU/ITMVisualisationEngine_CPU.tpp ) ``` -------------------------------- ### Collect Project Files - Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Collects all header files for the project. ```cmake SET(headers ${ITMLIB_TOPLEVEL_HEADERS} ${ITMLIB_CORE_HEADERS} ${ITMLIB_ENGINES_LOWLEVEL_HEADERS} ${ITMLIB_ENGINES_LOWLEVEL_CPU_HEADERS} ${ITMLIB_ENGINES_LOWLEVEL_CUDA_HEADERS} ${ITMLIB_ENGINES_LOWLEVEL_INTERFACE_HEADERS} ${ITMLIB_ENGINES_LOWLEVEL_SHARED_HEADERS} ${ITMLIB_ENGINES_MESHING_HEADERS} ${ITMLIB_ENGINES_MESHING_CPU_HEADERS} ${ITMLIB_ENGINES_MESHING_CUDA_HEADERS} ${ITMLIB_ENGINES_MESHING_INTERFACE_HEADERS} ${ITMLIB_ENGINES_MESHING_SHARED_HEADERS} ${ITMLIB_ENGINES_RECONSTRUCTION_HEADERS} ${ITMLIB_ENGINES_RECONSTRUCTION_CPU_HEADERS} ${ITMLIB_ENGINES_RECONSTRUCTION_CUDA_HEADERS} ${ITMLIB_ENGINES_RECONSTRUCTION_INTERFACE_HEADERS} ${ITMLIB_ENGINES_RECONSTRUCTION_SHARED_HEADERS} ${ITMLIB_ENGINES_SWAPPING_HEADERS} ${ITMLIB_ENGINES_SWAPPING_CPU_HEADERS} ${ITMLIB_ENGINES_SWAPPING_CUDA_HEADERS} ${ITMLIB_ENGINES_SWAPPING_INTERFACE_HEADERS} ${ITMLIB_ENGINES_SWAPPING_SHARED_HEADERS} ${ITMLIB_ENGINES_VIEWBUILDING_HEADERS} ${ITMLIB_ENGINES_VIEWBUILDING_CPU_HEADERS} ${ITMLIB_ENGINES_VIEWBUILDING_CUDA_HEADERS} ${ITMLIB_ENGINES_VIEWBUILDING_INTERFACE_HEADERS} ${ITMLIB_ENGINES_VIEWBUILDING_SHARED_HEADERS} ${ITMLIB_ENGINES_VISUALISATION_HEADERS} ${ITMLIB_ENGINES_VISUALISATION_CPU_HEADERS} ${ITMLIB_ENGINES_VISUALISATION_CUDA_HEADERS} ${ITMLIB_ENGINES_VISUALISATION_INTERFACE_HEADERS} ${ITMLIB_ENGINES_VISUALISATION_SHARED_HEADERS} ${ITMLIB_OBJECTS_CAMERA_HEADERS} ${ITMLIB_OBJECTS_MESHING_HEADERS} ${ITMLIB_OBJECTS_MISC_HEADERS} ${ITMLIB_OBJECTS_RENDERSTATES_HEADERS} ${ITMLIB_OBJECTS_SCENE_HEADERS} ${ITMLIB_OBJECTS_TRACKING_HEADERS} ${ITMLIB_OBJECTS_VIEWS_HEADERS} ${ITMLIB_TRACKERS_HEADERS} ${ITMLIB_TRACKERS_CPU_HEADERS} ${ITMLIB_TRACKERS_CUDA_HEADERS} ${ITMLIB_TRACKERS_INTERFACE_HEADERS} ${ITMLIB_TRACKERS_SHARED_HEADERS} ${ITMLIB_UTILS_HEADERS} ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_LOWLEVEL_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the header files for the low-level ITM engines. ```cmake SET(ITMLIB_ENGINES_LOWLEVEL_HEADERS Engines/LowLevel/ITMLowLevelEngineFactory.h ) ``` -------------------------------- ### Header Files Specification Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/MiniSlamGraphLib/CMakeLists.txt Lists the header files for the project. ```cmake SET(headers GraphEdge.h GraphEdgeSE3.h GraphNode.h GraphNodeSE3.h LevenbergMarquardtMethod.h Matrix_CSparse.h MatrixWrapper.h ParameterIndex.h PoseGraph.h QuaternionHelpers.h SlamGraph.h SlamGraphErrorFunction.h SparseBlockMatrix.h SparseRegularBlockMatrix.h VariableLengthVector.h ) ``` -------------------------------- ### Library Inclusions Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/Apps/InfiniTAM_cli/CMakeLists.txt Includes various CMake scripts to enable specific libraries and functionalities like CUDA, OpenMP, OpenNI, PNG, RealSense, and UVC. ```cmake INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseCUDA.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseOpenMP.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseOpenNI.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UsePNG.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseRealSense.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseRealSense2.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseUVC.cmake) ``` -------------------------------- ### Interface Visualisation Engine Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the interface source files for the visualisation engine. ```cmake SET(ITMLIB_ENGINES_VISUALISATION_INTERFACE_SOURCES Engines/Visualisation/Interface/ITMSurfelVisualisationEngine.tpp Engines/Visualisation/Interface/ITMVisualisationEngine.cpp ) ``` -------------------------------- ### Visualisation Engine Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the source files for the visualisation engine. ```cmake SET(ITMLIB_ENGINES_VISUALISATION_SOURCES Engines/Visualisation/ITMSurfelVisualisationEngineFactory.tpp ) ``` -------------------------------- ### Camera Objects Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for camera objects. ```cmake SET(ITMLIB_OBJECTS_CAMERA_HEADERS Objects/Camera/ITMCalibIO.h Objects/Camera/ITMDisparityCalib.h Objects/Camera/ITMExtrinsics.h Objects/Camera/ITMIntrinsics.h Objects/Camera/ITMRGBDCalib.h ) ``` -------------------------------- ### Interface Swapping Engine Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the interface header files for the swapping engine. ```cmake SET(ITMLIB_ENGINES_SWAPPING_INTERFACE_HEADERS Engines/Swapping/Interface/ITMSwappingEngine.h ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_LOWLEVEL_INTERFACE_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the interface header files for the low-level ITM engines. ```cmake SET(ITMLIB_ENGINES_LOWLEVEL_INTERFACE_HEADERS Engines/LowLevel/Interface/ITMLowLevelEngine.h ) ``` -------------------------------- ### Specifying Header Files Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/FernRelocLib/CMakeLists.txt Lists the header files for the library. ```cmake SET(headers FernConservatory.h PixelUtils.h PoseDatabase.h RelocDatabase.h Relocaliser.h ) ``` -------------------------------- ### Specifying Header Files Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ORUtils/CMakeLists.txt Lists the header files for the ORUtils library. ```cmake SET(headers Cholesky.h CUDADefines.h FileUtils.h HomkerMap.h Image.h KeyValueConfig.h LexicalCast.h MathUtils.h Matrix.h MemoryBlock.h MemoryBlockPersister.h MemoryDeviceType.h NVTimer.h PlatformIndependence.h SE3Pose.h SVMClassifier.h Vector.h ) ``` -------------------------------- ### Defining ITMLIB_TOPLEVEL_CPU_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the top-level CPU source files for ITMLib. ```cmake SET(ITMLIB_TOPLEVEL_CPU_SOURCES CPUInstantiations.cpp ) ``` -------------------------------- ### Including Libraries Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ORUtils/CMakeLists.txt Includes necessary CMake scripts to enable CUDA, OpenMP, and PNG support. ```cmake INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseCUDA.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseOpenMP.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UsePNG.cmake) ``` -------------------------------- ### Defining ITMLIB_ENGINES_LOWLEVEL_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the source files for the low-level ITM engines. ```cmake SET(ITMLIB_ENGINES_LOWLEVEL_SOURCES Engines/LowLevel/ITMLowLevelEngineFactory.cpp ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_SWAPPING_CPU_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CPU-specific source files for the swapping ITM engines. ```cmake SET(ITMLIB_ENGINES_SWAPPING_CPU_SOURCES Engines/Swapping/CPU/ITMSwappingEngine_CPU.tpp ) ``` -------------------------------- ### Defining ITMLIB_TOPLEVEL_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the top-level header files for ITMLib. ```cmake SET(ITMLIB_TOPLEVEL_HEADERS ITMLibDefines.h ) ``` -------------------------------- ### Source Files Specification Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/MiniSlamGraphLib/CMakeLists.txt Lists the source files for the project. ```cmake SET(sources GraphEdge.cpp GraphEdgeSE3.cpp LevenbergMarquardtMethod.cpp MatrixWrapper.cpp PoseGraph.cpp SlamGraph.cpp SlamGraphErrorFunction.cpp QuaternionHelpers.cpp ) ``` -------------------------------- ### Views Objects Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for views objects. ```cmake SET(ITMLIB_OBJECTS_VIEWS_HEADERS Objects/Views/ITMView.h Objects/Views/ITMViewIMU.h ) ``` -------------------------------- ### Camera Objects Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the source files for camera objects. ```cmake SET(ITMLIB_OBJECTS_CAMERA_SOURCES Objects/Camera/ITMCalibIO.cpp ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_SWAPPING_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the header files for the swapping ITM engines. ```cmake SET(ITMLIB_ENGINES_SWAPPING_HEADERS Engines/Swapping/ITMSwappingEngineFactory.h ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_SWAPPING_CPU_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CPU-specific header files for the swapping ITM engines. ```cmake SET(ITMLIB_ENGINES_SWAPPING_CPU_HEADERS Engines/Swapping/CPU/ITMSwappingEngine_CPU.h ) ``` -------------------------------- ### Tracking Objects Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for tracking objects. ```cmake SET(ITMLIB_OBJECTS_TRACKING_HEADERS Objects/Tracking/ITMDepthHierarchyLevel.h Objects/Tracking/ITMImageHierarchy.h Objects/Tracking/ITMIntensityHierarchyLevel.h Objects/Tracking/ITMRGBHierarchyLevel.h Objects/Tracking/ITMSceneHierarchyLevel.h Objects/Tracking/ITMTemplatedHierarchyLevel.h Objects/Tracking/ITMTrackingState.h Objects/Tracking/ITMViewHierarchyLevel.h Objects/Tracking/TrackerIterationType.h ) ``` -------------------------------- ### Render States Objects Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for render states objects. ```cmake SET(ITMLIB_OBJECTS_RENDERSTATES_HEADERS Objects/RenderStates/ITMRenderState.h Objects/RenderStates/ITMRenderStateMultiScene.h Objects/RenderStates/ITMRenderState_VH.h Objects/RenderStates/ITMRenderStateFactory.h Objects/RenderStates/ITMSurfelRenderState.h ) ``` -------------------------------- ### CPU Trackers Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the source files for CPU-based trackers. ```cmake SET(ITMLIB_TRACKERS_CPU_SOURCES Trackers/CPU/ITMColorTracker_CPU.cpp Trackers/CPU/ITMDepthTracker_CPU.cpp Trackers/CPU/ITMExtendedTracker_CPU.cpp ) ``` -------------------------------- ### Target Name Configuration Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/Apps/InfiniTAM_cli/CMakeLists.txt Sets the target name for the InfiniTAM_cli application. ```cmake SET(targetname InfiniTAM_cli) ``` -------------------------------- ### Interface Trackers Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for interface-based trackers. ```cmake SET(ITMLIB_TRACKERS_INTERFACE_HEADERS Trackers/Interface/ITMColorTracker.h Trackers/Interface/ITMCompositeTracker.h Trackers/Interface/ITMDepthTracker.h Trackers/Interface/ITMExtendedTracker.h Trackers/Interface/ITMFileBasedTracker.h Trackers/Interface/ITMForceFailTracker.h Trackers/Interface/ITMIMUTracker.h Trackers/Interface/ITMTracker.h ) ``` -------------------------------- ### Interface Trackers Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the source files for interface-based trackers. ```cmake SET(ITMLIB_TRACKERS_INTERFACE_SOURCES Trackers/Interface/ITMColorTracker.cpp Trackers/Interface/ITMDepthTracker.cpp Trackers/Interface/ITMExtendedTracker.cpp Trackers/Interface/ITMFileBasedTracker.cpp Trackers/Interface/ITMForceFailTracker.cpp Trackers/Interface/ITMIMUTracker.cpp ) ``` -------------------------------- ### Define for MSVC IDE Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/CMakeLists.txt Adds a preprocessor definition when using the MSVC IDE to indicate that CMake is being used. ```cmake IF(MSVC_IDE) ADD_DEFINITIONS(-DUSING_CMAKE=1) ENDIF() ``` -------------------------------- ### Misc Objects Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for miscellaneous objects. ```cmake SET(ITMLIB_OBJECTS_MISC_HEADERS Objects/Misc/ITMIMUCalibrator.h Objects/Misc/ITMIMUMeasurement.h Objects/Misc/ITMPointCloud.h ) ``` -------------------------------- ### Collect Project Files - Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Collects all source files for the project. ```cmake SET(sources ${ITMLIB_TOPLEVEL_CPU_SOURCES} ${ITMLIB_TOPLEVEL_CUDA_SOURCES} ${ITMLIB_CORE_SOURCES} ${ITMLIB_ENGINES_LOWLEVEL_SOURCES} ${ITMLIB_ENGINES_LOWLEVEL_CPU_SOURCES} ${ITMLIB_ENGINES_LOWLEVEL_CUDA_SOURCES} ${ITMLIB_ENGINES_MESHING_CPU_SOURCES} ${ITMLIB_ENGINES_MESHING_CUDA_SOURCES} ${ITMLIB_ENGINES_MULTISCENE_SOURCES} ${ITMLIB_ENGINES_RECONSTRUCTION_SOURCES} ${ITMLIB_ENGINES_RECONSTRUCTION_CPU_SOURCES} ${ITMLIB_ENGINES_RECONSTRUCTION_CUDA_SOURCES} ${ITMLIB_ENGINES_RECONSTRUCTION_INTERFACE_SOURCES} ${ITMLIB_ENGINES_SWAPPING_CPU_SOURCES} ${ITMLIB_ENGINES_SWAPPING_CUDA_SOURCES} ${ITMLIB_ENGINES_VIEWBUILDING_SOURCES} ${ITMLIB_ENGINES_VIEWBUILDING_CPU_SOURCES} ${ITMLIB_ENGINES_VIEWBUILDING_CUDA_SOURCES} ${ITMLIB_ENGINES_VISUALISATION_SOURCES} ${ITMLIB_ENGINES_VISUALISATION_CPU_SOURCES} ${ITMLIB_ENGINES_VISUALISATION_CUDA_SOURCES} ${ITMLIB_ENGINES_VISUALISATION_INTERFACE_SOURCES} ${ITMLIB_OBJECTS_CAMERA_SOURCES} ${ITMLIB_OBJECTS_RENDERSTATES_SOURCES} ${ITMLIB_TRACKERS_CPU_SOURCES} ${ITMLIB_TRACKERS_CUDA_SOURCES} ${ITMLIB_TRACKERS_INTERFACE_SOURCES} ${ITMLIB_UTILS_SOURCES} ) ``` -------------------------------- ### Scene Objects Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for scene objects. ```cmake SET(ITMLIB_OBJECTS_SCENE_HEADERS Objects/Scene/ITMGlobalCache.h Objects/Scene/ITMLocalMap.h Objects/Scene/ITMLocalVBA.h Objects/Scene/ITMMultiSceneAccess.h Objects/Scene/ITMPlainVoxelArray.h Objects/Scene/ITMRepresentationAccess.h Objects/Scene/ITMScene.h Objects/Scene/ITMSurfelScene.h Objects/Scene/ITMSurfelTypes.h Objects/Scene/ITMVoxelBlockHash.h Objects/Scene/ITMVoxelTypes.h ) ``` -------------------------------- ### CPU Trackers Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for CPU-based trackers. ```cmake SET(ITMLIB_TRACKERS_CPU_HEADERS Trackers/CPU/ITMColorTracker_CPU.h Trackers/CPU/ITMDepthTracker_CPU.h Trackers/CPU/ITMExtendedTracker_CPU.h ) ``` -------------------------------- ### Specifying Source Files Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/FernRelocLib/CMakeLists.txt Lists the source files for the library. ```cmake SET(sources FernConservatory.cpp PoseDatabase.cpp RelocDatabase.cpp ) ``` -------------------------------- ### Shared Visualisation Engine Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the shared header files for the visualisation engine. ```cmake SET(ITMLIB_ENGINES_VISUALISATION_SHARED_HEADERS Engines/Visualisation/Shared/ITMSurfelVisualisationEngine_Settings.h Engines/Visualisation/Shared/ITMSurfelVisualisationEngine_Shared.h Engines/Visualisation/Shared/ITMVisualisationEngine_Shared.h ) ``` -------------------------------- ### Meshing Objects Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for meshing objects. ```cmake SET(ITMLIB_OBJECTS_MESHING_HEADERS Objects/Meshing/ITMMesh.h ) ``` -------------------------------- ### Shared View Building Engine Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the shared header files for the view building engine. ```cmake SET(ITMLIB_ENGINES_VIEWBUILDING_SHARED_HEADERS Engines/ViewBuilding/Shared/ITMViewBuilder_Shared.h ) ``` -------------------------------- ### Render States Objects Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the source files for render states objects. ```cmake SET(ITMLIB_OBJECTS_RENDERSTATES_SOURCES Objects/RenderStates/ITMSurfelRenderState.cpp ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_LOWLEVEL_CPU_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CPU-specific header files for the low-level ITM engines. ```cmake SET(ITMLIB_ENGINES_LOWLEVEL_CPU_HEADERS Engines/LowLevel/CPU/ITMLowLevelEngine_CPU.h ) ``` -------------------------------- ### Setting Target Name Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the name of the target library to be built. ```cmake SET(targetname ITMLib) ``` -------------------------------- ### Specifying Source Files Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ORUtils/CMakeLists.txt Lists the source files for the ORUtils library. ```cmake SET(sources FileUtils.cpp KeyValueConfig.cpp SE3Pose.cpp ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_LOWLEVEL_CPU_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CPU-specific source files for the low-level ITM engines. ```cmake SET(ITMLIB_ENGINES_LOWLEVEL_CPU_SOURCES Engines/LowLevel/CPU/ITMLowLevelEngine_CPU.cpp ) ``` -------------------------------- ### Defining ITMLIB_CORE_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the header files for the core ITMLib components. ```cmake SET(ITMLIB_CORE_HEADERS Core/ITMBasicEngine.h Core/ITMBasicSurfelEngine.h Core/ITMDenseMapper.h Core/ITMDenseSurfelMapper.h Core/ITMMainEngine.h Core/ITMMultiEngine.h Core/ITMTrackingController.h ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_RECONSTRUCTION_INTERFACE_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the interface header files for the scene reconstruction ITM engines. ```cmake SET(ITMLIB_ENGINES_RECONSTRUCTION_INTERFACE_HEADERS Engines/Reconstruction/Interface/ITMSceneReconstructionEngine.h Engines/Reconstruction/Interface/ITMSurfelSceneReconstructionEngine.h ) ``` -------------------------------- ### CUDA Visualisation Engine Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the CUDA header files for the visualisation engine. ```cmake SET(ITMLIB_ENGINES_VISUALISATION_CUDA_HEADERS Engines/Visualisation/CUDA/ITMMultiVisualisationEngine_CUDA.h Engines/Visualisation/CUDA/ITMSurfelVisualisationEngine_CUDA.h Engines/Visualisation/CUDA/ITMVisualisationEngine_CUDA.h Engines/Visualisation/CUDA/ITMVisualisationHelpers_CUDA.h ) ``` -------------------------------- ### Shared Swapping Engine Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the shared header files for the swapping engine. ```cmake SET(ITMLIB_ENGINES_SWAPPING_SHARED_HEADERS Engines/Swapping/Shared/ITMSwappingEngine_Shared.h ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_RECONSTRUCTION_CPU_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CPU-specific header files for the scene reconstruction ITM engines. ```cmake SET(ITMLIB_ENGINES_RECONSTRUCTION_CPU_HEADERS Engines/Reconstruction/CPU/ITMSceneReconstructionEngine_CPU.h Engines/Reconstruction/CPU/ITMSurfelSceneReconstructionEngine_CPU.h ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_MULTISCENE_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the header files for the multi-scene ITM engines. ```cmake SET(ITMLIB_ENGINES_MULTISCENE_HEADERS Engines/MultiScene/ITMActiveMapManager.h Engines/MultiScene/ITMGlobalAdjustmentEngine.h Engines/MultiScene/ITMMapGraphManager.h ) ``` -------------------------------- ### CUDA View Building Engine Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the CUDA header files for the view building engine. ```cmake SET(ITMLIB_ENGINES_VIEWBUILDING_CUDA_HEADERS Engines/ViewBuilding/CUDA/ITMViewBuilder_CUDA.h ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_LOWLEVEL_SHARED_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the shared header files for the low-level ITM engines. ```cmake SET(ITMLIB_ENGINES_LOWLEVEL_SHARED_HEADERS Engines/LowLevel/Shared/ITMLowLevelEngine_Shared.h ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_MESHING_INTERFACE_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the interface header files for the meshing ITM engines. ```cmake SET(ITMLIB_ENGINES_MESHING_INTERFACE_HEADERS Engines/Meshing/Interface/ITMMeshingEngine.h Engines/Meshing/Interface/ITMMultiMeshingEngine.h ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_MESHING_CPU_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CPU-specific source files for the meshing ITM engines. ```cmake SET(ITMLIB_ENGINES_MESHING_CPU_SOURCES Engines/Meshing/CPU/ITMMeshingEngine_CPU.tpp Engines/Meshing/CPU/ITMMultiMeshingEngine_CPU.tpp ) ``` -------------------------------- ### CUDA Swapping Engine Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the CUDA header files for the swapping engine. ```cmake SET(ITMLIB_ENGINES_SWAPPING_CUDA_HEADERS Engines/Swapping/CUDA/ITMSwappingEngine_CUDA.h ) ``` -------------------------------- ### General Compiler Flags Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/CMakeLists.txt Sets general C++ compiler flags for optimization, architecture, and warning levels, excluding MSVC IDE. ```cmake IF(NOT MSVC_IDE) SET(CFLAGS_WARN "-Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing") SET(CMAKE_CXX_FLAGS "-fPIC -O3 -march=native ${CFLAGS_WARN} ${CMAKE_CXX_FLAGS}") #SET(CMAKE_CXX_FLAGS "-fPIC -g ${CFLAGS_WARN} ${CMAKE_CXX_FLAGS}") ENDIF() ``` -------------------------------- ### Trackers Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for trackers. ```cmake SET(ITMLIB_TRACKERS_HEADERS Trackers/ITMTrackerFactory.h ) ``` -------------------------------- ### Defining ITMLIB_CORE_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the source files for the core ITMLib components. ```cmake SET(ITMLIB_CORE_SOURCES Core/ITMBasicEngine.tpp Core/ITMBasicSurfelEngine.tpp Core/ITMDenseMapper.tpp Core/ITMDenseSurfelMapper.tpp Core/ITMMultiEngine.tpp ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_MESHING_CPU_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CPU-specific header files for the meshing ITM engines. ```cmake SET(ITMLIB_ENGINES_MESHING_CPU_HEADERS Engines/Meshing/CPU/ITMMeshingEngine_CPU.h Engines/Meshing/CPU/ITMMultiMeshingEngine_CPU.h ) ``` -------------------------------- ### Setting Target Name Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ORUtils/CMakeLists.txt Sets the target name for the library. ```cmake SET(targetname ORUtils) ``` -------------------------------- ### Defining ITMLIB_ENGINES_RECONSTRUCTION_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the header files for the scene reconstruction ITM engines. ```cmake SET(ITMLIB_ENGINES_RECONSTRUCTION_HEADERS Engines/Reconstruction/ITMSceneReconstructionEngineFactory.h Engines/Reconstruction/ITMSurfelSceneReconstructionEngineFactory.h ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_MESHING_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the header files for the meshing ITM engines. ```cmake SET(ITMLIB_ENGINES_MESHING_HEADERS Engines/Meshing/ITMMeshingEngineFactory.h Engines/Meshing/ITMMultiMeshingEngineFactory.h ) ``` -------------------------------- ### CUDA Swapping Engine Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the CUDA source files for the swapping engine. ```cmake SET(ITMLIB_ENGINES_SWAPPING_CUDA_SOURCES Engines/Swapping/CUDA/ITMSwappingEngine_CUDA.tcu ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_MULTISCENE_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the source files for the multi-scene ITM engines. ```cmake SET(ITMLIB_ENGINES_MULTISCENE_SOURCES Engines/MultiScene/ITMActiveMapManager.cpp Engines/MultiScene/ITMGlobalAdjustmentEngine.cpp Engines/MultiScene/ITMMapGraphManager.tpp ) ``` -------------------------------- ### CUDA View Building Engine Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the CUDA source files for the view building engine. ```cmake SET(ITMLIB_ENGINES_VIEWBUILDING_CUDA_SOURCES Engines/ViewBuilding/CUDA/ITMViewBuilder_CUDA.cu ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_RECONSTRUCTION_INTERFACE_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the interface source files for the scene reconstruction ITM engines. ```cmake SET(ITMLIB_ENGINES_RECONSTRUCTION_INTERFACE_SOURCES Engines/Reconstruction/Interface/ITMSurfelSceneReconstructionEngine.tpp ) ``` -------------------------------- ### CUDA Visualisation Engine Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the CUDA source files for the visualisation engine. ```cmake SET(ITMLIB_ENGINES_VISUALISATION_CUDA_SOURCES Engines/Visualisation/CUDA/ITMMultiVisualisationEngine_CUDA.tcu Engines/Visualisation/CUDA/ITMSurfelVisualisationEngine_CUDA.tcu Engines/Visualisation/CUDA/ITMVisualisationEngine_CUDA.tcu Engines/Visualisation/CUDA/ITMVisualisationHelpers_CUDA.cu ) ``` -------------------------------- ### Source Grouping Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/FernRelocLib/CMakeLists.txt Groups the source and header files. ```cmake SOURCE_GROUP("" FILES ${sources} ${headers}) ``` -------------------------------- ### Defining ITMLIB_TOPLEVEL_CUDA_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the top-level CUDA source files for ITMLib. ```cmake SET(ITMLIB_TOPLEVEL_CUDA_SOURCES CUDAInstantiations.cu ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_RECONSTRUCTION_CPU_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CPU-specific source files for the scene reconstruction ITM engines. ```cmake SET(ITMLIB_ENGINES_RECONSTRUCTION_CPU_SOURCES Engines/Reconstruction/CPU/ITMSceneReconstructionEngine_CPU.tpp Engines/Reconstruction/CPU/ITMSurfelSceneReconstructionEngine_CPU.tpp ) ``` -------------------------------- ### Target Name Specification Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/MiniSlamGraphLib/CMakeLists.txt Sets the target name for the library. ```cmake SET(targetname MiniSlamGraphLib) ``` -------------------------------- ### Setting Target Name Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/FernRelocLib/CMakeLists.txt Sets the target name for the library. ```cmake SET(targetname FernRelocLib) ``` -------------------------------- ### Specify the target name Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/InputSource/CMakeLists.txt Sets the target name for the project to 'InputSource'. ```cmake SET(targetname InputSource) ``` -------------------------------- ### Including Libraries Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/FernRelocLib/CMakeLists.txt Includes CMake scripts to enable CUDA and OpenMP support. ```cmake INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseCUDA.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UseOpenMP.cmake) ``` -------------------------------- ### Target Linking Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/MiniSlamGraphLib/CMakeLists.txt Links the target library with other libraries. ```cmake target_link_libraries(${targetname} ORUtils ${CSparse_LIBRARIES}) ``` -------------------------------- ### Defining ITMLIB_ENGINES_RECONSTRUCTION_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the source files for the scene reconstruction ITM engines. ```cmake SET(ITMLIB_ENGINES_RECONSTRUCTION_SOURCES Engines/Reconstruction/ITMSurfelSceneReconstructionEngineFactory.tpp ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_RECONSTRUCTION_SHARED_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the shared header files for the scene reconstruction ITM engines. ```cmake SET(ITMLIB_ENGINES_RECONSTRUCTION_SHARED_HEADERS Engines/Reconstruction/Shared/ITMSceneReconstructionEngine_Shared.h Engines/Reconstruction/Shared/ITMSurfelSceneReconstructionEngine_Shared.h ) ``` -------------------------------- ### CUDA Trackers Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the header files for CUDA-based trackers. ```cmake SET(ITMLIB_TRACKERS_CUDA_HEADERS Trackers/CUDA/ITMColorTracker_CUDA.h Trackers/CUDA/ITMDepthTracker_CUDA.h Trackers/CUDA/ITMExtendedTracker_CUDA.h ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_LOWLEVEL_CUDA_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CUDA-specific header files for the low-level ITM engines. ```cmake SET(ITMLIB_ENGINES_LOWLEVEL_CUDA_HEADERS Engines/LowLevel/CUDA/ITMLowLevelEngine_CUDA.h ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_MESHING_CUDA_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CUDA-specific header files for the meshing ITM engines. ```cmake SET(ITMLIB_ENGINES_MESHING_CUDA_HEADERS Engines/Meshing/CUDA/ITMMeshingEngine_CUDA.h Engines/Meshing/CUDA/ITMMultiMeshingEngine_CUDA.h ) ``` -------------------------------- ### CUDA Trackers Sources Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the source files for CUDA-based trackers. ```cmake SET(ITMLIB_TRACKERS_CUDA_SOURCES Trackers/CUDA/ITMColorTracker_CUDA.cu Trackers/CUDA/ITMDepthTracker_CUDA.cu Trackers/CUDA/ITMExtendedTracker_CUDA.cu ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_MESHING_SHARED_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the shared header files for the meshing ITM engines. ```cmake SET(ITMLIB_ENGINES_MESHING_SHARED_HEADERS Engines/Meshing/Shared/ITMMeshingEngine_Shared.h Engines/Meshing/Shared/ITMMultiMeshingEngine_Shared.h ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_RECONSTRUCTION_CUDA_HEADERS Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CUDA-specific header files for the scene reconstruction ITM engines. ```cmake SET(ITMLIB_ENGINES_RECONSTRUCTION_CUDA_HEADERS Engines/Reconstruction/CUDA/ITMSceneReconstructionEngine_CUDA.h Engines/Reconstruction/CUDA/ITMSurfelSceneReconstructionEngine_CUDA.h ) ``` -------------------------------- ### Defining ITMLIB_ENGINES_LOWLEVEL_CUDA_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CUDA-specific source files for the low-level ITM engines. ```cmake SET(ITMLIB_ENGINES_LOWLEVEL_CUDA_SOURCES Engines/LowLevel/CUDA/ITMLowLevelEngine_CUDA.cu ) ``` -------------------------------- ### Shared Trackers Headers Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Defines the shared header files for trackers. ```cmake SET(ITMLIB_TRACKERS_SHARED_HEADERS Trackers/Shared/ITMColorTracker_Shared.h Trackers/Shared/ITMDepthTracker_Shared.h Trackers/Shared/ITMExtendedTracker_Shared.h ) ``` -------------------------------- ### Specify Target and Library Inclusion Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Includes a CMake script to set the CUDA library target. ```cmake # Specify the target and where to put it # ########################################## INCLUDE(${PROJECT_SOURCE_DIR}/cmake/SetCUDALibTarget.cmake) ``` -------------------------------- ### Compiler Flags for Clang Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/CMakeLists.txt Adds specific compiler flags when using the Clang compiler, including standard library selection and suppression of certain warnings. ```cmake IF(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++ -Wno-deprecated-declarations -Wno-unused-function") ENDIF() ``` -------------------------------- ### Defining ITMLIB_ENGINES_RECONSTRUCTION_CUDA_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CUDA-specific source files for the scene reconstruction ITM engines. ```cmake SET(ITMLIB_ENGINES_RECONSTRUCTION_CUDA_SOURCES Engines/Reconstruction/CUDA/ITMSceneReconstructionEngine_CUDA.tcu Engines/Reconstruction/CUDA/ITMSurfelSceneReconstructionEngine_CUDA.tcu ) ``` -------------------------------- ### Setting Target Library Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/FernRelocLib/CMakeLists.txt Includes a CMake script to set the target library, likely with CUDA support. ```cmake INCLUDE(${PROJECT_SOURCE_DIR}/cmake/SetCUDALibTarget.cmake) ``` -------------------------------- ### Defining ITMLIB_ENGINES_MESHING_CUDA_SOURCES Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/ITMLib/CMakeLists.txt Lists the CUDA-specific source files for the meshing ITM engines. ```cmake SET(ITMLIB_ENGINES_MESHING_CUDA_SOURCES Engines/Meshing/CUDA/ITMMeshingEngine_CUDA.tcu Engines/Meshing/CUDA/ITMMultiMeshingEngine_CUDA.tcu ) ``` -------------------------------- ### Conditional Library Inclusion Source: https://github.com/victorprad/infinitam/blob/master/InfiniTAM/MiniSlamGraphLib/CMakeLists.txt Conditionally includes CSPARSE library if WITH_CSPARSE is defined. ```cmake IF(WITH_CSPARSE) include_directories(${CSPARSE_INCLUDE_DIRS}) add_definitions(-DCOMPILE_WITH_CSPARSE) ENDIF() ```