message: Use VecMath in Cesium3DTilesetRoot
  Doing that by the way, while reading the code...
diff: #include "Cesium3DTilesetRoot.h"
  #include "Cesium3DTileset.h"
  #include "CesiumUtility/Math.h"
  +#include "VecMath.h"
  #include "Engine/World.h"
  UCesium3DTilesetRoot::UCesium3DTilesetRoot()
  @@ -19,10 +20,7 @@ void UCesium3DTilesetRoot::ApplyWorldOffset(
  USceneComponent::ApplyWorldOffset(InOffset, bWorldShift);
  const FIntVector& oldOrigin = this->GetWorld()->OriginLocation;
  - this->_worldOriginLocation = glm::dvec3(
  - static_cast<double>(oldOrigin.X) - static_cast<double>(InOffset.X),
  - static_cast<double>(oldOrigin.Y) - static_cast<double>(InOffset.Y),
  - static_cast<double>(oldOrigin.Z) - static_cast<double>(InOffset.Z));
  + this->_worldOriginLocation = VecMath::subtract3D(oldOrigin, InOffset);
  // Do _not_ call _updateAbsoluteLocation. The absolute position doesn't change
  // with an origin rebase, and we'll lose precision if we update the absolute
  @@ -78,13 +76,7 @@ bool UCesium3DTilesetRoot::MoveComponentImpl(
  void UCesium3DTilesetRoot::_updateAbsoluteLocation() {
  const FVector& newLocation = this->GetRelativeLocation();
  const FIntVector& originLocation = this->GetWorld()->OriginLocation;
  - this->_absoluteLocation = glm::dvec3(
  - static_cast<double>(originLocation.X) +
  - static_cast<double>(newLocation.X),
  - static_cast<double>(originLocation.Y) +
  - static_cast<double>(newLocation.Y),
  - static_cast<double>(originLocation.Z) +
  - static_cast<double>(newLocation.Z));
  + this->_absoluteLocation = VecMath::add3D(originLocation, newLocation);
  }
  void UCesium3DTilesetRoot::_updateTilesetToUnrealRelativeWorldTransform() {
  @@ -103,23 +95,7 @@ void UCesium3DTilesetRoot::_updateTilesetToUnrealRelativeWorldTransform() {
  FMatrix tilesetActorToUeLocal =
  this->GetComponentToWorld().ToMatrixWithScale();
  - glm::dmat4 ueAbsoluteToUeLocal = glm::dmat4(
  - glm::dvec4(
  - tilesetActorToUeLocal.M[0][0],
  - tilesetActorToUeLocal.M[0][1],
  - tilesetActorToUeLocal.M[0][2],
  - tilesetActorToUeLocal.M[0][3]),
  - glm::dvec4(
  - tilesetActorToUeLocal.M[1][0],
  - tilesetActorToUeLocal.M[1][1],
  - tilesetActorToUeLocal.M[1][2],
  - tilesetActorToUeLocal.M[1][3]),
  - glm::dvec4(
  - tilesetActorToUeLocal.M[2][0],
  - tilesetActorToUeLocal.M[2][1],
  - tilesetActorToUeLocal.M[2][2],
  - tilesetActorToUeLocal.M[2][3]),
  - glm::dvec4(relativeLocation, 1.0));
  + glm::dmat4 ueAbsoluteToUeLocal = VecMath::createMatrix4D(tilesetActorToUeLocal, relativeLocation);
  this->_tilesetToUnrealRelativeWorld =
  ueAbsoluteToUeLocal * ellipsoidCenteredToUnrealWorld;
  