mirror of https://github.com/CGAL/cgal
Merge branch 'cgal/5.5.x-branch' into 'cgal/5.6.x-branch'
This commit is contained in:
commit
f93cb3c552
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -208,6 +208,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();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue