CombinatorialSmoothing/CombinatorialSmoothing.cpp.
After you download the files, the first thing to do is compile the CombinatorialSmoothing executable.
GeometryProcessing.sln to open the workspace in Microsoft Visual Studios.
CombinatorialSmoothing executable by clicking on "Build" and then selecting "Build Solution". Please be sure that you are compiling for Release under x64 mode, as only those project settings were set. (If you need to compile under Debug, you will need to copy over the settings.)
CombinatorialSmoothing.exe is compiled in Release mode for the 64-bit architecture and will be placed in the directory Bin/x64.
make to compile the CombinatorialSmoothing executable.
CombinatorialSmoothing is compiled in Release mode and will be placed in the directory Bin/Linux.
% CombinatorialSmoothing
To smooth the geometry, invoke the executable as:
% CombinatorialSmoothing --in <input geometry> --stepSize <gradient-descent step-size>
With:
<input geometry> the geometry to be processed.
<gradient-descent step-size> the step-size to be used for time-stepping the gradient-descent PDE. (Default value is 10-4.)
--implicit flag. If specified, the smoothing should be performed using implicit time-stepping.
[space] pauses/resumes the animation
[left mouse] rotates
[right mouse] zooms
[left mouse]+[ctrl] pans
CombinatorialSmoothing/CombinatorialSmoothing.cpp file to support explicit and implicit time-stepping of the gradient-descent PDE.CombinatorialSmoothingViewer::CombinatorialSmoothingViewer constructor you will need to set the combinatorial Laplacian, CombinatorialSmoothingViewer::_L, and initialize the sparse Cholesky solver, CombinatorialSmoothingViewer::_solver. (Note that the identity matrix, CombinatorialSmoothingViewer::_Id, is already set for you.)
CombinatorialSmoothingViewer::animate member function you will need to update the the vertex positions, Mesh::vertices, to represent the values at the next time-step.
CombinatorialSmoothingViewer::_implicit is set to true, you should be using implicit time-stepping.
CombinatorialSmoothingViewer::_stepSize member data.
CombinatorialSmoothing/CombinatorialSmoothing.cpp file.