let params = {
tx: 121,
ty: 32,
tz: 10,
rx: -100,
ry: 10,
rz: 0,
scale: 10,
};
let scale = (value) => {
params.scale = value;
update3dtilesMaxtrix();
};
let rotateX = (anglex) => {
params.rx = anglex;
update3dtilesMaxtrix();
};
let rotateY = (angley) => {
params.ry = angley;
update3dtilesMaxtrix();
};
let rotateZ = (anglez) => {
params.rz = anglez;
update3dtilesMaxtrix();
};
const update3dtilesMaxtrix = () => {
let mx = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(params.rx));
let my = Cesium.Matrix3.fromRotationY(Cesium.Math.toRadians(params.ry));
let mz = Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(params.rz));
let rotationX = Cesium.Matrix4.fromRotationTranslation(mx);
let rotationY = Cesium.Matrix4.fromRotationTranslation(my);
let rotationZ = Cesium.Matrix4.fromRotationTranslation(mz);
let position = Cesium.Cartesian3.fromDegrees(params.tx, params.ty, params.tz);
let scale = Cesium.Matrix4.fromUniformScale(params.scale);
let m = Cesium.Transforms.eastNorthUpToFixedFrame(position);
Cesium.Matrix4.multiply(m, scale, m);
Cesium.Matrix4.multiply(m, rotationX, m);
Cesium.Matrix4.multiply(m, rotationY, m);
Cesium.Matrix4.multiply(m, rotationZ, m);
tileset._root.transform = m;
};