diff --git a/source/viewer/domviewer.js b/source/viewer/domviewer.js index 4692c74..5e13a7b 100644 --- a/source/viewer/domviewer.js +++ b/source/viewer/domviewer.js @@ -1,5 +1,19 @@ OV.Init3DViewerElements = function () { + function SetCamera (element, viewer, importResult) + { + let camera = null; + let cameraParams = element.getAttribute ('camera'); + if (cameraParams) { + camera = OV.UrlParamConverter.UrlParameterToCamera (cameraParams); + } + if (camera !== null) { + viewer.SetCamera (camera); + } else { + viewer.SetUpVector (importResult.upVector, false); + } + } + function LoadElement (element) { let canvas = document.createElement ('canvas'); @@ -37,6 +51,7 @@ OV.Init3DViewerElements = function () return true; }); viewer.AdjustClippingPlanes (boundingSphere); + SetCamera (element, viewer, importResult); viewer.FitToWindow (boundingSphere, false); }, onTextureLoaded : function () { @@ -57,14 +72,6 @@ OV.Init3DViewerElements = function () return; } - let cameraParams = element.getAttribute ('camera'); - if (cameraParams) { - let camera = OV.UrlParamConverter.UrlParameterToCamera (cameraParams); - if (camera !== null) { - viewer.SetCamera (camera); - } - } - loader.LoadFromUrlList (modelUrls); } diff --git a/tools/sandbox/embed_iframe.html b/tools/sandbox/embed_iframe.html index 7841e2c..3bc6c9b 100644 --- a/tools/sandbox/embed_iframe.html +++ b/tools/sandbox/embed_iframe.html @@ -12,22 +12,27 @@ + diff --git a/tools/sandbox/embed_selfhost.html b/tools/sandbox/embed_selfhost.html index 5c435f0..f063df0 100644 --- a/tools/sandbox/embed_selfhost.html +++ b/tools/sandbox/embed_selfhost.html @@ -19,19 +19,35 @@ div.online_3d_viewer { float: left; + border: 1px solid #eeeeee; + margin: 0px 4px 4px 0px; } -
+ width="360" height="240" + model="../../test/testfiles/3ds/cube_four_instances.3ds,../../test/testfiles/3ds/texture.png"> +
+
+
+
+
+
+
+
-
-
diff --git a/website/o3dv/embed.js b/website/o3dv/embed.js index 9659904..9b6ee6f 100644 --- a/website/o3dv/embed.js +++ b/website/o3dv/embed.js @@ -20,10 +20,6 @@ OV.Embed = class if (urls === null) { return; } - let camera = this.hashHandler.GetCameraFromHash (); - if (camera !== null) { - this.viewer.SetCamera (camera); - } this.modelLoader.LoadFromUrlList (urls); let hashParameters = OV.CreateUrlParameters (urls, null); let websiteUrl = this.parameters.websiteLinkDiv.attr ('href') + '#' + hashParameters; @@ -45,6 +41,12 @@ OV.Embed = class return true; }); this.viewer.AdjustClippingPlanes (boundingSphere); + let camera = this.hashHandler.GetCameraFromHash (); + if (camera !== null) { + this.viewer.SetCamera (camera); + } else { + this.viewer.SetUpVector (importResult.upVector, false); + } this.viewer.FitToWindow (boundingSphere, false); }