renderOnlyViewer.ts 1.3 KB

123456789101112131415161718192021222324252627282930
  1. import { ViewerConfiguration } from '../configuration';
  2. import { AbstractViewer } from './viewer';
  3. export class RenderOnlyViewer extends AbstractViewer {
  4. constructor(public containerElement: Element, initialConfiguration: ViewerConfiguration = {}) {
  5. super(containerElement, initialConfiguration);
  6. this._canvas = containerElement as HTMLCanvasElement
  7. }
  8. public initialize(){
  9. let autoLoad = typeof this.configuration.model === 'string' || (this.configuration.model && this.configuration.model.url);
  10. return this._initEngine().then((engine) => {
  11. return this.onEngineInitObservable.notifyObserversWithPromise(engine);
  12. }).then(() => {
  13. this._initTelemetryEvents();
  14. if (autoLoad) {
  15. return this.loadModel(this.configuration.model!).catch(() => { }).then(() => { return this.sceneManager.scene; });
  16. } else {
  17. return this.sceneManager.scene || this.sceneManager.initScene(this.configuration.scene);
  18. }
  19. }).then(() => {
  20. return this.onInitDoneObservable.notifyObserversWithPromise(this);
  21. }).catch((e) => {
  22. console.log(e.toString());
  23. return this;
  24. });
  25. }
  26. protected _prepareContainerElement() {
  27. }
  28. }