Skip to content
marwan-abdellah edited this page Feb 6, 2024 · 2 revisions

The OptimizationMesh Library

Introduction

The OptimizationMesh library -- or simply OMeh -- is an adaptive mesh optimization library used to optimize the topology and tessellation of surface meshes. It is capable of dealing with highly tessellated meshes to create a corresponding optimized models with less number of faces with high qualitative measures.

OMesh is based on GAMer, or the Geometry-preserving Adaptive Mesher by Yu et al.

Installation

OMesh is integrated as a subtree of the NeuroMorphoVis repository. The code is written in C++, but python bindings are created using pybind11. The code is available under the deps/omesh directory.

To create a shared library containing the python binding, the same version of Python used to run Blender must be used to compile the OMesh code. To facilitate the installation, we added the setup.sh file, and the only parameter that should be adjusted to run the setup.sh file is the Python executable. This parameter is set in the PYTHON_EXECUTABLE field.

Afterwards, we change the mode of the file to be executed by running the following command

chmod +x setup.sh

Finally, we run the setup.sh file by running the following command

./setup.sh

The shared object library will be automatically installed in a common directory that can be read by NeuroMorphoVis directly without adjusting the Python paths of NeuroMorphoVis.

Missing Shared Library

If the shared library of OMesh is missing, then the optimization code will not executed within the Blender calling functions.

Navigation


Clone this wiki locally