DSDSWeb/static/js/Cesium-1.53/Specs/Scene/PrimitivePipelineSpec.js

66 lines
2.2 KiB
JavaScript

defineSuite([
'Scene/PrimitivePipeline',
'Core/BoundingSphere',
'Core/BoxGeometry',
'Core/Cartesian3',
'Core/ComponentDatatype',
'Core/Geometry',
'Core/GeometryAttribute',
'Core/GeometryAttributes',
'Core/PrimitiveType'
], function(
PrimitivePipeline,
BoundingSphere,
BoxGeometry,
Cartesian3,
ComponentDatatype,
Geometry,
GeometryAttribute,
GeometryAttributes,
PrimitiveType) {
'use strict';
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');