Breaking Changes Coming in b26 - Affects Everyone

As part of an effort to make the Cesium API more consistent, there are going to be some major breaking changes coming in the next release.

I’ve been working on replacing get/set functions with properties. [1421]

My pull request for Scene, CompositePrimitive, Ellipsoid, CentralBody and EllipsoidalOccluder was merged last week [1464], and I’m hoping to get another round of changes in before the next release.

Here’s a summary of the functions that were replaced in my pull request. And as always, the changes are also listed in the Change Log.

Scene

  • getCanvas -> canvas
  • getContext -> context
  • getPrimitives -> primitives
  • getCamera -> camera
  • getScreenSpaceCameraController -> screenSpaceController
  • getFrameState -> frameState
  • getAnimations -> animations

CompositePrimitive

  • getCentralBody, setCentralBody -> centralBody
  • getLength -> length

Ellipsoid

  • getRadii -> radii
  • getRadiiSquared -> radiiSquared
  • getRadiiToTheFourth -> radiiToTheFourth
  • getOneOverRadii -> oneOverRadii
  • getOneOverRadiiSquared -> oneOverRadiiSquared
  • getMinimumRadius -> minimumRadius
  • getMaximumRadius -> maximumRadius

CentralBody

  • getEllipsoid -> ellipsoid
  • getImageryLayers -> imageryLayerCollection

EllipsoidalOccluder

  • getEllipsoid -> ellipsoid
  • getCameraPosition, setCameraPosition -> cameraPosition

Thank you!

-Hannah

Thanks for the heads-up Hannah.

These are really important changes that will make the API easier to use. JavaScript property access is now fast enough that we can use it everywhere, instead of relying on get/set functions for performance-critical areas as we previously did.

This change, along with a number of other issues labeled “breaking change”, will help stabilize the API over the next few months.

Patrick