Merge branch 'fix-nonmanifold-no-collect' into 'master'

Not collecting failed faces but directly processing them

**Problem description:**

I encountered severe problems in my application because OpenMesh does not load attributes, such as face texture index, for failed faces (non-manifold geometry).
Instead of directly handling them, the Importer class defers the handling of failed faces to a post process - but at that point, the attribute information is not available any more, since it is read and applied in the reader, which only deals with the non-failed faces.


My simple solution was to remove the list of failed faces and instead directly handle failed faces inside the "add_face" function of the Importer class.


I didn't see any drawback, compared to the previous code. It would be interesting to know why the list of failed faces was maintained - was this legacy code, or was there some idea to extend this concept, which was just  never realized? The only functional point that has changed is that I removed the code that adds degenerate faces to the mesh (line 129), since, in my opinion, this makes things just more complicated for some applications, and the benefit of being able to import degenerate faces seems marginal. But that's a design decision, it will be very easy to encapsulate the code that adds a separate face (line 140) into a separate function and use it also for degenerate faces.

It would be great to receive your feedback on this issue, and to know if it is possible to include this change (or something similar).

See merge request !51
6 jobs for master
Status Job ID Name Coverage
passed clang-c++11 #4019


passed clang-c++98 #4021


failed gcc-c++11 #4018


passed gcc-c++98 #4020


passed macos-c++11 #4022


passed macos-c++98 #4023


Name Stage Failure
gcc-c++11 Test There is an unknown failure, please try again
ICECC[144472] 11:09:18: got exception 14 ( 
ICECC[144512] 11:09:21: got exception 14 (
ICECC[144568] 11:09:23: got exception 14 (
CMakeFiles/Makefile2:1088: recipe for target 'src/Unittests/CMakeFiles/unittests.dir/all' failed
make[1]: *** [src/Unittests/CMakeFiles/unittests.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

ERROR: Build failed: exit status 1