Repository navigation
Conversation
… orientation The handler read FixedReference from argument 3 (StartParam) instead of argument 5, logging an unexpected-token error and producing a wrongly oriented solid. Skip StartParam/EndParam (IfcCurveMeasureSelect: EMPTY, a number, or a typed select such as IFCPARAMETERVALUE) and read FixedReference from argument 5. Rewrite SweepFixedReference to follow the IFC definition: the profile local z-axis is the directrix tangent and its local x-axis is the orthogonal projection of FixedReference onto the normal plane. Handle profile holes and build caps with earcut. Extract NormalizeRing and ForEachEarcutTriangle helpers shared with RevolveProfile and ExtrudeTapered. Fixes ThatOpen#2248
Contributor
Author
|
Superseded by #2250, which fixes the same issue (read FixedReference after the start/end parameters, orient the profile against the directrix tangent) with a more thorough implementation plus functional tests and fixtures. Closing as a duplicate. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #2248.
The IFCFIXEDREFERENCESWEPTAREASOLID handler read FixedReference from argument 3 (StartParam) instead of argument 5, logging an unexpected-token error and producing a wrongly oriented solid. Skip StartParam/EndParam (each an IfcCurveMeasureSelect: EMPTY, a number, or a typed select such as IFCPARAMETERVALUE) and read FixedReference from argument 5.
Rewrite SweepFixedReference to follow the IFC definition: at each directrix point the profile local z-axis is the tangent and its local x-axis is the orthogonal projection of FixedReference onto the normal plane. Handle profile holes and build caps with earcut.