mirror of
https://github.com/xibyte/jsketcher
synced 2025-12-15 12:53:52 +01:00
30 lines
832 B
JavaScript
30 lines
832 B
JavaScript
import Viewer from './viewer';
|
|
import CadScene from './cadScene';
|
|
import {externalState, stream} from 'lstream';
|
|
|
|
export function defineStreams({streams, services}) {
|
|
streams.cadScene = {
|
|
sceneRendered: stream(),
|
|
cameraMode: externalState(() => services.viewer.getCameraMode(), mode => viewer.setCameraMode(mode))
|
|
};
|
|
}
|
|
|
|
export function activate({streams, services}) {
|
|
let {dom} = services;
|
|
|
|
const onRendered = () => streams.cadScene.sceneRendered.next();
|
|
|
|
let viewer = new Viewer(dom.viewerContainer, onRendered);
|
|
|
|
services.viewer = viewer;
|
|
services.cadScene = new CadScene(viewer.sceneSetup.rootGroup);
|
|
|
|
|
|
// let sketcher3D = new Sketcher3D(dom.viewerContainer);
|
|
// services.viewer.setCameraMode(CAMERA_MODE.ORTHOGRAPHIC);
|
|
|
|
}
|
|
|
|
export function dispose(ctx) {
|
|
ctx.services.viewer.dispose();
|
|
}
|