Skip to content

v4.7.0

Compare
Choose a tag to compare
@github-actions github-actions released this 12 Jun 18:03
· 582 commits to master since this release

deltaDoc: true
version: '4.7.0'

4.7.0 Change Notes

Table of contents:

Geometry

Convex check using dihedral angles

The old behavior of PolyfaceQuery.dihedralAngleSummary was to return 1 with planar input mesh and ignoreBoundaries===true. Its wrapper PolyfaceQuery.isConvexByDihedralAngleCount used to return true in this case, but callers generally don't expect to classify a planar mesh as enclosing a convex volume.

To address this error, we changed the behavior of the underlying method PolyfaceQuery.dihedralAngleSummary so that it now returns 0 for the aforementioned input. As such, PolyfaceQuery.isConvexByDihedralAngleCount now correctly returns false for planar input mesh and ignoreBoundaries===true; callers that pass undefined or false for ignoreBoundaries are unaffected.

Full changes to the iTwinjs 4.0 method PolyfaceQuery.dihedralAngleSummary are as follows. When all dihedral angles are zero (and ignoreBoundaries===true), this method used to return 1 but now returns 0. When the signs of the dihedral angles are mixed, or a non-manifold condition or undefined normal is detected, this method used to return 0 but now returns -2.