Skip to content

Conversation

@jcs15c
Copy link
Contributor

@jcs15c jcs15c commented Jan 9, 2026

Summary

  • This PR is a bugfix for quest::STEPReader which checks the orientation of input opencascade surfaces, and corrects them in the primal::NURBSPatch and STL output.
  • Adds minor comment changes and one internal function call in quest::StepFileProcessor::PatchProcessor to emphasize that the contained opencascade object stores face geometry decoupled from its topology.
  • Fixes a broken MPI guard in MeshClipper.cpp

Topological data structures in opencascade have an extra TopAbs_Orientation flag which determines if the associated geometry object should be flipped within the face representation. If set to REVERSED, the orientation of the surface geometry needs to be reversed to be properly read as consistent with the rest of the shape.

Flipped face geometry was previously handled for trimmed NURBS output using (comparatively slow) numerical integration along trimming curves, but was not properly handled for triangulated output. Now in both cases, this condition is checked directly by the flag.

@jcs15c jcs15c self-assigned this Jan 9, 2026
@jcs15c jcs15c added bug Something isn't working Quest Issues related to Axom's 'quest' component labels Jan 9, 2026
Copy link
Member

@kennyweiss kennyweiss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @jcs15c for this bugfix!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working Quest Issues related to Axom's 'quest' component

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants