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 > [email protected] > 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 _______________________________________________ gmsh mailing list [email protected] http://www.geuz.org/mailman/listinfo/gmsh
