mirror of https://github.com/CGAL/cgal
- improved applications/lanteri.cpp. It know compute histograms of
dihedral min angles, too
This commit is contained in:
parent
cd4c32f716
commit
b5688a2c29
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -133,18 +133,7 @@ typedef CGAL::Complex_2_in_triangulation_3<Tr> C2T3;
|
|||
#include "utils.h"
|
||||
#include "distribution.h"
|
||||
|
||||
bool process_cells(const std::vector<Qualities>& volume_cells_quality,
|
||||
const std::string filename_prefix,
|
||||
std::ostream* out_stream = &std::cout);
|
||||
bool process_volume_edges(const std::vector<Qualities>& volume_edges_length,
|
||||
const std::vector<double>& length_bounds,
|
||||
const std::string filename_prefix,
|
||||
std::ostream* out_stream = &std::cout);
|
||||
bool process_surface_edges(const std::vector<Qualities>& surface_edges_length,
|
||||
const std::vector<double>& 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;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#include "distribution.h"
|
||||
#include "Gd_displayer.h"
|
||||
|
||||
#include "lanteri_process_results.h"
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
|
|
@ -11,8 +13,9 @@ const int global_number_of_classes = 20;
|
|||
bool process_aux_1(const std::vector<Qualities>& 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>& 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>& qualities,
|
|||
}
|
||||
|
||||
bool process_cells(const std::vector<Qualities>& volume_cells_quality,
|
||||
const std::vector<Qualities>& 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<Qualities>& volume_edges_length,
|
||||
const std::vector<double>& 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<Qualities>& volume_edges_length,
|
|||
bool process_surface_edges(const std::vector<Qualities>& surface_edges_length,
|
||||
const std::vector<double>& length_bounds,
|
||||
const std::string filename_prefix,
|
||||
std::ostream* out_stream = &std::cout
|
||||
std::ostream* out_stream
|
||||
// output stream
|
||||
)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
#ifndef CGAL_MESH_3_LANTERI_PROCESS_RESULTS_H
|
||||
#define CGAL_MESH_3_LANTERI_PROCESS_RESULTS_H
|
||||
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
bool process_cells(const std::vector<Qualities>& volume_cells_quality,
|
||||
const std::vector<Qualities>& volume_cells_min_angle,
|
||||
const std::string filename_prefix,
|
||||
std::ostream* out_stream = &std::cout);
|
||||
|
||||
bool process_volume_edges(const std::vector<Qualities>& volume_edges_length,
|
||||
const std::vector<double>& length_bounds,
|
||||
const std::string filename_prefix,
|
||||
std::ostream* out_stream = &std::cout);
|
||||
|
||||
bool process_surface_edges(const std::vector<Qualities>& surface_edges_length,
|
||||
const std::vector<double>& length_bounds,
|
||||
const std::string filename_prefix,
|
||||
std::ostream* out_stream = &std::cout);
|
||||
#endif // CGAL_MESH_3_LANTERI_PROCESS_RESULTS_H
|
||||
|
|
@ -7,6 +7,8 @@
|
|||
|
||||
#include <boost/tuple/tuple.hpp>
|
||||
|
||||
#include "lanteri_process_results.h"
|
||||
|
||||
template<typename Triangulation>
|
||||
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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 <CGAL/Volume_mesher_cell_base_3.h>, in binary mode.
|
||||
- fix <CGAL/Mesh_3/IO.h>, 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:
|
||||
|
|
|
|||
Loading…
Reference in New Issue