Hello,<br><br>I checked the source code of OCCVertex.h and wondering what the second while loop doing and<br>what is special about Seam edges in this code ?<br><br>Thanks.<br>csv<br><br>SPoint2 OCCVertex::reparamOnFace(const GFace *gf, int dir) const<br>
{<br><br>std::list<GEdge*>::const_iterator it = l_edges.begin();<br>  while(it != l_edges.end()){<br>    std::list<GEdge*> l = gf->edges();<br>    if(std::find(l.begin(), l.end(), *it) != l.end()){<br>      if((*it)->isSeam(gf)){<br>
        const TopoDS_Face *s = (TopoDS_Face*)gf->getNativePtr();<br>        const TopoDS_Edge *c = (TopoDS_Edge*)(*it)->getNativePtr();<br>        double s1,s0;<br>        Handle(Geom2d_Curve) curve2d = BRep_Tool::CurveOnSurface(*c, *s, s0, s1);<br>
        if((*it)->getBeginVertex() == this)<br>          return (*it)->reparamOnFace(gf, s0, dir);<br>        else if((*it)->getEndVertex() == this)<br>          return (*it)->reparamOnFace(gf, s1, dir);<br>      }<br>
    }<br>    ++it;<br>  }<br><br>  it = l_edges.begin();<br>  while(it != l_edges.end()){<br>    std::list<GEdge*> l = gf->edges();<br>    if(std::find(l.begin(), l.end(), *it) != l.end()){<br>      const TopoDS_Face *s = (TopoDS_Face*)gf->getNativePtr();<br>
      const TopoDS_Edge *c = (TopoDS_Edge*)(*it)->getNativePtr();<br>      double s1,s0;<br>      Handle(Geom2d_Curve) curve2d = BRep_Tool::CurveOnSurface(*c, *s, s0, s1);<br>      if((*it)->getBeginVertex() == this)<br>
        return (*it)->reparamOnFace(gf, s0, dir);<br>      else if((*it)->getEndVertex() == this)<br>        return (*it)->reparamOnFace(gf, s1, dir);<br>    }<br>    ++it;<br>  }<br><br><br><br><br>