-
Notifications
You must be signed in to change notification settings - Fork 34
Improve error handling for degenerate c2c contour files #1879
Copy link
Copy link
Open
Labels
PrimalIssues related to Axom's 'primal componentIssues related to Axom's 'primal componentQuestIssues related to Axom's 'quest' componentIssues related to Axom's 'quest' componentUser RequestIssues related to user requestsIssues related to user requestsbugSomething isn't workingSomething isn't workinghigh priorityusabilityRelated to code usabilityRelated to code usability
Milestone
Metadata
Metadata
Assignees
Labels
PrimalIssues related to Axom's 'primal componentIssues related to Axom's 'primal componentQuestIssues related to Axom's 'quest' componentIssues related to Axom's 'quest' componentUser RequestIssues related to user requestsIssues related to user requestsbugSomething isn't workingSomething isn't workinghigh priorityusabilityRelated to code usabilityRelated to code usability
Type
Fields
Give feedbackNo fields configured for issues without a type.
A user reported problems shaping in contour files.
It turned out that a linear spline had a duplicate control point, e.g.
C2C converts this a NURBS curve of degree 1 with
C^-1continuity (i.e. discontinuous), which ourNURBSCurveclass (intentionally) does not support.Loading this input triggers a validity check in our
KnotVectorclass via aSLIC_ASSERTand crashes in Debug configs without a good error message.More significantly, this does not get triggered at construction time in Release configs and manifests as an out-of-bounds array indexing error (which is much harder to pinpoint).
We should fix this by improving the error messages when loading invalid contour files and ensuring that it gets reported in all configs (debug and release).
I don't think we need to directly support this invalid mesh in our reader since it is easy enough for users to fix their input data.
On the other hand, this case (linear spline with duplicated control point) might be common enough to try to fix on our side.