Commit 0b369ef6 authored by Thomas's avatar Thomas

correction cutEdge emap3

parent 68b8d632
......@@ -316,45 +316,45 @@ void EmbeddedMap2<MAP2>::sewFaces(Dart d, Dart e)
template <typename MAP2>
void EmbeddedMap2<MAP2>::unsewFaces(Dart d)
{
bool boundaryD = false ;
bool boundaryE = false ;
if (MAP2::isOrbitEmbedded(VERTEX))
{
if(MAP2::isBoundaryVertex(d))
boundaryD = true ;
if(MAP2::isBoundaryVertex(MAP2::phi1(d)))
boundaryE = true ;
}
Dart e = MAP2::phi2(d) ;
// bool boundaryD = false ;
// bool boundaryE = false ;
// if (MAP2::isOrbitEmbedded(VERTEX))
// {
// if(MAP2::isBoundaryVertex(d))
// boundaryD = true ;
// if(MAP2::isBoundaryVertex(MAP2::phi1(d)))
// boundaryE = true ;
// }
//
// Dart e = MAP2::phi2(d) ;
MAP2::unsewFaces(d) ;
if (MAP2::isOrbitEmbedded(VERTEX))
{
if(boundaryD)
{
if(e != d)
{
Dart ee = MAP2::phi1(e) ;
MAP2::embedNewCell(VERTEX, ee) ;
MAP2::copyCell(VERTEX, ee, d) ;
}
}
if(boundaryE)
{
if(e != d)
{
MAP2::embedNewCell(VERTEX, e) ;
MAP2::copyCell(VERTEX, e, MAP2::phi1(d)) ;
}
}
}
if (MAP2::isOrbitEmbedded(EDGE))
{
MAP2::embedNewCell(EDGE, e) ;
MAP2::copyCell(EDGE, e, d) ;
}
// if (MAP2::isOrbitEmbedded(VERTEX))
// {
// if(boundaryD)
// {
// if(e != d)
// {
// Dart ee = MAP2::phi1(e) ;
// MAP2::embedNewCell(VERTEX, ee) ;
// MAP2::copyCell(VERTEX, ee, d) ;
// }
// }
//
// if(boundaryE)
// {
// if(e != d)
// {
// MAP2::embedNewCell(VERTEX, e) ;
// MAP2::copyCell(VERTEX, e, MAP2::phi1(d)) ;
// }
// }
// }
// if (MAP2::isOrbitEmbedded(EDGE))
// {
// MAP2::embedNewCell(EDGE, e) ;
// MAP2::copyCell(EDGE, e, d) ;
// }
}
template <typename MAP2>
......
......@@ -68,37 +68,37 @@ void EmbeddedMap3<MAP3>::sewVolumes(Dart d, Dart e)
template <typename MAP3>
void EmbeddedMap3<MAP3>::unsewVolumes(Dart d)
{
Dart d3 = MAP3::phi3(d);
bool boundaryD = false;
bool boundaryE = false;
if(MAP3::isOrbitEmbedded(VERTEX))
{
if(MAP3::isBoundaryVertex(d))
boundaryD = true;
if(MAP3::isBoundaryVertex(MAP3::phi1(d)))
boundaryE = true;
}
// Dart d3 = MAP3::phi3(d);
//
// bool boundaryD = false;
// bool boundaryE = false;
//
// if(MAP3::isOrbitEmbedded(VERTEX))
// {
// if(MAP3::isBoundaryVertex(d))
// boundaryD = true;
// if(MAP3::isBoundaryVertex(MAP3::phi1(d)))
// boundaryE = true;
// }
//
MAP3::unsewVolumes(d);
Dart dd = d;
Dart dd3 = d3;
do
{
if(MAP3::isOrbitEmbedded(VERTEX))
MAP3::copyCell(VERTEX, dd3, MAP3::phi1(dd));
if(MAP3::isOrbitEmbedded(EDGE))
if(MAP3::isOrbitEmbedded(FACE))
dd = MAP3::phi1(dd) ;
}while( dd != d );
//
// Dart dd = d;
// Dart dd3 = d3;
//
// do
// {
// if(MAP3::isOrbitEmbedded(VERTEX))
// MAP3::copyCell(VERTEX, dd3, MAP3::phi1(dd));
//
// if(MAP3::isOrbitEmbedded(EDGE))
//
//
// if(MAP3::isOrbitEmbedded(FACE))
//
//
// dd = MAP3::phi1(dd) ;
// }while( dd != d );
}
......@@ -168,34 +168,52 @@ void EmbeddedMap3<MAP3>::splitFace(Dart d, Dart e)
template <typename MAP3>
void EmbeddedMap3<MAP3>::cutEdge(Dart d)
{
MAP3::cutEdge(d);
if(MAP3::isOrbitEmbedded(EDGE))
{
Dart nd = MAP3::phi1(d) ;
MAP3::embedNewCell(EDGE, nd) ;
MAP3::copyCell(EDGE, nd, d) ;
unsigned int vEmb = MAP3::getEmbedding(EDGE, d);
MAP3::embedOrbit(EDGE, d, vEmb) ;
}
if(MAP3::isOrbitEmbedded(FACE))
{
Dart f = d;
do
{
Dart nd = MAP3::phi1(f) ;
MAP3::copyDartEmbedding(FACE, nd, f);
Dart f2 = MAP3::phi2(nd);
if(f2!=nd)
{
Dart nd2 = MAP3::phi2(f);
MAP3::copyDartEmbedding(FACE, nd2, f2);
}
f = MAP3::alpha2(f);
} while(f != d);
}
if(MAP3::isOrbitEmbedded(VOLUME))
{
Dart demb = d;
if(MAP3::phi3(demb) == demb)
demb = MAP3::phi2(demb);
Dart f = demb;
Dart f = d;
do
{
MAP3::copyDartEmbedding(VOLUME, MAP3::phi1(f), f);
MAP3::copyDartEmbedding(VOLUME, MAP3::phi2(f), MAP3::phi2(MAP3::phi1(f)));
Dart nd = MAP3::phi1(f) ;
MAP3::copyDartEmbedding(VOLUME, nd, f);
Dart nd2 = MAP3::phi2(f);
if(f!=nd2)
MAP3::copyDartEmbedding(VOLUME, nd2, f);
f = MAP3::alpha2(f);
}
while(f != demb);
} while(f != 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