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.
72 lines
2.3 KiB
JavaScript
72 lines
2.3 KiB
JavaScript
import { BoundingSphere } from "../../Source/Cesium.js";
|
|
import { BoxGeometry } from "../../Source/Cesium.js";
|
|
import { Cartesian3 } from "../../Source/Cesium.js";
|
|
import { ComponentDatatype } from "../../Source/Cesium.js";
|
|
import { Geometry } from "../../Source/Cesium.js";
|
|
import { GeometryAttribute } from "../../Source/Cesium.js";
|
|
import { GeometryAttributes } from "../../Source/Cesium.js";
|
|
import { PrimitiveType } from "../../Source/Cesium.js";
|
|
import { PrimitivePipeline } from "../../Source/Cesium.js";
|
|
|
|
describe(
|
|
"Scene/PrimitivePipeline",
|
|
function () {
|
|
it("can pack and unpack geometry", function () {
|
|
var boxGeometry = BoxGeometry.createGeometry(
|
|
BoxGeometry.fromDimensions({
|
|
dimensions: new Cartesian3(1, 2, 3),
|
|
})
|
|
);
|
|
|
|
var boxGeometry2 = BoxGeometry.createGeometry(
|
|
BoxGeometry.fromDimensions({
|
|
dimensions: new Cartesian3(3, 4, 7),
|
|
})
|
|
);
|
|
|
|
var geometryToPack = [boxGeometry, boxGeometry2];
|
|
var transferableObjects = [];
|
|
var results = PrimitivePipeline.packCreateGeometryResults(
|
|
geometryToPack,
|
|
transferableObjects
|
|
);
|
|
var unpackedGeometry = PrimitivePipeline.unpackCreateGeometryResults(
|
|
results
|
|
);
|
|
|
|
expect(transferableObjects.length).toBe(1);
|
|
expect(geometryToPack).toEqual(unpackedGeometry);
|
|
});
|
|
|
|
it("can pack and unpack geometry without indices", function () {
|
|
var attributes = new GeometryAttributes();
|
|
attributes.position = new GeometryAttribute({
|
|
componentDatatype: ComponentDatatype.FLOAT,
|
|
componentsPerAttribute: 3,
|
|
values: new Float32Array([1, 2, 3, 4, 5, 6]),
|
|
});
|
|
|
|
var geometry = new Geometry({
|
|
attributes: attributes,
|
|
indices: undefined,
|
|
primitiveType: PrimitiveType.POINTS,
|
|
boundingSphere: BoundingSphere.fromVertices(attributes.position.values),
|
|
});
|
|
|
|
var geometryToPack = [geometry];
|
|
var transferableObjects = [];
|
|
var results = PrimitivePipeline.packCreateGeometryResults(
|
|
geometryToPack,
|
|
transferableObjects
|
|
);
|
|
var unpackedGeometry = PrimitivePipeline.unpackCreateGeometryResults(
|
|
results
|
|
);
|
|
|
|
expect(transferableObjects.length).toBe(1);
|
|
expect(geometryToPack).toEqual(unpackedGeometry);
|
|
});
|
|
},
|
|
"WebGL"
|
|
);
|