BGL test improvements

This commit is contained in:
Mael Rouxel-Labbé 2018-02-08 18:19:12 +01:00
parent 7d9646d4c5
commit 5b46c670e5
9 changed files with 54 additions and 22 deletions

View File

@ -76,6 +76,8 @@ create_single_source_cgal_program( "graph_concept_Gwdwg_Surface_mesh.cpp" )
create_single_source_cgal_program( "graph_concept_Linear_cell_complex.cpp" )
create_single_source_cgal_program( "graph_concept_Arrangement_2.cpp" )
create_single_source_cgal_program( "test_clear.cpp" )
create_single_source_cgal_program( "test_helpers.cpp" )

View File

@ -43,6 +43,7 @@ void concept_check_adapter()
// null
boost::graph_traits<Adapter>::null_vertex();
boost::graph_traits<Adapter>::null_halfedge();
boost::graph_traits<Adapter>::null_face();
}

View File

@ -45,6 +45,7 @@ void concept_check_surface_mesh()
// null
boost::graph_traits<Surface_mesh>::null_vertex();
boost::graph_traits<Surface_mesh>::null_halfedge();
boost::graph_traits<Surface_mesh>::null_face();
}

View File

@ -48,6 +48,7 @@ void concept_check_polyhedron() {
// null
boost::graph_traits<LCC>::null_vertex();
boost::graph_traits<LCC>::null_halfedge();
boost::graph_traits<LCC>::null_face();
}

View File

