constructor()

in src/app/three/loaders.service.ts [34:77]


  constructor() {
    // Set up the loading manager with start, progress, load, and error functions
    this.loadingManager.onStart = (
      url: string,
      itemsLoaded: number,
      itemsTotal: number
    ) => {
      this.loadStartTime = Date.now();
      this.onStart( url, itemsLoaded, itemsTotal );
    };

    this.loadingManager.onProgress = (
      url: string,
      itemsLoaded: number,
      itemsTotal: number
    ) => {
      console.log(
        `Loading file: ${url}.\nLoaded ${itemsLoaded} of ${itemsTotal} files.`
      );
      this.loadingProgress.set( ( itemsLoaded * 100 ) / itemsTotal );
    };

    this.loadingManager.onLoad = () => {
      this.loadingProgress.set( 100 );
      const time = Date.now();
      const elapsedSec = ( time - this.loadStartTime ) / 1000;
      console.log( `Loading complete, seconds elapsed = ${elapsedSec}` );

    };

    this.loadingManager.onError = ( url: string ) => {
      console.error( 'There was an error loading ' + url );

    };

    // Configure and create Draco decoder
    this.dracoLoader.setDecoderPath( //'/examples/jsm/libs/draco/'
      'https://www.gstatic.com/draco/versioned/decoders/1.5.7/'
    );
    this.dracoLoader.setDecoderConfig( { type: 'js' } );
    this.dracoLoader.preload();
    this.gltfLoader.setDRACOLoader( this.dracoLoader );

  }