cgal/Mesh_3/applications
Laurent Rineau b656ba9ec3 Fix tab lenght problems. 2006-07-19 16:22:58 +00:00
..
Distribution_displayer.h Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch 2006-06-06 13:38:16 +00:00
GNUmakefile new way of dealing with dependencies, in my packages 2006-07-05 16:28:34 +00:00
Gd_displayer.cpp - major switch from .C to .cpp. Andreas's script left a lot of things that 2006-07-10 10:12:38 +00:00
Gd_displayer.h Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch 2006-06-06 13:38:16 +00:00
Qt_widget_displayer.cpp - major switch from .C to .cpp. Andreas's script left a lot of things that 2006-07-10 10:12:38 +00:00
Qt_widget_displayer.h Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch 2006-06-06 13:38:16 +00:00
README - added description for nb2mesh 2006-07-19 15:59:09 +00:00
cgal_to_medit.cpp - major switch from .C to .cpp. Andreas's script left a lot of things that 2006-07-10 10:12:38 +00:00
display_distribution.cpp - major switch from .C to .cpp. Andreas's script left a lot of things that 2006-07-10 10:12:38 +00:00
distribution.cpp - major switch from .C to .cpp. Andreas's script left a lot of things that 2006-07-10 10:12:38 +00:00
distribution.h Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch 2006-06-06 13:38:16 +00:00
dump_to_ghs_points Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch 2006-06-06 13:38:16 +00:00
filter_remove_tets_from_medit Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch 2006-06-06 13:38:16 +00:00
lanteri.cpp - improved applications/lanteri.cpp. It know compute histograms of 2006-07-12 08:37:45 +00:00
lanteri_output_tet_mesh.cpp - major switch from .C to .cpp. Andreas's script left a lot of things that 2006-07-10 10:12:38 +00:00
lanteri_process_results.cpp - improved applications/lanteri.cpp. It know compute histograms of 2006-07-12 08:37:45 +00:00
lanteri_process_results.h - improved applications/lanteri.cpp. It know compute histograms of 2006-07-12 08:37:45 +00:00
lanteri_utils.h - improved applications/lanteri.cpp. It know compute histograms of 2006-07-12 08:37:45 +00:00
libmesh.c - added newline at the end of the file in order to avoid a warning message 2006-07-19 16:21:09 +00:00
libmesh.h - added newline at the end of the file in order to avoid a compiler warning 2006-07-19 16:21:47 +00:00
makefile Fix tab lenght problems. 2006-07-19 16:22:58 +00:00
makefile.dependencies - major switch from .C to .cpp. Andreas's script left a lot of things that 2006-07-10 10:12:38 +00:00
nb2mesh.c - a tool converting .[no]boite[b]-meshes to .mesh[b]- and .amdba3-meshes 2006-07-19 16:02:16 +00:00
off_to_ghs.cpp - major switch from .C to .cpp. Andreas's script left a lot of things that 2006-07-10 10:12:38 +00:00
off_to_medit.cpp - major switch from .C to .cpp. Andreas's script left a lot of things that 2006-07-10 10:12:38 +00:00
read_mesh.cpp - major switch from .C to .cpp. Andreas's script left a lot of things that 2006-07-10 10:12:38 +00:00
slivers_exuder.cpp - major switch from .C to .cpp. Andreas's script left a lot of things that 2006-07-10 10:12:38 +00:00
stat_mesh.cpp - major switch from .C to .cpp. Andreas's script left a lot of things that 2006-07-10 10:12:38 +00:00
test_off.cpp - major switch from .C to .cpp. Andreas's script left a lot of things that 2006-07-10 10:12:38 +00:00
types.h Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch 2006-06-06 13:38:16 +00:00
utils.h Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch 2006-06-06 13:38:16 +00:00
weighted_types.h use filtered regular traits in applications/ 2006-06-27 11:36:57 +00:00

README

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
    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.

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.
  --tets FILE
  --noboite FILE
  --mesh FILE
                                Read input file FILE.
                                FILE must a .tets file, or a .noboite file,
                                or a .mesh file.

This tool displays the radius-radius ratio distribution of a mesh file,
and save it in a png file named FILE-scale-SCALE.png.

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

  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.

  OUPUT is the name of the ouput file. It will be the same format

  0<=bound<=1.0 is a bound on pumping process.

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