GithubHelp home page GithubHelp logo

edouard2laire / meshfix Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fangq/meshfix

0.0 0.0 0.0 2.04 MB

Meshfix 1.2-alpha by Marco Attene with Linux makefile

Shell 0.57% C++ 54.26% C 37.73% Cuda 1.05% Makefile 0.03% CMake 6.19% Batchfile 0.17%

meshfix's Introduction

---------------
MeshFix V1.0
by Marco Attene
IMATI-GE / CNR
---------------

This software takes as input a polygon mesh and produces a copy of the input where all the occurrences of a specific set of "defects" are corrected. MeshFix has been designed to correct typical flaws present in RAW DIGITIZED mesh models, thus it might fail or produce coarse results if run on other sorts of input meshes (e.g. tessellated CAD models). When the software fails, it appends a textual description to the file "meshfix.log".

The input is assumed to represent a single CLOSED SOLID OBJECT, thus the output will be a SINGLE WATERTIGHT TRIANGLE MESH bounding a polyhedron. All the singularities, self-intersections and degenerate elements are removed from the input, while regions of the surface without defects are left unmodified. Accepted input formats are OFF, PLY and STL. Other formats are supported only partially. See http://jmeshlib.sourceforge.net for details on supported formats.

-----------------------------
ALGORITHM AND CITATION POLICY
-----------------------------
To better understand how the algorithm works, please refer to the following paper:

   M. Attene.
   A lightweight approach to repairing digitized polygon meshes.
   The Visual Computer, 2010. (c) Springer. DOI: 10.1007/s00371-010-0416-3

This software is based on ideas published therein. If you use MeshFix for research purposes you should cite the above paper in your published results. MeshFix cannot be used for commercial purposes without a written permission by the author.

----------
PARAMETERS
----------
The user may select a threshold angle to be used when assessing whether a triangle is to be considered degenerate or not. Also, the user may want to force the software to keep only the biggest connected component of the input, while considering the others as "noise". If not specified by the user, the default threshold angle is 0, meaning that only triangles which have null area are considered to be degenerate (exact arithmetic is used for such evaluation).

-------------------
COMMAND LINE SYNTAX
-------------------
Usage: MeshFix meshfile [-a epsilon_angle] [-w] [-n]
  Processes 'meshfile' and saves the result to 'meshfile_fixed.off'
  By default, epsilon_angle is 0. If specified, it must be in the range (0 - 2) degrees.
  With '-w', the output is saved in VRML format instead of OFF.
  With '-n', only the biggest input component is kept, otherwise all of them are used.

---------------------
OTHER LAUNCHING MODES
---------------------
A mesh can also be fixed my simply dragging its icon on MeshFix's icon. In this case, only default parameters can be used.
MeshFix does not require any interaction, thus it can be inserted into a script to automatically repair all the models of a given repository (e.g. a folder). If some failure cases occur, they will be logged to "meshfix.log" and thus can be easily located and possibly processed is a second stage through interactive software tools such as ReMESH (http://remesh.sourceforge.net).


---------------------
SOURCE CODE
---------------------

To compile the source code you need the following libraries correctly installed on your PC:

1)
JMeshLib 1.1 or later
DOWNLOAD AT: http://jmeshlib.sourceforge.net

2)
The fast robust geometric predicates by J.R.Shewchuk
DOWNLOAD AT: http://www.cs.cmu.edu/~quake/robust.html
Rename the two files from predicates.* to jrs_predicates.* and copy them as follows:
jrs_predicates.h to JMeshExt-1.0alpha_src\include\
jrs_predicates.c to JMeshExt-1.0alpha_src\src\JRS_Predicates\

3)
OpenNL
DOWNLOAD AT: http://alice.loria.fr/index.php/software/4-library/23-opennl.html

After that, compile JMeshExt (VC project in "JMeshExt-1.0alpha_src\vc8") and then MeshFix (VC project in "vc8").

---------
Copyright
---------

MeshFix is

Copyright(C) 2010: IMATI-GE / CNR                                       

All rights reserved.                                                      

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.                                       

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License (http://www.gnu.org/licenses/gpl.txt) for more details.                                                         

meshfix's People

Contributors

fangq avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.