Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
OpenMesh
OpenMesh
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 11
    • Issues 11
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 5
    • Merge Requests 5
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • OpenMesh
  • OpenMeshOpenMesh
  • Merge Requests
  • !51

Merged
Opened Apr 06, 2016 by Max Limper@mlimperDeveloper

Not collecting failed faces but directly processing them

  • Overview 11
  • Commits 2
  • Pipelines 2
  • Changes 2

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.

Solution:

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.

Discussion:

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).

Assignee
Assign to
Reviewer
Request review from
OpenMesh 6.0
Milestone
OpenMesh 6.0
Assign milestone
Time tracking
Reference: OpenMesh/OpenMesh!51
Source branch: fix-nonmanifold-no-collect

Cherry-pick this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.