Commit 61d2951f authored by Pierre Kraemer's avatar Pierre Kraemer

creation des nouvelles cellules pour les operateurs de EmbeddedMap3 qui créent...

creation des nouvelles cellules pour les operateurs de EmbeddedMap3 qui créent des nouvelles orbites
parent acd4feb8
......@@ -136,10 +136,10 @@ inline T& AttributeHandler<T, ORBIT>::operator[](Dart d)
{
assert(valid || !"Invalid AttributeHandler") ;
unsigned int a = m_map->getEmbedding<ORBIT>(d) ;
/*
if (a == EMBNULL)
a = m_map->setOrbitEmbeddingOnNewCell<ORBIT>(d) ;
*/
// if (a == EMBNULL)
// a = m_map->setOrbitEmbeddingOnNewCell<ORBIT>(d) ;
return m_attrib->operator[](a) ;
}
......
......@@ -87,17 +87,6 @@ public:
*
*/
virtual void swapEdges(Dart d, Dart e);
// /**
// * The attributes attached to the vertex of dart d are kept on the resulting vertex
// * The attributes attached to the face of dart d are overwritten on the face of dart e
// */
// virtual void insertEdgeInVertex(Dart d, Dart e);
//
// /**
// * The attributes attached to the vertex of dart d are kept on the resulting vertex
// * The attributes attached to the face of dart d are overwritten on the face of dart e
// */
// virtual void removeEdgeFromVertex(Dart d);
/**
* The attributes attached to the vertices of the edge of d are kept on the vertices of the resulting edge
......
......@@ -244,55 +244,6 @@ void EmbeddedMap2::swapEdges(Dart d, Dart e)
setOrbitEmbeddingOnNewCell<VOLUME>(d);
}
//void EmbeddedMap2::insertEdgeInVertex(Dart d, Dart e)
//{
// Map2::insertEdgeInVertex(d, e);
//
// if (isOrbitEmbedded<VERTEX>())
// {
// copyDartEmbedding<VERTEX>(e, d) ;
// }
//
// if (isOrbitEmbedded<FACE>())
// {
// if(!sameFace(d,e))
// {
// setOrbitEmbeddingOnNewCell<FACE>(e);
// copyCell<FACE>(e, d) ;
// }
// else
// {
// setOrbitEmbedding<FACE>(d, getEmbedding<FACE>(d)) ;
// }
// }
//}
//
//void EmbeddedMap2::removeEdgeFromVertex(Dart d)
//{
// Dart dPrev = alpha_1(d);
//
// Map2::removeEdgeFromVertex(d);
//
// if (isOrbitEmbedded<VERTEX>())
// {
// setOrbitEmbeddingOnNewCell<VERTEX>(d);
// copyCell<VERTEX>(d, dPrev);
// }
//
// if (isOrbitEmbedded<FACE>())
// {
// if(!sameFace(d, dPrev))
// {
// setOrbitEmbeddingOnNewCell<FACE>(d);
// copyCell<FACE>(d, dPrev) ;
// }
// else
// {
// setOrbitEmbedding<FACE>(d, getEmbedding<FACE>(d)) ;
// }
// }
//}
void EmbeddedMap2::sewFaces(Dart d, Dart e, bool withBoundary)
{
if (!withBoundary)
......
......@@ -45,7 +45,7 @@ Dart EmbeddedMap3::splitVertex(std::vector<Dart>& vd)
if(isOrbitEmbedded<EDGE>())
{
initOrbitEmbeddingNewCell<EDGE>(dres) ; // TODO : check if dres is a dart of the new edge
}
if(isOrbitEmbedded<VOLUME>())
......@@ -76,6 +76,11 @@ Dart EmbeddedMap3::cutEdge(Dart d)
{
Dart nd = Map3::cutEdge(d);
if(isOrbitEmbedded<VERTEX>())
{
initOrbitEmbeddingNewCell<VERTEX>(nd) ;
}
if(isOrbitEmbedded<EDGE>())
{
// embed the new darts created in the cut edge
......@@ -255,6 +260,11 @@ void EmbeddedMap3::splitFace(Dart d, Dart e)
setDartEmbedding<VERTEX>(phi_1(dd), vEmb2);
}
if(isOrbitEmbedded<EDGE>())
{
initOrbitEmbeddingNewCell<EDGE>(phi_1(d)) ;
}
if(isOrbitEmbedded<FACE2>())
{
copyDartEmbedding<FACE2>(phi_1(d), 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