Super4PCS is now supported for Linux, MacOS and Windows platforms, with continuous testing. This file reviews the following aspects:
Note: Super4PCS relies heavily on CMake for its compilation and use (minimum version: v3.3).
For people in a hurry:
Super4PCS takes care of its own dependencies, and downloads them when required. As a result, you may need an internet connection for the first compilation.
The libraries and the standalone application require:
-DEIGEN3_INCLUDE_DIR=/path/to/eigen
.In order to load textures for 3d meshes, the IO module needs:
Tests:
-DSUPER4PCS_BUILD_TEST=FALSE
. Required Boost version: 1.57 or more.Our CMake scripts can be configured using the following options:
OPTION (SUPER4PCS_COMPILE_TESTS "Enable testing" TRUE)
OPTION (SUPER4PCS_COMPILE_DEMOS "Compile demo applications (including the Super4PCS standalone)" TRUE)
OPTION (IO_USE_OPENCV "Use OpenCV for texture loading" TRUE)
OPTION (ENABLE_TIMING "Enable computation time recording" FALSE)
OPTION (SUPER4PCS_USE_CHEALPIX "Use Chealpix for orientation filtering (deprecated)" FALSE)
We recommend to keep this option to FALSE
.OPTION (DL_DATASETS "Download demo datasets and associated run scripts" FALSE)
Options can be set by calling cmake -DMY_OPTION=TRUE
, or by editing the file CMakeList.txt (not recommended).
Our CMAKE scripts provide several targets:
install
: build the libraries, the main application and install them to a dedicated folder alongside with demo scripts and assets. This is recommended target. The installation folder is by default: ROOT_DIR/Super4PCS-${Super4PCS_VERSION_MAJOR}.${Super4PCS_VERSION_MINOR}
. It can be customized by calling cmake with -DINSTALL_DIR=your_path
.all
/Super4PCS
: build the libraries and the main Super4PCS application,buildtests
: compile tests. This target is generated only if SUPER4PCS_BUILD_TEST
option is set to TRUE
,test
: run the tests locallydl-datasets
: download the demo datasets.After compilation and installation, you should obtain the following structure:
Nothing specific here, just call:
Super4PCS requires c++11 features and CMake support. We recommend to use Microsoft Visual Studio 2017 with CMake plugin. CMake standalone is also supported (and used for Continuous Integration on AppVeyor).
By default, the project can be opened and compiled straight away with no parameter setting.
If you want to compile with OpenCV and/or Boost support, the dependency directories must be properly configured in Visual Studio. They can be set either when calling CMake or globally by configuring Visual Studio (see how-to here):
path-to-opencv\build\include
,path-to-opencv\build\x64\vc14\lib
.From release v.1.1.2, Super4PCS provides a CMake package, generated during the installation process. To use it in your own application, add the following lines to your project file:
In addition, CMake must be ran so that CMAKE_PREFIX_PATH
contains Super4PCS_install_dir/lib/cmake
when compiling Super4PCS-externalAppTest
.
Super4PCS files will be located in the super4pcs
folder. For instance, to use the Super4PCS algorithm:
This functionality is tested by our continuous integration system. Checkout the externalAppTest for a working example.
Note that we heavily use template mechanisms that requires to enable inlining in order to be efficient. Compiling in Debug mode without inlining may result in longer running time than expected.