You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Cesium-Prequel/Specs/Scene/DebugModelMatrixPrimitiveSp...

93 lines
2.5 KiB
JavaScript

import { Cartesian3 } from "../../Source/Cesium.js";
import { Matrix4 } from "../../Source/Cesium.js";
import { DebugModelMatrixPrimitive } from "../../Source/Cesium.js";
import createScene from "../createScene.js";
describe(
"Scene/DebugModelMatrixPrimitive",
function () {
var scene;
beforeAll(function () {
scene = createScene();
var camera = scene.camera;
camera.position = new Cartesian3(1.02, 0.0, 0.0);
camera.direction = Cartesian3.negate(Cartesian3.UNIT_X, new Cartesian3());
camera.up = Cartesian3.clone(Cartesian3.UNIT_Z);
});
afterAll(function () {
scene.destroyForSpecs();
});
afterEach(function () {
scene.primitives.removeAll();
});
it("gets the default properties", function () {
var p = new DebugModelMatrixPrimitive();
expect(p.length).toEqual(10000000.0);
expect(p.width).toEqual(2.0);
expect(p.modelMatrix).toEqual(Matrix4.IDENTITY);
expect(p.show).toEqual(true);
expect(p.id).not.toBeDefined();
p.destroy();
});
it("Constructs with options", function () {
var p = new DebugModelMatrixPrimitive({
length: 10.0,
width: 1.0,
modelMatrix: Matrix4.fromUniformScale(2.0),
show: false,
id: "id",
});
expect(p.length).toEqual(10.0);
expect(p.width).toEqual(1.0);
expect(p.modelMatrix).toEqual(Matrix4.fromUniformScale(2.0));
expect(p.show).toEqual(false);
expect(p.id).toEqual("id");
p.destroy();
});
it("renders", function () {
var p = scene.primitives.add(new DebugModelMatrixPrimitive());
expect(scene).notToRender([0, 0, 0, 255]);
// Update and render again
p.length = 100.0;
expect(scene).notToRender([0, 0, 0, 255]);
});
it("does not render when show is false", function () {
scene.primitives.add(
new DebugModelMatrixPrimitive({
show: false,
})
);
expect(scene).toRender([0, 0, 0, 255]);
});
it("is picked", function () {
var p = scene.primitives.add(
new DebugModelMatrixPrimitive({
id: "id",
})
);
expect(scene).toPickAndCall(function (result) {
expect(result.primitive).toBe(p);
expect(result.id).toBe("id");
});
});
it("isDestroyed", function () {
var p = new DebugModelMatrixPrimitive();
expect(p.isDestroyed()).toEqual(false);
p.destroy();
expect(p.isDestroyed()).toEqual(true);
});
},
"WebGL"
);