@cornerstonejs/core
Version:
Cornerstone3D Core
69 lines (68 loc) • 2.6 kB
JavaScript
import { getConfiguration } from '../init.js';
import TiledRenderingEngine from './TiledRenderingEngine.js';
import ContextPoolRenderingEngine from './ContextPoolRenderingEngine.js';
import { RenderingEngineModeEnum } from '../enums/index.js';
class RenderingEngine {
constructor(id) {
const config = getConfiguration();
const renderingEngineMode = config?.rendering?.renderingEngineMode;
switch (renderingEngineMode) {
case RenderingEngineModeEnum.Tiled:
this._implementation = new TiledRenderingEngine(id);
break;
case RenderingEngineModeEnum.ContextPool:
this._implementation = new ContextPoolRenderingEngine(id);
break;
default:
console.warn(`RenderingEngine: Unknown rendering engine mode "${renderingEngineMode}". Defaulting to Next rendering engine.`);
this._implementation = new ContextPoolRenderingEngine(id);
break;
}
}
get id() {
return this._implementation.id;
}
disableViewport(viewportId) {
return this._implementation.disableElement(viewportId);
}
enableElement(viewportInputEntry) {
return this._implementation.enableElement(viewportInputEntry);
}
disableElement(viewportId) {
return this._implementation.disableElement(viewportId);
}
setViewports(publicViewportInputEntries) {
return this._implementation.setViewports(publicViewportInputEntries);
}
resize(immediate = true, keepCamera = true) {
return this._implementation.resize(immediate, keepCamera);
}
getViewport(viewportId) {
return this._implementation.getViewport(viewportId);
}
getViewports() {
return this._implementation.getViewports();
}
getRenderer(viewportId) {
return this._implementation.getRenderer(viewportId);
}
fillCanvasWithBackgroundColor(canvas, backgroundColor) {
return this._implementation.fillCanvasWithBackgroundColor(canvas, backgroundColor);
}
render() {
return this._implementation.render();
}
renderViewports(viewportIds) {
return this._implementation.renderViewports(viewportIds);
}
renderViewport(viewportId) {
return this._implementation.renderViewport(viewportId);
}
destroy() {
return this._implementation.destroy();
}
getOffscreenMultiRenderWindow(viewportId) {
return this._implementation.getOffscreenMultiRenderWindow(viewportId);
}
}
export default RenderingEngine;