[Gmsh] Something wrong with edge loop
Christophe Geuzaine
cgeuzaine at ulg.ac.be
Thu Mar 12 21:22:29 CET 2009
Peter Wainwright wrote:
> Hi,
>
> I'm importing a STEP model, generated using a C++ program using
> OpenCASCADE, consisting of triangular NURBS patches. Of course, these
> are really rectangular but each has one degenerate edge.
>
> I got a lot of errors "Something wrong with edge loop". It turns out
> that GEdgeLoop::GEdgeLoop(const std::list<GEdge*> &cwire) will often
> miss the degenerate edge. For example, if the edge list contains AB,
> BC, CA, CC in that order, then the edge loop will close as AB+BC+CA and
> CC will be skipped. We would fall through to the end of nextOne(),
> which should never happen.
>
> Thus nextOne() should check for a degenerate edge and process it before
> moving on (in the same way that it already checks for seams). I've
> attached a patch which does this.
>
Hi Peter - Indeed, but I fear that your patch will also skip valid
periodic curves (curves with a single vertex: e.g. a circle with a
single start/end point). Any ideas?
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> gmsh mailing list
> gmsh at geuz.org
> http://www.geuz.org/mailman/listinfo/gmsh
--
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science
http://www.montefiore.ulg.ac.be/~geuzaine