Set of algorithms for geometry processing
This repository contains three subprojects. The main subproject implements several geometry processing algorithms grouped in a library called geoproc (see directory geoproc/). The other two subprojects are a command line application that uses these algorithms (command-line/ directory), and a GUI (interface/ directory).
In the library geoproc a set of algorithms for geometric processing have
been implemented. These algorithms include:
The algorithms’ implementations are inside the geoproc/ directory. That directory also includes a small data structure for triangular meshes and a simple parser of files .ply. The triangular mesh includes an algorithm to compute its DCEL.
Documentation of the library was generated using Doxygen. It can be found in the geoproc-docs.zip file.
This project has several dependencies.
This project relies on the glm (v. 0.9.5 or newer) and the Eigen libraries (v. 3.3.5 or newer) for the geometry-processing algorithms. Also, OpenMP is needed for the parallelised version of some of the algorithms.
The Qt library (tested only with version 5.9.6) to compile and execute the interface to visualise the results of the algorithms.
All subprojects of this repository rely on the qmake tool for the generation of the Makefiles, so it is needed (needless to say that the make tool is also required). Finally, the user will need a compiler that supports C++11 for all subprojects.
All the projects in this repository use the qmake tool for building. Here are listed the dependencies of each subproject:
It is strongly suggested that each subproject be compiled in release mode. All subprojects contain a .pro file which can be opened using the IDE tool Qt Creator. The .pro files need to contain:
In order to successfully compile each subproject, one can follow these intructions:
Create the makefile for every subproject
qmake -makefile geoproc/geoproc.pro -o geoproc-release/Makefile
qmake -makefile command-line/command-line.pro -o command-line-release/Makefile
qmake -makefile interface/interface.pro -o interface-release/Makefile
Compile first the geoproc library:
cd geoproc-release/ && make
Then the other two:
cd command-line-release/ && make
cd interface-release/ && make
Notice that the command-line and interface subprojects assume that the geoproc library is placed and has been compiled into a directory placed within the same parent folder and at the same level as theirs:
geometry-processing:
|-- geoproc/
|-- geoproc-release/
|-- command-line/
|-- command-line-release/
|-- interface/
|-- interface-release/
-
If the location of the geoproc library is to be changed, and compiled into a different folder, then the .pro files for the command-line and interface subprojects have to be modified accordingly.
This repository contains the Geometry Processing course project, carried out during the first semester of the academic year 2018-2019. The course is part of the Master in Innovation and Research in Informatics (MIRI) curriculum.