Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IVS-158 planar ifcface #332

Open
wants to merge 1 commit into
base: development
Choose a base branch
from
Open

IVS-158 planar ifcface #332

wants to merge 1 commit into from

Conversation

aothms
Copy link
Collaborator

@aothms aothms commented Dec 23, 2024

Used mpmath (multi precision math, to operate on higher accuracy that 64bit floats) for additional precision because the typical tolerance like 1.e-8 gets rather close to the expected accumulated rounding errors for the point projection and normal estimation. (That's the idea after all, that's why we need the tolerance).

Only the outer bound is used for estimating the plane. The inner bounds need to agree to that, because of:

One loop is optionally distinguished as the outer loop of the face. If so, it establishes a preferred way of embedding the face domain in the plane, in which the other bounding loops of the face are inside the outer bound

https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFace.htm

We should probably also add a rule for:

NOTE If the IfcFace is used within an IfcFacetedBrep, where all faces are implicitly planar and having a disctinct outer bound, exactly one of the bounds shall be of the type IfcFaceOuterBound.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant