You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When calling viewer.flyTo(entity) for a small ground-clamped entity that contains both PolygonGraphics and PolylineGraphics, the camera flies much farther away than expected. At an oblique pitch, the visible polygon can also appear offset from the intended target.
The source-coordinate bounding sphere for this polygon has a radius of approximately 74 m. After the ground primitive is ready, the rendered entity bounding sphere has a radius of approximately 4.5 km in this reproduction. viewer.flyTo(entity) appears to use the rendered bounding sphere, so range: 0 produces a very distant automatic camera range.
I expected viewer.flyTo(entity) to frame the visible polygon at a practical scale and center it consistently at an oblique pitch. If the conservative rendered bounds are intentional for ground primitives, is there a supported public API for waiting until an entity is renderable and then flying to source-geometry bounds?
Reproduction steps
Open the Sandcastle reproduction: .
Open the browser developer console.
Click Log bounding spheres.
Observe that the raw geometry bounding sphere is much smaller than the rendered entity bounding sphere.
Click Fly with viewer.flyTo.
Observe the distant camera view.
Click Fly with raw geometry.
Compare the result. This uses camera.flyToBoundingSphere with a bounding sphere calculated from the source polygon coordinates.
What happened?
CesiumJS version: 1.144.0
When calling
viewer.flyTo(entity)for a small ground-clamped entity that contains bothPolygonGraphicsandPolylineGraphics, the camera flies much farther away than expected. At an oblique pitch, the visible polygon can also appear offset from the intended target.The source-coordinate bounding sphere for this polygon has a radius of approximately 74 m. After the ground primitive is ready, the rendered entity bounding sphere has a radius of approximately 4.5 km in this reproduction.
viewer.flyTo(entity)appears to use the rendered bounding sphere, sorange: 0produces a very distant automatic camera range.I expected
viewer.flyTo(entity)to frame the visible polygon at a practical scale and center it consistently at an oblique pitch. If the conservative rendered bounds are intentional for ground primitives, is there a supported public API for waiting until an entity is renderable and then flying to source-geometry bounds?Reproduction steps
Log bounding spheres.Fly with viewer.flyTo.Fly with raw geometry.camera.flyToBoundingSpherewith a bounding sphere calculated from the source polygon coordinates.The reproduction uses:
polyline.clampToGround = trueclassificationType = Cesium.ClassificationType.BOTHSandcastle example
https://sandcastle.cesium.com/#c=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
Environment
Browser: Google Chrome 151.0.7922.138 (64 bit) / Firefox 147.0.2 (64 bit)
CesiumJS Version: CesiumJS 1.144.0
Operating System: Microsoft Windows 11 Professional 25H2 26200.9168
AI acknowledgment