All Projects → MmgTools → Mmg

MmgTools / Mmg

Licence: other
open source software for bidimensional and tridimensional remeshing

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Mmg

Wifimeshraspberrypi
Workshop to create a sensor application over a WiFi Mesh network
Stars: ✭ 99 (-43.1%)
Mutual labels:  mesh
Wireguard Private Networking
Build your own multi server private network using wireguard and ansible
Stars: ✭ 124 (-28.74%)
Mutual labels:  mesh
Hole fixer
Demo implementation of smoothly filling holes in 3D meshes using surface fairing
Stars: ✭ 165 (-5.17%)
Mutual labels:  mesh
Polylidar
Polylidar3D - Fast polygon extraction from 3D Data
Stars: ✭ 106 (-39.08%)
Mutual labels:  mesh
Openmvs
open Multi-View Stereo reconstruction library
Stars: ✭ 1,842 (+958.62%)
Mutual labels:  mesh
Django Netjsongraph
Network Topology Visualizer & Network Topology Collector
Stars: ✭ 131 (-24.71%)
Mutual labels:  mesh
Trimesh
Python library for loading and using triangular meshes.
Stars: ✭ 1,303 (+648.85%)
Mutual labels:  mesh
Medium
Independent telecommunication environment
Stars: ✭ 171 (-1.72%)
Mutual labels:  mesh
Clusterduck Protocol
Firmware for an ad-hoc mesh network of Internet-of-Things devices based on LoRa (Long Range radio) that can be deployed quickly and cheaply.
Stars: ✭ 122 (-29.89%)
Mutual labels:  mesh
Gltfforue4
Import glTF 2.0 in Unreal Engine
Stars: ✭ 145 (-16.67%)
Mutual labels:  mesh
Mesh
Traefik Mesh - Simpler Service Mesh
Stars: ✭ 1,571 (+802.87%)
Mutual labels:  mesh
Mesh navigation
ROS Mesh Navigation Bundle
Stars: ✭ 114 (-34.48%)
Mutual labels:  mesh
Building Blocks
A voxel library for real-time applications.
Stars: ✭ 140 (-19.54%)
Mutual labels:  mesh
Gl Catmull Clark
A javascript implementation of the Catmull-Clark subdivision surface algorithm
Stars: ✭ 100 (-42.53%)
Mutual labels:  mesh
Fusion360image2surface
Image2Surface Script for Autodesk Fusion 360
Stars: ✭ 166 (-4.6%)
Mutual labels:  mesh
Assetkit
🎨 Modern 2D/3D - Importer • Exporter • Util - Library, also called (AssetIO)
Stars: ✭ 97 (-44.25%)
Mutual labels:  mesh
Ipadlidarscanexport
Export an OBJ file of ARKit 3.5 iPad Pro LIDAR scans
Stars: ✭ 129 (-25.86%)
Mutual labels:  mesh
Creature ue4
Unreal Engine 4 Runtimes for Creature, the 2D Skeletal + Mesh Animation Tool
Stars: ✭ 174 (+0%)
Mutual labels:  mesh
Matgeom
Matlab geometry toolbox for 2D/3D geometric computing
Stars: ✭ 168 (-3.45%)
Mutual labels:  mesh
Creature webgl
2D Skeletal Animation WebGL Runtimes for Creature ( PixiJS, PhaserJS, ThreeJS, BabylonJS, Cocos Creator )
Stars: ✭ 140 (-19.54%)
Mutual labels:  mesh

mmg - Surface and volume remeshers

open source software for bidimensional and tridimensional surface and volume remeshing

Release License

macOS support Ubuntu support Windows support

master branch (release) Build Status Quality Gate Vulnerabilities Coverage Duplication (%)
develop branch Build Status Quality Gate Vulnerabilities Coverage Duplication (%)

Mmg provides 3 applications and 4 libraries:

  • the mmg2d application and library: mesh generation from a set of edges, adaptation and optimization of a bidimensionnal triangulation and isovalue discretization;
  • the mmgs application and library: adaptation and optimization of a surface triangulation and isovalue discretization;
  • the mmg3d application and library: adaptation and optimization of a tetrahedral mesh, isovalue discretization and lagrangian movement;
  • the mmg library gathering the mmg2d, mmgs and mmg3d libraries.

Get and compile the mmg project

Needed tools

To get and build Mmg, you will need:

  • Git: to download the code you will have to use a git manager. You can install a git manager from the link below but there are many other git clients that you can use:

    Note that if you uses Microsoft Visual Studio (Windows OS), you can simply activate the Git Module of the application.

  • CMake : Mmg uses the CMake building system that can be downloaded on the following web page: https://cmake.org/download/. On Windows OS, once CMake is installed, please do not forget to mark the option:

    "Add CMake to the system PATH for all users"
    

Mmg download and compilation

Unix-like OS (Linux, MacOS...)

  1. Get the repository:
    wget https://github.com/MmgTools/mmg/archive/master.zip
    
    or
    git clone https://github.com/MmgTools/mmg.git
    