@ -26,8 +26,8 @@ void concept_check_polyhedron() {
boost::function_requires< boost::IncidenceGraphConcept<Sm> >();
boost::function_requires< boost::AdjacencyMatrixConcept<Sm> >();
boost::function_requires< boost::BidirectionalGraphConcept<Sm> >();
// boost::function_requires< boost::MutableGraphConcept<Sm> >();
// boost::function_requires< boost::MutableGraphConcept<Sm> >();
boost::function_requires< CGAL::HalfedgeGraphConcept<Sm> >();
boost::function_requires< CGAL::HalfedgeListGraphConcept<Sm> >();
boost::function_requires< CGAL::FaceGraphConcept<Sm> >();
@ -44,14 +44,13 @@ void concept_check_polyhedron() {
boost::function_requires< boost::concepts::ReadablePropertyGraph<Sm, face_descriptor, CGAL::face_index_t> >();
boost::function_requires< boost::concepts::ReadablePropertyGraph<Sm, halfedge_descriptor, CGAL::halfedge_index_t> >();
// boost::function_requires< boost::concepts::ReadablePropertyGraph<Sm, vertex_descriptor, CGAL::vertex_is_border_t> >();
// null
boost::graph_traits<Sm>::null_vertex();
boost::graph_traits<Sm>::null_halfedge();
boost::graph_traits<Sm>::null_face();
}
int main()
{
concept_check_polyhedron<OpenMesh::PolyMesh_ArrayKernelT<> >();

View File

@ -52,14 +52,11 @@ void concept_check_polyhedron() {
// null
boost::graph_traits<Polyhedron>::null_vertex();
boost::graph_traits<Polyhedron>::null_halfedge();
boost::graph_traits<Polyhedron>::null_face();
}
int
main()
int main()
{
concept_check_polyhedron<Polyhedron>();

View File

@ -23,7 +23,7 @@ typedef Traits::halfedge_descriptor halfedge_descriptor;
typedef Traits::vertex_descriptor vertex_descriptor;
typedef Traits::face_descriptor face_descriptor;
void concept_check_surface_mesh()
void concept_check_seam_surface_mesh()
{
boost::function_requires< boost::GraphConcept<Seam_mesh> >();
boost::function_requires< boost::VertexListGraphConcept<Seam_mesh> >();
@ -31,19 +31,20 @@ void concept_check_surface_mesh()
boost::function_requires< boost::IncidenceGraphConcept<Seam_mesh> >();
boost::function_requires< boost::AdjacencyMatrixConcept<Seam_mesh> >();
boost::function_requires< boost::BidirectionalGraphConcept<Seam_mesh> >();
boost::function_requires< CGAL::HalfedgeGraphConcept<Seam_mesh> >();
boost::function_requires< CGAL::HalfedgeListGraphConcept<Seam_mesh> >();
boost::function_requires< CGAL::FaceGraphConcept<Seam_mesh> >();
boost::function_requires< CGAL::FaceListGraphConcept<Seam_mesh> >();
// null
boost::graph_traits<Seam_mesh>::null_vertex();
boost::graph_traits<Seam_mesh>::null_halfedge();
boost::graph_traits<Seam_mesh>::null_face();
}
int main()
{
concept_check_surface_mesh();
concept_check_seam_surface_mesh();
return 0;
}

View File

@ -43,6 +43,7 @@ void concept_check_surface_mesh()
// null
boost::graph_traits<Surface_mesh>::null_vertex();
boost::graph_traits<Surface_mesh>::null_halfedge();
boost::graph_traits<Surface_mesh>::null_face();
}

View File

@ -8,19 +8,48 @@
#include <CGAL/boost/graph/graph_concepts.h>
typedef CGAL::Simple_cartesian<double> Kernel;
typedef CGAL::Triangulation_2<Kernel> Triangulation;
typedef CGAL::Delaunay_triangulation_2<Kernel> DT2;
typedef CGAL::Constrained_triangulation_2<Kernel> CT2;
typedef CGAL::Constrained_Delaunay_triangulation_2<Kernel> CDT2;
typedef CGAL::Constrained_triangulation_plus_2<CDT2> CDTP2;
typedef CGAL::Triangulation_hierarchy_2<DT2> THDT2;
typedef CGAL::Triangulation_hierarchy_2<CDTP2> THCDTP2;
typedef CGAL::Simple_cartesian<double> Kernel;
typedef CGAL::Triangulation_2<Kernel> Triangulation;
typedef CGAL::Delaunay_triangulation_2<Kernel> DT2;
typedef CGAL::Constrained_triangulation_2<Kernel> CT2;
typedef CGAL::Constrained_Delaunay_triangulation_2<Kernel> CDT2;
typedef CGAL::Constrained_triangulation_plus_2<CDT2> CDTP2;
typedef CGAL::Triangulation_vertex_base_2<Kernel> Vbb;
typedef CGAL::Triangulation_hierarchy_vertex_base_2<Vbb> Vb;
typedef CGAL::Constrained_triangulation_face_base_2<Kernel> Fb;
typedef CGAL::Triangulation_data_structure_2<Vb, Fb> TDS;
typedef CGAL::Exact_predicates_tag Itag;
typedef CGAL::Constrained_Delaunay_triangulation_2<Kernel, TDS, Itag> CDT;
typedef CGAL::Triangulation_hierarchy_2<CDT> THCDT2;
typedef CGAL::Constrained_triangulation_plus_2<THCDT2> THCDTP2;
template<typename T>
void concept_check_triangulation() {
void concept_check_triangulation()
{
typedef typename boost::graph_traits<T>::vertex_descriptor vertex_descriptor;
typedef typename boost::graph_traits<T>::halfedge_descriptor halfedge_descriptor;
typedef typename boost::graph_traits<T>::edge_descriptor edge_descriptor;
typedef typename boost::graph_traits<T>::face_descriptor face_descriptor;
boost::function_requires< boost::GraphConcept<T> >();
boost::function_requires< boost::IncidenceGraphConcept<T> >();
boost::function_requires< boost::VertexListGraphConcept<T> >();
boost::function_requires< boost::EdgeListGraphConcept<T> >();
boost::function_requires< boost::BidirectionalGraphConcept<T> >();
boost::function_requires< CGAL::HalfedgeGraphConcept<T> >();
boost::function_requires< CGAL::HalfedgeListGraphConcept<T> >();
boost::function_requires< CGAL::FaceGraphConcept<T> >();
boost::function_requires< CGAL::FaceListGraphConcept<T> >();
// boost::function_requires< CGAL::MutableHalfedgeGraphConcept<T> >();
// boost::function_requires< CGAL::MutableFaceGraphConcept<T> >();
// null
boost::graph_traits<T>::null_vertex();
boost::graph_traits<T>::null_halfedge();
boost::graph_traits<T>::null_face();
}
int main()
@ -30,7 +59,7 @@ int main()
concept_check_triangulation<CT2>();
concept_check_triangulation<CDT2>();
concept_check_triangulation<CDTP2>();
concept_check_triangulation<THDT2>();
concept_check_triangulation<THCDT2>();
concept_check_triangulation<THCDTP2>();
return 0;
}