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: