/*
 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/


/*!
  \page grenaille_example_pcl_page Using Grenaille to compute surface curvature in PCL

  \section pcl_intro_sec Introduction

  This is an example that use Grenaille to compute surface curvature with <a href="http://http://pointclouds.org/">Point Cloud Library (PCL)</a>.
  Of course, you have to install the last version of PCL (tested with v1.6) to make the example works. It provides a class implementation to be incorporate in the PCL tree, section "features",
  and a method to use that feature and visualize data using a colormap.

  \subsection pcl_usage_sec Usage

  To compile this example, we provide a cmake file. All you have to do is to add the following instruction in your cmake process for patate examples :

  \code
  -DCompilePCLExample=ON
  \endcode

  You can also turn it on by checking the option with the cmake GUI.

  \warning Be sure to have the "bun_zipper.ply" file provided in the right build directory for a good program execution.

  \note Tip if you are using visual studio : if you have a problem with boost or pcl exceptions, go to Project -> Properties -> C/C++ -> Code Generation -> Enable C++ exceptions and turn it to "Yes (/EHsc)"

  Then execute the program and you will visualize this colored point cloud :
  \image html examples/pcl_wrapper.png "Surface Curvature on a point cloud using GLS method"

  \section pcl_wrapper_sec PCL wrapper

  Here is the PCL implementation of our method.

  pcl_wrapper.h
  \include Grenaille/pcl/pcl_wrapper.h

  pcl_wrapper.hpp
  \include Grenaille/pcl/pcl_wrapper.hpp

  pcl_wrapper.cpp
  \include Grenaille/pcl/pcl_wrapper.cpp

  \section pcl_main_sec Compute and visualization

  Now, a basic method to use the previous class and to visualize the result.
  \include Grenaille/pcl/main.cpp
 */
