Skip to content

Commit 073bf80

Browse files
committed
Merge branch 'dev'
2 parents bd2e43f + 9d1b463 commit 073bf80

File tree

3 files changed

+26
-9
lines changed

3 files changed

+26
-9
lines changed

docs/Class_EmbeddedViewer.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,14 @@ <h2>Constructor</h2>
142142
<div class="parameter_main">
143143
<div class="parameter_description">Callback that is called when the model with all of the textures is fully loaded.</div>
144144
</div>
145+
<div class="parameter_header">
146+
<span class="parameter_name">onModelLoadFailed</span>
147+
<span class="type parameter_type">function</span>
148+
<span class="parameter_attributes">(optional)</span>
149+
</div>
150+
<div class="parameter_main">
151+
<div class="parameter_description">Callback that is called when the model load failed.</div>
152+
</div>
145153
</div>
146154
</div>
147155
<h2>Methods</h2>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "online-3d-viewer",
3-
"version": "0.16.0",
3+
"version": "0.17.0",
44
"description": "Online 3D Viewer",
55
"license": "MIT",
66
"type": "module",

source/engine/viewer/embeddedviewer.js

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export class EmbeddedViewer
3131
* @param {EnvironmentSettings} [parameters.environmentSettings] Environment settings.
3232
* @param {function} [parameters.onModelLoaded] Callback that is called when the model with all
3333
* of the textures is fully loaded.
34+
* @param {function} [parameters.onModelLoadFailed] Callback that is called when the model load failed.
3435
*/
3536
constructor (parentElement, parameters)
3637
{
@@ -69,6 +70,7 @@ export class EmbeddedViewer
6970
this.model = null;
7071
this.modelLoader = new ThreeModelLoader ();
7172

73+
this.progressDiv = null;
7274
window.addEventListener ('resize', () => {
7375
this.Resize ();
7476
});
@@ -120,26 +122,30 @@ export class EmbeddedViewer
120122
}
121123

122124
this.model = null;
123-
let progressDiv = null;
125+
if (this.progressDiv !== null) {
126+
this.parentElement.removeChild (this.progressDiv);
127+
this.progressDiv = null;
128+
}
124129
this.modelLoader.LoadModel (inputFiles, settings, {
125130
onLoadStart : () => {
126131
this.canvas.style.display = 'none';
127-
progressDiv = document.createElement ('div');
128-
progressDiv.innerHTML = Loc ('Loading model...');
129-
this.parentElement.appendChild (progressDiv);
132+
this.progressDiv = document.createElement ('div');
133+
this.progressDiv.innerHTML = Loc ('Loading model...');
134+
this.parentElement.appendChild (this.progressDiv);
130135
},
131136
onFileListProgress : (current, total) => {
132137
},
133138
onFileLoadProgress : (current, total) => {
134139
},
135140
onImportStart : () => {
136-
progressDiv.innerHTML = Loc ('Importing model...');
141+
this.progressDiv.innerHTML = Loc ('Importing model...');
137142
},
138143
onVisualizationStart : () => {
139-
progressDiv.innerHTML = Loc ('Visualizing model...');
144+
this.progressDiv.innerHTML = Loc ('Visualizing model...');
140145
},
141146
onModelFinished : (importResult, threeObject) => {
142-
this.parentElement.removeChild (progressDiv);
147+
this.parentElement.removeChild (this.progressDiv);
148+
this.progressDiv = null;
143149
this.canvas.style.display = 'inherit';
144150
this.viewer.SetMainObject (threeObject);
145151
let boundingSphere = this.viewer.GetBoundingSphere ((meshUserData) => {
@@ -173,7 +179,10 @@ export class EmbeddedViewer
173179
if (importError.message !== null) {
174180
message += ' (' + importError.message + ')';
175181
}
176-
progressDiv.innerHTML = message;
182+
this.progressDiv.innerHTML = message;
183+
if (this.parameters.onModelLoadFailed) {
184+
this.parameters.onModelLoadFailed ();
185+
}
177186
}
178187
});
179188
}

0 commit comments

Comments
 (0)