Merge remote-tracking branch 'cgal/5.6.x-branch'

This commit is contained in:
Sébastien Loriot 2024-07-23 17:18:09 +02:00
commit 630e58f484
12 changed files with 19 additions and 35 deletions

View File

@ -33,6 +33,8 @@ namespace CGAL {
namespace METIS { namespace METIS {
#ifndef DOXYGEN_RUNNING
template<typename TriangleMesh, typename METIS_options, typename NamedParameters> template<typename TriangleMesh, typename METIS_options, typename NamedParameters>
void partition_dual_graph(const TriangleMesh& tm, void partition_dual_graph(const TriangleMesh& tm,
int nparts, int nparts,
@ -128,6 +130,8 @@ void partition_dual_graph(const TriangleMesh& tm, int nparts,
return partition_dual_graph(tm, nparts, &options, np); return partition_dual_graph(tm, nparts, &options, np);
} }
#endif
/// \ingroup PkgBGLPartition /// \ingroup PkgBGLPartition
/// ///
/// computes a partition of the input triangular mesh into `nparts` parts, /// computes a partition of the input triangular mesh into `nparts` parts,

View File

@ -31,6 +31,8 @@ namespace CGAL {
namespace METIS { namespace METIS {
#ifndef DOXYGEN_RUNNING
struct Output_vertex_partition_ids struct Output_vertex_partition_ids
{ {
template<typename TriangleMesh, typename Indices> template<typename TriangleMesh, typename Indices>
@ -68,6 +70,8 @@ struct Output_face_partition_ids
} }
}; };
template<typename TriangleMesh, typename METIS_options, typename NamedParameters> template<typename TriangleMesh, typename METIS_options, typename NamedParameters>
void partition_graph(const TriangleMesh& tm, void partition_graph(const TriangleMesh& tm,
int nparts, int nparts,
@ -161,6 +165,9 @@ void partition_graph(const TriangleMesh& tm, int nparts,
return partition_graph(tm, nparts, &options, np); return partition_graph(tm, nparts, &options, np);
} }
#endif
/// \ingroup PkgBGLPartition /// \ingroup PkgBGLPartition
/// ///
/// computes a partition of the input triangular mesh into `nparts` parts, based on the /// computes a partition of the input triangular mesh into `nparts` parts, based on the

View File

@ -214,11 +214,6 @@ public:
#ifndef DOXYGEN_RUNNING #ifndef DOXYGEN_RUNNING
explicit operator bool() const
{
return (! (this->base() == nullptr));
}
bool operator==( const Self& i) const { bool operator==( const Self& i) const {
CGAL_assertion( anchor == anchor); CGAL_assertion( anchor == anchor);
return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding); return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding);
@ -308,11 +303,6 @@ public:
#ifndef DOXYGEN_RUNNING #ifndef DOXYGEN_RUNNING
explicit operator bool() const
{
return (! (this->base() == nullptr));
}
bool operator==( const Self& i) const { bool operator==( const Self& i) const {
CGAL_assertion( anchor == anchor); CGAL_assertion( anchor == anchor);
return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding); return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding);
@ -400,11 +390,6 @@ public:
pointer operator -> ( ) { return &pos; } pointer operator -> ( ) { return &pos; }
const value_type* operator -> ( ) const { return &pos; } const value_type* operator -> ( ) const { return &pos; }
explicit operator bool() const
{
return (! (this->base() == nullptr));
}
bool operator==( const Self& i) const { bool operator==( const Self& i) const {
CGAL_assertion( anchor == anchor); CGAL_assertion( anchor == anchor);
return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding); return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding);

View File

@ -16,7 +16,7 @@ int main(int argc, char *argv[])
Polyhedron P1, P2; Polyhedron P1, P2;
std::ifstream ifs1((argc > 1) ? argv[1] : CGAL::data_file_path("meshes/cross_quad.off")); std::ifstream ifs1((argc > 1) ? argv[1] : CGAL::data_file_path("meshes/cross_quad.off"));
ifs1 >> P1; ifs1 >> P1;
std::ifstream ifs2((argc > 1) ? argv[1] : CGAL::data_file_path("meshes/beam.off")); std::ifstream ifs2((argc > 2) ? argv[2] : CGAL::data_file_path("meshes/beam.off"));
ifs2 >> P2; ifs2 >> P2;
// initialize nef from polyhedron // initialize nef from polyhedron

View File

@ -209,6 +209,7 @@ void polygon_mesh_to_nef_3(const PolygonMesh& P, SNC_structure& S, FaceIndexMap
PolygonMesh, SNC_structure,HalfedgeIndexMap> index_adder(P,himap); PolygonMesh, SNC_structure,HalfedgeIndexMap> index_adder(P,himap);
for(vertex_descriptor pv : vertices(P) ) { for(vertex_descriptor pv : vertices(P) ) {
if (halfedge(pv, P) == boost::graph_traits<PolygonMesh>::null_halfedge()) continue; // skip isolated vertices
typename boost::property_traits<PMap>::reference npv = get(pmap,pv); typename boost::property_traits<PMap>::reference npv = get(pmap,pv);
Vertex_handle nv = S.new_vertex(); Vertex_handle nv = S.new_vertex();

View File

@ -6,7 +6,7 @@
\cgalConcept \cgalConcept
The concept `Periodic_2DelaunayTriangulationTraits_2` is the first template parameter of the class The concept `Periodic_2DelaunayTriangulationTraits_2` is the first template parameter of the class
`Periodic_2_Delaunay_triangulation_2`. It refines the concepts `CGAL::Periodic_2_Delaunay_triangulation_2`. It refines the concepts
`Periodic_2TriangulationTraits_2` and `DelaunayTriangulationTraits_2`. `Periodic_2TriangulationTraits_2` and `DelaunayTriangulationTraits_2`.
It redefines the geometric objects, predicates and constructions to work with It redefines the geometric objects, predicates and constructions to work with
point-offset pairs. In most cases the offsets will be (0,0) and the point-offset pairs. In most cases the offsets will be (0,0) and the
@ -125,4 +125,3 @@ public:
/// @} /// @}
}; /* end Periodic_2DelaunayTriangulationTraits_2 */ }; /* end Periodic_2DelaunayTriangulationTraits_2 */

View File

@ -6,7 +6,7 @@
\cgalConcept \cgalConcept
The concept `Periodic_2TriangulationTraits_2` is the first template parameter of the classes The concept `Periodic_2TriangulationTraits_2` is the first template parameter of the classes
`Periodic_2_triangulation_2<Traits, Tds>`. This concept provides the types of `CGAL::Periodic_2_triangulation_2<Traits, Tds>`. This concept provides the types of
the geometric primitives used in the triangulation and some function the geometric primitives used in the triangulation and some function
object types for the required predicates on those primitives. object types for the required predicates on those primitives.
@ -296,4 +296,3 @@ public:
/// @} /// @}
}; /* end Periodic_2TriangulationTraits_2 */ }; /* end Periodic_2TriangulationTraits_2 */

View File

@ -20,7 +20,7 @@ functor the version without offsets.
\cgalHasModelsEnd \cgalHasModelsEnd
In addition to the requirements described for the traits class In addition to the requirements described for the traits class
RegularTriangulationTraits_3, the geometric traits class of a `RegularTriangulationTraits_3`, the geometric traits class of a
periodic regular triangulation must fulfill the following periodic regular triangulation must fulfill the following
requirements. requirements.
@ -250,4 +250,3 @@ Construct_weighted_circumcenter_3 construct_weighted_circumcenter_3_object();
/// @} /// @}
}; /* end Periodic_3RegularTriangulationTraits_3 */ }; /* end Periodic_3RegularTriangulationTraits_3 */

View File

@ -4,7 +4,7 @@
\cgalConcept \cgalConcept
The concept `Periodic_3TriangulationTraits_3` is the first template parameter of the class The concept `Periodic_3TriangulationTraits_3` is the first template parameter of the class
`Periodic_3_triangulation_3`. It refines the concept `CGAL::Periodic_3_triangulation_3`. It refines the concept
`TriangulationTraits_3` from the \cgal 3D Triangulations. `TriangulationTraits_3` from the \cgal 3D Triangulations.
It redefines the geometric objects, predicates and constructions to It redefines the geometric objects, predicates and constructions to
work with point-offset pairs. In most cases the offsets will be work with point-offset pairs. In most cases the offsets will be
@ -258,4 +258,3 @@ Construct_tetrahedron_3 construct_tetrahedron_3_object();
/// @} /// @}
}; /* end Periodic_3TriangulationTraits_3 */ }; /* end Periodic_3TriangulationTraits_3 */

View File

@ -31,10 +31,6 @@
namespace CGAL { namespace CGAL {
namespace Shape_detection { namespace Shape_detection {
// Forward declaration needed for automatic traits detection without
// including the deprecated header itself
template <typename Gt, typename IR, typename IPM, typename INM>
struct Shape_detection_traits;
namespace internal { namespace internal {
@ -43,9 +39,6 @@ struct Traits_base { typedef Traits type; };
template <typename Gt, typename IR, typename IPM, typename INM> template <typename Gt, typename IR, typename IPM, typename INM>
struct Traits_base<CGAL::Shape_detection::Efficient_RANSAC_traits<Gt,IR,IPM,INM> > struct Traits_base<CGAL::Shape_detection::Efficient_RANSAC_traits<Gt,IR,IPM,INM> >
{ typedef Gt type; }; { typedef Gt type; };
template <typename Gt, typename IR, typename IPM, typename INM>
struct Traits_base<CGAL::Shape_detection::Shape_detection_traits<Gt,IR,IPM,INM> >
{ typedef Gt type; };
template<class Traits> template<class Traits>
class RANSAC_octree { class RANSAC_octree {

View File

@ -4,7 +4,7 @@
\cgalConcept \cgalConcept
The concept `DelaunayTriangulationTraits_3` is the first template parameter of the class The concept `DelaunayTriangulationTraits_3` is the first template parameter of the class
`Delaunay_triangulation_3`. It defines the geometric objects (points, `CGAL::Delaunay_triangulation_3`. It defines the geometric objects (points,
segments...) forming the triangulation together with a few geometric segments...) forming the triangulation together with a few geometric
predicates and constructions on these objects. predicates and constructions on these objects.
@ -221,4 +221,3 @@ Construct_ray_3 construct_ray_3_object();
/// @} /// @}
}; /* end DelaunayTriangulationTraits_3 */ }; /* end DelaunayTriangulationTraits_3 */

View File

@ -6,7 +6,7 @@
\cgalRefines{SpatialSortingTraits_3} \cgalRefines{SpatialSortingTraits_3}
The concept `TriangulationTraits_3` is the first template parameter of the class The concept `TriangulationTraits_3` is the first template parameter of the class
`Triangulation_3`. It defines the geometric objects (points, segments, `CGAL::Triangulation_3`. It defines the geometric objects (points, segments,
triangles and tetrahedra) forming the triangulation together with a few triangles and tetrahedra) forming the triangulation together with a few
geometric predicates and constructions on these objects: lexicographical geometric predicates and constructions on these objects: lexicographical
comparison, orientation in case of coplanar points and orientation in space. comparison, orientation in case of coplanar points and orientation in space.
@ -188,4 +188,3 @@ Orientation_3 orientation_3_object();
/// @} /// @}
}; /* end TriangulationTraits_3 */ }; /* end TriangulationTraits_3 */