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.

54 lines
1.4 KiB
JavaScript

import { defaultValue } from "../Source/Cesium.js";
import { GeographicProjection } from "../Source/Cesium.js";
import { JulianDate } from "../Source/Cesium.js";
import { Camera } from "../Source/Cesium.js";
import { CreditDisplay } from "../Source/Cesium.js";
import { FrameState } from "../Source/Cesium.js";
import { JobScheduler } from "../Source/Cesium.js";
function createFrameState(context, camera, frameNumber, time) {
// Mock frame-state for testing.
var frameState = new FrameState(
context,
new CreditDisplay(
document.createElement("div"),
undefined,
document.createElement("div")
),
new JobScheduler()
);
var projection = new GeographicProjection();
frameState.mapProjection = projection;
frameState.frameNumber = defaultValue(frameNumber, 1.0);
frameState.time = defaultValue(
time,
JulianDate.fromDate(new Date("January 1, 2011 12:00:00 EST"))
);
camera = defaultValue(
camera,
new Camera({
drawingBufferWidth: 1,
drawingBufferHeight: 1,
mapProjection: projection,
})
);
frameState.camera = camera;
frameState.cullingVolume = camera.frustum.computeCullingVolume(
camera.position,
camera.direction,
camera.up
);
frameState.terrainExaggeration = 1.0;
frameState.passes.render = true;
frameState.passes.pick = false;
frameState.minimumDisableDepthTestDistance = 0.0;
return frameState;
}
export default createFrameState;