private void findNewRoots(int segnum) { SeidelSegment s = segments[segnum]; if(s.isInserted) return; s.root0 = locateEndpoint(s.v0, s.v1, s.root0); s.root0 = trapezoidList[s.root0].sink; s.root1 = locateEndpoint(s.v1, s.v0, s.root1); s.root1 = trapezoidList[s.root1].sink; }
ret_val = locateEndpoint(v, vo, rptr.rightChild); else if(equalsEpsilon(v, rptr.yVal)) ret_val = locateEndpoint(v, vo, rptr.rightChild); else ret_val = locateEndpoint(v, vo, rptr.leftChild); // below ret_val = locateEndpoint(v, vo, rptr.leftChild); // below break; ret_val = locateEndpoint(v, vo, rptr.leftChild); else ret_val = locateEndpoint(v, vo, rptr.rightChild); ret_val = locateEndpoint(v, vo, rptr.leftChild); else ret_val = locateEndpoint(v, vo, rptr.rightChild); ret_val = locateEndpoint(v, vo, rptr.leftChild); else ret_val = locateEndpoint(v, vo, rptr.rightChild); break;
int tu = locateEndpoint(s.v0, s.v1, s.root0); int tl = newTrapezoid(); // tl is the new lower trapezoid trapezoidList[tl].valid = true; tfirst = locateEndpoint(s.v0, s.v1, s.root0); int tu = locateEndpoint(s.v1, s.v0, s.root1); int tl = newTrapezoid(); // tl is the new lower trapezoid trapezoidList[tl].valid = true; tlast = locateEndpoint(s.v1, s.v0, s.root1); tribot = true;