Efficient Computation of Shortest Path-Concavity for 3D Meshes


This is the accompanying project page for the CVPR 2013 publication Efficient Computation of Shortest Path-Concavity for 3D Meshes.

Below we publish the source-code needed for computing the distribution of shortest path-concavity values on a 3D mesh.

Please cite our paper if you use our code or the models provided below.

author = {Henrik Zimmer and Marcel Campen and Leif Kobbelt},
title = {Efficient Computation of Shortest Path-Concavity for 3D Meshes},
journal = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2013}

C++ Source Code


The code is a Plugin for the geometry processing framework OpenFlipper which comes with several practical functions, e.g., to inspect different mesh properties, pre-process the mesh (remeshing algorithms) and to directly visualize the distribution (color-coded) of concavity values in one and the same program.

Note the main class in the package EfficientSPC.{hh, cc} is where the main computations take place.

Download Project

System Requirements

OpenFlipper can be build on any platform (Windows, Linux, MacOSX). Our project (Plugin-EfficientSPC) has however only been tested on Linux 64bit. For this plattform we also supply a build of TetGen v1.4.3.



The build process is simplifed by using the CMake build system, a Finder for OpenMesh is already shipped with OpenFlipper, download the two sample Finders for CGAL and TetGen (above) and place them in the OpenFlipper/cmake/ directory.

  1. adapt the paths in the FindTetGenLib.cmake to your installation of TetGen
  2. build OpenFlipper (let's assume that the build directory is $OPENFLIPPERBUILD)
  3. place (unpack) the Plugin-EfficientSPC directory in the OpenFlipper root directory (where the other Plugins are located)
  4. call cmake . in $OPENFLIPPERBUILD to make it aware of the new plugin
  5. call make in $OPENFLIPPERBUILD to build the new plugin
  6. start OpenFlipper: $OPENFLIPPERBUILD/Build/bin/OpenFlipper

Models & Data

We also supply the meshes we used for the retrieval results in the paper (originally coming from the McGill 3D Shape Benchmark). The full McGill set consists of 457 meshes, Lian et al. [12] only considered a 255 mesh subset which was "canonically" modified by the algorithm in [13], we further remeshed these meshes.


We are grateful for feedback! Please send suggestions, patches, bug reports, questions and comments to us.


  • [12] Z. Lian, A. Godil, P.L. Rosin, X. Sun. A New Convexity Measurement for 3D Meshes, IEEE International Conference on Computer Vision and Pattern Recognition (CVPR), pp. 119-126, 2012
  • [13] Z. Lian*, A. Godil, J. Xiao. Feature-preserved 3D Canonical Form, International Journal of computer Vision, 2012(to appear)
Disclaimer Home Visual Computing institute RWTH Aachen University