diff --git a/docs/Integration.md b/docs/Integration.md index 4dc6a5c..1793f8f 100644 --- a/docs/Integration.md +++ b/docs/Integration.md @@ -199,5 +199,25 @@ Or to bypass the hardcoded 'product' array: grunt cad-convert:htmlex --product='products/injection/myriad-spring` ``` +## As batch droplet - single file +1. create a file toHTML.bat with the following content +```batch +@echo off +osr-cad sw --verbose=true --hash=false --debug=true --skip=false --src="%~1" --dst="${SRC_DIR}/${SRC_NAME}.+(html)" + +``` + +2. drop any SW supported file onto it, to convert it to an eDrawing HTML webview + +## As batch droplet - folders + +1. create a file toHTMLs.bat with the following content + +```batch +@echo off +osr-cad sw --verbose=true --hash=false --debug=true --skip=false --src="%~1/**/*.+(SLDASM|SLDPRT)" --dst="${SRC_DIR}/${SRC_NAME}.+(html)" +``` + +2. drop a folder SW supported files onto it, to convert it to an eDrawing HTML webview diff --git a/tests/drive/400_Drive.html b/tests/drive/400_Drive.html index 2b7e1da..be21a3e 100644 --- a/tests/drive/400_Drive.html +++ b/tests/drive/400_Drive.html @@ -8102,7 +8102,7 @@ var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){e // Copyright 2018-2019 Dassault Systemes SolidWorks Corporation. All rights reserved. var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):new P(function(resolve){resolve(result.value)}).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]2||!this.mSelectingTouch){ioTouchEvent.setHandled(false);return}var masterOrigTouch=this.mSelectingTouch.touch;var curTouchComplex=this.getTouchById(ioTouchEvent.getId());if(ioTouchEvent.getId()===masterOrigTouch.getId()){var curDragPt=eDwGeomUtils.screenToWorld(ioTouchEvent.getPosition(),this.mViewer.getHCView());var dragVec=eDwTypes_1.HC.Point3.subtract(curDragPt,curTouchComplex.DragPt);this.dragFree(dragVec)}else{var deltaPt=eDwTypes_1.HC.Point2.subtract(ioTouchEvent.getPosition(),curTouchComplex.Pos);this.dragOrbit(deltaPt)}this.updateTouch(ioTouchEvent);ioTouchEvent.setHandled(true)};eDwMoveOperator.prototype.onTouchEnd=function(ioTouchEvent){if(!ioTouchEvent)return;this.removeTouchById(ioTouchEvent.getId());var curTouchID=ioTouchEvent.getId();if(this.mSelectingTouch&&curTouchID===this.mSelectingTouch.touch.getId()){this.mSelectingTouch=null}ioTouchEvent.setHandled(false)};eDwMoveOperator.prototype.needsSelection=function(iEventType){return iEventType===eDwTypes_1.HC.EventType.MouseDown||iEventType===eDwTypes_1.HC.EventType.TouchStart};eDwMoveOperator.prototype.dragFree=function(vec){if(!this.mCurrInputInfo&&0===this.mCurTouches.length)return false;var modelHC=this.mViewer.getModel().getHCModel();var transMat=new eDwTypes_1.HC.Matrix;transMat.setTranslationComponent(vec.x,vec.y,vec.z);utils.forAll(function(iModelNodeID,ioNodeData){ioNodeData.Xform=eDwTypes_1.HC.Matrix.multiply(ioNodeData.Xform,transMat);modelHC.setNodeMatrix(iModelNodeID,ioNodeData.Xform)},this.mCompDataLocal);return true};eDwMoveOperator.prototype.dragOrbit=function(deltaScrPt){if(!this.mCurrInputInfo&&0===this.mCurTouches.length)return false;var view=this.mViewer.getHCView();var model=this.mViewer.getModel();var modelHC=model.getHCModel();var camera=view.getCamera();var projVec=eDwTypes_1.HC.Point3.subtract(camera.getTarget(),camera.getPosition()).normalize();var upVec=camera.getUp().copy().normalize();var dirVec=eDwTypes_1.HC.Point3.cross(upVec,projVec).normalize();utils.forAll(function(iModelNodeID,ioNodeData){if(!ioNodeData.Bbox)return;var xformedCenter=new eDwTypes_1.HC.Point3(0,0,0);ioNodeData.Xform.transform(ioNodeData.Bbox.center(),xformedCenter);var transMat=new eDwTypes_1.HC.Matrix;var revTransMat=new eDwTypes_1.HC.Matrix;revTransMat.setTranslationComponent(-xformedCenter.x,-xformedCenter.y,-xformedCenter.z);transMat.setTranslationComponent(xformedCenter.x,xformedCenter.y,xformedCenter.z);var upAxisRotMat=eDwTypes_1.HC.Matrix.createFromOffAxisRotation(upVec,deltaScrPt.x);var dirAxisRotMat=eDwTypes_1.HC.Matrix.createFromOffAxisRotation(dirVec,-deltaScrPt.y);var rotMatrix=eDwTypes_1.HC.Matrix.multiply(revTransMat,upAxisRotMat);rotMatrix=eDwTypes_1.HC.Matrix.multiply(rotMatrix,dirAxisRotMat);rotMatrix=eDwTypes_1.HC.Matrix.multiply(rotMatrix,transMat);ioNodeData.Xform=eDwTypes_1.HC.Matrix.multiply(ioNodeData.Xform,rotMatrix);modelHC.setNodeMatrix(iModelNodeID,ioNodeData.Xform)},this.mCompDataLocal);return true};return eDwMoveOperator}(eDwBaseSelOperator);function transformBox(iXform,ioBox){iXform.transform(ioBox.min,ioBox.min);iXform.transform(ioBox.max,ioBox.max)}return eDwMoveOperator});define("eDwUIMoveComponentPlugin",["require","exports","eDwUIBasePlugin","eDwCompXformMgr","eDwEvents","eDwUIUtils"],function(require,exports,eDwUIBasePlugin_1,eDwCompXformMgr,eDwEvents_3,eDwUIUtils){"use strict";var eDwUIMoveComponentPlugin=function(_super){__extends(eDwUIMoveComponentPlugin,_super);function eDwUIMoveComponentPlugin(iViewer,iViewerFeatOpts){var _this=this;var buttonInfo={ID:"#edrawings-button-move"};_this=_super.call(this,"MoveComponent",iViewer,buttonInfo,iViewerFeatOpts)||this;_this.initPluginButton();_this.mCompXformMgr=new eDwCompXformMgr(iViewer);var model=iViewer.getModel();eDwUIUtils.hide(_this.PluginButtonID,!model.isAssembly());return _this}eDwUIMoveComponentPlugin.prototype.init=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,_super.prototype.init.call(this)];case 1:_a.sent();return[2]}})})};eDwUIMoveComponentPlugin.prototype.onClick=function(iActivate){_super.prototype.onClick.call(this,iActivate);if(iActivate){eDwUIUtils.activateUI(this.PluginButtonID,null)}};eDwUIMoveComponentPlugin.prototype.addEventHandlers=function(){_super.prototype.addEventHandlers.call(this);_super.prototype.addAppObjEvent.call(this,eDwEvents_3.ResetSceneEvent,"onResetScene",true)};eDwUIMoveComponentPlugin.prototype.removeEventHandlers=function(){_super.prototype.removeEventHandlers.call(this);_super.prototype.addAppObjEvent.call(this,eDwEvents_3.ResetSceneEvent,"onResetScene",false)};eDwUIMoveComponentPlugin.prototype.onActivate=function(iButtonJQ){if(!_super.prototype.onActivate.call(this,iButtonJQ))return false;this.mCompXformMgr.activateMoveOp();$("#edrawings-canvas")[0].style.cursor="pointer";return true};eDwUIMoveComponentPlugin.prototype.onDeactivate=function(iButtonJQ){if(!_super.prototype.onDeactivate.call(this,iButtonJQ))return false;this.mCompXformMgr.deactivateMoveOp();$("#edrawings-canvas")[0].style.cursor="default";return true};eDwUIMoveComponentPlugin.prototype.onResetScene=function(iDoReset){this.mCompXformMgr.resetModelNodeXforms(iDoReset)};return eDwUIMoveComponentPlugin}(eDwUIBasePlugin_1.eDwUIBasePlugin);return eDwUIMoveComponentPlugin}); // Copyright 2018-2019 Dassault Systemes SolidWorks Corporation. All rights reserved. -var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):new P(function(resolve){resolve(result.value)}).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]-1){return}var augmentedMsg=iMsg;var stack=(new Error).stack;if(stack){var stackLine=stack.split("\n")[2];if(!stackLine)return;var callerLine=stackLine.slice(stackLine.lastIndexOf("("),stackLine.lastIndexOf(")")+1);if(!callerLine){callerLine=stackLine.slice(stackLine.lastIndexOf("@")+1);callerLine="("+callerLine+")"}augmentedMsg=callerLine+" "+iMsg}if(console.debugLogCategories.indexOf(iCategory)>-1||console.debugLogCategories.indexOf("*")>-1){if(iParams&&iParams.length)console.log(augmentedMsg,iParams);else console.log(augmentedMsg)}};define("eDrawingsWebViewer",["require","exports","eDwUI","eDwServiceMgr","eDwUIMessageReporter","eDrawingsWebViewerUtils","utils","eDwUIUtils"],function(require,exports,eDwUI_1,eDwServiceMgr,eDwUIMessageReporter,eDrawingsWebViewerUtils,Utils,eDwUIUtils){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function start(iViewerOpts,iServerURL){eDrawingsWebViewerUtils.startViewer(iServerURL||c_server,"edrawings-canvas",iViewerOpts,l_init,eDwUIMessageReporter.showResultPanel)}exports.start=start;function l_init(ioViewerOpts,iContainerElemID){c_eDrawingsUI.initUIEvents(ioViewerOpts);var modelContents="VgAAAEMAAABDAAAA/v///wAAAABlAAAA/v///wIAAAAJAAAEAAAAAP3////9////MwAAAP7////9////AAAAAAMAAABjAAAAAAAAAAIAAAAAAAAAAAAAYJn3BEAAAABgoeIJQAAAAEAUme6/AAAA4M92lb8AAADAEtjzPwAAAAC4sXK/AAAAYENn1L8AAABAgW2evwAAAAC8UO6/AAAAQDJF8z8AAAAgI3HoP04AAAD+////WAAAAP7///8AAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAABpAAAA/v////3////+////MwAAAP3/////////AAAAAAIAAABOAAAA/f///28AAABAAAAAAQAAAJkAAABPAAAADQAAAJkAAAAAAAAA//////////9uuce9d65EP8Tg/779yWI9BfraP3E8+z5lAAAA/v///wIAAAAJAAAEAAAAAP3////9////ZQAAAP3///8CAAAACwAABAAAAAD+////AQAAAE4AAAD+////QgAAAG65x713rkQ/xOD/vv3JYj0F+to/cTz7PpkAAABEAAAAuAMAAFoAAAABAAAAqAMAAAwLAAAotS/9YAwK9RwA1CdkAAAA/f///wEWAIBAAwACAWQyF0FgQAcAVEVNRUVDOAACAwTwP1IAQEBEZWZhdWx0AAICDgUJDREVGR0hJSktMTU4YqdPbGF5ZXItMTkEBFICDlQPVhBYETFARFJvdW5kX0Jhcl9IYW5kbGU8Nz4gKF9sZW5ndGgtNjAwbW0pATIhXixzb2NrZXQgaGVhZCBjYXAgc2NyZXdfYW08NUIxOC4zLjFNIC0gNSB4IDAuODIwIEhleCBTSENTIC0tTkhYIh0mNB4pQDg1KhkgMxoVGjIWERQxEg1ADjEOLT42LjUvSjJkbW9kZWw2AU0NCS8IaG10CiVAMjQmBTgCSHViQXgyQ2VudHJhbCBBeGlzMTgGMmCvRWluc3RhbmNlAALLWr09YzoWvyjuTT9I536/hTFfvZv5mD2m8dBOv9XfFr9QENs7I8/QPybdfT4CM0gMKjnM/RH9Oios/js5s1q9vQHi/38/sCj+Ov8rWz8zLbi7Ais8CiYzcpRyPzmZnL46M7Q9cajovAAA/qWuRZ0+mJ9zP2ackz/CX9O+Aic2CSItAACAvxWU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";if(modelContents!==""){eDwServiceMgr.get().disableAdvancedServices();ioViewerOpts.URL="";eDwUIUtils.viewFile("400_Drive",null,ioViewerOpts,iContainerElemID,Utils.getUint8Array(modelContents))}}var c_eDrawingsUI=new eDwUI_1.eDwUI;var c_server=location.origin+location.pathname.slice(0,location.pathname.lastIndexOf("/")+1)});define("eDrawingsWebViewerUtils",["require","exports","eDwEventMgr","eDwServiceMgr","eDwResultError","eDwAJAXError","eDwUIPluginMgr","eDwTypes","eDwEvents","eDwUIUtils","utils"],function(require,exports,eDwEventMgr,eDwServiceMgr,eDwResultError,eDwAJAXError,eDwUIPluginMgr,eDwTypes_1,eDwEvents_1,eDwUIUtils,utils){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function getViewerVersion(){return"28.0.0.5018-190912.041001"}exports.getViewerVersion=getViewerVersion;function startViewer(iServerURL,iCanvasID,iViewerOpts,iInit,iOnError){var _this=this;l_ModelLoadEvents=function(iState){var viewerCanvasID="#"+iCanvasID;if(iState==="init"){var viewerJQ=$(viewerCanvasID);viewerJQ.on("edw:ModelLoaded",function(iEvent,iViewer){iViewer.getHCView().setPointSize(0,eDwTypes_1.HC.PointSizeUnit.ScreenPixels);(function(){return __awaiter(_this,void 0,void 0,function(){var iExcp_1;return __generator(this,function(_a){switch(_a.label){case 0:_a.trys.push([0,2,,3]);return[4,l_processProductStructure(iViewer,iServerURL)];case 1:_a.sent();return[3,3];case 2:iExcp_1=_a.sent();l_displayError(iExcp_1,iOnError);return[3,3];case 3:return[2]}})})})()});viewerJQ.on("edw:ModelLoadFailed",function(iEvent,iViewer,iModelName,iReason){if(iOnError){iOnError({ErrorCode:"ModelLoadInViewerFailed",ErrorData:[iReason,iModelName]})}})}else{var viewerJQ=$(viewerCanvasID);viewerJQ.off("edw:ModelLoaded");viewerJQ.off("edw:ModelLoadFailed")}};var viewerFeatOpts={};$.extend(viewerFeatOpts,c_featOps);if(iViewerOpts){$.extend(viewerFeatOpts,iViewerOpts)}else{eDwUIUtils.getRequestedQueryStringParams(location.href,viewerFeatOpts)}if(viewerFeatOpts.Debug){if(!console.debugLogCategories||console.debugLogCategories.length===0){console.debugLogCategories=[];console.debugLogCategories.push("*")}}eDwServiceMgr.create(iServerURL);(function(){return __awaiter(_this,void 0,void 0,function(){var iExcp_2;return __generator(this,function(_a){switch(_a.label){case 0:_a.trys.push([0,2,,3]);l_ModelLoadEvents("init");return[4,l_init(iCanvasID,viewerFeatOpts,iInit)];case 1:_a.sent();return[3,3];case 2:iExcp_2=_a.sent();l_displayError(iExcp_2,iOnError);return[3,3];case 3:return[2]}})})})()}exports.startViewer=startViewer;function shutdownViewer(iViewer){l_ModelLoadEvents("shutdown");iViewer.unregister()}exports.shutdownViewer=shutdownViewer;function removeModelStreamCache(iViewer,iServer){return __awaiter(this,void 0,void 0,function(){var modelKey,serviceMgr,iExcp_3;return __generator(this,function(_a){switch(_a.label){case 0:modelKey=iViewer.getCurrModelKey();if(!modelKey||!iViewer.ViewerFeatureOpts.DeleteModelCacheFileWhenDone){return[2]}console.debugLog("ModelLoad","Attempting to remove cached model: "+modelKey);serviceMgr=eDwServiceMgr.get();_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,serviceMgr.removeNamedCache(modelKey,iViewer.ViewerFeatureOpts.DeleteModelCacheFileWhenDone)];case 2:_a.sent();console.debugLog("ModelLoad","Removed cached model: "+modelKey);return[3,4];case 3:iExcp_3=_a.sent();console.debugLog("ModelLoad","Failed to remove cached model: "+modelKey);console.debugLog("ModelLoad",iExcp_3.message);throw iExcp_3;case 4:return[2]}})})}exports.removeModelStreamCache=removeModelStreamCache;function l_init(iContainerElemID,ioViewerOpts,iInit){return __awaiter(this,void 0,void 0,function(){var serviceMgr;var _this=this;return __generator(this,function(_a){switch(_a.label){case 0:serviceMgr=eDwServiceMgr.get();serviceMgr.disableAdvancedServices(utils.getFileExtension(ioViewerOpts.URL)==="scs");(function(){return __awaiter(_this,void 0,void 0,function(){var pluginFiles,_i,pluginFiles_1,pluginFile,pluginClassName;return __generator(this,function(_a){switch(_a.label){case 0:return[4,serviceMgr.getPluginFiles()];case 1:pluginFiles=_a.sent();_i=0,pluginFiles_1=pluginFiles;_a.label=2;case 2:if(!(_i-1;--i){exclusiveCmds[i].commit()}this.mActiveCmds=this.mActiveCmds.filter(function(iCmd){return!iCmd.Exclusive})}};eDwCommandMgr.prototype.detach=function(iCmd){var cmdPos=this.mActiveCmds.indexOf(iCmd);if(cmdPos===-1)return false;var removedCmds=this.mActiveCmds.splice(cmdPos,1);return removedCmds.length===1?true:false};return eDwCommandMgr}();return eDwCommandMgr});define("eDwCompositeCmd",["require","exports","eDwSupportsHistoryCmd","eDwHistoryMgr","eDwCommandMgr","utils"],function(require,exports,eDwSupportsHistoryCmd,eDwHistoryMgr,eDwCommandMgr,Utils){"use strict";var eDwCompositeCmd=function(_super){__extends(eDwCompositeCmd,_super);function eDwCompositeCmd(iViewer){var _this=_super.call(this,iViewer)||this;eDwHistoryMgr.get().pushStack();return _this}eDwCompositeCmd.prototype.initCmdActionImplementation=function(iHistoryActions){this.mCmdHistoryActions=iHistoryActions;if(this.mCmdHistoryActions&&this.mCmdHistoryActions.compositeInit){this.mCmdHistoryActions.compositeInit(this)}};eDwCompositeCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;var actionExists=this.mCmdHistoryActions&&this.mCmdHistoryActions.compositeUndo;return actionExists?this.mCmdHistoryActions.compositeUndo(this):this.undoSubCmds()};eDwCompositeCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;var actionExists=this.mCmdHistoryActions&&this.mCmdHistoryActions.compositeRedo;return actionExists?this.mCmdHistoryActions.compositeRedo(this):this.redoSubCmds()};eDwCompositeCmd.prototype.commit=function(){this.mSubCmds=eDwHistoryMgr.get().popStack();_super.prototype.commit.call(this);if(this.mCmdHistoryActions&&this.mCmdHistoryActions.compositeCommit){this.mCmdHistoryActions.compositeCommit(this)}};eDwCompositeCmd.prototype.cancel=function(){this.mSubCmds=eDwHistoryMgr.get().popStack();_super.prototype.cancel.call(this);if(this.mCmdHistoryActions&&this.mCmdHistoryActions.compositeCancel){this.mCmdHistoryActions.compositeCancel(this)}else{this.cancelSubCmds()}this.clearSubCmds()};eDwCompositeCmd.prototype.isCommitted=function(){return _super.prototype.isCommitted.call(this)&&!(this.InitialState===undefined||this.InitialState===null)&&!(this.FinalState===undefined||this.FinalState===null)};Object.defineProperty(eDwCompositeCmd.prototype,"AllowsAggregation",{get:function(){return true},enumerable:true,configurable:true});eDwCompositeCmd.prototype.undoSubCmds=function(){var isSuccessful=true;var lastCmdIndex=this.mSubCmds.length-1;for(var i=lastCmdIndex;i>-1;i--){var cmd=this.mSubCmds[i];var ret=cmd.undo();console.debugLog("History","Undo subcommand history at index "+i+(ret?" succeeded.":" failed.")+" Object Type = "+Utils.getObjectTypeName(cmd)+".");if(!ret){isSuccessful=false}}return isSuccessful};eDwCompositeCmd.prototype.cancelSubCmds=function(){var cmdMgr=eDwCommandMgr.get();var lastCmdIndex=this.mSubCmds.length-1;for(var i=lastCmdIndex;i>-1;i--){cmdMgr.remove(this.mSubCmds[i],"cancel")}};eDwCompositeCmd.prototype.redoSubCmds=function(){var isSuccessful=true;var numCmds=this.mSubCmds.length;for(var i=0;i-1){eventHandlerMaps.splice(index,1);++numRemoved}}}return numRemoved};eDwEventMgr.prototype.removeAllEventHandlers=function(){this.mEventHandlers.clear()};eDwEventMgr.prototype.removeEventHandlers=function(iEvent){this.mEventHandlers.delete(iEvent)};eDwEventMgr.prototype.fireEvent=function(iEvent){var iArgs=[];for(var _i=1;_i-1){changedPropAttribNames.push(attribName)}}return changedPropAttribNames};eDwHierarchyNode.isHierarchyNode=function(iNode){return iNode.Name};eDwHierarchyNode.prototype.getAllNodesWithPropNameAndValue=function(iPropName,iPropValue,ioNodes,iRecurse){for(var childNodeName in this.mChildren){var childNode=this.mChildren[childNodeName];var propValue=childNode[iPropName];if(propValue&&propValue===iPropValue)ioNodes.push(childNode);if(iRecurse){childNode.getAllNodesWithPropNameAndValue(iPropName,iPropValue,ioNodes)}}};eDwHierarchyNode.sPropagatingAttribNames=["Visible","Opaque"];return eDwHierarchyNode}();return eDwHierarchyNode});define("eDwHistoryMgr",["require","exports","utils"],function(require,exports,Utils){"use strict";var eDwHistoryMgr=function(){function eDwHistoryMgr(){this.clear()}eDwHistoryMgr.get=function(){if(!eDwHistoryMgr.sHistoryMgr){eDwHistoryMgr.sHistoryMgr=new eDwHistoryMgr}return eDwHistoryMgr.sHistoryMgr};eDwHistoryMgr.prototype.undo=function(){var currStacksElem=this.getCurrStackElem();var currStack=currStacksElem.Stack;var currStackCmdIndex=currStacksElem.getCurrCmdIndex();if(currStackCmdIndex<0||currStack.length===0){console.debugLog("History","Already before first command.");return null}currStacksElem.incrementCurrCmdIndex(-1);var cmd=currStack[currStackCmdIndex];cmd.undo();console.debugLog("History","Undoing command at index "+currStackCmdIndex+" Object type: "+Utils.getObjectTypeName(cmd));return cmd};eDwHistoryMgr.prototype.redo=function(){var currStacksElem=this.getCurrStackElem();var currStack=currStacksElem.Stack;var nextStackCmdIndex=currStacksElem.getCurrCmdIndex()+1;if(nextStackCmdIndex>=currStack.length){console.debugLog("History","Already after last command.");return null}currStacksElem.incrementCurrCmdIndex(1);var cmd=currStack[nextStackCmdIndex];cmd.redo();console.debugLog("History","Redoing command at index "+nextStackCmdIndex+" Object type: "+Utils.getObjectTypeName(cmd));return cmd};eDwHistoryMgr.prototype.push=function(iCmd){if(!iCmd)return;var currStacksElem=this.getCurrStackElem();var currStack=currStacksElem.Stack;var currStackSize=currStack.length;var currStackCmdIndex=currStacksElem.getCurrCmdIndex();if(currStackCmdIndex!==currStackSize-1){currStack.splice(currStackCmdIndex+1);console.debugLog("History","Truncated history to "+(currStackCmdIndex+1)+" elements.")}currStack.push(iCmd);currStacksElem.incrementCurrCmdIndex(1);console.debugLog("History","Adding command to history at index "+(currStackCmdIndex+1)+" Object Type = "+Utils.getObjectTypeName(iCmd)+".")};eDwHistoryMgr.prototype.clear=function(){console.debugLog("History","Clear all history.");this.mCmdStacksStack=[];this.pushStack()};eDwHistoryMgr.prototype.pushStack=function(){console.debugLog("History","Add a new history stack at index "+this.mCmdStacksStack.length+".");this.mCmdStacksStack.push(new eDwCmdStacksElem)};eDwHistoryMgr.prototype.popStack=function(){console.debugLog("History","Remove history stack at index "+(this.mCmdStacksStack.length-1)+".");var activeCmds=[];var currStackElem=this.mCmdStacksStack.pop();var currCmdIndex=currStackElem.getCurrCmdIndex();for(var i=0;i-1&&iKeyInfo[key]){keyModifiers+=key+"-"}}return keyModifiers?keyModifiers.substring(0,keyModifiers.length-1):"none"}});define("eDwMBDNoteMgr",["require","exports","eDwTypes","eDwGeomUtils"],function(require,exports,eDwTypes_5,eDwGeomUtils){"use strict";var MBDNote=function(){function MBDNote(iViewer,refPos,curPos,nodeId){var modelHC=iViewer.getModel().getHCModel();var viewHC=iViewer.getHCView();this.mViewer=iViewer;this.mRefPos=refPos.copy();this.mNodeId=nodeId;var rPos2=eDwTypes_5.HC.Point2.fromPoint3(iViewer.getHCView().projectPoint(this.mRefPos));var cPos2=eDwTypes_5.HC.Point2.fromPoint3(iViewer.getHCView().projectPoint(curPos));this.mOffset=eDwTypes_5.HC.Point2.subtract(cPos2,rPos2);var rPos3=eDwGeomUtils.screenToWorld(rPos2,viewHC);var cPos3=eDwGeomUtils.screenToWorld(cPos2,viewHC);this.mOffsetLen=eDwTypes_5.HC.Point3.subtract(cPos3,rPos3).length();var cDelta=eDwTypes_5.HC.Point3.subtract(cPos3,curPos);var matrix=new eDwTypes_5.HC.Matrix;matrix.loadIdentity();matrix.setTranslationComponent(cDelta.x,cDelta.y,cDelta.z);var nodeMatrix=modelHC.getNodeMatrix(nodeId);nodeMatrix=eDwTypes_5.HC.Matrix.multiply(nodeMatrix,matrix);modelHC.setNodeMatrix(nodeId,nodeMatrix);this.mOrigPos=cPos3.copy();var camera=this.mViewer.getHCView().getCamera();this.mOrigCamMatrix=camera.getMatrixFromCamera().copy();this.mOrigModMatrix=modelHC.getNodeMatrix(nodeId)}MBDNote.prototype.updatePos=function(){var viewHC=this.mViewer.getHCView();var modelHC=this.mViewer.getModel().getHCModel();var rPos2=eDwTypes_5.HC.Point2.fromPoint3(this.mViewer.getHCView().projectPoint(this.mRefPos));var cPos2=eDwTypes_5.HC.Point2.add(rPos2,this.mOffset);var rPos3=eDwGeomUtils.screenToWorld(rPos2,viewHC);var cPos3=eDwGeomUtils.screenToWorld(cPos2,viewHC);var crDelta=eDwTypes_5.HC.Point3.subtract(cPos3,rPos3);crDelta.normalize();crDelta.scale(this.mOffsetLen);cPos3=eDwTypes_5.HC.Point3.add(rPos3,crDelta);var posDelta=eDwTypes_5.HC.Point3.subtract(cPos3,this.mOrigPos);var revTransMat=new eDwTypes_5.HC.Matrix,transMat=new eDwTypes_5.HC.Matrix,extraTransMat=new eDwTypes_5.HC.Matrix;revTransMat.setTranslationComponent(-this.mOrigPos.x,-this.mOrigPos.y,-this.mOrigPos.z);transMat.setTranslationComponent(this.mOrigPos.x,this.mOrigPos.y,this.mOrigPos.z);extraTransMat.setTranslationComponent(posDelta.x,posDelta.y,posDelta.z);this.mOrigPos=cPos3.copy();var nodeMatrix=this.mOrigModMatrix.copy();var camera=viewHC.getCamera();var curCamMatrix=camera.getMatrixFromCamera().copy();var oriCamMatrix=this.mOrigCamMatrix.copy();var oriCamMatrixR=oriCamMatrix.inverseAndDeterminant()[0];this.mOrigCamMatrix=curCamMatrix.copy();var rotMatrix=eDwTypes_5.HC.Matrix.multiply(revTransMat,oriCamMatrixR);rotMatrix=eDwTypes_5.HC.Matrix.multiply(rotMatrix,curCamMatrix);rotMatrix=eDwTypes_5.HC.Matrix.multiply(rotMatrix,transMat);rotMatrix=eDwTypes_5.HC.Matrix.multiply(rotMatrix,extraTransMat);nodeMatrix=modelHC.getNodeMatrix(this.mNodeId);nodeMatrix=eDwTypes_5.HC.Matrix.multiply(nodeMatrix,rotMatrix);modelHC.setNodeMatrix(this.mNodeId,nodeMatrix,false)};return MBDNote}();var eDwMBDNoteMgr=function(){function eDwMBDNoteMgr(iViewer){this.mNotes=[];this.mViewer=iViewer}eDwMBDNoteMgr.prototype.addNote=function(nodeId,refBox){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){var modelHC,box;return __generator(this,function(_a){switch(_a.label){case 0:modelHC=this.mViewer.getModel().getHCModel();return[4,modelHC.getNodesBounding([nodeId])];case 1:box=_a.sent();this.mNotes.push(new MBDNote(this.mViewer,refBox.center(),box.center(),nodeId));return[2]}})})})();return true};eDwMBDNoteMgr.prototype.updateNote=function(){var len=this.mNotes.length;for(var i=0;i0){var sceneData=$(data[0]);this.mOrigin=sceneData.attr("origin");switch(sceneData.attr("type")){case"drawing":this.mCategory="DRAWING";break;case"part":this.mCategory="PART";break;case"assembly":this.mCategory="ASSEMBLY";break;default:break}}this.mProperties=$(doc).find("property");if(this.mCategory==="ASSEMBLY"||this.mCategory==="PART"){var configurations=$(doc).find("configuration");for(var i=0;i0&&ioHierachyNode){for(var i=0;i | ";for(var mvName in iModelViews){var nodeHCID=iModelViews[mvName].Hierarchy.HOOPSID;msg+=mvName+" - "+iModelHC.getNodeVisibility(nodeHCID)+" | "}console.debugLog("NodeVisibility",msg)}function l_dumpModelViewVisibilityTree(iModelView,iModelHC){var hierNodes=iModelView.getNodes();for(var _i=0,hierNodes_1=hierNodes;_i"){props.Name=props.Name.replace("<","<");props.Name=props.Name.replace(">",">")}props.Visible=iElemJQ.attr("visible")==="1"?true:false;props.Opaque=iElemJQ.attr("transparent")==="1"?false:true;props.Selectable=iElemJQ.attr("selectable")==="1"?true:false;props.HOOPSID=parseInt(iElemJQ.attr("id"),10);var toModelDataStr=iElemJQ.attr("to-model-data");var toModelData=[1,0,0,0,1,0,0,0,1,0,0,0,1];props.ToModelData=toModelDataStr?JSON.parse(toModelDataStr):toModelData}return props}function l_getNodePropsAsAttribs(iNodeProps){var nodeAttribs={};eDwNodeAttributes_2.eDwNodeAttributes.setAttribs(nodeAttribs,iNodeProps);return nodeAttribs}return eDwModel});define("eDwModelView",["require","exports","eDwHierarchyNode"],function(require,exports,eDwHierarchyNode){"use strict";var eDwModelView=function(){function eDwModelView(Name,Category,iAttribs,iNodeHCID,iModel){this.Name=Name;this.Category=Category;this.Nodes={};this.Hierarchy=new eDwHierarchyNode(this.Name,this.Category,iAttribs,iNodeHCID,null,this,iModel);this.mPreviewImage=""}eDwModelView.prototype.getNodes=function(){var hierNodes=[];for(var hierNodeName in this.Nodes){hierNodes.push(this.Nodes[hierNodeName])}return hierNodes};eDwModelView.prototype.setPreviewImagePath=function(iImagePath){this.mPreviewImage=iImagePath};eDwModelView.prototype.getPreviewImagePath=function(){return this.mPreviewImage};return eDwModelView}();return eDwModelView});define("eDwMoveSectionPlaneCmd",["require","exports","eDwTypes","eDwSupportsHistoryCmd"],function(require,exports,eDwTypes_7,eDwSupportsHistoryCmd){"use strict";var eDwMoveSectionPlaneCmd=function(_super){__extends(eDwMoveSectionPlaneCmd,_super);function eDwMoveSectionPlaneCmd(iViewer){var _this=_super.call(this,iViewer)||this;_this.mInitialPntOnPlane=_this.mViewer.XSectionMgr.projectPoint(new eDwTypes_7.HC.Point3(0,0,0));return _this}eDwMoveSectionPlaneCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;var altDir=this.mDir.copy().negate();this.mViewer.XSectionMgr.moveCurrentAlongNormal(altDir);return true};eDwMoveSectionPlaneCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.mViewer.XSectionMgr.moveCurrentAlongNormal(this.mDir);return true};eDwMoveSectionPlaneCmd.prototype.commit=function(){_super.prototype.commit.call(this);this.mFinalPntOnPlane=this.mViewer.XSectionMgr.projectPoint(new eDwTypes_7.HC.Point3(0,0,0));this.mDir=this.mFinalPntOnPlane.subtract(this.mInitialPntOnPlane)};eDwMoveSectionPlaneCmd.prototype.isCommitted=function(){return _super.prototype.isCommitted.call(this)&&!!this.mInitialPntOnPlane&&!!this.mFinalPntOnPlane};Object.defineProperty(eDwMoveSectionPlaneCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});return eDwMoveSectionPlaneCmd}(eDwSupportsHistoryCmd);return eDwMoveSectionPlaneCmd});define("eDwNodeAttributes",["require","exports"],function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var eDwNodeAttributes=function(){function eDwNodeAttributes(){}eDwNodeAttributes.setAttribs=function(ioTargetAttribs,iSourceAttribs){var changedAttributes=[];for(var attribKey in iSourceAttribs){if(ioTargetAttribs[attribKey]!==iSourceAttribs[attribKey]){ioTargetAttribs[attribKey]=iSourceAttribs[attribKey];changedAttributes.push(attribKey)}}return changedAttributes};eDwNodeAttributes.mergeAttribs=function(ioTargetAttribs,iSourceAttribs){if(ioTargetAttribs&&iSourceAttribs){syncAttributeKeys(ioTargetAttribs,iSourceAttribs);for(var attribKey in ioTargetAttribs){ioTargetAttribs[attribKey]=ioTargetAttribs[attribKey]||iSourceAttribs[attribKey]}}return ioTargetAttribs};return eDwNodeAttributes}();exports.eDwNodeAttributes=eDwNodeAttributes;var NodeDisplayState;(function(NodeDisplayState){NodeDisplayState["Visible"]="Visible";NodeDisplayState["Invisible"]="Invisible";NodeDisplayState["Opaque"]="Opaque";NodeDisplayState["Transparent"]="Transparent"})(NodeDisplayState=exports.NodeDisplayState||(exports.NodeDisplayState={}));function syncAttributeKeys(ioTargetAttribs,iSourceAttribs){for(var attribKey in iSourceAttribs){if(!ioTargetAttribs[attribKey]){ioTargetAttribs[attribKey]=undefined}}}});define("eDwNodeColorInfo",["require","exports","eDwTypes"],function(require,exports,eDwTypes_8){"use strict";var eDwNodeColorInfo=function(){function eDwNodeColorInfo(iNodeID,iSecondaryID,iColor,iType){this.mNodeID=iNodeID;this.mSecondID=iSecondaryID;this.mType=iType}eDwNodeColorInfo.prototype.reset=function(iModelHC){switch(this.mType){case eDwTypes_8.EntityMode.EDGE:iModelHC.unsetNodeLineColor(this.mNodeID,this.mSecondID);break;case eDwTypes_8.EntityMode.FACE:iModelHC.unsetNodeFaceColor(this.mNodeID,this.mSecondID);break;case eDwTypes_8.EntityMode.VERTEX:default:break}};return eDwNodeColorInfo}();return eDwNodeColorInfo});define("eDwOperationMixin",["require","exports"],function(require,exports){"use strict";var eDwOperationMixin=function(){function eDwOperationMixin(){this.mExclusive=true}Object.defineProperty(eDwOperationMixin.prototype,"Exclusive",{get:function(){return this.mExclusive},enumerable:true,configurable:true});Object.defineProperty(eDwOperationMixin.prototype,"AllowsAggregation",{get:function(){return false},enumerable:true,configurable:true});Object.defineProperty(eDwOperationMixin.prototype,"Aggregable",{get:function(){return false},enumerable:true,configurable:true});return eDwOperationMixin}();return eDwOperationMixin});define("eDwOperatorBaseDeps",["require","exports","eDwKeyMgr","eDwTypes","utils","eDwGeomUtils","eDwSelSubEntityUtils"],function(require,exports,eDwKeyMgr_1,eDwTypes_9,utils,eDwGeomUtils,eDwSelSubEntityUtils){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var eDwOperatorMgr=function(){function eDwOperatorMgr(iViewer){this.mOpsData={};this.mOperatorMgrHC=iViewer.HCViewer.getOperatorManager();this.resetToDefault();var cameraZoomOp=this.mOperatorMgrHC.getOperator(eDwTypes_9.HC.OperatorId.Zoom);cameraZoomOp.setMouseWheelZoomInverted(false)}eDwOperatorMgr.prototype.registerCustomOperator=function(ioOp,iActivate){if(iActivate===void 0){iActivate=false}ioOp.OperatorID=this.mOperatorMgrHC.registerCustomOperator(ioOp);this.mOpsData[ioOp.OperatorID]={Op:ioOp,ActivatedByDefault:iActivate};if(iActivate)this.push(ioOp.OperatorID);return ioOp.OperatorID};eDwOperatorMgr.prototype.unregisterCustomOperator=function(iOp){this.unregisterCustomOperatorByID(this.getOperatorID(iOp))};eDwOperatorMgr.prototype.unregisterCustomOperatorByID=function(iOpID){if(this.popToOp(iOpID)===iOpID){this.pop()}this.mOperatorMgrHC.unregisterCustomOperator(iOpID);delete this.mOpsData[iOpID]};eDwOperatorMgr.prototype.unregisterAll=function(){var _this=this;utils.forAll(function(iOpID,iOpData){_this.unregisterCustomOperatorByID(iOpID)},this.mOpsData)};eDwOperatorMgr.prototype.push=function(iOpID){var activeOpID=this.getActiveOperatorID();if(activeOpID!==iOpID){return this.mOperatorMgrHC.push(iOpID)}return false};eDwOperatorMgr.prototype.pop=function(iOpID){var retOpID=eDwTypes_9.HC.OperatorId.None;if(!iOpID||iOpID&&this.getActiveOperatorID()===iOpID){retOpID=this.mOperatorMgrHC.pop()}return retOpID};eDwOperatorMgr.prototype.popToOp=function(iOpID){var retOpID=eDwTypes_9.HC.OperatorId.None;var opStackPos=this.mOperatorMgrHC.indexOf(iOpID);if(opStackPos>-1){while(this.getActiveOperatorID()!==iOpID){this.pop()}retOpID=iOpID}return retOpID};eDwOperatorMgr.prototype.getOperator=function(iOpID){return this.mOperatorMgrHC.getOperator(iOpID)};eDwOperatorMgr.prototype.getOperatorID=function(iOp){return iOp.OperatorID};eDwOperatorMgr.prototype.getActiveOperatorID=function(){return this.mOperatorMgrHC.peek()};eDwOperatorMgr.prototype.getOperatorIndex=function(iOp){var opsStack=[];var numOps=this.mOperatorMgrHC.size();var index=-1;for(var i=0;i=0;i++){this.mOperatorMgrHC.push(opsStack[i])}return index};eDwOperatorMgr.prototype.setOpID=function(iOpID,iIndex){return this.mOperatorMgrHC.set(iOpID,iIndex)};eDwOperatorMgr.prototype.set=function(iOp,iIndex){return this.setOpID(this.getOperatorID(iOp),iIndex)};eDwOperatorMgr.prototype.resetToDefault=function(){var _this=this;for(var opID=eDwTypes_9.HC.OperatorId.NavCube;opID>eDwTypes_9.HC.OperatorId.Navigate;opID--){this.pop(opID)}utils.forAll(function(iOpID,iOpData){if(iOpData.ActivatedByDefault){_this.push(iOpData.Op.OperatorID)}},this.mOpsData)};return eDwOperatorMgr}();exports.eDwOperatorMgr=eDwOperatorMgr;var eDwBaseOperator=function(_super){__extends(eDwBaseOperator,_super);function eDwBaseOperator(iViewer){var _this=_super.call(this)||this;_this.mViewer=iViewer;_this.mCurTouches=[];_this.mDragPt=null;_this.mCurrInputInfo=null;_this.mActiveMouseButton="none";return _this}eDwBaseOperator.prototype.onMouseDown=function(ioMouseEvent){_super.prototype.onMouseDown.call(this,ioMouseEvent);if(ioMouseEvent&&eDwKeyMgr_1.eDwKeyMgr.isAnyPressed(ioMouseEvent)){this.setMouse(ioMouseEvent);this.mActiveMouseButton=eDwKeyMgr_1.eDwKeyMgr.getMouseButtonPressed(ioMouseEvent)}};eDwBaseOperator.prototype.onMouseMove=function(ioMouseEvent){_super.prototype.onMouseMove.call(this,ioMouseEvent);if(ioMouseEvent){var pos=ioMouseEvent.getPosition();if(this.mCurrInputInfo){var oldInputInfo=this.mCurrInputInfo;this.setMouse(ioMouseEvent);if(!oldInputInfo.DragPt.equals(this.mCurrInputInfo.DragPt)){this.mDragPt=this.mCurrInputInfo.DragPt}}console.debugLog("Operator","move screen pt = "+JSON.stringify(pos))}};eDwBaseOperator.prototype.onMouseUp=function(ioMouseEvent){_super.prototype.onMouseUp.call(this,ioMouseEvent);if(ioMouseEvent){this.mDragPt=null;this.mCurrInputInfo=null}this.mActiveMouseButton="none"};eDwBaseOperator.prototype.onTouchStart=function(ioTouchEvent){var _this=this;console.debugLog("TouchOp","Start - touch ID = "+ioTouchEvent.getId());_super.prototype.onTouchStart.call(this,ioTouchEvent);this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_9.HC.MouseInputType.Down,function(ioMouseEvent){_this.onMouseDown(ioMouseEvent)});this.addTouch(ioTouchEvent)};eDwBaseOperator.prototype.onTouchMove=function(ioTouchEvent){var _this=this;console.debugLog("TouchOp","Move - touch ID = "+ioTouchEvent.getId());_super.prototype.onTouchMove.call(this,ioTouchEvent);if(!this.hasTouchMoved(ioTouchEvent)){ioTouchEvent.setHandled(true);return}this.updateTouch(ioTouchEvent);this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_9.HC.MouseInputType.Move,function(ioMouseEvent){_this.onMouseMove(ioMouseEvent)})};eDwBaseOperator.prototype.onTouchEnd=function(ioTouchEvent){var _this=this;console.debugLog("TouchOp","End - touch ID = "+ioTouchEvent.getId());this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_9.HC.MouseInputType.Up,function(ioMouseEvent){_this.onMouseUp(ioMouseEvent)});ioTouchEvent.setHandled(false);_super.prototype.onTouchEnd.call(this,ioTouchEvent);this.removeTouchById(ioTouchEvent.getId())};eDwBaseOperator.prototype.onDeactivate=function(){_super.prototype.onDeactivate.call(this);this.mDragPt=null};eDwBaseOperator.getAsMouseEvent=function(iTouchEvent,iMouseInputType,iButton){if(iButton===void 0){iButton=eDwTypes_9.HC.Buttons.Left}if(iTouchEvent){var pos=iTouchEvent.getPosition();var mouseEvent=new eDwTypes_9.HC.Event.MouseInputEvent(pos.x,pos.y,eDwTypes_9.HC.Button.None,iButton,eDwTypes_9.HC.KeyModifiers.None,iMouseInputType);eDwBaseOperator.setPickResult(mouseEvent,eDwBaseOperator.getPickResult(iTouchEvent));mouseEvent.setHandled(iTouchEvent.getHandled());return mouseEvent}return null};eDwBaseOperator.getPickResult=function(iEvent){var selObjHC=null;var compPickResult=iEvent._getCompositePickResult();if(compPickResult){selObjHC=compPickResult.faceItem||compPickResult.lineItem||compPickResult.pointItem;if(selObjHC&&!eDwSelSubEntityUtils.getSubEntityInfo(selObjHC).SubEntity){selObjHC=null}}return selObjHC};eDwBaseOperator.setPickResult=function(iEvent,iSelObj){iEvent._setCompositePickResult(new eDwTypes_9.HC.Selection.Internal.CompositeSelectionItem(iSelObj,iSelObj,iSelObj))};eDwBaseOperator.prototype.wrapAndCallAsMouseEvent=function(ioTouchEvent,iInputType,iMouseFunc,iButton){if(iButton===void 0){iButton=eDwTypes_9.HC.Buttons.Left}var mouseEvent=eDwBaseOperator.getAsMouseEvent(ioTouchEvent,iInputType,iButton);if(mouseEvent){iMouseFunc(mouseEvent);ioTouchEvent.setHandled(mouseEvent.getHandled())}};eDwBaseOperator.prototype.addTouch=function(ioTouchEvent){if(!this.getTouchById(ioTouchEvent.getId())){this.mCurTouches.push({Event:ioTouchEvent,DragPt:eDwGeomUtils.screenToWorld(ioTouchEvent.getPosition(),this.mViewer.getHCView()),Pos:ioTouchEvent.getPosition()})}};eDwBaseOperator.prototype.getTouchById=function(iTouchID){for(var i=0;iepsX&&Math.abs(delta.y)>epsY};eDwBaseOperator.prototype.updateTouch=function(ioTouchEvent){var touch=this.getTouchById(ioTouchEvent.getId());if(touch){touch.Pos=ioTouchEvent.getPosition();touch.DragPt=eDwGeomUtils.screenToWorld(ioTouchEvent.getPosition(),this.mViewer.getHCView())}};eDwBaseOperator.prototype.isDragging=function(){return!!this.mDragPt};eDwBaseOperator.prototype.setMouse=function(ioMouseEvent){this.mCurrInputInfo={Event:ioMouseEvent,DragPt:eDwGeomUtils.screenToWorld(ioMouseEvent.getPosition(),this.mViewer.getHCView()),Pos:ioMouseEvent.getPosition()}};return eDwBaseOperator}(eDwTypes_9.HC.Operator.Operator);exports.eDwBaseOperator=eDwBaseOperator});define("eDwPerspectiveCmd",["require","exports","eDwSupportsHistoryCmd"],function(require,exports,eDwSupportsHistoryCmd){"use strict";var eDwPerspectiveCmd=function(_super){__extends(eDwPerspectiveCmd,_super);function eDwPerspectiveCmd(iViewer,iNewState){var _this=_super.call(this,iViewer)||this;_this.mInitiallyActive=iViewer.getPerspectiveMode();_this.mFinallyActive=iNewState;return _this}eDwPerspectiveCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.mViewer.setPerspectiveMode(this.mInitiallyActive);return true};eDwPerspectiveCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.mViewer.setPerspectiveMode(this.mFinallyActive);return true};eDwPerspectiveCmd.prototype.commit=function(){_super.prototype.commit.call(this);this.mViewer.setPerspectiveMode(this.mFinallyActive)};Object.defineProperty(eDwPerspectiveCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});return eDwPerspectiveCmd}(eDwSupportsHistoryCmd);return eDwPerspectiveCmd});define("eDwResetCmd",["require","exports","eDwSupportsHistoryCmd","eDwEventMgr","eDwEvents"],function(require,exports,eDwSupportsHistoryCmd,eDwEventMgr,eDwEvents_3){"use strict";var eDwResetCmd=function(_super){__extends(eDwResetCmd,_super);function eDwResetCmd(iViewer){var _this=_super.call(this,iViewer)||this;_this.mPerspective=iViewer.getPerspectiveMode();_this.mExplosionLevel=iViewer.getExplosionLevel();_this.mDrawMode=iViewer.getDrawMode();_this.mAmbientOcclusion=iViewer.getHCView().getAmbientOcclusionEnabled();_this.mCamera=iViewer.getHCView().getCamera();_this.resetToHome();return _this}eDwResetCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.resetToPrevious();return true};eDwResetCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.resetToHome();return true};eDwResetCmd.prototype.resetToHome=function(){return __awaiter(this,void 0,void 0,function(){var viewMgr;return __generator(this,function(_a){switch(_a.label){case 0:viewMgr=this.mViewer.ViewMgr;viewMgr.reset();this.mViewer.SelectionMgr.unSelectAllObjects();this.mViewer.OperatorMgr.resetToDefault();this.mViewer.setPerspectiveMode(false);return[4,this.mViewer.getModel().resetToDefault()];case 1:_a.sent();this.mViewer.setExplosionLevel(0);this.mViewer.resetDrawMode();this.mViewer.ViewMgr.enableAmbientOcclusion(false);eDwEventMgr.get().fireEvent(eDwEvents_3.ResetSceneEvent,true);return[2]}})})};eDwResetCmd.prototype.resetToPrevious=function(){this.mViewer.setPerspectiveMode(this.mPerspective);this.mViewer.ViewMgr.setCamera(this.mCamera);this.mViewer.setExplosionLevel(this.mExplosionLevel);this.mViewer.setDrawMode(this.mDrawMode);this.mViewer.ViewMgr.enableAmbientOcclusion(this.mAmbientOcclusion);eDwEventMgr.get().fireEvent(eDwEvents_3.ResetSceneEvent,false)};return eDwResetCmd}(eDwSupportsHistoryCmd);return eDwResetCmd});define("eDwResultError",["require","exports","eDwBaseError"],function(require,exports,eDwBaseError){"use strict";var eDwResultError=function(_super){__extends(eDwResultError,_super);function eDwResultError(iResult){var _this=_super.call(this,"Result Error")||this;_this.Result=iResult;return _this}return eDwResultError}(eDwBaseError);return eDwResultError});define("eDwSectionFlipCmd",["require","exports","eDwSupportsHistoryCmd"],function(require,exports,eDwSupportsHistoryCmd){"use strict";var eDwSectionFlipCmd=function(_super){__extends(eDwSectionFlipCmd,_super);function eDwSectionFlipCmd(iViewer){return _super.call(this,iViewer)||this}eDwSectionFlipCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.mViewer.XSectionMgr.flipSectionPlane();return true};eDwSectionFlipCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.mViewer.XSectionMgr.flipSectionPlane();return true};eDwSectionFlipCmd.prototype.commit=function(){_super.prototype.commit.call(this);this.mViewer.XSectionMgr.flipSectionPlane()};Object.defineProperty(eDwSectionFlipCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});return eDwSectionFlipCmd}(eDwSupportsHistoryCmd);return eDwSectionFlipCmd});define("eDwSectionShowCmd",["require","exports","eDwSupportsHistoryCmd"],function(require,exports,eDwSupportsHistoryCmd){"use strict";var eDwSectionShowCmd=function(_super){__extends(eDwSectionShowCmd,_super);function eDwSectionShowCmd(iViewer,iShow){var _this=_super.call(this,iViewer)||this;_this.mInitialShow=true;_this.mFinalShow=iShow;return _this}eDwSectionShowCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.mViewer.XSectionMgr.SectionVisibility=this.mInitialShow;return true};eDwSectionShowCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.mViewer.XSectionMgr.SectionVisibility=this.mFinalShow;return true};eDwSectionShowCmd.prototype.commit=function(){_super.prototype.commit.call(this);this.mViewer.XSectionMgr.SectionVisibility=this.mFinalShow};Object.defineProperty(eDwSectionShowCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});return eDwSectionShowCmd}(eDwSupportsHistoryCmd);return eDwSectionShowCmd});define("eDwSelIsolateCmd",["require","exports","eDwTypes","eDwSupportsHistoryCmd"],function(require,exports,eDwTypes_10,eDwSupportsHistoryCmd){"use strict";var eDwSelIsolateCmd=function(_super){__extends(eDwSelIsolateCmd,_super);function eDwSelIsolateCmd(iViewer){return _super.call(this,iViewer)||this}eDwSelIsolateCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.setHierarchyNodeIDsAttribs(this.mInitialNodeIDsAttribs);this.mViewer.ViewMgr.setCamera(this.mInitialViewCamera);return true};eDwSelIsolateCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.setHierarchyNodeIDsAttribs(this.mFinalNodeIDsAttribs);this.mViewer.ViewMgr.setCamera(this.mFinalViewCamera);return true};eDwSelIsolateCmd.prototype.commit=function(){var _this=this;_super.prototype.commit.call(this);this.mInitialNodeIDsAttribs=this.getHierarchyNodesAttribs();var viewHC=this.mViewer.getHCView();this.mInitialViewCamera=viewHC.getCamera().copy();(function(){return __awaiter(_this,void 0,void 0,function(){var selMgr,selHierNodes,model,modelView,hierNodes,invisHierNodes,selHCIDs,modelHC,bbox;return __generator(this,function(_a){switch(_a.label){case 0:selMgr=this.mViewer.SelectionMgr;selHierNodes=selMgr.getSelHierarchyNodes();model=this.mViewer.getModel();modelView=model.getActiveModelView();hierNodes=modelView.getNodes();hierNodes.shift();invisHierNodes=hierNodes.filter(function(hierNode){return selHierNodes.indexOf(hierNode)===-1});return[4,model.setAttribOnHierNodes(invisHierNodes,{Visible:false})];case 1:_a.sent();selHCIDs=selMgr.getSelectableHCIDs();modelHC=this.mViewer.getModel().getHCModel();return[4,modelHC.getNodesBounding(selHCIDs)];case 2:bbox=_a.sent();if(!(bbox&&eDwTypes_10.HC.Point3.distance(bbox.max,bbox.min)>.001))return[3,4];return[4,this.mViewer.getHCView().isolateNodes(selHCIDs)];case 3:_a.sent();_a.label=4;case 4:this.mFinalNodeIDsAttribs=this.getHierarchyNodesAttribs();this.mFinalViewCamera=viewHC.getCamera().copy();return[2]}})})})()};eDwSelIsolateCmd.prototype.isCommitted=function(){return _super.prototype.isCommitted.call(this)&&!!this.mInitialViewCamera&&!!this.mFinalNodeIDsAttribs};Object.defineProperty(eDwSelIsolateCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});return eDwSelIsolateCmd}(eDwSupportsHistoryCmd);return eDwSelIsolateCmd});define("eDwSelMgr",["require","exports","eDwSelectionOperator","eDwEventMgr","eDwKeyMgr","eDwTypes","eDwEvents","eDwSelSubEntityUtils","utils"],function(require,exports,eDwSelectionOperator,eDwEventMgr,eDwKeyMgr_2,eDwTypes_11,eDwEvents_4,eDwSelSubEntityUtils,utils){"use strict";var eDwSelMgr=function(){function eDwSelMgr(iViewer){iViewer.SelectionMgr=this;this.mViewer=iViewer;this.mHCSelMgr=iViewer.HCViewer.selectionManager;this.mSelectableHCObjs=[];var selectOp=new eDwSelectionOperator(iViewer,this);var opMgr=this.mViewer.OperatorMgr;this.mSelectOperatorID=opMgr.registerCustomOperator(selectOp,true);this.mSelectOverlayNotifiers={}}eDwSelMgr.prototype.setColorForViewMode=function(mode){var _this=this;var nodeSelColor;var nodeSelOutlineColor=new eDwTypes_11.HC.Color(0,255,0);var nodeElmtSelColor;var nodeElmtSelOutlineColor=new eDwTypes_11.HC.Color(255,255,0);var beautifulGreen=new eDwTypes_11.HC.Color(4,200,5);switch(mode){case eDwTypes_11.HC.DrawMode.WireframeOnShaded:nodeSelColor=beautifulGreen;nodeElmtSelColor=beautifulGreen;break;case eDwTypes_11.HC.DrawMode.Shaded:nodeSelColor=beautifulGreen;nodeElmtSelColor=beautifulGreen;break;case eDwTypes_11.HC.DrawMode.Wireframe:case eDwTypes_11.HC.DrawMode.HiddenLine:nodeSelColor=eDwTypes_11.HC.Color.white();nodeElmtSelColor=eDwTypes_11.HC.Color.white();break;default:var msg="Unknown draw mode: "+mode;console.debugLog("Selection",msg);throw new Error(msg)}this.mHCSelMgr.setNodeSelectionColor(nodeSelColor);this.mHCSelMgr.setNodeSelectionOutlineColor(nodeSelOutlineColor);this.mHCSelMgr.setNodeElementSelectionColor(nodeElmtSelColor);this.mHCSelMgr.setNodeElementSelectionOutlineColor(nodeElmtSelOutlineColor);if(this.mViewer.getModel().isDrawing()&&!this.mViewer.ViewerFeatureOpts.Debug){this.mHCSelMgr.setNodeSelectionHighlightMode(eDwTypes_11.HC.SelectionHighlightMode.OutlineOnly);(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.mHCSelMgr.setHighlightNodeSelection(false)];case 1:_a.sent();return[2]}})})})()}};eDwSelMgr.prototype.unregister=function(){this.mViewer.OperatorMgr.unregisterCustomOperatorByID(this.mSelectOperatorID);this.mViewer.SelectionMgr=null};eDwSelMgr.prototype.addSelectOverlayNotifier=function(iTypeIndex,iNotifier){if(!this.mSelectOverlayNotifiers[iTypeIndex]){this.mSelectOverlayNotifiers[iTypeIndex]=[]}this.mSelectOverlayNotifiers[iTypeIndex].push(iNotifier)};eDwSelMgr.prototype.removeSelectOverlayNotifier=function(iTypeIndex,iNotifier){var typeNotifiers=this.mSelectOverlayNotifiers[iTypeIndex];var pos=typeNotifiers.indexOf(iNotifier);if(pos>-1){typeNotifiers.splice(pos,1)}return false};eDwSelMgr.prototype.getSelectedNodeIDIndex=function(iHCNodeID){return this.getSelectableHCIDs().indexOf(iHCNodeID)};eDwSelMgr.prototype.onSelection=function(iPartSelectionEvent){var ctrlKeyDown=eDwKeyMgr_2.eDwKeyMgr.get().isDown("Control");var shiftKeyDown=eDwKeyMgr_2.eDwKeyMgr.get().isDown("Shift");var existingIdx=-1;var selObj=this.getHCSelectionObj(iPartSelectionEvent.getSelection());if(selObj){existingIdx=this.getSelectedNodeIDIndex(selObj.getNodeId())}if(this.mSelectableHCObjs.length>0&&!ctrlKeyDown&&!shiftKeyDown){this.unSelectAllObjects(false)}else if(ctrlKeyDown&&!shiftKeyDown&&existingIdx>-1&&selObj){this.mSelectableHCObjs.splice(existingIdx,1);this.unSelectObjs([selObj],this.mViewer.getModel().isDrawing());return}else if(!ctrlKeyDown&&shiftKeyDown&&existingIdx>-1&&selObj){return}if(selObj){this.addUniqueToSelectableHCObjs(selObj);eDwEventMgr.get().fireEvent(eDwEvents_4.SelectEvent,this.mViewer,[selObj]);l_debugDumpSelection(selObj.getNodeId(),selObj.getSelectionType())}};eDwSelMgr.prototype.selectByID=function(iID){return utils.isNumber(iID)?this.executeSelection(iID):false};eDwSelMgr.prototype.select=function(iCoords,iPickConfig){return __awaiter(this,void 0,void 0,function(){var pickCfg,viewHC,selObj,selectableObj;return __generator(this,function(_a){switch(_a.label){case 0:pickCfg=iPickConfig?iPickConfig:new eDwTypes_11.HC.PickConfig(eDwTypes_11.HC.SelectionMask.Face);viewHC=this.mViewer.getHCView();return[4,viewHC.pickFromPoint(iCoords,pickCfg)];case 1:selObj=_a.sent();selectableObj=this.getHCSelectionObj(selObj);if(this.isSelectionHandled(selObj)){return[2]}if(selectableObj){this.executeSelection(selectableObj)}else{this.mHCSelMgr.set(null)}return[2]}})})};eDwSelMgr.prototype.isSelected=function(iHCNodeID){return this.getSelectableHCIDs().indexOf(iHCNodeID)<0?false:true};eDwSelMgr.prototype.append=function(iSelObj){this.mHCSelMgr.add(iSelObj)};eDwSelMgr.prototype.unSelectAllObjects=function(iClearHCSelList){if(iClearHCSelList===void 0){iClearHCSelList=true}var unselectedHCObjs=this.mSelectableHCObjs;this.mSelectableHCObjs=[];this.unSelectObjs(unselectedHCObjs,this.mViewer.getModel().isDrawing());if(unselectedHCObjs.length>0&&iClearHCSelList){this.mHCSelMgr.selectNode(null)}};eDwSelMgr.prototype.setViewToSelectedFace=function(){var camera=null;var selObjs=this.mHCSelMgr.getResults();for(var _i=0,selObjs_1=selObjs;_i0){return selHCIDs[selHCIDs.length-1]}return new RangeError("nothing selected")};eDwSelMgr.prototype.getSelHierarchyNodes=function(){var selHierNodes=[];var modelView=this.mViewer.getModel().getActiveModelView();var selHCIDs=this.getSelectableHCIDs();for(var _i=0,selHCIDs_1=selHCIDs;_i-1)this.mSelectableHCObjs.splice(index,1);this.unSelectObjs(this.mSelectableHCObjs,true);this.mSelectableHCObjs=[];(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,hierNode.showBoundingBox(this.mViewer,"on")];case 1:_a.sent();return[2]}})})})();shown=true}else{(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,hierNode.showBoundingBox(this.mViewer,"toggle")];case 1:_a.sent();return[2]}})})})();shown=index>-1?false:true}if(shown){var selObjDupHC=eDwTypes_11.HC.Selection.SelectionItem.create(hierNode.HOOPSID);this.addUniqueToSelectableHCObjs(selObjDupHC);eDwEventMgr.get().fireEvent(eDwEvents_4.SelectEvent,this.mViewer,[selObjDupHC]);l_debugDumpSelection(selObjDupHC.getNodeId(),selObjDupHC.getSelectionType())}}else{if(!selObjHC){this.mHCSelMgr.selectNode(nodeIDHC,iSelModeHC)}else{if(iSelModeHC===eDwTypes_11.HC.SelectionMode.Add){this.mHCSelMgr.add(selObjHC)}else if(iSelModeHC===eDwTypes_11.HC.SelectionMode.Set){this.mHCSelMgr.set(selObjHC)}else{this.mHCSelMgr.toggle(selObjHC)}}}return eDwTypes_11.HC.SelectionType.Part}return eDwTypes_11.HC.SelectionType.None}var ret=false;try{var selType=eDwTypes_11.HC.SelectionType.None;if(!eDwKeyMgr_2.eDwKeyMgr.get().isDown("Control")&&!eDwKeyMgr_2.eDwKeyMgr.get().isDown("Shift")){selType=selectHCNode.call(this,eDwTypes_11.HC.SelectionMode.Set);ret=true}else{var existingIdx=this.getSelectedNodeIDIndex(nodeIDHC);if(existingIdx>-1){if(eDwKeyMgr_2.eDwKeyMgr.get().isDown("Control")){var toBeUnselected=this.mSelectableHCObjs[existingIdx];this.mHCSelMgr.remove(toBeUnselected)}else if(eDwKeyMgr_2.eDwKeyMgr.get().isDown("Shift")){ret=true}}else{selType=selectHCNode.call(this,eDwTypes_11.HC.SelectionMode.Add);if(this.getSelectedNodeIDIndex(nodeIDHC)>-1){ret=true}}}if(selType!==eDwTypes_11.HC.SelectionType.None){l_debugDumpSelection(nodeIDHC,selType)}}catch(iErr){console.log("eDwSelMgr.selectByID failed")}return ret};return eDwSelMgr}();function l_debugDumpSelection(iID,iSelType){console.debugLog("Selection","Selected Obj ID: "+iID+" - type: "+eDwTypes_11.HC.SelectionType[iSelType])}return eDwSelMgr});define("eDwSelSubEntityUtils",["require","exports","utils"],function(require,exports,utils){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function getSubEntityInfo(iSelObjHC){if(!iSelObjHC)return undefined;var subEntity=null;var typeName="";var isSelectable=false;if(subEntity=iSelObjHC.getPointEntity()){typeName="Point";isSelectable=true}else if(subEntity=iSelObjHC.getLineEntity()){typeName="Line";var HCEdgeSelMeasure=4;if(getSubEntityBits(subEntity)&HCEdgeSelMeasure)isSelectable=true}else if(subEntity=iSelObjHC.getFaceEntity()){typeName="Face";var HCFaceSelMeasure=1;if(getSubEntityBits(subEntity)&HCFaceSelMeasure)isSelectable=true}var subEntityInfo={SubEntity:subEntity,SubEntityTypeName:typeName,IsSelectable:isSelectable};return subEntity?subEntityInfo:null}exports.getSubEntityInfo=getSubEntityInfo;function getSubEntityTypeName(iSubEntityType){if(!iSubEntityType)return"";return utils.getObjectTypeName(iSubEntityType).slice(0,-6)}exports.getSubEntityTypeName=getSubEntityTypeName;function getSubEntityID(iSubEntity){return iSubEntity?iSubEntity._elementIndex:NaN}exports.getSubEntityID=getSubEntityID;function getSubEntityBits(iSubEntity){return iSubEntity?iSubEntity._elementBits:NaN}exports.getSubEntityBits=getSubEntityBits});define("eDwSelectionOperator",["require","exports","eDwOperatorBaseDeps","eDwBaseSelOperator","eDwEventMgr","eDwEvents","eDwTypes","eDwGeomUtils","utils"],function(require,exports,eDwOperatorBaseDeps_2,eDwBaseSelOperator,eDwEventMgr,eDwEvents_5,eDwTypes_12,eDwGeomUtils,utils){"use strict";var eDwSelectionOperator=function(_super){__extends(eDwSelectionOperator,_super);function eDwSelectionOperator(iViewer,iSelMgr){var _this=_super.call(this,iViewer,iSelMgr)||this;_this.mDoPickTimeOutHandle=cUnselectableItem;_this.mCalloutTimeoutHandle=cUnselectableItem;_this.mNameCallout=null;_this.mSelObjIDHC=NaN;_this.mMousePosCopy=null;_super.prototype.pushHighlightSelectionState.call(_this,"NODE",true);_super.prototype.pushHighlightSelectionState.call(_this,"FACE",true);_super.prototype.pushHighlightSelectionState.call(_this,"EDGE",false);_super.prototype.pushHighlightSelectionState.call(_this,"VERTEX",false);_super.prototype.pushElementSelectionHighlightMode.call(_this,"HighlightAndOutline");return _this}eDwSelectionOperator.prototype.onMouseUp=function(ioMouseEvent){var selObjHC=eDwOperatorBaseDeps_2.eDwBaseOperator.getPickResult(ioMouseEvent);if(ioMouseEvent&&this.mCurrInputInfo&&!selObjHC){var handled=false;if(!ioMouseEvent.getHandled()&&!this.isDragging()){handled=this.onUp(ioMouseEvent.getPosition())}ioMouseEvent.setHandled(handled);_super.prototype.onMouseUp.call(this,ioMouseEvent)}};eDwSelectionOperator.prototype.onMouseDown=function(ioMouseEvent){if(ioMouseEvent){_super.prototype.onMouseDown.call(this,ioMouseEvent);ioMouseEvent.setHandled(this.onDown(ioMouseEvent.getPosition()))}};eDwSelectionOperator.prototype.onMouseMove=function(ioMouseEvent){var _this=this;if(ioMouseEvent){var pos=ioMouseEvent.getPosition();var activeOpID=this.mViewer.OperatorMgr.getActiveOperatorID();if(!this.mCurrInputInfo&&this.mViewer.getModel().isAssembly()&&activeOpID===this.OperatorID){this.mMousePosCopy=pos.copy();(function(){return __awaiter(_this,void 0,void 0,function(){var selItem,op;return __generator(this,function(_a){switch(_a.label){case 0:if(!this.mMousePosCopy)return[2];return[4,this.mViewer.getHCView().pickFromPoint(this.mMousePosCopy,new eDwTypes_12.HC.PickConfig(eDwTypes_12.HC.SelectionMask.Face))];case 1:selItem=_a.sent();this.mSelObjIDHC=selItem&&selItem.getNodeId()||cUnselectableItem;op=this;this.mCalloutTimeoutHandle=setTimeout(function(){op.updateCallout()},1e3);return[2]}})})})()}_super.prototype.onMouseMove.call(this,ioMouseEvent);ioMouseEvent.setHandled(this.onMove(pos))}};eDwSelectionOperator.prototype.onTouchStart=function(ioTouchEvent){if(!ioTouchEvent)return;_super.prototype.onTouchStart.call(this,ioTouchEvent);this.onDown(ioTouchEvent.getPosition())};eDwSelectionOperator.prototype.onTouchMove=function(ioTouchEvent){if(!ioTouchEvent)return;var pos=ioTouchEvent.getPosition();if(pos.x===Math.round(pos.x)&&pos.y===Math.round(pos.y)){_super.prototype.onTouchMove.call(this,ioTouchEvent)}};eDwSelectionOperator.prototype.onTouchEnd=function(ioTouchEvent){if(!ioTouchEvent)return;if(!this.hasTouchMoved(ioTouchEvent)){if(this.mCurTouches.length===1){var curTime=new Date;var startTime=new Date;var touchStart=this.getTouchById(ioTouchEvent.getId());if(touchStart){startTime=touchStart.Event.getDate()}this.mActiveMouseButton="left";if(curTime.getTime()-startTime.getTime()>1e3){this.mActiveMouseButton="right"}this.onUp(ioTouchEvent.getPosition());ioTouchEvent.setHandled(true)}else{ioTouchEvent.setHandled(false)}}_super.prototype.onTouchEnd.call(this,ioTouchEvent)};eDwSelectionOperator.prototype.updateCallout=function(){if(this.mCurrInputInfo||!this.mMousePosCopy){return}var isSameID=this.mNameCallout?this.mNameCallout.isSameID(this.mSelObjIDHC):false;if(isSameID)return;var markupMgrHC=this.mViewer.getHCMarkupManager();try{if(this.mNameCallout){markupMgrHC.unregisterMarkup(this.mNameCallout.MarkupID);this.mNameCallout=null;if(utils.isNumber(this.mCalloutTimeoutHandle)){clearTimeout(this.mCalloutTimeoutHandle);this.mCalloutTimeoutHandle=NaN}}if(utils.isNumber(this.mSelObjIDHC)){var model=this.mViewer.getModel();var hierNode=model.getHierarchyNode(this.mSelObjIDHC);if(!hierNode)return;var name_1=hierNode.Name?hierNode.Name:cDefaultModelName;var pos=eDwTypes_12.HC.Point2.add(this.mMousePosCopy.copy(),new eDwTypes_12.HC.Point2(0,20));this.mNameCallout=new NameCallout(this.mViewer,this.mSelObjIDHC,name_1,pos);this.mNameCallout.MarkupID=markupMgrHC.registerMarkup(this.mNameCallout)}}catch(iExcp){this.mNameCallout=null}markupMgrHC.refreshMarkup()};eDwSelectionOperator.prototype.doPick=function(iCoords){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:if(!this.mViewer.getModel().isDrawing())return[3,2];return[4,this.doPickInDrawing(iCoords)];case 1:_a.sent();return[3,4];case 2:return[4,this.doPickIn3D(iCoords)];case 3:_a.sent();_a.label=4;case 4:return[2]}})})};eDwSelectionOperator.prototype.doPickIn3D=function(iCoords){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.mViewer.SelectionMgr.select(iCoords)];case 1:_a.sent();return[2]}})})};eDwSelectionOperator.prototype.doPickInDrawing=function(iCoords){return __awaiter(this,void 0,void 0,function(){var model,modelHC,pickConfig,activeSheetHierNode,childHierarchyMap,children,viewHCIDs,i,currentNode,selItem,hierNode,_i,viewHCIDs_1,viewHCID,bbox,selPt3D,_a;return __generator(this,function(_b){switch(_b.label){case 0:model=this.mViewer.getModel();modelHC=model.getHCModel();pickConfig=new eDwTypes_12.HC.PickConfig(eDwTypes_12.HC.SelectionMask.All);activeSheetHierNode=model.getActiveModelView();childHierarchyMap=activeSheetHierNode.Hierarchy.getChildren();children=Object.keys(childHierarchyMap);viewHCIDs=[];for(i=children.length-1;i>-1;--i){currentNode=childHierarchyMap[children[i]];viewHCIDs.push(currentNode.HOOPSID)}return[4,this.mViewer.getHCView().pickFromPoint(iCoords,pickConfig)];case 1:selItem=_b.sent();if(!("undefined"===typeof selItem||!selItem.getNodeId()))return[3,3];return[4,this.doPickIn3D(iCoords)];case 2:_b.sent();_b.label=3;case 3:hierNode=model.getHierarchyNode(selItem.getNodeId());if(!hierNode)return[3,4];if(viewHCIDs.indexOf(hierNode.HOOPSID)>-1){this.mViewer.SelectionMgr.selectByID(hierNode.HOOPSID)}return[3,10];case 4:_i=0,viewHCIDs_1=viewHCIDs;_b.label=5;case 5:if(!(_i0){pluginName=matches[1]}else{console.warn("Could not locate external plugin name in file "+iPluginFile)}return[3,5];case 4:iExcp_11=_a.sent();console.warn("Failed to load external plugin - "+iExcp_11.message);return[3,5];case 5:return[2,pluginName]}})})};eDwServiceMgr.prototype.getPluginFiles=function(){return __awaiter(this,void 0,void 0,function(){var _a,_b,iExcp_12;return __generator(this,function(_c){switch(_c.label){case 0:if(!eDwServiceMgr.usesWebServices())return[2,this.mPluginFiles];if(!!this.mPluginFiles.length)return[3,7];_c.label=1;case 1:_c.trys.push([1,6,,7]);if(!this.mAdvancedServicesDisabled)return[3,3];console.debugLog("ServiceMgr","Loading static plugin list");_a=this;return[4,this.ajax("GET","js/staticPluginList.json",{})];case 2:_a.mPluginFiles=_c.sent();return[3,5];case 3:console.debugLog("ServiceMgr","Finding plugins...");_b=this;return[4,this.ajax("GET","EDrawingsService.svc/GetPlugins",{})];case 4:_b.mPluginFiles=_c.sent();_c.label=5;case 5:return[3,7];case 6:iExcp_12=_c.sent();console.warn("No plugins available.");return[3,7];case 7:return[2,this.mPluginFiles]}})})};eDwServiceMgr.prototype.extendLicense=function(iKey){return __awaiter(this,void 0,void 0,function(){var params;return __generator(this,function(_a){switch(_a.label){case 0:if(this.mAdvancedServicesDisabled||!eDwServiceMgr.usesWebServices()){return[2]}params={data:{iKey:iKey},cache:false};return[4,this.ajax("GET","EDrawingsService.svc/ExtendLicense",params)];case 1:_a.sent();return[2]}})})};eDwServiceMgr.prototype.getBaseCacheDirs=function(){return __awaiter(this,void 0,void 0,function(){var _this=this;return __generator(this,function(_a){switch(_a.label){case 0:if(!(this.mBaseCacheDirs===null))return[3,2];this.mBaseCacheDirs=[];this.mGetBaseCacheDirsPromise=$.get("cacheDirs.xml",function(iDoc){var cacheDirs=iDoc.getElementsByTagName("modelSearchDirectory");var numDirs=cacheDirs.length;for(var i=0;i-1){foundPluginFileName=pluginFileName}}return[2,foundPluginFileName]}})})};eDwServiceMgr.prototype.ajax=function(iMethod,iService,iParams){return __awaiter(this,void 0,void 0,function(){var paramsObj,retAJAX,iExcp_13;return __generator(this,function(_a){switch(_a.label){case 0:paramsObj={type:iMethod,url:this.mServerURL+"/"+iService,async:true};if(iParams)$.extend(paramsObj,iParams);_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,$.ajax(paramsObj)];case 2:retAJAX=_a.sent();return[3,4];case 3:iExcp_13=_a.sent();console.warn("AJAX "+iMethod+" failed for "+iService+": "+iExcp_13.message);throw iExcp_13;case 4:return[2,retAJAX]}})})};return eDwServiceMgr}();return eDwServiceMgr});define("eDwSetHierNodeAttribsCmd",["require","exports","eDwSupportsHistoryCmd"],function(require,exports,eDwSupportsHistoryCmd){"use strict";var eDwSetHierNodeAttribsCmd=function(_super){__extends(eDwSetHierNodeAttribsCmd,_super);function eDwSetHierNodeAttribsCmd(iViewer,iHierNodes,iAttrib){var _this=_super.call(this,iViewer)||this;_this.mInitialHierNodeAttribs=[];_this.mFinalHierNodeAttribs=[];var finalAttrib=$.extend(true,{},iAttrib);for(var _i=0,iHierNodes_2=iHierNodes;_i-1){this.mTouchOpIDs.splice(opIndex,1);this.mViewer.OperatorMgr.unregisterCustomOperatorByID(iOpID)}};eDwTouchOpsMgr.isTouchEnabled=function(){function matchMedia(iFeature){return window.matchMedia&&window.matchMedia(iFeature).matches?true:false}var enabled=false;if("PointerEvent"in window&&"maxTouchPoints"in navigator){var maxTouchPoints=navigator.maxTouchPoints;if(utils.isNumber(maxTouchPoints)){if(navigator.maxTouchPoints>0){enabled=true}else if(navigator.maxTouchPoints===0&&matchMedia("(any-pointer:coarse)")){enabled=true}}}else{if(matchMedia("(any-pointer:coarse)")){enabled=true}else if("TouchEvent"in window||"ontouchstart"in window){enabled=true}}console.debugLog("TouchOps","Touch enabled = "+enabled);return enabled};return eDwTouchOpsMgr}();return eDwTouchOpsMgr});define("eDwTypes",["require","exports"],function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var HC=Communicator;exports.HC=HC;var HCI=Communicator.Internal;exports.HCI=HCI;exports.SectionPlaneOrientation={XY:{Plane:HC.Plane.createFromPointAndNormal(new HC.Point3(0,0,0),new HC.Point3(0,0,1)),Index:0},YZ:{Plane:HC.Plane.createFromPointAndNormal(new HC.Point3(0,0,0),new HC.Point3(1,0,0)),Index:1},ZX:{Plane:HC.Plane.createFromPointAndNormal(new HC.Point3(0,0,0),new HC.Point3(0,1,0)),Index:2}};exports.UnitToLabel={degree:"deg",radian:"rad",millimeter:"mm",centimeter:"cm",meter:"m",inch:"in",foot:"ft"};exports.DefaultLengthUnit="millimeter";exports.DefaultAngleUnit="degree";exports.EntityMode={FACE:1,EDGE:2,VERTEX:4,HOLE:8,ALL:4294967295}});define("eDwUI",["require","exports","eDwTypes","eDwKeyMgr","eDwUIBaseEventHandlers","eDwCommandMgr","eDwZoomToFitCmd","eDwDrawModeCmd","eDwAnimateCmd","eDwAmbientOcclusionCmd","eDwPerspectiveCmd","eDwSetViewCmd","eDwSetViewCameraCmd","eDwCompositeCmd","eDwSectionFlipCmd","eDwSetViewNormalToSectionCmd","eDwShowSectionCapCmd","eDwSectionShowCmd","eDwChangeSectionPlaneCmd","eDwUIShortcutMenu","eDwUIPluginMgr","eDwUIUtils","eDrawingsWebViewerUtils","eDwEventMgr","eDwEvents"],function(require,exports,eDwTypes_14,eDwKeyMgr_3,eDwUIBaseEventHandlers,eDwCommandMgr,eDwZoomToFitCmd,eDwDrawModeCmd,eDwAnimateCmd,eDwAmbientOcclusionCmd,eDwPerspectiveCmd,eDwSetViewCmd,eDwSetViewCameraCmd,eDwCompositeCmd,eDwSectionFlipCmd,eDwSetViewNormalToSectionCmd,eDwShowSectionCapCmd,eDwSectionShowCmd,eDwChangeSectionPlaneCmd,eDwUIShortcutMenu,eDwUIPluginMgr,eDwUIUtils,eDrawingsWVUtils,eDwEventMgr,eDwEvents){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var eDwUI=function(){function eDwUI(){this.mUIEventHandlers=new UIEventHandlers(this,eDwUIUtils.getViewerElementName(),l_CanvasID);this.mItemActiveCallbacks={};this.mItemDeactiveCallbacks={};solidworks.web.touch.support();this.awfulUIHacks()}eDwUI.prototype.initUIEvents=function(iViewerFeatOpts){this.mViewerFeatureOpts=iViewerFeatOpts;this.registerHTMLEvents()};eDwUI.prototype.init=function(iViewer){this.mViewer=iViewer;this.centerBottomBar();this.mViewer.XSectionMgr.SectionCapVisibility=true;$("#edrawings-section-capping-button").addClass("state-on-button");$("#edrawings-section-show-button").addClass("state-on-button");eDwUIUtils.hide(".edrawings-ui-main",false)};eDwUI.prototype.toggleFullScreen=function(){var viewElement=$("#edrawings-viewer")[0];var isFullScreen=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement;if(isFullScreen){if(document.fullscreenElement){document.exitFullscreen()}else if(document.webkitFullscreenElement){document.webkitExitFullscreen()}else if(document.mozFullScreenElement){document.mozCancelFullScreen()}else if(document.msFullscreenElement){document.msExitFullscreen()}}else{if(viewElement.requestFullscreen){viewElement.requestFullscreen()}else if(viewElement.webkitRequestFullscreen){viewElement.webkitRequestFullscreen()}else if(viewElement.mozRequestFullScreen){viewElement.mozRequestFullScreen()}else if(viewElement.msRequestFullscreen){viewElement.msRequestFullscreen()}}};eDwUI.prototype.unregister=function(){this.unregisterHTMLEvents();UIEventHandlers.doModelDataUnloadActions(this.mViewer)};eDwUI.prototype.setDrawMode=function(iValue){var drawModeCmd=new eDwDrawModeCmd(this.mViewer,iValue);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(drawModeCmd);cmdMgr.remove(drawModeCmd,"commit")};eDwUI.prototype.setInitialDrawMode=function(){this.setDrawMode(this.mViewer.ViewerFeatureOpts.RenderType)};eDwUI.prototype.setPerspectiveMode=function(iValue){var perspectiveCmd=new eDwPerspectiveCmd(this.mViewer,iValue);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(perspectiveCmd);cmdMgr.remove(perspectiveCmd,"commit")};eDwUI.prototype.hideAllOtherPanels=function(iPanelCSSClassName){if(iPanelCSSClassName!==".edrawings-hud-menu"){this.hideActiveHUDMenu()}if(iPanelCSSClassName!==".edrawings-submenu"){this.hideActiveSubmenu()}eDwUIShortcutMenu.get().hide()};eDwUI.prototype.onClick=function(iID,iActivate){var activateCallback=this.mItemActiveCallbacks[iID];var deactivateCallback=this.mItemDeactiveCallbacks[iID];if(iActivate){if(activateCallback)activateCallback()}else{if(deactivateCallback)deactivateCallback()}return activateCallback||deactivateCallback?true:false};eDwUI.prototype.registerHTMLEvents=function(){var _this=this;this.mUIEventHandlers.addHTMLEventHandlers(this.mViewerFeatureOpts);this.mModelDataLoadCompleteHandler=function(iEvent,iViewer){_this.mViewer=iViewer;eDwUIBaseEventHandlers.doModelDataLoadCompleteActions(_this.mUIEventHandlers,iViewer)};$(eDwUIUtils.getViewerElementID()).on("edw:ModelDataLoadComplete",this.mModelDataLoadCompleteHandler);var self=this;this.registerButtonForClickEffect("edrawings-section-flip-button",function(){var sectionFlipCmd=new eDwSectionFlipCmd(_this.mViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(sectionFlipCmd);cmdMgr.remove(sectionFlipCmd,"commit")});this.registerButtonForClickEffect("edrawings-section-normal-button",function(){var setViewNormalToSectionCmd=new eDwSetViewNormalToSectionCmd(_this.mViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(setViewNormalToSectionCmd);cmdMgr.remove(setViewNormalToSectionCmd,"commit")});$("#edrawings-section-xz-button").on("click.edw",function(iEvent){_this.setXSectionOrientation(eDwTypes_14.SectionPlaneOrientation.ZX);eDwUIUtils.scrollToTarget($(iEvent.currentTarget))});$("#edrawings-section-yz-button").on("click.edw",function(iEvent){_this.setXSectionOrientation(eDwTypes_14.SectionPlaneOrientation.YZ);eDwUIUtils.scrollToTarget($(iEvent.currentTarget))});$("#edrawings-section-xy-button").on("click.edw",function(iEvent){_this.setXSectionOrientation(eDwTypes_14.SectionPlaneOrientation.XY);eDwUIUtils.scrollToTarget($(iEvent.currentTarget))});$("#edrawings-section-capping-button").on("click.edw",function(iEvent){var buttonJQ=$(iEvent.currentTarget);var visibility=!buttonJQ.hasClass("state-on-button");var showCapsCmd=new eDwShowSectionCapCmd(_this.mViewer,visibility);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(showCapsCmd);cmdMgr.remove(showCapsCmd,"commit");buttonJQ.toggleClass("state-on-button");eDwUIUtils.scrollToTarget(buttonJQ)});$("#edrawings-section-show-button").on("click.edw",function(iEvent){var buttonJQ=$(iEvent.currentTarget);var showSection=!buttonJQ.hasClass("state-on-button");var showSectionCmd=new eDwSectionShowCmd(_this.mViewer,showSection);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(showSectionCmd);cmdMgr.remove(showSectionCmd,"commit");buttonJQ.toggleClass("state-on-button");eDwUIUtils.scrollToTarget(buttonJQ)});this.mItemActiveCallbacks["#edrawings-button-section"]=function(){eDwUIUtils.addPanelResizeEvents("#edrawings-section-menu",".edw.section","#edrawings-button-section");_this.mCompositeXSectionCmd=new eDwCompositeCmd(_this.mViewer);eDwCommandMgr.get().add(_this.mCompositeXSectionCmd);_this.mCompositeXSectionCmd.initCmdActionImplementation({compositeInit:function(ioCmd){_this.mViewer.XSectionMgr.turnOnSectionPlane(true);_this.setXSectionOrientation()},compositeUndo:function(ioCmd){return true},compositeRedo:function(ioCmd){return true},compositeCommit:function(ioCmd){compositeSectionDone(ioCmd)},compositeCancel:function(ioCmd){compositeSectionDone(ioCmd)}});var self=_this;function compositeSectionDone(ioCmd){ioCmd.clearSubCmds();self.mViewer.XSectionMgr.deactivateCurrent();self.mViewer.XSectionMgr.turnOnSectionPlane(false)}if(!_this.mViewer.getModel().isDrawing()){_this.setActiveSubmenu("#edrawings-button-section","#edrawings-section-menu")}};this.mItemDeactiveCallbacks["#edrawings-button-section"]=function(){eDwUIUtils.deactivateMoveInput(".edw.section");var cmdMgr=eDwCommandMgr.get();cmdMgr.remove(_this.mCompositeXSectionCmd,"cancel")};eDwEventMgr.get().addEventHandlerFunc(eDwEvents.DeactivateUIOpEvent,function(iActiveButtonsJQ){if(iActiveButtonsJQ[0].id==="edrawings-button-section"){_this.mItemDeactiveCallbacks["#edrawings-button-section"]()}});function activateDebugPanel(iActivate,iHandlers){togglePanel(iActivate,"#edrawings-button-debug","#edrawings-debug-menu",".edw.debug",iHandlers)}this.mItemActiveCallbacks["#edrawings-button-debug"]=function(){activateDebugPanel(true,_this.mUIEventHandlers)};this.mItemDeactiveCallbacks["#edrawings-button-debug"]=function(){activateDebugPanel(false,_this.mUIEventHandlers)};eDwEventMgr.get().addEventHandlerFunc(eDwEvents.DeactivateUIOpEvent,function(iActiveButtonsJQ){if(iActiveButtonsJQ[0].id==="edrawings-button-debug"){_this.mItemDeactiveCallbacks["#edrawings-button-debug"]()}});this.mItemActiveCallbacks["#edrawings-button-reset"]=function(){eDwUIUtils.resetToHomeView(_this.mViewer);window.setTimeout(function(){eDwUIUtils.deactivateUI()},1e3)};$(document).on(l_fullScreenChange,function(iEvent){_this.mUIEventHandlers.onToggleFullScreenUI(iEvent,_this.mViewer)});$("#edrawings-button-fs").on("click.edw",function(){_this.toggleFullScreen()});function clickDrawMode(iUI,iMode){iUI.setDrawMode(iMode);iUI.hideActiveHUDMenu()}$("#edrawings-button-shaded-hlrr").on("click.edw",function(){clickDrawMode(_this,"HiddenLinesRemoved")});$("#edrawings-button-shaded-hlrv").on("click.edw",function(){clickDrawMode(_this,"HiddenLinesVisible")});$("#edrawings-button-shaded-wireframe").on("click.edw",function(){clickDrawMode(_this,"Wireframe")});$("#edrawings-button-shaded-full").on("click.edw",function(){clickDrawMode(_this,"ShadedWithEdges")});$("#edrawings-button-shaded-noedges").on("click.edw",function(){clickDrawMode(_this,"Shaded")});this.mItemActiveCallbacks["#edrawings-button-animate"]=function(){var animateCmd=new eDwAnimateCmd(_this.mViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(animateCmd);cmdMgr.remove(animateCmd,"commit")};this.mItemDeactiveCallbacks["#edrawings-button-animate"]=function(){_this.mItemActiveCallbacks["#edrawings-button-animate"]()};$("#edrawings-button-frame-file-open").on("click.edw",function(){_this.hideActiveHUDMenu()});this.mItemActiveCallbacks["#edrawings-button-view"]=function(){_this.setActiveHUDMenu("#edrawings-button-view","#edrawings-hud-view-menu")};this.mItemActiveCallbacks["#edrawings-button-help"]=function(){var version=eDrawingsWVUtils.getViewerVersion();if(_this.mViewerFeatureOpts.Debug){version+=" HC Version:"+_this.mViewer.HCViewer.getViewerVersionString()}$("#edrawings-version").text("Version #: "+version);_this.setActiveHUDMenu("#edrawings-button-help","#edrawings-hud-help-menu")};$("#edrawings-hud-help-close").on("click.edw",function(){_this.hideActiveHUDMenu()});this.mItemActiveCallbacks["#edrawings-button-zoomtofit"]=function(){var viewHC=_this.mViewer.getHCView();var curModelView=_this.mViewer.getModel().getActiveModelView();var nodeID=curModelView.Hierarchy.HOOPSID;var zoomToFitCmd=new eDwZoomToFitCmd(_this.mViewer,nodeID,viewHC.getCamera());var cmdMgr=eDwCommandMgr.get();cmdMgr.add(zoomToFitCmd);cmdMgr.remove(zoomToFitCmd,"commit")};this.mItemActiveCallbacks["#edrawings-button-shaded"]=function(){_this.setActiveHUDMenu("#edrawings-button-shaded","#edrawings-hud-shaded-menu")};function togglePanel(iActivate,iButtonID,iPanelID,iInputEventIDSuffix,iHandlers){if(iActivate){self.setActiveSubmenu(iButtonID,iPanelID);eDwUIUtils.addPanelResizeEvents(iPanelID,iInputEventIDSuffix,iButtonID)}else{eDwUIUtils.deactivateMoveInput(iInputEventIDSuffix)}}function activateSheetPanel(iActivate,iHandlers){togglePanel(iActivate,"#edrawings-button-sheet-tree","#edrawings-sheet-tree-menu",".edw.sheet",iHandlers)}this.mItemActiveCallbacks["#edrawings-button-sheet-tree"]=function(){activateSheetPanel(true,_this.mUIEventHandlers)};this.mItemDeactiveCallbacks["#edrawings-button-sheet-tree"]=function(){activateSheetPanel(false,_this.mUIEventHandlers)};eDwEventMgr.get().addEventHandlerFunc(eDwEvents.DeactivateUIOpEvent,function(iActiveButtonsJQ){if(iActiveButtonsJQ[0].id==="edrawings-button-sheet-tree"){_this.mItemDeactiveCallbacks["#edrawings-button-sheet-tree"]()}});function activateLayerPanel(iActivate,iHandlers){togglePanel(iActivate,"#edrawings-button-layer-control","#edrawings-layer-control-menu",".edw.layer",iHandlers)}this.mItemActiveCallbacks["#edrawings-button-layer-control"]=function(){activateLayerPanel(true,_this.mUIEventHandlers)};this.mItemDeactiveCallbacks["#edrawings-button-layer-control"]=function(){activateLayerPanel(false,_this.mUIEventHandlers)};eDwEventMgr.get().addEventHandlerFunc(eDwEvents.DeactivateUIOpEvent,function(iActiveButtonsJQ){if(iActiveButtonsJQ[0].id==="edrawings-button-layer-control"){_this.mItemDeactiveCallbacks["#edrawings-button-layer-control"]()}});eDwKeyMgr_3.eDwKeyMgr.get().add({key:"F11"},"keydown",function(iEvent){iEvent.preventDefault();_this.toggleFullScreen();iEvent.stopPropagation()});this.mItemActiveCallbacks["#edrawings-button-view-settings"]=function(){_this.setActiveHUDMenu("#edrawings-button-view-settings","#edrawings-hud-view-settings-menu")};var ambientOcc=$("#edrawings-button-view-ambient-occlusion");ambientOcc.on("click.edw",function(){var buttonActive=ambientOcc.hasClass("state-on-button");_this.hideActiveHUDMenu();if(buttonActive)ambientOcc.removeClass("state-on-button");else ambientOcc.addClass("state-on-button");var ambientOcclCmd=new eDwAmbientOcclusionCmd(_this.mViewer,!buttonActive);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(ambientOcclCmd);cmdMgr.remove(ambientOcclCmd,"commit")});$("#edrawings-button-view-perspective").on("click.edw",function(){_this.hideActiveHUDMenu();var perspectiveMode=!_this.mViewer.getPerspectiveMode();_this.setPerspectiveMode(perspectiveMode)});this.registerButtonForClickEffect("edrawings-button-view-top",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Top)});this.registerButtonForClickEffect("edrawings-button-view-bottom",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Bottom)});this.registerButtonForClickEffect("edrawings-button-view-left",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Left)});this.registerButtonForClickEffect("edrawings-button-view-right",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Right)});this.registerButtonForClickEffect("edrawings-button-view-front",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Front)});this.registerButtonForClickEffect("edrawings-button-view-back",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Back)});this.registerButtonForClickEffect("edrawings-button-view-iso",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Iso)})};eDwUI.prototype.unregisterHTMLEvents=function(){this.mUIEventHandlers.removeHTMLEventHandlers();$(eDwUIUtils.getViewerElementID()).off("edw:ModelDataLoadComplete",this.mModelDataLoadCompleteHandler);$("#edrawings-section-xz-button").off("click.edw");$("#edrawings-section-yz-button").off("click.edw");$("#edrawings-section-xy-button").off("click.edw");$("#edrawings-section-capping-button").off("click.edw");$("#edrawings-section-show-button").off("click.edw");$("#edrawings-button-fs").off("click.edw");$("#edrawings-button-shaded-hlrr").off("click.edw");$("#edrawings-button-shaded-hlrv").off("click.edw");$("#edrawings-button-shaded-wireframe").off("click.edw");$("#edrawings-button-shaded-full").off("click.edw");$("#edrawings-button-shaded-noedges").off("click.edw");$("#edrawings-button-sheets").off("click.edw");$("#edrawings-button-frame-file-open").off("click.edw");$("#edrawings-button-view-ambient-occlusion").off("click.edw");$("#edrawings-button-view-perspective").off("click.edw");$("#edrawings-hud-help-close").off("click.edw");$(document).off(l_fullScreenChange);$(document).off("click.edw");$(document).off("mousedown.edw");$(document).off("dblclick.edw");this.unregisterButtonForClickEffect("edrawings-section-flip-button");this.unregisterButtonForClickEffect("edrawings-section-normal-button");this.unregisterButtonForClickEffect("edrawings-face-normal-button");this.unregisterButtonForClickEffect("edrawings-button-view-top");this.unregisterButtonForClickEffect("edrawings-button-view-bottom");this.unregisterButtonForClickEffect("edrawings-button-view-left");this.unregisterButtonForClickEffect("edrawings-button-view-right");this.unregisterButtonForClickEffect("edrawings-button-view-front");this.unregisterButtonForClickEffect("edrawings-button-view-back");this.unregisterButtonForClickEffect("edrawings-button-view-iso")};eDwUI.prototype.setActiveSubmenu=function(iButtonID,iPanelID){eDwUIUtils.activateUI(iButtonID,iPanelID)};eDwUI.prototype.hideActiveSubmenu=function(){eDwUIUtils.deactivateUI(".edrawings-tool-button",".edrawings-submenu")};eDwUI.prototype.centerBottomBar=function(iWidth,iHeight){var edwbar=$(".tool-bar");var b=52;edwbar.css({height:"auto"});var bar=$(".tool-bar");var viewerElem=$(eDwUIUtils.getViewerElementID());var leftbuttons=$(".edrawings-icon-set.left");var rightbuttons=$(".edrawings-icon-set.right");var centerbuttons=$(".edrawings-icon-set.center");var x=(iWidth?iWidth:viewerElem.width())-1;if(navigator.userAgent.indexOf("Trident")>=0){x=viewerElem[0].clientWidth-1}bar.css({position:"absolute"});leftbuttons.css({left:1+"px",position:"absolute"});rightbuttons.css({right:1+"px",position:"absolute"});centerbuttons.css({left:x/2-b/2+"px",position:"absolute"})};eDwUI.prototype.setActiveHUDMenu=function(iButtonID,iPanelID){this.hideActiveHUDMenu();eDwUIUtils.activateUI(iButtonID,iPanelID);if(iButtonID!=="#edrawings-button-help"){var buttonJQ=$(iButtonID);var buttonOffset=buttonJQ.offset();var posx=buttonOffset.left;var posy=buttonOffset.top+parseInt(buttonJQ.css("marginTop"))+parseInt(buttonJQ.css("borderTopWidth"))+buttonJQ.height();var canvasWidth=$("#edrawings-canvas").width();var panelJQ=$(iPanelID);var panelWidth=panelJQ[0].offsetWidth;if(posx+panelWidth>canvasWidth){posx=canvasWidth-panelWidth-10}panelJQ.css({top:posy+"px",left:posx+"px"})}};eDwUI.prototype.hideActiveHUDMenu=function(){eDwUIUtils.deactivateUI(".edrawings-hud-button",".edrawings-hud-menu")};eDwUI.prototype.registerButtonForClickEffect=function(iButtonID,iHandler){var butJQ=$("#"+iButtonID);butJQ.on("mousedown.edw",function(){butJQ.addClass("edrawings-on-state");eDwUIUtils.scrollToTarget(butJQ)});butJQ.on("mouseup.edw",function(){butJQ.removeClass("edrawings-on-state");iHandler()})};eDwUI.prototype.unregisterButtonForClickEffect=function(iButtonID){var butJQ=$("#"+iButtonID);butJQ.off("mousedown.edw");butJQ.off("mouseup.edw")};eDwUI.prototype.setViewOrientation=function(iOrientation){var setViewCmd=new eDwSetViewCmd(this.mViewer,iOrientation);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(setViewCmd);cmdMgr.remove(setViewCmd,"commit");this.hideActiveHUDMenu()};eDwUI.prototype.setXSectionOrientation=function(iNewSection){function setActive(iButtonID,iIsActive){$(iButtonID)[iIsActive?"addClass":"removeClass"]("state-on-button")}var sectionMgr=this.mViewer.XSectionMgr;var sectionIndex=iNewSection?iNewSection.Index:sectionMgr.SectionIndex;var planeFromEnum=null;switch(sectionIndex){case eDwTypes_14.SectionPlaneOrientation.YZ.Index:setActive("#edrawings-section-xy-button",false);setActive("#edrawings-section-yz-button",true);setActive("#edrawings-section-xz-button",false);planeFromEnum=eDwTypes_14.SectionPlaneOrientation.YZ;break;case eDwTypes_14.SectionPlaneOrientation.ZX.Index:setActive("#edrawings-section-xy-button",false);setActive("#edrawings-section-yz-button",false);setActive("#edrawings-section-xz-button",true);planeFromEnum=eDwTypes_14.SectionPlaneOrientation.ZX;break;case eDwTypes_14.SectionPlaneOrientation.XY.Index:eDwUIUtils.hide("#edrawings-section-xy-button",false);eDwUIUtils.hide("#edrawings-section-yz-button",false);eDwUIUtils.hide("#edrawings-section-xz-button",false);setActive("#edrawings-section-xy-button",true);setActive("#edrawings-section-yz-button",false);setActive("#edrawings-section-xz-button",false);planeFromEnum=eDwTypes_14.SectionPlaneOrientation.XY;break;default:console.debugLog("UI","Unsupported section plane orientation");break}var origPlaneEnum=null;if(sectionIndex!==sectionMgr.SectionIndex){switch(sectionMgr.SectionIndex){case eDwTypes_14.SectionPlaneOrientation.YZ.Index:origPlaneEnum=eDwTypes_14.SectionPlaneOrientation.YZ;break;case eDwTypes_14.SectionPlaneOrientation.ZX.Index:origPlaneEnum=eDwTypes_14.SectionPlaneOrientation.ZX;break;case eDwTypes_14.SectionPlaneOrientation.XY.Index:origPlaneEnum=eDwTypes_14.SectionPlaneOrientation.XY;break;default:console.debugLog("UI","Unsupported initial section plane orientation");break}if(planeFromEnum){var changeSectionPlaneCmd=new eDwChangeSectionPlaneCmd(this.mViewer,origPlaneEnum,planeFromEnum);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(changeSectionPlaneCmd);cmdMgr.remove(changeSectionPlaneCmd,"commit")}}};eDwUI.prototype.awfulUIHacks=function(){var _this=this;l_init=function(){$("#edrawings-face-normal-button").css("pointer-events","auto");_this.registerButtonForClickEffect("edrawings-face-normal-button",function(){var setViewCameraCmd=new eDwSetViewCameraCmd(_this.mViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(setViewCameraCmd);cmdMgr.remove(setViewCameraCmd,"commit");_this.hideActiveHUDMenu()})};l_uninit=function(){$("#edrawings-face-normal-button").css("pointer-events","none");_this.unregisterButtonForClickEffect("edrawings-face-normal-button")}};return eDwUI}();exports.eDwUI=eDwUI;var UIEventHandlers=function(_super){__extends(UIEventHandlers,_super);function UIEventHandlers(iUI,iViewerHTMLID,iViewerHTMLCanvasID){var _this=_super.call(this,iViewerHTMLID,iViewerHTMLCanvasID)||this;_this.mUI=iUI;return _this}UIEventHandlers.prototype.addHTMLEventHandlers=function(iViewerFeatOpts){var _this=this;_super.prototype.addHTMLEventHandlers.call(this,iViewerFeatOpts);$("#edrawings-viewer").on("click.edw",".edrawings-tool-button",function(iEvent){_this.onClick(iEvent,".edrawings-tool-button")});$("#edrawings-viewer").on("click.edw",".edrawings-hud-button",function(iEvent){_this.onClick(iEvent,".edrawings-hud-button",".edrawings-submenu")});this.mUIHTMLEventMgr.addEventHandler("window","beforeunload",function(iEvent){_this.mUI.unregister()});this.mUIHTMLEventMgr.addEventHandler("window","Timeout",function(iEvent){_this.mUI.unregister()});$(".edrawings-menu-close").on("click.edw",function(iEvent){_this.deactivateActiveButton(".edrawings-tool-button")});var viewerJQ=$(eDwUIUtils.getViewerElementID());viewerJQ.on("edw:ChangeViewerStyling",function(iEvent,iStyleClassName){viewerJQ.removeClass("edrawings-viewer-regular");viewerJQ.removeClass("edrawings-viewer-timeout");if(iStyleClassName)viewerJQ.addClass(iStyleClassName)});viewerJQ.on("edw:HidePanels",function(iEvent,iSkipPanelsWithClass){_this.mUI.hideAllOtherPanels(iSkipPanelsWithClass)});viewerJQ.on("edw:ReInitViewer",function(iEvent,iViewerFeatOpts){_this.mUI.unregister();_this.mUI.initUIEvents(iViewerFeatOpts)})};UIEventHandlers.prototype.removeHTMLEventHandlers=function(){_super.prototype.removeHTMLEventHandlers.call(this);$(".edrawings-menu-close").off("click.edw");$("#edrawings-viewer").off("click.edw",".edrawings-tool-button");$("#edrawings-viewer").off("click.edw",".edrawings-hud-button");var viewerJQ=$(eDwUIUtils.getViewerElementID());viewerJQ.off("edw:ChangeViewerStyling");viewerJQ.off("edw:HidePanels");viewerJQ.off("edw:ReInitViewer")};UIEventHandlers.doModelDataUnloadActions=function(iViewer){eDwUIBaseEventHandlers.doModelDataUnloadActions(iViewer)};UIEventHandlers.prototype.onToggleFullScreenUI=function(iEvent,iViewer){var fullScreenState=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement;if(fullScreenState){$("#edrawings-button-fs").addClass("edrawings-button-fs-restore")}else{$("#edrawings-button-fs").removeClass("edrawings-button-fs-restore");$("#edrawings-canvas-canvas-container").css({"background-color":""})}};UIEventHandlers.prototype.onInit=function(iViewer){var viewerFeatureOpts=iViewer.ViewerFeatureOpts;var model=iViewer.getModel();var isDrawing=model.isDrawing();eDwUIUtils.hide("#edrawings-button-reset",false);eDwUIUtils.hide("#edrawings-button-shaded",isDrawing);eDwUIUtils.hide("#edrawings-button-view-settings",isDrawing);eDwUIUtils.hide("#edrawings-button-animate",isDrawing);eDwUIUtils.hide("#edrawings-button-section",isDrawing);eDwUIUtils.hide("#edrawings-button-view",isDrawing);eDwUIUtils.hide("#edrawings-button-debug",!viewerFeatureOpts.Debug);eDwUIUtils.hide("#edrawings-button-tables-control",isDrawing||iViewer.TableMgr.numTables()===0);eDwUIUtils.hide("#edrawings-button-sheet-tree",!isDrawing);eDwUIUtils.hide("#edrawings-button-layer-control",!isDrawing);eDwUIUtils.hide(".edrawings-icon-set.center",isDrawing);this.removeHTMLEventHandlers()};UIEventHandlers.prototype.onInitFullUI=function(iViewer){_super.prototype.onInitFullUI.call(this,iViewer);this.addHTMLEventHandlers(iViewer.ViewerFeatureOpts);this.mUI.init(iViewer);eDwUIUtils.hide("#WaitBanner",true)};UIEventHandlers.prototype.onSelect=function(iViewer,iSelObjs){_super.prototype.onSelect.call(this,iViewer,iSelObjs);if(l_init)l_init()};UIEventHandlers.prototype.onUnselect=function(iViewer,iSelObjs){_super.prototype.onUnselect.call(this,iViewer,iSelObjs);if(l_uninit)l_uninit()};UIEventHandlers.prototype.onTimeout=function(iViewer){eDwUIUtils.hide("#TimeoutBanner",false);$(eDwUIUtils.getViewerElementID()).trigger("edw:ChangeViewerStyling","edrawings-viewer-timeout")};UIEventHandlers.prototype.onStartAnimation=function(iViewer){var eDwViewer=iViewer;$("#edrawings-canvas").on("click.edw",function(){eDwViewer.ViewMgr.stop()});var animateBtnJQ=$("#edrawings-button-animate");animateBtnJQ.removeClass("edrawings-animate-play-icon");animateBtnJQ.addClass("edrawings-animate-pause-icon")};UIEventHandlers.prototype.onStopAnimation=function(iViewer){var animateBtnJQ=$("#edrawings-button-animate");animateBtnJQ.addClass("edrawings-animate-play-icon");animateBtnJQ.removeClass("edrawings-animate-pause-icon")};UIEventHandlers.prototype.onAmbientOcclusionChange=function(iViewer,iAmbientOcclusionOn){var ambientOccButton=$("#edrawings-button-view-ambient-occlusion");if(iAmbientOcclusionOn){if(!ambientOccButton.hasClass("state-on-button")){ambientOccButton.addClass("state-on-button")}}else{if(ambientOccButton.hasClass("state-on-button")){ambientOccButton.removeClass("state-on-button")}}};UIEventHandlers.prototype.onProjectionModeChange=function(iViewer,iPerspectiveOn){var perspectiveButton=$("#edrawings-button-view-perspective");if(iPerspectiveOn){if(!perspectiveButton.hasClass("state-on-button")){perspectiveButton.addClass("state-on-button")}}else{if(perspectiveButton.hasClass("state-on-button")){perspectiveButton.removeClass("state-on-button")}}};UIEventHandlers.prototype.onDrawModeChange=function(iViewer,iDrawMode){function setActive(iButtonID,iIsActive){if(iIsActive&&!$(iButtonID).hasClass("state-on-button")){$(iButtonID).addClass("state-on-button")}else if(!iIsActive&&$(iButtonID).hasClass("state-on-button")){$(iButtonID).removeClass("state-on-button")}}function setActiveInGroup(iButtonID){setActive("#edrawings-button-shaded-full",false);setActive("#edrawings-button-shaded-noedges",false);setActive("#edrawings-button-shaded-wireframe",false);setActive("#edrawings-button-shaded-hlrr",false);setActive("#edrawings-button-shaded-hlrv",false);setActive(iButtonID,true)}switch(iDrawMode){case"ShadedWithEdges":setActiveInGroup("#edrawings-button-shaded-full");break;case"Shaded":setActiveInGroup("#edrawings-button-shaded-noedges");break;case"HiddenLinesRemoved":setActiveInGroup("#edrawings-button-shaded-hlrr");break;case"HiddenLinesVisible":setActiveInGroup("#edrawings-button-shaded-hlrv");break;case"Wireframe":setActiveInGroup("#edrawings-button-shaded-wireframe");break;default:throw new Error("Unknown draw mode in UI:"+iDrawMode)}};UIEventHandlers.prototype.onClick=function(iEvent,iButtonCSSClassName,iPanelCSSClassName){if(iPanelCSSClassName===void 0){iPanelCSSClassName=""}var targetJQ=$(iEvent.target);var buttonClickedID=targetJQ.closest(iButtonCSSClassName).attr("id");var deactivatedButtonID=this.deactivateActiveButton(iButtonCSSClassName,iPanelCSSClassName);if(deactivatedButtonID===buttonClickedID)return;this.handleClick("#"+buttonClickedID,true)};UIEventHandlers.prototype.deactivateActiveButton=function(iButtonCSSClassName,iPanelCSSClassName){if(iPanelCSSClassName===void 0){iPanelCSSClassName=""}var activeButtonID="";var activeButtonJQ=$(iButtonCSSClassName+".active-button");this.mUI.hideAllOtherPanels(iPanelCSSClassName);if(activeButtonJQ.length){activeButtonID=activeButtonJQ[0].id;this.handleClick("#"+activeButtonID,false)}return activeButtonID};UIEventHandlers.prototype.handleClick=function(iButtonID,iActivate){eDwUIUtils.scrollToTarget($(iButtonID));if(!this.mUI.onClick(iButtonID,iActivate)){var pluginMgr=eDwUIPluginMgr.get();pluginMgr.onClick(iButtonID,iActivate)}};return UIEventHandlers}(eDwUIBaseEventHandlers);var l_fullScreenChange="fullscreenchange.edw MSFullscreenChange.edw "+"mozfullscreenchange.edw webkitfullscreenchange.edw";var l_CanvasID="edrawings-canvas";var l_init;var l_uninit});define("eDwUIBaseEventHandlers",["require","exports","eDwUIShortcutMenu","eDwEventMgr","eDwUIHTMLEventMgr","eDwCommandMgr","eDwChangeModelViewCmd","eDwCompositeCmd","eDwSetNodeVisibilityCmd","eDwUIPluginMgr","eDwEvents","eDwUIUtils"],function(require,exports,eDwUIShortcutMenu,eDwEventMgr,eDwUIHTMLEventMgr,eDwCommandMgr,eDwChangeModelViewCmd,eDwCompositeCmd,eDwSetNodeVisibilityCmd,eDwUIPluginMgr,eDwEvents,eDwUIUtils){"use strict";var eDwUIBaseEventHandlers=function(){function eDwUIBaseEventHandlers(iViewerHTMLID,iViewerHTMLCanvasID){this.mViewerHTMLID=iViewerHTMLID;this.mViewerHTMLCanvasID=iViewerHTMLCanvasID;this.mUIHTMLEventMgr=new eDwUIHTMLEventMgr}eDwUIBaseEventHandlers.prototype.addHTMLEventHandlers=function(iViewerFeatOpts){var _this=this;this.mViewerFeatureOpts=iViewerFeatOpts;var eventMgrHTML=this.mUIHTMLEventMgr;eventMgrHTML.addEventHandler("window","resize",function(iEvent){_this.onResize(iEvent,_this.mViewer)});eDwEventMgr.get().addEventHandlerFunc(eDwEvents.ResetSceneEvent,l_onResize);eDwUIUtils.addSubTreeArrowEventHandler(eventMgrHTML,"#edrawings-sheet-tree-menu");eventMgrHTML.addDelegatedEventHandler("#edrawings-sheet-tree-menu .edrawings-submenu-list-item","dblclick",function(iEvent){var targetJQ=$(iEvent.target);eDwUIUtils.scrollToTarget(targetJQ);if(targetJQ.hasClass("edrawings-root")){return}var selObjHCID=eDwUIUtils.getHCID(targetJQ);if(isNaN(selObjHCID)||selObjHCID<0){return}var cmdMgr=eDwCommandMgr.get();var zoomToViewCmd=new eDwCompositeCmd(_this.mViewer);zoomToViewCmd.initCmdActionImplementation();cmdMgr.add(zoomToViewCmd);var targetModelView=null;var model=_this.mViewer.getModel();var modelHC=model.getHCModel();var modelViews=model.getModelViews();for(var _i=0,modelViews_2=modelViews;_i-1){console.excludeDebugLogCategories.slice(pos,1)}}});var selectorName="#edrawings-debug-menu .edrawings-submenu-list-item";eventMgrHTML.addDelegatedEventHandler(selectorName,"click",function(iEvent){var targetJQ=$(iEvent.target);eDwUIUtils.scrollToTarget(targetJQ);var id=eDwUIUtils.getHCID(targetJQ);if(isNaN(id))return;$(selectorName).removeClass("edrawings-list-selected");$(targetJQ).addClass("edrawings-list-selected");_this.mViewer.SelectionMgr.selectByID(id)});eventMgrHTML.addDelegatedEventHandler("#edrawings-debug-menu .edrawings-submenu-list-item","dblclick",function(iEvent){var targetJQ=$(iEvent.target);eDwUIUtils.scrollToTarget(targetJQ);var id=eDwUIUtils.getHCID(targetJQ);if(isNaN(id))return;_this.onLeftDoubleClick(_this.mViewer)});eventMgrHTML.addEventHandler("#edrawings-debug-menu .edrawings-menu-search-cancel","click",function(iEvent){$("#edrawings-debug-menu "+".edrawings-menu-search-input").val("");eDwUIUtils.searchPanelList(_this.mViewer,$(iEvent.target))});eventMgrHTML.addEventHandler("#edrawings-debug-menu .edrawings-menu-search-input","keyup",function(iEvent){eDwUIUtils.searchPanelList(_this.mViewer,$(iEvent.target))});eventMgrHTML.addDelegatedEventHandler("#edrawings-layer-control-menu .item-layer-checkbox","click",function(iEvent){var targetJQ=eDwUIUtils.getTarget($(iEvent.target));var layerName=eDwUIUtils.getSpanText(targetJQ.next("span.item-tree-text"));var isVisible=targetJQ.prop("checked");_this.setOneLayerVisibility(layerName,isVisible)});eventMgrHTML.addDelegatedEventHandler("#edrawings-layer-control-menu .layer-all","click",function(iEvent){var isVisible=$(iEvent.target).prop("checked");_this.setAllLayerVisibility(isVisible)});eventMgrHTML.addEventHandler("#edrawings-filename-block","mouseover",function(iEvent){var filenameJQ=$(iEvent.target);if(filenameJQ.length===1&&filenameJQ[0].scrollWidth>filenameJQ.width()){var mouseEvent=iEvent;l_positionTicker(mouseEvent,filenameJQ,$("#edrawings-filename-text").text())}});eventMgrHTML.addEventHandler("#edrawings-filename-block","mouseout",function(iEvent){l_hideTicker()});eventMgrHTML.addDelegatedEventHandler("document .edrawings-submenu-list-item","mouseover",function(iEvent){var itemTreeTextJQ=$(iEvent.target).find(".item-tree-text");var edrawingsSubmenuListJQ=$(iEvent.target).closest(".edrawings-submenu-list");if(edrawingsSubmenuListJQ.length===1&&itemTreeTextJQ.length===1&&itemTreeTextJQ[0].scrollWidth>itemTreeTextJQ.width()){var mouseEvent=iEvent;l_positionTicker(mouseEvent,itemTreeTextJQ,itemTreeTextJQ.text())}});eventMgrHTML.addDelegatedEventHandler("document .edrawings-submenu-list-item","mouseout",function(iEvent){l_hideTicker()});eventMgrHTML.addEventHandler("#edrawings-hud-bar .edrawings-arrow-wrapper:has(> .edrawings-arrow-left)","click",function(iEvent){var contentJQ=$("#edrawings-hud-bar .edrawings-hud-bar-content");if(contentJQ&&contentJQ.length>0){eDwUIUtils.deactivateUI(".edrawings-hud-button",".edrawings-hud-menu");eDwUIUtils.executeScrolling(-c_hudBarIconWidth,0,contentJQ)}});eventMgrHTML.addEventHandler("#edrawings-hud-bar .edrawings-arrow-wrapper:has(> .edrawings-arrow-right)","click",function(iEvent){var contentJQ=$("#edrawings-hud-bar .edrawings-hud-bar-content");if(contentJQ&&contentJQ.length>0){eDwUIUtils.deactivateUI(".edrawings-hud-button",".edrawings-hud-menu");eDwUIUtils.executeScrolling(c_hudBarIconWidth,0,contentJQ)}});eDwUIUtils.enableScrollOnTouch(eventMgrHTML,"#edrawings-hud-bar .edrawings-hud-bar-content","#edrawings-hud-bar",function(){eDwUIUtils.deactivateUI(".edrawings-hud-button",".edrawings-hud-menu")});eventMgrHTML.addEventHandler("#edrawings-left-bar .edrawings-arrow-wrapper:has(> .edrawings-arrow-up)","click",function(iEvent){var barJQ=$("#edrawings-left-bar");var contentJQ=barJQ.find(".edrawings-tool-bar-content");if(contentJQ&&contentJQ.length>0){eDwUIUtils.deactivateUI(".edrawings-tool-button",".edrawings-submenu");eDwUIUtils.executeScrolling(0,-c_toolBarIconWidth,contentJQ,barJQ)}});eventMgrHTML.addEventHandler("#edrawings-left-bar .edrawings-arrow-wrapper:has(> .edrawings-arrow-down)","click",function(iEvent){var barJQ=$("#edrawings-left-bar");var contentJQ=barJQ.find(".edrawings-tool-bar-content");if(contentJQ&&contentJQ.length>0){eDwUIUtils.deactivateUI(".edrawings-tool-button",".edrawings-submenu");eDwUIUtils.executeScrolling(0,c_toolBarIconWidth,contentJQ,barJQ)}});eDwUIUtils.enableScrollOnTouch(eventMgrHTML,"#edrawings-left-bar .edrawings-tool-bar-content","#edrawings-left-bar",function(){eDwUIUtils.deactivateUI(".edrawings-tool-button",".edrawings-submenu")})};eDwUIBaseEventHandlers.prototype.addDefaultHTMLPanelCloseEventHandlers=function(){if(this.mViewerFeatureOpts.Debug){eDwUIUtils.addCloseEventHandler("#edrawings-debug-menu",this.mUIHTMLEventMgr)}eDwUIUtils.addCloseEventHandler("#edrawings-sheet-tree-menu",this.mUIHTMLEventMgr);eDwUIUtils.addCloseEventHandler("#edrawings-layer-control-menu",this.mUIHTMLEventMgr)};eDwUIBaseEventHandlers.doModelDataLoadCompleteActions=function(ioEventHandlerObj,iViewer){ioEventHandlerObj.mViewer=iViewer;l_loadUIPlugins(iViewer);var handlerObj=ioEventHandlerObj;var eventMgr=eDwEventMgr.get();eventMgr.addEventHandlerObj(eDwEvents.InitEvent,handlerObj,"onInit");eventMgr.addEventHandlerObj(eDwEvents.InitFullUIEvent,handlerObj,"onInitFullUI");eventMgr.addEventHandlerObj(eDwEvents.SelectEvent,handlerObj,"onSelect");eventMgr.addEventHandlerObj(eDwEvents.UnselectEvent,handlerObj,"onUnselect");eventMgr.addEventHandlerObj(eDwEvents.StartAnimationEvent,handlerObj,"onStartAnimation");eventMgr.addEventHandlerObj(eDwEvents.StopAnimationEvent,handlerObj,"onStopAnimation");eventMgr.addEventHandlerObj(eDwEvents.LeftDoubleClickEvent,handlerObj,"onLeftDoubleClick");eventMgr.addEventHandlerObj(eDwEvents.TimeoutEvent,handlerObj,"onTimeout");eventMgr.addEventHandlerObj(eDwEvents.DrawModeChangeEvent,handlerObj,"onDrawModeChange");eventMgr.addEventHandlerObj(eDwEvents.ProjModeChangeEvent,handlerObj,"onProjectionModeChange");eventMgr.addEventHandlerObj(eDwEvents.NodeAttribChangeEvent,handlerObj,"onNodeAttribChanged");eventMgr.addEventHandlerObj(eDwEvents.ResetSceneEvent,handlerObj,"onResetScene");eventMgr.addEventHandlerObj(eDwEvents.AmbientOcclChangeEvent,handlerObj,"onAmbientOcclusionChange");eventMgr.addEventHandlerObj(eDwEvents.DoneEvent,handlerObj,"onDone");eventMgr.addEventHandlerObj(eDwEvents.ModelViewChangeEvent,handlerObj,"onModelViewChange")};eDwUIBaseEventHandlers.prototype.removeHTMLEventHandlers=function(){eDwUIUtils.disableScrollOnTouch(this.mUIHTMLEventMgr,"#edrawings-hud-bar .edrawings-hud-bar-content");eDwUIUtils.disableScrollOnTouch(this.mUIHTMLEventMgr,"#edrawings-left-bar .edrawings-tool-bar-content");this.mUIHTMLEventMgr.removeAllEventHandlers();eDwUIShortcutMenu.get().destroy()};eDwUIBaseEventHandlers.doModelDataUnloadActions=function(iViewer){l_unloadUIPlugins();if(iViewer)iViewer.unregister();eDwEventMgr.get().removeAllEventHandlers()};eDwUIBaseEventHandlers.prototype.onInit=function(iViewer){this.mViewer=iViewer};eDwUIBaseEventHandlers.prototype.onInitFullUI=function(iViewer){};eDwUIBaseEventHandlers.prototype.onDone=function(iViewer){iViewer.destroy()};eDwUIBaseEventHandlers.prototype.onSelect=function(iViewer,iSelObjs){this.handleSelectionChange(iViewer,iSelObjs,true)};eDwUIBaseEventHandlers.prototype.onUnselect=function(iViewer,iSelObjs){this.handleSelectionChange(iViewer,iSelObjs,false)};eDwUIBaseEventHandlers.prototype.onLeftDoubleClick=function(iViewer){eDwUIUtils.zoomToFit(iViewer);eDwUIShortcutMenu.get().hide()};eDwUIBaseEventHandlers.prototype.onModelViewChange=function(iViewer,iNewModelView,iIsAssembly){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,eDwUIUtils.updateUI(iViewer,iNewModelView)];case 1:_a.sent();return[2]}})})})()};eDwUIBaseEventHandlers.prototype.onNodeAttribChanged=function(iViewer,iHierNodesAndAttribs){if(iViewer.ViewerFeatureOpts.Debug){for(var _i=0,iHierNodesAndAttribs_3=iHierNodesAndAttribs;_i1){hudBarJQ.offset({left:Math.ceil(filenameBlockOffset.left+filenameBlockJQ.innerWidth()),top:hudBarOffset.top});l_resizeTopBar()}else if(hudBarContentJQ[0].scrollWidth===0||hudBarContentJQ.width()>=hudBarContentJQ[0].scrollWidth){topBarJQ.removeClass("edrawings-collided-hud-bar");hudBarJQ.removeClass("edrawings-collided");hudBarJQ.css({left:""})}}else{if(filenameBlockOffset.left!==hudBarOffset.left&&filenameBlockOffset.left+filenameBlockJQ.innerWidth()>hudBarOffset.left){hudBarJQ.offset({left:Math.ceil(filenameBlockOffset.left+filenameBlockJQ.innerWidth()),top:hudBarOffset.top});topBarJQ.addClass("edrawings-collided-hud-bar");hudBarJQ.addClass("edrawings-collided")}}eDwUIUtils.adjustScrollArrows(hudBarContentJQ[0].scrollLeft,hudBarContentJQ[0].scrollWidth,hudBarContentJQ.width(),true,leftButtonWrapperJQ,rightButtonWrapperJQ,hudBarJQ);if(topBarJQ.hasClass("edrawings-collided-hud-bar")){if(hudBarContentJQ.innerWidth()c_filenameBlockThresholdWidth){if(topBarJQ.hasClass("edrawings-out-of-view")){topBarJQ.removeClass("edrawings-out-of-view")}}else{topBarJQ.addClass("edrawings-out-of-view")}}else{if(filenameBlockJQ[0].scrollWidth-filenameBlockJQ.innerWidth()>1){if(filenameBlockJQ.width()0&&toolBarContentJQ[0].scrollHeight<=leftBarContentJQ.innerHeight()){leftBarJQ.removeClass("edrawings-collided")}}else{if(leftBarContentJQ[0].scrollHeight>0&&leftBarContentJQ[0].scrollHeight>Math.round(leftBarContentJQ.innerHeight())){leftBarJQ.addClass("edrawings-collided")}}eDwUIUtils.adjustScrollArrows(toolBarContentJQ[0].scrollTop,toolBarContentJQ[0].scrollHeight,toolBarContentJQ.height(),false,upButtonWrapperJQ,downButtonWrapperJQ,leftBarJQ);if(leftBarJQ.hasClass("edrawings-collided")){if(toolBarContentJQ.innerHeight()=window.innerWidth){var diff=iMouseEvent.clientX+iItemJQ[0].scrollWidth+scrollWidthPadding-window.innerWidth;if(iMouseEvent.clientX>=diff){tickerLeft=iMouseEvent.clientX-diff;tickerWidth=iItemJQ[0].scrollWidth+scrollWidthPadding}else{tickerLeft=0;tickerAnimation=true;if(window.innerWidth>tickerMinWidth){tickerWidth=window.innerWidth}else{tickerWidth=tickerMinWidth}var threeTimes=[iText,iText,iText].join(" ");tickerJQ.text(threeTimes)}}if(itemOffset.top-tickerMinHeight<=0){if(itemOffset.top+iItemJQ[0].clientHeight+tickerMinHeight<=window.innerHeight){tickerTop=itemOffset.top+iItemJQ[0].clientHeight}else{var diff=iMouseEvent.clientY+tickerMinHeight-window.innerHeight;if(iMouseEvent.clientY>diff){tickerTop=iMouseEvent.clientY-diff}else{tickerTop=0}}}var tickerwrapJQ=tickerJQ.closest(".edrawings-ticker-wrapper");tickerwrapJQ.offset({left:tickerLeft,top:tickerTop}).css("width",tickerWidth).removeClass("edrawings-ui-hide");if(tickerAnimation){tickerwrapJQ.addClass("edrawings-animation")}}function l_hideTicker(){var tickerwrapJQ=$(".edrawings-ticker-wrapper");if(!tickerwrapJQ.hasClass("edrawings-ui-hide")){var tickerJQ=tickerwrapJQ.find(".edrawings-ticker");tickerJQ.text("");tickerwrapJQ.addClass("edrawings-ui-hide").removeClass("edrawings-animation").css("left","").css("top","").css("width","")}}function l_positionMenuPanelCollapseButton(){var activeButtonsJQ=$(".edrawings-tool-button.active-button");if(activeButtonsJQ.length){if(eDwUIUtils.scrollToTarget(activeButtonsJQ)){l_resizeToolBar()}var collapsedPanelsJQ=$(".edrawings-submenu.active.edrawings-collapsed");if(collapsedPanelsJQ.length){var attrStyle=collapsedPanelsJQ.find(".edrawings-menu-panel-arrow-collapse").attr("style");if(!!attrStyle){eDwUIUtils.positionMenuPanelArrowCollapseButton(collapsedPanelsJQ,activeButtonsJQ)}}}}function l_fixMenuPanelInwardToolbar(){var panelsJQ=$(".edrawings-submenu.active:not(.edrawings-collapsed), .edrawings-hud-menu.active");panelsJQ.each(function(iIndex,iPanel){var panelJQ=$(iPanel);eDwUIUtils.fixMenuPanelInwardToolbar(panelJQ)})}return eDwUIBaseEventHandlers});define("eDwUIBasePlugin",["require","exports","eDwUIHTMLEventMgr","eDwUIShortcutMenu","eDwEventMgr","eDwEvents","eDwUIUtils"],function(require,exports,eDwUIHTMLEventMgr,eDwUIShortcutMenu,eDwEventMgr,eDwEvents_6,eDwUIUtils){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var eDwUIBasePlugin=function(){function eDwUIBasePlugin(iPluginGroupName,iViewer,iButtonInfo,iViewerFeatOpts){if(iViewer===void 0){iViewer=null}if(iButtonInfo===void 0){iButtonInfo=null}if(iViewerFeatOpts===void 0){iViewerFeatOpts=null}var _this=this;console.debugLog("UIPlugin","Constructed "+iPluginGroupName+" plugin.");this.mPluginGroupName=iPluginGroupName;this.mViewer=iViewer;this.mViewerFeatOpts=iViewerFeatOpts||iViewer&&iViewer.ViewerFeatureOpts;this.mUIHTMLEventMgr=new eDwUIHTMLEventMgr;this.mPluginDependencies=[];this.mPluginButtonInfo=iButtonInfo;eDwUIShortcutMenu.get().setPluginCheck(iPluginGroupName,function(iPluginName){return _this.check(iPluginName)})}eDwUIBasePlugin.prototype.init=function(iPanelsToLoad){return __awaiter(this,void 0,void 0,function(){var promises,_i,iPanelsToLoad_1,panelToLoad;return __generator(this,function(_a){switch(_a.label){case 0:this.addAppObjEvent(eDwEvents_6.ActivateUIOpEvent,"onActivate",true);this.addAppObjEvent(eDwEvents_6.DeactivateUIOpEvent,"onDeactivate",true);if(!iPanelsToLoad)return[3,2];promises=[];for(_i=0,iPanelsToLoad_1=iPanelsToLoad;_i-1?true:false};eDwUIBasePlugin.prototype.addEventHandlers=function(){};eDwUIBasePlugin.prototype.removeEventHandlers=function(){this.mUIHTMLEventMgr.removeAllEventHandlers()};eDwUIBasePlugin.prototype.onActivate=function(iButtonJQ){return this.isButtonForThisPlugin(iButtonJQ)};eDwUIBasePlugin.prototype.onDeactivate=function(iButtonJQ){return this.isButtonForThisPlugin(iButtonJQ)};eDwUIBasePlugin.prototype.addAppObjEvent=function(iAppEvent,iEventObjMethod,iAdd){var eventMgr=eDwEventMgr.get();var eventMgrMethod=iAdd?"addEventHandlerObj":"removeEventHandlerObj";eventMgr[eventMgrMethod](iAppEvent,this,iEventObjMethod)};eDwUIBasePlugin.prototype.loadPanel=function(iPanelID,iHTMLFileName){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,eDwUIUtils.loadPanel(iPanelID,iHTMLFileName)];case 1:return[2,_a.sent()]}})})};Object.defineProperty(eDwUIBasePlugin.prototype,"PluginGroupName",{get:function(){return this.mPluginGroupName},enumerable:true,configurable:true});Object.defineProperty(eDwUIBasePlugin.prototype,"PluginButtonID",{get:function(){return this.mPluginButtonInfo?this.mPluginButtonInfo.ID:""},enumerable:true,configurable:true});Object.defineProperty(eDwUIBasePlugin.prototype,"Dependencies",{get:function(){return this.mPluginDependencies},enumerable:true,configurable:true});return eDwUIBasePlugin}();exports.eDwUIBasePlugin=eDwUIBasePlugin;function isActiveSelection(iViewer){return iViewer.SelectionMgr.length?true:false}exports.isActiveSelection=isActiveSelection});define("eDwUIDebugHTMLGenerator",["require","exports","eDwUIHTMLGenerator","eDwTypes"],function(require,exports,eDwUIHTMLGenerator,eDwTypes_15){"use strict";var _a;var eDwUIDebugHTMLGenerator=function(_super){__extends(eDwUIDebugHTMLGenerator,_super);function eDwUIDebugHTMLGenerator(iViewer,iPanelUIID){var _this=_super.call(this,iViewer,iPanelUIID)||this;_this.mHCModel=iViewer.getModel().getHCModel();return _this}eDwUIDebugHTMLGenerator.prototype.getNodeFromID=function(iNodeID){return l_getHCNode(iNodeID)};eDwUIDebugHTMLGenerator.prototype.getPostSpanHTML=function(iAdditionalClasses){return""};eDwUIDebugHTMLGenerator.prototype.forNodeGetName=function(iNode){return this.mHCModel.getNodeName(l_getHCNode(iNode))};eDwUIDebugHTMLGenerator.prototype.forNodeGetID=function(iNode){return l_getHCNode(iNode)};eDwUIDebugHTMLGenerator.prototype.forNodeGetParentID=function(iNode){return this.mHCModel.getNodeParent(l_getHCNode(iNode))};eDwUIDebugHTMLGenerator.prototype.forNodeGetChildren=function(iNode){return this.mHCModel.getNodeChildren(l_getHCNode(iNode))};eDwUIDebugHTMLGenerator.prototype.forNodeHasChildren=function(iNode){return this.forNodeGetChildren(iNode).length>0};eDwUIDebugHTMLGenerator.prototype.forNodeGetDataAttributes=function(iNode){return _super.prototype.forNodeGetDataAttributes.call(this,iNode)};eDwUIDebugHTMLGenerator.prototype.forNodeGetElementContent=function(iNode){var nodeHCID=this.forNodeGetID(iNode);return this.forNodeGetName(iNode)+" ID: "+nodeHCID+" TYPE: "+c_nodeTypes[this.mHCModel.getNodeType(nodeHCID)]+" VISIBLE: "+this.mHCModel.getNodeVisibility(nodeHCID)};eDwUIDebugHTMLGenerator.prototype.forNodeGetDisplayStateCSSClass=function(iNode){return"edrawings-body-visible"};return eDwUIDebugHTMLGenerator}(eDwUIHTMLGenerator);var c_nodeTypes=(_a={},_a[eDwTypes_15.HC.NodeType.AssemblyNode]="Assembly",_a[eDwTypes_15.HC.NodeType.Body]="Body",_a[eDwTypes_15.HC.NodeType.BodyInstance]="Body Instance",_a[eDwTypes_15.HC.NodeType.BrepBody]="BRep Body",_a[eDwTypes_15.HC.NodeType.CadView]="CAD View",_a[eDwTypes_15.HC.NodeType.DrawingSheet]="Drawing Sheet",_a[eDwTypes_15.HC.NodeType.Part]="Part",_a[eDwTypes_15.HC.NodeType.PartInstance]="Part Instance",_a[eDwTypes_15.HC.NodeType.Pmi]="PMI",_a[eDwTypes_15.HC.NodeType.PmiBody]="PMI Body",_a[eDwTypes_15.HC.NodeType.PointsBody]="Points Body",_a[eDwTypes_15.HC.NodeType.TessBody]="Tessellation Body",_a[eDwTypes_15.HC.NodeType.Unknown]="Unknown",_a[eDwTypes_15.HC.NodeType.ViewFrame]="View Frame",_a[eDwTypes_15.HC.NodeType.WireBody]="Wire Body",_a);function l_isHCNode(iNode){return!isNaN(iNode)}function l_getHCNode(iNode){if(!l_isHCNode(iNode)){throw new Error("Not an HC node:\n"+JSON.stringify(iNode))}return iNode}return eDwUIDebugHTMLGenerator});define("eDwUIHTMLEventMgr",["require","exports"],function(require,exports){"use strict";var eDwUIHTMLEventMgr=function(){function eDwUIHTMLEventMgr(){this.mEventHandlerData={}}eDwUIHTMLEventMgr.prototype.addDelegatedEventHandler=function(iElemSelector,iEventName,iEventHandler){if(!iElemSelector||!iEventName||!iEventHandler)return false;var selectors=iElemSelector.split(" ");if(selectors.length<2)return false;var ancestorElementID=selectors.shift();return this.commonAddEventHandler(ancestorElementID,iEventName,iEventHandler,selectors.join().replace(".",""))};eDwUIHTMLEventMgr.prototype.addEventHandler=function(iElemID,iEventName,iEventHandler){if(!iElemID||!iEventName||!iEventHandler)return false;return this.commonAddEventHandler(iElemID,iEventName,iEventHandler)};eDwUIHTMLEventMgr.prototype.removeAllEventHandlers=function(){for(var eventName in this.mEventHandlerData){if(this.mEventHandlerData.hasOwnProperty(eventName)){var handlersOfEvent=this.mEventHandlerData[eventName];for(var elemID in handlersOfEvent){if(handlersOfEvent.hasOwnProperty(elemID)){this.removeEventHandlersByID(elemID,eventName,handlersOfEvent)}}delete this.mEventHandlerData[eventName]}}this.mEventHandlerData={}};eDwUIHTMLEventMgr.prototype.removeEventHandlers=function(iElemID,iEventName){var handlersRemoved=false;if(this.mEventHandlerData.hasOwnProperty(iEventName)){var handlersOfEvent=this.mEventHandlerData[iEventName];if(handlersOfEvent.hasOwnProperty(iElemID)){handlersRemoved=this.removeEventHandlersByID(iElemID,iEventName,handlersOfEvent)}}return handlersRemoved};eDwUIHTMLEventMgr.prototype.commonAddEventHandler=function(iElemID,iEventName,iEventHandler,iElemClasses){if(iElemClasses===void 0){iElemClasses=""}var elements=[];if(iElemID==="window")elements.push(window);else if(iElemID==="document")elements.push(document);else elements=$(iElemID).toArray();if(!elements.length)return false;var handlersOfEvent=this.mEventHandlerData[iEventName];if(!handlersOfEvent){handlersOfEvent=this.mEventHandlerData[iEventName]={}}var elemHandlers=handlersOfEvent[iElemID];if(!elemHandlers){elemHandlers=handlersOfEvent[iElemID]={MainDispatcher:null,Handlers:[]}}if(elemHandlers.MainDispatcher){for(var _i=0,elements_1=elements;_i-1?"":" edrawings-list-option ";var highlight=this.getHighlightClass(iNode);var currOffset=iLeftPaddingInPX===undefined?this.mInitialLeftPaddingInPX+"px":iLeftPaddingInPX+"px";var generatedHTML="
";generatedHTML+=this.getPreSpanHTML(iNode,additionalClasses,expanded,iIgnoreChildren);generatedHTML+=""+this.forNodeGetElementContent(iNode)+"";generatedHTML+=this.getPostSpanHTML(nonRootClass+" "+additionalClasses);generatedHTML+="
";return generatedHTML};eDwUIHTMLGenerator.prototype.getNodeFromID=function(iNodeID){var modelViews=this.mViewer.getModel().getModelViews();for(var _i=0,modelViews_3=modelViews;_i
";return generatedHTML};eDwUIHTMLGenerator.prototype.getPostSpanHTML=function(iAdditionalClasses){return"
"};eDwUIHTMLGenerator.prototype.forNodeGetName=function(iNode){return getHierarchyNode(iNode).Name};eDwUIHTMLGenerator.prototype.forNodeGetID=function(iNode){return getHierarchyNode(iNode).HOOPSID};eDwUIHTMLGenerator.prototype.forNodeGetParentID=function(iNode){var parentHierNode=getHierarchyNode(iNode).ParentNode;return parentHierNode?parentHierNode.HOOPSID:undefined};eDwUIHTMLGenerator.prototype.forNodeGetChildren=function(iNode){var childrenObj=getHierarchyNode(iNode).getChildren();return Object.keys(childrenObj).map(function(key){return childrenObj[key]})};eDwUIHTMLGenerator.prototype.forNodeHasChildren=function(iNode){return this.forNodeGetChildren(iNode).length>0};eDwUIHTMLGenerator.prototype.forNodeGetDataAttributes=function(iNode){var parentNodeID=this.forNodeGetParentID(iNode);return" data-hoopsid='"+this.forNodeGetID(iNode)+"' "+(parentNodeID!==undefined?"data-hoopsparentid='"+parentNodeID+"' ":"")};eDwUIHTMLGenerator.prototype.forNodeGetElementContent=function(iNode){return this.forNodeGetName(iNode)};eDwUIHTMLGenerator.prototype.forNodeGetDisplayStateCSSClass=function(iNode){return eDwUIHTMLGenerator.getDisplayStateCSSClass(getHierarchyNode(iNode))};return eDwUIHTMLGenerator}();function getHierarchyNode(iNode){if(!eDwHierarchyNode.isHierarchyNode(iNode)){throw new Error("Not a hierarchy node:\n"+JSON.stringify(iNode))}return iNode}return eDwUIHTMLGenerator});define("eDwUIHierNodeVisMenuItemsPlugin",["require","exports","eDwCommandMgr","eDwSetHierNodeAttribsCmd","eDwSelIsolateCmd","eDwUIShortcutMenu","eDwUIUtils","eDwEventMgr","eDwKeyMgr","eDwEvents","eDwTypes","eDwUIBasePlugin","utils"],function(require,exports,eDwCommandMgr,eDwSetHierNodeAttribsCmd,eDwSelIsolateCmd,eDwUIShortcutMenu,eDwUIUtils,eDwEventMgr,eDwKeyMgr_4,eDwEvents_7,eDwTypes_16,eDwUIBasePlugin_1,utils){"use strict";var eDwUIHierNodeVisMenuItemPlugin=function(_super){__extends(eDwUIHierNodeVisMenuItemPlugin,_super);function eDwUIHierNodeVisMenuItemPlugin(iViewer,iViewerFeatOpts){return _super.call(this,"HideShow",iViewer)||this}eDwUIHierNodeVisMenuItemPlugin.prototype.init=function(){return __awaiter(this,void 0,void 0,function(){function isNotPartModel(iViewer){return!iViewer.getModel().isPart()}function isActiveSelectionForASMAndDRW(iViewer){return eDwUIBasePlugin_1.isActiveSelection(iViewer)&&isNotPartModel(iViewer)}function isActiveSelectionForASM(iViewer){return eDwUIBasePlugin_1.isActiveSelection(iViewer)&&iViewer.getModel().isAssembly()}var shortcutMenu;var _this=this;return __generator(this,function(_a){_super.prototype.init.call(this);shortcutMenu=eDwUIShortcutMenu.get();if(!shortcutMenu.isEmpty()){shortcutMenu.addMenuSeparator(this.PluginGroupName)}shortcutMenu.addMenuItem(this.PluginGroupName,"edrawings-shortcut-hide-show",function(iEvent,iUIItemJQ){var selMgr=_this.mViewer.SelectionMgr;var selHierNodes=selMgr.getSelHierarchyNodes();if(selHierNodes&&selHierNodes.length){var attrib={Visible:!selHierNodes[0].getAttribs().Visible};var selHideShowCmd=new eDwSetHierNodeAttribsCmd(_this.mViewer,selHierNodes,attrib);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(selHideShowCmd);cmdMgr.remove(selHideShowCmd,"commit")}shortcutMenu.hide()},isActiveSelectionForASMAndDRW);shortcutMenu.addMenuItem(this.PluginGroupName,"edrawings-shortcut-transp-solid",function(iEvent,iUIItemJQ){var selMgr=_this.mViewer.SelectionMgr;var selHierNodes=selMgr.getSelHierarchyNodes();if(selHierNodes&&selHierNodes.length){var attrib={Visible:true,Opaque:!selHierNodes[0].getAttribs().Opaque};var selTransSolidCmd=new eDwSetHierNodeAttribsCmd(_this.mViewer,selHierNodes,attrib);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(selTransSolidCmd);cmdMgr.remove(selTransSolidCmd,"commit")}shortcutMenu.hide()},isActiveSelectionForASM);shortcutMenu.addMenuItem(this.PluginGroupName,"edrawings-shortcut-isolate",function(iEvent,iUIItemJQ){var selIsolateCmd=new eDwSelIsolateCmd(_this.mViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(selIsolateCmd);cmdMgr.remove(selIsolateCmd,"commit");shortcutMenu.hide()},isActiveSelectionForASMAndDRW);shortcutMenu.addMenuItem(this.PluginGroupName,"edrawings-shortcut-show-all",function(iEvent,iUIItemJQ){var modelView=_this.mViewer.getModel().getActiveModelView();var attrib={Visible:true};var showAllCmd=new eDwSetHierNodeAttribsCmd(_this.mViewer,modelView.getNodes(),attrib);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(showAllCmd);cmdMgr.remove(showAllCmd,"commit");shortcutMenu.hide()},isNotPartModel);this.mUIHTMLEventMgr.addDelegatedEventHandler("document .edrawings-submenu-list-item-button","click",function(iEvent){console.debugLog("UIPlugin","HideShow menu button click");var selected=false;var targetJQ=$(iEvent.target);var parentJQ=targetJQ.parent();eDwUIUtils.scrollToTarget(parentJQ);var selHCID=eDwUIUtils.getHCID(parentJQ);if(!isNaN(selHCID)){var existingIdx=_this.mViewer.SelectionMgr.getSelectedNodeIDIndex(selHCID);selected=existingIdx>-1?true:_this.mViewer.SelectionMgr.selectByID(selHCID)}if(selected){_this.fireEvent(iEvent,eDwEvents_7.RightClickEvent)}});console.debugLog("UIPlugin","Added HideShow click event handler");this.mUIHTMLEventMgr.addDelegatedEventHandler("document .edrawings-submenu-list-item","mousedown",function(iEvent){console.debugLog("UIPlugin","HideShow menu mousedown");var eventJQ=$(iEvent);var targetJQ=$(iEvent.target);eDwUIUtils.scrollToTarget(targetJQ);if(!targetJQ||!targetJQ.length||!eventJQ||!eventJQ.length||targetJQ.hasClass("edrawings-root")||targetJQ.hasClass("edrawings-tree-arrow")||targetJQ.hasClass("edrawings-tree-expanded")||targetJQ.hasClass("edrawings-tree-icon")){return}if(!targetJQ.hasClass("edrawings-submenu-list-item"))return;var mouseEvent=iEvent;var pressedRMB=eDwKeyMgr_4.eDwKeyMgr.isRMBPressed(mouseEvent);var selected=false;var selHCID=eDwUIUtils.getHCID(targetJQ);if(!isNaN(selHCID)){if(!eDwKeyMgr_4.eDwKeyMgr.get().isDown("Shift")){selected=_this.mViewer.SelectionMgr.selectByID(selHCID)}else{var selector=".edrawings-submenu-list-item"+".edrawings-list-selected:has([data-hoopsid])";var filter=".edrawings-submenu-list-item:has([data-hoopsid])";var collectionPrevJQ=targetJQ.prevUntil(selector,filter);if(collectionPrevJQ.length===0||collectionPrevJQ.last().prev(selector).length===0){collectionPrevJQ=$([])}var collectionNextJQ=targetJQ.nextUntil(selector,filter);if(collectionNextJQ.length===0||collectionNextJQ.last().next(selector).length===0){collectionNextJQ=$([])}var collectionJQ=$([]).add(collectionPrevJQ).add(targetJQ).add(collectionNextJQ);collectionJQ.each(function(iIdx,iElement){var elementJQ=$(iElement);var selHCID=eDwUIUtils.getHCID(elementJQ);_this.mViewer.SelectionMgr.selectByID(selHCID)});selected=true;iEvent.preventDefault()}}else{selected=!targetJQ.hasClass("edrawings-list-selected");targetJQ[selected?"addClass":"removeClass"]("edrawings-list-selected")}var appEvent=selected&&pressedRMB?eDwEvents_7.RightClickEvent:eDwEvents_7.UnselectEvent;_this.fireEvent(iEvent,appEvent)});console.debugLog("UIPlugin","Added HideShow mousedown event handler");return[2]})})};eDwUIHierNodeVisMenuItemPlugin.prototype.check=function(iPluginName){return _super.prototype.check.call(this,iPluginName)||iPluginName===undefined};eDwUIHierNodeVisMenuItemPlugin.prototype.fireEvent=function(iEvent,iAppEvent){if(!iEvent||!iAppEvent||!this.mViewer)return;if(iAppEvent===eDwEvents_7.RightClickEvent){if(utils.isOfType(iEvent,"clientX")){var screenPos=new eDwTypes_16.HC.Point2(iEvent.clientX,iEvent.clientY);eDwEventMgr.get().fireEvent(iAppEvent,this.mViewer,screenPos,this.PluginGroupName)}}else if(iAppEvent===eDwEvents_7.UnselectEvent){eDwEventMgr.get().fireEvent(iAppEvent,this.mViewer,[])}};return eDwUIHierNodeVisMenuItemPlugin}(eDwUIBasePlugin_1.eDwUIBasePlugin);return eDwUIHierNodeVisMenuItemPlugin});define("eDwUILayerHTMLGenerator",["require","exports","eDwUIHTMLGenerator"],function(require,exports,eDwUIHTMLGenerator){"use strict";var eDwUILayerHTMLGenerator=function(_super){__extends(eDwUILayerHTMLGenerator,_super);function eDwUILayerHTMLGenerator(iViewer,iPanelUIID){return _super.call(this,iViewer,iPanelUIID)||this}eDwUILayerHTMLGenerator.prototype.generateHTML=function(iAdditionalClasses){return __awaiter(this,void 0,void 0,function(){var generatedHTML,activeModelView,layerNodes,_i,layerNodes_1,layerNode;return __generator(this,function(_a){generatedHTML="";activeModelView=this.mViewer.getModel().getActiveModelView();if(activeModelView&&activeModelView.Hierarchy){layerNodes=activeModelView.Hierarchy.findNodes("Category","layer");if(layerNodes.length){generatedHTML+="
"+" "+""+"Select all
"}for(_i=0,layerNodes_1=layerNodes;_i"};eDwUILayerHTMLGenerator.prototype.getPostSpanHTML=function(iAdditionalClasses){return""};return eDwUILayerHTMLGenerator}(eDwUIHTMLGenerator);return eDwUILayerHTMLGenerator});define("eDwUIMessageReporter",["require","exports","eDwUIUtils","utils"],function(require,exports,eDwUIUtils,utils){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function showServerLoadErrorPanel(iServerID,iModelCacheName){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,l_addParagraphToPanelText({},"edrawings-server-load-failure-1")];case 1:_a.sent();return[4,l_showServerError(iServerID,iModelCacheName)];case 2:_a.sent();return[2]}})})}exports.showServerLoadErrorPanel=showServerLoadErrorPanel;function showResultPanel(iResult){return __awaiter(this,void 0,void 0,function(){var showButtons,_a;return __generator(this,function(_b){switch(_b.label){case 0:showButtons=false;if(!utils.isOfType(iResult,"ServerID"))return[3,2];return[4,l_showConversionResultPanel(iResult)];case 1:showButtons=_b.sent();return[3,5];case 2:_a=iResult.ErrorCode;return[3,3];case 3:return[4,l_showPanelGeneric(iResult)];case 4:showButtons=_b.sent();return[3,5];case 5:return[2,showButtons]}})})}exports.showResultPanel=showResultPanel;function showMessagePanelFromCSScontent(iTextClass,iOptions){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,l_addParagraphToPanelText(!!iOptions?iOptions:{},iTextClass)];case 1:_a.sent();return[4,l_showMessagePanel()];case 2:_a.sent();return[2]}})})}exports.showMessagePanelFromCSScontent=showMessagePanelFromCSScontent;function l_showConversionResultPanel(iResult){return __awaiter(this,void 0,void 0,function(){var showButtons,_a;return __generator(this,function(_b){switch(_b.label){case 0:showButtons=l_shouldShowButtons();_a=iResult.ErrorCode;switch(_a){case"URLNotAccessible":return[3,1];case"UnsupportedFileType":return[3,4];case"UnknownLicenseError":return[3,7];case"LicenseVersionMismatch":return[3,10];case"NoMoreLicenses":return[3,13];case"CannotConnectToLicenseServer":return[3,16];case"LicenseExpired":return[3,19];case"UnknownError":return[3,22]}return[3,25];case 1:return[4,l_addParagraphToPanelText({"data-file-url":iResult.ErrorData[0]},"edrawings-server-url-inaccessible")];case 2:_b.sent();return[4,l_showMessagePanel("",true,false,"edrawings-error-title edrawings-dialog-no-close")];case 3:_b.sent();return[3,29];case 4:return[4,l_addParagraphToPanelText({"data-file":iResult.FileName},"edrawings-server-unsupported-file-type")];case 5:_b.sent();return[4,l_showMessagePanel("",true,showButtons,"edrawings-error-title edrawings-dialog-no-close")];case 6:_b.sent();return[3,29];case 7:return[4,l_addParagraphToPanelText({},"edrawings-unknown-license-error")];case 8:_b.sent();return[4,l_showMessagePanel("",true,false,"edrawings-warn-title edrawings-dialog-no-close")];case 9:_b.sent();return[3,29];case 10:return[4,l_addParagraphToPanelText({},"edrawings-license-version-mismatch-error")];case 11:_b.sent();return[4,l_showMessagePanel("",true,false,"edrawings-warn-title edrawings-dialog-no-close")];case 12:_b.sent();return[3,29];case 13:return[4,l_addParagraphToPanelText({},"edrawings-no-licenses-error")];case 14:_b.sent();return[4,l_showMessagePanel("",true,false,"edrawings-warn-title edrawings-dialog-no-close")];case 15:_b.sent();return[3,29];case 16:return[4,l_addParagraphToPanelText({},"edrawings-license-server-connection-error")];case 17:_b.sent();return[4,l_showMessagePanel("",true,false,"edrawings-warn-title edrawings-dialog-no-close")];case 18:_b.sent();return[3,29];case 19:return[4,l_addParagraphToPanelText({},"edrawings-license-expired-error")];case 20:_b.sent();return[4,l_showMessagePanel("",true,false,"edrawings-warn-title edrawings-dialog-no-close")];case 21:_b.sent();return[3,29];case 22:return[4,l_addParagraphToPanelText({},"edrawings-unknown-error")];case 23:_b.sent();return[4,l_showServerError(iResult.ServerID,iResult.ModelCacheName)];case 24:_b.sent();return[3,29];case 25:if(!l_isDebug())return[3,27];return[4,l_showPanelGeneric(iResult)];case 26:_b.sent();return[3,28];case 27:showServerLoadErrorPanel(iResult.ServerID,iResult.ModelCacheName);_b.label=28;case 28:return[3,29];case 29:return[2,showButtons]}})})}function l_showPanelGeneric(iResult){return __awaiter(this,void 0,void 0,function(){var _a,msg,classes,_i,_b,data;return __generator(this,function(_c){switch(_c.label){case 0:_a=iResult.ErrorCode;switch(_a){case"AJAXFailure":return[3,1];case"IncompleteFileProcessing":return[3,4];case"ModelLoadInViewerFailed":return[3,7]}return[3,11];case 1:return[4,l_addParagraphToPanelText({},"edrawings-server-ajax-failure")];case 2:_c.sent();return[4,l_showMessagePanel("",true,false,"edrawings-error-title edrawings-dialog-no-close")];case 3:_c.sent();return[3,13];case 4:return[4,l_addParagraphToPanelText({},"edrawings-unable-process-file")];case 5:_c.sent();return[4,l_showMessagePanel("",true,true,"edrawings-error-title edrawings-dialog-no-close")];case 6:_c.sent();return[3,13];case 7:return[4,l_addParagraphToPanelText({"data-error-message":iResult.ErrorData[0]},"edrawings-viewer-load-failure")];case 8:_c.sent();return[4,l_addParagraphToPanelText({"data-model-cache-name":iResult.ErrorData[1]},"edrawings-server-load-failure-3")];case 9:_c.sent();return[4,l_showMessagePanel("",true,true,"edrawings-error-title edrawings-dialog-no-close")];case 10:_c.sent();return[3,13];case 11:msg="";classes="edrawings-dialog-no-close";switch(iResult.ErrorCode){case"Error":classes+=" edrawings-error-title";break;case"Warn":classes+=" edrawings-warn-title";break;default:classes+=" edrawings-info-title";msg+="
"+iResult.ErrorCode+"
";break}for(_i=0,_b=iResult.ErrorData;_i<_b.length;_i++){data=_b[_i];msg+="
"+data+"
"}return[4,l_showMessagePanel(msg,true,false,classes)];case 12:_c.sent();return[3,13];case 13:return[2,l_shouldShowButtons()]}})})}function l_addParagraphToPanelText(iOptions,iTextClass){return __awaiter(this,void 0,void 0,function(){function getValue(iValue){return typeof iValue==="string"?"'"+iValue+"'":iValue.toString()}var msgPanelText,div,optionKeys,_i,optionKeys_1,optionKey;return __generator(this,function(_a){switch(_a.label){case 0:return[4,l_getDailogPanelTextElem()];case 1:msgPanelText=_a.sent();div="
";msgPanelText.append(div);return[2]}})})}function l_showMessagePanel(iMsg,iModal,iShowButtons,iDlgClasses){if(iMsg===void 0){iMsg=""}if(iModal===void 0){iModal=true}if(iShowButtons===void 0){iShowButtons=false}if(iDlgClasses===void 0){iDlgClasses="edrawings-info-title edrawings-dialog-no-close"}return __awaiter(this,void 0,void 0,function(){var msgPanelText,opts,msgPanel,msgPanelTitleJQ,text;return __generator(this,function(_a){switch(_a.label){case 0:return[4,l_getDailogPanelTextElem()];case 1:msgPanelText=_a.sent();if(iMsg)msgPanelText.html(iMsg);opts={modal:iModal,width:window.innerWidth*.6,minWidth:200,dialogClass:iDlgClasses,closeOnEscape:iShowButtons};msgPanel=$("#edrawings-dialog-panel");if(iShowButtons){$.extend(opts,{buttons:{Ok:function(){msgPanel.dialog("close")}},close:function(iEvent){$(".edrawings-dialog-content").remove()}})}$.extend(opts,{beforeClose:function(iEvent){$(iEvent.target).closest(".ui-dialog").siblings(".ui-widget-overlay").addBack().off("drop")},open:function(iEvent){$(iEvent.target).closest(".ui-dialog").siblings(".ui-widget-overlay").addBack().on("drop",function(iEvent2){iEvent2.preventDefault();iEvent2.stopPropagation()})}});eDwUIUtils.hide("#WaitBanner",true);msgPanel.dialog(opts);if(iDlgClasses.indexOf("edrawings")>-1&&iDlgClasses.indexOf("title")>-1){msgPanelTitleJQ=msgPanel.prev().find(".ui-dialog-title");text="";if(msgPanelTitleJQ){text=msgPanelTitleJQ.css("content").replace(/^['"]+|\\|(;\s?})+|['"]$/g,"")}msgPanelTitleJQ.text(text)}return[2]}})})}function l_shouldShowButtons(){var viewerHTMLElem=$(eDwUIUtils.getViewerElementID()).get(0);return $._data(viewerHTMLElem,"events").dragover}function l_isDebug(){var viewerFeatOpts={Debug:false};eDwUIUtils.getRequestedQueryStringParams(location.href,viewerFeatOpts,false);return viewerFeatOpts.Debug}function l_getDailogPanelTextElem(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:if(!!lDialogTextJQ)return[3,2];return[4,eDwUIUtils.loadPanel("#edrawings-dialog-panel","dialogpanel.html")];case 1:_a.sent();lDialogTextJQ=$("#edrawings-dialog-panel-text");_a.label=2;case 2:return[2,lDialogTextJQ]}})})}function l_showServerError(iServerID,iModelCacheName){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,l_addParagraphToPanelText({"data-server-id":iServerID},"edrawings-server-load-failure-2")];case 1:_a.sent();return[4,l_addParagraphToPanelText({"data-model-cache-name":iModelCacheName},"edrawings-server-load-failure-3")];case 2:_a.sent();return[4,l_showMessagePanel("",true,false,"edrawings-error-title edrawings-dialog-no-close")];case 3:_a.sent();return[2]}})})}var lDialogTextJQ=null});define("eDwUIModelViewHTMLGenerator",["require","exports","eDwUIHTMLGenerator"],function(require,exports,eDwUIHTMLGenerator){"use strict";var eDwUIModelViewHTMLGenerator=function(_super){__extends(eDwUIModelViewHTMLGenerator,_super);function eDwUIModelViewHTMLGenerator(iViewer,iPanelUIID){return _super.call(this,iViewer,iPanelUIID)||this}eDwUIModelViewHTMLGenerator.prototype.generateHTML=function(iAdditionalClasses){return __awaiter(this,void 0,void 0,function(){var generatedHTML,modelViews,_i,modelViews_4,modelView,modelViewHierNode;return __generator(this,function(_a){generatedHTML="";modelViews=this.mViewer.getModel().getModelViews();for(_i=0,modelViews_4=modelViews;_iparentRect.Width){posx=parentRect.Width-menuWidth-5}if(posy+menuHeight>parentRect.Height){posy=parentRect.Height-menuHeight-5}menuJQ.css({top:posy+"px",left:posx+"px"});eDwUIUtils.hide(c_menuID,false)};eDwUIShortcutMenu.prototype.hide=function(){eDwUIUtils.hide(c_menuID,true);eDwUIUtils.hide(c_menuID+" ul",true);eDwUIUtils.hide(c_menuID+" li",true)};eDwUIShortcutMenu.prototype.isEmpty=function(){return!$(c_menuID+" ul").length&&!$(c_menuID+" li").length};eDwUIShortcutMenu.prototype.removeAllEventHandlers=function(){this.mUIHTMLEventMgr.removeAllEventHandlers();var eventMgr=eDwEventMgr.get();eventMgr.removeEventHandlerFunc(eDwEvents_8.RightClickEvent,"showHideShortcutMenu");eventMgr.removeEventHandlerFunc(eDwEvents_8.UnselectEvent,"hideShortcutMenu");this.mMenuHandlers={};this.mCheckPluginHandlers={}};eDwUIShortcutMenu.prototype.destroy=function(){this.hide();this.removeAllEventHandlers();$(c_menuID+" ul").remove();$(c_menuID+" li").remove();eDwUIShortcutMenu.sMenu=null};eDwUIShortcutMenu.prototype.addMenuItem=function(iPluginName,iMenuItemCSSClassName,iHandlerFunc,iIsVisibleFunc,iHideMenuItems,iParentMenuSelector){if(iHandlerFunc===void 0){iHandlerFunc=null}if(iIsVisibleFunc===void 0){iIsVisibleFunc=null}if(iHideMenuItems===void 0){iHideMenuItems=false}if(iParentMenuSelector===void 0){iParentMenuSelector=c_menuID}if(!iMenuItemCSSClassName){console.debugLog("shortcutmenu","Missing selector.");throw new eDwGenericError("Missing selector.")}var menuJQ=$(iParentMenuSelector);var menuItemJQ=l_insertInMenu("li",iPluginName,iMenuItemCSSClassName,menuJQ);var menuItemID=menuItemJQ.attr("id");if(iHandlerFunc){this.mMenuHandlers[menuItemID]=iHandlerFunc}var handlerObj=this.mMenuVisibilityHandlerObjs[menuItemID];if(!handlerObj){handlerObj=this.mMenuVisibilityHandlerObjs[menuItemID]={Handler:iIsVisibleFunc,PluginName:iPluginName}}else{handlerObj.Handler=iIsVisibleFunc;handlerObj.PluginName=iPluginName}if(iHideMenuItems)this.hide()};eDwUIShortcutMenu.prototype.addSubMenu=function(iPluginName,iSubMenuCSSClassName,iHideSubMenu,iParentMenuSelector){if(iHideSubMenu===void 0){iHideSubMenu=false}if(iParentMenuSelector===void 0){iParentMenuSelector=c_menuID}var subMenuJQ=$(iParentMenuSelector);l_insertInMenu("ul",iPluginName,iSubMenuCSSClassName,subMenuJQ);if(iHideSubMenu)this.hide()};eDwUIShortcutMenu.prototype.addMenuSeparator=function(iPluginName){this.addMenuItem(iPluginName,"edrawings-shortcut-divider",null,function(iViewer){return l_getNumVisMenuItems(iPluginName)?true:false})};eDwUIShortcutMenu.prototype.setPluginCheck=function(iPluginNameKey,iCheckFunc){if(iPluginNameKey){this.mCheckPluginHandlers[iPluginNameKey]=iCheckFunc;return true}return false};eDwUIShortcutMenu.prototype.removeMenuItem=function(iPluginName,iMenuItemCSSClassName,iParentMenuSelector){if(iParentMenuSelector===void 0){iParentMenuSelector=c_menuID}var menuItemJQ=l_removeFromMenu(iParentMenuSelector,iPluginName,iMenuItemCSSClassName);var menuItemID=menuItemJQ.attr("id");delete this.mMenuHandlers[menuItemID];delete this.mMenuVisibilityHandlerObjs[menuItemID];$(iParentMenuSelector).menu("refresh")};eDwUIShortcutMenu.prototype.removeSubMenu=function(iPluginName,iSubMenuCSSClassName,iParentMenuSelector){if(iParentMenuSelector===void 0){iParentMenuSelector=c_menuID}l_removeFromMenu(iParentMenuSelector,iPluginName,iSubMenuCSSClassName)};eDwUIShortcutMenu.get=function(){if(!eDwUIShortcutMenu.sMenu){eDwUIShortcutMenu.sMenu=new eDwUIShortcutMenu}return eDwUIShortcutMenu.sMenu};return eDwUIShortcutMenu}();var c_menuID="#edrawings-shortcut-menu";var c_divider="-";var c_dummyText="dummy";function l_validatePlugin(iPluginName){if(!iPluginName){console.debugLog("shortcutmenu","Missing menu group name.");throw new eDwGenericError("Missing menu group name.")}}function l_insertInMenu(iElementStyle,iPluginName,iCSSClassName,iParentMenuJQ){l_validatePlugin(iPluginName);var text=iCSSClassName==="edrawings-shortcut-divider"?c_divider:c_dummyText;var menuElemJQ=$("<"+iElementStyle+" class ='"+iCSSClassName+" edrawings-shortcut-menu-text'>"+text+"");menuElemJQ.attr("plugin-name",iPluginName);if(!menuElemJQ.attr("id")){menuElemJQ.attr("id",iCSSClassName+"-id")}iParentMenuJQ.append(menuElemJQ);iParentMenuJQ.menu("refresh");if(text===c_dummyText)menuElemJQ.text("");return menuElemJQ}function l_removeFromMenu(iParentMenuSelector,iPluginName,iMenuItemCSSClassName){return $(iParentMenuSelector).find("[plugin-name='"+iPluginName+"']"+iMenuItemCSSClassName).remove()}function l_getNumVisMenuItems(iPluginName){var menuItems=$(c_menuID+" li");var hiddenMenuItems=$(c_menuID+" li.edrawings-ui-hide");if(iPluginName){menuItems=menuItems.find("[plugin-name='"+iPluginName+"']");hiddenMenuItems=hiddenMenuItems.find("[plugin-name='"+iPluginName+"']")}return menuItems.length-hiddenMenuItems.length}return eDwUIShortcutMenu});define("eDwUITableHTMLGenerator",["require","exports","eDwUIHTMLGenerator"],function(require,exports,eDwUIHTMLGenerator){"use strict";var eDwUITableHTMLGenerator=function(_super){__extends(eDwUITableHTMLGenerator,_super);function eDwUITableHTMLGenerator(iViewer,iPanelUIID){return _super.call(this,iViewer,iPanelUIID)||this}eDwUITableHTMLGenerator.prototype.generateHTML=function(iAdditionalClasses){return __awaiter(this,void 0,void 0,function(){var generatedHTML,activeModelView,tableNodes,_i,tableNodes_1,tableNode;return __generator(this,function(_a){generatedHTML="";activeModelView=this.mViewer.getModel().getActiveModelView();if(activeModelView&&activeModelView.Hierarchy){tableNodes=activeModelView.Hierarchy.findNodes("Category","table");for(_i=0,tableNodes_1=tableNodes;_i0));hide(".edrawings-menu-search-cancel",true)}}exports.searchPanelList=searchPanelList;function updateModelViewTargets(iModelView,iFilter,iTargetClass){var targetSpans=$("span[data-hoopsid='"+iModelView.Hierarchy.HOOPSID+"']");if(targetSpans.length>0){var viewTab=targetSpans.filter(iFilter);if(viewTab.length>0){var parentJQ=viewTab.parent();parentJQ.addClass(iTargetClass);scrollToTarget(parentJQ)}}}exports.updateModelViewTargets=updateModelViewTargets;function switchModelView(iEvent,iViewer){var targetJQ=$(iEvent.target);if(!targetJQ||!targetJQ.length)return;var modelViewName=getText(targetJQ[0]);var changeModelViewCmd=new eDwChangeModelViewCmd(iViewer,modelViewName,iViewer.getInitCamera());var cmdMgr=eDwCommandMgr.get();cmdMgr.add(changeModelViewCmd);cmdMgr.remove(changeModelViewCmd,"commit")}exports.switchModelView=switchModelView;function expandSelected(iViewer,iSelHierNode){var activeModelView=iViewer.getModel().getActiveModelView();function expandNode(iTargetJQ){if(!iTargetJQ.length)return;if(!iTargetJQ.hasClass("edrawings-tree-expanded")){var panelUIID=getUIPanelID(iTargetJQ);if(!$(panelUIID).is(":visible"))return;var gen=getUIGenerator(panelUIID);var offset=parseInt($(iTargetJQ).css("padding-left"),10);var nodeToExpand=parseInt(iTargetJQ.data("hoopsid"),10);var hierarchyNode=activeModelView.Nodes[nodeToExpand];var appendNode=iTargetJQ.closest(".edrawings-submenu-list-item");appendNode.after(gen.generateHTMLForChildNodes(hierarchyNode,false,offset));iTargetJQ.addClass("edrawings-tree-expanded")}}var hierNode=iSelHierNode.ParentNode;while(hierNode&&hierNode!==activeModelView.Hierarchy){var expandNodes=$('[data-hoopsid="'+hierNode.HOOPSID+'"][class~="edrawings-tree-arrow"]');$.each(expandNodes,function(iIdx,iTarget){expandNode($(iTarget))});hierNode=hierNode.ParentNode}}exports.expandSelected=expandSelected;function scrollToTreeNode(iSelHierNode,iSetSelected){var treeItem={node:$("span[data-hoopsid='"+iSelHierNode.HOOPSID+"']:not(.config-tab-text)"),ownerNode:$("div[data-hoopsid='"+iSelHierNode.HOOPSID+"']")};if(treeItem.ownerNode.length){var classAction_1=iSetSelected?"addClass":"removeClass";$.each(treeItem.node,function(iIdx,iTarget){$(iTarget)[classAction_1]("edrawings-list-selected")});$.each(treeItem.ownerNode,function(iIdx,iTarget){var targetJQ=$(iTarget);targetJQ[classAction_1]("edrawings-list-selected");if(!targetJQ.hasClass("edrawings-submenu-list-item")){return}var panel=targetJQ.closest(".edrawings-menu");var panelHiddenState=panel.is(":hidden");hide(panel.attr("id"),false);if(iSetSelected){scrollToTarget(targetJQ,panelHiddenState?"none":"slow")}hide(panel.attr("id"),panelHiddenState)})}}exports.scrollToTreeNode=scrollToTreeNode;function addCloseEventHandler(iPanelID,iUIHTMLEventMgr){iUIHTMLEventMgr.addDelegatedEventHandler(iPanelID+" .edrawings-menu-close","click",function(iEvent){hide(iPanelID,true)})}exports.addCloseEventHandler=addCloseEventHandler;function deactivateMoveInput(iInputEventIDSuffix){$(document).off("mousemove"+iInputEventIDSuffix);$(document).off("mousedown"+iInputEventIDSuffix);$(document).off("mouseup"+iInputEventIDSuffix);$(document).off("click"+iInputEventIDSuffix)}exports.deactivateMoveInput=deactivateMoveInput;function loadComponentHTML(){return __awaiter(this,void 0,void 0,function(){var loadPromises;return __generator(this,function(_a){switch(_a.label){case 0:loadPromises=[];loadPromises.push(loadPanel("#edrawings-sheet-tree-menu","sheetspanel.html"));loadPromises.push(loadPanel("#edrawings-layer-control-menu","layerspanel.html"));loadPromises.push(loadPanel("#edrawings-debug-menu","debugpanel.html"));return[4,Promise.all(loadPromises)];case 1:_a.sent();return[2]}})})}exports.loadComponentHTML=loadComponentHTML;function inhibitEventBehavior(iEvent){iEvent.preventDefault();iEvent.stopPropagation()}exports.inhibitEventBehavior=inhibitEventBehavior;function populateModelViewPanel(iViewer,iPanelUIID,iTextClass){return __awaiter(this,void 0,void 0,function(){var listModelViewMenu,gen,_a,_b;return __generator(this,function(_c){switch(_c.label){case 0:listModelViewMenu=$(iPanelUIID+" .edrawings-submenu-list");listModelViewMenu.empty();gen=getUIGenerator(iPanelUIID);_b=(_a=listModelViewMenu).append;return[4,gen.generateHTML(iTextClass)];case 1:_b.apply(_a,[_c.sent()]);return[2]}})})}exports.populateModelViewPanel=populateModelViewPanel;function addPanelResizeEvents(iPanelID,iInputEventIDSuffix,iButtonID){var click="click"+iInputEventIDSuffix;$(document).on(click,iPanelID+" .edrawings-menu-panel-arrow-collapse",function(iJQEvent){var msg="Panel resize: "+click;console.debugLog("UIPanelResize",msg);iJQEvent.preventDefault();var panelJQ=$(iPanelID);panelJQ.toggleClass("edrawings-collapsed");var activeButtonJQ=iButtonID?$(iButtonID):undefined;positionMenuPanelArrowCollapseButton(panelJQ,activeButtonJQ);iJQEvent.stopImmediatePropagation()});var panelJQ=$(iPanelID);panelJQ.removeClass("edrawings-collapsed");l_setMenuPanelArrowCollapseButtonPosition(panelJQ);fixMenuPanelInwardToolbar(panelJQ)}exports.addPanelResizeEvents=addPanelResizeEvents;function getText(iElement){return $(iElement).text().trim()}exports.getText=getText;function getTarget(iTargetJQ){return iTargetJQ.hasClass("config-tab-text")?iTargetJQ.parent():iTargetJQ}exports.getTarget=getTarget;function getSpanText(iTargetJQ){var target=getTarget(iTargetJQ);if(!target.is("span")){target=target.find("span")}if(!target||!target.length)return"";return target[0].innerText}exports.getSpanText=getSpanText;function loadPanel(iElemOrClassID,iPanelHTML){return __awaiter(this,void 0,void 0,function(){var loaded,iExcp_15;return __generator(this,function(_a){switch(_a.label){case 0:if(!eDwServiceMgr.usesWebServices())return[2,false];loaded=false;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,eDwServiceMgr.get().load(iElemOrClassID,iPanelHTML)];case 2:_a.sent();loaded=true;console.debugLog("PanelLoad","Loaded panel id = "+iElemOrClassID+" HTML file = "+iPanelHTML);return[3,4];case 3:iExcp_15=_a.sent();console.debugLog("PanelLoad","Failed to load "+iPanelHTML+": "+iExcp_15.message);return[3,4];case 4:return[2,loaded]}})})}exports.loadPanel=loadPanel;function hide(iSelector,iOff){var selJQ=$(iSelector);selJQ[iOff?"addClass":"removeClass"]("edrawings-ui-hide");return selJQ}exports.hide=hide;function getRequestedQueryStringParams(iURL,ioViewerFeatOpts,iWarnOfOtherParams){if(iWarnOfOtherParams===void 0){iWarnOfOtherParams=true}var hashes=iURL.slice(iURL.indexOf("?")+1).split("&");for(var i=0;i1){var strVal=hash[1];var val=strVal==="true"?true:strVal==="false"?false:strVal;if(ioViewerFeatOpts.hasOwnProperty(hash[0])){ioViewerFeatOpts[hash[0]]=val}else if(iWarnOfOtherParams){console.warn(hash[0]+" is not a valid query parameter.")}}}}exports.getRequestedQueryStringParams=getRequestedQueryStringParams;function getScrollParent(iTargetJQ){return iTargetJQ&&iTargetJQ.scrollParent?iTargetJQ.scrollParent():null}exports.getScrollParent=getScrollParent;function getPosition(iTargetJQ){var ret={top:0,left:0};if(iTargetJQ)ret=iTargetJQ.position();return ret}exports.getPosition=getPosition;function scrollToTarget(iTargetJQ,iAnimationSpeed){if(iAnimationSpeed===void 0){iAnimationSpeed="slow"}var animationSpeed=iAnimationSpeed;if(!iTargetJQ)return false;var targetOffset=iTargetJQ.offset();var targetParentJQ=iTargetJQ.parent();if(targetParentJQ.length&&targetParentJQ[0]===$(document)[0]){return false}var targetParentOffset=targetParentJQ.offset();var updated=false;if(targetParentJQ[0].scrollWidth>targetParentJQ.width()){var targetParentPaddingLeft=parseInt(targetParentJQ.css("paddingLeft"));var diff=l_computeTargetMinimalAdjustment(targetOffset.left,parseInt(iTargetJQ.css("marginLeft"))+parseInt(iTargetJQ.css("borderLeftWidth"))+iTargetJQ[0].scrollWidth+parseInt(iTargetJQ.css("borderRightWidth"))+parseInt(iTargetJQ.css("marginRight")),targetParentOffset.left+parseInt(targetParentJQ.css("marginLeft"))+parseInt(targetParentJQ.css("borderLeftWidth"))+targetParentPaddingLeft,targetParentJQ[0].clientWidth-targetParentPaddingLeft-parseInt(targetParentJQ.css("paddingRight")));if(diff!==0){var pos=targetParentJQ.scrollLeft()+diff;if(Math.abs(diff)>targetParentJQ.width()){var targetJQpostionLeft=iTargetJQ.position().left;pos=targetParentJQ.scrollLeft()+targetJQpostionLeft}else{animationSpeed="none"}l_scrollToTarget(targetParentJQ,pos,animationSpeed,"scrollLeft");updated=true}}if(targetParentJQ[0].scrollHeight>targetParentJQ.height()){var targetParentPaddingTop=parseInt(targetParentJQ.css("paddingTop"));var diff=l_computeTargetMinimalAdjustment(targetOffset.top,parseInt(iTargetJQ.css("marginTop"))+parseInt(iTargetJQ.css("borderTopWidth"))+iTargetJQ[0].scrollHeight+parseInt(iTargetJQ.css("borderBottomWidth"))+parseInt(iTargetJQ.css("marginBottom")),targetParentOffset.top+parseInt(targetParentJQ.css("marginTop"))+parseInt(targetParentJQ.css("borderTopWidth"))+targetParentPaddingTop,targetParentJQ[0].clientHeight-targetParentPaddingTop-parseInt(targetParentJQ.css("paddingBottom")));if(diff!==0){var pos=targetParentJQ.scrollTop()+diff;if(Math.abs(diff)>targetParentJQ.height()){var targetJQpostionTop=iTargetJQ.position().top;pos=targetParentJQ.scrollTop()+targetJQpostionTop}else{animationSpeed="none"}l_scrollToTarget(targetParentJQ,pos,animationSpeed,"scrollTop");updated=true}}return updated}exports.scrollToTarget=scrollToTarget;function getHCID(iTarget){if(!iTarget)return Number.NaN;return parseInt(iTarget.data("hoopsid"),10)}exports.getHCID=getHCID;function activateUI(iButtonID,iPanelID){if(iPanelID){var panelJQ=hide(iPanelID,false).addClass("active");fixMenuPanelInwardToolbar(panelJQ)}if(iButtonID){var buttonJQ=$(iButtonID);buttonJQ.addClass("active-button");scrollToTarget(buttonJQ,"none");eDwEventMgr.get().fireEvent(eDwEvents_9.ActivateUIOpEvent,buttonJQ)}}exports.activateUI=activateUI;function deactivateUI(iButtonCSSClassName,iPanelCSSClassName){if(iButtonCSSClassName===void 0){iButtonCSSClassName=""}if(iPanelCSSClassName===void 0){iPanelCSSClassName=""}var activeButtonsJQ=$(iButtonCSSClassName+".active-button");if(activeButtonsJQ.length){eDwEventMgr.get().fireEvent(eDwEvents_9.DeactivateUIOpEvent,activeButtonsJQ);activeButtonsJQ.removeClass("active-button")}var panelsJQ=hide(iPanelCSSClassName+".active",true).removeClass("active");panelsJQ.each(function(iIdx,iPanel){fixMenuPanelInwardToolbar($(iPanel),true)});return activeButtonsJQ}exports.deactivateUI=deactivateUI;function isIDInJQuery(iListJQ,iID){var inJQList=false;for(var key in iListJQ){if(iListJQ[key].id===iID){inJQList=true;break}}return inJQList}exports.isIDInJQuery=isIDInJQuery;function isStateOn(iID){return $(iID).hasClass("state-on-button")}exports.isStateOn=isStateOn;function resetToHomeView(iViewer){var resetCmd=new eDwResetCmd(iViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(resetCmd);cmdMgr.remove(resetCmd,"commit")}exports.resetToHomeView=resetToHomeView;function getViewerElementName(){return"edrawings-viewer"}exports.getViewerElementName=getViewerElementName;function getViewerElementID(){return"#"+getViewerElementName()}exports.getViewerElementID=getViewerElementID;function makeResult(iExcp){var result={ErrorCode:"UnknownError",ErrorData:[]};if(iExcp instanceof eDwResultError){result=iExcp.Result}else if(iExcp instanceof eDwAJAXError){result.ErrorCode=iExcp.ErrorCode;result.ErrorData=[iExcp.message]}else{result.ErrorCode=iExcp.name;result.ErrorData=[iExcp.message]}return result}exports.makeResult=makeResult;function viewFile(iModelName,iModelKey,iParams,iContainerName,iModelData){return __awaiter(this,void 0,void 0,function(){function createViewer(iWebSocketEndpoint){if(iWebSocketEndpoint===""){return null}var streamAlways=iParams.StreamAlwaysConnected;var streamModes=eDwTypes_17.HC.StreamingMode;var webViewerInfo={};webViewerInfo.containerId=iContainerName;webViewerInfo.model=iModelKey;webViewerInfo.endpointUri=iWebSocketEndpoint;webViewerInfo.streamingMode=streamAlways?streamModes.Interactive:streamModes.All;webViewerInfo.streamingMode=iModelData?null:webViewerInfo.streamingMode;webViewerInfo.buffer=iModelData;webViewerInfo.boundingPreviewMode=eDwTypes_17.HC.BoundingPreviewMode.None;eDwEventMgr.get().addEventHandlerFunc(eDwEvents_9.GLContextLostEvent,c_onContextLost);var viewer=new eDwView(webViewerInfo,iParams);hide("#"+iContainerName,false);var modelName=iModelName;if(!iModelName){modelName=iModelKey}$("#edrawings-filename-text").html(decodeURIComponent(modelName));console.debugLog("ModelLoad","Created new edw viewer");return viewer}var wsEndPt,_a;return __generator(this,function(_b){switch(_b.label){case 0:if(!iModelData)return[3,1];_a=null;return[3,3];case 1:return[4,eDwServiceMgr.get().getWebSocketEndpoint(iModelKey,iParams.WebSocketEndpoint)];case 2:_a=_b.sent();_b.label=3;case 3:wsEndPt=_a;return[2,createViewer(wsEndPt)]}})})}exports.viewFile=viewFile;function fixMenuPanelInwardToolbar(iPanelJQ,iToClear){if(iToClear===void 0){iToClear=false}if(iToClear){iPanelJQ.removeClass("edrawings-collided");return}if(iPanelJQ.hasClass("edrawings-hud-menu")){var panel=iPanelJQ[0];if(panel.scrollHeight>panel.clientHeight){iPanelJQ.addClass("edrawings-collided")}else{iPanelJQ.removeClass("edrawings-collided")}}else if(iPanelJQ.hasClass("edrawings-submenu")){var wrapperJQ=iPanelJQ.find(".edrawings-menu-panel-wrapper");var wasCollided=iPanelJQ.hasClass("edrawings-collided");if(iPanelJQ[0].scrollHeight>iPanelJQ[0].clientHeight&&iPanelJQ[0].scrollHeight-iPanelJQ[0].clientHeight>1||wrapperJQ[0].scrollHeight>wrapperJQ[0].clientHeight&&wrapperJQ[0].scrollHeight-wrapperJQ[0].clientHeight>1){if(!wasCollided){iPanelJQ.addClass("edrawings-collided")}iPanelJQ.addClass("edrawings-wiggle");setTimeout(function(){iPanelJQ.removeClass("edrawings-wiggle")},0)}else{iPanelJQ.removeClass("edrawings-collided");if(wasCollided){fixMenuPanelInwardToolbar(iPanelJQ)}}}}exports.fixMenuPanelInwardToolbar=fixMenuPanelInwardToolbar;function positionMenuPanelArrowCollapseButton(iPanelJQ,iButtonJQ){if(!iPanelJQ.hasClass("edrawings-collapsed")){l_setMenuPanelArrowCollapseButtonPosition(iPanelJQ);fixMenuPanelInwardToolbar(iPanelJQ)}else{if(iButtonJQ){var arrowCollapseButtonJQ=iPanelJQ.find(".edrawings-menu-panel-arrow-collapse");var activeButtonRect=iButtonJQ[0].getBoundingClientRect();var arrowCollapseButtonRect=arrowCollapseButtonJQ[0].getBoundingClientRect();var diffTop=activeButtonRect.top-arrowCollapseButtonRect.top;l_setMenuPanelArrowCollapseButtonPosition(arrowCollapseButtonJQ,arrowCollapseButtonJQ.position().top+diffTop)}fixMenuPanelInwardToolbar(iPanelJQ,true)}}exports.positionMenuPanelArrowCollapseButton=positionMenuPanelArrowCollapseButton;function executeScrolling(iDiffX,iDiffY,iContentJQ,iBarJQ){var contentParentJQ=iContentJQ.parent();var leftButtonWrapperJQ=contentParentJQ.find(".edrawings-arrow-wrapper:has(> .edrawings-arrow-left)");var rightButtonWrapperJQ=contentParentJQ.find(".edrawings-arrow-wrapper:has(> .edrawings-arrow-right)");var upButtonWrapperJQ=contentParentJQ.find(".edrawings-arrow-wrapper:has(> .edrawings-arrow-up)");var downButtonWrapperJQ=contentParentJQ.find(".edrawings-arrow-wrapper:has(> .edrawings-arrow-down)");if(iContentJQ[0].scrollWidth>iContentJQ.width()){var scrollLeft=iContentJQ.scrollLeft();var newScrollLeft=scrollLeft+iDiffX;iContentJQ.scrollLeft(newScrollLeft);adjustScrollArrows(iContentJQ.scrollLeft(),iContentJQ[0].scrollWidth,iContentJQ.width(),true,leftButtonWrapperJQ,rightButtonWrapperJQ,iBarJQ)}if(iContentJQ[0].scrollHeight>iContentJQ.height()){var scrollTop=iContentJQ.scrollTop();var newScrollTop=scrollTop+iDiffY;iContentJQ.scrollTop(newScrollTop);adjustScrollArrows(iContentJQ.scrollTop(),iContentJQ[0].scrollHeight,iContentJQ.height(),false,upButtonWrapperJQ,downButtonWrapperJQ,iBarJQ)}return iDiffX!==0||iDiffY!==0}exports.executeScrolling=executeScrolling;function enableScrollOnTouch(ioUIHTMLEventMgr,iContentJqSel,iBarJqSel,iHandlerOnScroll){var contentJQ=$(iContentJqSel);var barJQ=iBarJqSel?$(iBarJqSel):undefined;var hasScrolled=false;var stopClickTarget;var stopClickPropagation=false;ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"touchstart",function(iEventStart){hasScrolled=false;stopClickPropagation=false;stopClickTarget=undefined;var touchEventStart=iEventStart;var lastScreenX=touchEventStart.changedTouches[0].screenX;var lastScreenY=touchEventStart.changedTouches[0].screenY;ioUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchmove");ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"touchmove",function(iEventMove){var touchEventMove=iEventMove;var xDiff=touchEventMove.changedTouches[0].screenX-lastScreenX;lastScreenX=touchEventMove.changedTouches[0].screenX;var yDiff=touchEventMove.changedTouches[0].screenY-lastScreenY;lastScreenY=touchEventMove.changedTouches[0].screenY;var updated=executeScrolling(-xDiff,-yDiff,contentJQ,barJQ);if(updated&&iHandlerOnScroll){iHandlerOnScroll()}hasScrolled=hasScrolled||updated})});ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"touchend",function(iEvent){var touchEvent=iEvent;ioUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchmove");if(hasScrolled){touchEvent.preventDefault();touchEvent.stopPropagation();stopClickPropagation=true;stopClickTarget=touchEvent.target}else{stopClickPropagation=false;stopClickTarget=undefined}hasScrolled=false});ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"touchcancel",function(iEvent){ioUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchmove");hasScrolled=false;stopClickPropagation=false});ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"mousedown",function(iEvent){hasScrolled=false;stopClickPropagation=false;if(!eDwKeyMgr_5.eDwKeyMgr.isLMBPressed(iEvent)){return}var eventDown=iEvent;var lastScreenX=eventDown.screenX;var lastScreenY=eventDown.screenY;ioUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"mousemove");ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"mousemove",function(iEventMove){var eventMove=iEventMove;var xDiff=eventMove.screenX-lastScreenX;var yDiff=eventMove.screenY-lastScreenY;lastScreenX=eventMove.screenX;lastScreenY=eventMove.screenY;var updated=executeScrolling(-xDiff,-yDiff,contentJQ,barJQ);if(updated&&iHandlerOnScroll){iHandlerOnScroll()}hasScrolled=hasScrolled||updated})});ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"mouseup",function(iEvent){ioUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"mousemove");if(hasScrolled){iEvent.stopImmediatePropagation();iEvent.preventDefault();stopClickPropagation=true;stopClickTarget=iEvent.target}else{stopClickPropagation=false;stopClickTarget=undefined}hasScrolled=false});var propagationHandler=function(iEvent2){if(stopClickPropagation&&iEvent2.target===stopClickTarget){iEvent2.stopImmediatePropagation();iEvent2.preventDefault()}stopClickPropagation=false;stopClickTarget=undefined};var nameSpace=iContentJqSel.replace(/[\.\s]/g,"");var dataKey="click.edw."+nameSpace;contentJQ.off(dataKey,"*");contentJQ.on(dataKey,"*",propagationHandler)}exports.enableScrollOnTouch=enableScrollOnTouch;function disableScrollOnTouch(iUIHTMLEventMgr,iContentJqSel){iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchstart");iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchmove");iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchend");iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchcancel");iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"mousedown");iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"mousemove");iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"mouseup");var contentJQ=$(iContentJqSel);var nameSpace=iContentJqSel.replace(/[\.\s]/g,"");var dataKey="click.edw."+nameSpace;contentJQ.off(dataKey,"*")}exports.disableScrollOnTouch=disableScrollOnTouch;function adjustScrollArrows(iOffset,iRange,iVisibleRange,isHorizonatalScrolling,iDecreaseWrapperJQ,iIncreaseWrapperJQ,iBarJQ){if(iOffset<=0){iDecreaseWrapperJQ.addClass("edrawings-disabled-button");if(iBarJQ){iBarJQ.addClass(isHorizonatalScrolling?"edrawings-removed-arrow-left":"edrawings-removed-arrow-up")}}else{iDecreaseWrapperJQ.removeClass("edrawings-disabled-button");if(iBarJQ){iBarJQ.removeClass(isHorizonatalScrolling?"edrawings-removed-arrow-left":"edrawings-removed-arrow-up")}}if(iOffset+iVisibleRange>=iRange){iIncreaseWrapperJQ.addClass("edrawings-disabled-button");if(iBarJQ){iBarJQ.addClass(isHorizonatalScrolling?"edrawings-removed-arrow-right":"edrawings-removed-arrow-down")}}else{iIncreaseWrapperJQ.removeClass("edrawings-disabled-button");if(iBarJQ){iBarJQ.removeClass(isHorizonatalScrolling?"edrawings-removed-arrow-right":"edrawings-removed-arrow-down")}}}exports.adjustScrollArrows=adjustScrollArrows;var l_generators={};function l_getAllDisplayStateCSSClasses(iHierNode){var classes="";for(var displayState in eDwNodeAttributes_3.NodeDisplayState){classes+="edrawings-"+iHierNode.Category+"-"+displayState.toLowerCase()+" "}return classes}function l_populatePanel(iViewer,iCategoryName,iListID,iPanelUIID,iAdditionalClasses){if(iAdditionalClasses===void 0){iAdditionalClasses=""}return __awaiter(this,void 0,void 0,function(){var activeModelView,list,gen,_a,_b;return __generator(this,function(_c){switch(_c.label){case 0:activeModelView=iViewer.getModel().getActiveModelView();if(!activeModelView||!activeModelView.Hierarchy)return[2];list=$(iListID);list.empty();gen=getUIGenerator(iPanelUIID);_b=(_a=list).append;return[4,gen.generateHTML(iAdditionalClasses)];case 1:_b.apply(_a,[_c.sent()]);return[2]}})})}function l_populateLayerPanel(iViewer){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,l_populatePanel(iViewer,"layer","#edrawings-layer-control-list","#edrawings-layer-control-menu")];case 1:_a.sent();return[2]}})})}function l_populateDebugPanel(iViewer){var list=$("#edrawings-debug-menu .edrawings-submenu-list");list.empty();var gen=getUIGenerator("#edrawings-debug-menu");var modelView=iViewer.getModel().getActiveModelView();if(modelView&&modelView.Hierarchy){list.append(gen.generateHTMLForNode(modelView.Hierarchy.HOOPSID,0," edrawings-tree-expanded ",true));list.append(gen.generateHTMLForChildNodes(modelView.Hierarchy.HOOPSID,false,4))}}var c_onContextLost=function(){(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,eDwUIMessageReporter.showMessagePanelFromCSScontent("edrawings-glcontextlost")];case 1:_a.sent();return[2]}})})})()};function l_setMenuPanelArrowCollapseButtonPosition(iPanelJQ,iTop){var buttonJQ=iPanelJQ;if(!iPanelJQ.hasClass("edrawings-menu-panel-arrow-collapse")){buttonJQ=iPanelJQ.find(".edrawings-menu-panel-arrow-collapse")}buttonJQ.css("top",typeof iTop==="undefined"?"":iTop)}function l_computeTargetMinimalAdjustment(iTargetSide,iTargetOffset,iReferenceSide,iReferenceOffset){var diff=0;if(iTargetSideiReferenceSide+iReferenceOffset){diff=iTargetSide+iTargetOffset-(iReferenceSide+iReferenceOffset)}return diff}function l_scrollToTarget(iTargetJQ,iPos,iAnimationSpeed,iStartPos){if(iAnimationSpeed===void 0){iAnimationSpeed="slow"}if(iStartPos===void 0){iStartPos="scrollTop"}var _a;if(!iTargetJQ)return;if(iAnimationSpeed==="none"){iTargetJQ[iStartPos](iPos)}else{iTargetJQ.animate((_a={},_a[iStartPos]=iPos,_a),iAnimationSpeed)}}});define("eDwView",["require","exports","eDwSelMgr","eDwXSectionMgr","eDwViewMgr","eDwTimer","eDwOperatorBaseDeps","eDwEventMgr","eDwHistoryMgr","eDwModel","eDwTypes","eDwEvents","eDwTouchOpsMgr","eDwTableMgr"],function(require,exports,eDwSelMgr,eDwXSectionMgr,eDwViewMgr,eDwTimer,eDwOperatorBaseDeps_3,eDwEventMgr,eDwHistoryMgr,eDwModel,eDwTypes_18,eDwEvents_10,eDwTouchOpsMgr,eDwTableMgr){"use strict";var eDwView=function(){function eDwView(iViewerInfo,iFeatureOptions){this.mElemID=iViewerInfo.containerId;this.HCViewer=new eDwTypes_18.HC.WebViewer(iViewerInfo);this.mTimer=new eDwTimer;this.ViewerFeatureOpts=iFeatureOptions;this.mDrawMode=iFeatureOptions.RenderType;this.OperatorMgr=new eDwOperatorBaseDeps_3.eDwOperatorMgr(this);this.TableMgr=new eDwTableMgr(this);var streamAll=this.HCViewer.getStreamingMode()===eDwTypes_18.HC.StreamingMode.All;var timeBeforeTimeout=streamAll?14400:120;var timeBeforeWarnTimeout=timeBeforeTimeout-10;this.HCViewer.setClientTimeout(timeBeforeTimeout,timeBeforeWarnTimeout);this.mFitCamera=null;this.mModelKey=iViewerInfo.model;this.setupWebViewer()}eDwView.prototype.getHCView=function(){return this.HCViewer.view};eDwView.prototype.getHCMarkupManager=function(){return this.HCViewer.markupManager};eDwView.prototype.getModel=function(){if(!this.mModel){this.mModel=new eDwModel(this)}return this.mModel};eDwView.prototype.processProductStructure=function(){var _this=this;this.mFitCamera=this.getHCView().getCamera();$("#"+this.mElemID).trigger("edw:ModelDataLoadComplete",this);this.finishInit();if(this.HCViewer.getStreamingMode()===eDwTypes_18.HC.StreamingMode.All){this.HCViewer.waitForIdle().then(function(){l_closeHCConnection(_this)})}};eDwView.prototype.setupWebViewer=function(){var _this=this;var processingSelection=false;var eventMgr=eDwEventMgr.get();function deprecatedCallback(iDeprecatedFuncName){var argArray=[];for(var key in arguments){argArray.push(arguments[key])}console.debugLog("Deprecated","Deprecated call: "+argArray.join("."))}this.mHCCallbacksObj={sceneReady:function(){console.debugLog("ViewerLoad","Scene ready");_this.HCViewer.resizeCanvas()},streamingActivated:function(){console.debugLog("Viewer","Streaming activated")},streamingDeactivated:function(){console.debugLog("Viewer","Streaming deactivated")},selection:function(iSelEvent){if(!processingSelection){processingSelection=true;try{_this.SelectionMgr.onSelection(iSelEvent)}catch(iException){}processingSelection=false}},timeoutWarning:function(iRemainingMinutes){console.debugLog("Viewer","Inactivity timeout pending in "+iRemainingMinutes+" minutes.");_this.mTimer.ellapsed();_this.mTimer.dumpToConsole()},timeout:function(){console.debugLog("Viewer","Inactivity timeout");_this.mTimer.ellapsed();_this.mTimer.dumpToConsole();eventMgr.fireEvent(eDwEvents_10.TimeoutEvent,_this);l_closeHCConnection(_this)},modelLoadFailure:function(iModelName,iReason){console.warn("Model "+iModelName+" load failed: "+iReason);$("#"+_this.mElemID).trigger("edw:ModelLoadFailed",[_this,iModelName,iReason]);l_closeHCConnection(_this)},deprecated:deprecatedCallback,info:function(iInfoType,iMsg){console.debugLog("Debug",iInfoType.toString()+" "+iMsg)},missingModel:function(iModelPath){console.debugLog("Debug","Missing model: "+iModelPath);l_closeHCConnection(_this)},webGlContextLost:function(){console.debugLog("Debug","Browser lost GL context! Render incomplete!!");eventMgr.fireEvent(eDwEvents_10.GLContextLostEvent,_this);l_closeHCConnection(_this)},click:function(iMousePos,iEvent){console.debugLog("Debug","Mouse clicked")},modelStructureReady:function(){console.debugLog("ViewerLoad","Model structure ready.");$("#"+_this.mElemID).trigger("edw:ModelLoaded",_this)},modelSwitched:function(){console.debugLog("ViewerLoad","Model switch done.");$("#"+_this.mElemID).trigger("edw:ModelLoaded",_this)},viewCreated:function(iHCView){eventMgr.fireEvent(eDwEvents_10.ViewCreatedEvent,iHCView)},viewLoaded:function(iHCView){eventMgr.fireEvent(eDwEvents_10.ViewLoadedEvent,iHCView)},viewDeleted:function(iHCView){eventMgr.fireEvent(eDwEvents_10.ViewDeletedEvent,iHCView)},camera:function(iCamera){eventMgr.fireEvent(eDwEvents_10.CameraChangeEvent,iCamera)}};this.HCViewer.setCallbacks(this.mHCCallbacksObj);this.HCViewer.start()};eDwView.prototype.getInitCamera=function(){return this.mFitCamera};eDwView.prototype.getCurrModelKey=function(){return this.mModelKey};eDwView.prototype.unregister=function(){if(this.HCViewer)this.HCViewer.unsetCallbacks(this.mHCCallbacksObj);this.OperatorMgr.unregisterAll();eDwEventMgr.get().fireEvent(eDwEvents_10.DoneEvent,this)};eDwView.prototype.destroy=function(){this.HCViewer.shutdown()};eDwView.prototype.setExplosionLevel=function(iLevel){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.HCViewer.explodeManager.setMagnitude(iLevel)];case 1:_a.sent();eDwEventMgr.get().fireEvent(eDwEvents_10.ExplodeLevelChangeEvent,this,iLevel);return[2]}})})})()};eDwView.prototype.getExplosionLevel=function(){return this.HCViewer.explodeManager.getMagnitude()};eDwView.prototype.getDrawMode=function(){return this.mDrawMode};eDwView.prototype.setDrawMode=function(iValue){var view=this.getHCView();var settings=view.getHiddenLineSettings();switch(iValue){case"ShadedWithEdges":view.setDrawMode(eDwTypes_18.HC.DrawMode.WireframeOnShaded);this.SelectionMgr.setColorForViewMode(eDwTypes_18.HC.DrawMode.WireframeOnShaded);break;case"Shaded":view.setDrawMode(eDwTypes_18.HC.DrawMode.Shaded);this.SelectionMgr.setColorForViewMode(eDwTypes_18.HC.DrawMode.Shaded);break;case"HiddenLinesRemoved":settings.setObscuredLineTransparency(0);view.setDrawMode(eDwTypes_18.HC.DrawMode.HiddenLine);this.SelectionMgr.setColorForViewMode(eDwTypes_18.HC.DrawMode.HiddenLine);break;case"HiddenLinesVisible":settings.setObscuredLineTransparency(.5);view.setDrawMode(eDwTypes_18.HC.DrawMode.HiddenLine);this.SelectionMgr.setColorForViewMode(eDwTypes_18.HC.DrawMode.HiddenLine);break;case"Wireframe":settings.setObscuredLineTransparency(1);view.setDrawMode(eDwTypes_18.HC.DrawMode.HiddenLine);this.SelectionMgr.setColorForViewMode(eDwTypes_18.HC.DrawMode.HiddenLine);break;default:throw new Error("Unknown draw mode: "+iValue)}this.mDrawMode=iValue;eDwEventMgr.get().fireEvent(eDwEvents_10.DrawModeChangeEvent,this,iValue)};eDwView.prototype.getPerspectiveMode=function(){return this.getHCView().getProjectionMode()===eDwTypes_18.HC.Projection.Perspective};eDwView.prototype.setPerspectiveMode=function(iValue){if(!iValue){this.getHCView().setProjectionMode(eDwTypes_18.HC.Projection.Orthographic)}else{this.getHCView().setProjectionMode(eDwTypes_18.HC.Projection.Perspective)}eDwEventMgr.get().fireEvent(eDwEvents_10.ProjModeChangeEvent,this,iValue);return iValue};eDwView.prototype.resetDrawMode=function(){this.setDrawMode(this.ViewerFeatureOpts.RenderType)};eDwView.prototype.initializeManagers=function(){new eDwSelMgr(this);new eDwXSectionMgr(this);new eDwViewMgr(this);new eDwTouchOpsMgr(this)};eDwView.prototype.drawDebugBoundingBox=function(iBBox){return __awaiter(this,void 0,void 0,function(){var modelHC,beautifulGreen,vmin,vmax,p0,p1,p2,p3,p4,p5,p6,p7,polylineData0,polylineData1,polylineData2,polylineData3,rgba,i,tmp,boxMesh,key,meshInstance;return __generator(this,function(_a){switch(_a.label){case 0:modelHC=this.getModel().getHCModel();beautifulGreen=new eDwTypes_18.HC.Color(0,255,0);vmin=iBBox.min;vmax=iBBox.max;p0=new eDwTypes_18.HC.Point3(vmin.x,vmin.y,vmax.z);p1=new eDwTypes_18.HC.Point3(vmin.x,vmax.y,vmax.z);p2=new eDwTypes_18.HC.Point3(vmax.x,vmax.y,vmax.z);p3=new eDwTypes_18.HC.Point3(vmax.x,vmin.y,vmax.z);p4=new eDwTypes_18.HC.Point3(vmin.x,vmin.y,vmin.z);p5=new eDwTypes_18.HC.Point3(vmin.x,vmax.y,vmin.z);p6=new eDwTypes_18.HC.Point3(vmax.x,vmax.y,vmin.z);p7=new eDwTypes_18.HC.Point3(vmax.x,vmin.y,vmin.z);polylineData0=[p0.x,p0.y,p0.z,p1.x,p1.y,p1.z,p2.x,p2.y,p2.z,p3.x,p3.y,p3.z,p0.x,p0.y,p0.z];polylineData1=[p4.x,p4.y,p4.z,p5.x,p5.y,p5.z,p6.x,p6.y,p6.z,p7.x,p7.y,p7.z,p4.x,p4.y,p4.z];polylineData2=[p4.x,p4.y,p4.z,p0.x,p0.y,p0.z,p1.x,p1.y,p1.z,p5.x,p5.y,p5.z,p4.x,p4.y,p4.z];polylineData3=[p7.x,p7.y,p7.z,p3.x,p3.y,p3.z,p2.x,p2.y,p2.z,p6.x,p6.y,p6.z,p7.x,p7.y,p7.z];rgba=[];for(i=0;i<5;i++){tmp=[beautifulGreen.r,beautifulGreen.g,beautifulGreen.b,255];rgba=rgba.concat(tmp)}boxMesh=new eDwTypes_18.HC.MeshData;boxMesh.addPolyline(polylineData0,rgba);boxMesh.addPolyline(polylineData1,rgba);boxMesh.addPolyline(polylineData2,rgba);boxMesh.addPolyline(polylineData3,rgba);return[4,modelHC.createMesh(boxMesh)];case 1:key=_a.sent();meshInstance=new eDwTypes_18.HC.MeshInstanceData(key);return[2,modelHC.createMeshInstance(meshInstance)]}})})};eDwView.prototype.finishInit=function(){eDwEventMgr.get().fireEvent(eDwEvents_10.InitEvent,this);this.HCViewer.enableBackgroundSheet(false);eDwHistoryMgr.get().clear()};return eDwView}();function l_closeHCConnection(iViewer){if(!iViewer)return;var viewHC=iViewer.getHCView();viewHC.setCamera(viewHC.getCamera());console.debugLog("Viewer","Closing viewer connection...");iViewer.HCViewer.closeConnection()}return eDwView});define("eDwViewMgr",["require","exports","eDwEventMgr","eDwEvents","eDwTypes"],function(require,exports,eDwEventMgr,eDwEvents_11,eDwTypes_19){"use strict";var eDwViewMgr=function(){function eDwViewMgr(iViewer){if(!iViewer)throw new Error("Must have viewer object");iViewer.ViewMgr=this;this.mViewAnimationIndex=0;this.mViewAnimationActive=false;this.mAnimationTimeOutID=-1;this.mViewer=iViewer}eDwViewMgr.prototype.start=function(){if(this.mViewer.getModel().isDrawing())return;eDwEventMgr.get().fireEvent(eDwEvents_11.StartAnimationEvent,this.mViewer);this.mViewAnimationActive=true;this.animateNextView()};eDwViewMgr.prototype.stop=function(){this.mViewAnimationActive=false;if(this.mAnimationTimeOutID>-1){window.clearTimeout(this.mAnimationTimeOutID);this.mAnimationTimeOutID=-1}eDwEventMgr.get().fireEvent(eDwEvents_11.StopAnimationEvent,this.mViewer)};eDwViewMgr.prototype.reset=function(){this.stop();this.mViewAnimationIndex=0};eDwViewMgr.prototype.isActive=function(){return this.mViewAnimationActive};eDwViewMgr.prototype.setViewOrientation=function(iEyeDir,iDuration){var _this=this;if(iDuration===void 0){iDuration=400}var center=this.mViewer.getModel().getBoundingBox().center();var viewHC=this.mViewer.getHCView();var camera=viewHC.getCamera().copy();var pos=camera.getPosition().copy();var target=camera.getTarget();var up=camera.getUp();pos=pos.subtract(target);var dist=pos.length();switch(iEyeDir){case Communicator.ViewOrientation.Front:pos.set(0,0,1).scale(dist).add(center);up.set(0,1,0);break;case Communicator.ViewOrientation.Back:pos.set(0,0,-1).scale(dist).add(center);up.set(0,1,0);break;case Communicator.ViewOrientation.Left:pos.set(-1,0,0).scale(dist).add(center);up.set(0,1,0);break;case Communicator.ViewOrientation.Right:pos.set(1,0,0).scale(dist).add(center);up.set(0,1,0);break;case Communicator.ViewOrientation.Top:pos.set(0,1,0).scale(dist).add(center);up.set(0,0,-1);break;case Communicator.ViewOrientation.Bottom:pos.set(0,-1,0).scale(dist).add(center);up.set(0,0,1);break;case Communicator.ViewOrientation.Iso:pos.set(1,1,1).normalize().scale(dist).add(center);up.set(-.408204,.816541,-.408204);break;default:throw new Error("Unsupported orientation: "+iEyeDir)}camera.setPosition(pos);camera.setTarget(center);camera.setUp(up);(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,viewHC.fitWorld(iDuration,camera)];case 1:_a.sent();return[2]}})})})();return camera};eDwViewMgr.prototype.setViewOrientationToDirection=function(normal){var camera=this.mViewer.getHCView().getCamera();var position=camera.getPosition();var target=camera.getTarget();var up=camera.getUp();var delta=target.subtract(position);var distance=delta.length();var bbox=this.mViewer.getModel().getBoundingBox();var bbox_min=bbox.min;var bbox_max=bbox.max;target=Communicator.Point3.add(bbox_max,bbox_min).scale(.5);var eyeVec=Communicator.Point3.scale(normal,distance);position=Communicator.Point3.add(target,eyeVec);var vTest=new Communicator.Point3(1,0,0);var isParallel=Communicator.Point3.dot(vTest,normal);if(Math.abs(Math.abs(isParallel)-1)<.001){vTest.set(0,1,0);var vec=Communicator.Point3.cross(normal,vTest);vec=vec.normalize();up=Communicator.Point3.cross(vec,normal);up=up.normalize()}else{up=Communicator.Point3.cross(normal,vTest);up=up.normalize()}var dotProd=Communicator.Point3.dot(up,new Communicator.Point3(1,0,0));if(Math.abs(Math.abs(dotProd)-1)<.001&&dotProd<0){up=up.negate()}dotProd=Communicator.Point3.dot(up,new Communicator.Point3(0,1,0));if(Math.abs(Math.abs(dotProd)-1)<.001&&dotProd<0){up=up.negate()}dotProd=Communicator.Point3.dot(up,new Communicator.Point3(0,0,1));if(Math.abs(Math.abs(dotProd)-1)<.001&&dotProd<0){up=up.negate()}camera.setPosition(position);camera.setTarget(target);camera.setUp(up);this.setCamera(camera,500);return camera};eDwViewMgr.prototype.setCamera=function(iCamera,iTimeInMS){if(iTimeInMS===void 0){iTimeInMS=400}this.mViewer.getHCView().setCamera(iCamera,iTimeInMS)};eDwViewMgr.prototype.enableAmbientOcclusion=function(iEnable){this.mViewer.getHCView().setAmbientOcclusionEnabled(iEnable);eDwEventMgr.get().fireEvent(eDwEvents_11.AmbientOcclChangeEvent,this,iEnable)};eDwViewMgr.prototype.fitScreenToNodes=function(iNodeHCIDs,ioCamera){return __awaiter(this,void 0,void 0,function(){var modelHC,bbox,subtract,viewVec,center,add,ratio,boxMaxLen;return __generator(this,function(_a){switch(_a.label){case 0:if(!ioCamera)return[2];modelHC=this.mViewer.getModel().getHCModel();return[4,modelHC.getNodesBounding(iNodeHCIDs)];case 1:bbox=_a.sent();subtract=eDwTypes_19.HC.Point3.subtract;viewVec=subtract(ioCamera.getPosition(),ioCamera.getTarget());center=bbox.center().copy();ioCamera.setTarget(center);add=eDwTypes_19.HC.Point3.add;ioCamera.setPosition(add(center,viewVec));ratio=ioCamera.getWidth()/ioCamera.getHeight();if(this.mViewer.getModel().isDrawing()){bbox.min.z=bbox.max.z=0}boxMaxLen=bbox.extents().length();ioCamera.setHeight(boxMaxLen);ioCamera.setWidth(boxMaxLen*ratio);this.setCamera(ioCamera,400);return[2]}})})};eDwViewMgr.prototype.onCameraUpdate=function(){this.mViewAnimationIndex+=1;if(this.mViewAnimationIndex>=eDwViewMgr.viewAnimations.length){this.mViewAnimationIndex=0;this.mViewAnimationActive=false;this.stop()}if(this.mViewAnimationActive){this.animateNextView()}};eDwViewMgr.prototype.animateNextView=function(){var _this=this;if(this.mViewAnimationActive){this.setViewOrientation(eDwViewMgr.viewAnimations[this.mViewAnimationIndex],2e3);this.mAnimationTimeOutID=window.setTimeout(function(){_this.onCameraUpdate()},2e3)}};eDwViewMgr.viewAnimations=[Communicator.ViewOrientation.Front,Communicator.ViewOrientation.Back,Communicator.ViewOrientation.Left,Communicator.ViewOrientation.Right,Communicator.ViewOrientation.Bottom,Communicator.ViewOrientation.Top,Communicator.ViewOrientation.Iso];return eDwViewMgr}();return eDwViewMgr});define("eDwXSectionMgr",["require","exports","eDwXSectionOperator","eDwGeomUtils","eDwTypes","eDwTypes"],function(require,exports,eDwXSectionOperator,eDwGeomUtils,eDwTypes_20,eDwTypes_21){"use strict";var eDwXSectionMgr=function(){function eDwXSectionMgr(iViewer){iViewer.XSectionMgr=this;this.mViewer=iViewer;var xSectionOp=new eDwXSectionOperator(iViewer);this.mXSectionOpID=iViewer.OperatorMgr.registerCustomOperator(xSectionOp);this.HCXSectionMgr=iViewer.HCViewer.cuttingManager;this.SectionCapVisibility=false;this.mXSectionIndex=eDwTypes_20.SectionPlaneOrientation.XY.Index;this.mSectionVisibility=true;this.mSectionsVisibilityState=[false,false,false]}eDwXSectionMgr.prototype.unregister=function(){this.mViewer.OperatorMgr.unregisterCustomOperatorByID(this.mXSectionOpID);this.mViewer.XSectionMgr=null};eDwXSectionMgr.prototype.turnOnSectionPlane=function(iOn){var _this=this;if(this.getHCXSection()){if(iOn){(function(){return __awaiter(_this,void 0,void 0,function(){var ret;return __generator(this,function(_a){switch(_a.label){case 0:ret=this.mViewer.OperatorMgr.push(this.mXSectionOpID);console.debugLog("Section","Section plane operator push ret = "+ret);return[4,this.HCXSectionMgr.setCappingGeometryVisibility(true)];case 1:_a.sent();return[2]}})})})()}else{var opID=this.mViewer.OperatorMgr.pop();console.debugLog("Section","Popped op ID = "+opID+" xSection op ID = "+this.mXSectionOpID)}}};eDwXSectionMgr.prototype.activateCurrent=function(){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.getHCXSection().activate()];case 1:_a.sent();return[4,this.setToCurrentSectionPlane()];case 2:_a.sent();if(!!this.mSectionVisibility)return[3,4];return[4,this.updateSectionVisibility(false)];case 3:_a.sent();_a.label=4;case 4:return[2]}})})})()};eDwXSectionMgr.prototype.deactivateCurrent=function(){var _this=this;this.mSectionsVisibilityState=[false,false,false];(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.getHCXSection().deactivate()];case 1:_a.sent();return[2]}})})})()};eDwXSectionMgr.prototype.isCurrentActive=function(){return this.getHCXSection().isActive()};Object.defineProperty(eDwXSectionMgr.prototype,"SectionIndex",{get:function(){return this.mXSectionIndex},enumerable:true,configurable:true});eDwXSectionMgr.prototype.setSectionPlane=function(ioSection,iAllowActivation){if(iAllowActivation===void 0){iAllowActivation=true}return __awaiter(this,void 0,void 0,function(){var bbox,bboxExtents,sectionHC,boxCenter,sectionPlane,minPlanePt,maxPlanePt,vec,centerPt,dir,mirrorPlaneNormal,mirrorPlane,maxOnPlnPt,minOnPlnPt,mirrorPlaneDist,distDir,revDistDir,pts;return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.mViewer.getModel().calculateBoundingBox()];case 1:bbox=_a.sent();bboxExtents=bbox.extents();if(!ioSection||bboxExtents.equals(eDwTypes_21.HC.Point3.zero()))return[2];sectionHC=this.getHCXSection();if(!(ioSection.Index!==this.mXSectionIndex))return[3,6];if(!sectionHC)return[3,5];if(!sectionHC.isActive())return[3,3];return[4,sectionHC.deactivate()];case 2:_a.sent();_a.label=3;case 3:return[4,this.HCXSectionMgr.refreshPlaneGeometry()];case 4:_a.sent();_a.label=5;case 5:this.mXSectionIndex=ioSection.Index;sectionHC=this.getHCXSection();_a.label=6;case 6:boxCenter=bbox.center();if(!(sectionHC.getCount()<1))return[3,9];sectionPlane=ioSection.Plane.copy();sectionPlane.d=-sectionPlane.distanceToPoint(boxCenter);minPlanePt=eDwGeomUtils.dropPointOnPlane(bbox.min,sectionPlane);maxPlanePt=eDwGeomUtils.dropPointOnPlane(bbox.max,sectionPlane);vec=maxPlanePt.copy().subtract(minPlanePt);vec=vec.scale(.55);centerPt=eDwGeomUtils.dropPointOnPlane(boxCenter,sectionPlane);dir=sectionPlane.normal.copy();centerPt=centerPt.add(dir.scale(sectionPlane.d));mirrorPlaneNormal=eDwTypes_21.HC.Point3.zero();eDwTypes_21.HC.MeasureUtils.oneVectorCross(sectionPlane.normal.copy(),mirrorPlaneNormal);mirrorPlane=eDwTypes_21.HC.Plane.createFromPointAndNormal(centerPt,mirrorPlaneNormal);maxOnPlnPt=eDwTypes_21.HC.Point3.add(centerPt,vec);minOnPlnPt=eDwTypes_21.HC.Point3.add(centerPt,vec.scale(-1));mirrorPlaneDist=mirrorPlane.distanceToPoint(maxOnPlnPt);distDir=mirrorPlaneNormal.copy().scale(2*mirrorPlaneDist);revDistDir=distDir.copy().scale(-1);pts=[];pts.push(minOnPlnPt);pts.push(eDwTypes_21.HC.Point3.add(maxOnPlnPt,revDistDir));pts.push(maxOnPlnPt);pts.push(eDwTypes_21.HC.Point3.add(minOnPlnPt,distDir));sectionHC=this.getHCXSection();return[4,sectionHC.addPlane(sectionPlane,pts)];case 7:_a.sent();return[4,sectionHC.setColor(eDwTypes_21.HC.Color.createFromFloat(0,1,0))];case 8:_a.sent();_a.label=9;case 9:return[4,this.updateSectionVisibility(this.mSectionVisibility)];case 10:_a.sent();return[4,this.HCXSectionMgr.setStandinGeometryPickable(true)];case 11:_a.sent();return[2]}})})};eDwXSectionMgr.prototype.flipSectionPlane=function(){var _this=this;var sectionHC=this.getHCXSection();if(!sectionHC)return;var sectionPlane=sectionHC.getPlane(0);if(!sectionPlane)return;sectionPlane.normal.negate();sectionPlane.d=-sectionPlane.d;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,sectionHC.updatePlane(0,sectionPlane)];case 1:_a.sent();return[2]}})})})()};eDwXSectionMgr.prototype.setViewToSectionPlane=function(){var sectionHC=this.getHCXSection();if(!sectionHC)return null;var sectionPlane=sectionHC.getPlane(0);if(!sectionPlane)return null;return this.mViewer.ViewMgr.setViewOrientationToDirection(sectionPlane.normal.copy())};eDwXSectionMgr.prototype.moveCurrentAlongNormal=function(iDistVec){var _this=this;var camera=this.mViewer.getHCView().getCamera();var camPosition=camera.getPosition();var camTarget=camera.getTarget();var camUp=camera.getUp();var camZ=camTarget.subtract(camPosition);camZ=camZ.normalize();var camY=camUp.normalize();var camX=eDwTypes_21.HC.Point3.cross(camZ,camY);var realVec=camX.scale(iDistVec.x).add(camY.scale(iDistVec.y));realVec.add(camZ.scale(iDistVec.z));var sectionHC=this.getHCXSection();var sectionPlane=sectionHC.getPlane(0);var normal=sectionPlane.normal.copy();normal=normal.normalize();var distance=eDwTypes_21.HC.Point3.dot(realVec,normal);if(Math.abs(distance)<1e-6)return;sectionPlane.d-=distance;var lenVec=normal.scale(distance);var newPosMat=new eDwTypes_21.HC.Matrix;newPosMat=newPosMat.setTranslationComponent(lenVec.x,lenVec.y,lenVec.z);(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,sectionHC.updatePlane(0,sectionPlane,newPosMat,true,false)];case 1:_a.sent();return[2]}})})})()};eDwXSectionMgr.prototype.disableSectionCapVisibility=function(iDisable){this.setSectionCapVisibility(iDisable?false:this.mEnableSectionCaps)};eDwXSectionMgr.prototype.projectPoint=function(iPnt){var sectionHC=this.getHCXSection();var sectionPlane=sectionHC.getPlane(0);return eDwGeomUtils.dropPointOnPlane(iPnt,sectionPlane)};eDwXSectionMgr.prototype.getHCXSection=function(){return this.HCXSectionMgr.getCuttingSection(this.mXSectionIndex)};eDwXSectionMgr.prototype.setSectionCapVisibility=function(iEnable){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.HCXSectionMgr.setCappingFaceColor(iEnable?cSectionCapFaceColor:null)];case 1:_a.sent();return[4,this.HCXSectionMgr.setCappingLineColor(iEnable?null:cSectionCapOutlineColor)];case 2:_a.sent();return[2]}})})})()};eDwXSectionMgr.prototype.updateSectionVisibility=function(iVisible){return __awaiter(this,void 0,void 0,function(){var activePlaneX,isSectionVisible,iExcp_16;return __generator(this,function(_a){switch(_a.label){case 0:activePlaneX=this.getHCXSection();activePlaneX.setOpacity(iVisible?cSectionPlaneOpacity:0);isSectionVisible=this.mSectionsVisibilityState[this.mXSectionIndex];this.mSectionsVisibilityState[this.mXSectionIndex]=iVisible;if(!iVisible)return[3,7];if(!(activePlaneX.isActive()&&isSectionVisible))return[3,4];_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,activePlaneX.deactivate()];case 2:_a.sent();return[3,4];case 3:iExcp_16=_a.sent();return[3,4];case 4:return[4,this.HCXSectionMgr.refreshPlaneGeometry()];case 5:_a.sent();return[4,activePlaneX.activate()];case 6:_a.sent();_a.label=7;case 7:return[2]}})})};eDwXSectionMgr.prototype.setToCurrentSectionPlane=function(){return __awaiter(this,void 0,void 0,function(){var orientation,orientations,_a,_b,_i,orientationName;return __generator(this,function(_c){switch(_c.label){case 0:orientations=eDwTypes_20.SectionPlaneOrientation;_a=[];for(_b in orientations)_a.push(_b);_i=0;_c.label=1;case 1:if(!(_i<_a.length))return[3,4];orientationName=_a[_i];orientation=orientations[orientationName];if(!(orientation.Index===this.mXSectionIndex))return[3,3];return[4,this.setSectionPlane(orientation)];case 2:_c.sent();return[2];case 3:_i++;return[3,1];case 4:return[2]}})})};Object.defineProperty(eDwXSectionMgr.prototype,"SectionCapVisibility",{get:function(){return this.mEnableSectionCaps},set:function(iEnable){this.mEnableSectionCaps=iEnable;this.setSectionCapVisibility(iEnable)},enumerable:true,configurable:true});Object.defineProperty(eDwXSectionMgr.prototype,"SectionVisibility",{set:function(iVisible){var _this=this;this.mSectionVisibility=iVisible;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.updateSectionVisibility(this.mSectionVisibility)];case 1:_a.sent();return[2]}})})})()},enumerable:true,configurable:true});return eDwXSectionMgr}();var cSectionPlaneOpacity=.3;var cSectionCapFaceColor=new eDwTypes_21.HC.Color(128,128,128);var cSectionCapOutlineColor=new eDwTypes_21.HC.Color(255,0,0);return eDwXSectionMgr});define("eDwXSectionOperator",["require","exports","eDwTypes","eDwOperatorBaseDeps","eDwCommandMgr","eDwMoveSectionPlaneCmd"],function(require,exports,eDwTypes_22,eDwOperatorBaseDeps_4,eDwCommandMgr,eDwMoveSectionPlaneCmd){"use strict";var eDwXSectionOperator=function(_super){__extends(eDwXSectionOperator,_super);function eDwXSectionOperator(iViewer){return _super.call(this,iViewer)||this}eDwXSectionOperator.prototype.onActivate=function(){_super.prototype.onActivate.call(this);this.mViewer.XSectionMgr.activateCurrent()};eDwXSectionOperator.prototype.onDeactivate=function(){this.mViewer.XSectionMgr.deactivateCurrent();_super.prototype.onDeactivate.call(this)};eDwXSectionOperator.prototype.onMouseDown=function(ioMouseEvent){if(!ioMouseEvent||!this.mViewer.XSectionMgr.isCurrentActive()){ioMouseEvent.setHandled(true);return}var selObj=eDwOperatorBaseDeps_4.eDwBaseOperator.getPickResult(ioMouseEvent);if(!selObj||selObj.getNodeId()>=0){ioMouseEvent.setHandled(false);return}_super.prototype.onMouseDown.call(this,ioMouseEvent);var sectionMgr=this.mViewer.XSectionMgr;sectionMgr.disableSectionCapVisibility(true);if(selObj){var typeOfSel=selObj.getSelectionType();selObj=typeOfSel===eDwTypes_22.HC.SelectionType.None?null:selObj}ioMouseEvent.setHandled(true);var selNodeID=selObj.getNodeId();if(selNodeID){console.debugLog("Section","sel obj = "+JSON.stringify(selObj));var sectionMgrHC=this.mViewer.XSectionMgr.HCXSectionMgr;if(sectionMgrHC.getCuttingSectionFromNodeId(selNodeID)){this.mSectionDragPt=this.screenToWorld(ioMouseEvent.getPosition())}}if(this.mMoveSectionCmd)this.mMoveSectionCmd.cancel();this.mMoveSectionCmd=new eDwMoveSectionPlaneCmd(this.mViewer)};eDwXSectionOperator.prototype.onMouseMove=function(ioMouseEvent){ioMouseEvent.setHandled(false);var crossSectionMgr=this.mViewer.XSectionMgr;if(!crossSectionMgr.isCurrentActive()){return}if(this.mCurrInputInfo&&this.mSectionDragPt){var coords=ioMouseEvent.getPosition();var current=this.screenToWorld(coords);var delta=eDwTypes_22.HC.Point3.subtract(current,this.mSectionDragPt);this.mViewer.XSectionMgr.moveCurrentAlongNormal(delta);this.mSectionDragPt=current;ioMouseEvent.setHandled(true)}};eDwXSectionOperator.prototype.onMouseUp=function(ioMouseEvent){_super.prototype.onMouseUp.call(this,ioMouseEvent);this.mViewer.XSectionMgr.disableSectionCapVisibility(false);ioMouseEvent.setHandled(false);this.mSectionDragPt=null;var cmdMgr=eDwCommandMgr.get();cmdMgr.add(this.mMoveSectionCmd);cmdMgr.remove(this.mMoveSectionCmd,"commit");this.mMoveSectionCmd=null};eDwXSectionOperator.prototype.onTouchStart=function(ioTouchEvent){var _this=this;this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_22.HC.MouseInputType.Down,function(ioMouseEvent){_this.onMouseDown(ioMouseEvent)})};eDwXSectionOperator.prototype.onTouchMove=function(ioTouchEvent){var _this=this;this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_22.HC.MouseInputType.Move,function(ioMouseEvent){_this.onMouseMove(ioMouseEvent)})};eDwXSectionOperator.prototype.onTouchEnd=function(ioTouchEvent){var _this=this;this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_22.HC.MouseInputType.Up,function(ioMouseEvent){_this.onMouseUp(ioMouseEvent)})};eDwXSectionOperator.prototype.needsSelection=function(iEventType){return iEventType===eDwTypes_22.HC.EventType.MouseDown||iEventType===eDwTypes_22.HC.EventType.TouchStart};eDwXSectionOperator.prototype.screenToWorld=function(iScrPt){var view=this.mViewer.getHCView();var normScrPt=view.pointToWindowPosition(iScrPt);var input=new Communicator.Point3(normScrPt.x,normScrPt.y,0);var projMatrix=view.getProjectionMatrix();projMatrix.m[15]=1;var invMat=Communicator.Matrix.inverse(projMatrix).transpose();var worldPt=new Communicator.Point3(0,0,0);var div=input.x*invMat.m[3]+input.y*invMat.m[7]+input.z*invMat.m[11]+invMat.m[15];worldPt.x=(input.x*invMat.m[0]+input.y*invMat.m[1]+input.z*invMat.m[2]+invMat.m[3])/div;worldPt.y=(input.x*invMat.m[4]+input.y*invMat.m[5]+input.z*invMat.m[6]+invMat.m[7])/div;worldPt.z=(input.x*invMat.m[8]+input.y*invMat.m[9]+input.z*invMat.m[10]+invMat.m[11])/div;return worldPt};return eDwXSectionOperator}(eDwOperatorBaseDeps_4.eDwBaseOperator);return eDwXSectionOperator});define("eDwZoomToFitCmd",["require","exports","eDwSupportsHistoryCmd"],function(require,exports,eDwSupportsHistoryCmd){"use strict";var eDwZoomToFitCmd=function(_super){__extends(eDwZoomToFitCmd,_super);function eDwZoomToFitCmd(iViewer,iNodeID,iCamera){var _this=_super.call(this,iViewer)||this;_this.mInitialCamera=iCamera.copy();_this.mFinalCamera=iCamera.copy();_this.mNodeHCID=iNodeID;return _this}eDwZoomToFitCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.mViewer.ViewMgr.setCamera(this.mInitialCamera);return true};eDwZoomToFitCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.mViewer.ViewMgr.setCamera(this.mFinalCamera);return true};eDwZoomToFitCmd.prototype.commit=function(){_super.prototype.commit.call(this);this.mViewer.ViewMgr.fitScreenToNodes([this.mNodeHCID],this.mFinalCamera)};Object.defineProperty(eDwZoomToFitCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});return eDwZoomToFitCmd}(eDwSupportsHistoryCmd);return eDwZoomToFitCmd});requirejs.config({baseUrl:"./js/3rdParty",paths:{jquery:"jquery.min","jquery-ui":"jquery-ui.min","jquery.fullscreen":"jquery.fullscreen.min","jquery.iframe-transport":"jquery.iframe-transport","jquery.fileupload":"jquery.fileupload","solidworks.web":"solidworks.web"},map:{"jquery.fileupload":{"jquery-ui/ui/widget":"jquery-ui"}},shim:{eDrawingsBase:{deps:["jquery"]},"jquery-ui":{deps:["jquery"]},"jquery.fullscreen":{deps:["jquery"]},"jquery.iframe-transport":{deps:["jquery"]},"jquery-ajax-native":{deps:["jquery"]}}});requirejs(["eDrawingsWebViewer"],function(eDwWebViewer){console.excludeDebugLogCategories=["UIEvents","BaseSelOp","Operator"];eDwWebViewer.start()});define("utils",["require","exports"],function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function forAll(iFunc,iDictionary){if(!iDictionary)return;Object.keys(iDictionary).forEach(function(iKeyString){var key=parseInt(iKeyString,10);iFunc(key,iDictionary[key])})}exports.forAll=forAll;function getUint8Array(iBase64EncodedString){var binString=window.atob(iBase64EncodedString);var len=binString.length;var bytes=new Uint8Array(len);for(var i=0;i0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]-1){return}var augmentedMsg=iMsg;var stack=(new Error).stack;if(stack){var stackLine=stack.split("\n")[2];if(!stackLine)return;var callerLine=stackLine.slice(stackLine.lastIndexOf("("),stackLine.lastIndexOf(")")+1);if(!callerLine){callerLine=stackLine.slice(stackLine.lastIndexOf("@")+1);callerLine="("+callerLine+")"}augmentedMsg=callerLine+" "+iMsg}if(console.debugLogCategories.indexOf(iCategory)>-1||console.debugLogCategories.indexOf("*")>-1){if(iParams&&iParams.length)console.log(augmentedMsg,iParams);else console.log(augmentedMsg)}};define("eDrawingsWebViewer",["require","exports","eDwUI","eDwServiceMgr","eDwUIMessageReporter","eDrawingsWebViewerUtils","utils","eDwUIUtils"],function(require,exports,eDwUI_1,eDwServiceMgr,eDwUIMessageReporter,eDrawingsWebViewerUtils,Utils,eDwUIUtils){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function start(iViewerOpts,iServerURL){eDrawingsWebViewerUtils.startViewer(iServerURL||c_server,"edrawings-canvas",iViewerOpts,l_init,eDwUIMessageReporter.showResultPanel)}exports.start=start;function l_init(ioViewerOpts,iContainerElemID){c_eDrawingsUI.initUIEvents(ioViewerOpts);var modelContents="VgAAAEMAAABDAAAA/v///wAAAABlAAAA/v///wIAAAAJAAAEAAAAAP3////9////MwAAAP7////9////AAAAAAMAAABjAAAAAAAAAAIAAAAAAAAAAAAAYJn3BEAAAABgoeIJQAAAAEAUme6/AAAA4M92lb8AAADAEtjzPwAAAAC4sXK/AAAAYENn1L8AAABAgW2evwAAAAC8UO6/AAAAQDJF8z8AAAAgI3HoP04AAAD+////WAAAAP7///8AAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAABpAAAA/v////3////+////MwAAAP3/////////AAAAAAIAAABOAAAA/f///28AAABAAAAAAQAAAJkAAABPAAAADQAAAJkAAAAAAAAA//////////9uuce9d65EP8Tg/77+yWI9BfraP3E8+z5lAAAA/v///wIAAAAJAAAEAAAAAP3////9////ZQAAAP3///8CAAAACwAABAAAAAD+////AQAAAE4AAAD+////QgAAAG65x713rkQ/xOD/vv7JYj0F+to/cTz7PpkAAABEAAAAuAMAAFoAAAABAAAAqAMAAAwLAAAotS/9YAwK9RwA1CdkAAAA/f///wEWAIBAAwACAWQyF0FgQAcAVEVNOTZCQQACAwTwP1IAQEBEZWZhdWx0AAICDgUJDREVGR0hJSktMTU4YqdPbGF5ZXItMTkEBFICDlQPVhBYETFARFJvdW5kX0Jhcl9IYW5kbGU8Nz4gKF9sZW5ndGgtNjAwbW0pATIhXixzb2NrZXQgaGVhZCBjYXAgc2NyZXdfYW08NUIxOC4zLjFNIC0gNSB4IDAuODIwIEhleCBTSENTIC0tTkhYIh0mNB4pQDg1KhkgMxoVGjIWERQxEg1ADjEOLT42LjUvSjJkbW9kZWw2AU0NCS8IaG10CiVAMjQmBTgCSHViQXgyQ2VudHJhbCBBeGlzMTgGMmCvRWluc3RhbmNlAALLWr09YzoWvyjuTT9I536/hTFfvZv5mD2m8dBOv9XfFr9QENs7I8/QPybdfT4CM0gMKjnM/RH9Oios/js5s1q9vQHi/38/sCj+Ov8rWz8zLbi7Ais8CiYzcpRyPzmZnL46M7Q9cajovAAA/qWuRZ0+mJ9zP2ackz/CX9O+Aic2CSItAACAvxWU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";if(modelContents!==""){eDwServiceMgr.get().disableAdvancedServices();ioViewerOpts.URL="";eDwUIUtils.viewFile("400_Drive",null,ioViewerOpts,iContainerElemID,Utils.getUint8Array(modelContents))}}var c_eDrawingsUI=new eDwUI_1.eDwUI;var c_server=location.origin+location.pathname.slice(0,location.pathname.lastIndexOf("/")+1)});define("eDrawingsWebViewerUtils",["require","exports","eDwEventMgr","eDwServiceMgr","eDwResultError","eDwAJAXError","eDwUIPluginMgr","eDwTypes","eDwEvents","eDwUIUtils","utils"],function(require,exports,eDwEventMgr,eDwServiceMgr,eDwResultError,eDwAJAXError,eDwUIPluginMgr,eDwTypes_1,eDwEvents_1,eDwUIUtils,utils){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function getViewerVersion(){return"28.0.0.5018-190912.041001"}exports.getViewerVersion=getViewerVersion;function startViewer(iServerURL,iCanvasID,iViewerOpts,iInit,iOnError){var _this=this;l_ModelLoadEvents=function(iState){var viewerCanvasID="#"+iCanvasID;if(iState==="init"){var viewerJQ=$(viewerCanvasID);viewerJQ.on("edw:ModelLoaded",function(iEvent,iViewer){iViewer.getHCView().setPointSize(0,eDwTypes_1.HC.PointSizeUnit.ScreenPixels);(function(){return __awaiter(_this,void 0,void 0,function(){var iExcp_1;return __generator(this,function(_a){switch(_a.label){case 0:_a.trys.push([0,2,,3]);return[4,l_processProductStructure(iViewer,iServerURL)];case 1:_a.sent();return[3,3];case 2:iExcp_1=_a.sent();l_displayError(iExcp_1,iOnError);return[3,3];case 3:return[2]}})})})()});viewerJQ.on("edw:ModelLoadFailed",function(iEvent,iViewer,iModelName,iReason){if(iOnError){iOnError({ErrorCode:"ModelLoadInViewerFailed",ErrorData:[iReason,iModelName]})}})}else{var viewerJQ=$(viewerCanvasID);viewerJQ.off("edw:ModelLoaded");viewerJQ.off("edw:ModelLoadFailed")}};var viewerFeatOpts={};$.extend(viewerFeatOpts,c_featOps);if(iViewerOpts){$.extend(viewerFeatOpts,iViewerOpts)}else{eDwUIUtils.getRequestedQueryStringParams(location.href,viewerFeatOpts)}if(viewerFeatOpts.Debug){if(!console.debugLogCategories||console.debugLogCategories.length===0){console.debugLogCategories=[];console.debugLogCategories.push("*")}}eDwServiceMgr.create(iServerURL);(function(){return __awaiter(_this,void 0,void 0,function(){var iExcp_2;return __generator(this,function(_a){switch(_a.label){case 0:_a.trys.push([0,2,,3]);l_ModelLoadEvents("init");return[4,l_init(iCanvasID,viewerFeatOpts,iInit)];case 1:_a.sent();return[3,3];case 2:iExcp_2=_a.sent();l_displayError(iExcp_2,iOnError);return[3,3];case 3:return[2]}})})})()}exports.startViewer=startViewer;function shutdownViewer(iViewer){l_ModelLoadEvents("shutdown");iViewer.unregister()}exports.shutdownViewer=shutdownViewer;function removeModelStreamCache(iViewer,iServer){return __awaiter(this,void 0,void 0,function(){var modelKey,serviceMgr,iExcp_3;return __generator(this,function(_a){switch(_a.label){case 0:modelKey=iViewer.getCurrModelKey();if(!modelKey||!iViewer.ViewerFeatureOpts.DeleteModelCacheFileWhenDone){return[2]}console.debugLog("ModelLoad","Attempting to remove cached model: "+modelKey);serviceMgr=eDwServiceMgr.get();_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,serviceMgr.removeNamedCache(modelKey,iViewer.ViewerFeatureOpts.DeleteModelCacheFileWhenDone)];case 2:_a.sent();console.debugLog("ModelLoad","Removed cached model: "+modelKey);return[3,4];case 3:iExcp_3=_a.sent();console.debugLog("ModelLoad","Failed to remove cached model: "+modelKey);console.debugLog("ModelLoad",iExcp_3.message);throw iExcp_3;case 4:return[2]}})})}exports.removeModelStreamCache=removeModelStreamCache;function l_init(iContainerElemID,ioViewerOpts,iInit){return __awaiter(this,void 0,void 0,function(){var serviceMgr;var _this=this;return __generator(this,function(_a){switch(_a.label){case 0:serviceMgr=eDwServiceMgr.get();serviceMgr.disableAdvancedServices(utils.getFileExtension(ioViewerOpts.URL)==="scs");(function(){return __awaiter(_this,void 0,void 0,function(){var pluginFiles,_i,pluginFiles_1,pluginFile,pluginClassName;return __generator(this,function(_a){switch(_a.label){case 0:return[4,serviceMgr.getPluginFiles()];case 1:pluginFiles=_a.sent();_i=0,pluginFiles_1=pluginFiles;_a.label=2;case 2:if(!(_i-1;--i){exclusiveCmds[i].commit()}this.mActiveCmds=this.mActiveCmds.filter(function(iCmd){return!iCmd.Exclusive})}};eDwCommandMgr.prototype.detach=function(iCmd){var cmdPos=this.mActiveCmds.indexOf(iCmd);if(cmdPos===-1)return false;var removedCmds=this.mActiveCmds.splice(cmdPos,1);return removedCmds.length===1?true:false};return eDwCommandMgr}();return eDwCommandMgr});define("eDwCompositeCmd",["require","exports","eDwSupportsHistoryCmd","eDwHistoryMgr","eDwCommandMgr","utils"],function(require,exports,eDwSupportsHistoryCmd,eDwHistoryMgr,eDwCommandMgr,Utils){"use strict";var eDwCompositeCmd=function(_super){__extends(eDwCompositeCmd,_super);function eDwCompositeCmd(iViewer){var _this=_super.call(this,iViewer)||this;eDwHistoryMgr.get().pushStack();return _this}eDwCompositeCmd.prototype.initCmdActionImplementation=function(iHistoryActions){this.mCmdHistoryActions=iHistoryActions;if(this.mCmdHistoryActions&&this.mCmdHistoryActions.compositeInit){this.mCmdHistoryActions.compositeInit(this)}};eDwCompositeCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;var actionExists=this.mCmdHistoryActions&&this.mCmdHistoryActions.compositeUndo;return actionExists?this.mCmdHistoryActions.compositeUndo(this):this.undoSubCmds()};eDwCompositeCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;var actionExists=this.mCmdHistoryActions&&this.mCmdHistoryActions.compositeRedo;return actionExists?this.mCmdHistoryActions.compositeRedo(this):this.redoSubCmds()};eDwCompositeCmd.prototype.commit=function(){this.mSubCmds=eDwHistoryMgr.get().popStack();_super.prototype.commit.call(this);if(this.mCmdHistoryActions&&this.mCmdHistoryActions.compositeCommit){this.mCmdHistoryActions.compositeCommit(this)}};eDwCompositeCmd.prototype.cancel=function(){this.mSubCmds=eDwHistoryMgr.get().popStack();_super.prototype.cancel.call(this);if(this.mCmdHistoryActions&&this.mCmdHistoryActions.compositeCancel){this.mCmdHistoryActions.compositeCancel(this)}else{this.cancelSubCmds()}this.clearSubCmds()};eDwCompositeCmd.prototype.isCommitted=function(){return _super.prototype.isCommitted.call(this)&&!(this.InitialState===undefined||this.InitialState===null)&&!(this.FinalState===undefined||this.FinalState===null)};Object.defineProperty(eDwCompositeCmd.prototype,"AllowsAggregation",{get:function(){return true},enumerable:true,configurable:true});eDwCompositeCmd.prototype.undoSubCmds=function(){var isSuccessful=true;var lastCmdIndex=this.mSubCmds.length-1;for(var i=lastCmdIndex;i>-1;i--){var cmd=this.mSubCmds[i];var ret=cmd.undo();console.debugLog("History","Undo subcommand history at index "+i+(ret?" succeeded.":" failed.")+" Object Type = "+Utils.getObjectTypeName(cmd)+".");if(!ret){isSuccessful=false}}return isSuccessful};eDwCompositeCmd.prototype.cancelSubCmds=function(){var cmdMgr=eDwCommandMgr.get();var lastCmdIndex=this.mSubCmds.length-1;for(var i=lastCmdIndex;i>-1;i--){cmdMgr.remove(this.mSubCmds[i],"cancel")}};eDwCompositeCmd.prototype.redoSubCmds=function(){var isSuccessful=true;var numCmds=this.mSubCmds.length;for(var i=0;i-1){eventHandlerMaps.splice(index,1);++numRemoved}}}return numRemoved};eDwEventMgr.prototype.removeAllEventHandlers=function(){this.mEventHandlers.clear()};eDwEventMgr.prototype.removeEventHandlers=function(iEvent){this.mEventHandlers.delete(iEvent)};eDwEventMgr.prototype.fireEvent=function(iEvent){var iArgs=[];for(var _i=1;_i-1){changedPropAttribNames.push(attribName)}}return changedPropAttribNames};eDwHierarchyNode.isHierarchyNode=function(iNode){return iNode.Name};eDwHierarchyNode.prototype.getAllNodesWithPropNameAndValue=function(iPropName,iPropValue,ioNodes,iRecurse){for(var childNodeName in this.mChildren){var childNode=this.mChildren[childNodeName];var propValue=childNode[iPropName];if(propValue&&propValue===iPropValue)ioNodes.push(childNode);if(iRecurse){childNode.getAllNodesWithPropNameAndValue(iPropName,iPropValue,ioNodes)}}};eDwHierarchyNode.sPropagatingAttribNames=["Visible","Opaque"];return eDwHierarchyNode}();return eDwHierarchyNode});define("eDwHistoryMgr",["require","exports","utils"],function(require,exports,Utils){"use strict";var eDwHistoryMgr=function(){function eDwHistoryMgr(){this.clear()}eDwHistoryMgr.get=function(){if(!eDwHistoryMgr.sHistoryMgr){eDwHistoryMgr.sHistoryMgr=new eDwHistoryMgr}return eDwHistoryMgr.sHistoryMgr};eDwHistoryMgr.prototype.undo=function(){var currStacksElem=this.getCurrStackElem();var currStack=currStacksElem.Stack;var currStackCmdIndex=currStacksElem.getCurrCmdIndex();if(currStackCmdIndex<0||currStack.length===0){console.debugLog("History","Already before first command.");return null}currStacksElem.incrementCurrCmdIndex(-1);var cmd=currStack[currStackCmdIndex];cmd.undo();console.debugLog("History","Undoing command at index "+currStackCmdIndex+" Object type: "+Utils.getObjectTypeName(cmd));return cmd};eDwHistoryMgr.prototype.redo=function(){var currStacksElem=this.getCurrStackElem();var currStack=currStacksElem.Stack;var nextStackCmdIndex=currStacksElem.getCurrCmdIndex()+1;if(nextStackCmdIndex>=currStack.length){console.debugLog("History","Already after last command.");return null}currStacksElem.incrementCurrCmdIndex(1);var cmd=currStack[nextStackCmdIndex];cmd.redo();console.debugLog("History","Redoing command at index "+nextStackCmdIndex+" Object type: "+Utils.getObjectTypeName(cmd));return cmd};eDwHistoryMgr.prototype.push=function(iCmd){if(!iCmd)return;var currStacksElem=this.getCurrStackElem();var currStack=currStacksElem.Stack;var currStackSize=currStack.length;var currStackCmdIndex=currStacksElem.getCurrCmdIndex();if(currStackCmdIndex!==currStackSize-1){currStack.splice(currStackCmdIndex+1);console.debugLog("History","Truncated history to "+(currStackCmdIndex+1)+" elements.")}currStack.push(iCmd);currStacksElem.incrementCurrCmdIndex(1);console.debugLog("History","Adding command to history at index "+(currStackCmdIndex+1)+" Object Type = "+Utils.getObjectTypeName(iCmd)+".")};eDwHistoryMgr.prototype.clear=function(){console.debugLog("History","Clear all history.");this.mCmdStacksStack=[];this.pushStack()};eDwHistoryMgr.prototype.pushStack=function(){console.debugLog("History","Add a new history stack at index "+this.mCmdStacksStack.length+".");this.mCmdStacksStack.push(new eDwCmdStacksElem)};eDwHistoryMgr.prototype.popStack=function(){console.debugLog("History","Remove history stack at index "+(this.mCmdStacksStack.length-1)+".");var activeCmds=[];var currStackElem=this.mCmdStacksStack.pop();var currCmdIndex=currStackElem.getCurrCmdIndex();for(var i=0;i-1&&iKeyInfo[key]){keyModifiers+=key+"-"}}return keyModifiers?keyModifiers.substring(0,keyModifiers.length-1):"none"}});define("eDwMBDNoteMgr",["require","exports","eDwTypes","eDwGeomUtils"],function(require,exports,eDwTypes_5,eDwGeomUtils){"use strict";var MBDNote=function(){function MBDNote(iViewer,refPos,curPos,nodeId){var modelHC=iViewer.getModel().getHCModel();var viewHC=iViewer.getHCView();this.mViewer=iViewer;this.mRefPos=refPos.copy();this.mNodeId=nodeId;var rPos2=eDwTypes_5.HC.Point2.fromPoint3(iViewer.getHCView().projectPoint(this.mRefPos));var cPos2=eDwTypes_5.HC.Point2.fromPoint3(iViewer.getHCView().projectPoint(curPos));this.mOffset=eDwTypes_5.HC.Point2.subtract(cPos2,rPos2);var rPos3=eDwGeomUtils.screenToWorld(rPos2,viewHC);var cPos3=eDwGeomUtils.screenToWorld(cPos2,viewHC);this.mOffsetLen=eDwTypes_5.HC.Point3.subtract(cPos3,rPos3).length();var cDelta=eDwTypes_5.HC.Point3.subtract(cPos3,curPos);var matrix=new eDwTypes_5.HC.Matrix;matrix.loadIdentity();matrix.setTranslationComponent(cDelta.x,cDelta.y,cDelta.z);var nodeMatrix=modelHC.getNodeMatrix(nodeId);nodeMatrix=eDwTypes_5.HC.Matrix.multiply(nodeMatrix,matrix);modelHC.setNodeMatrix(nodeId,nodeMatrix);this.mOrigPos=cPos3.copy();var camera=this.mViewer.getHCView().getCamera();this.mOrigCamMatrix=camera.getMatrixFromCamera().copy();this.mOrigModMatrix=modelHC.getNodeMatrix(nodeId)}MBDNote.prototype.updatePos=function(){var viewHC=this.mViewer.getHCView();var modelHC=this.mViewer.getModel().getHCModel();var rPos2=eDwTypes_5.HC.Point2.fromPoint3(this.mViewer.getHCView().projectPoint(this.mRefPos));var cPos2=eDwTypes_5.HC.Point2.add(rPos2,this.mOffset);var rPos3=eDwGeomUtils.screenToWorld(rPos2,viewHC);var cPos3=eDwGeomUtils.screenToWorld(cPos2,viewHC);var crDelta=eDwTypes_5.HC.Point3.subtract(cPos3,rPos3);crDelta.normalize();crDelta.scale(this.mOffsetLen);cPos3=eDwTypes_5.HC.Point3.add(rPos3,crDelta);var posDelta=eDwTypes_5.HC.Point3.subtract(cPos3,this.mOrigPos);var revTransMat=new eDwTypes_5.HC.Matrix,transMat=new eDwTypes_5.HC.Matrix,extraTransMat=new eDwTypes_5.HC.Matrix;revTransMat.setTranslationComponent(-this.mOrigPos.x,-this.mOrigPos.y,-this.mOrigPos.z);transMat.setTranslationComponent(this.mOrigPos.x,this.mOrigPos.y,this.mOrigPos.z);extraTransMat.setTranslationComponent(posDelta.x,posDelta.y,posDelta.z);this.mOrigPos=cPos3.copy();var nodeMatrix=this.mOrigModMatrix.copy();var camera=viewHC.getCamera();var curCamMatrix=camera.getMatrixFromCamera().copy();var oriCamMatrix=this.mOrigCamMatrix.copy();var oriCamMatrixR=oriCamMatrix.inverseAndDeterminant()[0];this.mOrigCamMatrix=curCamMatrix.copy();var rotMatrix=eDwTypes_5.HC.Matrix.multiply(revTransMat,oriCamMatrixR);rotMatrix=eDwTypes_5.HC.Matrix.multiply(rotMatrix,curCamMatrix);rotMatrix=eDwTypes_5.HC.Matrix.multiply(rotMatrix,transMat);rotMatrix=eDwTypes_5.HC.Matrix.multiply(rotMatrix,extraTransMat);nodeMatrix=modelHC.getNodeMatrix(this.mNodeId);nodeMatrix=eDwTypes_5.HC.Matrix.multiply(nodeMatrix,rotMatrix);modelHC.setNodeMatrix(this.mNodeId,nodeMatrix,false)};return MBDNote}();var eDwMBDNoteMgr=function(){function eDwMBDNoteMgr(iViewer){this.mNotes=[];this.mViewer=iViewer}eDwMBDNoteMgr.prototype.addNote=function(nodeId,refBox){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){var modelHC,box;return __generator(this,function(_a){switch(_a.label){case 0:modelHC=this.mViewer.getModel().getHCModel();return[4,modelHC.getNodesBounding([nodeId])];case 1:box=_a.sent();this.mNotes.push(new MBDNote(this.mViewer,refBox.center(),box.center(),nodeId));return[2]}})})})();return true};eDwMBDNoteMgr.prototype.updateNote=function(){var len=this.mNotes.length;for(var i=0;i0){var sceneData=$(data[0]);this.mOrigin=sceneData.attr("origin");switch(sceneData.attr("type")){case"drawing":this.mCategory="DRAWING";break;case"part":this.mCategory="PART";break;case"assembly":this.mCategory="ASSEMBLY";break;default:break}}this.mProperties=$(doc).find("property");if(this.mCategory==="ASSEMBLY"||this.mCategory==="PART"){var configurations=$(doc).find("configuration");for(var i=0;i0&&ioHierachyNode){for(var i=0;i | ";for(var mvName in iModelViews){var nodeHCID=iModelViews[mvName].Hierarchy.HOOPSID;msg+=mvName+" - "+iModelHC.getNodeVisibility(nodeHCID)+" | "}console.debugLog("NodeVisibility",msg)}function l_dumpModelViewVisibilityTree(iModelView,iModelHC){var hierNodes=iModelView.getNodes();for(var _i=0,hierNodes_1=hierNodes;_i"){props.Name=props.Name.replace("<","<");props.Name=props.Name.replace(">",">")}props.Visible=iElemJQ.attr("visible")==="1"?true:false;props.Opaque=iElemJQ.attr("transparent")==="1"?false:true;props.Selectable=iElemJQ.attr("selectable")==="1"?true:false;props.HOOPSID=parseInt(iElemJQ.attr("id"),10);var toModelDataStr=iElemJQ.attr("to-model-data");var toModelData=[1,0,0,0,1,0,0,0,1,0,0,0,1];props.ToModelData=toModelDataStr?JSON.parse(toModelDataStr):toModelData}return props}function l_getNodePropsAsAttribs(iNodeProps){var nodeAttribs={};eDwNodeAttributes_2.eDwNodeAttributes.setAttribs(nodeAttribs,iNodeProps);return nodeAttribs}return eDwModel});define("eDwModelView",["require","exports","eDwHierarchyNode"],function(require,exports,eDwHierarchyNode){"use strict";var eDwModelView=function(){function eDwModelView(Name,Category,iAttribs,iNodeHCID,iModel){this.Name=Name;this.Category=Category;this.Nodes={};this.Hierarchy=new eDwHierarchyNode(this.Name,this.Category,iAttribs,iNodeHCID,null,this,iModel);this.mPreviewImage=""}eDwModelView.prototype.getNodes=function(){var hierNodes=[];for(var hierNodeName in this.Nodes){hierNodes.push(this.Nodes[hierNodeName])}return hierNodes};eDwModelView.prototype.setPreviewImagePath=function(iImagePath){this.mPreviewImage=iImagePath};eDwModelView.prototype.getPreviewImagePath=function(){return this.mPreviewImage};return eDwModelView}();return eDwModelView});define("eDwMoveSectionPlaneCmd",["require","exports","eDwTypes","eDwSupportsHistoryCmd"],function(require,exports,eDwTypes_7,eDwSupportsHistoryCmd){"use strict";var eDwMoveSectionPlaneCmd=function(_super){__extends(eDwMoveSectionPlaneCmd,_super);function eDwMoveSectionPlaneCmd(iViewer){var _this=_super.call(this,iViewer)||this;_this.mInitialPntOnPlane=_this.mViewer.XSectionMgr.projectPoint(new eDwTypes_7.HC.Point3(0,0,0));return _this}eDwMoveSectionPlaneCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;var altDir=this.mDir.copy().negate();this.mViewer.XSectionMgr.moveCurrentAlongNormal(altDir);return true};eDwMoveSectionPlaneCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.mViewer.XSectionMgr.moveCurrentAlongNormal(this.mDir);return true};eDwMoveSectionPlaneCmd.prototype.commit=function(){_super.prototype.commit.call(this);this.mFinalPntOnPlane=this.mViewer.XSectionMgr.projectPoint(new eDwTypes_7.HC.Point3(0,0,0));this.mDir=this.mFinalPntOnPlane.subtract(this.mInitialPntOnPlane)};eDwMoveSectionPlaneCmd.prototype.isCommitted=function(){return _super.prototype.isCommitted.call(this)&&!!this.mInitialPntOnPlane&&!!this.mFinalPntOnPlane};Object.defineProperty(eDwMoveSectionPlaneCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});return eDwMoveSectionPlaneCmd}(eDwSupportsHistoryCmd);return eDwMoveSectionPlaneCmd});define("eDwNodeAttributes",["require","exports"],function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var eDwNodeAttributes=function(){function eDwNodeAttributes(){}eDwNodeAttributes.setAttribs=function(ioTargetAttribs,iSourceAttribs){var changedAttributes=[];for(var attribKey in iSourceAttribs){if(ioTargetAttribs[attribKey]!==iSourceAttribs[attribKey]){ioTargetAttribs[attribKey]=iSourceAttribs[attribKey];changedAttributes.push(attribKey)}}return changedAttributes};eDwNodeAttributes.mergeAttribs=function(ioTargetAttribs,iSourceAttribs){if(ioTargetAttribs&&iSourceAttribs){syncAttributeKeys(ioTargetAttribs,iSourceAttribs);for(var attribKey in ioTargetAttribs){ioTargetAttribs[attribKey]=ioTargetAttribs[attribKey]||iSourceAttribs[attribKey]}}return ioTargetAttribs};return eDwNodeAttributes}();exports.eDwNodeAttributes=eDwNodeAttributes;var NodeDisplayState;(function(NodeDisplayState){NodeDisplayState["Visible"]="Visible";NodeDisplayState["Invisible"]="Invisible";NodeDisplayState["Opaque"]="Opaque";NodeDisplayState["Transparent"]="Transparent"})(NodeDisplayState=exports.NodeDisplayState||(exports.NodeDisplayState={}));function syncAttributeKeys(ioTargetAttribs,iSourceAttribs){for(var attribKey in iSourceAttribs){if(!ioTargetAttribs[attribKey]){ioTargetAttribs[attribKey]=undefined}}}});define("eDwNodeColorInfo",["require","exports","eDwTypes"],function(require,exports,eDwTypes_8){"use strict";var eDwNodeColorInfo=function(){function eDwNodeColorInfo(iNodeID,iSecondaryID,iColor,iType){this.mNodeID=iNodeID;this.mSecondID=iSecondaryID;this.mType=iType}eDwNodeColorInfo.prototype.reset=function(iModelHC){switch(this.mType){case eDwTypes_8.EntityMode.EDGE:iModelHC.unsetNodeLineColor(this.mNodeID,this.mSecondID);break;case eDwTypes_8.EntityMode.FACE:iModelHC.unsetNodeFaceColor(this.mNodeID,this.mSecondID);break;case eDwTypes_8.EntityMode.VERTEX:default:break}};return eDwNodeColorInfo}();return eDwNodeColorInfo});define("eDwOperationMixin",["require","exports"],function(require,exports){"use strict";var eDwOperationMixin=function(){function eDwOperationMixin(){this.mExclusive=true}Object.defineProperty(eDwOperationMixin.prototype,"Exclusive",{get:function(){return this.mExclusive},enumerable:true,configurable:true});Object.defineProperty(eDwOperationMixin.prototype,"AllowsAggregation",{get:function(){return false},enumerable:true,configurable:true});Object.defineProperty(eDwOperationMixin.prototype,"Aggregable",{get:function(){return false},enumerable:true,configurable:true});return eDwOperationMixin}();return eDwOperationMixin});define("eDwOperatorBaseDeps",["require","exports","eDwKeyMgr","eDwTypes","utils","eDwGeomUtils","eDwSelSubEntityUtils"],function(require,exports,eDwKeyMgr_1,eDwTypes_9,utils,eDwGeomUtils,eDwSelSubEntityUtils){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var eDwOperatorMgr=function(){function eDwOperatorMgr(iViewer){this.mOpsData={};this.mOperatorMgrHC=iViewer.HCViewer.getOperatorManager();this.resetToDefault();var cameraZoomOp=this.mOperatorMgrHC.getOperator(eDwTypes_9.HC.OperatorId.Zoom);cameraZoomOp.setMouseWheelZoomInverted(false)}eDwOperatorMgr.prototype.registerCustomOperator=function(ioOp,iActivate){if(iActivate===void 0){iActivate=false}ioOp.OperatorID=this.mOperatorMgrHC.registerCustomOperator(ioOp);this.mOpsData[ioOp.OperatorID]={Op:ioOp,ActivatedByDefault:iActivate};if(iActivate)this.push(ioOp.OperatorID);return ioOp.OperatorID};eDwOperatorMgr.prototype.unregisterCustomOperator=function(iOp){this.unregisterCustomOperatorByID(this.getOperatorID(iOp))};eDwOperatorMgr.prototype.unregisterCustomOperatorByID=function(iOpID){if(this.popToOp(iOpID)===iOpID){this.pop()}this.mOperatorMgrHC.unregisterCustomOperator(iOpID);delete this.mOpsData[iOpID]};eDwOperatorMgr.prototype.unregisterAll=function(){var _this=this;utils.forAll(function(iOpID,iOpData){_this.unregisterCustomOperatorByID(iOpID)},this.mOpsData)};eDwOperatorMgr.prototype.push=function(iOpID){var activeOpID=this.getActiveOperatorID();if(activeOpID!==iOpID){return this.mOperatorMgrHC.push(iOpID)}return false};eDwOperatorMgr.prototype.pop=function(iOpID){var retOpID=eDwTypes_9.HC.OperatorId.None;if(!iOpID||iOpID&&this.getActiveOperatorID()===iOpID){retOpID=this.mOperatorMgrHC.pop()}return retOpID};eDwOperatorMgr.prototype.popToOp=function(iOpID){var retOpID=eDwTypes_9.HC.OperatorId.None;var opStackPos=this.mOperatorMgrHC.indexOf(iOpID);if(opStackPos>-1){while(this.getActiveOperatorID()!==iOpID){this.pop()}retOpID=iOpID}return retOpID};eDwOperatorMgr.prototype.getOperator=function(iOpID){return this.mOperatorMgrHC.getOperator(iOpID)};eDwOperatorMgr.prototype.getOperatorID=function(iOp){return iOp.OperatorID};eDwOperatorMgr.prototype.getActiveOperatorID=function(){return this.mOperatorMgrHC.peek()};eDwOperatorMgr.prototype.getOperatorIndex=function(iOp){var opsStack=[];var numOps=this.mOperatorMgrHC.size();var index=-1;for(var i=0;i=0;i++){this.mOperatorMgrHC.push(opsStack[i])}return index};eDwOperatorMgr.prototype.setOpID=function(iOpID,iIndex){return this.mOperatorMgrHC.set(iOpID,iIndex)};eDwOperatorMgr.prototype.set=function(iOp,iIndex){return this.setOpID(this.getOperatorID(iOp),iIndex)};eDwOperatorMgr.prototype.resetToDefault=function(){var _this=this;for(var opID=eDwTypes_9.HC.OperatorId.NavCube;opID>eDwTypes_9.HC.OperatorId.Navigate;opID--){this.pop(opID)}utils.forAll(function(iOpID,iOpData){if(iOpData.ActivatedByDefault){_this.push(iOpData.Op.OperatorID)}},this.mOpsData)};return eDwOperatorMgr}();exports.eDwOperatorMgr=eDwOperatorMgr;var eDwBaseOperator=function(_super){__extends(eDwBaseOperator,_super);function eDwBaseOperator(iViewer){var _this=_super.call(this)||this;_this.mViewer=iViewer;_this.mCurTouches=[];_this.mDragPt=null;_this.mCurrInputInfo=null;_this.mActiveMouseButton="none";return _this}eDwBaseOperator.prototype.onMouseDown=function(ioMouseEvent){_super.prototype.onMouseDown.call(this,ioMouseEvent);if(ioMouseEvent&&eDwKeyMgr_1.eDwKeyMgr.isAnyPressed(ioMouseEvent)){this.setMouse(ioMouseEvent);this.mActiveMouseButton=eDwKeyMgr_1.eDwKeyMgr.getMouseButtonPressed(ioMouseEvent)}};eDwBaseOperator.prototype.onMouseMove=function(ioMouseEvent){_super.prototype.onMouseMove.call(this,ioMouseEvent);if(ioMouseEvent){var pos=ioMouseEvent.getPosition();if(this.mCurrInputInfo){var oldInputInfo=this.mCurrInputInfo;this.setMouse(ioMouseEvent);if(!oldInputInfo.DragPt.equals(this.mCurrInputInfo.DragPt)){this.mDragPt=this.mCurrInputInfo.DragPt}}console.debugLog("Operator","move screen pt = "+JSON.stringify(pos))}};eDwBaseOperator.prototype.onMouseUp=function(ioMouseEvent){_super.prototype.onMouseUp.call(this,ioMouseEvent);if(ioMouseEvent){this.mDragPt=null;this.mCurrInputInfo=null}this.mActiveMouseButton="none"};eDwBaseOperator.prototype.onTouchStart=function(ioTouchEvent){var _this=this;console.debugLog("TouchOp","Start - touch ID = "+ioTouchEvent.getId());_super.prototype.onTouchStart.call(this,ioTouchEvent);this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_9.HC.MouseInputType.Down,function(ioMouseEvent){_this.onMouseDown(ioMouseEvent)});this.addTouch(ioTouchEvent)};eDwBaseOperator.prototype.onTouchMove=function(ioTouchEvent){var _this=this;console.debugLog("TouchOp","Move - touch ID = "+ioTouchEvent.getId());_super.prototype.onTouchMove.call(this,ioTouchEvent);if(!this.hasTouchMoved(ioTouchEvent)){ioTouchEvent.setHandled(true);return}this.updateTouch(ioTouchEvent);this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_9.HC.MouseInputType.Move,function(ioMouseEvent){_this.onMouseMove(ioMouseEvent)})};eDwBaseOperator.prototype.onTouchEnd=function(ioTouchEvent){var _this=this;console.debugLog("TouchOp","End - touch ID = "+ioTouchEvent.getId());this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_9.HC.MouseInputType.Up,function(ioMouseEvent){_this.onMouseUp(ioMouseEvent)});ioTouchEvent.setHandled(false);_super.prototype.onTouchEnd.call(this,ioTouchEvent);this.removeTouchById(ioTouchEvent.getId())};eDwBaseOperator.prototype.onDeactivate=function(){_super.prototype.onDeactivate.call(this);this.mDragPt=null};eDwBaseOperator.getAsMouseEvent=function(iTouchEvent,iMouseInputType,iButton){if(iButton===void 0){iButton=eDwTypes_9.HC.Buttons.Left}if(iTouchEvent){var pos=iTouchEvent.getPosition();var mouseEvent=new eDwTypes_9.HC.Event.MouseInputEvent(pos.x,pos.y,eDwTypes_9.HC.Button.None,iButton,eDwTypes_9.HC.KeyModifiers.None,iMouseInputType);eDwBaseOperator.setPickResult(mouseEvent,eDwBaseOperator.getPickResult(iTouchEvent));mouseEvent.setHandled(iTouchEvent.getHandled());return mouseEvent}return null};eDwBaseOperator.getPickResult=function(iEvent){var selObjHC=null;var compPickResult=iEvent._getCompositePickResult();if(compPickResult){selObjHC=compPickResult.faceItem||compPickResult.lineItem||compPickResult.pointItem;if(selObjHC&&!eDwSelSubEntityUtils.getSubEntityInfo(selObjHC).SubEntity){selObjHC=null}}return selObjHC};eDwBaseOperator.setPickResult=function(iEvent,iSelObj){iEvent._setCompositePickResult(new eDwTypes_9.HC.Selection.Internal.CompositeSelectionItem(iSelObj,iSelObj,iSelObj))};eDwBaseOperator.prototype.wrapAndCallAsMouseEvent=function(ioTouchEvent,iInputType,iMouseFunc,iButton){if(iButton===void 0){iButton=eDwTypes_9.HC.Buttons.Left}var mouseEvent=eDwBaseOperator.getAsMouseEvent(ioTouchEvent,iInputType,iButton);if(mouseEvent){iMouseFunc(mouseEvent);ioTouchEvent.setHandled(mouseEvent.getHandled())}};eDwBaseOperator.prototype.addTouch=function(ioTouchEvent){if(!this.getTouchById(ioTouchEvent.getId())){this.mCurTouches.push({Event:ioTouchEvent,DragPt:eDwGeomUtils.screenToWorld(ioTouchEvent.getPosition(),this.mViewer.getHCView()),Pos:ioTouchEvent.getPosition()})}};eDwBaseOperator.prototype.getTouchById=function(iTouchID){for(var i=0;iepsX&&Math.abs(delta.y)>epsY};eDwBaseOperator.prototype.updateTouch=function(ioTouchEvent){var touch=this.getTouchById(ioTouchEvent.getId());if(touch){touch.Pos=ioTouchEvent.getPosition();touch.DragPt=eDwGeomUtils.screenToWorld(ioTouchEvent.getPosition(),this.mViewer.getHCView())}};eDwBaseOperator.prototype.isDragging=function(){return!!this.mDragPt};eDwBaseOperator.prototype.setMouse=function(ioMouseEvent){this.mCurrInputInfo={Event:ioMouseEvent,DragPt:eDwGeomUtils.screenToWorld(ioMouseEvent.getPosition(),this.mViewer.getHCView()),Pos:ioMouseEvent.getPosition()}};return eDwBaseOperator}(eDwTypes_9.HC.Operator.Operator);exports.eDwBaseOperator=eDwBaseOperator});define("eDwPerspectiveCmd",["require","exports","eDwSupportsHistoryCmd"],function(require,exports,eDwSupportsHistoryCmd){"use strict";var eDwPerspectiveCmd=function(_super){__extends(eDwPerspectiveCmd,_super);function eDwPerspectiveCmd(iViewer,iNewState){var _this=_super.call(this,iViewer)||this;_this.mInitiallyActive=iViewer.getPerspectiveMode();_this.mFinallyActive=iNewState;return _this}eDwPerspectiveCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.mViewer.setPerspectiveMode(this.mInitiallyActive);return true};eDwPerspectiveCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.mViewer.setPerspectiveMode(this.mFinallyActive);return true};eDwPerspectiveCmd.prototype.commit=function(){_super.prototype.commit.call(this);this.mViewer.setPerspectiveMode(this.mFinallyActive)};Object.defineProperty(eDwPerspectiveCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});return eDwPerspectiveCmd}(eDwSupportsHistoryCmd);return eDwPerspectiveCmd});define("eDwResetCmd",["require","exports","eDwSupportsHistoryCmd","eDwEventMgr","eDwEvents"],function(require,exports,eDwSupportsHistoryCmd,eDwEventMgr,eDwEvents_3){"use strict";var eDwResetCmd=function(_super){__extends(eDwResetCmd,_super);function eDwResetCmd(iViewer){var _this=_super.call(this,iViewer)||this;_this.mPerspective=iViewer.getPerspectiveMode();_this.mExplosionLevel=iViewer.getExplosionLevel();_this.mDrawMode=iViewer.getDrawMode();_this.mAmbientOcclusion=iViewer.getHCView().getAmbientOcclusionEnabled();_this.mCamera=iViewer.getHCView().getCamera();_this.resetToHome();return _this}eDwResetCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.resetToPrevious();return true};eDwResetCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.resetToHome();return true};eDwResetCmd.prototype.resetToHome=function(){return __awaiter(this,void 0,void 0,function(){var viewMgr;return __generator(this,function(_a){switch(_a.label){case 0:viewMgr=this.mViewer.ViewMgr;viewMgr.reset();this.mViewer.SelectionMgr.unSelectAllObjects();this.mViewer.OperatorMgr.resetToDefault();this.mViewer.setPerspectiveMode(false);return[4,this.mViewer.getModel().resetToDefault()];case 1:_a.sent();this.mViewer.setExplosionLevel(0);this.mViewer.resetDrawMode();this.mViewer.ViewMgr.enableAmbientOcclusion(false);eDwEventMgr.get().fireEvent(eDwEvents_3.ResetSceneEvent,true);return[2]}})})};eDwResetCmd.prototype.resetToPrevious=function(){this.mViewer.setPerspectiveMode(this.mPerspective);this.mViewer.ViewMgr.setCamera(this.mCamera);this.mViewer.setExplosionLevel(this.mExplosionLevel);this.mViewer.setDrawMode(this.mDrawMode);this.mViewer.ViewMgr.enableAmbientOcclusion(this.mAmbientOcclusion);eDwEventMgr.get().fireEvent(eDwEvents_3.ResetSceneEvent,false)};return eDwResetCmd}(eDwSupportsHistoryCmd);return eDwResetCmd});define("eDwResultError",["require","exports","eDwBaseError"],function(require,exports,eDwBaseError){"use strict";var eDwResultError=function(_super){__extends(eDwResultError,_super);function eDwResultError(iResult){var _this=_super.call(this,"Result Error")||this;_this.Result=iResult;return _this}return eDwResultError}(eDwBaseError);return eDwResultError});define("eDwSectionFlipCmd",["require","exports","eDwSupportsHistoryCmd"],function(require,exports,eDwSupportsHistoryCmd){"use strict";var eDwSectionFlipCmd=function(_super){__extends(eDwSectionFlipCmd,_super);function eDwSectionFlipCmd(iViewer){return _super.call(this,iViewer)||this}eDwSectionFlipCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.mViewer.XSectionMgr.flipSectionPlane();return true};eDwSectionFlipCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.mViewer.XSectionMgr.flipSectionPlane();return true};eDwSectionFlipCmd.prototype.commit=function(){_super.prototype.commit.call(this);this.mViewer.XSectionMgr.flipSectionPlane()};Object.defineProperty(eDwSectionFlipCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});return eDwSectionFlipCmd}(eDwSupportsHistoryCmd);return eDwSectionFlipCmd});define("eDwSectionShowCmd",["require","exports","eDwSupportsHistoryCmd"],function(require,exports,eDwSupportsHistoryCmd){"use strict";var eDwSectionShowCmd=function(_super){__extends(eDwSectionShowCmd,_super);function eDwSectionShowCmd(iViewer,iShow){var _this=_super.call(this,iViewer)||this;_this.mInitialShow=true;_this.mFinalShow=iShow;return _this}eDwSectionShowCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.mViewer.XSectionMgr.SectionVisibility=this.mInitialShow;return true};eDwSectionShowCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.mViewer.XSectionMgr.SectionVisibility=this.mFinalShow;return true};eDwSectionShowCmd.prototype.commit=function(){_super.prototype.commit.call(this);this.mViewer.XSectionMgr.SectionVisibility=this.mFinalShow};Object.defineProperty(eDwSectionShowCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});return eDwSectionShowCmd}(eDwSupportsHistoryCmd);return eDwSectionShowCmd});define("eDwSelIsolateCmd",["require","exports","eDwTypes","eDwSupportsHistoryCmd"],function(require,exports,eDwTypes_10,eDwSupportsHistoryCmd){"use strict";var eDwSelIsolateCmd=function(_super){__extends(eDwSelIsolateCmd,_super);function eDwSelIsolateCmd(iViewer){return _super.call(this,iViewer)||this}eDwSelIsolateCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.setHierarchyNodeIDsAttribs(this.mInitialNodeIDsAttribs);this.mViewer.ViewMgr.setCamera(this.mInitialViewCamera);return true};eDwSelIsolateCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.setHierarchyNodeIDsAttribs(this.mFinalNodeIDsAttribs);this.mViewer.ViewMgr.setCamera(this.mFinalViewCamera);return true};eDwSelIsolateCmd.prototype.commit=function(){var _this=this;_super.prototype.commit.call(this);this.mInitialNodeIDsAttribs=this.getHierarchyNodesAttribs();var viewHC=this.mViewer.getHCView();this.mInitialViewCamera=viewHC.getCamera().copy();(function(){return __awaiter(_this,void 0,void 0,function(){var selMgr,selHierNodes,model,modelView,hierNodes,invisHierNodes,selHCIDs,modelHC,bbox;return __generator(this,function(_a){switch(_a.label){case 0:selMgr=this.mViewer.SelectionMgr;selHierNodes=selMgr.getSelHierarchyNodes();model=this.mViewer.getModel();modelView=model.getActiveModelView();hierNodes=modelView.getNodes();hierNodes.shift();invisHierNodes=hierNodes.filter(function(hierNode){return selHierNodes.indexOf(hierNode)===-1});return[4,model.setAttribOnHierNodes(invisHierNodes,{Visible:false})];case 1:_a.sent();selHCIDs=selMgr.getSelectableHCIDs();modelHC=this.mViewer.getModel().getHCModel();return[4,modelHC.getNodesBounding(selHCIDs)];case 2:bbox=_a.sent();if(!(bbox&&eDwTypes_10.HC.Point3.distance(bbox.max,bbox.min)>.001))return[3,4];return[4,this.mViewer.getHCView().isolateNodes(selHCIDs)];case 3:_a.sent();_a.label=4;case 4:this.mFinalNodeIDsAttribs=this.getHierarchyNodesAttribs();this.mFinalViewCamera=viewHC.getCamera().copy();return[2]}})})})()};eDwSelIsolateCmd.prototype.isCommitted=function(){return _super.prototype.isCommitted.call(this)&&!!this.mInitialViewCamera&&!!this.mFinalNodeIDsAttribs};Object.defineProperty(eDwSelIsolateCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});return eDwSelIsolateCmd}(eDwSupportsHistoryCmd);return eDwSelIsolateCmd});define("eDwSelMgr",["require","exports","eDwSelectionOperator","eDwEventMgr","eDwKeyMgr","eDwTypes","eDwEvents","eDwSelSubEntityUtils","utils"],function(require,exports,eDwSelectionOperator,eDwEventMgr,eDwKeyMgr_2,eDwTypes_11,eDwEvents_4,eDwSelSubEntityUtils,utils){"use strict";var eDwSelMgr=function(){function eDwSelMgr(iViewer){iViewer.SelectionMgr=this;this.mViewer=iViewer;this.mHCSelMgr=iViewer.HCViewer.selectionManager;this.mSelectableHCObjs=[];var selectOp=new eDwSelectionOperator(iViewer,this);var opMgr=this.mViewer.OperatorMgr;this.mSelectOperatorID=opMgr.registerCustomOperator(selectOp,true);this.mSelectOverlayNotifiers={}}eDwSelMgr.prototype.setColorForViewMode=function(mode){var _this=this;var nodeSelColor;var nodeSelOutlineColor=new eDwTypes_11.HC.Color(0,255,0);var nodeElmtSelColor;var nodeElmtSelOutlineColor=new eDwTypes_11.HC.Color(255,255,0);var beautifulGreen=new eDwTypes_11.HC.Color(4,200,5);switch(mode){case eDwTypes_11.HC.DrawMode.WireframeOnShaded:nodeSelColor=beautifulGreen;nodeElmtSelColor=beautifulGreen;break;case eDwTypes_11.HC.DrawMode.Shaded:nodeSelColor=beautifulGreen;nodeElmtSelColor=beautifulGreen;break;case eDwTypes_11.HC.DrawMode.Wireframe:case eDwTypes_11.HC.DrawMode.HiddenLine:nodeSelColor=eDwTypes_11.HC.Color.white();nodeElmtSelColor=eDwTypes_11.HC.Color.white();break;default:var msg="Unknown draw mode: "+mode;console.debugLog("Selection",msg);throw new Error(msg)}this.mHCSelMgr.setNodeSelectionColor(nodeSelColor);this.mHCSelMgr.setNodeSelectionOutlineColor(nodeSelOutlineColor);this.mHCSelMgr.setNodeElementSelectionColor(nodeElmtSelColor);this.mHCSelMgr.setNodeElementSelectionOutlineColor(nodeElmtSelOutlineColor);if(this.mViewer.getModel().isDrawing()&&!this.mViewer.ViewerFeatureOpts.Debug){this.mHCSelMgr.setNodeSelectionHighlightMode(eDwTypes_11.HC.SelectionHighlightMode.OutlineOnly);(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.mHCSelMgr.setHighlightNodeSelection(false)];case 1:_a.sent();return[2]}})})})()}};eDwSelMgr.prototype.unregister=function(){this.mViewer.OperatorMgr.unregisterCustomOperatorByID(this.mSelectOperatorID);this.mViewer.SelectionMgr=null};eDwSelMgr.prototype.addSelectOverlayNotifier=function(iTypeIndex,iNotifier){if(!this.mSelectOverlayNotifiers[iTypeIndex]){this.mSelectOverlayNotifiers[iTypeIndex]=[]}this.mSelectOverlayNotifiers[iTypeIndex].push(iNotifier)};eDwSelMgr.prototype.removeSelectOverlayNotifier=function(iTypeIndex,iNotifier){var typeNotifiers=this.mSelectOverlayNotifiers[iTypeIndex];var pos=typeNotifiers.indexOf(iNotifier);if(pos>-1){typeNotifiers.splice(pos,1)}return false};eDwSelMgr.prototype.getSelectedNodeIDIndex=function(iHCNodeID){return this.getSelectableHCIDs().indexOf(iHCNodeID)};eDwSelMgr.prototype.onSelection=function(iPartSelectionEvent){var ctrlKeyDown=eDwKeyMgr_2.eDwKeyMgr.get().isDown("Control");var shiftKeyDown=eDwKeyMgr_2.eDwKeyMgr.get().isDown("Shift");var existingIdx=-1;var selObj=this.getHCSelectionObj(iPartSelectionEvent.getSelection());if(selObj){existingIdx=this.getSelectedNodeIDIndex(selObj.getNodeId())}if(this.mSelectableHCObjs.length>0&&!ctrlKeyDown&&!shiftKeyDown){this.unSelectAllObjects(false)}else if(ctrlKeyDown&&!shiftKeyDown&&existingIdx>-1&&selObj){this.mSelectableHCObjs.splice(existingIdx,1);this.unSelectObjs([selObj],this.mViewer.getModel().isDrawing());return}else if(!ctrlKeyDown&&shiftKeyDown&&existingIdx>-1&&selObj){return}if(selObj){this.addUniqueToSelectableHCObjs(selObj);eDwEventMgr.get().fireEvent(eDwEvents_4.SelectEvent,this.mViewer,[selObj]);l_debugDumpSelection(selObj.getNodeId(),selObj.getSelectionType())}};eDwSelMgr.prototype.selectByID=function(iID){return utils.isNumber(iID)?this.executeSelection(iID):false};eDwSelMgr.prototype.select=function(iCoords,iPickConfig){return __awaiter(this,void 0,void 0,function(){var pickCfg,viewHC,selObj,selectableObj;return __generator(this,function(_a){switch(_a.label){case 0:pickCfg=iPickConfig?iPickConfig:new eDwTypes_11.HC.PickConfig(eDwTypes_11.HC.SelectionMask.Face);viewHC=this.mViewer.getHCView();return[4,viewHC.pickFromPoint(iCoords,pickCfg)];case 1:selObj=_a.sent();selectableObj=this.getHCSelectionObj(selObj);if(this.isSelectionHandled(selObj)){return[2]}if(selectableObj){this.executeSelection(selectableObj)}else{this.mHCSelMgr.set(null)}return[2]}})})};eDwSelMgr.prototype.isSelected=function(iHCNodeID){return this.getSelectableHCIDs().indexOf(iHCNodeID)<0?false:true};eDwSelMgr.prototype.append=function(iSelObj){this.mHCSelMgr.add(iSelObj)};eDwSelMgr.prototype.unSelectAllObjects=function(iClearHCSelList){if(iClearHCSelList===void 0){iClearHCSelList=true}var unselectedHCObjs=this.mSelectableHCObjs;this.mSelectableHCObjs=[];this.unSelectObjs(unselectedHCObjs,this.mViewer.getModel().isDrawing());if(unselectedHCObjs.length>0&&iClearHCSelList){this.mHCSelMgr.selectNode(null)}};eDwSelMgr.prototype.setViewToSelectedFace=function(){var camera=null;var selObjs=this.mHCSelMgr.getResults();for(var _i=0,selObjs_1=selObjs;_i0){return selHCIDs[selHCIDs.length-1]}return new RangeError("nothing selected")};eDwSelMgr.prototype.getSelHierarchyNodes=function(){var selHierNodes=[];var modelView=this.mViewer.getModel().getActiveModelView();var selHCIDs=this.getSelectableHCIDs();for(var _i=0,selHCIDs_1=selHCIDs;_i-1)this.mSelectableHCObjs.splice(index,1);this.unSelectObjs(this.mSelectableHCObjs,true);this.mSelectableHCObjs=[];(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,hierNode.showBoundingBox(this.mViewer,"on")];case 1:_a.sent();return[2]}})})})();shown=true}else{(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,hierNode.showBoundingBox(this.mViewer,"toggle")];case 1:_a.sent();return[2]}})})})();shown=index>-1?false:true}if(shown){var selObjDupHC=eDwTypes_11.HC.Selection.SelectionItem.create(hierNode.HOOPSID);this.addUniqueToSelectableHCObjs(selObjDupHC);eDwEventMgr.get().fireEvent(eDwEvents_4.SelectEvent,this.mViewer,[selObjDupHC]);l_debugDumpSelection(selObjDupHC.getNodeId(),selObjDupHC.getSelectionType())}}else{if(!selObjHC){this.mHCSelMgr.selectNode(nodeIDHC,iSelModeHC)}else{if(iSelModeHC===eDwTypes_11.HC.SelectionMode.Add){this.mHCSelMgr.add(selObjHC)}else if(iSelModeHC===eDwTypes_11.HC.SelectionMode.Set){this.mHCSelMgr.set(selObjHC)}else{this.mHCSelMgr.toggle(selObjHC)}}}return eDwTypes_11.HC.SelectionType.Part}return eDwTypes_11.HC.SelectionType.None}var ret=false;try{var selType=eDwTypes_11.HC.SelectionType.None;if(!eDwKeyMgr_2.eDwKeyMgr.get().isDown("Control")&&!eDwKeyMgr_2.eDwKeyMgr.get().isDown("Shift")){selType=selectHCNode.call(this,eDwTypes_11.HC.SelectionMode.Set);ret=true}else{var existingIdx=this.getSelectedNodeIDIndex(nodeIDHC);if(existingIdx>-1){if(eDwKeyMgr_2.eDwKeyMgr.get().isDown("Control")){var toBeUnselected=this.mSelectableHCObjs[existingIdx];this.mHCSelMgr.remove(toBeUnselected)}else if(eDwKeyMgr_2.eDwKeyMgr.get().isDown("Shift")){ret=true}}else{selType=selectHCNode.call(this,eDwTypes_11.HC.SelectionMode.Add);if(this.getSelectedNodeIDIndex(nodeIDHC)>-1){ret=true}}}if(selType!==eDwTypes_11.HC.SelectionType.None){l_debugDumpSelection(nodeIDHC,selType)}}catch(iErr){console.log("eDwSelMgr.selectByID failed")}return ret};return eDwSelMgr}();function l_debugDumpSelection(iID,iSelType){console.debugLog("Selection","Selected Obj ID: "+iID+" - type: "+eDwTypes_11.HC.SelectionType[iSelType])}return eDwSelMgr});define("eDwSelSubEntityUtils",["require","exports","utils"],function(require,exports,utils){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function getSubEntityInfo(iSelObjHC){if(!iSelObjHC)return undefined;var subEntity=null;var typeName="";var isSelectable=false;if(subEntity=iSelObjHC.getPointEntity()){typeName="Point";isSelectable=true}else if(subEntity=iSelObjHC.getLineEntity()){typeName="Line";var HCEdgeSelMeasure=4;if(getSubEntityBits(subEntity)&HCEdgeSelMeasure)isSelectable=true}else if(subEntity=iSelObjHC.getFaceEntity()){typeName="Face";var HCFaceSelMeasure=1;if(getSubEntityBits(subEntity)&HCFaceSelMeasure)isSelectable=true}var subEntityInfo={SubEntity:subEntity,SubEntityTypeName:typeName,IsSelectable:isSelectable};return subEntity?subEntityInfo:null}exports.getSubEntityInfo=getSubEntityInfo;function getSubEntityTypeName(iSubEntityType){if(!iSubEntityType)return"";return utils.getObjectTypeName(iSubEntityType).slice(0,-6)}exports.getSubEntityTypeName=getSubEntityTypeName;function getSubEntityID(iSubEntity){return iSubEntity?iSubEntity._elementIndex:NaN}exports.getSubEntityID=getSubEntityID;function getSubEntityBits(iSubEntity){return iSubEntity?iSubEntity._elementBits:NaN}exports.getSubEntityBits=getSubEntityBits});define("eDwSelectionOperator",["require","exports","eDwOperatorBaseDeps","eDwBaseSelOperator","eDwEventMgr","eDwEvents","eDwTypes","eDwGeomUtils","utils"],function(require,exports,eDwOperatorBaseDeps_2,eDwBaseSelOperator,eDwEventMgr,eDwEvents_5,eDwTypes_12,eDwGeomUtils,utils){"use strict";var eDwSelectionOperator=function(_super){__extends(eDwSelectionOperator,_super);function eDwSelectionOperator(iViewer,iSelMgr){var _this=_super.call(this,iViewer,iSelMgr)||this;_this.mDoPickTimeOutHandle=cUnselectableItem;_this.mCalloutTimeoutHandle=cUnselectableItem;_this.mNameCallout=null;_this.mSelObjIDHC=NaN;_this.mMousePosCopy=null;_super.prototype.pushHighlightSelectionState.call(_this,"NODE",true);_super.prototype.pushHighlightSelectionState.call(_this,"FACE",true);_super.prototype.pushHighlightSelectionState.call(_this,"EDGE",false);_super.prototype.pushHighlightSelectionState.call(_this,"VERTEX",false);_super.prototype.pushElementSelectionHighlightMode.call(_this,"HighlightAndOutline");return _this}eDwSelectionOperator.prototype.onMouseUp=function(ioMouseEvent){var selObjHC=eDwOperatorBaseDeps_2.eDwBaseOperator.getPickResult(ioMouseEvent);if(ioMouseEvent&&this.mCurrInputInfo&&!selObjHC){var handled=false;if(!ioMouseEvent.getHandled()&&!this.isDragging()){handled=this.onUp(ioMouseEvent.getPosition())}ioMouseEvent.setHandled(handled);_super.prototype.onMouseUp.call(this,ioMouseEvent)}};eDwSelectionOperator.prototype.onMouseDown=function(ioMouseEvent){if(ioMouseEvent){_super.prototype.onMouseDown.call(this,ioMouseEvent);ioMouseEvent.setHandled(this.onDown(ioMouseEvent.getPosition()))}};eDwSelectionOperator.prototype.onMouseMove=function(ioMouseEvent){var _this=this;if(ioMouseEvent){var pos=ioMouseEvent.getPosition();var activeOpID=this.mViewer.OperatorMgr.getActiveOperatorID();if(!this.mCurrInputInfo&&this.mViewer.getModel().isAssembly()&&activeOpID===this.OperatorID){this.mMousePosCopy=pos.copy();(function(){return __awaiter(_this,void 0,void 0,function(){var selItem,op;return __generator(this,function(_a){switch(_a.label){case 0:if(!this.mMousePosCopy)return[2];return[4,this.mViewer.getHCView().pickFromPoint(this.mMousePosCopy,new eDwTypes_12.HC.PickConfig(eDwTypes_12.HC.SelectionMask.Face))];case 1:selItem=_a.sent();this.mSelObjIDHC=selItem&&selItem.getNodeId()||cUnselectableItem;op=this;this.mCalloutTimeoutHandle=setTimeout(function(){op.updateCallout()},1e3);return[2]}})})})()}_super.prototype.onMouseMove.call(this,ioMouseEvent);ioMouseEvent.setHandled(this.onMove(pos))}};eDwSelectionOperator.prototype.onTouchStart=function(ioTouchEvent){if(!ioTouchEvent)return;_super.prototype.onTouchStart.call(this,ioTouchEvent);this.onDown(ioTouchEvent.getPosition())};eDwSelectionOperator.prototype.onTouchMove=function(ioTouchEvent){if(!ioTouchEvent)return;var pos=ioTouchEvent.getPosition();if(pos.x===Math.round(pos.x)&&pos.y===Math.round(pos.y)){_super.prototype.onTouchMove.call(this,ioTouchEvent)}};eDwSelectionOperator.prototype.onTouchEnd=function(ioTouchEvent){if(!ioTouchEvent)return;if(!this.hasTouchMoved(ioTouchEvent)){if(this.mCurTouches.length===1){var curTime=new Date;var startTime=new Date;var touchStart=this.getTouchById(ioTouchEvent.getId());if(touchStart){startTime=touchStart.Event.getDate()}this.mActiveMouseButton="left";if(curTime.getTime()-startTime.getTime()>1e3){this.mActiveMouseButton="right"}this.onUp(ioTouchEvent.getPosition());ioTouchEvent.setHandled(true)}else{ioTouchEvent.setHandled(false)}}_super.prototype.onTouchEnd.call(this,ioTouchEvent)};eDwSelectionOperator.prototype.updateCallout=function(){if(this.mCurrInputInfo||!this.mMousePosCopy){return}var isSameID=this.mNameCallout?this.mNameCallout.isSameID(this.mSelObjIDHC):false;if(isSameID)return;var markupMgrHC=this.mViewer.getHCMarkupManager();try{if(this.mNameCallout){markupMgrHC.unregisterMarkup(this.mNameCallout.MarkupID);this.mNameCallout=null;if(utils.isNumber(this.mCalloutTimeoutHandle)){clearTimeout(this.mCalloutTimeoutHandle);this.mCalloutTimeoutHandle=NaN}}if(utils.isNumber(this.mSelObjIDHC)){var model=this.mViewer.getModel();var hierNode=model.getHierarchyNode(this.mSelObjIDHC);if(!hierNode)return;var name_1=hierNode.Name?hierNode.Name:cDefaultModelName;var pos=eDwTypes_12.HC.Point2.add(this.mMousePosCopy.copy(),new eDwTypes_12.HC.Point2(0,20));this.mNameCallout=new NameCallout(this.mViewer,this.mSelObjIDHC,name_1,pos);this.mNameCallout.MarkupID=markupMgrHC.registerMarkup(this.mNameCallout)}}catch(iExcp){this.mNameCallout=null}markupMgrHC.refreshMarkup()};eDwSelectionOperator.prototype.doPick=function(iCoords){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:if(!this.mViewer.getModel().isDrawing())return[3,2];return[4,this.doPickInDrawing(iCoords)];case 1:_a.sent();return[3,4];case 2:return[4,this.doPickIn3D(iCoords)];case 3:_a.sent();_a.label=4;case 4:return[2]}})})};eDwSelectionOperator.prototype.doPickIn3D=function(iCoords){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.mViewer.SelectionMgr.select(iCoords)];case 1:_a.sent();return[2]}})})};eDwSelectionOperator.prototype.doPickInDrawing=function(iCoords){return __awaiter(this,void 0,void 0,function(){var model,modelHC,pickConfig,activeSheetHierNode,childHierarchyMap,children,viewHCIDs,i,currentNode,selItem,hierNode,_i,viewHCIDs_1,viewHCID,bbox,selPt3D,_a;return __generator(this,function(_b){switch(_b.label){case 0:model=this.mViewer.getModel();modelHC=model.getHCModel();pickConfig=new eDwTypes_12.HC.PickConfig(eDwTypes_12.HC.SelectionMask.All);activeSheetHierNode=model.getActiveModelView();childHierarchyMap=activeSheetHierNode.Hierarchy.getChildren();children=Object.keys(childHierarchyMap);viewHCIDs=[];for(i=children.length-1;i>-1;--i){currentNode=childHierarchyMap[children[i]];viewHCIDs.push(currentNode.HOOPSID)}return[4,this.mViewer.getHCView().pickFromPoint(iCoords,pickConfig)];case 1:selItem=_b.sent();if(!("undefined"===typeof selItem||!selItem.getNodeId()))return[3,3];return[4,this.doPickIn3D(iCoords)];case 2:_b.sent();_b.label=3;case 3:hierNode=model.getHierarchyNode(selItem.getNodeId());if(!hierNode)return[3,4];if(viewHCIDs.indexOf(hierNode.HOOPSID)>-1){this.mViewer.SelectionMgr.selectByID(hierNode.HOOPSID)}return[3,10];case 4:_i=0,viewHCIDs_1=viewHCIDs;_b.label=5;case 5:if(!(_i0){pluginName=matches[1]}else{console.warn("Could not locate external plugin name in file "+iPluginFile)}return[3,5];case 4:iExcp_11=_a.sent();console.warn("Failed to load external plugin - "+iExcp_11.message);return[3,5];case 5:return[2,pluginName]}})})};eDwServiceMgr.prototype.getPluginFiles=function(){return __awaiter(this,void 0,void 0,function(){var _a,_b,iExcp_12;return __generator(this,function(_c){switch(_c.label){case 0:if(!eDwServiceMgr.usesWebServices())return[2,this.mPluginFiles];if(!!this.mPluginFiles.length)return[3,7];_c.label=1;case 1:_c.trys.push([1,6,,7]);if(!this.mAdvancedServicesDisabled)return[3,3];console.debugLog("ServiceMgr","Loading static plugin list");_a=this;return[4,this.ajax("GET","js/staticPluginList.json",{})];case 2:_a.mPluginFiles=_c.sent();return[3,5];case 3:console.debugLog("ServiceMgr","Finding plugins...");_b=this;return[4,this.ajax("GET","EDrawingsService.svc/GetPlugins",{})];case 4:_b.mPluginFiles=_c.sent();_c.label=5;case 5:return[3,7];case 6:iExcp_12=_c.sent();console.warn("No plugins available.");return[3,7];case 7:return[2,this.mPluginFiles]}})})};eDwServiceMgr.prototype.extendLicense=function(iKey){return __awaiter(this,void 0,void 0,function(){var params;return __generator(this,function(_a){switch(_a.label){case 0:if(this.mAdvancedServicesDisabled||!eDwServiceMgr.usesWebServices()){return[2]}params={data:{iKey:iKey},cache:false};return[4,this.ajax("GET","EDrawingsService.svc/ExtendLicense",params)];case 1:_a.sent();return[2]}})})};eDwServiceMgr.prototype.getBaseCacheDirs=function(){return __awaiter(this,void 0,void 0,function(){var _this=this;return __generator(this,function(_a){switch(_a.label){case 0:if(!(this.mBaseCacheDirs===null))return[3,2];this.mBaseCacheDirs=[];this.mGetBaseCacheDirsPromise=$.get("cacheDirs.xml",function(iDoc){var cacheDirs=iDoc.getElementsByTagName("modelSearchDirectory");var numDirs=cacheDirs.length;for(var i=0;i-1){foundPluginFileName=pluginFileName}}return[2,foundPluginFileName]}})})};eDwServiceMgr.prototype.ajax=function(iMethod,iService,iParams){return __awaiter(this,void 0,void 0,function(){var paramsObj,retAJAX,iExcp_13;return __generator(this,function(_a){switch(_a.label){case 0:paramsObj={type:iMethod,url:this.mServerURL+"/"+iService,async:true};if(iParams)$.extend(paramsObj,iParams);_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,$.ajax(paramsObj)];case 2:retAJAX=_a.sent();return[3,4];case 3:iExcp_13=_a.sent();console.warn("AJAX "+iMethod+" failed for "+iService+": "+iExcp_13.message);throw iExcp_13;case 4:return[2,retAJAX]}})})};return eDwServiceMgr}();return eDwServiceMgr});define("eDwSetHierNodeAttribsCmd",["require","exports","eDwSupportsHistoryCmd"],function(require,exports,eDwSupportsHistoryCmd){"use strict";var eDwSetHierNodeAttribsCmd=function(_super){__extends(eDwSetHierNodeAttribsCmd,_super);function eDwSetHierNodeAttribsCmd(iViewer,iHierNodes,iAttrib){var _this=_super.call(this,iViewer)||this;_this.mInitialHierNodeAttribs=[];_this.mFinalHierNodeAttribs=[];var finalAttrib=$.extend(true,{},iAttrib);for(var _i=0,iHierNodes_2=iHierNodes;_i-1){this.mTouchOpIDs.splice(opIndex,1);this.mViewer.OperatorMgr.unregisterCustomOperatorByID(iOpID)}};eDwTouchOpsMgr.isTouchEnabled=function(){function matchMedia(iFeature){return window.matchMedia&&window.matchMedia(iFeature).matches?true:false}var enabled=false;if("PointerEvent"in window&&"maxTouchPoints"in navigator){var maxTouchPoints=navigator.maxTouchPoints;if(utils.isNumber(maxTouchPoints)){if(navigator.maxTouchPoints>0){enabled=true}else if(navigator.maxTouchPoints===0&&matchMedia("(any-pointer:coarse)")){enabled=true}}}else{if(matchMedia("(any-pointer:coarse)")){enabled=true}else if("TouchEvent"in window||"ontouchstart"in window){enabled=true}}console.debugLog("TouchOps","Touch enabled = "+enabled);return enabled};return eDwTouchOpsMgr}();return eDwTouchOpsMgr});define("eDwTypes",["require","exports"],function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var HC=Communicator;exports.HC=HC;var HCI=Communicator.Internal;exports.HCI=HCI;exports.SectionPlaneOrientation={XY:{Plane:HC.Plane.createFromPointAndNormal(new HC.Point3(0,0,0),new HC.Point3(0,0,1)),Index:0},YZ:{Plane:HC.Plane.createFromPointAndNormal(new HC.Point3(0,0,0),new HC.Point3(1,0,0)),Index:1},ZX:{Plane:HC.Plane.createFromPointAndNormal(new HC.Point3(0,0,0),new HC.Point3(0,1,0)),Index:2}};exports.UnitToLabel={degree:"deg",radian:"rad",millimeter:"mm",centimeter:"cm",meter:"m",inch:"in",foot:"ft"};exports.DefaultLengthUnit="millimeter";exports.DefaultAngleUnit="degree";exports.EntityMode={FACE:1,EDGE:2,VERTEX:4,HOLE:8,ALL:4294967295}});define("eDwUI",["require","exports","eDwTypes","eDwKeyMgr","eDwUIBaseEventHandlers","eDwCommandMgr","eDwZoomToFitCmd","eDwDrawModeCmd","eDwAnimateCmd","eDwAmbientOcclusionCmd","eDwPerspectiveCmd","eDwSetViewCmd","eDwSetViewCameraCmd","eDwCompositeCmd","eDwSectionFlipCmd","eDwSetViewNormalToSectionCmd","eDwShowSectionCapCmd","eDwSectionShowCmd","eDwChangeSectionPlaneCmd","eDwUIShortcutMenu","eDwUIPluginMgr","eDwUIUtils","eDrawingsWebViewerUtils","eDwEventMgr","eDwEvents"],function(require,exports,eDwTypes_14,eDwKeyMgr_3,eDwUIBaseEventHandlers,eDwCommandMgr,eDwZoomToFitCmd,eDwDrawModeCmd,eDwAnimateCmd,eDwAmbientOcclusionCmd,eDwPerspectiveCmd,eDwSetViewCmd,eDwSetViewCameraCmd,eDwCompositeCmd,eDwSectionFlipCmd,eDwSetViewNormalToSectionCmd,eDwShowSectionCapCmd,eDwSectionShowCmd,eDwChangeSectionPlaneCmd,eDwUIShortcutMenu,eDwUIPluginMgr,eDwUIUtils,eDrawingsWVUtils,eDwEventMgr,eDwEvents){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var eDwUI=function(){function eDwUI(){this.mUIEventHandlers=new UIEventHandlers(this,eDwUIUtils.getViewerElementName(),l_CanvasID);this.mItemActiveCallbacks={};this.mItemDeactiveCallbacks={};solidworks.web.touch.support();this.awfulUIHacks()}eDwUI.prototype.initUIEvents=function(iViewerFeatOpts){this.mViewerFeatureOpts=iViewerFeatOpts;this.registerHTMLEvents()};eDwUI.prototype.init=function(iViewer){this.mViewer=iViewer;this.centerBottomBar();this.mViewer.XSectionMgr.SectionCapVisibility=true;$("#edrawings-section-capping-button").addClass("state-on-button");$("#edrawings-section-show-button").addClass("state-on-button");eDwUIUtils.hide(".edrawings-ui-main",false)};eDwUI.prototype.toggleFullScreen=function(){var viewElement=$("#edrawings-viewer")[0];var isFullScreen=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement;if(isFullScreen){if(document.fullscreenElement){document.exitFullscreen()}else if(document.webkitFullscreenElement){document.webkitExitFullscreen()}else if(document.mozFullScreenElement){document.mozCancelFullScreen()}else if(document.msFullscreenElement){document.msExitFullscreen()}}else{if(viewElement.requestFullscreen){viewElement.requestFullscreen()}else if(viewElement.webkitRequestFullscreen){viewElement.webkitRequestFullscreen()}else if(viewElement.mozRequestFullScreen){viewElement.mozRequestFullScreen()}else if(viewElement.msRequestFullscreen){viewElement.msRequestFullscreen()}}};eDwUI.prototype.unregister=function(){this.unregisterHTMLEvents();UIEventHandlers.doModelDataUnloadActions(this.mViewer)};eDwUI.prototype.setDrawMode=function(iValue){var drawModeCmd=new eDwDrawModeCmd(this.mViewer,iValue);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(drawModeCmd);cmdMgr.remove(drawModeCmd,"commit")};eDwUI.prototype.setInitialDrawMode=function(){this.setDrawMode(this.mViewer.ViewerFeatureOpts.RenderType)};eDwUI.prototype.setPerspectiveMode=function(iValue){var perspectiveCmd=new eDwPerspectiveCmd(this.mViewer,iValue);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(perspectiveCmd);cmdMgr.remove(perspectiveCmd,"commit")};eDwUI.prototype.hideAllOtherPanels=function(iPanelCSSClassName){if(iPanelCSSClassName!==".edrawings-hud-menu"){this.hideActiveHUDMenu()}if(iPanelCSSClassName!==".edrawings-submenu"){this.hideActiveSubmenu()}eDwUIShortcutMenu.get().hide()};eDwUI.prototype.onClick=function(iID,iActivate){var activateCallback=this.mItemActiveCallbacks[iID];var deactivateCallback=this.mItemDeactiveCallbacks[iID];if(iActivate){if(activateCallback)activateCallback()}else{if(deactivateCallback)deactivateCallback()}return activateCallback||deactivateCallback?true:false};eDwUI.prototype.registerHTMLEvents=function(){var _this=this;this.mUIEventHandlers.addHTMLEventHandlers(this.mViewerFeatureOpts);this.mModelDataLoadCompleteHandler=function(iEvent,iViewer){_this.mViewer=iViewer;eDwUIBaseEventHandlers.doModelDataLoadCompleteActions(_this.mUIEventHandlers,iViewer)};$(eDwUIUtils.getViewerElementID()).on("edw:ModelDataLoadComplete",this.mModelDataLoadCompleteHandler);var self=this;this.registerButtonForClickEffect("edrawings-section-flip-button",function(){var sectionFlipCmd=new eDwSectionFlipCmd(_this.mViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(sectionFlipCmd);cmdMgr.remove(sectionFlipCmd,"commit")});this.registerButtonForClickEffect("edrawings-section-normal-button",function(){var setViewNormalToSectionCmd=new eDwSetViewNormalToSectionCmd(_this.mViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(setViewNormalToSectionCmd);cmdMgr.remove(setViewNormalToSectionCmd,"commit")});$("#edrawings-section-xz-button").on("click.edw",function(iEvent){_this.setXSectionOrientation(eDwTypes_14.SectionPlaneOrientation.ZX);eDwUIUtils.scrollToTarget($(iEvent.currentTarget))});$("#edrawings-section-yz-button").on("click.edw",function(iEvent){_this.setXSectionOrientation(eDwTypes_14.SectionPlaneOrientation.YZ);eDwUIUtils.scrollToTarget($(iEvent.currentTarget))});$("#edrawings-section-xy-button").on("click.edw",function(iEvent){_this.setXSectionOrientation(eDwTypes_14.SectionPlaneOrientation.XY);eDwUIUtils.scrollToTarget($(iEvent.currentTarget))});$("#edrawings-section-capping-button").on("click.edw",function(iEvent){var buttonJQ=$(iEvent.currentTarget);var visibility=!buttonJQ.hasClass("state-on-button");var showCapsCmd=new eDwShowSectionCapCmd(_this.mViewer,visibility);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(showCapsCmd);cmdMgr.remove(showCapsCmd,"commit");buttonJQ.toggleClass("state-on-button");eDwUIUtils.scrollToTarget(buttonJQ)});$("#edrawings-section-show-button").on("click.edw",function(iEvent){var buttonJQ=$(iEvent.currentTarget);var showSection=!buttonJQ.hasClass("state-on-button");var showSectionCmd=new eDwSectionShowCmd(_this.mViewer,showSection);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(showSectionCmd);cmdMgr.remove(showSectionCmd,"commit");buttonJQ.toggleClass("state-on-button");eDwUIUtils.scrollToTarget(buttonJQ)});this.mItemActiveCallbacks["#edrawings-button-section"]=function(){eDwUIUtils.addPanelResizeEvents("#edrawings-section-menu",".edw.section","#edrawings-button-section");_this.mCompositeXSectionCmd=new eDwCompositeCmd(_this.mViewer);eDwCommandMgr.get().add(_this.mCompositeXSectionCmd);_this.mCompositeXSectionCmd.initCmdActionImplementation({compositeInit:function(ioCmd){_this.mViewer.XSectionMgr.turnOnSectionPlane(true);_this.setXSectionOrientation()},compositeUndo:function(ioCmd){return true},compositeRedo:function(ioCmd){return true},compositeCommit:function(ioCmd){compositeSectionDone(ioCmd)},compositeCancel:function(ioCmd){compositeSectionDone(ioCmd)}});var self=_this;function compositeSectionDone(ioCmd){ioCmd.clearSubCmds();self.mViewer.XSectionMgr.deactivateCurrent();self.mViewer.XSectionMgr.turnOnSectionPlane(false)}if(!_this.mViewer.getModel().isDrawing()){_this.setActiveSubmenu("#edrawings-button-section","#edrawings-section-menu")}};this.mItemDeactiveCallbacks["#edrawings-button-section"]=function(){eDwUIUtils.deactivateMoveInput(".edw.section");var cmdMgr=eDwCommandMgr.get();cmdMgr.remove(_this.mCompositeXSectionCmd,"cancel")};eDwEventMgr.get().addEventHandlerFunc(eDwEvents.DeactivateUIOpEvent,function(iActiveButtonsJQ){if(iActiveButtonsJQ[0].id==="edrawings-button-section"){_this.mItemDeactiveCallbacks["#edrawings-button-section"]()}});function activateDebugPanel(iActivate,iHandlers){togglePanel(iActivate,"#edrawings-button-debug","#edrawings-debug-menu",".edw.debug",iHandlers)}this.mItemActiveCallbacks["#edrawings-button-debug"]=function(){activateDebugPanel(true,_this.mUIEventHandlers)};this.mItemDeactiveCallbacks["#edrawings-button-debug"]=function(){activateDebugPanel(false,_this.mUIEventHandlers)};eDwEventMgr.get().addEventHandlerFunc(eDwEvents.DeactivateUIOpEvent,function(iActiveButtonsJQ){if(iActiveButtonsJQ[0].id==="edrawings-button-debug"){_this.mItemDeactiveCallbacks["#edrawings-button-debug"]()}});this.mItemActiveCallbacks["#edrawings-button-reset"]=function(){eDwUIUtils.resetToHomeView(_this.mViewer);window.setTimeout(function(){eDwUIUtils.deactivateUI()},1e3)};$(document).on(l_fullScreenChange,function(iEvent){_this.mUIEventHandlers.onToggleFullScreenUI(iEvent,_this.mViewer)});$("#edrawings-button-fs").on("click.edw",function(){_this.toggleFullScreen()});function clickDrawMode(iUI,iMode){iUI.setDrawMode(iMode);iUI.hideActiveHUDMenu()}$("#edrawings-button-shaded-hlrr").on("click.edw",function(){clickDrawMode(_this,"HiddenLinesRemoved")});$("#edrawings-button-shaded-hlrv").on("click.edw",function(){clickDrawMode(_this,"HiddenLinesVisible")});$("#edrawings-button-shaded-wireframe").on("click.edw",function(){clickDrawMode(_this,"Wireframe")});$("#edrawings-button-shaded-full").on("click.edw",function(){clickDrawMode(_this,"ShadedWithEdges")});$("#edrawings-button-shaded-noedges").on("click.edw",function(){clickDrawMode(_this,"Shaded")});this.mItemActiveCallbacks["#edrawings-button-animate"]=function(){var animateCmd=new eDwAnimateCmd(_this.mViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(animateCmd);cmdMgr.remove(animateCmd,"commit")};this.mItemDeactiveCallbacks["#edrawings-button-animate"]=function(){_this.mItemActiveCallbacks["#edrawings-button-animate"]()};$("#edrawings-button-frame-file-open").on("click.edw",function(){_this.hideActiveHUDMenu()});this.mItemActiveCallbacks["#edrawings-button-view"]=function(){_this.setActiveHUDMenu("#edrawings-button-view","#edrawings-hud-view-menu")};this.mItemActiveCallbacks["#edrawings-button-help"]=function(){var version=eDrawingsWVUtils.getViewerVersion();if(_this.mViewerFeatureOpts.Debug){version+=" HC Version:"+_this.mViewer.HCViewer.getViewerVersionString()}$("#edrawings-version").text("Version #: "+version);_this.setActiveHUDMenu("#edrawings-button-help","#edrawings-hud-help-menu")};$("#edrawings-hud-help-close").on("click.edw",function(){_this.hideActiveHUDMenu()});this.mItemActiveCallbacks["#edrawings-button-zoomtofit"]=function(){var viewHC=_this.mViewer.getHCView();var curModelView=_this.mViewer.getModel().getActiveModelView();var nodeID=curModelView.Hierarchy.HOOPSID;var zoomToFitCmd=new eDwZoomToFitCmd(_this.mViewer,nodeID,viewHC.getCamera());var cmdMgr=eDwCommandMgr.get();cmdMgr.add(zoomToFitCmd);cmdMgr.remove(zoomToFitCmd,"commit")};this.mItemActiveCallbacks["#edrawings-button-shaded"]=function(){_this.setActiveHUDMenu("#edrawings-button-shaded","#edrawings-hud-shaded-menu")};function togglePanel(iActivate,iButtonID,iPanelID,iInputEventIDSuffix,iHandlers){if(iActivate){self.setActiveSubmenu(iButtonID,iPanelID);eDwUIUtils.addPanelResizeEvents(iPanelID,iInputEventIDSuffix,iButtonID)}else{eDwUIUtils.deactivateMoveInput(iInputEventIDSuffix)}}function activateSheetPanel(iActivate,iHandlers){togglePanel(iActivate,"#edrawings-button-sheet-tree","#edrawings-sheet-tree-menu",".edw.sheet",iHandlers)}this.mItemActiveCallbacks["#edrawings-button-sheet-tree"]=function(){activateSheetPanel(true,_this.mUIEventHandlers)};this.mItemDeactiveCallbacks["#edrawings-button-sheet-tree"]=function(){activateSheetPanel(false,_this.mUIEventHandlers)};eDwEventMgr.get().addEventHandlerFunc(eDwEvents.DeactivateUIOpEvent,function(iActiveButtonsJQ){if(iActiveButtonsJQ[0].id==="edrawings-button-sheet-tree"){_this.mItemDeactiveCallbacks["#edrawings-button-sheet-tree"]()}});function activateLayerPanel(iActivate,iHandlers){togglePanel(iActivate,"#edrawings-button-layer-control","#edrawings-layer-control-menu",".edw.layer",iHandlers)}this.mItemActiveCallbacks["#edrawings-button-layer-control"]=function(){activateLayerPanel(true,_this.mUIEventHandlers)};this.mItemDeactiveCallbacks["#edrawings-button-layer-control"]=function(){activateLayerPanel(false,_this.mUIEventHandlers)};eDwEventMgr.get().addEventHandlerFunc(eDwEvents.DeactivateUIOpEvent,function(iActiveButtonsJQ){if(iActiveButtonsJQ[0].id==="edrawings-button-layer-control"){_this.mItemDeactiveCallbacks["#edrawings-button-layer-control"]()}});eDwKeyMgr_3.eDwKeyMgr.get().add({key:"F11"},"keydown",function(iEvent){iEvent.preventDefault();_this.toggleFullScreen();iEvent.stopPropagation()});this.mItemActiveCallbacks["#edrawings-button-view-settings"]=function(){_this.setActiveHUDMenu("#edrawings-button-view-settings","#edrawings-hud-view-settings-menu")};var ambientOcc=$("#edrawings-button-view-ambient-occlusion");ambientOcc.on("click.edw",function(){var buttonActive=ambientOcc.hasClass("state-on-button");_this.hideActiveHUDMenu();if(buttonActive)ambientOcc.removeClass("state-on-button");else ambientOcc.addClass("state-on-button");var ambientOcclCmd=new eDwAmbientOcclusionCmd(_this.mViewer,!buttonActive);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(ambientOcclCmd);cmdMgr.remove(ambientOcclCmd,"commit")});$("#edrawings-button-view-perspective").on("click.edw",function(){_this.hideActiveHUDMenu();var perspectiveMode=!_this.mViewer.getPerspectiveMode();_this.setPerspectiveMode(perspectiveMode)});this.registerButtonForClickEffect("edrawings-button-view-top",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Top)});this.registerButtonForClickEffect("edrawings-button-view-bottom",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Bottom)});this.registerButtonForClickEffect("edrawings-button-view-left",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Left)});this.registerButtonForClickEffect("edrawings-button-view-right",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Right)});this.registerButtonForClickEffect("edrawings-button-view-front",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Front)});this.registerButtonForClickEffect("edrawings-button-view-back",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Back)});this.registerButtonForClickEffect("edrawings-button-view-iso",function(){_this.setViewOrientation(eDwTypes_14.HC.ViewOrientation.Iso)})};eDwUI.prototype.unregisterHTMLEvents=function(){this.mUIEventHandlers.removeHTMLEventHandlers();$(eDwUIUtils.getViewerElementID()).off("edw:ModelDataLoadComplete",this.mModelDataLoadCompleteHandler);$("#edrawings-section-xz-button").off("click.edw");$("#edrawings-section-yz-button").off("click.edw");$("#edrawings-section-xy-button").off("click.edw");$("#edrawings-section-capping-button").off("click.edw");$("#edrawings-section-show-button").off("click.edw");$("#edrawings-button-fs").off("click.edw");$("#edrawings-button-shaded-hlrr").off("click.edw");$("#edrawings-button-shaded-hlrv").off("click.edw");$("#edrawings-button-shaded-wireframe").off("click.edw");$("#edrawings-button-shaded-full").off("click.edw");$("#edrawings-button-shaded-noedges").off("click.edw");$("#edrawings-button-sheets").off("click.edw");$("#edrawings-button-frame-file-open").off("click.edw");$("#edrawings-button-view-ambient-occlusion").off("click.edw");$("#edrawings-button-view-perspective").off("click.edw");$("#edrawings-hud-help-close").off("click.edw");$(document).off(l_fullScreenChange);$(document).off("click.edw");$(document).off("mousedown.edw");$(document).off("dblclick.edw");this.unregisterButtonForClickEffect("edrawings-section-flip-button");this.unregisterButtonForClickEffect("edrawings-section-normal-button");this.unregisterButtonForClickEffect("edrawings-face-normal-button");this.unregisterButtonForClickEffect("edrawings-button-view-top");this.unregisterButtonForClickEffect("edrawings-button-view-bottom");this.unregisterButtonForClickEffect("edrawings-button-view-left");this.unregisterButtonForClickEffect("edrawings-button-view-right");this.unregisterButtonForClickEffect("edrawings-button-view-front");this.unregisterButtonForClickEffect("edrawings-button-view-back");this.unregisterButtonForClickEffect("edrawings-button-view-iso")};eDwUI.prototype.setActiveSubmenu=function(iButtonID,iPanelID){eDwUIUtils.activateUI(iButtonID,iPanelID)};eDwUI.prototype.hideActiveSubmenu=function(){eDwUIUtils.deactivateUI(".edrawings-tool-button",".edrawings-submenu")};eDwUI.prototype.centerBottomBar=function(iWidth,iHeight){var edwbar=$(".tool-bar");var b=52;edwbar.css({height:"auto"});var bar=$(".tool-bar");var viewerElem=$(eDwUIUtils.getViewerElementID());var leftbuttons=$(".edrawings-icon-set.left");var rightbuttons=$(".edrawings-icon-set.right");var centerbuttons=$(".edrawings-icon-set.center");var x=(iWidth?iWidth:viewerElem.width())-1;if(navigator.userAgent.indexOf("Trident")>=0){x=viewerElem[0].clientWidth-1}bar.css({position:"absolute"});leftbuttons.css({left:1+"px",position:"absolute"});rightbuttons.css({right:1+"px",position:"absolute"});centerbuttons.css({left:x/2-b/2+"px",position:"absolute"})};eDwUI.prototype.setActiveHUDMenu=function(iButtonID,iPanelID){this.hideActiveHUDMenu();eDwUIUtils.activateUI(iButtonID,iPanelID);if(iButtonID!=="#edrawings-button-help"){var buttonJQ=$(iButtonID);var buttonOffset=buttonJQ.offset();var posx=buttonOffset.left;var posy=buttonOffset.top+parseInt(buttonJQ.css("marginTop"))+parseInt(buttonJQ.css("borderTopWidth"))+buttonJQ.height();var canvasWidth=$("#edrawings-canvas").width();var panelJQ=$(iPanelID);var panelWidth=panelJQ[0].offsetWidth;if(posx+panelWidth>canvasWidth){posx=canvasWidth-panelWidth-10}panelJQ.css({top:posy+"px",left:posx+"px"})}};eDwUI.prototype.hideActiveHUDMenu=function(){eDwUIUtils.deactivateUI(".edrawings-hud-button",".edrawings-hud-menu")};eDwUI.prototype.registerButtonForClickEffect=function(iButtonID,iHandler){var butJQ=$("#"+iButtonID);butJQ.on("mousedown.edw",function(){butJQ.addClass("edrawings-on-state");eDwUIUtils.scrollToTarget(butJQ)});butJQ.on("mouseup.edw",function(){butJQ.removeClass("edrawings-on-state");iHandler()})};eDwUI.prototype.unregisterButtonForClickEffect=function(iButtonID){var butJQ=$("#"+iButtonID);butJQ.off("mousedown.edw");butJQ.off("mouseup.edw")};eDwUI.prototype.setViewOrientation=function(iOrientation){var setViewCmd=new eDwSetViewCmd(this.mViewer,iOrientation);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(setViewCmd);cmdMgr.remove(setViewCmd,"commit");this.hideActiveHUDMenu()};eDwUI.prototype.setXSectionOrientation=function(iNewSection){function setActive(iButtonID,iIsActive){$(iButtonID)[iIsActive?"addClass":"removeClass"]("state-on-button")}var sectionMgr=this.mViewer.XSectionMgr;var sectionIndex=iNewSection?iNewSection.Index:sectionMgr.SectionIndex;var planeFromEnum=null;switch(sectionIndex){case eDwTypes_14.SectionPlaneOrientation.YZ.Index:setActive("#edrawings-section-xy-button",false);setActive("#edrawings-section-yz-button",true);setActive("#edrawings-section-xz-button",false);planeFromEnum=eDwTypes_14.SectionPlaneOrientation.YZ;break;case eDwTypes_14.SectionPlaneOrientation.ZX.Index:setActive("#edrawings-section-xy-button",false);setActive("#edrawings-section-yz-button",false);setActive("#edrawings-section-xz-button",true);planeFromEnum=eDwTypes_14.SectionPlaneOrientation.ZX;break;case eDwTypes_14.SectionPlaneOrientation.XY.Index:eDwUIUtils.hide("#edrawings-section-xy-button",false);eDwUIUtils.hide("#edrawings-section-yz-button",false);eDwUIUtils.hide("#edrawings-section-xz-button",false);setActive("#edrawings-section-xy-button",true);setActive("#edrawings-section-yz-button",false);setActive("#edrawings-section-xz-button",false);planeFromEnum=eDwTypes_14.SectionPlaneOrientation.XY;break;default:console.debugLog("UI","Unsupported section plane orientation");break}var origPlaneEnum=null;if(sectionIndex!==sectionMgr.SectionIndex){switch(sectionMgr.SectionIndex){case eDwTypes_14.SectionPlaneOrientation.YZ.Index:origPlaneEnum=eDwTypes_14.SectionPlaneOrientation.YZ;break;case eDwTypes_14.SectionPlaneOrientation.ZX.Index:origPlaneEnum=eDwTypes_14.SectionPlaneOrientation.ZX;break;case eDwTypes_14.SectionPlaneOrientation.XY.Index:origPlaneEnum=eDwTypes_14.SectionPlaneOrientation.XY;break;default:console.debugLog("UI","Unsupported initial section plane orientation");break}if(planeFromEnum){var changeSectionPlaneCmd=new eDwChangeSectionPlaneCmd(this.mViewer,origPlaneEnum,planeFromEnum);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(changeSectionPlaneCmd);cmdMgr.remove(changeSectionPlaneCmd,"commit")}}};eDwUI.prototype.awfulUIHacks=function(){var _this=this;l_init=function(){$("#edrawings-face-normal-button").css("pointer-events","auto");_this.registerButtonForClickEffect("edrawings-face-normal-button",function(){var setViewCameraCmd=new eDwSetViewCameraCmd(_this.mViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(setViewCameraCmd);cmdMgr.remove(setViewCameraCmd,"commit");_this.hideActiveHUDMenu()})};l_uninit=function(){$("#edrawings-face-normal-button").css("pointer-events","none");_this.unregisterButtonForClickEffect("edrawings-face-normal-button")}};return eDwUI}();exports.eDwUI=eDwUI;var UIEventHandlers=function(_super){__extends(UIEventHandlers,_super);function UIEventHandlers(iUI,iViewerHTMLID,iViewerHTMLCanvasID){var _this=_super.call(this,iViewerHTMLID,iViewerHTMLCanvasID)||this;_this.mUI=iUI;return _this}UIEventHandlers.prototype.addHTMLEventHandlers=function(iViewerFeatOpts){var _this=this;_super.prototype.addHTMLEventHandlers.call(this,iViewerFeatOpts);$("#edrawings-viewer").on("click.edw",".edrawings-tool-button",function(iEvent){_this.onClick(iEvent,".edrawings-tool-button")});$("#edrawings-viewer").on("click.edw",".edrawings-hud-button",function(iEvent){_this.onClick(iEvent,".edrawings-hud-button",".edrawings-submenu")});this.mUIHTMLEventMgr.addEventHandler("window","beforeunload",function(iEvent){_this.mUI.unregister()});this.mUIHTMLEventMgr.addEventHandler("window","Timeout",function(iEvent){_this.mUI.unregister()});$(".edrawings-menu-close").on("click.edw",function(iEvent){_this.deactivateActiveButton(".edrawings-tool-button")});var viewerJQ=$(eDwUIUtils.getViewerElementID());viewerJQ.on("edw:ChangeViewerStyling",function(iEvent,iStyleClassName){viewerJQ.removeClass("edrawings-viewer-regular");viewerJQ.removeClass("edrawings-viewer-timeout");if(iStyleClassName)viewerJQ.addClass(iStyleClassName)});viewerJQ.on("edw:HidePanels",function(iEvent,iSkipPanelsWithClass){_this.mUI.hideAllOtherPanels(iSkipPanelsWithClass)});viewerJQ.on("edw:ReInitViewer",function(iEvent,iViewerFeatOpts){_this.mUI.unregister();_this.mUI.initUIEvents(iViewerFeatOpts)})};UIEventHandlers.prototype.removeHTMLEventHandlers=function(){_super.prototype.removeHTMLEventHandlers.call(this);$(".edrawings-menu-close").off("click.edw");$("#edrawings-viewer").off("click.edw",".edrawings-tool-button");$("#edrawings-viewer").off("click.edw",".edrawings-hud-button");var viewerJQ=$(eDwUIUtils.getViewerElementID());viewerJQ.off("edw:ChangeViewerStyling");viewerJQ.off("edw:HidePanels");viewerJQ.off("edw:ReInitViewer")};UIEventHandlers.doModelDataUnloadActions=function(iViewer){eDwUIBaseEventHandlers.doModelDataUnloadActions(iViewer)};UIEventHandlers.prototype.onToggleFullScreenUI=function(iEvent,iViewer){var fullScreenState=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement;if(fullScreenState){$("#edrawings-button-fs").addClass("edrawings-button-fs-restore")}else{$("#edrawings-button-fs").removeClass("edrawings-button-fs-restore");$("#edrawings-canvas-canvas-container").css({"background-color":""})}};UIEventHandlers.prototype.onInit=function(iViewer){var viewerFeatureOpts=iViewer.ViewerFeatureOpts;var model=iViewer.getModel();var isDrawing=model.isDrawing();eDwUIUtils.hide("#edrawings-button-reset",false);eDwUIUtils.hide("#edrawings-button-shaded",isDrawing);eDwUIUtils.hide("#edrawings-button-view-settings",isDrawing);eDwUIUtils.hide("#edrawings-button-animate",isDrawing);eDwUIUtils.hide("#edrawings-button-section",isDrawing);eDwUIUtils.hide("#edrawings-button-view",isDrawing);eDwUIUtils.hide("#edrawings-button-debug",!viewerFeatureOpts.Debug);eDwUIUtils.hide("#edrawings-button-tables-control",isDrawing||iViewer.TableMgr.numTables()===0);eDwUIUtils.hide("#edrawings-button-sheet-tree",!isDrawing);eDwUIUtils.hide("#edrawings-button-layer-control",!isDrawing);eDwUIUtils.hide(".edrawings-icon-set.center",isDrawing);this.removeHTMLEventHandlers()};UIEventHandlers.prototype.onInitFullUI=function(iViewer){_super.prototype.onInitFullUI.call(this,iViewer);this.addHTMLEventHandlers(iViewer.ViewerFeatureOpts);this.mUI.init(iViewer);eDwUIUtils.hide("#WaitBanner",true)};UIEventHandlers.prototype.onSelect=function(iViewer,iSelObjs){_super.prototype.onSelect.call(this,iViewer,iSelObjs);if(l_init)l_init()};UIEventHandlers.prototype.onUnselect=function(iViewer,iSelObjs){_super.prototype.onUnselect.call(this,iViewer,iSelObjs);if(l_uninit)l_uninit()};UIEventHandlers.prototype.onTimeout=function(iViewer){eDwUIUtils.hide("#TimeoutBanner",false);$(eDwUIUtils.getViewerElementID()).trigger("edw:ChangeViewerStyling","edrawings-viewer-timeout")};UIEventHandlers.prototype.onStartAnimation=function(iViewer){var eDwViewer=iViewer;$("#edrawings-canvas").on("click.edw",function(){eDwViewer.ViewMgr.stop()});var animateBtnJQ=$("#edrawings-button-animate");animateBtnJQ.removeClass("edrawings-animate-play-icon");animateBtnJQ.addClass("edrawings-animate-pause-icon")};UIEventHandlers.prototype.onStopAnimation=function(iViewer){var animateBtnJQ=$("#edrawings-button-animate");animateBtnJQ.addClass("edrawings-animate-play-icon");animateBtnJQ.removeClass("edrawings-animate-pause-icon")};UIEventHandlers.prototype.onAmbientOcclusionChange=function(iViewer,iAmbientOcclusionOn){var ambientOccButton=$("#edrawings-button-view-ambient-occlusion");if(iAmbientOcclusionOn){if(!ambientOccButton.hasClass("state-on-button")){ambientOccButton.addClass("state-on-button")}}else{if(ambientOccButton.hasClass("state-on-button")){ambientOccButton.removeClass("state-on-button")}}};UIEventHandlers.prototype.onProjectionModeChange=function(iViewer,iPerspectiveOn){var perspectiveButton=$("#edrawings-button-view-perspective");if(iPerspectiveOn){if(!perspectiveButton.hasClass("state-on-button")){perspectiveButton.addClass("state-on-button")}}else{if(perspectiveButton.hasClass("state-on-button")){perspectiveButton.removeClass("state-on-button")}}};UIEventHandlers.prototype.onDrawModeChange=function(iViewer,iDrawMode){function setActive(iButtonID,iIsActive){if(iIsActive&&!$(iButtonID).hasClass("state-on-button")){$(iButtonID).addClass("state-on-button")}else if(!iIsActive&&$(iButtonID).hasClass("state-on-button")){$(iButtonID).removeClass("state-on-button")}}function setActiveInGroup(iButtonID){setActive("#edrawings-button-shaded-full",false);setActive("#edrawings-button-shaded-noedges",false);setActive("#edrawings-button-shaded-wireframe",false);setActive("#edrawings-button-shaded-hlrr",false);setActive("#edrawings-button-shaded-hlrv",false);setActive(iButtonID,true)}switch(iDrawMode){case"ShadedWithEdges":setActiveInGroup("#edrawings-button-shaded-full");break;case"Shaded":setActiveInGroup("#edrawings-button-shaded-noedges");break;case"HiddenLinesRemoved":setActiveInGroup("#edrawings-button-shaded-hlrr");break;case"HiddenLinesVisible":setActiveInGroup("#edrawings-button-shaded-hlrv");break;case"Wireframe":setActiveInGroup("#edrawings-button-shaded-wireframe");break;default:throw new Error("Unknown draw mode in UI:"+iDrawMode)}};UIEventHandlers.prototype.onClick=function(iEvent,iButtonCSSClassName,iPanelCSSClassName){if(iPanelCSSClassName===void 0){iPanelCSSClassName=""}var targetJQ=$(iEvent.target);var buttonClickedID=targetJQ.closest(iButtonCSSClassName).attr("id");var deactivatedButtonID=this.deactivateActiveButton(iButtonCSSClassName,iPanelCSSClassName);if(deactivatedButtonID===buttonClickedID)return;this.handleClick("#"+buttonClickedID,true)};UIEventHandlers.prototype.deactivateActiveButton=function(iButtonCSSClassName,iPanelCSSClassName){if(iPanelCSSClassName===void 0){iPanelCSSClassName=""}var activeButtonID="";var activeButtonJQ=$(iButtonCSSClassName+".active-button");this.mUI.hideAllOtherPanels(iPanelCSSClassName);if(activeButtonJQ.length){activeButtonID=activeButtonJQ[0].id;this.handleClick("#"+activeButtonID,false)}return activeButtonID};UIEventHandlers.prototype.handleClick=function(iButtonID,iActivate){eDwUIUtils.scrollToTarget($(iButtonID));if(!this.mUI.onClick(iButtonID,iActivate)){var pluginMgr=eDwUIPluginMgr.get();pluginMgr.onClick(iButtonID,iActivate)}};return UIEventHandlers}(eDwUIBaseEventHandlers);var l_fullScreenChange="fullscreenchange.edw MSFullscreenChange.edw "+"mozfullscreenchange.edw webkitfullscreenchange.edw";var l_CanvasID="edrawings-canvas";var l_init;var l_uninit});define("eDwUIBaseEventHandlers",["require","exports","eDwUIShortcutMenu","eDwEventMgr","eDwUIHTMLEventMgr","eDwCommandMgr","eDwChangeModelViewCmd","eDwCompositeCmd","eDwSetNodeVisibilityCmd","eDwUIPluginMgr","eDwEvents","eDwUIUtils"],function(require,exports,eDwUIShortcutMenu,eDwEventMgr,eDwUIHTMLEventMgr,eDwCommandMgr,eDwChangeModelViewCmd,eDwCompositeCmd,eDwSetNodeVisibilityCmd,eDwUIPluginMgr,eDwEvents,eDwUIUtils){"use strict";var eDwUIBaseEventHandlers=function(){function eDwUIBaseEventHandlers(iViewerHTMLID,iViewerHTMLCanvasID){this.mViewerHTMLID=iViewerHTMLID;this.mViewerHTMLCanvasID=iViewerHTMLCanvasID;this.mUIHTMLEventMgr=new eDwUIHTMLEventMgr}eDwUIBaseEventHandlers.prototype.addHTMLEventHandlers=function(iViewerFeatOpts){var _this=this;this.mViewerFeatureOpts=iViewerFeatOpts;var eventMgrHTML=this.mUIHTMLEventMgr;eventMgrHTML.addEventHandler("window","resize",function(iEvent){_this.onResize(iEvent,_this.mViewer)});eDwEventMgr.get().addEventHandlerFunc(eDwEvents.ResetSceneEvent,l_onResize);eDwUIUtils.addSubTreeArrowEventHandler(eventMgrHTML,"#edrawings-sheet-tree-menu");eventMgrHTML.addDelegatedEventHandler("#edrawings-sheet-tree-menu .edrawings-submenu-list-item","dblclick",function(iEvent){var targetJQ=$(iEvent.target);eDwUIUtils.scrollToTarget(targetJQ);if(targetJQ.hasClass("edrawings-root")){return}var selObjHCID=eDwUIUtils.getHCID(targetJQ);if(isNaN(selObjHCID)||selObjHCID<0){return}var cmdMgr=eDwCommandMgr.get();var zoomToViewCmd=new eDwCompositeCmd(_this.mViewer);zoomToViewCmd.initCmdActionImplementation();cmdMgr.add(zoomToViewCmd);var targetModelView=null;var model=_this.mViewer.getModel();var modelHC=model.getHCModel();var modelViews=model.getModelViews();for(var _i=0,modelViews_2=modelViews;_i-1){console.excludeDebugLogCategories.slice(pos,1)}}});var selectorName="#edrawings-debug-menu .edrawings-submenu-list-item";eventMgrHTML.addDelegatedEventHandler(selectorName,"click",function(iEvent){var targetJQ=$(iEvent.target);eDwUIUtils.scrollToTarget(targetJQ);var id=eDwUIUtils.getHCID(targetJQ);if(isNaN(id))return;$(selectorName).removeClass("edrawings-list-selected");$(targetJQ).addClass("edrawings-list-selected");_this.mViewer.SelectionMgr.selectByID(id)});eventMgrHTML.addDelegatedEventHandler("#edrawings-debug-menu .edrawings-submenu-list-item","dblclick",function(iEvent){var targetJQ=$(iEvent.target);eDwUIUtils.scrollToTarget(targetJQ);var id=eDwUIUtils.getHCID(targetJQ);if(isNaN(id))return;_this.onLeftDoubleClick(_this.mViewer)});eventMgrHTML.addEventHandler("#edrawings-debug-menu .edrawings-menu-search-cancel","click",function(iEvent){$("#edrawings-debug-menu "+".edrawings-menu-search-input").val("");eDwUIUtils.searchPanelList(_this.mViewer,$(iEvent.target))});eventMgrHTML.addEventHandler("#edrawings-debug-menu .edrawings-menu-search-input","keyup",function(iEvent){eDwUIUtils.searchPanelList(_this.mViewer,$(iEvent.target))});eventMgrHTML.addDelegatedEventHandler("#edrawings-layer-control-menu .item-layer-checkbox","click",function(iEvent){var targetJQ=eDwUIUtils.getTarget($(iEvent.target));var layerName=eDwUIUtils.getSpanText(targetJQ.next("span.item-tree-text"));var isVisible=targetJQ.prop("checked");_this.setOneLayerVisibility(layerName,isVisible)});eventMgrHTML.addDelegatedEventHandler("#edrawings-layer-control-menu .layer-all","click",function(iEvent){var isVisible=$(iEvent.target).prop("checked");_this.setAllLayerVisibility(isVisible)});eventMgrHTML.addEventHandler("#edrawings-filename-block","mouseover",function(iEvent){var filenameJQ=$(iEvent.target);if(filenameJQ.length===1&&filenameJQ[0].scrollWidth>filenameJQ.width()){var mouseEvent=iEvent;l_positionTicker(mouseEvent,filenameJQ,$("#edrawings-filename-text").text())}});eventMgrHTML.addEventHandler("#edrawings-filename-block","mouseout",function(iEvent){l_hideTicker()});eventMgrHTML.addDelegatedEventHandler("document .edrawings-submenu-list-item","mouseover",function(iEvent){var itemTreeTextJQ=$(iEvent.target).find(".item-tree-text");var edrawingsSubmenuListJQ=$(iEvent.target).closest(".edrawings-submenu-list");if(edrawingsSubmenuListJQ.length===1&&itemTreeTextJQ.length===1&&itemTreeTextJQ[0].scrollWidth>itemTreeTextJQ.width()){var mouseEvent=iEvent;l_positionTicker(mouseEvent,itemTreeTextJQ,itemTreeTextJQ.text())}});eventMgrHTML.addDelegatedEventHandler("document .edrawings-submenu-list-item","mouseout",function(iEvent){l_hideTicker()});eventMgrHTML.addEventHandler("#edrawings-hud-bar .edrawings-arrow-wrapper:has(> .edrawings-arrow-left)","click",function(iEvent){var contentJQ=$("#edrawings-hud-bar .edrawings-hud-bar-content");if(contentJQ&&contentJQ.length>0){eDwUIUtils.deactivateUI(".edrawings-hud-button",".edrawings-hud-menu");eDwUIUtils.executeScrolling(-c_hudBarIconWidth,0,contentJQ)}});eventMgrHTML.addEventHandler("#edrawings-hud-bar .edrawings-arrow-wrapper:has(> .edrawings-arrow-right)","click",function(iEvent){var contentJQ=$("#edrawings-hud-bar .edrawings-hud-bar-content");if(contentJQ&&contentJQ.length>0){eDwUIUtils.deactivateUI(".edrawings-hud-button",".edrawings-hud-menu");eDwUIUtils.executeScrolling(c_hudBarIconWidth,0,contentJQ)}});eDwUIUtils.enableScrollOnTouch(eventMgrHTML,"#edrawings-hud-bar .edrawings-hud-bar-content","#edrawings-hud-bar",function(){eDwUIUtils.deactivateUI(".edrawings-hud-button",".edrawings-hud-menu")});eventMgrHTML.addEventHandler("#edrawings-left-bar .edrawings-arrow-wrapper:has(> .edrawings-arrow-up)","click",function(iEvent){var barJQ=$("#edrawings-left-bar");var contentJQ=barJQ.find(".edrawings-tool-bar-content");if(contentJQ&&contentJQ.length>0){eDwUIUtils.deactivateUI(".edrawings-tool-button",".edrawings-submenu");eDwUIUtils.executeScrolling(0,-c_toolBarIconWidth,contentJQ,barJQ)}});eventMgrHTML.addEventHandler("#edrawings-left-bar .edrawings-arrow-wrapper:has(> .edrawings-arrow-down)","click",function(iEvent){var barJQ=$("#edrawings-left-bar");var contentJQ=barJQ.find(".edrawings-tool-bar-content");if(contentJQ&&contentJQ.length>0){eDwUIUtils.deactivateUI(".edrawings-tool-button",".edrawings-submenu");eDwUIUtils.executeScrolling(0,c_toolBarIconWidth,contentJQ,barJQ)}});eDwUIUtils.enableScrollOnTouch(eventMgrHTML,"#edrawings-left-bar .edrawings-tool-bar-content","#edrawings-left-bar",function(){eDwUIUtils.deactivateUI(".edrawings-tool-button",".edrawings-submenu")})};eDwUIBaseEventHandlers.prototype.addDefaultHTMLPanelCloseEventHandlers=function(){if(this.mViewerFeatureOpts.Debug){eDwUIUtils.addCloseEventHandler("#edrawings-debug-menu",this.mUIHTMLEventMgr)}eDwUIUtils.addCloseEventHandler("#edrawings-sheet-tree-menu",this.mUIHTMLEventMgr);eDwUIUtils.addCloseEventHandler("#edrawings-layer-control-menu",this.mUIHTMLEventMgr)};eDwUIBaseEventHandlers.doModelDataLoadCompleteActions=function(ioEventHandlerObj,iViewer){ioEventHandlerObj.mViewer=iViewer;l_loadUIPlugins(iViewer);var handlerObj=ioEventHandlerObj;var eventMgr=eDwEventMgr.get();eventMgr.addEventHandlerObj(eDwEvents.InitEvent,handlerObj,"onInit");eventMgr.addEventHandlerObj(eDwEvents.InitFullUIEvent,handlerObj,"onInitFullUI");eventMgr.addEventHandlerObj(eDwEvents.SelectEvent,handlerObj,"onSelect");eventMgr.addEventHandlerObj(eDwEvents.UnselectEvent,handlerObj,"onUnselect");eventMgr.addEventHandlerObj(eDwEvents.StartAnimationEvent,handlerObj,"onStartAnimation");eventMgr.addEventHandlerObj(eDwEvents.StopAnimationEvent,handlerObj,"onStopAnimation");eventMgr.addEventHandlerObj(eDwEvents.LeftDoubleClickEvent,handlerObj,"onLeftDoubleClick");eventMgr.addEventHandlerObj(eDwEvents.TimeoutEvent,handlerObj,"onTimeout");eventMgr.addEventHandlerObj(eDwEvents.DrawModeChangeEvent,handlerObj,"onDrawModeChange");eventMgr.addEventHandlerObj(eDwEvents.ProjModeChangeEvent,handlerObj,"onProjectionModeChange");eventMgr.addEventHandlerObj(eDwEvents.NodeAttribChangeEvent,handlerObj,"onNodeAttribChanged");eventMgr.addEventHandlerObj(eDwEvents.ResetSceneEvent,handlerObj,"onResetScene");eventMgr.addEventHandlerObj(eDwEvents.AmbientOcclChangeEvent,handlerObj,"onAmbientOcclusionChange");eventMgr.addEventHandlerObj(eDwEvents.DoneEvent,handlerObj,"onDone");eventMgr.addEventHandlerObj(eDwEvents.ModelViewChangeEvent,handlerObj,"onModelViewChange")};eDwUIBaseEventHandlers.prototype.removeHTMLEventHandlers=function(){eDwUIUtils.disableScrollOnTouch(this.mUIHTMLEventMgr,"#edrawings-hud-bar .edrawings-hud-bar-content");eDwUIUtils.disableScrollOnTouch(this.mUIHTMLEventMgr,"#edrawings-left-bar .edrawings-tool-bar-content");this.mUIHTMLEventMgr.removeAllEventHandlers();eDwUIShortcutMenu.get().destroy()};eDwUIBaseEventHandlers.doModelDataUnloadActions=function(iViewer){l_unloadUIPlugins();if(iViewer)iViewer.unregister();eDwEventMgr.get().removeAllEventHandlers()};eDwUIBaseEventHandlers.prototype.onInit=function(iViewer){this.mViewer=iViewer};eDwUIBaseEventHandlers.prototype.onInitFullUI=function(iViewer){};eDwUIBaseEventHandlers.prototype.onDone=function(iViewer){iViewer.destroy()};eDwUIBaseEventHandlers.prototype.onSelect=function(iViewer,iSelObjs){this.handleSelectionChange(iViewer,iSelObjs,true)};eDwUIBaseEventHandlers.prototype.onUnselect=function(iViewer,iSelObjs){this.handleSelectionChange(iViewer,iSelObjs,false)};eDwUIBaseEventHandlers.prototype.onLeftDoubleClick=function(iViewer){eDwUIUtils.zoomToFit(iViewer);eDwUIShortcutMenu.get().hide()};eDwUIBaseEventHandlers.prototype.onModelViewChange=function(iViewer,iNewModelView,iIsAssembly){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,eDwUIUtils.updateUI(iViewer,iNewModelView)];case 1:_a.sent();return[2]}})})})()};eDwUIBaseEventHandlers.prototype.onNodeAttribChanged=function(iViewer,iHierNodesAndAttribs){if(iViewer.ViewerFeatureOpts.Debug){for(var _i=0,iHierNodesAndAttribs_3=iHierNodesAndAttribs;_i1){hudBarJQ.offset({left:Math.ceil(filenameBlockOffset.left+filenameBlockJQ.innerWidth()),top:hudBarOffset.top});l_resizeTopBar()}else if(hudBarContentJQ[0].scrollWidth===0||hudBarContentJQ.width()>=hudBarContentJQ[0].scrollWidth){topBarJQ.removeClass("edrawings-collided-hud-bar");hudBarJQ.removeClass("edrawings-collided");hudBarJQ.css({left:""})}}else{if(filenameBlockOffset.left!==hudBarOffset.left&&filenameBlockOffset.left+filenameBlockJQ.innerWidth()>hudBarOffset.left){hudBarJQ.offset({left:Math.ceil(filenameBlockOffset.left+filenameBlockJQ.innerWidth()),top:hudBarOffset.top});topBarJQ.addClass("edrawings-collided-hud-bar");hudBarJQ.addClass("edrawings-collided")}}eDwUIUtils.adjustScrollArrows(hudBarContentJQ[0].scrollLeft,hudBarContentJQ[0].scrollWidth,hudBarContentJQ.width(),true,leftButtonWrapperJQ,rightButtonWrapperJQ,hudBarJQ);if(topBarJQ.hasClass("edrawings-collided-hud-bar")){if(hudBarContentJQ.innerWidth()c_filenameBlockThresholdWidth){if(topBarJQ.hasClass("edrawings-out-of-view")){topBarJQ.removeClass("edrawings-out-of-view")}}else{topBarJQ.addClass("edrawings-out-of-view")}}else{if(filenameBlockJQ[0].scrollWidth-filenameBlockJQ.innerWidth()>1){if(filenameBlockJQ.width()0&&toolBarContentJQ[0].scrollHeight<=leftBarContentJQ.innerHeight()){leftBarJQ.removeClass("edrawings-collided")}}else{if(leftBarContentJQ[0].scrollHeight>0&&leftBarContentJQ[0].scrollHeight>Math.round(leftBarContentJQ.innerHeight())){leftBarJQ.addClass("edrawings-collided")}}eDwUIUtils.adjustScrollArrows(toolBarContentJQ[0].scrollTop,toolBarContentJQ[0].scrollHeight,toolBarContentJQ.height(),false,upButtonWrapperJQ,downButtonWrapperJQ,leftBarJQ);if(leftBarJQ.hasClass("edrawings-collided")){if(toolBarContentJQ.innerHeight()=window.innerWidth){var diff=iMouseEvent.clientX+iItemJQ[0].scrollWidth+scrollWidthPadding-window.innerWidth;if(iMouseEvent.clientX>=diff){tickerLeft=iMouseEvent.clientX-diff;tickerWidth=iItemJQ[0].scrollWidth+scrollWidthPadding}else{tickerLeft=0;tickerAnimation=true;if(window.innerWidth>tickerMinWidth){tickerWidth=window.innerWidth}else{tickerWidth=tickerMinWidth}var threeTimes=[iText,iText,iText].join(" ");tickerJQ.text(threeTimes)}}if(itemOffset.top-tickerMinHeight<=0){if(itemOffset.top+iItemJQ[0].clientHeight+tickerMinHeight<=window.innerHeight){tickerTop=itemOffset.top+iItemJQ[0].clientHeight}else{var diff=iMouseEvent.clientY+tickerMinHeight-window.innerHeight;if(iMouseEvent.clientY>diff){tickerTop=iMouseEvent.clientY-diff}else{tickerTop=0}}}var tickerwrapJQ=tickerJQ.closest(".edrawings-ticker-wrapper");tickerwrapJQ.offset({left:tickerLeft,top:tickerTop}).css("width",tickerWidth).removeClass("edrawings-ui-hide");if(tickerAnimation){tickerwrapJQ.addClass("edrawings-animation")}}function l_hideTicker(){var tickerwrapJQ=$(".edrawings-ticker-wrapper");if(!tickerwrapJQ.hasClass("edrawings-ui-hide")){var tickerJQ=tickerwrapJQ.find(".edrawings-ticker");tickerJQ.text("");tickerwrapJQ.addClass("edrawings-ui-hide").removeClass("edrawings-animation").css("left","").css("top","").css("width","")}}function l_positionMenuPanelCollapseButton(){var activeButtonsJQ=$(".edrawings-tool-button.active-button");if(activeButtonsJQ.length){if(eDwUIUtils.scrollToTarget(activeButtonsJQ)){l_resizeToolBar()}var collapsedPanelsJQ=$(".edrawings-submenu.active.edrawings-collapsed");if(collapsedPanelsJQ.length){var attrStyle=collapsedPanelsJQ.find(".edrawings-menu-panel-arrow-collapse").attr("style");if(!!attrStyle){eDwUIUtils.positionMenuPanelArrowCollapseButton(collapsedPanelsJQ,activeButtonsJQ)}}}}function l_fixMenuPanelInwardToolbar(){var panelsJQ=$(".edrawings-submenu.active:not(.edrawings-collapsed), .edrawings-hud-menu.active");panelsJQ.each(function(iIndex,iPanel){var panelJQ=$(iPanel);eDwUIUtils.fixMenuPanelInwardToolbar(panelJQ)})}return eDwUIBaseEventHandlers});define("eDwUIBasePlugin",["require","exports","eDwUIHTMLEventMgr","eDwUIShortcutMenu","eDwEventMgr","eDwEvents","eDwUIUtils"],function(require,exports,eDwUIHTMLEventMgr,eDwUIShortcutMenu,eDwEventMgr,eDwEvents_6,eDwUIUtils){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var eDwUIBasePlugin=function(){function eDwUIBasePlugin(iPluginGroupName,iViewer,iButtonInfo,iViewerFeatOpts){if(iViewer===void 0){iViewer=null}if(iButtonInfo===void 0){iButtonInfo=null}if(iViewerFeatOpts===void 0){iViewerFeatOpts=null}var _this=this;console.debugLog("UIPlugin","Constructed "+iPluginGroupName+" plugin.");this.mPluginGroupName=iPluginGroupName;this.mViewer=iViewer;this.mViewerFeatOpts=iViewerFeatOpts||iViewer&&iViewer.ViewerFeatureOpts;this.mUIHTMLEventMgr=new eDwUIHTMLEventMgr;this.mPluginDependencies=[];this.mPluginButtonInfo=iButtonInfo;eDwUIShortcutMenu.get().setPluginCheck(iPluginGroupName,function(iPluginName){return _this.check(iPluginName)})}eDwUIBasePlugin.prototype.init=function(iPanelsToLoad){return __awaiter(this,void 0,void 0,function(){var promises,_i,iPanelsToLoad_1,panelToLoad;return __generator(this,function(_a){switch(_a.label){case 0:this.addAppObjEvent(eDwEvents_6.ActivateUIOpEvent,"onActivate",true);this.addAppObjEvent(eDwEvents_6.DeactivateUIOpEvent,"onDeactivate",true);if(!iPanelsToLoad)return[3,2];promises=[];for(_i=0,iPanelsToLoad_1=iPanelsToLoad;_i-1?true:false};eDwUIBasePlugin.prototype.addEventHandlers=function(){};eDwUIBasePlugin.prototype.removeEventHandlers=function(){this.mUIHTMLEventMgr.removeAllEventHandlers()};eDwUIBasePlugin.prototype.onActivate=function(iButtonJQ){return this.isButtonForThisPlugin(iButtonJQ)};eDwUIBasePlugin.prototype.onDeactivate=function(iButtonJQ){return this.isButtonForThisPlugin(iButtonJQ)};eDwUIBasePlugin.prototype.addAppObjEvent=function(iAppEvent,iEventObjMethod,iAdd){var eventMgr=eDwEventMgr.get();var eventMgrMethod=iAdd?"addEventHandlerObj":"removeEventHandlerObj";eventMgr[eventMgrMethod](iAppEvent,this,iEventObjMethod)};eDwUIBasePlugin.prototype.loadPanel=function(iPanelID,iHTMLFileName){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,eDwUIUtils.loadPanel(iPanelID,iHTMLFileName)];case 1:return[2,_a.sent()]}})})};Object.defineProperty(eDwUIBasePlugin.prototype,"PluginGroupName",{get:function(){return this.mPluginGroupName},enumerable:true,configurable:true});Object.defineProperty(eDwUIBasePlugin.prototype,"PluginButtonID",{get:function(){return this.mPluginButtonInfo?this.mPluginButtonInfo.ID:""},enumerable:true,configurable:true});Object.defineProperty(eDwUIBasePlugin.prototype,"Dependencies",{get:function(){return this.mPluginDependencies},enumerable:true,configurable:true});return eDwUIBasePlugin}();exports.eDwUIBasePlugin=eDwUIBasePlugin;function isActiveSelection(iViewer){return iViewer.SelectionMgr.length?true:false}exports.isActiveSelection=isActiveSelection});define("eDwUIDebugHTMLGenerator",["require","exports","eDwUIHTMLGenerator","eDwTypes"],function(require,exports,eDwUIHTMLGenerator,eDwTypes_15){"use strict";var _a;var eDwUIDebugHTMLGenerator=function(_super){__extends(eDwUIDebugHTMLGenerator,_super);function eDwUIDebugHTMLGenerator(iViewer,iPanelUIID){var _this=_super.call(this,iViewer,iPanelUIID)||this;_this.mHCModel=iViewer.getModel().getHCModel();return _this}eDwUIDebugHTMLGenerator.prototype.getNodeFromID=function(iNodeID){return l_getHCNode(iNodeID)};eDwUIDebugHTMLGenerator.prototype.getPostSpanHTML=function(iAdditionalClasses){return""};eDwUIDebugHTMLGenerator.prototype.forNodeGetName=function(iNode){return this.mHCModel.getNodeName(l_getHCNode(iNode))};eDwUIDebugHTMLGenerator.prototype.forNodeGetID=function(iNode){return l_getHCNode(iNode)};eDwUIDebugHTMLGenerator.prototype.forNodeGetParentID=function(iNode){return this.mHCModel.getNodeParent(l_getHCNode(iNode))};eDwUIDebugHTMLGenerator.prototype.forNodeGetChildren=function(iNode){return this.mHCModel.getNodeChildren(l_getHCNode(iNode))};eDwUIDebugHTMLGenerator.prototype.forNodeHasChildren=function(iNode){return this.forNodeGetChildren(iNode).length>0};eDwUIDebugHTMLGenerator.prototype.forNodeGetDataAttributes=function(iNode){return _super.prototype.forNodeGetDataAttributes.call(this,iNode)};eDwUIDebugHTMLGenerator.prototype.forNodeGetElementContent=function(iNode){var nodeHCID=this.forNodeGetID(iNode);return this.forNodeGetName(iNode)+" ID: "+nodeHCID+" TYPE: "+c_nodeTypes[this.mHCModel.getNodeType(nodeHCID)]+" VISIBLE: "+this.mHCModel.getNodeVisibility(nodeHCID)};eDwUIDebugHTMLGenerator.prototype.forNodeGetDisplayStateCSSClass=function(iNode){return"edrawings-body-visible"};return eDwUIDebugHTMLGenerator}(eDwUIHTMLGenerator);var c_nodeTypes=(_a={},_a[eDwTypes_15.HC.NodeType.AssemblyNode]="Assembly",_a[eDwTypes_15.HC.NodeType.Body]="Body",_a[eDwTypes_15.HC.NodeType.BodyInstance]="Body Instance",_a[eDwTypes_15.HC.NodeType.BrepBody]="BRep Body",_a[eDwTypes_15.HC.NodeType.CadView]="CAD View",_a[eDwTypes_15.HC.NodeType.DrawingSheet]="Drawing Sheet",_a[eDwTypes_15.HC.NodeType.Part]="Part",_a[eDwTypes_15.HC.NodeType.PartInstance]="Part Instance",_a[eDwTypes_15.HC.NodeType.Pmi]="PMI",_a[eDwTypes_15.HC.NodeType.PmiBody]="PMI Body",_a[eDwTypes_15.HC.NodeType.PointsBody]="Points Body",_a[eDwTypes_15.HC.NodeType.TessBody]="Tessellation Body",_a[eDwTypes_15.HC.NodeType.Unknown]="Unknown",_a[eDwTypes_15.HC.NodeType.ViewFrame]="View Frame",_a[eDwTypes_15.HC.NodeType.WireBody]="Wire Body",_a);function l_isHCNode(iNode){return!isNaN(iNode)}function l_getHCNode(iNode){if(!l_isHCNode(iNode)){throw new Error("Not an HC node:\n"+JSON.stringify(iNode))}return iNode}return eDwUIDebugHTMLGenerator});define("eDwUIHTMLEventMgr",["require","exports"],function(require,exports){"use strict";var eDwUIHTMLEventMgr=function(){function eDwUIHTMLEventMgr(){this.mEventHandlerData={}}eDwUIHTMLEventMgr.prototype.addDelegatedEventHandler=function(iElemSelector,iEventName,iEventHandler){if(!iElemSelector||!iEventName||!iEventHandler)return false;var selectors=iElemSelector.split(" ");if(selectors.length<2)return false;var ancestorElementID=selectors.shift();return this.commonAddEventHandler(ancestorElementID,iEventName,iEventHandler,selectors.join().replace(".",""))};eDwUIHTMLEventMgr.prototype.addEventHandler=function(iElemID,iEventName,iEventHandler){if(!iElemID||!iEventName||!iEventHandler)return false;return this.commonAddEventHandler(iElemID,iEventName,iEventHandler)};eDwUIHTMLEventMgr.prototype.removeAllEventHandlers=function(){for(var eventName in this.mEventHandlerData){if(this.mEventHandlerData.hasOwnProperty(eventName)){var handlersOfEvent=this.mEventHandlerData[eventName];for(var elemID in handlersOfEvent){if(handlersOfEvent.hasOwnProperty(elemID)){this.removeEventHandlersByID(elemID,eventName,handlersOfEvent)}}delete this.mEventHandlerData[eventName]}}this.mEventHandlerData={}};eDwUIHTMLEventMgr.prototype.removeEventHandlers=function(iElemID,iEventName){var handlersRemoved=false;if(this.mEventHandlerData.hasOwnProperty(iEventName)){var handlersOfEvent=this.mEventHandlerData[iEventName];if(handlersOfEvent.hasOwnProperty(iElemID)){handlersRemoved=this.removeEventHandlersByID(iElemID,iEventName,handlersOfEvent)}}return handlersRemoved};eDwUIHTMLEventMgr.prototype.commonAddEventHandler=function(iElemID,iEventName,iEventHandler,iElemClasses){if(iElemClasses===void 0){iElemClasses=""}var elements=[];if(iElemID==="window")elements.push(window);else if(iElemID==="document")elements.push(document);else elements=$(iElemID).toArray();if(!elements.length)return false;var handlersOfEvent=this.mEventHandlerData[iEventName];if(!handlersOfEvent){handlersOfEvent=this.mEventHandlerData[iEventName]={}}var elemHandlers=handlersOfEvent[iElemID];if(!elemHandlers){elemHandlers=handlersOfEvent[iElemID]={MainDispatcher:null,Handlers:[]}}if(elemHandlers.MainDispatcher){for(var _i=0,elements_1=elements;_i-1?"":" edrawings-list-option ";var highlight=this.getHighlightClass(iNode);var currOffset=iLeftPaddingInPX===undefined?this.mInitialLeftPaddingInPX+"px":iLeftPaddingInPX+"px";var generatedHTML="
";generatedHTML+=this.getPreSpanHTML(iNode,additionalClasses,expanded,iIgnoreChildren);generatedHTML+=""+this.forNodeGetElementContent(iNode)+"";generatedHTML+=this.getPostSpanHTML(nonRootClass+" "+additionalClasses);generatedHTML+="
";return generatedHTML};eDwUIHTMLGenerator.prototype.getNodeFromID=function(iNodeID){var modelViews=this.mViewer.getModel().getModelViews();for(var _i=0,modelViews_3=modelViews;_i
";return generatedHTML};eDwUIHTMLGenerator.prototype.getPostSpanHTML=function(iAdditionalClasses){return"
"};eDwUIHTMLGenerator.prototype.forNodeGetName=function(iNode){return getHierarchyNode(iNode).Name};eDwUIHTMLGenerator.prototype.forNodeGetID=function(iNode){return getHierarchyNode(iNode).HOOPSID};eDwUIHTMLGenerator.prototype.forNodeGetParentID=function(iNode){var parentHierNode=getHierarchyNode(iNode).ParentNode;return parentHierNode?parentHierNode.HOOPSID:undefined};eDwUIHTMLGenerator.prototype.forNodeGetChildren=function(iNode){var childrenObj=getHierarchyNode(iNode).getChildren();return Object.keys(childrenObj).map(function(key){return childrenObj[key]})};eDwUIHTMLGenerator.prototype.forNodeHasChildren=function(iNode){return this.forNodeGetChildren(iNode).length>0};eDwUIHTMLGenerator.prototype.forNodeGetDataAttributes=function(iNode){var parentNodeID=this.forNodeGetParentID(iNode);return" data-hoopsid='"+this.forNodeGetID(iNode)+"' "+(parentNodeID!==undefined?"data-hoopsparentid='"+parentNodeID+"' ":"")};eDwUIHTMLGenerator.prototype.forNodeGetElementContent=function(iNode){return this.forNodeGetName(iNode)};eDwUIHTMLGenerator.prototype.forNodeGetDisplayStateCSSClass=function(iNode){return eDwUIHTMLGenerator.getDisplayStateCSSClass(getHierarchyNode(iNode))};return eDwUIHTMLGenerator}();function getHierarchyNode(iNode){if(!eDwHierarchyNode.isHierarchyNode(iNode)){throw new Error("Not a hierarchy node:\n"+JSON.stringify(iNode))}return iNode}return eDwUIHTMLGenerator});define("eDwUIHierNodeVisMenuItemsPlugin",["require","exports","eDwCommandMgr","eDwSetHierNodeAttribsCmd","eDwSelIsolateCmd","eDwUIShortcutMenu","eDwUIUtils","eDwEventMgr","eDwKeyMgr","eDwEvents","eDwTypes","eDwUIBasePlugin","utils"],function(require,exports,eDwCommandMgr,eDwSetHierNodeAttribsCmd,eDwSelIsolateCmd,eDwUIShortcutMenu,eDwUIUtils,eDwEventMgr,eDwKeyMgr_4,eDwEvents_7,eDwTypes_16,eDwUIBasePlugin_1,utils){"use strict";var eDwUIHierNodeVisMenuItemPlugin=function(_super){__extends(eDwUIHierNodeVisMenuItemPlugin,_super);function eDwUIHierNodeVisMenuItemPlugin(iViewer,iViewerFeatOpts){return _super.call(this,"HideShow",iViewer)||this}eDwUIHierNodeVisMenuItemPlugin.prototype.init=function(){return __awaiter(this,void 0,void 0,function(){function isNotPartModel(iViewer){return!iViewer.getModel().isPart()}function isActiveSelectionForASMAndDRW(iViewer){return eDwUIBasePlugin_1.isActiveSelection(iViewer)&&isNotPartModel(iViewer)}function isActiveSelectionForASM(iViewer){return eDwUIBasePlugin_1.isActiveSelection(iViewer)&&iViewer.getModel().isAssembly()}var shortcutMenu;var _this=this;return __generator(this,function(_a){_super.prototype.init.call(this);shortcutMenu=eDwUIShortcutMenu.get();if(!shortcutMenu.isEmpty()){shortcutMenu.addMenuSeparator(this.PluginGroupName)}shortcutMenu.addMenuItem(this.PluginGroupName,"edrawings-shortcut-hide-show",function(iEvent,iUIItemJQ){var selMgr=_this.mViewer.SelectionMgr;var selHierNodes=selMgr.getSelHierarchyNodes();if(selHierNodes&&selHierNodes.length){var attrib={Visible:!selHierNodes[0].getAttribs().Visible};var selHideShowCmd=new eDwSetHierNodeAttribsCmd(_this.mViewer,selHierNodes,attrib);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(selHideShowCmd);cmdMgr.remove(selHideShowCmd,"commit")}shortcutMenu.hide()},isActiveSelectionForASMAndDRW);shortcutMenu.addMenuItem(this.PluginGroupName,"edrawings-shortcut-transp-solid",function(iEvent,iUIItemJQ){var selMgr=_this.mViewer.SelectionMgr;var selHierNodes=selMgr.getSelHierarchyNodes();if(selHierNodes&&selHierNodes.length){var attrib={Visible:true,Opaque:!selHierNodes[0].getAttribs().Opaque};var selTransSolidCmd=new eDwSetHierNodeAttribsCmd(_this.mViewer,selHierNodes,attrib);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(selTransSolidCmd);cmdMgr.remove(selTransSolidCmd,"commit")}shortcutMenu.hide()},isActiveSelectionForASM);shortcutMenu.addMenuItem(this.PluginGroupName,"edrawings-shortcut-isolate",function(iEvent,iUIItemJQ){var selIsolateCmd=new eDwSelIsolateCmd(_this.mViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(selIsolateCmd);cmdMgr.remove(selIsolateCmd,"commit");shortcutMenu.hide()},isActiveSelectionForASMAndDRW);shortcutMenu.addMenuItem(this.PluginGroupName,"edrawings-shortcut-show-all",function(iEvent,iUIItemJQ){var modelView=_this.mViewer.getModel().getActiveModelView();var attrib={Visible:true};var showAllCmd=new eDwSetHierNodeAttribsCmd(_this.mViewer,modelView.getNodes(),attrib);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(showAllCmd);cmdMgr.remove(showAllCmd,"commit");shortcutMenu.hide()},isNotPartModel);this.mUIHTMLEventMgr.addDelegatedEventHandler("document .edrawings-submenu-list-item-button","click",function(iEvent){console.debugLog("UIPlugin","HideShow menu button click");var selected=false;var targetJQ=$(iEvent.target);var parentJQ=targetJQ.parent();eDwUIUtils.scrollToTarget(parentJQ);var selHCID=eDwUIUtils.getHCID(parentJQ);if(!isNaN(selHCID)){var existingIdx=_this.mViewer.SelectionMgr.getSelectedNodeIDIndex(selHCID);selected=existingIdx>-1?true:_this.mViewer.SelectionMgr.selectByID(selHCID)}if(selected){_this.fireEvent(iEvent,eDwEvents_7.RightClickEvent)}});console.debugLog("UIPlugin","Added HideShow click event handler");this.mUIHTMLEventMgr.addDelegatedEventHandler("document .edrawings-submenu-list-item","mousedown",function(iEvent){console.debugLog("UIPlugin","HideShow menu mousedown");var eventJQ=$(iEvent);var targetJQ=$(iEvent.target);eDwUIUtils.scrollToTarget(targetJQ);if(!targetJQ||!targetJQ.length||!eventJQ||!eventJQ.length||targetJQ.hasClass("edrawings-root")||targetJQ.hasClass("edrawings-tree-arrow")||targetJQ.hasClass("edrawings-tree-expanded")||targetJQ.hasClass("edrawings-tree-icon")){return}if(!targetJQ.hasClass("edrawings-submenu-list-item"))return;var mouseEvent=iEvent;var pressedRMB=eDwKeyMgr_4.eDwKeyMgr.isRMBPressed(mouseEvent);var selected=false;var selHCID=eDwUIUtils.getHCID(targetJQ);if(!isNaN(selHCID)){if(!eDwKeyMgr_4.eDwKeyMgr.get().isDown("Shift")){selected=_this.mViewer.SelectionMgr.selectByID(selHCID)}else{var selector=".edrawings-submenu-list-item"+".edrawings-list-selected:has([data-hoopsid])";var filter=".edrawings-submenu-list-item:has([data-hoopsid])";var collectionPrevJQ=targetJQ.prevUntil(selector,filter);if(collectionPrevJQ.length===0||collectionPrevJQ.last().prev(selector).length===0){collectionPrevJQ=$([])}var collectionNextJQ=targetJQ.nextUntil(selector,filter);if(collectionNextJQ.length===0||collectionNextJQ.last().next(selector).length===0){collectionNextJQ=$([])}var collectionJQ=$([]).add(collectionPrevJQ).add(targetJQ).add(collectionNextJQ);collectionJQ.each(function(iIdx,iElement){var elementJQ=$(iElement);var selHCID=eDwUIUtils.getHCID(elementJQ);_this.mViewer.SelectionMgr.selectByID(selHCID)});selected=true;iEvent.preventDefault()}}else{selected=!targetJQ.hasClass("edrawings-list-selected");targetJQ[selected?"addClass":"removeClass"]("edrawings-list-selected")}var appEvent=selected&&pressedRMB?eDwEvents_7.RightClickEvent:eDwEvents_7.UnselectEvent;_this.fireEvent(iEvent,appEvent)});console.debugLog("UIPlugin","Added HideShow mousedown event handler");return[2]})})};eDwUIHierNodeVisMenuItemPlugin.prototype.check=function(iPluginName){return _super.prototype.check.call(this,iPluginName)||iPluginName===undefined};eDwUIHierNodeVisMenuItemPlugin.prototype.fireEvent=function(iEvent,iAppEvent){if(!iEvent||!iAppEvent||!this.mViewer)return;if(iAppEvent===eDwEvents_7.RightClickEvent){if(utils.isOfType(iEvent,"clientX")){var screenPos=new eDwTypes_16.HC.Point2(iEvent.clientX,iEvent.clientY);eDwEventMgr.get().fireEvent(iAppEvent,this.mViewer,screenPos,this.PluginGroupName)}}else if(iAppEvent===eDwEvents_7.UnselectEvent){eDwEventMgr.get().fireEvent(iAppEvent,this.mViewer,[])}};return eDwUIHierNodeVisMenuItemPlugin}(eDwUIBasePlugin_1.eDwUIBasePlugin);return eDwUIHierNodeVisMenuItemPlugin});define("eDwUILayerHTMLGenerator",["require","exports","eDwUIHTMLGenerator"],function(require,exports,eDwUIHTMLGenerator){"use strict";var eDwUILayerHTMLGenerator=function(_super){__extends(eDwUILayerHTMLGenerator,_super);function eDwUILayerHTMLGenerator(iViewer,iPanelUIID){return _super.call(this,iViewer,iPanelUIID)||this}eDwUILayerHTMLGenerator.prototype.generateHTML=function(iAdditionalClasses){return __awaiter(this,void 0,void 0,function(){var generatedHTML,activeModelView,layerNodes,_i,layerNodes_1,layerNode;return __generator(this,function(_a){generatedHTML="";activeModelView=this.mViewer.getModel().getActiveModelView();if(activeModelView&&activeModelView.Hierarchy){layerNodes=activeModelView.Hierarchy.findNodes("Category","layer");if(layerNodes.length){generatedHTML+="
"+" "+""+"Select all
"}for(_i=0,layerNodes_1=layerNodes;_i"};eDwUILayerHTMLGenerator.prototype.getPostSpanHTML=function(iAdditionalClasses){return""};return eDwUILayerHTMLGenerator}(eDwUIHTMLGenerator);return eDwUILayerHTMLGenerator});define("eDwUIMessageReporter",["require","exports","eDwUIUtils","utils"],function(require,exports,eDwUIUtils,utils){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function showServerLoadErrorPanel(iServerID,iModelCacheName){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,l_addParagraphToPanelText({},"edrawings-server-load-failure-1")];case 1:_a.sent();return[4,l_showServerError(iServerID,iModelCacheName)];case 2:_a.sent();return[2]}})})}exports.showServerLoadErrorPanel=showServerLoadErrorPanel;function showResultPanel(iResult){return __awaiter(this,void 0,void 0,function(){var showButtons,_a;return __generator(this,function(_b){switch(_b.label){case 0:showButtons=false;if(!utils.isOfType(iResult,"ServerID"))return[3,2];return[4,l_showConversionResultPanel(iResult)];case 1:showButtons=_b.sent();return[3,5];case 2:_a=iResult.ErrorCode;return[3,3];case 3:return[4,l_showPanelGeneric(iResult)];case 4:showButtons=_b.sent();return[3,5];case 5:return[2,showButtons]}})})}exports.showResultPanel=showResultPanel;function showMessagePanelFromCSScontent(iTextClass,iOptions){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,l_addParagraphToPanelText(!!iOptions?iOptions:{},iTextClass)];case 1:_a.sent();return[4,l_showMessagePanel()];case 2:_a.sent();return[2]}})})}exports.showMessagePanelFromCSScontent=showMessagePanelFromCSScontent;function l_showConversionResultPanel(iResult){return __awaiter(this,void 0,void 0,function(){var showButtons,_a;return __generator(this,function(_b){switch(_b.label){case 0:showButtons=l_shouldShowButtons();_a=iResult.ErrorCode;switch(_a){case"URLNotAccessible":return[3,1];case"UnsupportedFileType":return[3,4];case"UnknownLicenseError":return[3,7];case"LicenseVersionMismatch":return[3,10];case"NoMoreLicenses":return[3,13];case"CannotConnectToLicenseServer":return[3,16];case"LicenseExpired":return[3,19];case"UnknownError":return[3,22]}return[3,25];case 1:return[4,l_addParagraphToPanelText({"data-file-url":iResult.ErrorData[0]},"edrawings-server-url-inaccessible")];case 2:_b.sent();return[4,l_showMessagePanel("",true,false,"edrawings-error-title edrawings-dialog-no-close")];case 3:_b.sent();return[3,29];case 4:return[4,l_addParagraphToPanelText({"data-file":iResult.FileName},"edrawings-server-unsupported-file-type")];case 5:_b.sent();return[4,l_showMessagePanel("",true,showButtons,"edrawings-error-title edrawings-dialog-no-close")];case 6:_b.sent();return[3,29];case 7:return[4,l_addParagraphToPanelText({},"edrawings-unknown-license-error")];case 8:_b.sent();return[4,l_showMessagePanel("",true,false,"edrawings-warn-title edrawings-dialog-no-close")];case 9:_b.sent();return[3,29];case 10:return[4,l_addParagraphToPanelText({},"edrawings-license-version-mismatch-error")];case 11:_b.sent();return[4,l_showMessagePanel("",true,false,"edrawings-warn-title edrawings-dialog-no-close")];case 12:_b.sent();return[3,29];case 13:return[4,l_addParagraphToPanelText({},"edrawings-no-licenses-error")];case 14:_b.sent();return[4,l_showMessagePanel("",true,false,"edrawings-warn-title edrawings-dialog-no-close")];case 15:_b.sent();return[3,29];case 16:return[4,l_addParagraphToPanelText({},"edrawings-license-server-connection-error")];case 17:_b.sent();return[4,l_showMessagePanel("",true,false,"edrawings-warn-title edrawings-dialog-no-close")];case 18:_b.sent();return[3,29];case 19:return[4,l_addParagraphToPanelText({},"edrawings-license-expired-error")];case 20:_b.sent();return[4,l_showMessagePanel("",true,false,"edrawings-warn-title edrawings-dialog-no-close")];case 21:_b.sent();return[3,29];case 22:return[4,l_addParagraphToPanelText({},"edrawings-unknown-error")];case 23:_b.sent();return[4,l_showServerError(iResult.ServerID,iResult.ModelCacheName)];case 24:_b.sent();return[3,29];case 25:if(!l_isDebug())return[3,27];return[4,l_showPanelGeneric(iResult)];case 26:_b.sent();return[3,28];case 27:showServerLoadErrorPanel(iResult.ServerID,iResult.ModelCacheName);_b.label=28;case 28:return[3,29];case 29:return[2,showButtons]}})})}function l_showPanelGeneric(iResult){return __awaiter(this,void 0,void 0,function(){var _a,msg,classes,_i,_b,data;return __generator(this,function(_c){switch(_c.label){case 0:_a=iResult.ErrorCode;switch(_a){case"AJAXFailure":return[3,1];case"IncompleteFileProcessing":return[3,4];case"ModelLoadInViewerFailed":return[3,7]}return[3,11];case 1:return[4,l_addParagraphToPanelText({},"edrawings-server-ajax-failure")];case 2:_c.sent();return[4,l_showMessagePanel("",true,false,"edrawings-error-title edrawings-dialog-no-close")];case 3:_c.sent();return[3,13];case 4:return[4,l_addParagraphToPanelText({},"edrawings-unable-process-file")];case 5:_c.sent();return[4,l_showMessagePanel("",true,true,"edrawings-error-title edrawings-dialog-no-close")];case 6:_c.sent();return[3,13];case 7:return[4,l_addParagraphToPanelText({"data-error-message":iResult.ErrorData[0]},"edrawings-viewer-load-failure")];case 8:_c.sent();return[4,l_addParagraphToPanelText({"data-model-cache-name":iResult.ErrorData[1]},"edrawings-server-load-failure-3")];case 9:_c.sent();return[4,l_showMessagePanel("",true,true,"edrawings-error-title edrawings-dialog-no-close")];case 10:_c.sent();return[3,13];case 11:msg="";classes="edrawings-dialog-no-close";switch(iResult.ErrorCode){case"Error":classes+=" edrawings-error-title";break;case"Warn":classes+=" edrawings-warn-title";break;default:classes+=" edrawings-info-title";msg+="
"+iResult.ErrorCode+"
";break}for(_i=0,_b=iResult.ErrorData;_i<_b.length;_i++){data=_b[_i];msg+="
"+data+"
"}return[4,l_showMessagePanel(msg,true,false,classes)];case 12:_c.sent();return[3,13];case 13:return[2,l_shouldShowButtons()]}})})}function l_addParagraphToPanelText(iOptions,iTextClass){return __awaiter(this,void 0,void 0,function(){function getValue(iValue){return typeof iValue==="string"?"'"+iValue+"'":iValue.toString()}var msgPanelText,div,optionKeys,_i,optionKeys_1,optionKey;return __generator(this,function(_a){switch(_a.label){case 0:return[4,l_getDailogPanelTextElem()];case 1:msgPanelText=_a.sent();div="
";msgPanelText.append(div);return[2]}})})}function l_showMessagePanel(iMsg,iModal,iShowButtons,iDlgClasses){if(iMsg===void 0){iMsg=""}if(iModal===void 0){iModal=true}if(iShowButtons===void 0){iShowButtons=false}if(iDlgClasses===void 0){iDlgClasses="edrawings-info-title edrawings-dialog-no-close"}return __awaiter(this,void 0,void 0,function(){var msgPanelText,opts,msgPanel,msgPanelTitleJQ,text;return __generator(this,function(_a){switch(_a.label){case 0:return[4,l_getDailogPanelTextElem()];case 1:msgPanelText=_a.sent();if(iMsg)msgPanelText.html(iMsg);opts={modal:iModal,width:window.innerWidth*.6,minWidth:200,dialogClass:iDlgClasses,closeOnEscape:iShowButtons};msgPanel=$("#edrawings-dialog-panel");if(iShowButtons){$.extend(opts,{buttons:{Ok:function(){msgPanel.dialog("close")}},close:function(iEvent){$(".edrawings-dialog-content").remove()}})}$.extend(opts,{beforeClose:function(iEvent){$(iEvent.target).closest(".ui-dialog").siblings(".ui-widget-overlay").addBack().off("drop")},open:function(iEvent){$(iEvent.target).closest(".ui-dialog").siblings(".ui-widget-overlay").addBack().on("drop",function(iEvent2){iEvent2.preventDefault();iEvent2.stopPropagation()})}});eDwUIUtils.hide("#WaitBanner",true);msgPanel.dialog(opts);if(iDlgClasses.indexOf("edrawings")>-1&&iDlgClasses.indexOf("title")>-1){msgPanelTitleJQ=msgPanel.prev().find(".ui-dialog-title");text="";if(msgPanelTitleJQ){text=msgPanelTitleJQ.css("content").replace(/^['"]+|\\|(;\s?})+|['"]$/g,"")}msgPanelTitleJQ.text(text)}return[2]}})})}function l_shouldShowButtons(){var viewerHTMLElem=$(eDwUIUtils.getViewerElementID()).get(0);return $._data(viewerHTMLElem,"events").dragover}function l_isDebug(){var viewerFeatOpts={Debug:false};eDwUIUtils.getRequestedQueryStringParams(location.href,viewerFeatOpts,false);return viewerFeatOpts.Debug}function l_getDailogPanelTextElem(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:if(!!lDialogTextJQ)return[3,2];return[4,eDwUIUtils.loadPanel("#edrawings-dialog-panel","dialogpanel.html")];case 1:_a.sent();lDialogTextJQ=$("#edrawings-dialog-panel-text");_a.label=2;case 2:return[2,lDialogTextJQ]}})})}function l_showServerError(iServerID,iModelCacheName){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,l_addParagraphToPanelText({"data-server-id":iServerID},"edrawings-server-load-failure-2")];case 1:_a.sent();return[4,l_addParagraphToPanelText({"data-model-cache-name":iModelCacheName},"edrawings-server-load-failure-3")];case 2:_a.sent();return[4,l_showMessagePanel("",true,false,"edrawings-error-title edrawings-dialog-no-close")];case 3:_a.sent();return[2]}})})}var lDialogTextJQ=null});define("eDwUIModelViewHTMLGenerator",["require","exports","eDwUIHTMLGenerator"],function(require,exports,eDwUIHTMLGenerator){"use strict";var eDwUIModelViewHTMLGenerator=function(_super){__extends(eDwUIModelViewHTMLGenerator,_super);function eDwUIModelViewHTMLGenerator(iViewer,iPanelUIID){return _super.call(this,iViewer,iPanelUIID)||this}eDwUIModelViewHTMLGenerator.prototype.generateHTML=function(iAdditionalClasses){return __awaiter(this,void 0,void 0,function(){var generatedHTML,modelViews,_i,modelViews_4,modelView,modelViewHierNode;return __generator(this,function(_a){generatedHTML="";modelViews=this.mViewer.getModel().getModelViews();for(_i=0,modelViews_4=modelViews;_iparentRect.Width){posx=parentRect.Width-menuWidth-5}if(posy+menuHeight>parentRect.Height){posy=parentRect.Height-menuHeight-5}menuJQ.css({top:posy+"px",left:posx+"px"});eDwUIUtils.hide(c_menuID,false)};eDwUIShortcutMenu.prototype.hide=function(){eDwUIUtils.hide(c_menuID,true);eDwUIUtils.hide(c_menuID+" ul",true);eDwUIUtils.hide(c_menuID+" li",true)};eDwUIShortcutMenu.prototype.isEmpty=function(){return!$(c_menuID+" ul").length&&!$(c_menuID+" li").length};eDwUIShortcutMenu.prototype.removeAllEventHandlers=function(){this.mUIHTMLEventMgr.removeAllEventHandlers();var eventMgr=eDwEventMgr.get();eventMgr.removeEventHandlerFunc(eDwEvents_8.RightClickEvent,"showHideShortcutMenu");eventMgr.removeEventHandlerFunc(eDwEvents_8.UnselectEvent,"hideShortcutMenu");this.mMenuHandlers={};this.mCheckPluginHandlers={}};eDwUIShortcutMenu.prototype.destroy=function(){this.hide();this.removeAllEventHandlers();$(c_menuID+" ul").remove();$(c_menuID+" li").remove();eDwUIShortcutMenu.sMenu=null};eDwUIShortcutMenu.prototype.addMenuItem=function(iPluginName,iMenuItemCSSClassName,iHandlerFunc,iIsVisibleFunc,iHideMenuItems,iParentMenuSelector){if(iHandlerFunc===void 0){iHandlerFunc=null}if(iIsVisibleFunc===void 0){iIsVisibleFunc=null}if(iHideMenuItems===void 0){iHideMenuItems=false}if(iParentMenuSelector===void 0){iParentMenuSelector=c_menuID}if(!iMenuItemCSSClassName){console.debugLog("shortcutmenu","Missing selector.");throw new eDwGenericError("Missing selector.")}var menuJQ=$(iParentMenuSelector);var menuItemJQ=l_insertInMenu("li",iPluginName,iMenuItemCSSClassName,menuJQ);var menuItemID=menuItemJQ.attr("id");if(iHandlerFunc){this.mMenuHandlers[menuItemID]=iHandlerFunc}var handlerObj=this.mMenuVisibilityHandlerObjs[menuItemID];if(!handlerObj){handlerObj=this.mMenuVisibilityHandlerObjs[menuItemID]={Handler:iIsVisibleFunc,PluginName:iPluginName}}else{handlerObj.Handler=iIsVisibleFunc;handlerObj.PluginName=iPluginName}if(iHideMenuItems)this.hide()};eDwUIShortcutMenu.prototype.addSubMenu=function(iPluginName,iSubMenuCSSClassName,iHideSubMenu,iParentMenuSelector){if(iHideSubMenu===void 0){iHideSubMenu=false}if(iParentMenuSelector===void 0){iParentMenuSelector=c_menuID}var subMenuJQ=$(iParentMenuSelector);l_insertInMenu("ul",iPluginName,iSubMenuCSSClassName,subMenuJQ);if(iHideSubMenu)this.hide()};eDwUIShortcutMenu.prototype.addMenuSeparator=function(iPluginName){this.addMenuItem(iPluginName,"edrawings-shortcut-divider",null,function(iViewer){return l_getNumVisMenuItems(iPluginName)?true:false})};eDwUIShortcutMenu.prototype.setPluginCheck=function(iPluginNameKey,iCheckFunc){if(iPluginNameKey){this.mCheckPluginHandlers[iPluginNameKey]=iCheckFunc;return true}return false};eDwUIShortcutMenu.prototype.removeMenuItem=function(iPluginName,iMenuItemCSSClassName,iParentMenuSelector){if(iParentMenuSelector===void 0){iParentMenuSelector=c_menuID}var menuItemJQ=l_removeFromMenu(iParentMenuSelector,iPluginName,iMenuItemCSSClassName);var menuItemID=menuItemJQ.attr("id");delete this.mMenuHandlers[menuItemID];delete this.mMenuVisibilityHandlerObjs[menuItemID];$(iParentMenuSelector).menu("refresh")};eDwUIShortcutMenu.prototype.removeSubMenu=function(iPluginName,iSubMenuCSSClassName,iParentMenuSelector){if(iParentMenuSelector===void 0){iParentMenuSelector=c_menuID}l_removeFromMenu(iParentMenuSelector,iPluginName,iSubMenuCSSClassName)};eDwUIShortcutMenu.get=function(){if(!eDwUIShortcutMenu.sMenu){eDwUIShortcutMenu.sMenu=new eDwUIShortcutMenu}return eDwUIShortcutMenu.sMenu};return eDwUIShortcutMenu}();var c_menuID="#edrawings-shortcut-menu";var c_divider="-";var c_dummyText="dummy";function l_validatePlugin(iPluginName){if(!iPluginName){console.debugLog("shortcutmenu","Missing menu group name.");throw new eDwGenericError("Missing menu group name.")}}function l_insertInMenu(iElementStyle,iPluginName,iCSSClassName,iParentMenuJQ){l_validatePlugin(iPluginName);var text=iCSSClassName==="edrawings-shortcut-divider"?c_divider:c_dummyText;var menuElemJQ=$("<"+iElementStyle+" class ='"+iCSSClassName+" edrawings-shortcut-menu-text'>"+text+"");menuElemJQ.attr("plugin-name",iPluginName);if(!menuElemJQ.attr("id")){menuElemJQ.attr("id",iCSSClassName+"-id")}iParentMenuJQ.append(menuElemJQ);iParentMenuJQ.menu("refresh");if(text===c_dummyText)menuElemJQ.text("");return menuElemJQ}function l_removeFromMenu(iParentMenuSelector,iPluginName,iMenuItemCSSClassName){return $(iParentMenuSelector).find("[plugin-name='"+iPluginName+"']"+iMenuItemCSSClassName).remove()}function l_getNumVisMenuItems(iPluginName){var menuItems=$(c_menuID+" li");var hiddenMenuItems=$(c_menuID+" li.edrawings-ui-hide");if(iPluginName){menuItems=menuItems.find("[plugin-name='"+iPluginName+"']");hiddenMenuItems=hiddenMenuItems.find("[plugin-name='"+iPluginName+"']")}return menuItems.length-hiddenMenuItems.length}return eDwUIShortcutMenu});define("eDwUITableHTMLGenerator",["require","exports","eDwUIHTMLGenerator"],function(require,exports,eDwUIHTMLGenerator){"use strict";var eDwUITableHTMLGenerator=function(_super){__extends(eDwUITableHTMLGenerator,_super);function eDwUITableHTMLGenerator(iViewer,iPanelUIID){return _super.call(this,iViewer,iPanelUIID)||this}eDwUITableHTMLGenerator.prototype.generateHTML=function(iAdditionalClasses){return __awaiter(this,void 0,void 0,function(){var generatedHTML,activeModelView,tableNodes,_i,tableNodes_1,tableNode;return __generator(this,function(_a){generatedHTML="";activeModelView=this.mViewer.getModel().getActiveModelView();if(activeModelView&&activeModelView.Hierarchy){tableNodes=activeModelView.Hierarchy.findNodes("Category","table");for(_i=0,tableNodes_1=tableNodes;_i0));hide(".edrawings-menu-search-cancel",true)}}exports.searchPanelList=searchPanelList;function updateModelViewTargets(iModelView,iFilter,iTargetClass){var targetSpans=$("span[data-hoopsid='"+iModelView.Hierarchy.HOOPSID+"']");if(targetSpans.length>0){var viewTab=targetSpans.filter(iFilter);if(viewTab.length>0){var parentJQ=viewTab.parent();parentJQ.addClass(iTargetClass);scrollToTarget(parentJQ)}}}exports.updateModelViewTargets=updateModelViewTargets;function switchModelView(iEvent,iViewer){var targetJQ=$(iEvent.target);if(!targetJQ||!targetJQ.length)return;var modelViewName=getText(targetJQ[0]);var changeModelViewCmd=new eDwChangeModelViewCmd(iViewer,modelViewName,iViewer.getInitCamera());var cmdMgr=eDwCommandMgr.get();cmdMgr.add(changeModelViewCmd);cmdMgr.remove(changeModelViewCmd,"commit")}exports.switchModelView=switchModelView;function expandSelected(iViewer,iSelHierNode){var activeModelView=iViewer.getModel().getActiveModelView();function expandNode(iTargetJQ){if(!iTargetJQ.length)return;if(!iTargetJQ.hasClass("edrawings-tree-expanded")){var panelUIID=getUIPanelID(iTargetJQ);if(!$(panelUIID).is(":visible"))return;var gen=getUIGenerator(panelUIID);var offset=parseInt($(iTargetJQ).css("padding-left"),10);var nodeToExpand=parseInt(iTargetJQ.data("hoopsid"),10);var hierarchyNode=activeModelView.Nodes[nodeToExpand];var appendNode=iTargetJQ.closest(".edrawings-submenu-list-item");appendNode.after(gen.generateHTMLForChildNodes(hierarchyNode,false,offset));iTargetJQ.addClass("edrawings-tree-expanded")}}var hierNode=iSelHierNode.ParentNode;while(hierNode&&hierNode!==activeModelView.Hierarchy){var expandNodes=$('[data-hoopsid="'+hierNode.HOOPSID+'"][class~="edrawings-tree-arrow"]');$.each(expandNodes,function(iIdx,iTarget){expandNode($(iTarget))});hierNode=hierNode.ParentNode}}exports.expandSelected=expandSelected;function scrollToTreeNode(iSelHierNode,iSetSelected){var treeItem={node:$("span[data-hoopsid='"+iSelHierNode.HOOPSID+"']:not(.config-tab-text)"),ownerNode:$("div[data-hoopsid='"+iSelHierNode.HOOPSID+"']")};if(treeItem.ownerNode.length){var classAction_1=iSetSelected?"addClass":"removeClass";$.each(treeItem.node,function(iIdx,iTarget){$(iTarget)[classAction_1]("edrawings-list-selected")});$.each(treeItem.ownerNode,function(iIdx,iTarget){var targetJQ=$(iTarget);targetJQ[classAction_1]("edrawings-list-selected");if(!targetJQ.hasClass("edrawings-submenu-list-item")){return}var panel=targetJQ.closest(".edrawings-menu");var panelHiddenState=panel.is(":hidden");hide(panel.attr("id"),false);if(iSetSelected){scrollToTarget(targetJQ,panelHiddenState?"none":"slow")}hide(panel.attr("id"),panelHiddenState)})}}exports.scrollToTreeNode=scrollToTreeNode;function addCloseEventHandler(iPanelID,iUIHTMLEventMgr){iUIHTMLEventMgr.addDelegatedEventHandler(iPanelID+" .edrawings-menu-close","click",function(iEvent){hide(iPanelID,true)})}exports.addCloseEventHandler=addCloseEventHandler;function deactivateMoveInput(iInputEventIDSuffix){$(document).off("mousemove"+iInputEventIDSuffix);$(document).off("mousedown"+iInputEventIDSuffix);$(document).off("mouseup"+iInputEventIDSuffix);$(document).off("click"+iInputEventIDSuffix)}exports.deactivateMoveInput=deactivateMoveInput;function loadComponentHTML(){return __awaiter(this,void 0,void 0,function(){var loadPromises;return __generator(this,function(_a){switch(_a.label){case 0:loadPromises=[];loadPromises.push(loadPanel("#edrawings-sheet-tree-menu","sheetspanel.html"));loadPromises.push(loadPanel("#edrawings-layer-control-menu","layerspanel.html"));loadPromises.push(loadPanel("#edrawings-debug-menu","debugpanel.html"));return[4,Promise.all(loadPromises)];case 1:_a.sent();return[2]}})})}exports.loadComponentHTML=loadComponentHTML;function inhibitEventBehavior(iEvent){iEvent.preventDefault();iEvent.stopPropagation()}exports.inhibitEventBehavior=inhibitEventBehavior;function populateModelViewPanel(iViewer,iPanelUIID,iTextClass){return __awaiter(this,void 0,void 0,function(){var listModelViewMenu,gen,_a,_b;return __generator(this,function(_c){switch(_c.label){case 0:listModelViewMenu=$(iPanelUIID+" .edrawings-submenu-list");listModelViewMenu.empty();gen=getUIGenerator(iPanelUIID);_b=(_a=listModelViewMenu).append;return[4,gen.generateHTML(iTextClass)];case 1:_b.apply(_a,[_c.sent()]);return[2]}})})}exports.populateModelViewPanel=populateModelViewPanel;function addPanelResizeEvents(iPanelID,iInputEventIDSuffix,iButtonID){var click="click"+iInputEventIDSuffix;$(document).on(click,iPanelID+" .edrawings-menu-panel-arrow-collapse",function(iJQEvent){var msg="Panel resize: "+click;console.debugLog("UIPanelResize",msg);iJQEvent.preventDefault();var panelJQ=$(iPanelID);panelJQ.toggleClass("edrawings-collapsed");var activeButtonJQ=iButtonID?$(iButtonID):undefined;positionMenuPanelArrowCollapseButton(panelJQ,activeButtonJQ);iJQEvent.stopImmediatePropagation()});var panelJQ=$(iPanelID);panelJQ.removeClass("edrawings-collapsed");l_setMenuPanelArrowCollapseButtonPosition(panelJQ);fixMenuPanelInwardToolbar(panelJQ)}exports.addPanelResizeEvents=addPanelResizeEvents;function getText(iElement){return $(iElement).text().trim()}exports.getText=getText;function getTarget(iTargetJQ){return iTargetJQ.hasClass("config-tab-text")?iTargetJQ.parent():iTargetJQ}exports.getTarget=getTarget;function getSpanText(iTargetJQ){var target=getTarget(iTargetJQ);if(!target.is("span")){target=target.find("span")}if(!target||!target.length)return"";return target[0].innerText}exports.getSpanText=getSpanText;function loadPanel(iElemOrClassID,iPanelHTML){return __awaiter(this,void 0,void 0,function(){var loaded,iExcp_15;return __generator(this,function(_a){switch(_a.label){case 0:if(!eDwServiceMgr.usesWebServices())return[2,false];loaded=false;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,eDwServiceMgr.get().load(iElemOrClassID,iPanelHTML)];case 2:_a.sent();loaded=true;console.debugLog("PanelLoad","Loaded panel id = "+iElemOrClassID+" HTML file = "+iPanelHTML);return[3,4];case 3:iExcp_15=_a.sent();console.debugLog("PanelLoad","Failed to load "+iPanelHTML+": "+iExcp_15.message);return[3,4];case 4:return[2,loaded]}})})}exports.loadPanel=loadPanel;function hide(iSelector,iOff){var selJQ=$(iSelector);selJQ[iOff?"addClass":"removeClass"]("edrawings-ui-hide");return selJQ}exports.hide=hide;function getRequestedQueryStringParams(iURL,ioViewerFeatOpts,iWarnOfOtherParams){if(iWarnOfOtherParams===void 0){iWarnOfOtherParams=true}var hashes=iURL.slice(iURL.indexOf("?")+1).split("&");for(var i=0;i1){var strVal=hash[1];var val=strVal==="true"?true:strVal==="false"?false:strVal;if(ioViewerFeatOpts.hasOwnProperty(hash[0])){ioViewerFeatOpts[hash[0]]=val}else if(iWarnOfOtherParams){console.warn(hash[0]+" is not a valid query parameter.")}}}}exports.getRequestedQueryStringParams=getRequestedQueryStringParams;function getScrollParent(iTargetJQ){return iTargetJQ&&iTargetJQ.scrollParent?iTargetJQ.scrollParent():null}exports.getScrollParent=getScrollParent;function getPosition(iTargetJQ){var ret={top:0,left:0};if(iTargetJQ)ret=iTargetJQ.position();return ret}exports.getPosition=getPosition;function scrollToTarget(iTargetJQ,iAnimationSpeed){if(iAnimationSpeed===void 0){iAnimationSpeed="slow"}var animationSpeed=iAnimationSpeed;if(!iTargetJQ)return false;var targetOffset=iTargetJQ.offset();var targetParentJQ=iTargetJQ.parent();if(targetParentJQ.length&&targetParentJQ[0]===$(document)[0]){return false}var targetParentOffset=targetParentJQ.offset();var updated=false;if(targetParentJQ[0].scrollWidth>targetParentJQ.width()){var targetParentPaddingLeft=parseInt(targetParentJQ.css("paddingLeft"));var diff=l_computeTargetMinimalAdjustment(targetOffset.left,parseInt(iTargetJQ.css("marginLeft"))+parseInt(iTargetJQ.css("borderLeftWidth"))+iTargetJQ[0].scrollWidth+parseInt(iTargetJQ.css("borderRightWidth"))+parseInt(iTargetJQ.css("marginRight")),targetParentOffset.left+parseInt(targetParentJQ.css("marginLeft"))+parseInt(targetParentJQ.css("borderLeftWidth"))+targetParentPaddingLeft,targetParentJQ[0].clientWidth-targetParentPaddingLeft-parseInt(targetParentJQ.css("paddingRight")));if(diff!==0){var pos=targetParentJQ.scrollLeft()+diff;if(Math.abs(diff)>targetParentJQ.width()){var targetJQpostionLeft=iTargetJQ.position().left;pos=targetParentJQ.scrollLeft()+targetJQpostionLeft}else{animationSpeed="none"}l_scrollToTarget(targetParentJQ,pos,animationSpeed,"scrollLeft");updated=true}}if(targetParentJQ[0].scrollHeight>targetParentJQ.height()){var targetParentPaddingTop=parseInt(targetParentJQ.css("paddingTop"));var diff=l_computeTargetMinimalAdjustment(targetOffset.top,parseInt(iTargetJQ.css("marginTop"))+parseInt(iTargetJQ.css("borderTopWidth"))+iTargetJQ[0].scrollHeight+parseInt(iTargetJQ.css("borderBottomWidth"))+parseInt(iTargetJQ.css("marginBottom")),targetParentOffset.top+parseInt(targetParentJQ.css("marginTop"))+parseInt(targetParentJQ.css("borderTopWidth"))+targetParentPaddingTop,targetParentJQ[0].clientHeight-targetParentPaddingTop-parseInt(targetParentJQ.css("paddingBottom")));if(diff!==0){var pos=targetParentJQ.scrollTop()+diff;if(Math.abs(diff)>targetParentJQ.height()){var targetJQpostionTop=iTargetJQ.position().top;pos=targetParentJQ.scrollTop()+targetJQpostionTop}else{animationSpeed="none"}l_scrollToTarget(targetParentJQ,pos,animationSpeed,"scrollTop");updated=true}}return updated}exports.scrollToTarget=scrollToTarget;function getHCID(iTarget){if(!iTarget)return Number.NaN;return parseInt(iTarget.data("hoopsid"),10)}exports.getHCID=getHCID;function activateUI(iButtonID,iPanelID){if(iPanelID){var panelJQ=hide(iPanelID,false).addClass("active");fixMenuPanelInwardToolbar(panelJQ)}if(iButtonID){var buttonJQ=$(iButtonID);buttonJQ.addClass("active-button");scrollToTarget(buttonJQ,"none");eDwEventMgr.get().fireEvent(eDwEvents_9.ActivateUIOpEvent,buttonJQ)}}exports.activateUI=activateUI;function deactivateUI(iButtonCSSClassName,iPanelCSSClassName){if(iButtonCSSClassName===void 0){iButtonCSSClassName=""}if(iPanelCSSClassName===void 0){iPanelCSSClassName=""}var activeButtonsJQ=$(iButtonCSSClassName+".active-button");if(activeButtonsJQ.length){eDwEventMgr.get().fireEvent(eDwEvents_9.DeactivateUIOpEvent,activeButtonsJQ);activeButtonsJQ.removeClass("active-button")}var panelsJQ=hide(iPanelCSSClassName+".active",true).removeClass("active");panelsJQ.each(function(iIdx,iPanel){fixMenuPanelInwardToolbar($(iPanel),true)});return activeButtonsJQ}exports.deactivateUI=deactivateUI;function isIDInJQuery(iListJQ,iID){var inJQList=false;for(var key in iListJQ){if(iListJQ[key].id===iID){inJQList=true;break}}return inJQList}exports.isIDInJQuery=isIDInJQuery;function isStateOn(iID){return $(iID).hasClass("state-on-button")}exports.isStateOn=isStateOn;function resetToHomeView(iViewer){var resetCmd=new eDwResetCmd(iViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(resetCmd);cmdMgr.remove(resetCmd,"commit")}exports.resetToHomeView=resetToHomeView;function getViewerElementName(){return"edrawings-viewer"}exports.getViewerElementName=getViewerElementName;function getViewerElementID(){return"#"+getViewerElementName()}exports.getViewerElementID=getViewerElementID;function makeResult(iExcp){var result={ErrorCode:"UnknownError",ErrorData:[]};if(iExcp instanceof eDwResultError){result=iExcp.Result}else if(iExcp instanceof eDwAJAXError){result.ErrorCode=iExcp.ErrorCode;result.ErrorData=[iExcp.message]}else{result.ErrorCode=iExcp.name;result.ErrorData=[iExcp.message]}return result}exports.makeResult=makeResult;function viewFile(iModelName,iModelKey,iParams,iContainerName,iModelData){return __awaiter(this,void 0,void 0,function(){function createViewer(iWebSocketEndpoint){if(iWebSocketEndpoint===""){return null}var streamAlways=iParams.StreamAlwaysConnected;var streamModes=eDwTypes_17.HC.StreamingMode;var webViewerInfo={};webViewerInfo.containerId=iContainerName;webViewerInfo.model=iModelKey;webViewerInfo.endpointUri=iWebSocketEndpoint;webViewerInfo.streamingMode=streamAlways?streamModes.Interactive:streamModes.All;webViewerInfo.streamingMode=iModelData?null:webViewerInfo.streamingMode;webViewerInfo.buffer=iModelData;webViewerInfo.boundingPreviewMode=eDwTypes_17.HC.BoundingPreviewMode.None;eDwEventMgr.get().addEventHandlerFunc(eDwEvents_9.GLContextLostEvent,c_onContextLost);var viewer=new eDwView(webViewerInfo,iParams);hide("#"+iContainerName,false);var modelName=iModelName;if(!iModelName){modelName=iModelKey}$("#edrawings-filename-text").html(decodeURIComponent(modelName));console.debugLog("ModelLoad","Created new edw viewer");return viewer}var wsEndPt,_a;return __generator(this,function(_b){switch(_b.label){case 0:if(!iModelData)return[3,1];_a=null;return[3,3];case 1:return[4,eDwServiceMgr.get().getWebSocketEndpoint(iModelKey,iParams.WebSocketEndpoint)];case 2:_a=_b.sent();_b.label=3;case 3:wsEndPt=_a;return[2,createViewer(wsEndPt)]}})})}exports.viewFile=viewFile;function fixMenuPanelInwardToolbar(iPanelJQ,iToClear){if(iToClear===void 0){iToClear=false}if(iToClear){iPanelJQ.removeClass("edrawings-collided");return}if(iPanelJQ.hasClass("edrawings-hud-menu")){var panel=iPanelJQ[0];if(panel.scrollHeight>panel.clientHeight){iPanelJQ.addClass("edrawings-collided")}else{iPanelJQ.removeClass("edrawings-collided")}}else if(iPanelJQ.hasClass("edrawings-submenu")){var wrapperJQ=iPanelJQ.find(".edrawings-menu-panel-wrapper");var wasCollided=iPanelJQ.hasClass("edrawings-collided");if(iPanelJQ[0].scrollHeight>iPanelJQ[0].clientHeight&&iPanelJQ[0].scrollHeight-iPanelJQ[0].clientHeight>1||wrapperJQ[0].scrollHeight>wrapperJQ[0].clientHeight&&wrapperJQ[0].scrollHeight-wrapperJQ[0].clientHeight>1){if(!wasCollided){iPanelJQ.addClass("edrawings-collided")}iPanelJQ.addClass("edrawings-wiggle");setTimeout(function(){iPanelJQ.removeClass("edrawings-wiggle")},0)}else{iPanelJQ.removeClass("edrawings-collided");if(wasCollided){fixMenuPanelInwardToolbar(iPanelJQ)}}}}exports.fixMenuPanelInwardToolbar=fixMenuPanelInwardToolbar;function positionMenuPanelArrowCollapseButton(iPanelJQ,iButtonJQ){if(!iPanelJQ.hasClass("edrawings-collapsed")){l_setMenuPanelArrowCollapseButtonPosition(iPanelJQ);fixMenuPanelInwardToolbar(iPanelJQ)}else{if(iButtonJQ){var arrowCollapseButtonJQ=iPanelJQ.find(".edrawings-menu-panel-arrow-collapse");var activeButtonRect=iButtonJQ[0].getBoundingClientRect();var arrowCollapseButtonRect=arrowCollapseButtonJQ[0].getBoundingClientRect();var diffTop=activeButtonRect.top-arrowCollapseButtonRect.top;l_setMenuPanelArrowCollapseButtonPosition(arrowCollapseButtonJQ,arrowCollapseButtonJQ.position().top+diffTop)}fixMenuPanelInwardToolbar(iPanelJQ,true)}}exports.positionMenuPanelArrowCollapseButton=positionMenuPanelArrowCollapseButton;function executeScrolling(iDiffX,iDiffY,iContentJQ,iBarJQ){var contentParentJQ=iContentJQ.parent();var leftButtonWrapperJQ=contentParentJQ.find(".edrawings-arrow-wrapper:has(> .edrawings-arrow-left)");var rightButtonWrapperJQ=contentParentJQ.find(".edrawings-arrow-wrapper:has(> .edrawings-arrow-right)");var upButtonWrapperJQ=contentParentJQ.find(".edrawings-arrow-wrapper:has(> .edrawings-arrow-up)");var downButtonWrapperJQ=contentParentJQ.find(".edrawings-arrow-wrapper:has(> .edrawings-arrow-down)");if(iContentJQ[0].scrollWidth>iContentJQ.width()){var scrollLeft=iContentJQ.scrollLeft();var newScrollLeft=scrollLeft+iDiffX;iContentJQ.scrollLeft(newScrollLeft);adjustScrollArrows(iContentJQ.scrollLeft(),iContentJQ[0].scrollWidth,iContentJQ.width(),true,leftButtonWrapperJQ,rightButtonWrapperJQ,iBarJQ)}if(iContentJQ[0].scrollHeight>iContentJQ.height()){var scrollTop=iContentJQ.scrollTop();var newScrollTop=scrollTop+iDiffY;iContentJQ.scrollTop(newScrollTop);adjustScrollArrows(iContentJQ.scrollTop(),iContentJQ[0].scrollHeight,iContentJQ.height(),false,upButtonWrapperJQ,downButtonWrapperJQ,iBarJQ)}return iDiffX!==0||iDiffY!==0}exports.executeScrolling=executeScrolling;function enableScrollOnTouch(ioUIHTMLEventMgr,iContentJqSel,iBarJqSel,iHandlerOnScroll){var contentJQ=$(iContentJqSel);var barJQ=iBarJqSel?$(iBarJqSel):undefined;var hasScrolled=false;var stopClickTarget;var stopClickPropagation=false;ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"touchstart",function(iEventStart){hasScrolled=false;stopClickPropagation=false;stopClickTarget=undefined;var touchEventStart=iEventStart;var lastScreenX=touchEventStart.changedTouches[0].screenX;var lastScreenY=touchEventStart.changedTouches[0].screenY;ioUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchmove");ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"touchmove",function(iEventMove){var touchEventMove=iEventMove;var xDiff=touchEventMove.changedTouches[0].screenX-lastScreenX;lastScreenX=touchEventMove.changedTouches[0].screenX;var yDiff=touchEventMove.changedTouches[0].screenY-lastScreenY;lastScreenY=touchEventMove.changedTouches[0].screenY;var updated=executeScrolling(-xDiff,-yDiff,contentJQ,barJQ);if(updated&&iHandlerOnScroll){iHandlerOnScroll()}hasScrolled=hasScrolled||updated})});ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"touchend",function(iEvent){var touchEvent=iEvent;ioUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchmove");if(hasScrolled){touchEvent.preventDefault();touchEvent.stopPropagation();stopClickPropagation=true;stopClickTarget=touchEvent.target}else{stopClickPropagation=false;stopClickTarget=undefined}hasScrolled=false});ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"touchcancel",function(iEvent){ioUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchmove");hasScrolled=false;stopClickPropagation=false});ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"mousedown",function(iEvent){hasScrolled=false;stopClickPropagation=false;if(!eDwKeyMgr_5.eDwKeyMgr.isLMBPressed(iEvent)){return}var eventDown=iEvent;var lastScreenX=eventDown.screenX;var lastScreenY=eventDown.screenY;ioUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"mousemove");ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"mousemove",function(iEventMove){var eventMove=iEventMove;var xDiff=eventMove.screenX-lastScreenX;var yDiff=eventMove.screenY-lastScreenY;lastScreenX=eventMove.screenX;lastScreenY=eventMove.screenY;var updated=executeScrolling(-xDiff,-yDiff,contentJQ,barJQ);if(updated&&iHandlerOnScroll){iHandlerOnScroll()}hasScrolled=hasScrolled||updated})});ioUIHTMLEventMgr.addEventHandler(iContentJqSel,"mouseup",function(iEvent){ioUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"mousemove");if(hasScrolled){iEvent.stopImmediatePropagation();iEvent.preventDefault();stopClickPropagation=true;stopClickTarget=iEvent.target}else{stopClickPropagation=false;stopClickTarget=undefined}hasScrolled=false});var propagationHandler=function(iEvent2){if(stopClickPropagation&&iEvent2.target===stopClickTarget){iEvent2.stopImmediatePropagation();iEvent2.preventDefault()}stopClickPropagation=false;stopClickTarget=undefined};var nameSpace=iContentJqSel.replace(/[\.\s]/g,"");var dataKey="click.edw."+nameSpace;contentJQ.off(dataKey,"*");contentJQ.on(dataKey,"*",propagationHandler)}exports.enableScrollOnTouch=enableScrollOnTouch;function disableScrollOnTouch(iUIHTMLEventMgr,iContentJqSel){iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchstart");iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchmove");iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchend");iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"touchcancel");iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"mousedown");iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"mousemove");iUIHTMLEventMgr.removeEventHandlers(iContentJqSel,"mouseup");var contentJQ=$(iContentJqSel);var nameSpace=iContentJqSel.replace(/[\.\s]/g,"");var dataKey="click.edw."+nameSpace;contentJQ.off(dataKey,"*")}exports.disableScrollOnTouch=disableScrollOnTouch;function adjustScrollArrows(iOffset,iRange,iVisibleRange,isHorizonatalScrolling,iDecreaseWrapperJQ,iIncreaseWrapperJQ,iBarJQ){if(iOffset<=0){iDecreaseWrapperJQ.addClass("edrawings-disabled-button");if(iBarJQ){iBarJQ.addClass(isHorizonatalScrolling?"edrawings-removed-arrow-left":"edrawings-removed-arrow-up")}}else{iDecreaseWrapperJQ.removeClass("edrawings-disabled-button");if(iBarJQ){iBarJQ.removeClass(isHorizonatalScrolling?"edrawings-removed-arrow-left":"edrawings-removed-arrow-up")}}if(iOffset+iVisibleRange>=iRange){iIncreaseWrapperJQ.addClass("edrawings-disabled-button");if(iBarJQ){iBarJQ.addClass(isHorizonatalScrolling?"edrawings-removed-arrow-right":"edrawings-removed-arrow-down")}}else{iIncreaseWrapperJQ.removeClass("edrawings-disabled-button");if(iBarJQ){iBarJQ.removeClass(isHorizonatalScrolling?"edrawings-removed-arrow-right":"edrawings-removed-arrow-down")}}}exports.adjustScrollArrows=adjustScrollArrows;var l_generators={};function l_getAllDisplayStateCSSClasses(iHierNode){var classes="";for(var displayState in eDwNodeAttributes_3.NodeDisplayState){classes+="edrawings-"+iHierNode.Category+"-"+displayState.toLowerCase()+" "}return classes}function l_populatePanel(iViewer,iCategoryName,iListID,iPanelUIID,iAdditionalClasses){if(iAdditionalClasses===void 0){iAdditionalClasses=""}return __awaiter(this,void 0,void 0,function(){var activeModelView,list,gen,_a,_b;return __generator(this,function(_c){switch(_c.label){case 0:activeModelView=iViewer.getModel().getActiveModelView();if(!activeModelView||!activeModelView.Hierarchy)return[2];list=$(iListID);list.empty();gen=getUIGenerator(iPanelUIID);_b=(_a=list).append;return[4,gen.generateHTML(iAdditionalClasses)];case 1:_b.apply(_a,[_c.sent()]);return[2]}})})}function l_populateLayerPanel(iViewer){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,l_populatePanel(iViewer,"layer","#edrawings-layer-control-list","#edrawings-layer-control-menu")];case 1:_a.sent();return[2]}})})}function l_populateDebugPanel(iViewer){var list=$("#edrawings-debug-menu .edrawings-submenu-list");list.empty();var gen=getUIGenerator("#edrawings-debug-menu");var modelView=iViewer.getModel().getActiveModelView();if(modelView&&modelView.Hierarchy){list.append(gen.generateHTMLForNode(modelView.Hierarchy.HOOPSID,0," edrawings-tree-expanded ",true));list.append(gen.generateHTMLForChildNodes(modelView.Hierarchy.HOOPSID,false,4))}}var c_onContextLost=function(){(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,eDwUIMessageReporter.showMessagePanelFromCSScontent("edrawings-glcontextlost")];case 1:_a.sent();return[2]}})})})()};function l_setMenuPanelArrowCollapseButtonPosition(iPanelJQ,iTop){var buttonJQ=iPanelJQ;if(!iPanelJQ.hasClass("edrawings-menu-panel-arrow-collapse")){buttonJQ=iPanelJQ.find(".edrawings-menu-panel-arrow-collapse")}buttonJQ.css("top",typeof iTop==="undefined"?"":iTop)}function l_computeTargetMinimalAdjustment(iTargetSide,iTargetOffset,iReferenceSide,iReferenceOffset){var diff=0;if(iTargetSideiReferenceSide+iReferenceOffset){diff=iTargetSide+iTargetOffset-(iReferenceSide+iReferenceOffset)}return diff}function l_scrollToTarget(iTargetJQ,iPos,iAnimationSpeed,iStartPos){if(iAnimationSpeed===void 0){iAnimationSpeed="slow"}if(iStartPos===void 0){iStartPos="scrollTop"}var _a;if(!iTargetJQ)return;if(iAnimationSpeed==="none"){iTargetJQ[iStartPos](iPos)}else{iTargetJQ.animate((_a={},_a[iStartPos]=iPos,_a),iAnimationSpeed)}}});define("eDwView",["require","exports","eDwSelMgr","eDwXSectionMgr","eDwViewMgr","eDwTimer","eDwOperatorBaseDeps","eDwEventMgr","eDwHistoryMgr","eDwModel","eDwTypes","eDwEvents","eDwTouchOpsMgr","eDwTableMgr"],function(require,exports,eDwSelMgr,eDwXSectionMgr,eDwViewMgr,eDwTimer,eDwOperatorBaseDeps_3,eDwEventMgr,eDwHistoryMgr,eDwModel,eDwTypes_18,eDwEvents_10,eDwTouchOpsMgr,eDwTableMgr){"use strict";var eDwView=function(){function eDwView(iViewerInfo,iFeatureOptions){this.mElemID=iViewerInfo.containerId;this.HCViewer=new eDwTypes_18.HC.WebViewer(iViewerInfo);this.mTimer=new eDwTimer;this.ViewerFeatureOpts=iFeatureOptions;this.mDrawMode=iFeatureOptions.RenderType;this.OperatorMgr=new eDwOperatorBaseDeps_3.eDwOperatorMgr(this);this.TableMgr=new eDwTableMgr(this);var streamAll=this.HCViewer.getStreamingMode()===eDwTypes_18.HC.StreamingMode.All;var timeBeforeTimeout=streamAll?14400:120;var timeBeforeWarnTimeout=timeBeforeTimeout-10;this.HCViewer.setClientTimeout(timeBeforeTimeout,timeBeforeWarnTimeout);this.mFitCamera=null;this.mModelKey=iViewerInfo.model;this.setupWebViewer()}eDwView.prototype.getHCView=function(){return this.HCViewer.view};eDwView.prototype.getHCMarkupManager=function(){return this.HCViewer.markupManager};eDwView.prototype.getModel=function(){if(!this.mModel){this.mModel=new eDwModel(this)}return this.mModel};eDwView.prototype.processProductStructure=function(){var _this=this;this.mFitCamera=this.getHCView().getCamera();$("#"+this.mElemID).trigger("edw:ModelDataLoadComplete",this);this.finishInit();if(this.HCViewer.getStreamingMode()===eDwTypes_18.HC.StreamingMode.All){this.HCViewer.waitForIdle().then(function(){l_closeHCConnection(_this)})}};eDwView.prototype.setupWebViewer=function(){var _this=this;var processingSelection=false;var eventMgr=eDwEventMgr.get();function deprecatedCallback(iDeprecatedFuncName){var argArray=[];for(var key in arguments){argArray.push(arguments[key])}console.debugLog("Deprecated","Deprecated call: "+argArray.join("."))}this.mHCCallbacksObj={sceneReady:function(){console.debugLog("ViewerLoad","Scene ready");_this.HCViewer.resizeCanvas()},streamingActivated:function(){console.debugLog("Viewer","Streaming activated")},streamingDeactivated:function(){console.debugLog("Viewer","Streaming deactivated")},selection:function(iSelEvent){if(!processingSelection){processingSelection=true;try{_this.SelectionMgr.onSelection(iSelEvent)}catch(iException){}processingSelection=false}},timeoutWarning:function(iRemainingMinutes){console.debugLog("Viewer","Inactivity timeout pending in "+iRemainingMinutes+" minutes.");_this.mTimer.ellapsed();_this.mTimer.dumpToConsole()},timeout:function(){console.debugLog("Viewer","Inactivity timeout");_this.mTimer.ellapsed();_this.mTimer.dumpToConsole();eventMgr.fireEvent(eDwEvents_10.TimeoutEvent,_this);l_closeHCConnection(_this)},modelLoadFailure:function(iModelName,iReason){console.warn("Model "+iModelName+" load failed: "+iReason);$("#"+_this.mElemID).trigger("edw:ModelLoadFailed",[_this,iModelName,iReason]);l_closeHCConnection(_this)},deprecated:deprecatedCallback,info:function(iInfoType,iMsg){console.debugLog("Debug",iInfoType.toString()+" "+iMsg)},missingModel:function(iModelPath){console.debugLog("Debug","Missing model: "+iModelPath);l_closeHCConnection(_this)},webGlContextLost:function(){console.debugLog("Debug","Browser lost GL context! Render incomplete!!");eventMgr.fireEvent(eDwEvents_10.GLContextLostEvent,_this);l_closeHCConnection(_this)},click:function(iMousePos,iEvent){console.debugLog("Debug","Mouse clicked")},modelStructureReady:function(){console.debugLog("ViewerLoad","Model structure ready.");$("#"+_this.mElemID).trigger("edw:ModelLoaded",_this)},modelSwitched:function(){console.debugLog("ViewerLoad","Model switch done.");$("#"+_this.mElemID).trigger("edw:ModelLoaded",_this)},viewCreated:function(iHCView){eventMgr.fireEvent(eDwEvents_10.ViewCreatedEvent,iHCView)},viewLoaded:function(iHCView){eventMgr.fireEvent(eDwEvents_10.ViewLoadedEvent,iHCView)},viewDeleted:function(iHCView){eventMgr.fireEvent(eDwEvents_10.ViewDeletedEvent,iHCView)},camera:function(iCamera){eventMgr.fireEvent(eDwEvents_10.CameraChangeEvent,iCamera)}};this.HCViewer.setCallbacks(this.mHCCallbacksObj);this.HCViewer.start()};eDwView.prototype.getInitCamera=function(){return this.mFitCamera};eDwView.prototype.getCurrModelKey=function(){return this.mModelKey};eDwView.prototype.unregister=function(){if(this.HCViewer)this.HCViewer.unsetCallbacks(this.mHCCallbacksObj);this.OperatorMgr.unregisterAll();eDwEventMgr.get().fireEvent(eDwEvents_10.DoneEvent,this)};eDwView.prototype.destroy=function(){this.HCViewer.shutdown()};eDwView.prototype.setExplosionLevel=function(iLevel){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.HCViewer.explodeManager.setMagnitude(iLevel)];case 1:_a.sent();eDwEventMgr.get().fireEvent(eDwEvents_10.ExplodeLevelChangeEvent,this,iLevel);return[2]}})})})()};eDwView.prototype.getExplosionLevel=function(){return this.HCViewer.explodeManager.getMagnitude()};eDwView.prototype.getDrawMode=function(){return this.mDrawMode};eDwView.prototype.setDrawMode=function(iValue){var view=this.getHCView();var settings=view.getHiddenLineSettings();switch(iValue){case"ShadedWithEdges":view.setDrawMode(eDwTypes_18.HC.DrawMode.WireframeOnShaded);this.SelectionMgr.setColorForViewMode(eDwTypes_18.HC.DrawMode.WireframeOnShaded);break;case"Shaded":view.setDrawMode(eDwTypes_18.HC.DrawMode.Shaded);this.SelectionMgr.setColorForViewMode(eDwTypes_18.HC.DrawMode.Shaded);break;case"HiddenLinesRemoved":settings.setObscuredLineTransparency(0);view.setDrawMode(eDwTypes_18.HC.DrawMode.HiddenLine);this.SelectionMgr.setColorForViewMode(eDwTypes_18.HC.DrawMode.HiddenLine);break;case"HiddenLinesVisible":settings.setObscuredLineTransparency(.5);view.setDrawMode(eDwTypes_18.HC.DrawMode.HiddenLine);this.SelectionMgr.setColorForViewMode(eDwTypes_18.HC.DrawMode.HiddenLine);break;case"Wireframe":settings.setObscuredLineTransparency(1);view.setDrawMode(eDwTypes_18.HC.DrawMode.HiddenLine);this.SelectionMgr.setColorForViewMode(eDwTypes_18.HC.DrawMode.HiddenLine);break;default:throw new Error("Unknown draw mode: "+iValue)}this.mDrawMode=iValue;eDwEventMgr.get().fireEvent(eDwEvents_10.DrawModeChangeEvent,this,iValue)};eDwView.prototype.getPerspectiveMode=function(){return this.getHCView().getProjectionMode()===eDwTypes_18.HC.Projection.Perspective};eDwView.prototype.setPerspectiveMode=function(iValue){if(!iValue){this.getHCView().setProjectionMode(eDwTypes_18.HC.Projection.Orthographic)}else{this.getHCView().setProjectionMode(eDwTypes_18.HC.Projection.Perspective)}eDwEventMgr.get().fireEvent(eDwEvents_10.ProjModeChangeEvent,this,iValue);return iValue};eDwView.prototype.resetDrawMode=function(){this.setDrawMode(this.ViewerFeatureOpts.RenderType)};eDwView.prototype.initializeManagers=function(){new eDwSelMgr(this);new eDwXSectionMgr(this);new eDwViewMgr(this);new eDwTouchOpsMgr(this)};eDwView.prototype.drawDebugBoundingBox=function(iBBox){return __awaiter(this,void 0,void 0,function(){var modelHC,beautifulGreen,vmin,vmax,p0,p1,p2,p3,p4,p5,p6,p7,polylineData0,polylineData1,polylineData2,polylineData3,rgba,i,tmp,boxMesh,key,meshInstance;return __generator(this,function(_a){switch(_a.label){case 0:modelHC=this.getModel().getHCModel();beautifulGreen=new eDwTypes_18.HC.Color(0,255,0);vmin=iBBox.min;vmax=iBBox.max;p0=new eDwTypes_18.HC.Point3(vmin.x,vmin.y,vmax.z);p1=new eDwTypes_18.HC.Point3(vmin.x,vmax.y,vmax.z);p2=new eDwTypes_18.HC.Point3(vmax.x,vmax.y,vmax.z);p3=new eDwTypes_18.HC.Point3(vmax.x,vmin.y,vmax.z);p4=new eDwTypes_18.HC.Point3(vmin.x,vmin.y,vmin.z);p5=new eDwTypes_18.HC.Point3(vmin.x,vmax.y,vmin.z);p6=new eDwTypes_18.HC.Point3(vmax.x,vmax.y,vmin.z);p7=new eDwTypes_18.HC.Point3(vmax.x,vmin.y,vmin.z);polylineData0=[p0.x,p0.y,p0.z,p1.x,p1.y,p1.z,p2.x,p2.y,p2.z,p3.x,p3.y,p3.z,p0.x,p0.y,p0.z];polylineData1=[p4.x,p4.y,p4.z,p5.x,p5.y,p5.z,p6.x,p6.y,p6.z,p7.x,p7.y,p7.z,p4.x,p4.y,p4.z];polylineData2=[p4.x,p4.y,p4.z,p0.x,p0.y,p0.z,p1.x,p1.y,p1.z,p5.x,p5.y,p5.z,p4.x,p4.y,p4.z];polylineData3=[p7.x,p7.y,p7.z,p3.x,p3.y,p3.z,p2.x,p2.y,p2.z,p6.x,p6.y,p6.z,p7.x,p7.y,p7.z];rgba=[];for(i=0;i<5;i++){tmp=[beautifulGreen.r,beautifulGreen.g,beautifulGreen.b,255];rgba=rgba.concat(tmp)}boxMesh=new eDwTypes_18.HC.MeshData;boxMesh.addPolyline(polylineData0,rgba);boxMesh.addPolyline(polylineData1,rgba);boxMesh.addPolyline(polylineData2,rgba);boxMesh.addPolyline(polylineData3,rgba);return[4,modelHC.createMesh(boxMesh)];case 1:key=_a.sent();meshInstance=new eDwTypes_18.HC.MeshInstanceData(key);return[2,modelHC.createMeshInstance(meshInstance)]}})})};eDwView.prototype.finishInit=function(){eDwEventMgr.get().fireEvent(eDwEvents_10.InitEvent,this);this.HCViewer.enableBackgroundSheet(false);eDwHistoryMgr.get().clear()};return eDwView}();function l_closeHCConnection(iViewer){if(!iViewer)return;var viewHC=iViewer.getHCView();viewHC.setCamera(viewHC.getCamera());console.debugLog("Viewer","Closing viewer connection...");iViewer.HCViewer.closeConnection()}return eDwView});define("eDwViewMgr",["require","exports","eDwEventMgr","eDwEvents","eDwTypes"],function(require,exports,eDwEventMgr,eDwEvents_11,eDwTypes_19){"use strict";var eDwViewMgr=function(){function eDwViewMgr(iViewer){if(!iViewer)throw new Error("Must have viewer object");iViewer.ViewMgr=this;this.mViewAnimationIndex=0;this.mViewAnimationActive=false;this.mAnimationTimeOutID=-1;this.mViewer=iViewer}eDwViewMgr.prototype.start=function(){if(this.mViewer.getModel().isDrawing())return;eDwEventMgr.get().fireEvent(eDwEvents_11.StartAnimationEvent,this.mViewer);this.mViewAnimationActive=true;this.animateNextView()};eDwViewMgr.prototype.stop=function(){this.mViewAnimationActive=false;if(this.mAnimationTimeOutID>-1){window.clearTimeout(this.mAnimationTimeOutID);this.mAnimationTimeOutID=-1}eDwEventMgr.get().fireEvent(eDwEvents_11.StopAnimationEvent,this.mViewer)};eDwViewMgr.prototype.reset=function(){this.stop();this.mViewAnimationIndex=0};eDwViewMgr.prototype.isActive=function(){return this.mViewAnimationActive};eDwViewMgr.prototype.setViewOrientation=function(iEyeDir,iDuration){var _this=this;if(iDuration===void 0){iDuration=400}var center=this.mViewer.getModel().getBoundingBox().center();var viewHC=this.mViewer.getHCView();var camera=viewHC.getCamera().copy();var pos=camera.getPosition().copy();var target=camera.getTarget();var up=camera.getUp();pos=pos.subtract(target);var dist=pos.length();switch(iEyeDir){case Communicator.ViewOrientation.Front:pos.set(0,0,1).scale(dist).add(center);up.set(0,1,0);break;case Communicator.ViewOrientation.Back:pos.set(0,0,-1).scale(dist).add(center);up.set(0,1,0);break;case Communicator.ViewOrientation.Left:pos.set(-1,0,0).scale(dist).add(center);up.set(0,1,0);break;case Communicator.ViewOrientation.Right:pos.set(1,0,0).scale(dist).add(center);up.set(0,1,0);break;case Communicator.ViewOrientation.Top:pos.set(0,1,0).scale(dist).add(center);up.set(0,0,-1);break;case Communicator.ViewOrientation.Bottom:pos.set(0,-1,0).scale(dist).add(center);up.set(0,0,1);break;case Communicator.ViewOrientation.Iso:pos.set(1,1,1).normalize().scale(dist).add(center);up.set(-.408204,.816541,-.408204);break;default:throw new Error("Unsupported orientation: "+iEyeDir)}camera.setPosition(pos);camera.setTarget(center);camera.setUp(up);(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,viewHC.fitWorld(iDuration,camera)];case 1:_a.sent();return[2]}})})})();return camera};eDwViewMgr.prototype.setViewOrientationToDirection=function(normal){var camera=this.mViewer.getHCView().getCamera();var position=camera.getPosition();var target=camera.getTarget();var up=camera.getUp();var delta=target.subtract(position);var distance=delta.length();var bbox=this.mViewer.getModel().getBoundingBox();var bbox_min=bbox.min;var bbox_max=bbox.max;target=Communicator.Point3.add(bbox_max,bbox_min).scale(.5);var eyeVec=Communicator.Point3.scale(normal,distance);position=Communicator.Point3.add(target,eyeVec);var vTest=new Communicator.Point3(1,0,0);var isParallel=Communicator.Point3.dot(vTest,normal);if(Math.abs(Math.abs(isParallel)-1)<.001){vTest.set(0,1,0);var vec=Communicator.Point3.cross(normal,vTest);vec=vec.normalize();up=Communicator.Point3.cross(vec,normal);up=up.normalize()}else{up=Communicator.Point3.cross(normal,vTest);up=up.normalize()}var dotProd=Communicator.Point3.dot(up,new Communicator.Point3(1,0,0));if(Math.abs(Math.abs(dotProd)-1)<.001&&dotProd<0){up=up.negate()}dotProd=Communicator.Point3.dot(up,new Communicator.Point3(0,1,0));if(Math.abs(Math.abs(dotProd)-1)<.001&&dotProd<0){up=up.negate()}dotProd=Communicator.Point3.dot(up,new Communicator.Point3(0,0,1));if(Math.abs(Math.abs(dotProd)-1)<.001&&dotProd<0){up=up.negate()}camera.setPosition(position);camera.setTarget(target);camera.setUp(up);this.setCamera(camera,500);return camera};eDwViewMgr.prototype.setCamera=function(iCamera,iTimeInMS){if(iTimeInMS===void 0){iTimeInMS=400}this.mViewer.getHCView().setCamera(iCamera,iTimeInMS)};eDwViewMgr.prototype.enableAmbientOcclusion=function(iEnable){this.mViewer.getHCView().setAmbientOcclusionEnabled(iEnable);eDwEventMgr.get().fireEvent(eDwEvents_11.AmbientOcclChangeEvent,this,iEnable)};eDwViewMgr.prototype.fitScreenToNodes=function(iNodeHCIDs,ioCamera){return __awaiter(this,void 0,void 0,function(){var modelHC,bbox,subtract,viewVec,center,add,ratio,boxMaxLen;return __generator(this,function(_a){switch(_a.label){case 0:if(!ioCamera)return[2];modelHC=this.mViewer.getModel().getHCModel();return[4,modelHC.getNodesBounding(iNodeHCIDs)];case 1:bbox=_a.sent();subtract=eDwTypes_19.HC.Point3.subtract;viewVec=subtract(ioCamera.getPosition(),ioCamera.getTarget());center=bbox.center().copy();ioCamera.setTarget(center);add=eDwTypes_19.HC.Point3.add;ioCamera.setPosition(add(center,viewVec));ratio=ioCamera.getWidth()/ioCamera.getHeight();if(this.mViewer.getModel().isDrawing()){bbox.min.z=bbox.max.z=0}boxMaxLen=bbox.extents().length();ioCamera.setHeight(boxMaxLen);ioCamera.setWidth(boxMaxLen*ratio);this.setCamera(ioCamera,400);return[2]}})})};eDwViewMgr.prototype.onCameraUpdate=function(){this.mViewAnimationIndex+=1;if(this.mViewAnimationIndex>=eDwViewMgr.viewAnimations.length){this.mViewAnimationIndex=0;this.mViewAnimationActive=false;this.stop()}if(this.mViewAnimationActive){this.animateNextView()}};eDwViewMgr.prototype.animateNextView=function(){var _this=this;if(this.mViewAnimationActive){this.setViewOrientation(eDwViewMgr.viewAnimations[this.mViewAnimationIndex],2e3);this.mAnimationTimeOutID=window.setTimeout(function(){_this.onCameraUpdate()},2e3)}};eDwViewMgr.viewAnimations=[Communicator.ViewOrientation.Front,Communicator.ViewOrientation.Back,Communicator.ViewOrientation.Left,Communicator.ViewOrientation.Right,Communicator.ViewOrientation.Bottom,Communicator.ViewOrientation.Top,Communicator.ViewOrientation.Iso];return eDwViewMgr}();return eDwViewMgr});define("eDwXSectionMgr",["require","exports","eDwXSectionOperator","eDwGeomUtils","eDwTypes","eDwTypes"],function(require,exports,eDwXSectionOperator,eDwGeomUtils,eDwTypes_20,eDwTypes_21){"use strict";var eDwXSectionMgr=function(){function eDwXSectionMgr(iViewer){iViewer.XSectionMgr=this;this.mViewer=iViewer;var xSectionOp=new eDwXSectionOperator(iViewer);this.mXSectionOpID=iViewer.OperatorMgr.registerCustomOperator(xSectionOp);this.HCXSectionMgr=iViewer.HCViewer.cuttingManager;this.SectionCapVisibility=false;this.mXSectionIndex=eDwTypes_20.SectionPlaneOrientation.XY.Index;this.mSectionVisibility=true;this.mSectionsVisibilityState=[false,false,false]}eDwXSectionMgr.prototype.unregister=function(){this.mViewer.OperatorMgr.unregisterCustomOperatorByID(this.mXSectionOpID);this.mViewer.XSectionMgr=null};eDwXSectionMgr.prototype.turnOnSectionPlane=function(iOn){var _this=this;if(this.getHCXSection()){if(iOn){(function(){return __awaiter(_this,void 0,void 0,function(){var ret;return __generator(this,function(_a){switch(_a.label){case 0:ret=this.mViewer.OperatorMgr.push(this.mXSectionOpID);console.debugLog("Section","Section plane operator push ret = "+ret);return[4,this.HCXSectionMgr.setCappingGeometryVisibility(true)];case 1:_a.sent();return[2]}})})})()}else{var opID=this.mViewer.OperatorMgr.pop();console.debugLog("Section","Popped op ID = "+opID+" xSection op ID = "+this.mXSectionOpID)}}};eDwXSectionMgr.prototype.activateCurrent=function(){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.getHCXSection().activate()];case 1:_a.sent();return[4,this.setToCurrentSectionPlane()];case 2:_a.sent();if(!!this.mSectionVisibility)return[3,4];return[4,this.updateSectionVisibility(false)];case 3:_a.sent();_a.label=4;case 4:return[2]}})})})()};eDwXSectionMgr.prototype.deactivateCurrent=function(){var _this=this;this.mSectionsVisibilityState=[false,false,false];(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.getHCXSection().deactivate()];case 1:_a.sent();return[2]}})})})()};eDwXSectionMgr.prototype.isCurrentActive=function(){return this.getHCXSection().isActive()};Object.defineProperty(eDwXSectionMgr.prototype,"SectionIndex",{get:function(){return this.mXSectionIndex},enumerable:true,configurable:true});eDwXSectionMgr.prototype.setSectionPlane=function(ioSection,iAllowActivation){if(iAllowActivation===void 0){iAllowActivation=true}return __awaiter(this,void 0,void 0,function(){var bbox,bboxExtents,sectionHC,boxCenter,sectionPlane,minPlanePt,maxPlanePt,vec,centerPt,dir,mirrorPlaneNormal,mirrorPlane,maxOnPlnPt,minOnPlnPt,mirrorPlaneDist,distDir,revDistDir,pts;return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.mViewer.getModel().calculateBoundingBox()];case 1:bbox=_a.sent();bboxExtents=bbox.extents();if(!ioSection||bboxExtents.equals(eDwTypes_21.HC.Point3.zero()))return[2];sectionHC=this.getHCXSection();if(!(ioSection.Index!==this.mXSectionIndex))return[3,6];if(!sectionHC)return[3,5];if(!sectionHC.isActive())return[3,3];return[4,sectionHC.deactivate()];case 2:_a.sent();_a.label=3;case 3:return[4,this.HCXSectionMgr.refreshPlaneGeometry()];case 4:_a.sent();_a.label=5;case 5:this.mXSectionIndex=ioSection.Index;sectionHC=this.getHCXSection();_a.label=6;case 6:boxCenter=bbox.center();if(!(sectionHC.getCount()<1))return[3,9];sectionPlane=ioSection.Plane.copy();sectionPlane.d=-sectionPlane.distanceToPoint(boxCenter);minPlanePt=eDwGeomUtils.dropPointOnPlane(bbox.min,sectionPlane);maxPlanePt=eDwGeomUtils.dropPointOnPlane(bbox.max,sectionPlane);vec=maxPlanePt.copy().subtract(minPlanePt);vec=vec.scale(.55);centerPt=eDwGeomUtils.dropPointOnPlane(boxCenter,sectionPlane);dir=sectionPlane.normal.copy();centerPt=centerPt.add(dir.scale(sectionPlane.d));mirrorPlaneNormal=eDwTypes_21.HC.Point3.zero();eDwTypes_21.HC.MeasureUtils.oneVectorCross(sectionPlane.normal.copy(),mirrorPlaneNormal);mirrorPlane=eDwTypes_21.HC.Plane.createFromPointAndNormal(centerPt,mirrorPlaneNormal);maxOnPlnPt=eDwTypes_21.HC.Point3.add(centerPt,vec);minOnPlnPt=eDwTypes_21.HC.Point3.add(centerPt,vec.scale(-1));mirrorPlaneDist=mirrorPlane.distanceToPoint(maxOnPlnPt);distDir=mirrorPlaneNormal.copy().scale(2*mirrorPlaneDist);revDistDir=distDir.copy().scale(-1);pts=[];pts.push(minOnPlnPt);pts.push(eDwTypes_21.HC.Point3.add(maxOnPlnPt,revDistDir));pts.push(maxOnPlnPt);pts.push(eDwTypes_21.HC.Point3.add(minOnPlnPt,distDir));sectionHC=this.getHCXSection();return[4,sectionHC.addPlane(sectionPlane,pts)];case 7:_a.sent();return[4,sectionHC.setColor(eDwTypes_21.HC.Color.createFromFloat(0,1,0))];case 8:_a.sent();_a.label=9;case 9:return[4,this.updateSectionVisibility(this.mSectionVisibility)];case 10:_a.sent();return[4,this.HCXSectionMgr.setStandinGeometryPickable(true)];case 11:_a.sent();return[2]}})})};eDwXSectionMgr.prototype.flipSectionPlane=function(){var _this=this;var sectionHC=this.getHCXSection();if(!sectionHC)return;var sectionPlane=sectionHC.getPlane(0);if(!sectionPlane)return;sectionPlane.normal.negate();sectionPlane.d=-sectionPlane.d;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,sectionHC.updatePlane(0,sectionPlane)];case 1:_a.sent();return[2]}})})})()};eDwXSectionMgr.prototype.setViewToSectionPlane=function(){var sectionHC=this.getHCXSection();if(!sectionHC)return null;var sectionPlane=sectionHC.getPlane(0);if(!sectionPlane)return null;return this.mViewer.ViewMgr.setViewOrientationToDirection(sectionPlane.normal.copy())};eDwXSectionMgr.prototype.moveCurrentAlongNormal=function(iDistVec){var _this=this;var camera=this.mViewer.getHCView().getCamera();var camPosition=camera.getPosition();var camTarget=camera.getTarget();var camUp=camera.getUp();var camZ=camTarget.subtract(camPosition);camZ=camZ.normalize();var camY=camUp.normalize();var camX=eDwTypes_21.HC.Point3.cross(camZ,camY);var realVec=camX.scale(iDistVec.x).add(camY.scale(iDistVec.y));realVec.add(camZ.scale(iDistVec.z));var sectionHC=this.getHCXSection();var sectionPlane=sectionHC.getPlane(0);var normal=sectionPlane.normal.copy();normal=normal.normalize();var distance=eDwTypes_21.HC.Point3.dot(realVec,normal);if(Math.abs(distance)<1e-6)return;sectionPlane.d-=distance;var lenVec=normal.scale(distance);var newPosMat=new eDwTypes_21.HC.Matrix;newPosMat=newPosMat.setTranslationComponent(lenVec.x,lenVec.y,lenVec.z);(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,sectionHC.updatePlane(0,sectionPlane,newPosMat,true,false)];case 1:_a.sent();return[2]}})})})()};eDwXSectionMgr.prototype.disableSectionCapVisibility=function(iDisable){this.setSectionCapVisibility(iDisable?false:this.mEnableSectionCaps)};eDwXSectionMgr.prototype.projectPoint=function(iPnt){var sectionHC=this.getHCXSection();var sectionPlane=sectionHC.getPlane(0);return eDwGeomUtils.dropPointOnPlane(iPnt,sectionPlane)};eDwXSectionMgr.prototype.getHCXSection=function(){return this.HCXSectionMgr.getCuttingSection(this.mXSectionIndex)};eDwXSectionMgr.prototype.setSectionCapVisibility=function(iEnable){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.HCXSectionMgr.setCappingFaceColor(iEnable?cSectionCapFaceColor:null)];case 1:_a.sent();return[4,this.HCXSectionMgr.setCappingLineColor(iEnable?null:cSectionCapOutlineColor)];case 2:_a.sent();return[2]}})})})()};eDwXSectionMgr.prototype.updateSectionVisibility=function(iVisible){return __awaiter(this,void 0,void 0,function(){var activePlaneX,isSectionVisible,iExcp_16;return __generator(this,function(_a){switch(_a.label){case 0:activePlaneX=this.getHCXSection();activePlaneX.setOpacity(iVisible?cSectionPlaneOpacity:0);isSectionVisible=this.mSectionsVisibilityState[this.mXSectionIndex];this.mSectionsVisibilityState[this.mXSectionIndex]=iVisible;if(!iVisible)return[3,7];if(!(activePlaneX.isActive()&&isSectionVisible))return[3,4];_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,activePlaneX.deactivate()];case 2:_a.sent();return[3,4];case 3:iExcp_16=_a.sent();return[3,4];case 4:return[4,this.HCXSectionMgr.refreshPlaneGeometry()];case 5:_a.sent();return[4,activePlaneX.activate()];case 6:_a.sent();_a.label=7;case 7:return[2]}})})};eDwXSectionMgr.prototype.setToCurrentSectionPlane=function(){return __awaiter(this,void 0,void 0,function(){var orientation,orientations,_a,_b,_i,orientationName;return __generator(this,function(_c){switch(_c.label){case 0:orientations=eDwTypes_20.SectionPlaneOrientation;_a=[];for(_b in orientations)_a.push(_b);_i=0;_c.label=1;case 1:if(!(_i<_a.length))return[3,4];orientationName=_a[_i];orientation=orientations[orientationName];if(!(orientation.Index===this.mXSectionIndex))return[3,3];return[4,this.setSectionPlane(orientation)];case 2:_c.sent();return[2];case 3:_i++;return[3,1];case 4:return[2]}})})};Object.defineProperty(eDwXSectionMgr.prototype,"SectionCapVisibility",{get:function(){return this.mEnableSectionCaps},set:function(iEnable){this.mEnableSectionCaps=iEnable;this.setSectionCapVisibility(iEnable)},enumerable:true,configurable:true});Object.defineProperty(eDwXSectionMgr.prototype,"SectionVisibility",{set:function(iVisible){var _this=this;this.mSectionVisibility=iVisible;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.updateSectionVisibility(this.mSectionVisibility)];case 1:_a.sent();return[2]}})})})()},enumerable:true,configurable:true});return eDwXSectionMgr}();var cSectionPlaneOpacity=.3;var cSectionCapFaceColor=new eDwTypes_21.HC.Color(128,128,128);var cSectionCapOutlineColor=new eDwTypes_21.HC.Color(255,0,0);return eDwXSectionMgr});define("eDwXSectionOperator",["require","exports","eDwTypes","eDwOperatorBaseDeps","eDwCommandMgr","eDwMoveSectionPlaneCmd"],function(require,exports,eDwTypes_22,eDwOperatorBaseDeps_4,eDwCommandMgr,eDwMoveSectionPlaneCmd){"use strict";var eDwXSectionOperator=function(_super){__extends(eDwXSectionOperator,_super);function eDwXSectionOperator(iViewer){return _super.call(this,iViewer)||this}eDwXSectionOperator.prototype.onActivate=function(){_super.prototype.onActivate.call(this);this.mViewer.XSectionMgr.activateCurrent()};eDwXSectionOperator.prototype.onDeactivate=function(){this.mViewer.XSectionMgr.deactivateCurrent();_super.prototype.onDeactivate.call(this)};eDwXSectionOperator.prototype.onMouseDown=function(ioMouseEvent){if(!ioMouseEvent||!this.mViewer.XSectionMgr.isCurrentActive()){ioMouseEvent.setHandled(true);return}var selObj=eDwOperatorBaseDeps_4.eDwBaseOperator.getPickResult(ioMouseEvent);if(!selObj||selObj.getNodeId()>=0){ioMouseEvent.setHandled(false);return}_super.prototype.onMouseDown.call(this,ioMouseEvent);var sectionMgr=this.mViewer.XSectionMgr;sectionMgr.disableSectionCapVisibility(true);if(selObj){var typeOfSel=selObj.getSelectionType();selObj=typeOfSel===eDwTypes_22.HC.SelectionType.None?null:selObj}ioMouseEvent.setHandled(true);var selNodeID=selObj.getNodeId();if(selNodeID){console.debugLog("Section","sel obj = "+JSON.stringify(selObj));var sectionMgrHC=this.mViewer.XSectionMgr.HCXSectionMgr;if(sectionMgrHC.getCuttingSectionFromNodeId(selNodeID)){this.mSectionDragPt=this.screenToWorld(ioMouseEvent.getPosition())}}if(this.mMoveSectionCmd)this.mMoveSectionCmd.cancel();this.mMoveSectionCmd=new eDwMoveSectionPlaneCmd(this.mViewer)};eDwXSectionOperator.prototype.onMouseMove=function(ioMouseEvent){ioMouseEvent.setHandled(false);var crossSectionMgr=this.mViewer.XSectionMgr;if(!crossSectionMgr.isCurrentActive()){return}if(this.mCurrInputInfo&&this.mSectionDragPt){var coords=ioMouseEvent.getPosition();var current=this.screenToWorld(coords);var delta=eDwTypes_22.HC.Point3.subtract(current,this.mSectionDragPt);this.mViewer.XSectionMgr.moveCurrentAlongNormal(delta);this.mSectionDragPt=current;ioMouseEvent.setHandled(true)}};eDwXSectionOperator.prototype.onMouseUp=function(ioMouseEvent){_super.prototype.onMouseUp.call(this,ioMouseEvent);this.mViewer.XSectionMgr.disableSectionCapVisibility(false);ioMouseEvent.setHandled(false);this.mSectionDragPt=null;var cmdMgr=eDwCommandMgr.get();cmdMgr.add(this.mMoveSectionCmd);cmdMgr.remove(this.mMoveSectionCmd,"commit");this.mMoveSectionCmd=null};eDwXSectionOperator.prototype.onTouchStart=function(ioTouchEvent){var _this=this;this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_22.HC.MouseInputType.Down,function(ioMouseEvent){_this.onMouseDown(ioMouseEvent)})};eDwXSectionOperator.prototype.onTouchMove=function(ioTouchEvent){var _this=this;this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_22.HC.MouseInputType.Move,function(ioMouseEvent){_this.onMouseMove(ioMouseEvent)})};eDwXSectionOperator.prototype.onTouchEnd=function(ioTouchEvent){var _this=this;this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_22.HC.MouseInputType.Up,function(ioMouseEvent){_this.onMouseUp(ioMouseEvent)})};eDwXSectionOperator.prototype.needsSelection=function(iEventType){return iEventType===eDwTypes_22.HC.EventType.MouseDown||iEventType===eDwTypes_22.HC.EventType.TouchStart};eDwXSectionOperator.prototype.screenToWorld=function(iScrPt){var view=this.mViewer.getHCView();var normScrPt=view.pointToWindowPosition(iScrPt);var input=new Communicator.Point3(normScrPt.x,normScrPt.y,0);var projMatrix=view.getProjectionMatrix();projMatrix.m[15]=1;var invMat=Communicator.Matrix.inverse(projMatrix).transpose();var worldPt=new Communicator.Point3(0,0,0);var div=input.x*invMat.m[3]+input.y*invMat.m[7]+input.z*invMat.m[11]+invMat.m[15];worldPt.x=(input.x*invMat.m[0]+input.y*invMat.m[1]+input.z*invMat.m[2]+invMat.m[3])/div;worldPt.y=(input.x*invMat.m[4]+input.y*invMat.m[5]+input.z*invMat.m[6]+invMat.m[7])/div;worldPt.z=(input.x*invMat.m[8]+input.y*invMat.m[9]+input.z*invMat.m[10]+invMat.m[11])/div;return worldPt};return eDwXSectionOperator}(eDwOperatorBaseDeps_4.eDwBaseOperator);return eDwXSectionOperator});define("eDwZoomToFitCmd",["require","exports","eDwSupportsHistoryCmd"],function(require,exports,eDwSupportsHistoryCmd){"use strict";var eDwZoomToFitCmd=function(_super){__extends(eDwZoomToFitCmd,_super);function eDwZoomToFitCmd(iViewer,iNodeID,iCamera){var _this=_super.call(this,iViewer)||this;_this.mInitialCamera=iCamera.copy();_this.mFinalCamera=iCamera.copy();_this.mNodeHCID=iNodeID;return _this}eDwZoomToFitCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.mViewer.ViewMgr.setCamera(this.mInitialCamera);return true};eDwZoomToFitCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.mViewer.ViewMgr.setCamera(this.mFinalCamera);return true};eDwZoomToFitCmd.prototype.commit=function(){_super.prototype.commit.call(this);this.mViewer.ViewMgr.fitScreenToNodes([this.mNodeHCID],this.mFinalCamera)};Object.defineProperty(eDwZoomToFitCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});return eDwZoomToFitCmd}(eDwSupportsHistoryCmd);return eDwZoomToFitCmd});requirejs.config({baseUrl:"./js/3rdParty",paths:{jquery:"jquery.min","jquery-ui":"jquery-ui.min","jquery.fullscreen":"jquery.fullscreen.min","jquery.iframe-transport":"jquery.iframe-transport","jquery.fileupload":"jquery.fileupload","solidworks.web":"solidworks.web"},map:{"jquery.fileupload":{"jquery-ui/ui/widget":"jquery-ui"}},shim:{eDrawingsBase:{deps:["jquery"]},"jquery-ui":{deps:["jquery"]},"jquery.fullscreen":{deps:["jquery"]},"jquery.iframe-transport":{deps:["jquery"]},"jquery-ajax-native":{deps:["jquery"]}}});requirejs(["eDrawingsWebViewer"],function(eDwWebViewer){console.excludeDebugLogCategories=["UIEvents","BaseSelOp","Operator"];eDwWebViewer.start()});define("utils",["require","exports"],function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function forAll(iFunc,iDictionary){if(!iDictionary)return;Object.keys(iDictionary).forEach(function(iKeyString){var key=parseInt(iKeyString,10);iFunc(key,iDictionary[key])})}exports.forAll=forAll;function getUint8Array(iBase64EncodedString){var binString=window.atob(iBase64EncodedString);var len=binString.length;var bytes=new Uint8Array(len);for(var i=0;i