diff --git a/.gitignore b/.gitignore index 069effa5585..61245c121bd 100644 --- a/.gitignore +++ b/.gitignore @@ -104,6 +104,7 @@ Mesh_3/applications/off_to_medit Mesh_3/applications/read_mesh Mesh_3/applications/slivers_exuder Mesh_3/applications/stat_mesh +Mesh_3/applications/test_off Mesh_3/doxygen Mesh_3/examples/Mesh_3/*.cgal Mesh_3/examples/Mesh_3/*.mesh diff --git a/Mesh_3/applications/lanteri.cpp b/Mesh_3/applications/lanteri.cpp index 0d57be7f8b8..bedd13da55b 100644 --- a/Mesh_3/applications/lanteri.cpp +++ b/Mesh_3/applications/lanteri.cpp @@ -133,18 +133,7 @@ typedef CGAL::Complex_2_in_triangulation_3 C2T3; #include "utils.h" #include "distribution.h" -bool process_cells(const std::vector& volume_cells_quality, - const std::string filename_prefix, - std::ostream* out_stream = &std::cout); -bool process_volume_edges(const std::vector& volume_edges_length, - const std::vector& length_bounds, - const std::string filename_prefix, - std::ostream* out_stream = &std::cout); -bool process_surface_edges(const std::vector& surface_edges_length, - const std::vector& length_bounds, - const std::string filename_prefix, - std::ostream* out_stream = &std::cout); - +#include "lanteri_process_results.h" #include "lanteri_utils.h" typedef Tr::Vertex_handle Vertex_handle; diff --git a/Mesh_3/applications/lanteri_process_results.cpp b/Mesh_3/applications/lanteri_process_results.cpp index dd443778881..982e18c5201 100644 --- a/Mesh_3/applications/lanteri_process_results.cpp +++ b/Mesh_3/applications/lanteri_process_results.cpp @@ -1,6 +1,8 @@ #include "distribution.h" #include "Gd_displayer.h" +#include "lanteri_process_results.h" + #include #include @@ -11,8 +13,9 @@ const int global_number_of_classes = 20; bool process_aux_1(const std::vector& qualities, const std::string filename, const int number_of_classes, - std::ostream* out_stream = &std::cout + std::ostream* out_stream = &std::cout, // output stream + double max = 1.0 ) { const int maximum_index = qualities.size() - 1; @@ -30,7 +33,7 @@ bool process_aux_1(const std::vector& qualities, distributions[i].resize(number_of_classes); compute_distribution(qualities[i+1], - 1., + max, distributions[i]); displays[i] = new Gd_displayer(main_display.image()); @@ -105,21 +108,27 @@ bool process_aux_2(const std::vector& qualities, } bool process_cells(const std::vector& volume_cells_quality, + const std::vector& volume_cells_min_angle, const std::string filename_prefix, - std::ostream* out_stream = &std::cout + std::ostream* out_stream // output stream ) { return process_aux_1(volume_cells_quality, filename_prefix + "_cells_radius_radius_ratio.png", global_number_of_classes, - out_stream); + out_stream) + && process_aux_1(volume_cells_min_angle, + filename_prefix + "_cells_min_angles.png", + global_number_of_classes, + out_stream, + 90); } bool process_volume_edges(const std::vector& volume_edges_length, const std::vector& length_bounds, const std::string filename_prefix, - std::ostream* out_stream = &std::cout + std::ostream* out_stream // output stream ) { @@ -133,7 +142,7 @@ bool process_volume_edges(const std::vector& volume_edges_length, bool process_surface_edges(const std::vector& surface_edges_length, const std::vector& length_bounds, const std::string filename_prefix, - std::ostream* out_stream = &std::cout + std::ostream* out_stream // output stream ) { diff --git a/Mesh_3/applications/lanteri_process_results.h b/Mesh_3/applications/lanteri_process_results.h new file mode 100644 index 00000000000..3ee18d9cc66 --- /dev/null +++ b/Mesh_3/applications/lanteri_process_results.h @@ -0,0 +1,22 @@ +#ifndef CGAL_MESH_3_LANTERI_PROCESS_RESULTS_H +#define CGAL_MESH_3_LANTERI_PROCESS_RESULTS_H + +#include +#include +#include + +bool process_cells(const std::vector& volume_cells_quality, + const std::vector& volume_cells_min_angle, + const std::string filename_prefix, + std::ostream* out_stream = &std::cout); + +bool process_volume_edges(const std::vector& volume_edges_length, + const std::vector& length_bounds, + const std::string filename_prefix, + std::ostream* out_stream = &std::cout); + +bool process_surface_edges(const std::vector& surface_edges_length, + const std::vector& length_bounds, + const std::string filename_prefix, + std::ostream* out_stream = &std::cout); +#endif // CGAL_MESH_3_LANTERI_PROCESS_RESULTS_H diff --git a/Mesh_3/applications/lanteri_utils.h b/Mesh_3/applications/lanteri_utils.h index 60c573ecb4f..4be6d48656c 100644 --- a/Mesh_3/applications/lanteri_utils.h +++ b/Mesh_3/applications/lanteri_utils.h @@ -7,6 +7,8 @@ #include +#include "lanteri_process_results.h" + template class Compute_min_angle { @@ -366,5 +368,5 @@ scan_cells_and_process(const Tr& tr, *out_stream << std::endl; - return process_cells(cells_quality, filename_prefix); + return process_cells(cells_quality, cells_min_angle, filename_prefix); } diff --git a/Mesh_3/changes.txt b/Mesh_3/changes.txt index ef69bfdb226..4378a102dfe 100644 --- a/Mesh_3/changes.txt +++ b/Mesh_3/changes.txt @@ -1,6 +1,10 @@ 12 July 2006 Laurent Rineau - new class Volume_mesher_default_triangulation_3 - new test, of io operators. It uses Volume_mesher_default_triangulation_3. +- fix i/o operators of , in binary mode. +- fix , in case of binary mode. +- improved applications/lanteri.cpp. It know compute histograms of + dihedral min angles, too. 10 July 2006 Laurent Rineau - new debug macros: