feat(geospatial): Add makeOBBFromRegion() #43
Merged
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.
This is a restructuring of @sraimund 's work in PR #40 to resolve some intermodule dependencies and naming choices.
Here the ported code from Cesium to fix the calculation of the bounding box from a region on the WGS84 ellipsoid (see issue visgl/loaders.gl#3144). The function signature fromRegion() in oriented-bounding-box.ts (math.gl/culling) is similar to the previous createObbFromRegion function in bounding-volume.ts (loaders.gl/tiles). The other functions are nearly a 1:1 mapping from Cesium, except that these are now class methods.
Test:
https://stackblitz.com/edit/stackblitz-starters-pode72re (takes ~2mins to build and load)
Notes:
I could only build the culling module when adding // @ts-ignore // eslint-disable-next-line import/no-unresolved above import {Ellipsoid} from '@math.gl/geospatial'; in oriented-bounding-box.ts and import {Ellipsoid} from '@math.gl/geospatial'; in ellipsoid-tangent-plane.ts.
I'm not sure whether the 'lint' command worked correctly since it only showed some warnings for the dev-docs.