DSDSServer2024/build/build.20240805/static/js/Cesium-1.53/Specs/DataSources/GroundGeometryUpdaterSpec.js

119 lines
5.5 KiB
JavaScript
Raw Normal View History

defineSuite([
'DataSources/GroundGeometryUpdater',
'Core/ApproximateTerrainHeights',
'Core/Event',
'Core/GeometryOffsetAttribute',
'Core/JulianDate',
'Core/Rectangle',
'Scene/HeightReference',
'DataSources/ConstantProperty'
], function(
GroundGeometryUpdater,
ApproximateTerrainHeights,
Event,
GeometryOffsetAttribute,
JulianDate,
Rectangle,
HeightReference,
ConstantProperty) {
'use strict';
beforeAll(function() {
return ApproximateTerrainHeights.initialize();
});
afterAll(function() {
ApproximateTerrainHeights._initPromise = undefined;
ApproximateTerrainHeights._terrainHeights = undefined;
});
it('getGeometryHeight works for for height reference NONE and RELATIVE_TO_GROUND', function() {
var expected = 30;
var height = expected;
var heightReference = HeightReference.NONE;
expect(GroundGeometryUpdater.getGeometryHeight(height, heightReference)).toEqual(expected);
heightReference = HeightReference.RELATIVE_TO_GROUND;
expect(GroundGeometryUpdater.getGeometryHeight(height, heightReference)).toEqual(expected);
});
it('getGeometryHeight works for for height reference CLAMP_TO_GROUND', function() {
var height = 50;
var heightReference = HeightReference.CLAMP_TO_GROUND;
expect(GroundGeometryUpdater.getGeometryHeight(height, heightReference)).toEqual(0);
});
it('getGeometryExtrudedHeight works for for height reference NONE and RELATIVE_TO_GROUND', function() {
var expected = 30;
var height = expected;
var heightReference = HeightReference.NONE;
expect(GroundGeometryUpdater.getGeometryExtrudedHeight(height, heightReference)).toEqual(expected);
heightReference = HeightReference.RELATIVE_TO_GROUND;
expect(GroundGeometryUpdater.getGeometryExtrudedHeight(height, heightReference)).toEqual(expected);
});
it('getGeometryExtrudedHeight works for for height reference CLAMP_TO_GROUND', function() {
var height = 50;
var heightReference = HeightReference.CLAMP_TO_GROUND;
expect(GroundGeometryUpdater.getGeometryExtrudedHeight(height, heightReference)).toEqual(GroundGeometryUpdater.CLAMP_TO_GROUND);
});
it('computeGeometryOffsetAttribute works', function() {
var height = 50;
var extrudedHeight = 30;
var heightReference;
var extrudedHeightReference;
var result = GroundGeometryUpdater.computeGeometryOffsetAttribute(height, heightReference, extrudedHeight, extrudedHeightReference);
expect(result).toBeUndefined();
heightReference = HeightReference.NONE;
extrudedHeightReference = HeightReference.NONE;
result = GroundGeometryUpdater.computeGeometryOffsetAttribute(height, heightReference, extrudedHeight, extrudedHeightReference);
expect(result).toBeUndefined();
heightReference = HeightReference.NONE;
extrudedHeightReference = HeightReference.CLAMP_TO_GROUND;
result = GroundGeometryUpdater.computeGeometryOffsetAttribute(height, heightReference, extrudedHeight, extrudedHeightReference);
expect(result).toBeUndefined();
heightReference = HeightReference.NONE;
extrudedHeightReference = HeightReference.RELATIVE_TO_GROUND;
result = GroundGeometryUpdater.computeGeometryOffsetAttribute(height, heightReference, extrudedHeight, extrudedHeightReference);
expect(result).toBe(GeometryOffsetAttribute.TOP);
heightReference = HeightReference.CLAMP_TO_GROUND;
extrudedHeightReference = HeightReference.NONE;
result = GroundGeometryUpdater.computeGeometryOffsetAttribute(height, heightReference, extrudedHeight, extrudedHeightReference);
expect(result).toBe(GeometryOffsetAttribute.TOP);
heightReference = HeightReference.CLAMP_TO_GROUND;
extrudedHeightReference = HeightReference.CLAMP_TO_GROUND;
result = GroundGeometryUpdater.computeGeometryOffsetAttribute(height, heightReference, extrudedHeight, extrudedHeightReference);
expect(result).toBe(GeometryOffsetAttribute.TOP);
heightReference = HeightReference.CLAMP_TO_GROUND;
extrudedHeightReference = HeightReference.RELATIVE_TO_GROUND;
result = GroundGeometryUpdater.computeGeometryOffsetAttribute(height, heightReference, extrudedHeight, extrudedHeightReference);
expect(result).toBe(GeometryOffsetAttribute.ALL);
heightReference = HeightReference.RELATIVE_TO_GROUND;
extrudedHeightReference = HeightReference.NONE;
result = GroundGeometryUpdater.computeGeometryOffsetAttribute(height, heightReference, extrudedHeight, extrudedHeightReference);
expect(result).toBe(GeometryOffsetAttribute.TOP);
heightReference = HeightReference.RELATIVE_TO_GROUND;
extrudedHeightReference = HeightReference.CLAMP_TO_GROUND;
result = GroundGeometryUpdater.computeGeometryOffsetAttribute(height, heightReference, extrudedHeight, extrudedHeightReference);
expect(result).toBe(GeometryOffsetAttribute.TOP);
heightReference = HeightReference.RELATIVE_TO_GROUND;
extrudedHeightReference = HeightReference.RELATIVE_TO_GROUND;
result = GroundGeometryUpdater.computeGeometryOffsetAttribute(height, heightReference, extrudedHeight, extrudedHeightReference);
expect(result).toBe(GeometryOffsetAttribute.ALL);
result = GroundGeometryUpdater.computeGeometryOffsetAttribute(undefined, heightReference, undefined, extrudedHeightReference);
expect(result).toBeUndefined();
});
});