The project sources are available under the src/ directory, see:

  • src/mmg2d/ for files related to the mmg2d application;
  • src/mmgs/ for files related to the mmgs application;
  • src/mmg3d/ for files related to the mmg3d application;
  • src/common/ for files related to the both.
  1. Fast compilation (build both mmg2d, mmgs, mmg3d, the mmg2d static library (libmmg3d.a), the mmgs static library (libmmgs.a), the mmg3d static library (libmmg3d.a) and the mmg static library (libmmg.a)):
      cd mmg  
      mkdir build  
      cd build  
      cmake ..  
      make  
      make install

If the make install command fail, try to run the sudo make install command. If you don't have root access, please refers to the Installation section of the setup guide.

The mmg2d, mmgs and mmg3d applications are available under the mmg2d_O3, mmgs_O3 and mmg3d_O3 commands.

Note that if you use some specific options and want to set it easily, you can use a shell script to execute the previous commands. An example is provided here.

Windows OS

The following compilation can be performed in any modern version of Windows (AKA 7, 8, 8.1 and 10). A basic knowledge of Windows is assumed (execute commands in cmd, create directories, etc...).

Compile with VisualStudio

Universal windows platform development

  1. Get the Visual Studio software: it can be downloaded here;

  2. if not done during the previous step, download C/C++ compilers: in the Visual Studio searching zone, search C compiler and install the "Visual C++ compilers and libraries" (individual componant) and the MSBuild componant;

  3. in the Visual Studio searching zone, search the git word and select the installation of the "GitHub extension for VisualStudio";

  4. stay in VisualStudio and clone the Mmg repository from the following url: https://github.com/MmgTools/mmg.git;

  5. Use CMake to configure and generate your project. It can be done either with the graphic mode of CMake (you have to select the "VisualStudio" generator) or with a command line. In this case, it is highly recommended to specify that you intent to build a VisualStudio project. For example, if you are using VisualStudio 2017:

  cmake -G "Visual Studio 15 2017 Win64" ^
  configure

Note that you can use a script to make this step easier (an example of script is provided here).

Once the configuration script has finished without errors a mmg.sln file will be generated in the cmake_build directory.

  1. Double click this file and the visual studio project will open. Then choose the project configuration (Release, Debug...).
    Please, make sure that the project is set to Win32 or x64 and change it if is not. Finally, in order to compile Mmg, right click the INSTALL project and select the option BUILD.
Compile with MinGW
  1. Get a C Compiler:

    • MinGW can be downloaded here. We recommand to install the mingw-developer-tools, mingw32-base, mingw32-gcc-fortran, mingw32-gcc-g++ and msys-base packages;
    • Edit the environment variables and add MinGW in your PATH variable. It can be done in the advanced system settings panel. (note that you must modify the PATH variable, not the Path one);
    • MinGW binaries are probably in C:\MinGW\bin
    • the MinGW terminal is in C:\MinGW\msys\1.0\msys
  2. Clone the Mmg repository from the following url: https://github.com/MmgTools/mmg.git;

  3. Quit and restart the CMake application to take the PATH modification into account then use CMake to configure and generate your project (select the MinGW Makefiles generator of CMake). If you have installed the scotch libraries, you will need to set explicitely the libraries paths;

  4. Build the Mmg applications: in the minGW prompt (C:\MinGW\msys\1.0\msys) run:

       mingw32-make

Again, if you use some specific options and want to make the CMake configuration step easier, you can use a batch script. An example of script is provided here.

Documentation

Project's web page

Project's actualities and software tutorials can be found on the mmgtools web page.

Mmg's forum

Share your comments and issues with other members of the Mmg community on the Mmg forum.

GitHub's Wiki

More detailed informations about the compilation and configuration of the mmg's applications are available on the project wiki.

Man-pages

Man pages are available inside the doc/man directory:

  • To see the mmg2d man page, just tap man ./doc/man/mmg2d.1.gz
  • To see the mmgs man page, just tap man ./doc/man/mmgs.1.gz
  • To see the mmg3d man page, just tap man ./doc/man/mmg3d.1.gz

Code documentation

Run the make doc command to build the Doxygen documentation.

  • To see the mmg2d documentation, open up the mmg/doc/mmg2d/html/index.html file;
  • To see the mmgs documentation, open up the mmg/doc/mmgs/html/index.html file;
  • To see the mmg3d documentation, open up the mmg/doc/mmg3d/html/index.html file.

Platforms

The mmg applications are validated on OS X and on most of the Linux platforms.

Contributing

Your contributions to the mmg project are welcomed. You can help us to improve our code by many means:

About the team

mmg's current developers and maintainers are Charles Dapogny, Cécile Dobrzynski, Pascal Frey and Algiane Froehly.

Contact: [email protected]

License and copyright

Code is under the terms of the GNU Lesser General Public License.

Copyright © Bx INP/Inria/UBordeaux/UPMC, 2004- .

Reference

Three-dimensional adaptive domain remeshing, implicit domain meshing, and applications to free and moving boundary problems - C. Dapogny, C. Dobrzynski and P. Frey - April 1, 2014 - JCP

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].