mirror of https://github.com/CGAL/cgal
Merge remote-tracking branch 'cgal/5.6.x-branch' into HEAD
This commit is contained in:
commit
5139e6ed09
|
|
@ -21,7 +21,7 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
|
||||
#include <CGAL/Delaunay_triangulation_3.h>
|
||||
#include <CGAL/Triangulation_segment_traverser_3.h>
|
||||
#include <CGAL/Triangulation_simplex_3.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
|
|
@ -30,8 +30,8 @@
|
|||
#include <CGAL/Timer.h>
|
||||
|
||||
// Define the kernel.
|
||||
typedef CGAL::Exact_predicates_exact_constructions_kernel Epeck;
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel Epick;
|
||||
using Epeck = CGAL::Exact_predicates_exact_constructions_kernel;
|
||||
using Epick = CGAL::Exact_predicates_inexact_constructions_kernel;
|
||||
|
||||
|
||||
template<typename Kernel>
|
||||
|
|
@ -40,11 +40,11 @@ void bench_segment_traverser(const int nb_queries,
|
|||
const double rad,
|
||||
CGAL::Random& rng)
|
||||
{
|
||||
typedef CGAL::Delaunay_triangulation_3<Kernel> DT;
|
||||
typedef CGAL::Triangulation_segment_simplex_iterator_3<DT> Simplex_traverser;
|
||||
typedef CGAL::Triangulation_segment_cell_iterator_3<DT> Cell_traverser;
|
||||
typedef typename DT::Point_3 Point_3;
|
||||
typedef typename DT::Cell Cell;
|
||||
using DT = CGAL::Delaunay_triangulation_3<Kernel>;
|
||||
using Tds = typename DT::Triangulation_data_structure;
|
||||
using Point_3 = typename DT::Point_3;
|
||||
using Cell_handle = typename DT::Cell_handle;
|
||||
using Simplex_3 = CGAL::Triangulation_simplex_3<Tds>;
|
||||
|
||||
std::cout << "\nBench :\t " << nb_queries << " queries," << std::endl
|
||||
<< "\t in triangulation of size " << nbv << std::endl
|
||||
|
|
@ -83,29 +83,26 @@ void bench_segment_traverser(const int nb_queries,
|
|||
{
|
||||
//Simplex traverser
|
||||
timer_st.start();
|
||||
Simplex_traverser st(dt, segments[2*i], segments[2*i + 1]);
|
||||
|
||||
// Count the number of finite cells traversed.
|
||||
unsigned int inf = 0, fin = 0;
|
||||
for (; st != st.end(); ++st)
|
||||
for (Simplex_3 st : dt.segment_traverser_simplices(segments[2 * i], segments[2 * i + 1]))
|
||||
{
|
||||
Cell c = st.cell();
|
||||
// if (dt.is_infinite(c)) ++inf;
|
||||
// else ++fin;
|
||||
Cell_handle c = st.incident_cell();
|
||||
if (dt.is_infinite(c)) ++inf;
|
||||
else ++fin;
|
||||
}
|
||||
timer_st.stop();
|
||||
|
||||
//Cell traverser
|
||||
timer_ct.start();
|
||||
Cell_traverser ct(dt, segments[2*i], segments[2*i + 1]);
|
||||
|
||||
// Count the number of finite cells traversed.
|
||||
inf = 0, fin = 0;
|
||||
for (; ct != ct.end(); ++ct)
|
||||
for (Cell_handle c : dt.segment_traverser_cell_handles(segments[2 * i], segments[2 * i + 1]))
|
||||
{
|
||||
Cell c = ct.cell();
|
||||
// if (dt.is_infinite(c)) ++inf;
|
||||
// else ++fin;
|
||||
if (dt.is_infinite(c)) ++inf;
|
||||
else ++fin;
|
||||
}
|
||||
timer_ct.stop();
|
||||
}
|
||||
|
|
@ -128,4 +125,6 @@ int main(int argc, char* argv[])
|
|||
|
||||
// bench_segment_traverser<Epeck>(nb_queries, nbv, rad, rng);
|
||||
bench_segment_traverser<Epick>(nb_queries, nbv, rad, rng);
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ namespace CGAL {
|
|||
\ingroup PkgTriangulation3VertexCellClasses
|
||||
|
||||
The class `Triangulation_simplex_3` stores a simplex of any dimension
|
||||
defined by the `Triangulation_3` class. It also defines the
|
||||
defined by the `TriangulationDataStructure_3` class. It also defines the
|
||||
operator less such that simplices can be stored in a `map` or a
|
||||
`set` of simplices. The simplex is invalidated by any change in
|
||||
the triangulation.
|
||||
|
|
@ -18,7 +18,7 @@ from.
|
|||
\sa `CGAL::Triangulation_3<TriangulationTraits_3,TriangulationDataStructure_3>`
|
||||
|
||||
*/
|
||||
template< typename Triangulation_3 >
|
||||
template< typename TriangulationDataStructure_3 >
|
||||
class Triangulation_simplex_3 {
|
||||
public:
|
||||
|
||||
|
|
@ -29,67 +29,67 @@ public:
|
|||
|
||||
The simplex class itself.
|
||||
*/
|
||||
typedef Triangulation_simplex_3<Triangulation_3> Simplex;
|
||||
typedef Triangulation_simplex_3<TriangulationDataStructure_3> Simplex;
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
typedef Triangulation_3::Vertex_handle Vertex_handle;
|
||||
typedef TriangulationDataStructure_3::Vertex_handle Vertex_handle;
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
typedef Triangulation_3::Edge Edge;
|
||||
typedef TriangulationDataStructure_3::Edge Edge;
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
typedef Triangulation_3::Facet Facet;
|
||||
typedef TriangulationDataStructure_3::Facet Facet;
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
typedef Triangulation_3::Cell_handle Cell_handle;
|
||||
typedef TriangulationDataStructure_3::Cell_handle Cell_handle;
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
typedef Triangulation_3::Cell_circulator Cell_circulator;
|
||||
typedef TriangulationDataStructure_3::Cell_circulator Cell_circulator;
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
typedef Triangulation_3::Facet_circulator Facet_circulator;
|
||||
typedef TriangulationDataStructure_3::Facet_circulator Facet_circulator;
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
typedef Triangulation_3::Edge_iterator Edge_iterator;
|
||||
typedef TriangulationDataStructure_3::Edge_iterator Edge_iterator;
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
typedef Triangulation_3::Facet_iterator Facet_iterator;
|
||||
typedef TriangulationDataStructure_3::Facet_iterator Facet_iterator;
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
typedef Triangulation_3::Finite_vertices_iterator Finite_vertices_iterator;
|
||||
typedef TriangulationDataStructure_3::Finite_vertices_iterator Finite_vertices_iterator;
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
typedef Triangulation_3::Finite_edges_iterator Finite_edges_iterator;
|
||||
typedef TriangulationDataStructure_3::Finite_edges_iterator Finite_edges_iterator;
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
typedef Triangulation_3::Finite_facets_iterator Finite_facets_iterator;
|
||||
typedef TriangulationDataStructure_3::Finite_facets_iterator Finite_facets_iterator;
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
typedef Triangulation_3::Finite_cells_iterator Finite_cells_iterator;
|
||||
typedef TriangulationDataStructure_3::Finite_cells_iterator Finite_cells_iterator;
|
||||
|
||||
/// @}
|
||||
|
||||
|
|
@ -188,7 +188,7 @@ Test whether two
|
|||
simplices are equal.
|
||||
*/
|
||||
bool operator==(const
|
||||
Triangulation_simplex_3<Triangulation_3> &s1);
|
||||
Triangulation_simplex_3<TriangulationDataStructure_3> &s1);
|
||||
|
||||
/*!
|
||||
Defines a ordering
|
||||
|
|
@ -196,7 +196,7 @@ on the simplices. This ordering depends on the memory layout and is
|
|||
independent of the geometry. Therefore, the ordering is not intrinsic
|
||||
*/
|
||||
bool operator< (const
|
||||
Triangulation_simplex_3<Triangulation_3> &s1);
|
||||
Triangulation_simplex_3<TriangulationDataStructure_3> &s1);
|
||||
|
||||
/// @}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue