diff --git a/include/Topology/generic/genericmap.h b/include/Topology/generic/genericmap.h index 513e69240aac0eebd66b272d6bec7e7930ef2780..01d57835b01a0095bb9ad3d3ae9cccc15c7751aa 100644 --- a/include/Topology/generic/genericmap.h +++ b/include/Topology/generic/genericmap.h @@ -404,7 +404,6 @@ public: */ void viewAttributesTables(); - protected: /// boundary marker Mark m_boundaryMarker; @@ -438,7 +437,6 @@ protected: * clear all boundary markers */ void boundaryUnmarkAll(); - } ; diff --git a/include/Topology/generic/traversorCell.h b/include/Topology/generic/traversorCell.h index 94698c6a22ba0e03138c1a5458831fbea9566bf5..16444d83dd65eb5f24c5efeee27d32ebc885009b 100644 --- a/include/Topology/generic/traversorCell.h +++ b/include/Topology/generic/traversorCell.h @@ -26,6 +26,7 @@ #define __TRAVERSOR_CELL_H__ #include "Topology/generic/dart.h" +#include "Topology/generic/dartmarker.h" namespace CGoGN { diff --git a/include/Topology/map/map1.h b/include/Topology/map/map1.h index 6f80483a49d6ffb325b31290f45a7d618813f1bb..d3b7c412d709f29e3096e2bcaede9dc122ac9260 100644 --- a/include/Topology/map/map1.h +++ b/include/Topology/map/map1.h @@ -36,10 +36,9 @@ namespace CGoGN * - A dual 1-map is made of darts linked by the phi1 permutation. * - In this class darts are interpreted as oriented edges. * - The phi1 relation defines cycles of darts or (oriented) faces. - * - Faces may have arbitrary size. - * - Faces with only one edge (sometime called loops) are accepted. - * - Degenerated faces with only two edges are accepted. - * @param DART the type of dart used in the class + * - Faces may have arbitrary size. + * - Faces with only one edge (sometime called loops) are accepted. + * - Degenerated faces with only two edges are accepted. */ class Map1 : public AttribMap { diff --git a/include/Topology/map/map2.h b/include/Topology/map/map2.h index 95ce46e681460743a6bcc759b0b67e7aeb6d6682..c59c7f08baf171ecde3cc7e60c41282f827ebc5c 100644 --- a/include/Topology/map/map2.h +++ b/include/Topology/map/map2.h @@ -98,7 +98,7 @@ protected: //! merge a face that has been tag as boundary with existing boundary if needed /* @param d a dart of the face */ - void mergeFacewithBoundary(Dart d); + void mergeFaceWithBoundary(Dart d); /** * merge two faces of boundary @@ -114,7 +114,7 @@ protected: /*! The phi2-links around the face are removed * @param d a dart of the face */ - void deleteOrientedFace(Dart d) ; // OK boundary + void deleteOrientedFace(Dart d) ; public: diff --git a/include/Topology/map/map2.hpp b/include/Topology/map/map2.hpp index d86055c62bb7ef63fd9782c223ad5fd3f687d830..b660cbd23675059de125c40ba2b4a2369e9f53ab 100644 --- a/include/Topology/map/map2.hpp +++ b/include/Topology/map/map2.hpp @@ -143,7 +143,6 @@ inline Dart Map2::alpha_1(Dart d) // return e; //} - inline void Map2::phi2sew(Dart d, Dart e) { assert((*m_phi2)[d.index] == d) ; diff --git a/src/Topology/generic/genericmap.cpp b/src/Topology/generic/genericmap.cpp index f54f52c42b37b74c1e096f7508bbccc043ca8886..c97c0366e920172fde41b77f431624f9c1ee7449 100644 --- a/src/Topology/generic/genericmap.cpp +++ b/src/Topology/generic/genericmap.cpp @@ -646,8 +646,6 @@ void GenericMap::viewAttributesTables() } - - void GenericMap::boundaryMark(Dart d) { m_markTables[DART][0]->operator[](d.index).setMark(m_boundaryMarker); diff --git a/src/Topology/map/map1.cpp b/src/Topology/map/map1.cpp index 8c0dc5ca04b28b98367568528428ae58ce215523..0c9f7d09af8b3fa0d2154070bc9ead817b944619 100644 --- a/src/Topology/map/map1.cpp +++ b/src/Topology/map/map1.cpp @@ -50,7 +50,6 @@ Dart Map1::newBoundaryFace(unsigned nbEdges) return d ; } - void Map1::deleteOrientedFace(Dart d) { Dart e = phi1(d) ; diff --git a/src/Topology/map/map2.cpp b/src/Topology/map/map2.cpp index a88d2cb5219a4304868b0e3898d61b08c9b5db9b..673793e887f295a50780af4b8efffbcd90714172 100644 --- a/src/Topology/map/map2.cpp +++ b/src/Topology/map/map2.cpp @@ -61,29 +61,31 @@ void Map2::mergeBoundaryFaces(Dart dd, Dart ee) // } while (e != d) ; //} -void Map2::mergeFacewithBoundary(Dart d) +void Map2::mergeFaceWithBoundary(Dart d) { std::vector storeForLinkVertex; std::vector storeForLinkFace; - Dart e = d ; - do // foreach vertex/edge of face + Dart it = d ; + do // foreach vertex/edge of face { - Dart f = findBoundaryVertex(alpha1(e)); // check if connexion by vertex - if (f != e) + Dart e = phi2(it) ; + if(isBoundaryMarked(e)) // check if connection by edge { - storeForLinkVertex.push_back(phi_1(e)); - storeForLinkVertex.push_back(phi_1(f)); + storeForLinkFace.push_back(it); + storeForLinkFace.push_back(e); } - - Dart g = phi2(f); - if (isBoundaryMarked(g)) // check if connexion by a face + else { - storeForLinkFace.push_back(f); - storeForLinkFace.push_back(g); + Dart f = findBoundaryVertex(alpha1(it)); // check if connection by vertex + if (f != it) + { + storeForLinkVertex.push_back(phi_1(it)); + storeForLinkVertex.push_back(phi_1(f)); + } } - e = phi1(e) ; - } while (e != d) ; + it = phi1(it) ; + } while (it != d) ; // merge by vertices while (!storeForLinkVertex.empty()) @@ -108,9 +110,8 @@ void Map2::mergeFacewithBoundary(Dart d) void Map2::deleteOrientedFace(Dart d) { // tag face in boundary - boundaryMarkOrbit(FACE,d); - mergeFacewithBoundary(d); - + boundaryMarkOrbit(FACE, d); + mergeFaceWithBoundary(d); } void Map2::sewOrientedFaces(Dart d, Dart e)