diff --git a/embeddable/include/online3dembedder.js b/embeddable/include/online3dembedder.js index 82cfa8f..76cb621 100644 --- a/embeddable/include/online3dembedder.js +++ b/embeddable/include/online3dembedder.js @@ -1,16 +1,17 @@ function Online3DViewerLoad () { + function Error (viewerElement, message) + { + var context = viewerElement.getContext ('2d'); + context.font = '12px Arial'; + context.fillText (message, 0, 12); + } + function LoadViewer (viewerElement) { - function Error (viewerElement) - { - var context = viewerElement.getContext ('2d'); - context.font = '12px Arial'; - context.fillText ('Error!', 0, 12); - } - var urls = viewerElement.getAttribute ('sourcefiles'); if (urls === undefined || urls === null) { + Error (viewerElement, 'Invalid source files.'); return; } @@ -18,7 +19,7 @@ function Online3DViewerLoad () var urlList = urls.split ('|'); JSM.ConvertURLListToJsonData (urlList, { onError : function () { - Error (viewerElement); + Error (viewerElement, 'Conversion failed.'); return; }, onReady : function (fileNames, jsonData) { @@ -30,7 +31,7 @@ function Online3DViewerLoad () var viewer = new JSM.ThreeViewer (); if (!viewer.Start (viewerElement, viewerSettings)) { - Error (viewerElement); + Error (viewerElement, 'Internal error.'); return; } @@ -59,10 +60,16 @@ function Online3DViewerLoad () }); } + var supported = JSM.IsWebGLEnabled () && JSM.IsFileApiEnabled (); var viewers = document.getElementsByClassName ('3dviewer'); - var i; + var i, viewer; for (i = 0; i < viewers.length; i++) { - LoadViewer (viewers[i]); + viewer = viewers[i]; + if (supported) { + LoadViewer (viewer); + } else { + Error (viewer, 'No browser support.'); + } } } diff --git a/embeddable/index.html b/embeddable/index.html index 773aac2..75e4bae 100644 --- a/embeddable/index.html +++ b/embeddable/index.html @@ -25,6 +25,7 @@ + diff --git a/jsmodeler/jsmodeler.js b/jsmodeler/jsmodeler.js index dbdf88d..950d206 100644 --- a/jsmodeler/jsmodeler.js +++ b/jsmodeler/jsmodeler.js @@ -1,21 +1,21 @@ -/* JSModeler 0.33.194 - http://www.github.com/kovacsv/JSModeler */ 'use strict';var JSM={mainVersion:0,subVersion:33,Eps:1E-8,Inf:9999999999,RadDeg:57.29577951308232,DegRad:0.017453292519943,IsZero:function(a){return Math.abs(a)JSM.Eps},IsNegative:function(a){return a<-JSM.Eps},IsLower:function(a,b){return b-a>JSM.Eps},IsGreater:function(a,b){return a-b>JSM.Eps},IsEqual:function(a,b){return Math.abs(b-a)JSM.Eps},IsNegative:function(a){return a<-JSM.Eps},IsLower:function(a,b){return b-a>JSM.Eps},IsGreater:function(a,b){return a-b>JSM.Eps},IsEqual:function(a,b){return Math.abs(b-a)=a&&(this.current=1E3*(this.frames/c),this.start=b,this.frames=0);return parseInt(this.current,10)}; JSM.BubbleSort=function(a,b){if(!(2>a.length||void 0===b||null===b)){var c,d;for(c=0;c