mirror of https://github.com/CGAL/cgal
241 lines
7.0 KiB
Plaintext
241 lines
7.0 KiB
Plaintext
This directory is a repository of tools, related to Mesh_3, but which
|
|
are not demos nor examples. Some of them (like slivers_exuder) will
|
|
perhaps be moved to demo/Mesh_3/ in the future.
|
|
|
|
Here is the list of tools:
|
|
cgal_to_medit
|
|
display_distribution
|
|
filter_remove_tets_from_medit
|
|
GOCAD_xyz_to_OFF
|
|
identify_identical_points_in_OFF_files
|
|
lanteri
|
|
lanteri_output_tet_mesh
|
|
off_to_ghs
|
|
read_mesh
|
|
slivers_exuder
|
|
stat_mesh
|
|
test_off
|
|
nb2mesh
|
|
|
|
Details follows...
|
|
|
|
Files formats:
|
|
-------------
|
|
[too be written]
|
|
|
|
filter_remove_tets_from_medit:
|
|
-----------------------------
|
|
This is a filter, written in Perl.
|
|
|
|
Use it like that:
|
|
./filter_remove_tets_from_medit < file.mesh > file-notets.mesh
|
|
|
|
It takes a medit file as standard input, and returns to standard
|
|
output the same medit file, without its tetrahedra.
|
|
|
|
|
|
cgal_to_medit:
|
|
-------------
|
|
Usage:
|
|
./cgal_to_medit INPUT OUPUT
|
|
|
|
INPUT must be a file of format produced by the output operator of
|
|
CGAL::Triangulation_3, with points
|
|
CGAL::Weighted_point_with_surface_index and cells
|
|
CGAL::Mesh_3::Complex_2_in_triangulation_cell_base_3.
|
|
|
|
OUTPUT will be a medit file.
|
|
|
|
GOCAD_xyz_to_OFF:
|
|
----------------
|
|
Convert a file from format GOCAD's xyz to OFF file format.
|
|
Usage:
|
|
./GOCAD_xyz_to_OFF INPUT.xyz OUTPUT.off
|
|
|
|
identify_identical_points_in_OFF_files:
|
|
--------------------------------------
|
|
That tools tries to fix an OFF file:
|
|
- merge identical points,
|
|
- then orient the surface if possible.
|
|
Usage:
|
|
./identify_identical_points_in_OFF_files < input.off > output.off
|
|
|
|
merge_off_files:
|
|
---------------
|
|
Use 'merge_off_files' to... merge several OFF files. If the OFF files have
|
|
vertices in common, they will be duplicated (use
|
|
'identify_identical_points_in_OFF_files' after to fix that).
|
|
Usage:
|
|
./merge_off_files a.off b.off [off files] > result.off
|
|
|
|
|
|
lanteri:
|
|
--------
|
|
This tool is designed specificaly for answering to a request of
|
|
Stephane Lanteri, INRIA. It uses several files:
|
|
- utils.h contains templated functions
|
|
'display_faces_counts',
|
|
'display_facets_by_surface_indices_statistics',
|
|
'display_vertices_by_surface_indices_statistics',
|
|
'display_cells_by_volume_indices_statistics'.
|
|
- distribution.h and distribution.cpp declare and define functions
|
|
'compute_distribution',
|
|
'display_distribution'.
|
|
They use Distribution_displayer.h.
|
|
- Distribution_displayer.h defines a base class
|
|
'Distribution_displayer', with two pure virtual functions:
|
|
'fill_rectangle',
|
|
'segment'
|
|
- Gd_displayer.h Qt_widget_displayer.h
|
|
Gd_displayer.cpp Qt_widget_displayer.cpp
|
|
implementes two different classes derived of
|
|
'Distribution_displayer' (two implementation for displaying).
|
|
- lanteri_process_results.cpp defines three functions (declared in
|
|
lanteri.cpp):
|
|
'process_cells',
|
|
'process_volume_edges',
|
|
'process_surface_edges'.
|
|
- lanteri_utils.h defines two templated functions:
|
|
'scan_edges_and_process',
|
|
'scan_cells_and_process'.
|
|
These two functions use functions of lanteri_process_results.cpp.
|
|
|
|
lanteri_output_tet_mesh:
|
|
-----------------------
|
|
This tool is designed specificaly for answering to a request of
|
|
Stephane Lanteri, INRIA.
|
|
|
|
display_distribution:
|
|
--------------------
|
|
Usage:
|
|
./display_distribution [--scale x] (--tets|--noboite|--mesh) FILE
|
|
Options:
|
|
--scale SCALE SCALE is a real number, which will be the
|
|
the vertical scaling of the histogram.
|
|
--criterion ANGLE
|
|
--criterion RATIO Choose between an min dihedral angle distribution
|
|
or an aspect ratio distribution.
|
|
Default: RATIO.
|
|
--tets FILE
|
|
--noboite FILE
|
|
--mesh FILE
|
|
--cgal FILE
|
|
Read input file FILE.
|
|
FILE must a .tets file, or a .noboite file,
|
|
a cgal file, or a .mesh file.
|
|
|
|
This tool displays the radius-radius ratio distribution or the minimum
|
|
dihedral angle distribution of a mesh file, and save it in a png file named
|
|
FILE-scale-SCALE-angles.png or FILE-scale-SCALE-ratios.png. It also display
|
|
the minimum and the maximum of the criterion, in the mesh.
|
|
|
|
off_to_ghs:
|
|
----------
|
|
Usage:
|
|
./off_to_ghs [FILE_BASENAME]
|
|
will convert FILE_BASENAME.off to FILE_BASENAME.faces
|
|
and FILE_BASENAME.points.
|
|
|
|
off_to_medit:
|
|
----------
|
|
This tool creates a medit files with 0 tetrahedra, from an .off file.
|
|
|
|
Usage:
|
|
./off_to_medit [FILE_BASENAME]
|
|
will convert FILE_BASENAME.off to FILE_BASENAME.mesh.
|
|
|
|
read_mesh:
|
|
---------
|
|
Usage:
|
|
./read_mesh FILE
|
|
|
|
FILE must be a file of format produced by the output operator of
|
|
CGAL::Triangulation_3, with points
|
|
CGAL::Weighted_point_with_surface_index and cells
|
|
CGAL::Mesh_3::Complex_2_in_triangulation_cell_base_3.
|
|
|
|
This tools read a .mesh file and displays faces counts, such as in:
|
|
Vertices: 3247
|
|
Facets on surface: 6474
|
|
Cells: 19670
|
|
Cells in volume: 18335
|
|
|
|
This file uses utils.h, and types.h.
|
|
|
|
stat_mesh:
|
|
---------
|
|
Usage:
|
|
./stat_mesh FILE
|
|
|
|
FILE must be a file of format produced by the output operator of
|
|
CGAL::Triangulation_3, with points
|
|
CGAL::Weighted_point_with_surface_index and cells
|
|
CGAL::Mesh_3::Complex_2_in_triangulation_cell_base_3.
|
|
|
|
Same as read_mesh, but displays more informations:
|
|
Vertices: 3247
|
|
Facets on surface: 6474
|
|
Cells: 19670
|
|
Cells in volume: 18335
|
|
|
|
Statistics:
|
|
(vertices)
|
|
Vertices with index #0: 0
|
|
Vertices with index #1: 450
|
|
Vertices with index #2: 563
|
|
Vertices with index #3: 705
|
|
Vertices with index #4: 863
|
|
Vertices with index #5: 666
|
|
(facets)
|
|
Hybrid facets: 0
|
|
Facets on surface #0: 0
|
|
Facets on surface #1: 896
|
|
Facets on surface #2: 1122
|
|
Facets on surface #3: 1406
|
|
Facets on surface #4: 1722
|
|
Facets on surface #5: 1328
|
|
|
|
slivers_exuder:
|
|
--------------
|
|
This tools exudes slivers from a cgal triangulation.
|
|
|
|
Usage:
|
|
./slivers_exuder INPUT OUTPUT bound [filename.off]
|
|
|
|
INPUT must be a file of format produced by the output operator of
|
|
CGAL::Triangulation_3, with points
|
|
CGAL::Weighted_point_with_surface_index and cells
|
|
CGAL::Volume_mesher_cell_base_3.
|
|
|
|
OUPUT is the name of the ouput file. It will be in the same format.
|
|
|
|
0<=bound<=1.0 is a bound on pumping process.
|
|
|
|
If non-nul, filename.off is the name of an output off file, where
|
|
only slivers are displayed.
|
|
|
|
Uses utils.h and weighted_types.h.
|
|
|
|
test_off:
|
|
--------
|
|
This tool tests if an OFF file describes a manifold surface or not from the
|
|
combinatorial point of view : more precisely it tests if any edge is
|
|
incident to two faces.
|
|
|
|
Usage:
|
|
./test_off [OFF_FILE_NAME.off]
|
|
will analyse OFF_FILE_NAME.off and display the list of non manifold edges.
|
|
|
|
nb2mesh:
|
|
-------
|
|
This tool converts meshes from the [no]boite[b]-format to the mesh[b]- or amdba3-format.
|
|
|
|
Usage: nb2mesh filein fileout [-v] [-s]
|
|
filein : xxx.[no]boite[b]
|
|
fileout: yyy.mesh[b] or zzz.amdba3
|
|
-v : verbose mode
|
|
-s : do not create boundary (surface)
|
|
-x : split constrained tetras
|
|
-df : remove dangling faces
|
|
-ref : add reference to sub-domains
|