extra run of the script to remove tabs and trailing whitespaces

This commit is contained in:
Sébastien Loriot 2020-03-26 19:34:32 +01:00
parent df0e632c65
commit 1cfd991f4b
4 changed files with 111 additions and 111 deletions

View File

@ -5,7 +5,7 @@
// $URL$
// $Id$
// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial
//
//
//
// Author(s) : Philipp Moeller
@ -53,13 +53,13 @@ join_face(typename boost::graph_traits<Graph>::halfedge_descriptor h,
}
bool fnull = is_border(h,g);
halfedge_descriptor hprev2 = hprev;
while(hprev2 != gprev) {
hprev2 = next(hprev2, g);
set_face(hprev2, f, g);
}
if (! fnull)
set_halfedge(f, hprev, g);
set_halfedge(target(hprev,g), hprev, g);
@ -80,7 +80,7 @@ join_face(typename boost::graph_traits<Graph>::halfedge_descriptor h,
/// @{
/**
/**
* joins the two vertices incident to `h`, (that is `source(h, g)` and
* `target(h, g)`) and removes `source(h,g)`. Returns the predecessor
* of `h` around the vertex, i.e., `prev(opposite(h,g))`. The
@ -99,8 +99,8 @@ join_face(typename boost::graph_traits<Graph>::halfedge_descriptor h,
* \pre The size of the faces incident to `h` and `opposite(h,g)` is at least 4.
*
* \post `source(h, g)` is invalidated
* \post `h` is invalidated
*
* \post `h` is invalidated
*
* \sa `split_vertex()`
*/
template<typename Graph>
@ -153,7 +153,7 @@ join_vertex(typename boost::graph_traits<Graph>::halfedge_descriptor h,
/**
/**
* splits the target vertex `v` of `h1` and `h2`, and connects the new vertex
* and `v` with a new edge. Let `hnew` be `opposite(next(h1, g), g)` after the
* split. The split regroups the halfedges around the two vertices. The
@ -190,7 +190,7 @@ split_vertex(typename boost::graph_traits<Graph>::halfedge_descriptor h1,
CGAL_assertion(h1 != h2);
CGAL_assertion(target(h1, g) == target(h2, g));
typename boost::graph_traits<Graph>::halfedge_descriptor
typename boost::graph_traits<Graph>::halfedge_descriptor
hnew = halfedge(add_edge(g), g),
hnewopp = opposite(hnew, g);
typename boost::graph_traits<Graph>::vertex_descriptor
@ -198,8 +198,8 @@ split_vertex(typename boost::graph_traits<Graph>::halfedge_descriptor h1,
internal::insert_halfedge(hnew, h2, g);
internal::insert_halfedge(hnewopp, h1, g);
set_target(hnew, target(h1, g), g);
typename boost::graph_traits<Graph>::halfedge_descriptor
typename boost::graph_traits<Graph>::halfedge_descriptor
end = hnewopp;
do
{
@ -226,7 +226,7 @@ split_edge(typename boost::graph_traits<Graph>::halfedge_descriptor h, Graph& g)
/**
* joins the two faces incident to `h` and `opposite(h,g)`.
* joins the two faces incident to `h` and `opposite(h,g)`.
* The faces may be holes.
*
* If `Graph` is a model of `MutableFaceGraph`
@ -261,10 +261,10 @@ join_face(typename boost::graph_traits<Graph>::halfedge_descriptor h,
/**
* splits the face incident to `h1` and `h2`. Creates the opposite
* halfedges `h3` and `h4`, such that `next(h1,g) == h3` and `next(h2,g) == h4`.
* Performs the inverse operation to `join_face()`.
* Performs the inverse operation to `join_face()`.
*
* If `Graph` is a model of `MutableFaceGraph` and if the update of faces is not disabled
* a new face incident to `h4` is added.
* a new face incident to `h4` is added.
*
* \image html split_face.svg
*
@ -285,7 +285,7 @@ typename boost::graph_traits<Graph>::halfedge_descriptor
split_face(typename boost::graph_traits<Graph>::halfedge_descriptor h1,
typename boost::graph_traits<Graph>::halfedge_descriptor h2,
Graph& g)
{
{
typedef typename boost::graph_traits<Graph> Traits;
typedef typename Traits::halfedge_descriptor halfedge_descriptor;
typedef typename Traits::face_descriptor face_descriptor;
@ -297,23 +297,23 @@ split_face(typename boost::graph_traits<Graph>::halfedge_descriptor h1,
internal::set_face_in_face_loop(opposite(hnew,g), fnew, g);
set_halfedge(face(hnew,g), hnew, g);
set_halfedge(face(opposite(hnew,g),g), opposite(hnew,g), g);
return hnew;
return hnew;
}
/**
* glues the cycle of halfedges of `h1` and `h2` together.
* The vertices in the cycle of `h2` get removed.
* If `h1` or `h2` are not border halfedges their faces get removed.
* The vertices on the face cycle of `h1` get removed.
* The invariant `join_loop(h1, split_loop(h1,h2,h3,g), g)` returns `h1` and keeps
* The invariant `join_loop(h1, split_loop(h1,h2,h3,g), g)` returns `h1` and keeps
* the graph unchanged.
*
*
* \image html join_loop.svg
*
* \tparam Graph must be a `MutableFaceGraph`
*
* \returns `h1`.
* \returns `h1`.
*
* \pre The faces incident to `h` and `g` are different and have equal number of edges.
*/
@ -369,24 +369,24 @@ join_loop(typename boost::graph_traits<Graph>::halfedge_descriptor h1,
/**
* cuts the graph along the cycle `(h1,h2,h3)` changing the genus
* cuts the graph along the cycle `(h1,h2,h3)` changing the genus
* (halfedge `h3` runs on the backside of the three dimensional figure below).
* Three new vertices, three new pairs of halfedges,
* and two new triangular faces are created.
*
* `h1`, `h2`, and `h3` will be incident to the first new face.
* `h1`, `h2`, and `h3` will be incident to the first new face.
*
* Note that `split_loop()` does not deal with properties of new vertices, halfedges, and faces.
*
* \image html split_loop.svg
*
*
* \tparam Graph must be a `MutableFaceGraph`
*
* \returns the halfedge incident to the second new face.
*
* \pre `h1`, `h2`, and `h3` denote distinct, consecutive halfedges of the graph
* and form a cycle: i.e., `target(h1) == target(opposite(h2,g),g)`, ,
* `target(h3,g) == target(opposite(h1,g),g)`.
* \pre `h1`, `h2`, and `h3` denote distinct, consecutive halfedges of the graph
* and form a cycle: i.e., `target(h1) == target(opposite(h2,g),g)`, ,
* `target(h3,g) == target(opposite(h1,g),g)`.
* \pre The six faces incident to `h1`, `h2`, and `h3` are all distinct.
*/
template<typename Graph>
@ -482,10 +482,10 @@ split_loop(typename boost::graph_traits<Graph>::halfedge_descriptor h1,
/**
* removes the incident face of `h` and changes all halfedges incident to the face into border halfedges
* removes the incident face of `h` and changes all halfedges incident to the face into border halfedges
* or removes them from the graph if they were already border halfedges.
*
* If this creates isolated vertices they get removed as well.
* If this creates isolated vertices they get removed as well.
*
* \image html remove_face.svg
* \image html remove_face_and_vertex.svg
@ -663,7 +663,7 @@ add_face(const VertexRange& vr, Graph& g)
halfedges[i] = halfedge(ne, g);
CGAL_assertion(halfedges[i] != boost::graph_traits<Graph>::null_halfedge());
set_face(opposite(halfedges[i], g), boost::graph_traits<Graph>::null_face(), g); // as it may be recycled we have to reset it
set_face(opposite(halfedges[i], g), boost::graph_traits<Graph>::null_face(), g); // as it may be recycled we have to reset it
CGAL_assertion(source(halfedges[i], g) == vertices[i]);
}
}
@ -998,13 +998,13 @@ void make_hole(typename boost::graph_traits<Graph>::halfedge_descriptor h,
CGAL_precondition(! is_border(h,g));
face_descriptor fd = face(h, g);
halfedge_around_face_iterator hafib, hafie;
for(boost::tie(hafib, hafie) = halfedges_around_face(h, g);
hafib != hafie;
for(boost::tie(hafib, hafie) = halfedges_around_face(h, g);
hafib != hafie;
++hafib){
CGAL_assertion(! is_border(opposite(*hafib,g),g));
internal::set_border(*hafib, g);
}
remove_face(fd,g);
remove_face(fd,g);
}
@ -1027,9 +1027,9 @@ void fill_hole(typename boost::graph_traits<Graph>::halfedge_descriptor h,
}
/**
/**
* creates a barycentric triangulation of the face incident to `h`. Creates a new
* vertex and connects it to each vertex incident to `h` and splits `face(h, g)`
* vertex and connects it to each vertex incident to `h` and splits `face(h, g)`
* into triangular faces.
* `h` remains incident to
* the original face. The time complexity is linear in the size of the face.
@ -1037,10 +1037,10 @@ void fill_hole(typename boost::graph_traits<Graph>::halfedge_descriptor h,
* \image html add_center_vertex.svg
*
* \returns the halfedge `next(h, g)` after the
* operation, i.e., a halfedge pointing to the new vertex.
* operation, i.e., a halfedge pointing to the new vertex.
*
* Note that `add_center_vertex()` does not deal with properties of new vertices,
* halfedges, and faces.
* Note that `add_center_vertex()` does not deal with properties of new vertices,
* halfedges, and faces.
* \pre `h` is not a border halfedge.
*
* \param g the graph
@ -1052,7 +1052,7 @@ void fill_hole(typename boost::graph_traits<Graph>::halfedge_descriptor h,
template<typename Graph>
typename boost::graph_traits<Graph>::halfedge_descriptor
add_center_vertex(typename boost::graph_traits<Graph>::halfedge_descriptor h,
Graph& g)
Graph& g)
{
typedef typename boost::graph_traits<Graph> Traits;
typedef typename Traits::vertex_descriptor vertex_descriptor;
@ -1084,10 +1084,10 @@ add_center_vertex(typename boost::graph_traits<Graph>::halfedge_descriptor h,
/**
* removes the vertex `target(h, g)` and all incident halfedges thereby merging all
* incident faces. The resulting face may not be triangulated.
* This function is the inverse operation of `add_center_vertex()`.
* The invariant `h == remove_center_vertex(add_center_vertex(h,g),g)`
* holds, if `h` is not a border halfedge.
* incident faces. The resulting face may not be triangulated.
* This function is the inverse operation of `add_center_vertex()`.
* The invariant `h == remove_center_vertex(add_center_vertex(h,g),g)`
* holds, if `h` is not a border halfedge.
*
* \image html remove_center_vertex.svg
*
@ -1111,7 +1111,7 @@ add_center_vertex(typename boost::graph_traits<Graph>::halfedge_descriptor h,
template<typename Graph>
typename boost::graph_traits<Graph>::halfedge_descriptor
remove_center_vertex(typename boost::graph_traits<Graph>::halfedge_descriptor h,
Graph& g)
Graph& g)
{
typedef typename boost::graph_traits<Graph> Traits;
typedef typename Traits::halfedge_descriptor halfedge_descriptor;
@ -1140,12 +1140,12 @@ remove_center_vertex(typename boost::graph_traits<Graph>::halfedge_descriptor h,
}
/**
* appends a new face to the border halfedge `h2` by connecting
* the tip of `h2` with the tip of `h1` with two new halfedges and a new vertex
* and creating a new face that is incident to `h2`.
* Note that `add_vertex_and_face_to_border()` does not deal with properties of new
* appends a new face to the border halfedge `h2` by connecting
* the tip of `h2` with the tip of `h1` with two new halfedges and a new vertex
* and creating a new face that is incident to `h2`.
* Note that `add_vertex_and_face_to_border()` does not deal with properties of new
* vertices, halfedges, and faces.
*
*
* \image html add_vertex_and_face_to_border.svg
*
* \tparam Graph must be a model of `MutableFaceGraph`
@ -1186,7 +1186,7 @@ add_vertex_and_face_to_border(typename boost::graph_traits<Graph>::halfedge_desc
set_next(h2,ohe2,g);
internal::set_border(he1,g);
internal::set_border(he2,g);
CGAL::Halfedge_around_face_iterator<Graph> hafib,hafie;
for(boost::tie(hafib, hafie) = halfedges_around_face(ohe1, g);
hafib != hafie;
@ -1199,9 +1199,9 @@ add_vertex_and_face_to_border(typename boost::graph_traits<Graph>::halfedge_desc
/**
* appends a new face incident to the border halfedge `h1` and `h2` by connecting the vertex `target(h2,g)`
* and the vertex `target(h1,g)` with a new halfedge, and filling this separated part of the hole
* with a new face, such that the new face is incident to `h2`.
* appends a new face incident to the border halfedge `h1` and `h2` by connecting the vertex `target(h2,g)`
* and the vertex `target(h1,g)` with a new halfedge, and filling this separated part of the hole
* with a new face, such that the new face is incident to `h2`.
*
* \image html add_face_to_border.svg
*
@ -1209,8 +1209,8 @@ add_vertex_and_face_to_border(typename boost::graph_traits<Graph>::halfedge_desc
*
* \returns the halfedge of the new edge that is incident to the new face.
*
* \pre `h1` and `h2` are border halfedges,
* \pre `h1 != h2`,
* \pre `h1` and `h2` are border halfedges,
* \pre `h1 != h2`,
* \pre `next(h1,g) != h2`,
* \pre `h1` and `h2` are on the same border.
*/
@ -1227,18 +1227,18 @@ add_face_to_border(typename boost::graph_traits<Graph>::halfedge_descriptor h1,
typename boost::graph_traits<Graph>::face_descriptor f = add_face(g);
typename boost::graph_traits<Graph>::edge_descriptor e = add_edge(g);
typename boost::graph_traits<Graph>::halfedge_descriptor
typename boost::graph_traits<Graph>::halfedge_descriptor
newh= halfedge(e, g)
, newhop = opposite(newh, g);
set_next(newhop, next(h2, g), g);
set_next(h2, newh, g);
set_next(newh, next(h1, g), g);
set_next(h1, newhop, g);
set_target(newh, target(h1, g), g);
set_target(newhop, target(h2, g), g);
@ -1247,8 +1247,8 @@ add_face_to_border(typename boost::graph_traits<Graph>::halfedge_descriptor h1,
internal::set_border(newhop, g);
CGAL::Halfedge_around_face_iterator<Graph> hafib,hafie;
for(boost::tie(hafib, hafie) = halfedges_around_face(newh, g);
hafib != hafie;
for(boost::tie(hafib, hafie) = halfedges_around_face(newh, g);
hafib != hafie;
++hafib){
set_face(*hafib, f, g);
}
@ -1293,7 +1293,7 @@ collapse_edge(typename boost::graph_traits<Graph>::edge_descriptor e,
halfedge_descriptor qp = opposite(pq, g);
halfedge_descriptor pt = opposite(prev(pq, g), g);
halfedge_descriptor qb = opposite(prev(qp, g), g);
bool lTopFaceExists = ! is_border(pq,g);
bool lBottomFaceExists = ! is_border(qp,g);
bool lTopLeftFaceExists = lTopFaceExists && ! is_border(pt,g);
@ -1309,19 +1309,19 @@ collapse_edge(typename boost::graph_traits<Graph>::edge_descriptor e,
bool lP_Erased = false;
if ( lTopFaceExists )
{
{
CGAL_precondition( ! is_border(opposite(pt, g),g) ) ; // p-q-t is a face of the mesh
if ( lTopLeftFaceExists )
{
//CGAL_ECMS_TRACE(3, "Removing p-t E" << pt.idx() << " (V"
// << p.idx() << "->V" << target(pt, g).idx()
//CGAL_ECMS_TRACE(3, "Removing p-t E" << pt.idx() << " (V"
// << p.idx() << "->V" << target(pt, g).idx()
// << ") by joining top-left face" ) ;
join_face(pt,g);
}
else
{
//CGAL_ECMS_TRACE(3, "Removing p-t E" << pt.idx() << " (V" << p.idx()
//CGAL_ECMS_TRACE(3, "Removing p-t E" << pt.idx() << " (V" << p.idx()
// << "->V" << target(pt, g).idx() << ") by erasing top face" ) ;
remove_face(opposite(pt, g),g);
@ -1332,24 +1332,24 @@ collapse_edge(typename boost::graph_traits<Graph>::edge_descriptor e,
lP_Erased = true ;
}
}
}
}
if ( lBottomFaceExists )
{
{
CGAL_precondition( ! is_border(opposite(qb, g),g) ) ; // p-q-b is a face of the mesh
if ( lBottomRightFaceExists )
{
//CGAL_ECMS_TRACE(3, "Removing q-b E" << qb.idx() << " (V"
// << q.idx() << "->V" << target(qb, g).idx()
//CGAL_ECMS_TRACE(3, "Removing q-b E" << qb.idx() << " (V"
// << q.idx() << "->V" << target(qb, g).idx()
// << ") by joining bottom-right face" ) ;
join_face(qb,g);
}
else
{
//CGAL_ECMS_TRACE(3, "Removing q-b E" << qb.idx() << " (V"
// << q.idx() << "->V" << target(qb, g).idx()
//CGAL_ECMS_TRACE(3, "Removing q-b E" << qb.idx() << " (V"
// << q.idx() << "->V" << target(qb, g).idx()
// << ") by erasing bottom face" ) ;
if ( !lTopFaceExists )
@ -1371,7 +1371,7 @@ collapse_edge(typename boost::graph_traits<Graph>::edge_descriptor e,
join_vertex(pq,g);
lP_Erased = true ;
}
}
CGAL_expensive_assertion(is_valid_polygon_mesh(g));
@ -1383,18 +1383,18 @@ collapse_edge(typename boost::graph_traits<Graph>::edge_descriptor e,
*
* Let `h` be the halfedge of `e`, and let `v0` and `v1` be the source and target vertices of `h`.
* Collapses the edge `e` replacing it with `v1`, as described in the paragraph above
* and guarantees that an edge `e2`, for which `get(edge_is_constrained_map, e2)==true`,
* and guarantees that an edge `e2`, for which `get(edge_is_constrained_map, e2)==true`,
* is not removed after the collapse.
*
*
* \tparam Graph must be a model of `MutableFaceGraph`
* \tparam EdgeIsConstrainedMap mut be a model of `ReadablePropertyMap` with the edge descriptor of `Graph`
* as key type and a Boolean as value type. It indicates if an edge is constrained or not.
* \tparam EdgeIsConstrainedMap mut be a model of `ReadablePropertyMap` with the edge descriptor of `Graph`
* as key type and a Boolean as value type. It indicates if an edge is constrained or not.
*
* \returns vertex `v1`.
* \pre This function requires `g` to be an oriented 2-manifold with or without boundaries.
* Furthermore, the edge `v0v1` must satisfy the link condition, which guarantees that the surface mesh is also 2-manifold after the edge collapse.
* \pre `get(edge_is_constrained_map, v0v1)==false`.
* \pre `v0` and `v1` are not both incident to a constrained edge.
* \pre This function requires `g` to be an oriented 2-manifold with or without boundaries.
* Furthermore, the edge `v0v1` must satisfy the link condition, which guarantees that the surface mesh is also 2-manifold after the edge collapse.
* \pre `get(edge_is_constrained_map, v0v1)==false`.
* \pre `v0` and `v1` are not both incident to a constrained edge.
*/
template<typename Graph, typename EdgeIsConstrainedMap>
@ -1533,8 +1533,8 @@ flip_edge(typename boost::graph_traits<Graph>::halfedge_descriptor h,
typedef typename Traits::halfedge_descriptor halfedge_descriptor;
typedef typename Traits::face_descriptor face_descriptor;
vertex_descriptor s = source(h,g);
vertex_descriptor t = target(h,g);
vertex_descriptor s = source(h,g);
vertex_descriptor t = target(h,g);
halfedge_descriptor nh = next(h,g), nnh = next(nh,g), oh = opposite(h,g), noh = next(oh,g), nnoh = next(noh,g);
vertex_descriptor s2 = target(nh,g), t2 = target(noh,g);
face_descriptor fh = face(h,g), foh = face(oh,g);

View File

@ -14,7 +14,7 @@ find_package( CGAL QUIET COMPONENTS )
if ( NOT CGAL_FOUND )
message(STATUS "This project requires the CGAL library, and will not be compiled.")
return()
return()
endif()
@ -23,7 +23,7 @@ find_package( Boost )
if ( NOT Boost_FOUND )
message(STATUS "This project requires the Boost library, and will not be compiled.")
return()
return()
endif()
find_package( OpenMesh QUIET )

View File

@ -6,7 +6,7 @@
#include <CGAL/Polygon_mesh_processing/border.h>
template <typename T>
void
void
join_face_test()
{
CGAL_GRAPH_TRAITS_MEMBERS(T);
@ -24,7 +24,7 @@ join_face_test()
assert(CGAL::internal::exact_num_faces(f.m) == 2);
assert(CGAL::internal::exact_num_edges(f.m) == 6);
CGAL::Halfedge_around_face_iterator<T> begin, end;
boost::tie(begin, end) = CGAL::halfedges_around_face(halfedge(f.f1, f.m), f.m);
assert(std::distance(begin, end) == 4);
@ -40,7 +40,7 @@ join_face_test()
for(boost::tie(fit, fend) = faces(f.m); fit != fend; ++fit) {
assert(*fit == f.f1 || *fit == f.f3);
}
assert(degree(f.w, f.m) == 2);
assert(degree(f.v, f.m) == 3);
assert(CGAL::is_valid_polygon_mesh(f.m));
@ -50,7 +50,7 @@ join_face_test()
template <typename T>
void
void
remove_face_test_1()
{
CGAL_GRAPH_TRAITS_MEMBERS(T);
@ -84,13 +84,13 @@ remove_face_test_1()
template <typename T>
void
void
remove_face_test_2()
{
CGAL_GRAPH_TRAITS_MEMBERS(T);
Surface_fixture_2<T> f;
// find the edge between x and v
bool found;
halfedge_descriptor e;
@ -110,22 +110,22 @@ remove_face_test_2()
boost::tie(e, found) = halfedge(f.x, f.w, f.m);
assert(found);
assert(face(e,f.m) == boost::graph_traits<T>::null_face());
// check the boundary
halfedge_descriptor n = next(e, f.m);
while(n != e) {
assert(face(n,f.m) == boost::graph_traits<T>::null_face() );
n = next(n, f.m);
n = next(n, f.m);
}
}
template <typename T>
template <typename T>
void
add_face_to_border_test()
{
CGAL_GRAPH_TRAITS_MEMBERS(T);
Surface_fixture_5<T> f;
CGAL::Euler::add_face_to_border(f.h1, f.h2, f.m);
@ -134,12 +134,12 @@ add_face_to_border_test()
}
template <typename T>
template <typename T>
void
add_vertex_and_face_to_border_test()
{
CGAL_GRAPH_TRAITS_MEMBERS(T);
Surface_fixture_5<T> f;
typedef typename boost::graph_traits<T>::halfedge_descriptor halfedge_descriptor;
halfedge_descriptor h1 = f.h1, h2 = f.h2;
@ -161,7 +161,7 @@ add_vertex_and_face_to_border_test()
halfedge_descriptor res = CGAL::Euler::add_vertex_and_face_to_border(f.h1, f.h2, f.m);
assert(CGAL::is_valid_polygon_mesh(f.m));
assert(! CGAL::is_border(res,m));
assert(CGAL::is_border(opposite(res,m),m));
res = opposite(res,m);
@ -174,7 +174,7 @@ add_vertex_and_face_to_border_test()
}
template <typename T>
template <typename T>
void
join_vertex_interior_test()
{
@ -196,7 +196,7 @@ join_vertex_interior_test()
assert(CGAL::is_valid_polygon_mesh(f.m));
}
template <typename T>
template <typename T>
void
join_vertex_exterior_test()
{
@ -236,7 +236,7 @@ join_vertex_exterior_test()
assert(CGAL::internal::exact_num_edges(f.m) == 6);
assert(boost::distance(CGAL::halfedges_around_face(halfedge(f.f1, f.m), f.m)) == 4);
assert(boost::distance(CGAL::halfedges_around_face(halfedge(f.f2, f.m), f.m)) == 3);
assert(CGAL::is_valid_polygon_mesh(f.m));
assert(degree(f.w, f.m) == 3);
@ -244,7 +244,7 @@ join_vertex_exterior_test()
}
template <typename T>
template <typename T>
void
split_vertex()
{
@ -268,7 +268,7 @@ split_vertex()
assert(boost::distance(CGAL::halfedges_around_face(h2, f.m)) == 7);
}
template <typename T>
template <typename T>
void
split_join_vertex_inverse()
{
@ -286,7 +286,7 @@ split_join_vertex_inverse()
assert(found);
CGAL::Euler::join_vertex(CGAL::Euler::split_vertex(h1, h2,f.m),f.m);
assert(CGAL::is_valid_polygon_mesh(f.m));
assert(CGAL::internal::exact_num_vertices(f.m)== 5);
assert(CGAL::internal::exact_num_faces(f.m) == 2);
assert(CGAL::internal::exact_num_edges(f.m) == 6);
@ -296,7 +296,7 @@ split_join_vertex_inverse()
}
template <typename T>
template <typename T>
void
join_loop_test()
{
@ -304,11 +304,11 @@ join_loop_test()
Surface_fixture_4<T> f;
CGAL::Euler::join_loop(f.h1, f.h2, f.m);
assert(CGAL::is_valid_polygon_mesh(f.m));
}
template <typename T>
template <typename T>
void
split_loop_test()
{
@ -322,7 +322,7 @@ split_loop_test()
assert(CGAL::is_valid_polygon_mesh(f.m));
}
template <typename T>
template <typename T>
void
split_face_test()
{
@ -333,7 +333,7 @@ split_face_test()
assert(num_halfedges(f.m) == 10);
}
template <typename T>
template <typename T>
void
make_hole_test()
{
@ -349,7 +349,7 @@ void
assert(CGAL::internal::exact_num_halfedges(f.m) == nh);
}
template <typename T>
template <typename T>
void
remove_center_vertex_test()
{
@ -366,14 +366,14 @@ remove_center_vertex_test()
assert(CGAL::internal::exact_num_halfedges(f.m) == nh-(2*deg));
}
template <typename T>
template <typename T>
void
join_split_inverse()
{
}
template <typename T>
template <typename T>
void
does_satisfy_link_condition()
{

View File

@ -106,7 +106,7 @@ namespace CGAL {
vcolors[i] = scanner.get_color_from_line(iss);
}
}
if(!in)
return false;
}