Commit e7fbce7f authored by Pierre Kraemer's avatar Pierre Kraemer

Merge branch 'no_boundary' of cgogn:CGoGN into no_boundary

Conflicts:
	include/Topology/generic/dartmarker.h
	include/Topology/map/map2.h
	src/Topology/map/map2.cpp
parents d16dca6c 69e504c4
......@@ -317,7 +317,23 @@ public:
/**
* tell if the vertex of d is on the boundary of the map
*/
bool isBoundaryVertex(Dart d) ;
bool isBoundaryVertex(Dart d) ; // OK boundary
/**
* find the dart of vertex that belong to the boundary
*/
Dart findBoundaryVertex(Dart d);
/**
* tell if the edge of d is on the boundary of the map
*/
bool isBoundaryEdge(Dart d) ; // OK boundary
/**
* tell if the face of d is on the boundary of the map
*/
bool isBoundaryFace(Dart d) ;
/**
* find the dart of vertex that belong to the boundary
......@@ -340,7 +356,7 @@ public:
* boudary dart is reached.
* @param d a boundary dart
*/
Dart nextOnBoundary(Dart d) ;
Dart nextOnBoundary(Dart d); // OK boundary
// TODO a mettre en algo
/**
......@@ -425,6 +441,31 @@ public:
*/
void sewOrientedFaces(Dart d, Dart e);
//@}
//@{
//! Close a topological hole (a sequence of connected fixed point of phi2). DO NO USE, only for import algorithm
/*! \pre dart d MUST be fixed point of phi2 relation
* Add a face to the map that closes the hole.
* The darts of this face are marked with holeMarker.
* @param d a dart of the hole (with phi2(d)==d)
* @return the degree of the created face
*/
virtual unsigned int closeHole(Dart d);
//! Close the map removing topological holes: DO NO USE, only for import algorithm
/*! Add faces to the map that close every existing hole.
* These faces are marked.
* \warning The embeddings of vertices are not updated
*/
void closeMap();
// void closeMap(DartMarker& marker);
/**
* sew oriented face, DO NO USE, only for import algorithm
*/
void sewOrientedFaces(Dart d, Dart e);
//@}
};
} // namespace CGoGN
......
......@@ -230,6 +230,7 @@ bool Map2::uncutEdge(Dart d)
return false ;
}
Dart Map2::collapseEdge(Dart d, bool delDegenerateFaces)
{
// Dart resV ;
......@@ -289,7 +290,7 @@ Dart Map2::collapseEdge(Dart d, bool delDegenerateFaces)
Dart h = alpha1(e);
if (h != e)
resV=h;
resV = h;
if (f != e && delDegenerateFaces)
{
......@@ -304,7 +305,7 @@ Dart Map2::collapseEdge(Dart d, bool delDegenerateFaces)
{
h = alpha1(d);
if (h != d)
resV=h;
resV = h;
}
if (f != d && delDegenerateFaces)
......@@ -390,19 +391,19 @@ void Map2::unsewFaces(Dart d)
if (isBoundaryVertex(d))
{
Dart f = findBoundaryVertex(d);
phi1sew(e,phi_1(f));
phi1sew(e, phi_1(f));
}
if (isBoundaryVertex(dd))
{
Dart f = findBoundaryVertex(dd);
phi1sew(phi_1(e),phi_1(f));
phi1sew(phi_1(e), phi_1(f));
}
phi2unsew(d);
// sew faces to the boundary
phi2sew(d,e);
phi2sew(dd,phi1(e));
phi2sew(d, e);
phi2sew(dd, phi1(e));
}
bool Map2::collapseDegeneratedFace(Dart d)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment