Fix a bug in TopoEdgeFlip::UpdateHeap (walking a around a border vertex).
This commit is contained in:
parent
629e129152
commit
89d09cb1b4
|
@ -565,6 +565,10 @@ public:
|
||||||
pos.NextE();
|
pos.NextE();
|
||||||
} while(pos != startpos && !pos.IsBorder());
|
} while(pos != startpos && !pos.IsBorder());
|
||||||
|
|
||||||
|
// if a border is reached, set startpos here
|
||||||
|
if(pos.IsBorder())
|
||||||
|
startpos = pos;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
VertexPointer v = pos.VFlip();
|
VertexPointer v = pos.VFlip();
|
||||||
if(v != v0 && v != v1 && v != v2 && v != v3)
|
if(v != v0 && v != v1 && v != v2 && v != v3)
|
||||||
|
@ -581,6 +585,10 @@ public:
|
||||||
pos.NextE();
|
pos.NextE();
|
||||||
} while(pos != startpos && !pos.IsBorder());
|
} while(pos != startpos && !pos.IsBorder());
|
||||||
|
|
||||||
|
// if a border is reached, set startpos here
|
||||||
|
if(pos.IsBorder())
|
||||||
|
startpos = pos;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
VertexPointer v = pos.VFlip();
|
VertexPointer v = pos.VFlip();
|
||||||
if(v != v0 && v != v1 && v != v2 && v != v3)
|
if(v != v0 && v != v1 && v != v2 && v != v3)
|
||||||
|
|
Loading…
Reference in New Issue