Skip to content

Conversation

jjhembd
Copy link
Contributor

@jjhembd jjhembd commented Oct 8, 2025

Description

This PR fixes exaggeration of ellipsoid voxels, by exaggerating the clipping bounds along with the shape bounds.

A VoxelPrimitive implements vertical exaggeration differently depending on the shape type:

  • VoxelShapeType.BOX and VoxelShapeType.CYLINDER apply the exaggeration as a transform, which is multiplied with the modelMatrix. This approach assumes the exaggeration is along the same axis for every point in the voxel (e.g., Z for cylinders). This is a reasonable approximation for datasets only covering a small area of the Earth, with some assumptions (!) about the shape orientation.
  • VoxelShapeType.ELLIPSOID is often used for datasets covering a large portion of the globe, so the exaggeration must be along the local ellipsoid normal, which varies across the dataset. This is implemented via scaling/shifting of the shape's height bounds.

The missing element for ellipsoids, highlighted in #12811, was that clipping bounds were not exaggerated. Data near the clipping bound could therefore be clipped off when the shape was exaggerated. This PR corrects that by exaggerating the clipping bounds along with the shape bounds.

Issue number and link

Fixes #12811

Testing plan

Load the test local Sandcastle and verify that the entire dataset is exaggerated without being truncated.

Author checklist

  • I have submitted a Contributor License Agreement
  • I have added my name to CONTRIBUTORS.md
  • I have updated CHANGES.md with a short summary of my change
  • I have added or updated unit tests to ensure consistent code coverage
  • I have updated the inline documentation, and included code examples where relevant
  • I have performed a self-review of my code

@github-actions
Copy link

github-actions bot commented Oct 8, 2025

Thank you for the pull request, @jjhembd!

✅ We can confirm we have a CLA on file for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Vertical exaggeration broken for Voxel datasets with ELLIPSOID shape

2 participants