Files
igl/external/MeshFix
..
2014-01-10 21:12:55 +01:00
2014-01-10 21:12:55 +01:00
2014-01-10 21:12:55 +01:00
2014-01-10 21:12:55 +01:00
2014-01-10 21:12:55 +01:00
2014-01-10 21:12:55 +01:00
2014-01-10 21:12:55 +01:00
2014-01-10 21:12:55 +01:00

---------------

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.