eDrawings
Components
Sheets
Layers
Tables
Configuration
Hide/Show
Transparent/Solid
Hide Others
Show All
Remove
Clear
Model viewing failed. Please reload to try again. If the failure persists, please report the information below to customer support.
Server:
Model ID:
Drop your content here
Or

Connection timed-out. Reload the page to continue.

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";if(modelContents!=="!-- SC_MODEL_DATA"+" --"){eDwServiceMgr.get().disableAdvancedServices();ioViewerOpts.URL="";eDrawingsWebViewerUtils.viewFile("CTN008636-E0W",null,ioViewerOpts,iContainerElemID,Utils.getUint8Array(modelContents))}}function l_revealViewer(iReveal){eDwUIUtils.hide("#WaitBanner",iReveal);if(!iReveal)eDwUIUtils.hide("#edrawings-config-bar",true);eDwUIUtils.hide("#edrawings-canvas",!iReveal);eDwUIUtils.hide("#edrawings-viewer",!iReveal);eDwUIUtils.hide(".edrawings-ui-main",!iReveal);eDwUIUtils.hide("#ErrorBanner",true);eDwUIUtils.hide("#TimeoutBanner",true);eDwUIUtils.hide("#edrawings-fileopen-background",true)}function l_initForFileUploading(iViewerOpts,iClientIP){var serviceMgr=eDwServiceMgr.get();serviceMgr.fileUpload($("#fileupload"),{add:function(iEvent,iFileData){l_revealViewer(false);c_eDrawingsUI.hideAllPanels();iFileData.process().done(function(){eDwCommandMgr.get().clear();eDwHistoryMgr.get().clear();iFileData.submit()})},beforeSend:function(iJQXHR){iJQXHR.setRequestHeader("X-Forwarded-For",iClientIP)},progress:function(iEvent,iProgressData){var perc=iProgressData.loaded/iProgressData.total*100;console.debugLog("ModelLoad","Progress: "+perc)},done:function(iEvent,iFileDoneData){var resultDocument=iFileDoneData.result.documentElement;var retNodes=resultDocument.childNodes;var convertedFileResult;if(retNodes.length>0){convertedFileResult={ModelCacheName:retNodes[3].textContent,FileName:iFileDoneData.files[0].name,ErrorCode:retNodes[0].textContent,ErrorData:[],ServerID:retNodes[4].textContent};var errorDataNode=retNodes[1];var errorDataChildNodes=errorDataNode.childNodes;var numNodes=errorDataChildNodes.length;for(var i=0;i5)delete this.mPastResults[i];else if(!marker.transform)marker=this.mPastResults[i];r.age++}if(marker.transform){var model=this.mViewer.getModel();var modelHC=model.getHCModel();var modelRootID=model.getModelHCID();var nonARData=this.mModelNonARDataMap[modelRootID];if(!nonARData){this.mModelNonARDataMap[modelRootID]={Matrix:modelHC.getNodeMatrix(modelRootID),Camera:this.mViewer.getHCView().getCamera()};this.mViewer.ViewMgr.setViewOrientation(Communicator.ViewOrientation.Front,0)}var unitsScale=modelHC.getUnitMultiplier()/1e3;var mat=marker.transform;var xform=[];xform[0]=mat.m10;xform[1]=mat.m11;xform[2]=mat.m11;xform[3]=0;xform[4]=mat.m00;xform[5]=mat.m01;xform[6]=mat.m02;xform[7]=0;xform[8]=-mat.m20;xform[9]=-mat.m21;xform[10]=-mat.m22;xform[11]=0;xform[12]=0;xform[13]=0;xform[14]=0;xform[15]=1;var resXform=Communicator.Matrix.createFromArray(xform);resXform=Communicator.Matrix.inverse(resXform);resXform.setTranslationComponent(mat.m03*unitsScale,mat.m13*unitsScale,mat.m23*unitsScale);modelHC.setNodeMatrix(modelRootID,resXform);var newmat=modelHC.getNodeMatrix(modelRootID)}};return eDwARMgr}();return eDwARMgr});define("eDwBaseError",["require","exports"],function(require,exports){"use strict";var eDwBaseError=function(_super){__extends(eDwBaseError,_super);function eDwBaseError(iName,iMessage){var _newTarget=this.constructor;var _this=this;var trueProto=_newTarget.prototype;_this=_super.call(this,iMessage)||this;var setPrototypeOf=Object["setPrototypeOf"];if(setPrototypeOf)setPrototypeOf(_this,trueProto);else _this.__proto__=trueProto;_this.name=iName?iName:"eDwBaseError";return _this}return eDwBaseError}(Error);return eDwBaseError});define("eDwBaseOperator",["require","exports","eDwTypes","eDrawingsBase"],function(require,exports,eDwTypes_2){"use strict";var eDwBaseOperator=function(_super){__extends(eDwBaseOperator,_super);function eDwBaseOperator(iViewer){var _this=_super.call(this)||this;_this.mCurTouches=[];_this.mViewer=iViewer;return _this}eDwBaseOperator.getAsMouseEvent=function(iTouchEvent,iMouseInputType,iButton){if(iButton===void 0){iButton=eDwTypes_2.HC.Button.Left}if(iTouchEvent){var pos=iTouchEvent.getPosition();var mouseEvent=new eDwTypes_2.HC.Event.MouseInputEvent(pos.x,pos.y,iButton,eDwTypes_2.HC.Buttons.None,eDwTypes_2.HC.KeyModifiers.None,iMouseInputType);eDwBaseOperator.setPickResult(mouseEvent,eDwBaseOperator.getPickResult(iTouchEvent));mouseEvent.setHandled(iTouchEvent.getHandled());return mouseEvent}return null};eDwBaseOperator.screenToWorld=function(iScrPt,iView){var camera=iView.getCamera();var pt=camera.getCameraPlaneIntersectionPoint(iScrPt,iView);console.debugLog("Operator","Screen pt = "+JSON.stringify(iScrPt)+" 3D pt = "+JSON.stringify(pt));var pt1=iView.unprojectPoint(iScrPt,0);return pt};eDwBaseOperator.prototype.onMouseDown=function(ioMouseEvent){_super.prototype.onMouseDown.call(this,ioMouseEvent);if(ioMouseEvent&&ioMouseEvent.getButton()!==eDwTypes_2.HC.Button.None){this.setMouse(ioMouseEvent)}};eDwBaseOperator.prototype.onMouseMove=function(ioMouseEvent){_super.prototype.onMouseMove.call(this,ioMouseEvent);if(ioMouseEvent){var pos=ioMouseEvent.getPosition();if(this.mCurMouse){this.mDragPt=eDwBaseOperator.screenToWorld(pos,this.mViewer.getHCView());this.updateMouse(ioMouseEvent)}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.mCurMouse=null}};eDwBaseOperator.prototype.onTouchStart=function(ioTouchEvent){var _this=this;_super.prototype.onTouchStart.call(this,ioTouchEvent);this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_2.HC.MouseInputType.Down,function(ioMouseEvent){_this.onMouseDown(ioMouseEvent)});this.addTouch(ioTouchEvent)};eDwBaseOperator.prototype.onTouchMove=function(ioTouchEvent){var _this=this;_super.prototype.onTouchMove.call(this,ioTouchEvent);if(!this.hasTouchMoved(ioTouchEvent)){ioTouchEvent.setHandled(true);return}this.updateTouch(ioTouchEvent);this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_2.HC.MouseInputType.Move,function(ioMouseEvent){_this.onMouseMove(ioMouseEvent)})};eDwBaseOperator.prototype.onTouchEnd=function(ioTouchEvent){var _this=this;this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_2.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.getPickResult=function(iEvent){return iEvent._getPickResult()};eDwBaseOperator.setPickResult=function(iEvent,iSelObj){iEvent._setPickResult(iSelObj)};eDwBaseOperator.prototype.wrapAndCallAsMouseEvent=function(ioTouchEvent,iInputType,iMouseFunc,iButton){if(iButton===void 0){iButton=eDwTypes_2.HC.Button.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({origTouch:ioTouchEvent,lastDragPt:eDwBaseOperator.screenToWorld(ioTouchEvent.getPosition(),this.mViewer.getHCView()),lastPos:ioTouchEvent.getPosition()})}};eDwBaseOperator.prototype.getTouchById=function(touchId){for(var i=0;iepsX&&Math.abs(delta.y)>epsY};eDwBaseOperator.prototype.updateTouch=function(ioTouchEvent){var touch=this.getTouchById(ioTouchEvent.getId());if(touch){touch.lastPos=ioTouchEvent.getPosition();touch.lastDragPt=eDwBaseOperator.screenToWorld(ioTouchEvent.getPosition(),this.mViewer.getHCView())}};eDwBaseOperator.prototype.hasMouseMoved=function(ioMouseEvent){if(!this.mCurMouse)return false;var curPos=ioMouseEvent.getPosition();var origPos=this.mCurMouse.origMouse.getPosition();var delta=eDwTypes_2.HC.Point2.subtract(curPos,origPos);return Math.abs(delta.x)>1||Math.abs(delta.y)>1};eDwBaseOperator.prototype.setMouse=function(ioMouseEvent){this.mCurMouse={origMouse:ioMouseEvent,lastDragPt:eDwBaseOperator.screenToWorld(ioMouseEvent.getPosition(),this.mViewer.getHCView()),lastPos:ioMouseEvent.getPosition()}};eDwBaseOperator.prototype.updateMouse=function(ioMouseEvent){if(!ioMouseEvent||!this.mCurMouse)return;var pos=ioMouseEvent.getPosition();this.mCurMouse.lastPos=pos;this.mCurMouse.lastDragPt=eDwBaseOperator.screenToWorld(pos,this.mViewer.getHCView())};return eDwBaseOperator}(eDwTypes_2.HC.Operator.Operator);return eDwBaseOperator});define("eDwBaseSelOperator",["require","exports","eDwBaseOperator","eDwTypes"],function(require,exports,eDwBaseOperator,eDwTypes_3){"use strict";var eDwBaseSelOperator=function(_super){__extends(eDwBaseSelOperator,_super);function eDwBaseSelOperator(iViewer,iSelMgr){var _this=_super.call(this,iViewer)||this;_this.mSelMgr=iSelMgr;_this.mPrevHighlightStates={};return _this}eDwBaseSelOperator.prototype.onDeactivate=function(){_super.prototype.onDeactivate.call(this);this.popHighlightSelectionState("NODE");this.popHighlightSelectionState("FACE");this.popHighlightSelectionState("EDGE");this.popHighlightSelectionState("VERTEX");this.popNodeSelectionColor();this.popNodeSelectionOutlineColor();this.popNodeSelectionHighlightMode();this.popElementSelectionColor();this.popElementSelectionOutlineColor();this.popElementSelectionHighlightMode()};eDwBaseSelOperator.prototype.onMouseDown=function(ioMouseEvent){_super.prototype.onMouseDown.call(this,ioMouseEvent);if(ioMouseEvent){this.actionStart(ioMouseEvent.getPosition())}};eDwBaseSelOperator.prototype.onMouseUp=function(ioMouseEvent){_super.prototype.onMouseUp.call(this,ioMouseEvent);if(ioMouseEvent){this.actionEnd(ioMouseEvent.getPosition())}};eDwBaseSelOperator.prototype.onTouchStart=function(ioTouchEvent){_super.prototype.onTouchStart.call(this,ioTouchEvent);if(ioTouchEvent){this.actionStart(ioTouchEvent.getPosition())}};eDwBaseSelOperator.prototype.onTouchMove=function(ioTouchEvent){_super.prototype.onTouchMove.call(this,ioTouchEvent)};eDwBaseSelOperator.prototype.onTouchEnd=function(ioTouchEvent){_super.prototype.onTouchEnd.call(this,ioTouchEvent);if(ioTouchEvent){this.actionEnd(ioTouchEvent.getPosition())}};eDwBaseSelOperator.prototype.pushHighlightSelectionState=function(iSelType,iNewState){return this.mPrevHighlightStates[iSelType]=this.mSelMgr.setHighlightSelection(iSelType,iNewState)};eDwBaseSelOperator.prototype.pushNodeSelectionColor=function(iColor){return this.mPrevNodeColor=this.mSelMgr.setNodeSelectionColor(iColor)};eDwBaseSelOperator.prototype.pushNodeSelectionOutlineColor=function(iColor){return this.mPrevNodeOutlineColor=this.mSelMgr.setNodeSelectionOutlineColor(iColor)};eDwBaseSelOperator.prototype.pushNodeSelectionHighlightMode=function(iSelHighlightMode){return this.mPrevNodeHighlightMode=this.mSelMgr.setNodeSelectionHighlightMode(iSelHighlightMode)};eDwBaseSelOperator.prototype.pushElementSelectionColor=function(iColor){return this.mPrevElementColor=this.mSelMgr.setElementSelectionColor(iColor)};eDwBaseSelOperator.prototype.pushElementSelectionOutlineColor=function(iColor){return this.mPrevElementOutlineColor=this.mSelMgr.setElementSelectionOutlineColor(iColor)};eDwBaseSelOperator.prototype.pushElementSelectionHighlightMode=function(iSelHighlightMode){return this.mPrevElementHighlightMode=this.mSelMgr.setElementSelectionHighlightMode(iSelHighlightMode)};eDwBaseSelOperator.prototype.popHighlightSelectionState=function(iSelType){if(this.mPrevHighlightStates&&this.mPrevHighlightStates.hasOwnProperty(iSelType)){this.mSelMgr.setHighlightSelection(iSelType,this.mPrevHighlightStates[iSelType]);delete this.mPrevHighlightStates[iSelType]}};eDwBaseSelOperator.prototype.popNodeSelectionColor=function(){if(this.mPrevNodeColor){this.mSelMgr.setNodeSelectionColor(this.mPrevNodeColor);this.mPrevNodeColor=null}};eDwBaseSelOperator.prototype.popNodeSelectionOutlineColor=function(){if(this.mPrevNodeOutlineColor){this.mSelMgr.setNodeSelectionOutlineColor(this.mPrevNodeOutlineColor);this.mPrevNodeOutlineColor=null}};eDwBaseSelOperator.prototype.popNodeSelectionHighlightMode=function(){if(this.mPrevNodeHighlightMode){this.mSelMgr.setNodeSelectionHighlightMode(this.mPrevNodeHighlightMode);this.mPrevNodeHighlightMode=null}};eDwBaseSelOperator.prototype.popElementSelectionColor=function(){if(this.mPrevElementColor){this.mSelMgr.setElementSelectionColor(this.mPrevElementColor);this.mPrevElementColor=null}};eDwBaseSelOperator.prototype.popElementSelectionOutlineColor=function(){if(this.mPrevElementOutlineColor){this.mSelMgr.setElementSelectionOutlineColor(this.mPrevElementOutlineColor);this.mPrevElementOutlineColor=null}};eDwBaseSelOperator.prototype.popElementSelectionHighlightMode=function(){if(this.mPrevElementHighlightMode){this.mSelMgr.setElementSelectionHighlightMode(this.mPrevElementHighlightMode);this.mPrevElementHighlightMode=null}};eDwBaseSelOperator.prototype.getSelObjFromEvent=function(iInputEvent){var obj=eDwBaseOperator.getPickResult(iInputEvent);return obj&&obj.getSelectionType()===eDwTypes_3.HC.SelectionType.None?null:obj};eDwBaseSelOperator.prototype.actionStart=function(iPoint){this.mFirstPt=eDwBaseOperator.screenToWorld(iPoint,this.mViewer.getHCView());console.debugLog("BaseSelOp","down screen pt = "+JSON.stringify(iPoint))};eDwBaseSelOperator.prototype.actionEnd=function(iPoint){this.mFirstPt=null;console.debugLog("BaseSelOp","up screen pt = "+JSON.stringify(iPoint))};return eDwBaseSelOperator}(eDwBaseOperator);return eDwBaseSelOperator});define("eDwChangeModelViewCmd",["require","exports","eDwSupportsHistoryCmd","eDrawingsBase"],function(require,exports,eDwSupportsHistoryCmd){"use strict";var eDwChangeModelViewCmd=function(_super){__extends(eDwChangeModelViewCmd,_super);function eDwChangeModelViewCmd(iViewer,iModelViewName,iCamera){var _this=_super.call(this,iViewer)||this;_this.mInitialModelViewName=iViewer.getModel().getActiveModelView().Name;_this.mInitialCamera=iViewer.getHCView().getCamera().copy();_this.mFinalModelViewName=iModelViewName;_this.mFinalCamera=iCamera;return _this}eDwChangeModelViewCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.activateModelView(this.mInitialModelViewName,this.mInitialCamera);return true};eDwChangeModelViewCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.activateModelView(this.mFinalModelViewName,this.mFinalCamera);return true};eDwChangeModelViewCmd.prototype.commit=function(){_super.prototype.commit.call(this);this.activateModelView(this.mFinalModelViewName,this.mFinalCamera)};Object.defineProperty(eDwChangeModelViewCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});eDwChangeModelViewCmd.prototype.activateModelView=function(iModelView,iCamera){this.mViewer.SelectionMgr.unSelectAllObjects();this.mViewer.getModel().activateModelView(iModelView,iCamera)};return eDwChangeModelViewCmd}(eDwSupportsHistoryCmd);return eDwChangeModelViewCmd});define("eDwChangeSectionPlaneCmd",["require","exports","eDwSupportsHistoryCmd","eDrawingsBase"],function(require,exports,eDwSupportsHistoryCmd){"use strict";var eDwChangeSectionPlaneCmd=function(_super){__extends(eDwChangeSectionPlaneCmd,_super);function eDwChangeSectionPlaneCmd(iViewer,iInitialPlane,iFinalPlane){var _this=_super.call(this,iViewer)||this;_this.mInitialPlane=iInitialPlane;_this.mFinalPlane=iFinalPlane;return _this}eDwChangeSectionPlaneCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.mViewer.XSectionMgr.setSectionPlane(this.mInitialPlane);return true};eDwChangeSectionPlaneCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.mViewer.XSectionMgr.setSectionPlane(this.mFinalPlane);return true};eDwChangeSectionPlaneCmd.prototype.commit=function(){_super.prototype.commit.call(this);this.mViewer.XSectionMgr.setSectionPlane(this.mFinalPlane)};eDwChangeSectionPlaneCmd.prototype.isCommitted=function(){return _super.prototype.isCommitted.call(this)&&!!this.mInitialPlane&&!!this.mFinalPlane};Object.defineProperty(eDwChangeSectionPlaneCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});return eDwChangeSectionPlaneCmd}(eDwSupportsHistoryCmd);return eDwChangeSectionPlaneCmd});define("eDwCmd",["require","exports","eDwOperationMixin"],function(require,exports,eDwOperationMixin){"use strict";var eDwCmd=function(_super){__extends(eDwCmd,_super);function eDwCmd(iViewer){var _this=_super.call(this)||this;_this.mViewer=iViewer;return _this}eDwCmd.prototype.commit=function(){};eDwCmd.prototype.cancel=function(){};eDwCmd.prototype.setHierarchyNodeIDsAttribs=function(iNodesWithAttribs){if(!iNodesWithAttribs)return;var model=this.mViewer.getModel();model.setAttribs(iNodesWithAttribs)};eDwCmd.prototype.getHierarchyNodesAttribs=function(iExcludeModelViewNode){if(iExcludeModelViewNode===void 0){iExcludeModelViewNode=true}var nodeWithAttrib=[];var modelView=this.mViewer.getModel().getActiveModelView();var hierNodes=modelView.Nodes;for(var hierNodeName in hierNodes){var hierNode=hierNodes[hierNodeName];if(iExcludeModelViewNode&&modelView.Hierarchy===hierNode){continue}var attrib=$.extend(true,{},hierNode.getAttribs());nodeWithAttrib.push({HierNode:hierNode,Attribs:attrib})}return nodeWithAttrib};return eDwCmd}(eDwOperationMixin);return eDwCmd});define("eDwCommandMgr",["require","exports","utils"],function(require,exports,Utils){"use strict";var eDwCommandMgr=function(){function eDwCommandMgr(){this.mActiveCmds=[]}eDwCommandMgr.get=function(){if(!eDwCommandMgr.sCommandMgr){eDwCommandMgr.sCommandMgr=new eDwCommandMgr}return eDwCommandMgr.sCommandMgr};eDwCommandMgr.prototype.add=function(iCmd){if(!iCmd)return;this.popCmds(iCmd);this.mActiveCmds.push(iCmd);console.debugLog("CommandMgr","Added "+Utils.getObjectTypeName(iCmd)+" as an active command.")};eDwCommandMgr.prototype.remove=function(iCmd,iCmdAction){var ret=this.detach(iCmd);if(ret&&iCmdAction)iCmd[iCmdAction]();console.debugLog("CommandMgr",(ret?"Removed ":"Not Found ")+Utils.getObjectTypeName(iCmd)+" as an active command. "+(ret&&iCmdAction?" Also, "+iCmdAction+"ed it.":""));return ret};eDwCommandMgr.prototype.clear=function(){for(var cmd=this.mActiveCmds.pop();cmd;cmd=this.mActiveCmds.pop()){cmd.cancel()}console.debugLog("CommandMgr","All active commands cleared.")};eDwCommandMgr.prototype.popCmds=function(iCmd){if(iCmd.Aggregable&&(!this.mActiveCmds.length||this.mActiveCmds[this.mActiveCmds.length-1].AllowsAggregation)){return}if(iCmd.Exclusive){var exclusiveCmds=this.mActiveCmds.filter(function(iCmd){return iCmd.Exclusive});for(var i=exclusiveCmds.length-1;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","eDrawingsBase"],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;iiEventHandlerIndex){handlerMaps.splice(iEventHandlerIndex,1)}};eDwEventMgr.prototype.removeAllEventHandlers=function(){this.removeEventHandlerCategories(Object.keys(this.mEventHandlers))};eDwEventMgr.prototype.removeEventHandlerCategories=function(iCategoryKeys){for(var i=0;i-1){changedPropAttribNames.push(attribName)}}return changedPropAttribNames};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("eDwHierNodeAttribArray",["require","exports"],function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true})});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=xMin&&iPos.y<=yMax&&iPos.y>=yMin};eDwLabelItem.prototype.onDragStart=function(iPos){this.mDragPos=iPos.copy();return true};eDwLabelItem.prototype.onDragMove=function(iPos){var delta=eDwTypes_7.HC.Point2.subtract(iPos,this.mDragPos);var endPos=this.mLabel.getLeaderEndPos();endPos.add(delta);this.mLabel.setLeaderEndPos(endPos);this.mDragPos=iPos.copy();return true};eDwLabelItem.prototype.onDragEnd=function(iPos){return true};return eDwLabelItem}(eDwTypes_7.HC.Markup.MarkupItem);var eDwMeasureUtils=function(){function eDwMeasureUtils(){}eDwMeasureUtils.getAngle=function(iV0,iV1){var vec0=iV0.copy();var vec1=iV1.copy();vec0.normalize();vec1.normalize();var dotVal=eDwTypes_7.HC.Point3.dot(vec0,vec1);if(0===dotVal)return 90;dotVal=Math.min(dotVal,1);dotVal=Math.max(dotVal,-1);var angle=Math.acos(dotVal);var angleDgree=angle*180/Math.PI;var n=eDwTypes_7.HC.Point3.cross(vec0,vec1);n.normalize();if(isNaN(n.x)||isNaN(n.y)||isNaN(n.z))return 0;if(Math.abs(angleDgree)0||eDwTypes_7.HC.Point3.dot(p0A,p0B)>0){var cp01=eDwMeasureUtils.closestPoints(pSet0,pSet1);p0.assign(cp01.P0);p1.assign(cp01.P1)}else{p0.assign(orig0);p1.assign(orig1)}return{Cp0:orig0,Cp1:orig1,P0:p0,P1:p1}};eDwMeasureUtils.distanceLineLinePara=function(iLine0,iLine1,iP0,iP1){var v0=eDwTypes_7.HC.Point3.subtract(iLine0.A,iLine0.B);var v1=eDwTypes_7.HC.Point3.subtract(iLine1.A,iLine1.B);v0.normalize();v1.normalize();var n=eDwTypes_7.HC.Point3.cross(v0,v1);n.normalize();var k=0;var p10=new eDwTypes_7.HC.Point3(0,0,0);k=eDwTypes_7.HC.Point3.dot(v0,eDwTypes_7.HC.Point3.subtract(iP1,iP0))/eDwTypes_7.HC.Point3.dot(v0,v0);p10=eDwTypes_7.HC.Point3.add(iP0,eDwTypes_7.HC.Point3.scale(v0,k));var p0A1=eDwTypes_7.HC.Point3.subtract(iLine0.A,p10);var p0B1=eDwTypes_7.HC.Point3.subtract(iLine0.B,p10);var pA0=new eDwTypes_7.HC.Point3(0,0,0);k=eDwTypes_7.HC.Point3.dot(v0,eDwTypes_7.HC.Point3.subtract(iLine1.A,iP0))/eDwTypes_7.HC.Point3.dot(v0,v0);pA0=eDwTypes_7.HC.Point3.add(iP0,eDwTypes_7.HC.Point3.scale(v0,k));var p0AA=eDwTypes_7.HC.Point3.subtract(iLine0.A,p10);var p0BA=eDwTypes_7.HC.Point3.subtract(iLine0.B,p10);var pB0=new eDwTypes_7.HC.Point3(0,0,0);k=eDwTypes_7.HC.Point3.dot(v0,eDwTypes_7.HC.Point3.subtract(iLine1.B,iP0))/eDwTypes_7.HC.Point3.dot(v0,v0);pB0=eDwTypes_7.HC.Point3.add(iP0,eDwTypes_7.HC.Point3.scale(v0,k));var p0AB=eDwTypes_7.HC.Point3.subtract(iLine0.A,p10);var p0BB=eDwTypes_7.HC.Point3.subtract(iLine0.B,p10);var orig0;var orig1;var pp0;var pp1;if(eDwTypes_7.HC.Point3.dot(p0A1,p0B1)<0){orig1=iP1.copy();orig0=p10.copy();pp1=iP1.copy();pp0=p10.copy()}else if(eDwTypes_7.HC.Point3.dot(p0AA,p0BA)<0){orig1=iLine1.A.copy();orig0=pA0.copy();pp1=iLine1.A.copy();pp0=pA0.copy()}else if(eDwTypes_7.HC.Point3.dot(p0A1,p0B1)<0){orig1=iLine1.B.copy();orig0=pB0.copy();pp1=iLine1.B.copy();pp0=pB0.copy()}else{var tmp=eDwMeasureUtils.closestPoints([iLine1.A,iLine1.B],[iLine0.A,iLine0.B]);orig1=iP1;orig0=p10;pp1=tmp.P0;pp0=tmp.P1}return{Cp0:orig0,Cp1:orig1,P0:pp0,P1:pp1}};eDwMeasureUtils.adjustLeaderEndByStart=function(iPoints){if(0===iPoints.length)return[];function computeAngle(iVect){var angle=Math.atan2(iVect.y,iVect.x);var degrees=180*angle/Math.PI;return(360+Math.round(degrees))%360}function compare(iA,iB){if(iA.angiB.ang)return 1;return 0}var targetRadius=120;var center=new eDwTypes_7.HC.Point2(0,0);for(var i=0;i0){rC=Math.sqrt(rS*rS-dist*dist)}else{rC=rS}var aX=new eDwTypes_7.HC.Point3(1,0,0);var aY=new eDwTypes_7.HC.Point3(0,1,0);var aZ=new eDwTypes_7.HC.Point3(0,0,1);var edgeLen=rC;var edgeDir0;if(0===eDwTypes_7.HC.Point3.dot(n,aX)&&0==eDwTypes_7.HC.Point3.dot(n,aZ)){edgeDir0=aX.copy()}else{edgeDir0=eDwTypes_7.HC.Point3.cross(n,aY);edgeDir0.normalize()}var edgeDir1=eDwTypes_7.HC.Point3.cross(n,edgeDir0);edgeDir1.normalize();var sCenter=this.mFaceInfo.Pick.copy();edgeDir0.scale(.5*edgeLen);edgeDir1.scale(.5*edgeLen);var A=eDwTypes_7.HC.Point3.add(sCenter,eDwTypes_7.HC.Point3.add(edgeDir0,edgeDir1));edgeDir0.scale(2);edgeDir1.scale(2);var B=eDwTypes_7.HC.Point3.add(A,eDwTypes_7.HC.Point3.scale(edgeDir0,-1));var C=eDwTypes_7.HC.Point3.add(B,eDwTypes_7.HC.Point3.scale(edgeDir1,-1));var D=eDwTypes_7.HC.Point3.add(A,eDwTypes_7.HC.Point3.scale(edgeDir1,-1));this.mFacePolygonPoints={A:A,B:B,C:C,D:D}};eDwMeasureAuxPlane.prototype.projectPoints=function(){var view=this.mViewer.getView();this.mFacePolygon.clearPoints();this.mFacePolygon.pushPoint(eDwTypes_7.HC.Point2.fromPoint3(view.projectPoint(this.mFacePolygonPoints.A)));this.mFacePolygon.pushPoint(eDwTypes_7.HC.Point2.fromPoint3(view.projectPoint(this.mFacePolygonPoints.B)));this.mFacePolygon.pushPoint(eDwTypes_7.HC.Point2.fromPoint3(view.projectPoint(this.mFacePolygonPoints.C)));this.mFacePolygon.pushPoint(eDwTypes_7.HC.Point2.fromPoint3(view.projectPoint(this.mFacePolygonPoints.D)))};return eDwMeasureAuxPlane}();var eDwMeasureAuxMessage=function(){function eDwMeasureAuxMessage(iViewer){this.mLabels=[];this.mViewer=iViewer}eDwMeasureAuxMessage.prototype.reset=function(){this.mLabels=[]};eDwMeasureAuxMessage.prototype.addByResultWithColor=function(iResult,iStart,iColor){var label=new eDwMeasureLabel(this.mViewer);label.addItemWithColor(iResult,iColor);label.setLeader(iStart);this.mLabels.push(label);this.setAvailibility(true)};eDwMeasureAuxMessage.prototype.addByResult=function(iResult,iStart){var label=new eDwMeasureLabel(this.mViewer);label.addItem(iResult);label.setLeader(iStart);this.mLabels.push(label);this.setAvailibility(true)};eDwMeasureAuxMessage.prototype.addByVertex=function(iVertObj){if(!iVertObj.getPointEntity())return;var label=new eDwMeasureLabel(this.mViewer);label.addItem(new eDwMeasureResult("Entity","Vertex",MeasureType.None));label.addItem(new eDwMeasureResult("Coordinate",iVertObj.getPosition(),MeasureType.Coordinate));label.setLeader(iVertObj.getPosition());this.mLabels.push(label);this.setAvailibility(true)};eDwMeasureAuxMessage.prototype.addByLine=function(iEdge,iEdgeObj){if(!iEdgeObj.getLineEntity())return;if(iEdge instanceof eDwTypes_7.HC.SubentityProperties.LineElement){var label=new eDwMeasureLabel(this.mViewer);label.addItem(new eDwMeasureResult("Entity","Straight line",MeasureType.None));label.addItem(new eDwMeasureResult("Length",iEdge.length,MeasureType.Distance));label.setLeader(iEdgeObj.getPosition());this.mLabels.push(label);this.setAvailibility(true)}if(iEdge instanceof eDwTypes_7.HC.SubentityProperties.OtherElement){var label=new eDwMeasureLabel(this.mViewer);label.addItem(new eDwMeasureResult("Entity","Curve",MeasureType.None));label.addItem(new eDwMeasureResult("Length",iEdge.length,MeasureType.Distance));label.setLeader(iEdgeObj.getPosition());this.mLabels.push(label);this.setAvailibility(true)}};eDwMeasureAuxMessage.prototype.addByCircle=function(iCircleOrig,iEdgeObj){if(!iEdgeObj.getLineEntity())return;if(iCircleOrig instanceof eDwTypes_7.HC.SubentityProperties.CircleElement){var circle=new eDwTypes_7.HC.SubentityProperties.CircleElement;circle.origin=new eDwTypes_7.HC.Point3(0,0,0);circle.normal=new eDwTypes_7.HC.Point3(0,0,0);circle.radius=0;eDwMeasureUtils.getRealCircleProperties(iEdgeObj,iCircleOrig,circle,this.mViewer.getModel());var label=new eDwMeasureLabel(this.mViewer);label.addItem(new eDwMeasureResult("Entity","Circle",MeasureType.None));label.addItem(new eDwMeasureResult("Center",circle.origin,MeasureType.Coordinate));label.addItem(new eDwMeasureResult("Radius",circle.radius,MeasureType.Distance));label.setLeader(iEdgeObj.getPosition());this.mLabels.push(label);this.setAvailibility(true)}};eDwMeasureAuxMessage.prototype.addByPlane=function(iFaceOrig,iFaceObj){if(!iFaceObj.getFaceEntity())return;if(iFaceOrig instanceof eDwTypes_7.HC.SubentityProperties.PlaneElement){var face=new eDwTypes_7.HC.SubentityProperties.PlaneElement;face.normal=new eDwTypes_7.HC.Point3(0,0,0);face.origin=new eDwTypes_7.HC.Point3(0,0,0);eDwMeasureUtils.getRealPlaneProperties(iFaceObj,iFaceOrig,face,this.mViewer.getModel());var label=new eDwMeasureLabel(this.mViewer);label.addItem(new eDwMeasureResult("Entity","Plane",MeasureType.None));label.setLeader(iFaceObj.getPosition());this.mLabels.push(label);this.setAvailibility(true)}};eDwMeasureAuxMessage.prototype.addByCylinder=function(iCylinderOrig,iFaceObj){if(!iFaceObj.getFaceEntity())return;if(iCylinderOrig instanceof eDwTypes_7.HC.SubentityProperties.CylinderElement){var cylinder=new eDwTypes_7.HC.SubentityProperties.CylinderElement;cylinder.normal=new eDwTypes_7.HC.Point3(0,0,0);cylinder.origin=new eDwTypes_7.HC.Point3(0,0,0);cylinder.radius=0;eDwMeasureUtils.getRealCylinderProperties(iFaceObj,iCylinderOrig,cylinder,this.mViewer.getModel());var label=new eDwMeasureLabel(this.mViewer);label.addItem(new eDwMeasureResult("Entity","Cylinder",MeasureType.None));label.addItem(new eDwMeasureResult("Radius",cylinder.radius,MeasureType.Distance));label.setLeader(iFaceObj.getPosition());this.mLabels.push(label);this.setAvailibility(true)}};eDwMeasureAuxMessage.prototype.addPickInfos=function(iSelProps,iSelObjs){var n=iSelObjs.length;for(var i=0;i0};eDwMeasureAuxMessage.prototype.getLabels=function(){if(!this.mIsAvailible)return[];return this.mLabels};eDwMeasureAuxMessage.prototype.setAvailibility=function(isOn){this.mIsAvailible=isOn};eDwMeasureAuxMessage.prototype.isAvailible=function(){return this.mIsAvailible};eDwMeasureAuxMessage.prototype.countLabels=function(){return this.mLabels.length};eDwMeasureAuxMessage.prototype.getText=function(iUnit){var n=this.mLabels.length;if(0===n)return"";var str=this.mLabels[0].getText(iUnit);for(var i=1;idistN.length();var showNDist=distN.length()>0;var newLine="";if(showDist){var label=this.mDistLine.getDistLabel();label.setStringContent(iUnit);str+=label.getText(iUnit);newLine="\n"}if(showNDist){var labelN=this.mNDistLine.getDistLabel();labelN.setStringContent(iUnit);str+=newLine+"Normal"+labelN.getText(iUnit)}if(this.mShowDelta){var labelD=this.mDistLine.getDeltaLabel();labelD.setStringContent(iUnit);str+="\n"+labelD.getText(iUnit)}return str};eDwMeasureAuxDistance.prototype.setUnits=function(iUnit){this.mUnit=iUnit};eDwMeasureAuxDistance.getAngle=function(iV0,iV1){var vec0=iV0.copy();var vec1=iV1.copy();vec0.normalize();vec1.normalize();var dotVal=eDwTypes_7.HC.Point3.dot(vec0,vec1);if(0===dotVal)return 90;dotVal=Math.min(dotVal,1);dotVal=Math.max(dotVal,-1);var angle=Math.acos(dotVal);var angleDgree=angle*180/Math.PI;var n=eDwTypes_7.HC.Point3.cross(vec0,vec1);n.normalize();if(isNaN(n.x)||isNaN(n.y)||isNaN(n.z))return 0;return angleDgree};return eDwMeasureAuxDistance}();var eDwMeasureAuxAngle=function(){function eDwMeasureAuxAngle(iViewer){this.mAngle=0;this.mViewer=iViewer;this.mAngleFace=new eDwTypes_7.HC.Markup.Shape.Polygon;this.mAngleArc=new eDwTypes_7.HC.Markup.Shape.Polyline;this.mAngleEdge=new eDwTypes_7.HC.Markup.Shape.Polyline;this.mAngleTip=new eDwTypes_7.HC.Markup.Shape.Circle;var colorAngleFill=new eDwTypes_7.HC.Color(41,128,185);var colorPolygonEdge=new eDwTypes_7.HC.Color(255,0,0);var colorPoint=new eDwTypes_7.HC.Color(137,196,244);var colorEdgeArc=new eDwTypes_7.HC.Color(52,73,94);var colorEdgeStroke=new eDwTypes_7.HC.Color(100,100,100);var widthEdge=3;var arrowSize=5;var pointSize=7;this.mAngleFace.setFillColor(colorAngleFill);this.mAngleFace.setStrokeWidth(0);this.mAngleFace.setFillOpacity(.5);this.mAngleArc.setStrokeColor(colorEdgeArc);this.mAngleArc.setEndEndcapColor(colorEdgeArc);this.mAngleArc.setStartEndcapColor(colorEdgeArc);this.mAngleArc.setStrokeWidth(widthEdge);this.mAngleArc.setEndcapType(eDwTypes_7.HC.Markup.Shape.EndcapType.Arrowhead);this.mAngleArc.setEndEndcapSize(arrowSize);this.mAngleArc.setStartEndcapSize(arrowSize);this.mAngleEdge.setStrokeColor(colorEdgeStroke);this.mAngleEdge.setStrokeWidth(widthEdge+1);this.mAngleTip.setFillColor(colorPoint);this.mAngleTip.setStrokeColor(colorEdgeStroke);this.mAngleTip.setStrokeWidth(widthEdge);this.mAngleTip.setRadius(pointSize)}eDwMeasureAuxAngle.prototype.reset=function(){this.mIsAvailible=false;this.mAngle=0;this.mVec0=new eDwTypes_7.HC.Point3(0,0,1);this.mVec1=new eDwTypes_7.HC.Point3(0,0,1);this.mTip=new eDwTypes_7.HC.Point3(0,0,0);this.mPointsArcEdge=[];this.mPointsBorder=null};eDwMeasureAuxAngle.prototype.draw=function(consice){if(!this.mIsAvailible||0===this.mAngle||180==this.mAngle)return;this.projectPoints();var renderer=this.mViewer.getMarkupManager().getRenderer();renderer.drawPolygon(this.mAngleFace);renderer.drawPolyline(this.mAngleArc);renderer.drawPolyline(this.mAngleEdge);if(!consice){renderer.drawCircle(this.mAngleTip)}};eDwMeasureAuxAngle.prototype.setByPlanePlane=function(iFace0,iFace1,iFaceObj0,iFaceObj1){this.reset();var model=this.mViewer.getModel();var pick0=iFaceObj0.getPosition();var pick1=iFaceObj1.getPosition();var n0=iFace0.normal;n0.normalize();var p0=pick0.copy();var n1=iFace1.normal;n1.normalize();var p1=pick1.copy();var angle=eDwMeasureUtils.getAngle(n0,n1);if(0!==angle&&180!==angle){var v=eDwTypes_7.HC.Point3.cross(n0,n1);var w0=eDwTypes_7.HC.Point3.cross(v,n0);var k0=(eDwTypes_7.HC.Point3.dot(p1,n1)-eDwTypes_7.HC.Point3.dot(p0,n1))/eDwTypes_7.HC.Point3.dot(w0,n1);var orig0=eDwTypes_7.HC.Point3.add(p0,w0.scale(k0));var w1=eDwTypes_7.HC.Point3.cross(v,n1);var k1=(eDwTypes_7.HC.Point3.dot(p0,n0)-eDwTypes_7.HC.Point3.dot(p1,n0))/eDwTypes_7.HC.Point3.dot(w1,n0);var orig1=eDwTypes_7.HC.Point3.add(p1,w1.scale(k1));var vec0=eDwTypes_7.HC.Point3.subtract(p0,orig0);var vec1=eDwTypes_7.HC.Point3.subtract(p1,orig1);var radius=Math.max(vec0.length(),vec1.length());this.mVec0=vec0;this.mVec1=vec1;this.mTip=p0;this.setAvailibility(true);var maxScale=this.maxScale(iFace0,iFaceObj0);this.mAngle=this.computeAnglePoints(maxScale)}else{var k=eDwTypes_7.HC.Point3.dot(eDwTypes_7.HC.Point3.subtract(p0,p1),n0);var pn1=eDwTypes_7.HC.Point3.add(p1,eDwTypes_7.HC.Point3.scale(n0,k));var vec=eDwTypes_7.HC.Point3.subtract(pn1,p0);if(0===vec.x&&0===vec.y&&0===vec.z){var tmp=new eDwTypes_7.HC.Point3(1,0,0);vec=eDwTypes_7.HC.Point3.cross(n0,tmp)}if(0===vec.x&&0===vec.y&&0===vec.z){var tmp=new eDwTypes_7.HC.Point3(0,1,0);vec=eDwTypes_7.HC.Point3.cross(n0,tmp)}this.mVec0=vec.copy();this.mVec1=vec.copy();this.mTip=p0;this.setAvailibility(true);var maxScale=this.maxScale(iFace0,iFaceObj0);this.mAngle=this.computeAnglePoints(maxScale)}};eDwMeasureAuxAngle.prototype.setByLinePlane=function(iEdge,iFace,iEdgeObj,iFaceObj){this.setByLinePlaneOrig(iEdge,iFace,iEdgeObj,iFaceObj,false)};eDwMeasureAuxAngle.prototype.setByPlaneLine=function(iFace,iEdge,iFaceObj,iEdgeObj){this.setByLinePlaneOrig(iEdge,iFace,iEdgeObj,iFaceObj,true)};eDwMeasureAuxAngle.prototype.setByLineLine=function(iEdge0,iEdge1,iEdgeObj0,iEdgeObj1){this.reset();var model=this.mViewer.getModel();var line0=eDwMeasureUtils.getRealLinePoints(iEdgeObj0,model);var line1=eDwMeasureUtils.getRealLinePoints(iEdgeObj1,model);var p0=iEdgeObj0.getPosition();var p1=iEdgeObj1.getPosition();var v0=eDwTypes_7.HC.Point3.subtract(line0.A,line0.B);var v1=eDwTypes_7.HC.Point3.subtract(line1.A,line1.B);var angle=eDwMeasureUtils.getAngle(v0,v1);if(0!==angle&&180!==angle){var tmp=eDwMeasureUtils.distanceLineLineCross(line0,line1);var orig0=tmp.Cp0;var orig1=tmp.Cp1;var vec0=eDwTypes_7.HC.Point3.subtract(p0,orig0);var vec1=eDwTypes_7.HC.Point3.subtract(p1,orig1);this.mVec0=vec0;this.mVec1=vec1;this.mTip=p1;this.setAvailibility(true);var maxScale=this.maxScale(iEdge1,iEdgeObj1);this.mAngle=this.computeAnglePoints(maxScale)}else{var k1=(eDwTypes_7.HC.Point3.dot(p1,v0)-eDwTypes_7.HC.Point3.dot(p0,v0))/eDwTypes_7.HC.Point3.dot(v0,v0);var p1n=eDwTypes_7.HC.Point3.add(p0,eDwTypes_7.HC.Point3.scale(v0,k1));var k0=(eDwTypes_7.HC.Point3.dot(p0,v1)-eDwTypes_7.HC.Point3.dot(p1,v1))/eDwTypes_7.HC.Point3.dot(v1,v1);var p0n=eDwTypes_7.HC.Point3.add(p1,eDwTypes_7.HC.Point3.scale(v1,k0));var vec=eDwTypes_7.HC.Point3.subtract(p0n,p1);if(0===vec.x&&0===vec.y&&0===vec.z){vec=v0.copy()}this.mVec0=vec.copy();this.mVec1=vec.copy();this.mTip=p1;this.setAvailibility(true);var maxScale=this.maxScale(iEdge1,iEdgeObj1);this.mAngle=this.computeAnglePoints(maxScale)}};eDwMeasureAuxAngle.prototype.getLabels=function(){var labels=[];if(this.mIsAvailible&&0!==this.mAngle){var label=new eDwMeasureLabel(this.mViewer);label.addItem(new eDwMeasureResult("Angle",this.mAngle,MeasureType.Angle));label.setLeader(this.getAngleArcCenter());labels.push(label)}return labels};eDwMeasureAuxAngle.prototype.getAngleArcCenter=function(){var point=new eDwTypes_7.HC.Point3(0,0,0);var n=this.mPointsArcEdge.length;var midPoint=this.mPointsArcEdge[Math.round(n/2)];point.assign(midPoint);return point};eDwMeasureAuxAngle.prototype.isAvailible=function(){return this.mIsAvailible};eDwMeasureAuxAngle.prototype.getText=function(iUnit){var label=new eDwMeasureLabel(this.mViewer);label.addItem(new eDwMeasureResult("Angle",this.mAngle,MeasureType.Angle));label.setStringContent(iUnit);var str="";str+=label.getText(iUnit);return str};eDwMeasureAuxAngle.prototype.setAvailibility=function(iIsOn){this.mIsAvailible=iIsOn};eDwMeasureAuxAngle.prototype.setByLinePlaneOrig=function(iEdge,iFace,iEdgeObj,iFaceObj,iReverseOrder){this.reset();var linePoints=eDwMeasureUtils.getRealLinePoints(iEdgeObj,this.mViewer.getModel());var v0=eDwTypes_7.HC.Point3.subtract(linePoints.A,linePoints.B);v0.normalize();var p0=iEdgeObj.getPosition();var n1=iFace.normal;var p1=iFaceObj.getPosition();n1.normalize();var angle=eDwMeasureUtils.getAngle(v0,n1);if(90!==angle&&270!==angle){var k=(eDwTypes_7.HC.Point3.dot(p1,n1)-eDwTypes_7.HC.Point3.dot(p0,n1))/eDwTypes_7.HC.Point3.dot(v0,n1);var orig=eDwTypes_7.HC.Point3.add(p0,eDwTypes_7.HC.Point3.scale(v0,k));var vec0=eDwTypes_7.HC.Point3.subtract(p0,orig);var vec1=eDwTypes_7.HC.Point3.subtract(p1,orig);if(0!==angle&&180!==angle){vec1=eDwTypes_7.HC.Point3.cross(n1,eDwTypes_7.HC.Point3.cross(vec0,n1))}vec1.normalize();vec1.scale(vec0.length());var radius=Math.max(vec0.length(),vec1.length());var axis=eDwTypes_7.HC.Point3.cross(vec0,vec1);axis.normalize();var orig0=eDwTypes_7.HC.Point3.add(orig,eDwTypes_7.HC.Point3.scale(axis,radius*.25));var orig1=eDwTypes_7.HC.Point3.subtract(orig,eDwTypes_7.HC.Point3.scale(axis,radius*.25));if(0!==angle&&180!==angle){vec1=eDwTypes_7.HC.Point3.cross(n1,eDwTypes_7.HC.Point3.cross(vec0,n1));var proj=eDwTypes_7.HC.Point3.dot(eDwTypes_7.HC.Point3.subtract(orig,p1),axis);orig1=eDwTypes_7.HC.Point3.subtract(orig,eDwTypes_7.HC.Point3.scale(axis,proj));orig0=orig.copy()}this.mVec0=vec0;this.mVec1=vec1;this.mTip=iReverseOrder?p0:p1;this.setAvailibility(true);var maxScale=iReverseOrder?this.maxScale(iEdge,iEdgeObj):this.maxScale(iFace,iFaceObj);this.mAngle=this.computeAnglePoints(maxScale)}else{var k=(eDwTypes_7.HC.Point3.dot(p1,v0)-eDwTypes_7.HC.Point3.dot(p0,v0))/eDwTypes_7.HC.Point3.dot(v0,v0);var pn=eDwTypes_7.HC.Point3.add(p0,eDwTypes_7.HC.Point3.scale(v0,k));var vec=iReverseOrder?eDwTypes_7.HC.Point3.subtract(pn,p0):eDwTypes_7.HC.Point3.subtract(p0,pn);if(0===vec.x&&0===vec.y&&0===vec.z){vec=v0.copy()}this.mVec0=vec.copy();this.mVec1=vec.copy();this.mTip=iReverseOrder?p0:p1;this.setAvailibility(true);var maxScale=iReverseOrder?this.maxScale(iEdge,iEdgeObj):this.maxScale(iFace,iFaceObj);this.mAngle=this.computeAnglePoints(maxScale)}};eDwMeasureAuxAngle.prototype.maxScale=function(iPorp,iObj){var lineEntity=iObj.getLineEntity();var faceEntity=iObj.getFaceEntity();if(lineEntity){var line=eDwMeasureUtils.getRealLinePoints(iObj,this.mViewer.getModel());return eDwTypes_7.HC.Point3.subtract(line.A,line.B).length()}else{var box=faceEntity.getBounding();return eDwTypes_7.HC.Point3.subtract(box.max,box.min).length()}};eDwMeasureAuxAngle.prototype.computeAnglePoints=function(iMaxLen){if(!this.mIsAvailible)return 0;var radius=Math.max(this.mVec0.length(),this.mVec1.length());radius=Math.min(radius*.8,iMaxLen*.6);var vec0=this.mVec0.copy();var vec1=this.mVec1.copy();var orig=this.mTip.copy();vec0.normalize();vec1.normalize();var angleDegree=eDwMeasureUtils.getAngle(vec0,vec1);var angle=angleDegree*Math.PI/180;var normal=eDwTypes_7.HC.Point3.cross(vec0,vec1);var vecY=eDwTypes_7.HC.Point3.cross(normal,vec0);vecY.normalize();if(isNaN(vecY.x)||isNaN(vecY.y)||isNaN(vecY.z)){angleDegree=0;var num=2;var arcPoints=[];for(var i=0;i<=num;++i){var point=eDwTypes_7.HC.Point3.add(orig,eDwTypes_7.HC.Point3.scale(vec0,radius));arcPoints.push(point)}this.mPointsArcEdge=arcPoints}else{var num=20;var arcPoints=[];for(var i=0;i<=num;++i){var aX=vec0.copy();var aY=vecY.copy();var alpha=angle*i/num;var vX=aX.scale(Math.cos(alpha)*radius);var vY=aY.scale(Math.sin(alpha)*radius);var point=eDwTypes_7.HC.Point3.add(orig,eDwTypes_7.HC.Point3.add(vX,vY));arcPoints.push(point)}this.mPointsArcEdge=arcPoints}var p0=eDwTypes_7.HC.Point3.add(orig,eDwTypes_7.HC.Point3.scale(vec0,1.2*radius));var p1=eDwTypes_7.HC.Point3.add(orig,eDwTypes_7.HC.Point3.scale(vec1,1.2*radius));this.mPointsBorder={end0:p0,end1:p1,tip:orig.copy()};return angleDegree};eDwMeasureAuxAngle.prototype.projectPoints=function(){if(!this.mIsAvailible)return;this.mAngleFace.clearPoints();this.mAngleArc.clearPoints();this.mAngleEdge.clearPoints();if(0===this.mPointsArcEdge.length||!this.mPointsBorder)return;var view=this.mViewer.getView();this.mAngleFace.pushPoint(eDwTypes_7.HC.Point2.fromPoint3(view.projectPoint(this.mTip)));for(var i=0;i1){var pos0=iSelObjs[0].getPosition();var circle0=this.createCircle(pos0);this.mCircles.push(circle0);this.mPoints.push(pos0);var line=new eDwMeasureAuxDelta(this.mViewer);line.setDistLineColor(color);line.setDeltaEnds(pos0,pos1);this.mDeltas.push(line)}this.mCircles.push(circle1);this.mPoints.push(pos1);this.mIsAvailible=true};eDwMeasureAuxPick.prototype.adjustPickPoints=function(iSelObjs){this.twoPointPickUpdate(iSelObjs)};eDwMeasureAuxPick.prototype.setDeltaDistAvailability=function(iIsDelta,iIsDist){this.mShowDelta=iIsDelta;this.mShowDist=iIsDist};eDwMeasureAuxPick.prototype.isAvailible=function(){return this.mIsAvailible};eDwMeasureAuxPick.prototype.getText=function(iUnit){if(!this.mIsAvailible)return"";if(0===this.mPoints.length)return"";var label=new eDwMeasureLabel(this.mViewer);var str=label.getText(iUnit);if(this.mPoints.length>1){label.reset();label.addItem(new eDwMeasureResult("Total Length",this.getTotalLength(),MeasureType.Distance));str+="\n\n"+label.getText(iUnit)}return str};eDwMeasureAuxPick.prototype.setConcise=function(iEnable){this.mConcise=iEnable};eDwMeasureAuxPick.prototype.createCircle=function(iStart){var colorAngleFill=new eDwTypes_7.HC.Color(41,128,185);var colorPolygonEdge=new eDwTypes_7.HC.Color(255,0,0);var colorPoint=new eDwTypes_7.HC.Color(137,196,244);var colorEdgeArc=new eDwTypes_7.HC.Color(52,73,94);var colorEdgeStroke=new eDwTypes_7.HC.Color(100,100,100);var widthEdge=3;var arrowSize=5;var pointSize=7;var point=new eDwTypes_7.HC.Markup.Shape.Circle;point.setFillColor(colorPoint);point.setStrokeColor(colorEdgeStroke);point.setStrokeWidth(widthEdge);point.setRadius(pointSize);return point};eDwMeasureAuxPick.prototype.getTotalLength=function(){var totalLen=0;for(var i=1;i0)this.setAvailibility(true)};eDwMeasureAuxGeo.prototype.setAuxPick=function(iSelObjs){this.mAuxPick.adjustPickPoints(iSelObjs);this.mAuxPick.setDeltaDistAvailability(this.mShowDelta,true)};eDwMeasureAuxGeo.prototype.regeneratePicks=function(iSelObjs){this.mAuxPick.regeneratePicks(iSelObjs)};eDwMeasureAuxGeo.prototype.addMessage=function(iResult,iStart,iColor){this.mMessage.addByResultWithColor(iResult,iStart.copy(),iColor);this.setAvailibility(true)};eDwMeasureAuxGeo.prototype.addOtherResult=function(iResult,iStart){this.mOtherResults.addByResult(iResult,iStart.copy());this.setAvailibility(true)};eDwMeasureAuxGeo.prototype.updateResultLabels=function(){this.mResultLabels=[];if(!this.mMeasurePick){this.mResultLabels=this.mResultLabels.concat(this.mAuxAngle.getLabels());this.mResultLabels=this.mResultLabels.concat(this.mAuxDist.getLabels());this.mResultLabels=this.mResultLabels.concat(this.mOtherResults.getLabels());this.mResultLabels=this.mResultLabels.concat(this.mMessage.getLabels())}else{this.mResultLabels=this.mResultLabels.concat(this.mAuxPick.getLabels())}this.distributeLabels();if(!this.mConcise){this.addMarkupLabels()}else{this.updateLastInfoLabels()}};eDwMeasureAuxGeo.prototype.updateLastInfoLabels=function(){var pLabel=this.mPickInfo.getLabels();var aLabel=this.mAuxPick.getPointLabels();var idx=-1;if(!this.mMeasurePick){idx=pLabel.length-1}else if(this.mMeasurePick){idx=aLabel.length-1}this.updateInfoLabel(idx)};eDwMeasureAuxGeo.prototype.updateInfoLabel=function(idx){this.mInfoLabels=[];var pLabel=this.mPickInfo.getLabels();var aLabel=this.mAuxPick.getPointLabels();if(!this.mMeasurePick&&pLabel.length>idx&&idx>=0){var label=pLabel[idx];label.setDefaultEndPos();label.setStringContent(this.mUnit);this.mInfoLabels.push(label)}else if(this.mMeasurePick&&aLabel.length>idx&&idx>=0){var label=aLabel[idx];label.setDefaultEndPos();label.setStringContent(this.mUnit);this.mInfoLabels.push(label)}};eDwMeasureAuxGeo.prototype.getInfoLabelText=function(){var output=[];var labels;if(!this.mMeasurePick){labels=this.mPickInfo.getLabels()}else{labels=this.mAuxPick.getPointLabels()}for(var i=0;i=0))return[3,2];return[4,this.getExtraInfo(this.mSelProps,this.mSelObjs)];case 1:extraInfo_1=_a.sent();this.updateResult(this.mSelProps,this.mSelObjs,extraInfo_1,this.mAuxGeoInstant);this.mAuxGeoInstant.setDrawLabel(false);return[2];case 2:faceEntity=iSelObj.getFaceEntity();lineEntity=iSelObj.getLineEntity();pointEntity=iSelObj.getPointEntity();selectionType=iSelObj.getSelectionType();selObjs=this.mSelObjs.slice();selProps=this.mSelProps.slice();drawLabels=true;if(!pointEntity)return[3,3];selObjs.push(iSelObj);selProps.push(null);return[3,8];case 3:if(!(lineEntity&&lineEntity.getLineBits()&4))return[3,5];return[4,this.mViewerHC.getModel().getEdgeProperty(iSelObj.getNodeId(),iSelObj.getLineEntity().getLineId())];case 4:edgeProp=_a.sent();selObjs.push(iSelObj);selProps.push(edgeProp);return[3,8];case 5:if(!(faceEntity&&faceEntity.getCadFaceIndex()))return[3,7];return[4,this.mViewerHC.getModel().getFaceProperty(iSelObj.getNodeId(),iSelObj.getFaceEntity().getCadFaceIndex())];case 6:faceProp=_a.sent();selObjs.push(iSelObj);selProps.push(faceProp);return[3,8];case 7:selProps=this.mSelProps;selObjs=this.mSelObjs;drawLabels=false;_a.label=8;case 8:return[4,this.getExtraInfo(selProps,selObjs)];case 9:extraInfo=_a.sent();this.updateResult(selProps,selObjs,extraInfo,this.mAuxGeoInstant);this.mAuxGeoInstant.setDrawLabel(drawLabels);return[2]}})})};eDwMeasureEntities.prototype.resetInstantResults=function(){return __awaiter(this,void 0,void 0,function(){var extraInfo;return __generator(this,function(_a){switch(_a.label){case 0:return[4,this.getExtraInfo(this.mSelProps,this.mSelObjs)];case 1:extraInfo=_a.sent();this.updateResult(this.mSelProps,this.mSelObjs,extraInfo,this.mAuxGeoInstant);this.mAuxGeoInstant.setDrawLabel(false);return[2]}})})};eDwMeasureEntities.prototype.removeEntityAtIndex=function(idx){return __awaiter(this,void 0,void 0,function(){var toRemove,extraInfo;return __generator(this,function(_a){switch(_a.label){case 0:if(idx<0||idx>=this.mSelObjs.length)return[2];toRemove=this.mSelObjs[idx];this.mSelObjs.splice(idx,1);this.mSelProps.splice(idx,1);this.mAuxGeoSteady.regeneratePicks(this.mSelObjs);this.mAuxGeoInstant.regeneratePicks(this.mSelObjs);if(this.isItemSelected(toRemove)<0){this.deHighlightEntity(toRemove)}this.dehighlightAllTemporaryEntity();return[4,this.getExtraInfo(this.mSelProps,this.mSelObjs)];case 1:extraInfo=_a.sent();this.updateResult(this.mSelProps,this.mSelObjs,extraInfo,this.mAuxGeoSteady);this.addEntityAttempt(null);return[2]}})})};eDwMeasureEntities.prototype.setHighlightColor=function(iColor){this.mHighlightColor=iColor};eDwMeasureEntities.prototype.setMeasureUnit=function(iUnitMultiplier,iAngleUnit){var unit={LenMultiplier:iUnitMultiplier,AngleUnit:iAngleUnit};this.mUnit=unit;this.mAuxGeoSteady.setUnits(unit);this.mAuxGeoInstant.setUnits(unit);var markupMgr=this.mViewerHC.getMarkupManager();markupMgr.refreshMarkup()};eDwMeasureEntities.prototype.setMeasurePickPoint=function(iEnable){this.reset();this.mAuxGeoSteady.setMeasurePick(iEnable);this.mAuxGeoInstant.setMeasurePick(iEnable);this.mEnablePickInfo=iEnable;var markupMgr=this.mViewerHC.getMarkupManager();markupMgr.refreshMarkup()};eDwMeasureEntities.prototype.getMeasurePickPoint=function(){return this.mEnablePickInfo};eDwMeasureEntities.prototype.setMeasureDelta=function(iEnable){this.mAuxGeoSteady.setShowDelta(iEnable);this.mAuxGeoInstant.setShowDelta(iEnable);this.mEnableDelta=iEnable;var markupMgr=this.mViewerHC.getMarkupManager();markupMgr.refreshMarkup()};eDwMeasureEntities.prototype.reset=function(){this.deHighlightAll();this.mAuxGeoSteady.reset();this.mAuxGeoInstant.reset();this.mSelObjs=[];this.mSelProps=[];this.mPanelInfo.updatePanelResult(this.mSelObjs,this.mEnablePickInfo,this.mEnableDelta,this.mUnit)};eDwMeasureEntities.prototype.draw=function(){this.mAuxGeoSteady.draw();this.mAuxGeoInstant.draw();this.mPanelInfo.updatePanelResult(this.mSelObjs,this.mEnablePickInfo,this.mEnableDelta,this.mUnit)};eDwMeasureEntities.prototype.getClassName=function(){return"eDwMeasureEntities"};eDwMeasureEntities.prototype.isItemSelected=function(iSelObj){var faceNew=iSelObj.getFaceEntity();var lineNew=iSelObj.getLineEntity();var vertNew=iSelObj.getPointEntity();for(var i=0;i0){var result=new eDwMeasureResult("Info","Invalid combination",MeasureType.None);iAuxGeo.addMessage(result,iSelObjs[n-1].getPosition(),eDwTypes_7.HC.Color.red())}iAuxGeo.updateResultLabels();return isValid};eDwMeasureEntities.prototype.updateSingleVert=function(iSelProps,iSelObjs){if(1!==iSelObjs.length)return false;var vertObj=iSelObjs[0];var vertProp=iSelProps[0];if(!vertObj.getPointEntity())return false;var view=this.mViewerHC.getView();return true};eDwMeasureEntities.prototype.updateSingleEdge=function(iSelProps,iSelObjs){if(1!==iSelObjs.length)return false;var edgeObj=iSelObjs[0];var edgeProp=iSelProps[0];if(!edgeObj.getLineEntity()||!edgeProp)return false;var view=this.mViewerHC.getView();if(edgeProp instanceof eDwTypes_7.HC.SubentityProperties.LineElement||edgeProp instanceof eDwTypes_7.HC.SubentityProperties.OtherElement){return true}else if(edgeProp instanceof eDwTypes_7.HC.SubentityProperties.CircleElement){return true}return false};eDwMeasureEntities.prototype.updateSingleFace=function(iSelProps,iSelObjs){if(1!==iSelObjs.length)return false;var faceObj=iSelObjs[0];var faceProp=iSelProps[0];if(!faceObj.getFaceEntity()||!faceProp)return false;if(faceProp instanceof eDwTypes_7.HC.SubentityProperties.CylinderElement){return true}else if(faceProp instanceof eDwTypes_7.HC.SubentityProperties.PlaneElement){return true}return false};eDwMeasureEntities.prototype.updateVertVert=function(iSelProps,iSelObjs,iAuxGeo){if(2!==iSelObjs.length)return false;if(iSelObjs[0].getPointEntity()&&iSelObjs[1].getPointEntity()){var vertProp0=iSelProps[0];var vertObj0=iSelObjs[0];var vertProp1=iSelProps[1];var vertObj1=iSelObjs[1];iAuxGeo.setByVertexVertex(vertObj0,vertObj1);return true}return false};eDwMeasureEntities.prototype.updateVertEdge=function(iSelProps,iSelObjs,iAuxGeo){if(2!==iSelObjs.length)return false;if(iSelObjs[0].getLineEntity()&&iSelObjs[1].getPointEntity()){var edgeProp=iSelProps[0];var edgeObj=iSelObjs[0];var vertProp=iSelProps[1];var vertObj=iSelObjs[1];if(edgeProp instanceof eDwTypes_7.HC.SubentityProperties.LineElement){iAuxGeo.setByVertexLine(vertObj,edgeProp,edgeObj);return true}else if(edgeProp instanceof eDwTypes_7.HC.SubentityProperties.CircleElement){iAuxGeo.setByVertexCircle(vertObj,edgeProp,edgeObj);return true}}if(iSelObjs[1].getLineEntity()&&iSelObjs[0].getPointEntity()){var edgeProp=iSelProps[1];var edgeObj=iSelObjs[1];var vertProp=iSelProps[0];var vertObj=iSelObjs[0];if(edgeProp instanceof eDwTypes_7.HC.SubentityProperties.LineElement){iAuxGeo.setByVertexLine(vertObj,edgeProp,edgeObj);return true}else if(edgeProp instanceof eDwTypes_7.HC.SubentityProperties.CircleElement){iAuxGeo.setByVertexCircle(vertObj,edgeProp,edgeObj);return true}}return false};eDwMeasureEntities.prototype.updateVertFace=function(iSelProps,iSelObjs,iExtraInfo,iAuxGeo){if(2!==iSelObjs.length)return false;if(iSelObjs[0].getPointEntity()&&iSelObjs[1].getFaceEntity()){var vertProp=iSelProps[0];var vertObj=iSelObjs[0];var faceProp=iSelProps[1];var faceObj=iSelObjs[1];if(faceProp instanceof eDwTypes_7.HC.SubentityProperties.PlaneElement){iAuxGeo.setByVertexPlane(vertObj,faceProp,faceObj,iExtraInfo);return true}}if(iSelObjs[1].getPointEntity()&&iSelObjs[0].getFaceEntity()){var vertProp=iSelProps[1];var vertObj=iSelObjs[1];var faceProp=iSelProps[0];var faceObj=iSelObjs[0];if(faceProp instanceof eDwTypes_7.HC.SubentityProperties.PlaneElement){iAuxGeo.setByVertexPlane(vertObj,faceProp,faceObj,iExtraInfo);return true}}return false};eDwMeasureEntities.prototype.updateEdgeFace=function(iSelProps,iSelObjs,iExtraInfo,iAuxGeo){if(2!==iSelObjs.length)return false;if(iSelObjs[0].getLineEntity()&&iSelObjs[1].getFaceEntity()){var edgeProp=iSelProps[0];var edgeObj=iSelObjs[0];var faceProp=iSelProps[1];var faceObj=iSelObjs[1];if(edgeProp instanceof eDwTypes_7.HC.SubentityProperties.LineElement&&faceProp instanceof eDwTypes_7.HC.SubentityProperties.PlaneElement){iAuxGeo.setByLinePlane(edgeProp,faceProp,edgeObj,faceObj);return true}else if(edgeProp instanceof eDwTypes_7.HC.SubentityProperties.CircleElement&&faceProp instanceof eDwTypes_7.HC.SubentityProperties.PlaneElement){iAuxGeo.setByCirclePlane(edgeProp,faceProp,edgeObj,faceObj,iExtraInfo);return true}}if(iSelObjs[1].getLineEntity()&&iSelObjs[0].getFaceEntity()){var edgeProp=iSelProps[1];var edgeObj=iSelObjs[1];var faceProp=iSelProps[0];var faceObj=iSelObjs[0];if(edgeProp instanceof eDwTypes_7.HC.SubentityProperties.LineElement&&faceProp instanceof eDwTypes_7.HC.SubentityProperties.PlaneElement){iAuxGeo.setByPlaneLine(faceProp,edgeProp,faceObj,edgeObj);return true}else if(edgeProp instanceof eDwTypes_7.HC.SubentityProperties.CircleElement&&faceProp instanceof eDwTypes_7.HC.SubentityProperties.PlaneElement){iAuxGeo.setByCirclePlane(edgeProp,faceProp,edgeObj,faceObj,iExtraInfo);return true}}return false};eDwMeasureEntities.prototype.updateEdgeEdge=function(iSelProps,iSelObjs,iAuxGeo){if(2!==iSelObjs.length)return false;if(!iSelObjs[0].getLineEntity()||!iSelObjs[1].getLineEntity()){return false}var edgeObj0=iSelObjs[0];var edgeProp0=iSelProps[0];var edgeObj1=iSelObjs[1];var edgeProp1=iSelProps[1];if(edgeObj0.getLineEntity().getLineId()===edgeObj1.getLineEntity().getLineId())return false;if(edgeProp0 instanceof eDwTypes_7.HC.SubentityProperties.LineElement&&edgeProp1 instanceof eDwTypes_7.HC.SubentityProperties.LineElement){iAuxGeo.setByLineLine(edgeProp0,edgeProp1,edgeObj0,edgeObj1);return true}else if(edgeProp0 instanceof eDwTypes_7.HC.SubentityProperties.LineElement&&edgeProp1 instanceof eDwTypes_7.HC.SubentityProperties.CircleElement){iAuxGeo.setByCircleLine(edgeProp1,edgeProp0,edgeObj1,edgeObj0);return true}else if(edgeProp0 instanceof eDwTypes_7.HC.SubentityProperties.CircleElement&&edgeProp1 instanceof eDwTypes_7.HC.SubentityProperties.LineElement){iAuxGeo.setByCircleLine(edgeProp0,edgeProp1,edgeObj0,edgeObj1);return true}else if(edgeProp0 instanceof eDwTypes_7.HC.SubentityProperties.CircleElement&&edgeProp1 instanceof eDwTypes_7.HC.SubentityProperties.CircleElement){iAuxGeo.setByCircleCircle(edgeProp1,edgeProp0,edgeObj1,edgeObj0);return true}return false};eDwMeasureEntities.prototype.updateFaceFace=function(iSelProps,iSelObjs,iExtraInfo,iAuxGeo){if(2!==iSelObjs.length)return false;if(!iSelObjs[0].getFaceEntity()||!iSelObjs[1].getFaceEntity()){return false}var faceObj0=iSelObjs[0];var faceProp0=iSelProps[0];var faceObj1=iSelObjs[1];var faceProp1=iSelProps[1];if(faceObj0.getFaceEntity().getCadFaceIndex()===faceObj1.getFaceEntity().getCadFaceIndex())return false;if(!faceObj1.getFaceEntity()||!faceProp1)return false;if(faceProp0 instanceof eDwTypes_7.HC.SubentityProperties.PlaneElement&&faceProp1 instanceof eDwTypes_7.HC.SubentityProperties.PlaneElement){iAuxGeo.setByPlanePlane(faceProp1,faceProp0,faceObj1,faceObj0,iExtraInfo);return true}return false};eDwMeasureEntities.prototype.updateEdges=function(iSelProps,iSelObjs,iAuxGeo){var n=iSelObjs.length;var len=0;var ids=[];for(var i=0;i1){pos=iSelObjs[n-1].getPosition();var result=new eDwMeasureResult("Total Length",len,MeasureType.Distance);iAuxGeo.addOtherResult(result,pos);return true}return false};eDwMeasureEntities.prototype.highlightEntityAt=function(iIndex,iHighlight){if(iHighlight===void 0){iHighlight=true}var n=this.mSelObjs.length;var model=this.mViewerHC.getModel();if(iIndex<0||iIndex>=n)return;var nodeID=this.mSelObjs[iIndex].getNodeId();var entityID=eDwMeasureEntities.getMeasureSelItemID(this.mSelObjs[iIndex]);if(this.mSelObjs[iIndex].getFaceEntity()){model.setNodeFaceHighlighted(nodeID,entityID,iHighlight)}if(this.mSelObjs[iIndex].getLineEntity()){model.setNodeLineHighlighted(nodeID,entityID,iHighlight)}if(this.mSelObjs[iIndex].getPointEntity()){model.setNodePointHighlighted(nodeID,entityID,iHighlight)}};return eDwMeasureEntities}(eDwTypes_7.HC.Markup.MarkupItem);return eDwMeasureEntities});define("eDwMeasureMgr",["require","exports","eDwMeasureOperator","eDwTypes","eDrawingsBase"],function(require,exports,eDwMeasureOperator,eDwTypes_8){"use strict";var eDwMeasureMgr=function(){function eDwMeasureMgr(iViewer){iViewer.MeasureMgr=this;this.mViewer=iViewer;var measureOp=new eDwMeasureOperator(iViewer,this);this.mMeasureOpID=iViewer.OperatorMgr.registerCustomOperator(measureOp);this.mMarkupArray=[];this.setMeasureUnits(eDwTypes_8.DefaultDistanceUnit,eDwTypes_8.DefaultAngleUnit)}eDwMeasureMgr.prototype.unregister=function(){this.mViewer.OperatorMgr.unregisterCustomOperatorByID(this.mMeasureOpID);this.mViewer.MeasureMgr=null};eDwMeasureMgr.prototype.addMarkup=function(iNewMarkupID){if(!this.mMarkupArray){this.mMarkupArray=[]}this.mMarkupArray.push(iNewMarkupID)};eDwMeasureMgr.prototype.activateMeasure=function(iMode){var viewer=this.mViewer;if(!viewer.getModel().getMeasureable())return;var opMgr=viewer.OperatorMgr;this.mViewer.HCViewer.getMeasureManager().setMeasurementColor(new Communicator.Color(4,200,5));opMgr.push(this.mMeasureOpID);this.setMeasureMode(iMode)};eDwMeasureMgr.prototype.deleteMeasurements=function(){var mkupMgr=this.mViewer.HCViewer.getMarkupManager();var markups=this.mMarkupArray.length;for(var i=0;i=0){this.mMeasureEntities.removeEntityAtIndex(existId);return[2]}if(!isAllowedSelection(selItem,this.mMeasureMode))return[2];return[4,this.mMeasureEntities.addEntity(selItem)];case 2:isAdded=_a.sent();if(isAdded){this.highlightMeasuringItem(selItem)}else{this.dehighlightMeasuringItems()}return[2]}})})})();var selectable=eDwTypes_9.HC.Selection.SelectionItem.create(null);eDwBaseOperator.setPickResult(iEvent,selectable)}_super.prototype.onMouseUp.call(this,iEvent)};eDwMeasureOperator.prototype.onTouchStart=function(ioTouchEvent){var _this=this;this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_9.HC.MouseInputType.Down,function(ioMouseEvent){_this.onMouseDown(ioMouseEvent)})};eDwMeasureOperator.prototype.onTouchMove=function(ioTouchEvent){var _this=this;this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_9.HC.MouseInputType.Move,function(ioMouseEvent){_this.onMouseMove(ioMouseEvent)})};eDwMeasureOperator.prototype.onTouchEnd=function(ioTouchEvent){var _this=this;this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_9.HC.MouseInputType.Up,function(ioMouseEvent){_this.onMouseUp(ioMouseEvent)})};eDwMeasureOperator.prototype.updateMeasureResults=function(iUnitMultiplier,iAngleUnit){this.mMeasureEntities.setMeasureUnit(iUnitMultiplier,iAngleUnit)};eDwMeasureOperator.prototype.removeMeasureEntityAt=function(idx){this.mMeasureEntities.removeEntityAtIndex(idx)};eDwMeasureOperator.prototype.clearMeasureEntities=function(){this.mMeasureEntities.reset()};eDwMeasureOperator.prototype.highlightSelectEntityAt=function(idx){this.mMeasureEntities.highlightTemporaryEntityAt(idx)};eDwMeasureOperator.prototype.dehighlightAllTemporaryEntity=function(){this.mMeasureEntities.dehighlightAllTemporaryEntity();this.resetTempHighlight()};eDwMeasureOperator.prototype.getMeasureMode=function(){return this.mMeasureMode};eDwMeasureOperator.prototype.setMeasureMode=function(iMode){this.mMeasureMode=iMode};eDwMeasureOperator.prototype.setShowPickPoint=function(iEnable){this.mMeasureEntities.setMeasurePickPoint(iEnable)};eDwMeasureOperator.prototype.setShowDelta=function(iEnable){this.mMeasureEntities.setMeasureDelta(iEnable)};eDwMeasureOperator.prototype.highlightMeasuringItem=function(iSelItem){this.mMeasuringItems.push(iSelItem);this.mViewerHC.getSelectionManager().add(iSelItem)};eDwMeasureOperator.prototype.dehighlightMeasuringItems=function(){this.mMeasuringItems=[];this.mViewerHC.getSelectionManager().clear()};eDwMeasureOperator.prototype.removeMeasuringItemTempHighlight=function(){for(var _i=0,_a=this.mMeasuringItems;_i<_a.length;_i++){var selItem=_a[_i];var model=this.mViewerHC.getModel();var nodeID=selItem.getNodeId();var entityID=eDwMeasureEntities.getMeasureSelItemID(selItem);if(selItem.getFaceEntity()){model.setNodeFaceHighlighted(nodeID,entityID,false)}if(selItem.getLineEntity()){model.setNodeLineHighlighted(nodeID,entityID,false)}if(selItem.getPointEntity()){model.setNodePointHighlighted(nodeID,entityID,false)}}};eDwMeasureOperator.prototype.resetSelections=function(){var arraySize=this.mSelectionArray.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}}var properties=$(doc).find("property");if(properties.length>0){var numProps=properties.length;for(var i=0;i0){var numConfigs=configurations.length;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_getNodeProperties(iElemJQ){var props={};if(iElemJQ){props.Name=iElemJQ.attr("name");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)}return props}function l_getNodePropsAsAttribs(iNodeProps){var nodeAttribs={};$.extend(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("eDwMoveComponentCmd",["require","exports","eDwSupportsHistoryCmd","utils","eDrawingsBase"],function(require,exports,eDwSupportsHistoryCmd,Utils){"use strict";var eDwMoveComponentCmd=function(_super){__extends(eDwMoveComponentCmd,_super);function eDwMoveComponentCmd(iViewer,iComponentData){var _this=_super.call(this,iViewer)||this;_this.mInitialComponentXforms=_this.assignModelXforms(iComponentData);return _this}eDwMoveComponentCmd.prototype.undo=function(){if(!_super.prototype.undo.call(this))return false;this.setModelXforms(this.mInitialComponentXforms);return true};eDwMoveComponentCmd.prototype.redo=function(){if(!_super.prototype.redo.call(this))return false;this.setModelXforms(this.mFinalComponentXforms);return true};eDwMoveComponentCmd.prototype.commit=function(){_super.prototype.commit.call(this);this.setModelXforms(this.mFinalComponentXforms)};Object.defineProperty(eDwMoveComponentCmd.prototype,"Aggregable",{get:function(){return true},enumerable:true,configurable:true});eDwMoveComponentCmd.prototype.setFinalComponentXforms=function(iComponentData){this.mFinalComponentXforms=this.assignModelXforms(iComponentData)};eDwMoveComponentCmd.prototype.setModelXforms=function(iComponentXforms){if(!iComponentXforms)return;var modelHC=this.mViewer.getModel().getHCModel();for(var _i=0,iComponentXforms_1=iComponentXforms;_i2||!this.mSelectingTouch){ioTouchEvent.setHandled(false);return}var masterOrigTouch=this.mSelectingTouch.touch;var curTouchComplex=this.getTouchById(ioTouchEvent.getId());if(ioTouchEvent.getId()===masterOrigTouch.getId()){var curDragPt=eDwBaseOperator.screenToWorld(ioTouchEvent.getPosition(),this.mViewer.getHCView());var dragVec=eDwTypes_11.HC.Point3.subtract(curDragPt,curTouchComplex.lastDragPt);this.dragFree(dragVec)}else{var deltaPt=eDwTypes_11.HC.Point2.subtract(ioTouchEvent.getPosition(),curTouchComplex.lastPos);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_11.HC.EventType.MouseDown||iEventType===eDwTypes_11.HC.EventType.TouchStart};eDwMoveOperator.prototype.dragFree=function(vec){if(!this.mCurMouse&&0===this.mCurTouches.length)return false;var modelHC=this.mViewer.getModel().getHCModel();var transMat=new eDwTypes_11.HC.Matrix;transMat.setTranslationComponent(vec.x,vec.y,vec.z);utils.forAll(function(iModelNodeID,ioNodeData){ioNodeData.Xform=eDwTypes_11.HC.Matrix.multiply(ioNodeData.Xform,transMat);modelHC.setNodeMatrix(iModelNodeID,ioNodeData.Xform)},this.mCompDataLocal);return true};eDwMoveOperator.prototype.dragOrbit=function(deltaScrPt){if(!this.mCurMouse&&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_11.HC.Point3.subtract(camera.getTarget(),camera.getPosition()).normalize();var upVec=camera.getUp().copy().normalize();var dirVec=eDwTypes_11.HC.Point3.cross(upVec,projVec).normalize();utils.forAll(function(iModelNodeID,ioNodeData){if(!ioNodeData.Bbox)return;var xformedCenter=new eDwTypes_11.HC.Point3(0,0,0);ioNodeData.Xform.transform(ioNodeData.Bbox.center(),xformedCenter);var transMat=new eDwTypes_11.HC.Matrix;var revTransMat=new eDwTypes_11.HC.Matrix;revTransMat.setTranslationComponent(-xformedCenter.x,-xformedCenter.y,-xformedCenter.z);transMat.setTranslationComponent(xformedCenter.x,xformedCenter.y,xformedCenter.z);var upAxisRotMat=eDwTypes_11.HC.Matrix.createFromOffAxisRotation(upVec,deltaScrPt.x);var dirAxisRotMat=eDwTypes_11.HC.Matrix.createFromOffAxisRotation(dirVec,-deltaScrPt.y);var rotMatrix=eDwTypes_11.HC.Matrix.multiply(revTransMat,upAxisRotMat);rotMatrix=eDwTypes_11.HC.Matrix.multiply(rotMatrix,dirAxisRotMat);rotMatrix=eDwTypes_11.HC.Matrix.multiply(rotMatrix,transMat);ioNodeData.Xform=eDwTypes_11.HC.Matrix.multiply(ioNodeData.Xform,rotMatrix);modelHC.setNodeMatrix(iModelNodeID,ioNodeData.Xform)},this.mCompDataLocal);return true};eDwMoveOperator.prototype.getComponentAndXform=function(){var nodeXforms=[];utils.forAll(function(iModelNodeID,iNodeData){nodeXforms.push({NodeID:iModelNodeID,Xform:iNodeData.Xform})},this.mCompDataLocal);return nodeXforms};return eDwMoveOperator}(eDwBaseSelOperator);function transformBox(iXform,ioBox){iXform.transform(ioBox.min,ioBox.min);iXform.transform(ioBox.max,ioBox.max)}return eDwMoveOperator});define("eDwMoveSectionPlaneCmd",["require","exports","eDwTypes","eDwSupportsHistoryCmd","eDrawingsBase"],function(require,exports,eDwTypes_12,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_12.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_12.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_13){"use strict";var eDwNodeColorInfo=function(){function eDwNodeColorInfo(pNodeId,pSecondaryId,pColor,pType){this.mNodeId=pNodeId;this.mSecondId=pSecondaryId;this.mColor=pColor;this.mType=pType}eDwNodeColorInfo.prototype.reset=function(pModel){switch(this.mType){case eDwTypes_13.MeasureMode.VERTEX:break;case eDwTypes_13.MeasureMode.EDGE:pModel.unsetNodeLineColor(this.mNodeId,this.mSecondId);break;case eDwTypes_13.MeasureMode.FACE:pModel.unsetNodeFaceColor(this.mNodeId,this.mSecondId);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("eDwOperatorMgr",["require","exports","eDwTypes","utils","eDrawingsBase"],function(require,exports,eDwTypes_14,utils){"use strict";var eDwOperatorMgr=function(){function eDwOperatorMgr(iViewer){this.mOpsData={};this.mOperatorMgrHC=iViewer.HCViewer.getOperatorManager();this.resetToDefault();var cameraZoomOp=this.mOperatorMgrHC.getOperator(eDwTypes_14.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){if(this.getActiveOperatorID()!==iOpID){return this.mOperatorMgrHC.push(iOpID)}return false};eDwOperatorMgr.prototype.pop=function(iOpID){var retOpID=eDwTypes_14.HC.OperatorId.None;if(!iOpID||iOpID&&this.getActiveOperatorID()===iOpID){retOpID=this.mOperatorMgrHC.pop()}return retOpID};eDwOperatorMgr.prototype.popToOp=function(iOpID){var retOpID=eDwTypes_14.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_14.HC.OperatorId.NavCube;opID>eDwTypes_14.HC.OperatorId.Navigate;opID--){this.pop(opID)}utils.forAll(function(iOpID,iOpData){if(iOpData.ActivatedByDefault){_this.push(iOpData.Op.OperatorID)}},this.mOpsData)};return eDwOperatorMgr}();return eDwOperatorMgr});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("eDwRedlineOperator",["require","exports","eDwTypes","eDwBaseOperator","eDrawingsBase"],function(require,exports,eDwTypes_15,eDwBaseOperator){"use strict";var eDwRedlineUtils=function(){function eDwRedlineUtils(){}eDwRedlineUtils.screenToCameraPlane=function(iScrPt,iView,iCamera){var pt=iCamera.getCameraPlaneIntersectionPoint(iScrPt,iView);return pt};eDwRedlineUtils.cameraDiff=function(iCamOld,iCamNew){var mOld=iCamOld.getMatrixFromCamera();var mNew=iCamNew.getMatrixFromCamera();var base=0;for(var i=0;i<16;++i){base+=mOld.m[i]*mOld.m[i]}var diff=0;for(var i=0;i<16;++i){diff+=(mOld.m[i]-mNew.m[i])*(mOld.m[i]-mNew.m[i])}diff/=base;var maxDiff=.1;diff=Math.min(maxDiff,diff);var result=1-diff/maxDiff;return result};eDwRedlineUtils.normalizePoint2=function(iPos){var len=iPos.length();if(0===len)return;iPos.x/=len;iPos.y/=len};eDwRedlineUtils.dotPoint2=function(iPos0,iPos1){return iPos0.x*iPos1.x+iPos0.y*iPos1.y};eDwRedlineUtils.fastFactorial=function(iNum){if(0==iNum)return 1;if(iNum<=100)return eDwRedlineUtils.factorial[iNum];var output=eDwRedlineUtils.factorial[100];for(var i=101;i<=iNum;++i){output*=i}return output};eDwRedlineUtils.uniqueIdGenerator=function(){var S4=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};var str=S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4();if(-1!==eDwRedlineUtils.mUniqueIds.indexOf(str)){return eDwRedlineUtils.uniqueIdGenerator()}else{return str}};eDwRedlineUtils.factorial=[1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,87178291200,1307674368e3,20922789888e3,355687428096e3,6402373705728e3,0x1b02b9306890000,243290200817664e4,5109094217170944e4,0x3ceea4c2b3e0d80000,2.585201673888498e22,6.204484017332394e23,1.5511210043330986e25,4.0329146112660565e26,1.0888869450418352e28,3.0488834461171387e29,8.841761993739702e30,2.6525285981219107e32,8.222838654177922e33,2.631308369336935e35,8.683317618811886e36,2.9523279903960416e38,1.0333147966386145e40,3.7199332678990125e41,1.3763753091226346e43,5.230226174666011e44,2.0397882081197444e46,8.159152832478977e47,3.345252661316381e49,1.40500611775288e51,6.041526306337383e52,2.658271574788449e54,1.1962222086548019e56,5.502622159812089e57,2.5862324151116818e59,1.2413915592536073e61,6.082818640342675e62,3.0414093201713376e64,1.5511187532873822e66,8.065817517094388e67,4.2748832840600255e69,2.308436973392414e71,1.2696403353658276e73,7.109985878048635e74,4.0526919504877214e76,2.3505613312828785e78,1.3868311854568984e80,8.32098711274139e81,5.075802138772248e83,3.146997326038794e85,1.98260831540444e87,1.2688693218588417e89,8.247650592082472e90,5.443449390774431e92,3.647111091818868e94,2.4800355424368305e96,1.711224524281413e98,1.1978571669969892e100,8.504785885678623e101,6.1234458376886085e103,4.4701154615126844e105,3.307885441519386e107,2.48091408113954e109,1.8854947016660504e111,1.4518309202828587e113,1.1324281178206297e115,8.946182130782976e116,7.156945704626381e118,5.797126020747368e120,4.753643337012842e122,3.945523969720659e124,3.314240134565353e126,2.81710411438055e128,2.4227095383672734e130,2.107757298379528e132,1.8548264225739844e134,1.650795516090846e136,1.4857159644817615e138,1.352001527678403e140,1.2438414054641308e142,1.1567725070816416e144,1.087366156656743e146,1.032997848823906e148,9.916779348709496e149,9.619275968248212e151,9.426890448883248e153,9.332621544394415e155,9.332621544394415e157];eDwRedlineUtils.mUniqueIds=[];return eDwRedlineUtils}();var eDwSVGUtil=function(){function eDwSVGUtil(){}eDwSVGUtil.drawSVGElment=function(iTag,iAttrs){var elr=document.createElementNS("http://www.w3.org/2000/svg",iTag);for(var k in iAttrs){if("href"===k){elr.setAttributeNS("http://www.w3.org/1999/xlink",k,iAttrs[k])}else{elr.setAttributeNS(null,k,iAttrs[k])}}$("#"+eDwSVGUtil.redlineSVGId).append(elr)};eDwSVGUtil.removeSVGElment=function(iTag,iAttrs){var elr=document.createElementNS("http://www.w3.org/1999/xlink",iTag);for(var k in iAttrs){elr.setAttribute(k,iAttrs[k])}var redlineSVGElmt=document.getElementById(eDwSVGUtil.redlineSVGId);var children=redlineSVGElmt.children;redlineSVGElmt.appendChild(elr)};eDwSVGUtil.redlineSVGId="edrawings-canvas-redline-svg";eDwSVGUtil.canvasSVGId="edrawings-canvas-svg";eDwSVGUtil.testData="data:image/jpeg;base64,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"+"/AfspkCYmJOTSCuDRrchwQy/Wm8KepX61ykVcVQIauvArTx6tpkNvO0MruAGU9cnpVOkQgk5B+Rq3+y5oJ+L9PN1NHFHBly0jhR8IJHX1xUz3FlMepo3dm7Yr7xOWhpNS0oN/3lZ/t1/OkHUtK/8AM7P9uv"+"50hTNC0ENIpODtXROBtQbahpW5/SVl+3X86Gl1TTRIANQs8ek6/nXNM60GTyjmBFXH2X6Z+luKLKB1zGjeI/yXeqL+kNLfrqNn+3X86172FX/DtqLvUbrXNJhc4jjEl5Gpx36mpUW2Uk1Rt4XHTGKROniRl"+"D3GKixxXwsOvE2i/wDPxf8AVXDxVwt/6m0X/n4v+qjirP/ZAP/hAtdodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3pr"+"YzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuMS4yIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzI"+"yLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYm"+"UuY29tL2V4aWYvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxMy0wOS0yMVQxNDo1OTo0NSswMzowMCIgZXhpZjpEYXRlVGltZ"+"U9yaWdpbmFsPSIyMDEzLTA5LTIwVDE5OjMwOjE1KzAzOjAwIj4gPGRjOmNyZWF0b3I+IDxyZGY6U2VxPiA8cmRmOmxpPlBpY2FzYTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvZGM6Y3JlYXRvcj4gPC9yZGY6"+"RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA"+"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";return eDwSVGUtil}();var eDwRedlineDivElement=function(){function eDwRedlineDivElement(){this.mDivId=eDwRedlineUtils.uniqueIdGenerator();var div="
";$(eDwRedlineDivElement.parentId).append(div)}eDwRedlineDivElement.prototype.addContent=function(iContent){$("#"+this.mDivId).append(iContent)};eDwRedlineDivElement.prototype.setSize=function(iSize){$("#"+this.mDivId).height(iSize.y);$("#"+this.mDivId).width(iSize.x)};eDwRedlineDivElement.prototype.setPosition=function(iPos){$("#"+this.mDivId).css({top:iPos.y,left:iPos.x})};eDwRedlineDivElement.prototype.getPosition=function(){var w=$("#"+this.mDivId).width();var h=$("#"+this.mDivId).height();return new eDwTypes_15.HC.Point2(w,h)};eDwRedlineDivElement.prototype.setCss=function(iKey,iVal){$("#"+this.mDivId).css(iKey,iVal)};eDwRedlineDivElement.prototype.getSize=function(){var h=$("#"+this.mDivId).height();var w=$("#"+this.mDivId).width();return new eDwTypes_15.HC.Point2(w,h)};eDwRedlineDivElement.prototype.showElement=function(iShow){var target=$("#"+this.mDivId);if(iShow){target.show()}else{target.css("display","none")}};eDwRedlineDivElement.prototype.remove=function(){$("#"+this.mDivId).remove()};eDwRedlineDivElement.parentId="#edrawings-canvas-redline";return eDwRedlineDivElement}();var eDwSVGElementBase=function(){function eDwSVGElementBase(iTag,iAttrs){this.mTag=iTag;this.mAttrs=iAttrs}eDwSVGElementBase.prototype.draw=function(){eDwSVGUtil.drawSVGElment(this.mTag,this.mAttrs)};return eDwSVGElementBase}();var eDwSVGImage=function(_super){__extends(eDwSVGImage,_super);function eDwSVGImage(iImageLink,iPos,iSize){var _this=_super.call(this,"image",{href:iImageLink,x:iPos.x,y:iPos.y,height:iSize.y,width:iSize.x,preserveAspectRatio:"none"})||this;_this.mPos=eDwTypes_15.HC.Point2.zero();_this.mSize=eDwTypes_15.HC.Point2.zero();_this.mPos=iPos.copy();_this.mSize=iSize.copy();return _this}eDwSVGImage.prototype.setPosition=function(iPos){this.mPos=iPos.copy();this.mAttrs["x"]=iPos.x;this.mAttrs["y"]=iPos.y};eDwSVGImage.prototype.setSize=function(iSize){this.mSize=iSize.copy();this.mAttrs["height"]=iSize.y;this.mAttrs["width"]=iSize.x};return eDwSVGImage}(eDwSVGElementBase);var eDwRedlineDivText=function(_super){__extends(eDwRedlineDivText,_super);function eDwRedlineDivText(){var _this=_super.call(this)||this;_this.mTextId="";_this.mTextId=eDwRedlineUtils.uniqueIdGenerator();var inputHtml="";_this.addContent(inputHtml);return _this}eDwRedlineDivText.prototype.getFocus=function(){$("#"+this.mTextId).focus()};eDwRedlineDivText.prototype.getBlur=function(){$("#"+this.mTextId).blur()};eDwRedlineDivText.prototype.setText=function(iText){$("#"+this.mTextId).val(iText)};eDwRedlineDivText.prototype.getText=function(){return $("#"+this.mTextId).val()};return eDwRedlineDivText}(eDwRedlineDivElement);var eDwRedlineItemBase=function(_super){__extends(eDwRedlineItemBase,_super);function eDwRedlineItemBase(iViewer){var _this=_super.call(this)||this;_this.mWPoints=[];_this.mSPoints=[];_this.mTransing=false;_this.mEditing=false;_this.mRegisterId="";_this.mActive=1;_this.mEditHandle=[];_this.mEditIdx=-1;_this.mSelected=false;_this.mStrokeWidthRegular=3;_this.mStrokeWidthHighlight=5;_this.mTransStart=eDwTypes_15.HC.Point3.zero();_this.mColor=eDwTypes_15.HC.Color.red();_this.mViewerHC=iViewer;return _this}eDwRedlineItemBase.prototype.draw=function(){if(!this.mSelected)return;var renderer=this.mViewerHC.getMarkupManager().getRenderer();for(var i=0;i=0;--i){var c=this.mEditHandle[i].getCenter();var r=this.mEditHandle[i].getRadius();var w=this.mEditHandle[i].getStrokeWidth();var dist=eDwTypes_15.HC.Point2.subtract(iPos,c).length();if(dist3&&eDwTypes_15.HC.Point3.subtract(this.mWPoints[0],wpos).length()<.001;if(overlap){this.mWPoints.splice(-1,1);this.mSPoints.splice(-1,1);this.mEditHandle.splice(-1,1)}return overlap||this.mIsClose};eDwRedlineBezier.prototype.onInitialEditStart=function(iPos){_super.prototype.onInitialEditStart.call(this,iPos);this.mInitializing=true};eDwRedlineBezier.prototype.onEditEnd=function(iPos){_super.prototype.onEditEnd.call(this,iPos);this.mInitializing=false};eDwRedlineBezier.prototype.onEditStart=function(iPos){_super.prototype.onEditStart.call(this,iPos);var n=this.mWPoints.length;if(this.mIsClose&&this.mEditIdx==n-1){this.mEditIdx=0}};eDwRedlineBezier.prototype.getClassName=function(){return"eDwRedlineBezier"};eDwRedlineBezier.prototype.forJson=function(){var basic=_super.prototype.forJson.call(this);basic.isclose=this.mIsClose;return basic};eDwRedlineBezier.constructInView=function(iJSONObj,iViewer,iMarkupView){var item=new eDwRedlineBezier(iViewer,eDwTypes_15.HC.Point3.zero());item.setWPoints(iJSONObj.anchors);iMarkupView.addMarkupItem(item);item.initializeId();item.setViewID(iMarkupView.getUniqueId());item.setCamera(iMarkupView.getCamera());item.mIsClose=iJSONObj.isclose;return item};eDwRedlineBezier.prototype.updateGeometry=function(){_super.prototype.updateGeometry.call(this);if(this.mIsClose){var n=this.mSPoints.length;this.mSPoints[n-1].assign(this.mSPoints[0].copy());this.mEditHandle[n-1].setCenter(this.mSPoints[0].copy())}this.mPolyline.clearPoints();var bPoints=this.cBezierPoints(this.mSPoints);for(var i=0;i2;++i){this.mTangents.push({TL:eDwTypes_15.HC.Point2.zero(),TR:eDwTypes_15.HC.Point2.zero()});var vecL=eDwTypes_15.HC.Point2.subtract(iPnt[i-1],iPnt[i]);var vecR=eDwTypes_15.HC.Point2.subtract(iPnt[i+1],iPnt[i]);var origStrength=.4;var lenL=vecL.length()*origStrength;var lenR=vecR.length()*origStrength;eDwRedlineUtils.normalizePoint2(vecL);eDwRedlineUtils.normalizePoint2(vecR);var bisec=eDwTypes_15.HC.Point2.add(vecL,vecR);eDwRedlineUtils.normalizePoint2(bisec);if(0===bisec.x&&0===bisec.y){continue}var vec0=new eDwTypes_15.HC.Point2(-1*bisec.y,bisec.x);var vec1=new eDwTypes_15.HC.Point2(bisec.y,-1*bisec.x);if(vec0.x*vecL.x+vec0.y*vecL.y>0){vec0.scale(lenL);vec1.scale(lenR);this.mTangents[i].TL=vec0;this.mTangents[i].TR=vec1}else{vec0.scale(lenR);vec1.scale(lenL);this.mTangents[i].TR=vec0;this.mTangents[i].TL=vec1}}this.mTangents.push({TL:eDwTypes_15.HC.Point2.zero(),TR:eDwTypes_15.HC.Point2.zero()});if(2==n)return;var pB0=this.pBisectorDir(iPnt[0],iPnt[1]);this.mTangents[0].TR=this.symmetricVec(pB0,this.mTangents[1].TL);var pBn=this.pBisectorDir(iPnt[n-1],iPnt[n-2]);this.mTangents[n-1].TL=this.symmetricVec(pBn,this.mTangents[n-2].TR)};eDwRedlineBezier.prototype.computTangentDirsClose=function(iPnt){this.mTangents=[];var n=iPnt.length-1;for(var i=0;i0){vec0.scale(lenL);vec1.scale(lenR);this.mTangents[i].TL=vec0;this.mTangents[i].TR=vec1}else{vec0.scale(lenR);vec1.scale(lenL);this.mTangents[i].TR=vec0;this.mTangents[i].TL=vec1}}this.mTangents.push(this.mTangents[0])};eDwRedlineBezier.prototype.symmetricVec=function(iAxis,iSource){if(0===iAxis.x&&0===iAxis.y)return iSource.copy();var a=iAxis.copy();eDwRedlineUtils.normalizePoint2(a);var proj=eDwRedlineUtils.dotPoint2(a,iSource);a.scale(2*proj);var output=eDwTypes_15.HC.Point2.subtract(a,iSource);return output};eDwRedlineBezier.prototype.pBisectorDir=function(iPos0,iPos1){var p01=eDwTypes_15.HC.Point2.subtract(iPos1,iPos0);if(0===p01.x&&0===p01.y){return eDwTypes_15.HC.Point2.zero()}eDwRedlineUtils.normalizePoint2(p01);var output=new eDwTypes_15.HC.Point2(p01.y,-1*p01.x);return output};return eDwRedlineBezier}(eDwRedlineItemBase);var eDwRedlineCircle=function(_super){__extends(eDwRedlineCircle,_super);function eDwRedlineCircle(iViewer,iPoint){var _this=_super.call(this,iViewer)||this;_this.mCircle=new eDwTypes_15.HC.Markup.Shape.Circle;_this.mCircle.setFillOpacity(0);_this.addPoint(iPoint);_this.addPoint(iPoint);return _this}eDwRedlineCircle.prototype.draw=function(){this.updateGeometry();var renderer=this.mViewerHC.getMarkupManager().getRenderer();this.mCircle.setStrokeWidth(this.getStrokeWidth());this.mCircle.setStrokeColor(this.getCurColor());renderer.drawCircle(this.mCircle);_super.prototype.draw.call(this)};eDwRedlineCircle.prototype.hit=function(iPos){var r=this.mCircle.getRadius();var center=this.mCircle.getCenter();var w=this.mCircle.getStrokeWidth();var dist=eDwTypes_15.HC.Point2.subtract(iPos,center).length();if(dist>r-w&&dist=xMin&&iPos.y<=yMax&&iPos.y>=yMin)return true;if(-1!==this.hitEditHandle(iPos))return true;return false};eDwRedlineImage.prototype.onSelect=function(){_super.prototype.onSelect.call(this)};eDwRedlineImage.prototype.getClassName=function(){return"eDwRedlineImage"};eDwRedlineImage.prototype.forJson=function(){var basic=_super.prototype.forJson.call(this);return basic};eDwRedlineImage.prototype.setImage=function(iData){this.mImageSVG=new eDwSVGImage(iData,eDwTypes_15.HC.Point2.zero(),eDwTypes_15.HC.Point2.zero())};eDwRedlineImage.constructInView=function(iJSONObj,iViewer,iMarkupView){var item=new eDwRedlineImage(iViewer,eDwTypes_15.HC.Point3.zero());item.setWPoints(iJSONObj.anchors);iMarkupView.addMarkupItem(item);item.initializeId();item.setViewID(iMarkupView.getUniqueId());item.setCamera(iMarkupView.getCamera());return item};eDwRedlineImage.prototype.updateGeometry=function(){_super.prototype.updateGeometry.call(this);var p0=this.mSPoints[0];var p1=this.mSPoints[1];var diff=eDwTypes_15.HC.Point2.subtract(p0,p1);var pos=new eDwTypes_15.HC.Point2(Math.min(p0.x,p1.x),Math.min(p0.y,p1.y));var sides=new eDwTypes_15.HC.Point2(Math.abs(diff.x),Math.abs(diff.y));this.mRectangle.setPosition(pos);this.mRectangle.setSize(sides);this.mImageSVG.setPosition(pos);this.mImageSVG.setSize(sides)};eDwRedlineImage.prototype.deActivate=function(){_super.prototype.deActivate.call(this)};return eDwRedlineImage}(eDwRedlineItemBase);var eDwRedlineTextBox=function(_super){__extends(eDwRedlineTextBox,_super);function eDwRedlineTextBox(iViewer,iPoint){var _this=_super.call(this,iViewer)||this;_this.mBox=new eDwTypes_15.HC.Markup.Shape.Rectangle;_this.mTextHtml=new eDwRedlineDivText;_this.mLeader=new eDwTypes_15.HC.Markup.Shape.Line;_this.addPoint(iPoint);_this.addPoint(iPoint);return _this}eDwRedlineTextBox.prototype.draw=function(){this.updateGeometry();var renderer=this.mViewerHC.getMarkupManager().getRenderer();this.mBox.setStrokeWidth(this.getStrokeWidth());this.mBox.setStrokeColor(this.getCurColor());this.mLeader.setStrokeWidth(1);renderer.drawRectangle(this.mBox);renderer.drawLine(this.mLeader);_super.prototype.draw.call(this)};eDwRedlineTextBox.prototype.setText=function(str){this.mTextHtml.setText(str)};eDwRedlineTextBox.prototype.getText=function(){return this.mTextHtml.getText()};eDwRedlineTextBox.prototype.hit=function(iPos){var renderer=this.mViewerHC.getMarkupManager().getRenderer();var boxPos=this.mBox.getPosition();var boxSize=this.mBox.getSize();var xMin=boxPos.x;var xMax=boxPos.x+boxSize.x;var yMin=boxPos.y;var yMax=boxPos.y+boxSize.y;var A=new eDwTypes_15.HC.Point2(xMin,yMin);var B=new eDwTypes_15.HC.Point2(xMin,yMax);var C=new eDwTypes_15.HC.Point2(xMax,yMax);var D=new eDwTypes_15.HC.Point2(xMax,yMin);var w=this.mBox.getStrokeWidth();var output=false;output=output||eDwTypes_15.HCI.pointOnLineSegment2d(iPos,A,B,w);output=output||eDwTypes_15.HCI.pointOnLineSegment2d(iPos,B,C,w);output=output||eDwTypes_15.HCI.pointOnLineSegment2d(iPos,C,D,w);output=output||eDwTypes_15.HCI.pointOnLineSegment2d(iPos,D,A,w);var hitText=iPos.xxMin&&iPos.yyMin;if(hitText){this.mTextHtml.getFocus()}output=output||hitText;if(output)return true;if(-1!==this.hitEditHandle(iPos))return true;return false};eDwRedlineTextBox.prototype.getClassName=function(){return"eDwRedlineTextBox"};eDwRedlineTextBox.prototype.onDeselect=function(){_super.prototype.onDeselect.call(this);this.mTextHtml.getBlur()};eDwRedlineTextBox.prototype.activateWithId=function(id){_super.prototype.activateWithId.call(this,id);this.mTextHtml.showElement(true)};eDwRedlineTextBox.prototype.deActivate=function(){_super.prototype.deActivate.call(this);this.mTextHtml.showElement(false)};eDwRedlineTextBox.prototype.forJson=function(){var basic=_super.prototype.forJson.call(this);basic.textContent=this.getText();return basic};eDwRedlineTextBox.constructInView=function(iJSONObj,iViewer,iMarkupView){var item=new eDwRedlineTextBox(iViewer,eDwTypes_15.HC.Point3.zero());item.setWPoints(iJSONObj.anchors);iMarkupView.addMarkupItem(item);item.initializeId();item.setViewID(iMarkupView.getUniqueId());item.setCamera(iMarkupView.getCamera());item.setText(iJSONObj.textContent);return item};eDwRedlineTextBox.prototype.updateGeometry=function(){_super.prototype.updateGeometry.call(this);var p0=this.mSPoints[0];var p1=this.mSPoints[1];var diff=eDwTypes_15.HC.Point2.subtract(p0,p1);this.mLeader.setP1(p0.copy());this.mLeader.setP2(p1.copy());this.mBox.setPosition(p1.copy());this.mTextHtml.setPosition(p1.copy());var size=this.mTextHtml.getSize();this.mBox.setSize(size)};return eDwRedlineTextBox}(eDwRedlineItemBase);var eDwRedlineOperator=function(_super){__extends(eDwRedlineOperator,_super);function eDwRedlineOperator(iViewer){var _this=_super.call(this,iViewer.HCViewer)||this;_this.mPoints=[];_this.mLeaglePointNum=2;_this.mViewer=iViewer;_this.mViewerHC=_this.mViewer.HCViewer;_this.mModel=_this.mViewer.HCViewer.getModel();_this.mMarkupMode=eDwTypes_15.MarkupMode.None;return _this}eDwRedlineOperator.prototype.onMouseMove=function(iEvent){var markupMgr=this.mViewerHC.getMarkupManager();if(!this.mCurMarkup)return;var pos=iEvent.getPosition();var wpos=eDwBaseOperator.screenToWorld(iEvent.getPosition(),this.mViewerHC.getView());if(this.mCurMarkup.isTransing()){this.mCurMarkup.onTransMove(pos)}if(this.mCurMarkup.isEditing()){this.mCurMarkup.onEditMove(pos)}markupMgr.refreshMarkup()};eDwRedlineOperator.prototype.onMouseDown=function(iEvent){var pos=iEvent.getPosition();var view=this.mViewerHC.getView();var camera=this.mViewerHC.getView().getCamera();var wpos=camera.getCameraPlaneIntersectionPoint(pos,view);var markupMgr=this.mViewerHC.getMarkupManager();if(this.mCurMarkup){if(this.mCurMarkup.finialize(iEvent.getPosition())){this.mCurMarkup.onEditEnd(iEvent.getPosition());this.mCurMarkup=null;this.mViewerHC.getMarkupManager().refreshMarkup()}else{this.mCurMarkup.addPoint(wpos)}return}var pickItem=markupMgr.pickMarkupItem(iEvent.getPosition());this.mCurMarkup=pickItem;markupMgr.selectMarkup(this.mCurMarkup);var activeView=markupMgr.getActiveMarkupView();if(activeView&&this.mCurMarkup&&activeView.getUniqueId()!=this.mCurMarkup.getViewID()){this.mCurMarkup=null;markupMgr.selectMarkup(null)}if(!this.mCurMarkup){this.createItem(pos)}else{this.mCurMarkup.onSelect();this.mViewerHC.getMarkupManager().refreshMarkup();this.mCurMarkup.onTransOrEditStart(pos)}this.onItemSelected()};eDwRedlineOperator.prototype.onMouseUp=function(iEvent){if(this.mCurMarkup&&this.mCurMarkup.isTransing()){this.mCurMarkup.onTransEnd(iEvent.getPosition());this.mCurMarkup=null}};eDwRedlineOperator.prototype.onItemSelected=function(){};eDwRedlineOperator.prototype.setCurAnnotation=function(iStr){var selected=this.mViewerHC.getMarkupManager().getSelectedMarkup();if(selected&&selected instanceof eDwRedlineTextBox){selected.setText(iStr);this.mViewerHC.getMarkupManager().refreshMarkup()}};eDwRedlineOperator.prototype.getCurAnnotation=function(){if(this.mCurMarkup&&this.mCurMarkup instanceof eDwRedlineTextBox){return this.mCurMarkup.getText()}return""};eDwRedlineOperator.prototype.getClassName=function(){return"eDwMarkupRedlineOperator"};eDwRedlineOperator.prototype.setMarkupMode=function(iMode){this.mMarkupMode=iMode};eDwRedlineOperator.prototype.getMarkupMode=function(){return this.mMarkupMode};eDwRedlineOperator.activateMarkups=function(iMkView,iViewer){var markupMgr=iViewer.getMarkupManager();var markups=iMkView.getMarkup();for(var i=0;i1e3){this.onUp(ioTouchEvent.getPosition(),eDwTypes_16.HC.Button.Right)}else{this.onUp(ioTouchEvent.getPosition(),eDwTypes_16.HC.Button.Left)}ioTouchEvent.setHandled(true)}else{ioTouchEvent.setHandled(false)}}_super.prototype.onTouchEnd.call(this,ioTouchEvent)};eDwSelectionOperator.prototype.doPick=function(iCoords){var viewerFeatureOpts=this.mViewer.ViewerFeatureOpts;if(this.mViewer.getModel().isDrawing()){this.doPickInDrawing(iCoords)}else{this.doPickIn3D(iCoords)}};eDwSelectionOperator.prototype.updateCallout=function(iNodeHCID){var name="";if(iNodeHCID>0&&iNodeHCID===this.mPickedHCID){var model=this.mViewer.getModel();var hierNode=model.getHierarchyNode(iNodeHCID);name=hierNode&&hierNode.Name?hierNode.Name:"Unamed model"}if(this.mCurMouse){name=""}this.mNameCallout.setText(name);var offset=new eDwTypes_16.HC.Point2(10,20);var pos=this.mCurMousePos.copy();this.mNameCallout.setPosition(eDwTypes_16.HC.Point2.add(pos,offset));this.mViewer.HCViewer.getMarkupManager().refreshMarkup()};eDwSelectionOperator.prototype.updatePos=function(pos){return __awaiter(this,void 0,void 0,function(){var viewerHC,markupMgrHC,config,sectionMgrHC,selItem,op;return __generator(this,function(_a){switch(_a.label){case 0:this.mCurMousePos=pos.copy();viewerHC=this.mViewer.HCViewer;markupMgrHC=viewerHC.getMarkupManager();config=new eDwTypes_16.HC.PickConfig(eDwTypes_16.HC.SelectionMask.Face);sectionMgrHC=this.mViewer.XSectionMgr.HCXSectionMgr;return[4,viewerHC.getView().pickFromPoint(pos,config)];case 1:selItem=_a.sent();this.mPickedHCID=selItem?selItem.getNodeId():cUnselectableItem;op=this;setTimeout(function(){op.updateCallout(op.mPickedHCID)},1e3);return[2]}})})};eDwSelectionOperator.prototype.doPickIn3D=function(iCoords){if(!eDwKeyMgr.get().isDown("Control")){this.mViewer.SelectionMgr.select(iCoords)}else{this.mViewer.SelectionMgr.select(iCoords,undefined,eDwTypes_16.HC.SelectionMode.Add)}};eDwSelectionOperator.prototype.doPickInDrawing=function(iCoords){return __awaiter(this,void 0,void 0,function(){var viewerHC,model,modelHC,pickConfig,activeSheet,childHierarchy,children,viewIDs,i,currentNode,selItem,hierNode;return __generator(this,function(_a){switch(_a.label){case 0:viewerHC=this.mViewer.HCViewer;model=this.mViewer.getModel();modelHC=model.getHCModel();pickConfig=new eDwTypes_16.HC.PickConfig(eDwTypes_16.HC.SelectionMask.All);activeSheet=model.getActiveModelView();childHierarchy=activeSheet.Hierarchy.getChildren();children=Object.keys(childHierarchy);viewIDs=[];for(i=0;i-1){this.mViewer.SelectionMgr.selectByID(hierNode.HOOPSID)}}return[2]}})})};eDwSelectionOperator.prototype.clearPickTimeOut=function(){if(this.mDoPickTimeOutHandle){clearTimeout(this.mDoPickTimeOutHandle);this.mDoPickTimeOutHandle=null}};eDwSelectionOperator.prototype.onUp=function(iCoord,iButton){var _this=this;var eventMgr=eDwEventMgr.get();if(iButton===eDwTypes_16.HC.Button.Left){this.doPick(iCoord);if(!this.mDoPickTimeOutHandle){this.mDoPickTimeOutHandle=setTimeout(function(){_this.clearPickTimeOut();eventMgr.fireEvents("LeftClick",_this.mViewer,iCoord)},500)}else{this.clearPickTimeOut();eventMgr.fireEvents("LeftDoubleClick",this.mViewer,iCoord)}return true}else if(iButton===eDwTypes_16.HC.Button.Right){this.clearPickTimeOut();this.doPick(iCoord);eventMgr.fireEvents("RightClick",this.mViewer,iCoord);return true}return false};eDwSelectionOperator.prototype.onDown=function(iCoord,iButton){var handled=false;var isDrawing=this.mViewer.getModel().isDrawing();if(!isDrawing||isDrawing&&iButton==eDwTypes_16.HC.Button.Right){this.mDragPt=eDwBaseOperator.screenToWorld(iCoord,this.mViewer.getHCView())}else{handled=true}return handled};eDwSelectionOperator.prototype.onMove=function(iCoord){return!this.mCurMouse};return eDwSelectionOperator}(eDwBaseSelOperator);function isLeft(iP0,iP1,iP2){return(iP1.x-iP0.x)*(iP2.y-iP0.y)-(iP2.x-iP0.x)*(iP1.y-iP0.y)}return eDwSelectionOperator});define("eDwSelIsolateCmd",["require","exports","eDwTypes","eDwSupportsHistoryCmd","eDrawingsBase"],function(require,exports,eDwTypes_17,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_17.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","eDrawingsBase"],function(require,exports,eDwSelectionOperator,eDwEventMgr,eDwKeyMgr){"use strict";var eDwSelMgr=function(){function eDwSelMgr(iViewer){iViewer.SelectionMgr=this;this.mViewer=iViewer;this.mHCSelMgr=iViewer.HCViewer.getSelectionManager();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 nodeSelColor;var nodeSelOutlineColor=new Communicator.Color(0,255,0);var nodeElmtSelColor;var nodeElmtSelOutlineColor=new Communicator.Color(255,255,0);var beautifulGreen=new Communicator.Color(4,200,5);switch(mode){case Communicator.DrawMode.WireframeOnShaded:nodeSelColor=beautifulGreen;nodeElmtSelColor=beautifulGreen;break;case Communicator.DrawMode.Shaded:nodeSelColor=beautifulGreen;nodeElmtSelColor=beautifulGreen;break;case Communicator.DrawMode.Wireframe:case Communicator.DrawMode.HiddenLine:nodeSelColor=Communicator.Color.white();nodeElmtSelColor=Communicator.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(Communicator.SelectionHighlightMode.OutlineOnly);this.mHCSelMgr.setHighlightNodeSelection(false)}};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.onSelection=function(iPartSelectionEvent){var ctrlKeyDown=eDwKeyMgr.get().isDown("Control");var existingIdx=-1;var selObj=this.getHCSelectionObj(iPartSelectionEvent.getSelection());if(selObj){var idx=0;for(var _i=0,_a=this.mSelectableHCObjs;_i<_a.length;_i++){var existingSelObj=_a[_i];if(selObj===existingSelObj||selObj.equals(existingSelObj)){existingIdx=idx;break}idx++}}var isDrawing=this.mViewer.getModel().isDrawing();if(this.mSelectableHCObjs.length>0&&!ctrlKeyDown){this.unSelectObjs(this.mSelectableHCObjs,isDrawing);this.mSelectableHCObjs=[]}else if(ctrlKeyDown&&existingIdx>-1&&selObj){this.mSelectableHCObjs.splice(existingIdx,1);this.unSelectObjs([selObj],isDrawing);return}if(selObj){var modelView=this.mViewer.getModel().getActiveModelView();var node=modelView.Nodes[selObj.getNodeId()];if(node&&isDrawing){this.mHCSelMgr.remove(selObj);node.selectBoundingBox(this.mViewer)}this.mSelectableHCObjs.push(selObj);eDwEventMgr.get().fireEvents("Select",this.mViewer,selObj)}};eDwSelMgr.prototype.selectByID=function(iID){var ret=true;try{if(!eDwKeyMgr.get().isDown("Control")){this.mHCSelMgr.selectNode(iID)}else{this.mHCSelMgr.selectNode(iID,Communicator.SelectionMode.Add)}}catch(iErr){console.log("eDwSelMgr.selectByID failed");ret=false}return ret};eDwSelMgr.prototype.select=function(iCoords,iPickConfig,iSelMode){var _this=this;if(iSelMode===void 0){iSelMode=Communicator.SelectionMode.Set}var pickCfg=iPickConfig?iPickConfig:new Communicator.PickConfig(Communicator.SelectionMask.Face);var viewHC=this.mViewer.getHCView();(function(){return __awaiter(_this,void 0,void 0,function(){var selItem;return __generator(this,function(_a){switch(_a.label){case 0:return[4,viewHC.pickFromPoint(iCoords,pickCfg)];case 1:selItem=_a.sent();if(this.isSelectionHandled(selItem)){return[2]}if(iSelMode===Communicator.SelectionMode.Set){this.mHCSelMgr.set(selItem)}else if(iSelMode===Communicator.SelectionMode.Add){this.mHCSelMgr.add(selItem)}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(){if(this.mSelectableHCObjs.length>0){var viewer=this.mViewer;var selMgr=this;for(var _i=0,_a=this.mSelectableHCObjs;_i<_a.length;_i++){var selObj=_a[_i];eDwEventMgr.get().fireEvents("Unselect",viewer,selMgr.getHCSelectionObj(selObj))}this.mHCSelMgr.selectNode(null);this.mSelectableHCObjs=[]}};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;_i0){this.mFiveArea=this.mFiveArea/(curLevel/2+1)}};eDwTouchExplodeOperator.prototype.onTouchMove=function(ioTouchEvent){_super.prototype.onTouchMove.call(this,ioTouchEvent);var area=this.getTouchArea();if(this.mFiveArea>0){var curLevel=this.mViewer.getExplosionLevel();var ratio=area/this.mFiveArea;var nxtLevel=2*(ratio-1);nxtLevel=Math.min(nxtLevel,10);nxtLevel=Math.max(nxtLevel,0);this.mExplodeCmd.setLevel(nxtLevel)}};eDwTouchExplodeOperator.prototype.onTouchEnd=function(ioTouchEvent){eDwCommandMgr.get().remove(this.mExplodeCmd,"commit");this.mExplodeCmd=null;this.mFiveArea=0;_super.prototype.onTouchEnd.call(this,ioTouchEvent)};eDwTouchExplodeOperator.prototype.getTouchArea=function(){var coords=[];for(var i=0;ioutput)output=temp}}}return output};eDwTouchExplodeOperator.prototype.circleArea=function(p0,p1,p2){var center=eDwTypes_19.HC.Point2.add(p0,eDwTypes_19.HC.Point2.add(p1,p2));center.scale(1/3);var r=eDwTypes_19.HC.Point2.subtract(p0,center).length();return r*r};return eDwTouchExplodeOperator}(eDwBaseOperator);function isLeft(iP0,iP1,iP2){return(iP1.x-iP0.x)*(iP2.y-iP0.y)-(iP2.x-iP0.x)*(iP1.y-iP0.y)}var eDwTouchUtils=function(_super){__extends(eDwTouchUtils,_super);function eDwTouchUtils(iVewer){var _this=_super.call(this)||this;_this.mViewer=iVewer;_this.mViewerHC=iVewer.HCViewer;return _this}eDwTouchUtils.prototype.draw=function(){var renderer=this.mViewerHC.getMarkupManager().getRenderer();renderer.drawPolygon(this.mTouchPolygon);renderer.drawPolygon(this.mConvex);for(var _i=0,_a=this.mTouchPoss;_i<_a.length;_i++){var c=_a[_i];renderer.drawCircle(c)}};eDwTouchUtils.prototype.getTouchArea=function(iPoss){this.mTouchPoss=[];this.mTouchPolygon=new eDwTypes_19.HC.Markup.Shape.Polygon;this.mTouchPolygon.setFillOpacity(0);this.mTouchPolygon.setStrokeColor(eDwTypes_19.HC.Color.blue());this.mTouchPolygon.setStrokeWidth(2);for(var _i=0,iPoss_1=iPoss;_i=0;i--){if(iPoss[i].x!=xmax)break}maxmin=i+1;h[++top]=iPoss[minmin];i=minmax;while(++i<=maxmin){if(isLeft(iPoss[minmin],iPoss[maxmin],iPoss[i])>=0&&i0){if(isLeft(h[top-1],h[top],iPoss[i])>0){break}else{top--}}h[++top]=iPoss[i]}if(maxmax!=maxmin){h[++top]=iPoss[maxmax]}bot=top;i=maxmin;while(--i>=minmax){if(isLeft(iPoss[maxmax],iPoss[minmax],iPoss[i])>=0&&i>minmax){continue}while(top>bot){if(isLeft(h[top-1],h[top],iPoss[i])>0){break}else{top--}}if(iPoss[i].x==h[0].x&&iPoss[i].y==h[0].y){return h}h[++top]=iPoss[i]}if(minmax!=minmin){h[++top]=iPoss[minmin]}return h};eDwTouchUtils.convexArea=function(iPoss){if(iPoss.length<4)return 0;var n=iPoss.length;var area=0;for(var i=1;i1){var configTabBar=$("#edrawings-config-bar");var configTabList=$("#edrawings-config-tab-list");var configNavButton=$("#edrawings-button-sheets");if(configTabList[0].scrollWidth>configTabBar.width()){eDwUIUtils.hide("#edrawings-button-sheets",true);configTabList.removeClass("fullwidth");configTabList.addClass("compressed")}else{eDwUIUtils.hide("#edrawings-button-sheets",true);configTabList.removeClass("compressed");configTabList.addClass("fullwidth")}}};eDwUI.prototype.hideAllPanels=function(){this.hideActiveHUDMenu();this.hideActiveSubmenu();this.mUIEventHandlers.hideContextMenu()};eDwUI.changeStyle=function(iStyleClassName){var eDwViewerJQ=$("#"+l_ViewerID);if(eDwViewerJQ){eDwViewerJQ.removeClass("edrawings-viewer-regular");eDwViewerJQ.removeClass("edrawings-viewer-ondrop");eDwViewerJQ.removeClass("edrawings-viewer-dropsuccess");eDwViewerJQ.removeClass("edrawings-viewer-dropfail");eDwViewerJQ.removeClass("edrawings-viewer-timeout");if(iStyleClassName)eDwViewerJQ.addClass(iStyleClassName)}var eDwDropDiv=$("#edrawings-drop-block");if(eDwDropDiv&&(iStyleClassName==="edrawings-viewer-ondrop"||iStyleClassName==="edrawings-viewer-regular")){eDwDropDiv.removeClass("edrawings-viewer-regular");eDwDropDiv.removeClass("edrawings-viewer-ondrop");eDwDropDiv.addClass(iStyleClassName)}};eDwUI.prototype.registerHTMLEvents=function(){var _this=this;this.mUIEventHandlers.addHTMLEventHandlers(this.mViewerFeatureOpts);this.mResizeProxy=function(iEvent){_this.mUIEventHandlers.onResize(iEvent,_this.mViewer)};window.addEventListener("resize",this.mResizeProxy,true);this.mBeforeUnloadProxy=function(iEvent){_this.unregister()};window.addEventListener("beforeunload",this.mBeforeUnloadProxy,true);this.mTimeoutProxy=function(iEvent){_this.unregister()};window.addEventListener("Timeout",this.mTimeoutProxy,true);this.mAddViewerEventsHandler=function(iEvent,iViewer){eDwUIBaseEventHandlers.addViewerEventHandlers(_this.mUIEventHandlers)};$("#"+l_ViewerID).on("edw:AddViewerEvents",this.mAddViewerEventsHandler);var self=this;if(this.mViewerFeatureOpts.Move){$("#edrawings-button-move").on("click.edw",function(){var moveBtn=$("#edrawings-button-move");var isMoveActive=moveBtn.hasClass("active-button");_this.hideAllPanels();if(!isMoveActive){_this.setActiveSubmenu("edrawings-button-move","")}});this.mItemActiveCallbacks["edrawings-button-move"]=function(){activateMoveMode_1(true)};this.mItemDeactiveCallbacks["edrawings-button-move"]=function(){activateMoveMode_1(false)};var activateMoveMode_1=function(iActivate){var moveBtn=$("#edrawings-button-move");if(iActivate){moveBtn.addClass("active-button");self.mViewer.CompXformMgr.activateMoveOp();$("#edrawings-canvas")[0].style.cursor="pointer"}else{moveBtn.removeClass("active-button");moveBtn.removeClass("active-button-bottom-cover");self.mViewer.CompXformMgr.deactivateMoveOp();$("#edrawings-canvas")[0].style.cursor="default"}}}if(this.mViewerFeatureOpts.Section){$("#edrawings-button-section").on("click.edw",function(){if(!_this.mViewer.getModel().isDrawing()){_this.setActiveSubmenu("edrawings-button-section","edrawings-section-menu")}});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(){_this.setXSectionOrientation(eDwTypes_21.SectionPlaneOrientation.ZX)});$("#edrawings-section-yz-button").on("click.edw",function(){_this.setXSectionOrientation(eDwTypes_21.SectionPlaneOrientation.YZ)});$("#edrawings-section-xy-button").on("click.edw",function(){_this.setXSectionOrientation(eDwTypes_21.SectionPlaneOrientation.XY)});$("#edrawings-section-capping-button").on("click.edw",function(){var button=$("#edrawings-section-capping-button");var visibility=!button.hasClass("active-button");_this.showSectionCaps(visibility)});this.mSubmenuShownCallbacks["edrawings-section-menu"]=function(){_this.mCompositeXSectionCmd=new eDwCompositeCmd(_this.mViewer);eDwCommandMgr.get().add(_this.mCompositeXSectionCmd);_this.mCompositeXSectionCmd.initCmdActionImplementation({compositeInit:function(ioCmd){},compositeUndo:function(ioCmd){return true},compositeRedo:function(ioCmd){return true},compositeCommit:function(ioCmd){ioCmd.clearSubCmds()},compositeCancel:function(ioCmd){ioCmd.clearSubCmds()}});_this.mViewer.XSectionMgr.turnOnSectionPlane(true);_this.setXSectionOrientation();_this.mViewer.XSectionMgr.activateCurrent()};this.mSubmenuHiddenCallbacks["edrawings-section-menu"]=function(){_this.mViewer.XSectionMgr.deactivateCurrent();_this.mViewer.XSectionMgr.turnOnSectionPlane(false);var cmdMgr=eDwCommandMgr.get();cmdMgr.remove(_this.mCompositeXSectionCmd,"cancel");var explodeHandle=$("#edrawings-explode-slider .ui-slider-handle");explodeHandle.off("touchmove.edw");explodeHandle.off("touchstart.edw");explodeHandle.off("touchend.edw")}}if(this.mViewerFeatureOpts.AR&&this.mViewerFeatureOpts.Exp){$("#edrawings-button-AR").on("click.edw",function(){var mgrAR=_this.ARMgr;var video=document.querySelector("#webcam");var canvasAR=document.querySelector("#arcanvas");var btnAR=$("#edrawings-button-AR");var isARActive=btnAR.hasClass("active-button");if(isARActive){$(video).css("visibility","visible");$(canvasAR).css("visibility","visible");_this.setActiveSubmenu("edrawings-button-AR","edrawings-section-AR");if(mgrAR)mgrAR.startAR(video,canvasAR)}else{if(mgrAR)mgrAR.stopAR(video,canvasAR);$(video).css("visibility","hidden");$(canvasAR).css("visibility","hidden");_this.hideAllPanels()}})}$("#edrawings-button-configurations").on("click.edw",function(){togglePanel("edrawings-button-configurations","edrawings-configurations-menu",".edw.config",_this.mUIEventHandlers)});this.mSubmenuHiddenCallbacks["edrawings-configurations-menu"]=function(){eDwUIUtils.deactivateMoveInput(".edw.config")};if(this.mViewerFeatureOpts.Tree){$("#edrawings-button-component-tree").on("click.edw",function(){togglePanel("edrawings-button-component-tree","edrawings-component-tree-menu",".edw.tree",_this.mUIEventHandlers);_this.mUIEventHandlers.updateComponentCount(_this.mViewer)});this.mSubmenuHiddenCallbacks["edrawings-component-tree-menu"]=function(){eDwUIUtils.deactivateMoveInput(".edw.tree")}}if(this.mViewerFeatureOpts.Tabs){$("#edrawings-button-confignav").on("click.edw",function(){var button=$("#edrawings-button-confignav");if(!button.hasClass("active-button")){_this.setActiveSubmenu("edrawings-button-confignav","edrawings-config-navigation")}else{_this.hideAllPanels()}});$(document).on("click.edw","#edrawings-config-navigation .edrawings-submenu-list-item",function(iEvent){var modelViewName=eDwUIUtils.getSpanText($(iEvent.target));if(!modelViewName)return;var activeModelView=_this.mViewer.getModel().getActiveModelView();if(modelViewName===activeModelView.Name)return;activateModelView(_this.mViewer,modelViewName,_this.mViewer.getInitCamera())});$(document).on("click.edw","#edrawings-config-bar .edrawings-config-tab",function(iEvent){var target=eDwUIUtils.getTarget($(iEvent.target));if(target.hasClass("active-modelview")){return}var modelViewName=eDwUIUtils.getSpanText($(iEvent.target));if(!modelViewName)return;activateModelView(_this.mViewer,modelViewName,_this.mViewer.getInitCamera())});$(document).on("mouseover.edw","#edrawings-config-bar .edrawings-config-tab",function(iEvent){var leaveEarly=true;if(leaveEarly)return;var modelViewName=eDwUIUtils.getSpanText($(iEvent.target));if(!modelViewName)return;var model=_this.mViewer.getModel();var modelView=model.getModelView(modelViewName);var imagePath=modelView.getPreviewImagePath();if(imagePath==="")return;var target=eDwUIUtils.getTarget($(iEvent.target));var offset={left:target.offset().left,top:target.parent().offset().top};var x=offset.left,y=offset.top;var canvasWidth=$("#"+l_CanvasID).width();var img=$("#edrawings-preview-img");img.attr("src",imagePath);var wImg=img.width(),hImg=img.height();var wTab=target.width(),hTab=target.height();var adjust={x:0,y:8};var xImg=x+wTab/2-wImg/2;var yImg=y-hImg-adjust.y;xImg=Math.min(xImg,canvasWidth-wImg);xImg=Math.max(0,xImg);var wnd=$("#edrawings-preview-window");wnd.css({width:wImg+"px",height:hImg+"px"});wnd.css({top:yImg+"px",left:xImg+"px"});eDwUIUtils.hide("#edrawings-preview-window",false)});$(document).on("mouseout.edw","#edrawings-config-bar .edrawings-config-tab",function(iEvent){eDwUIUtils.hide("#edrawings-preview-window",true)})}if(this.mViewerFeatureOpts.Annot){$("#edrawings-button-annot-control").on("click.edw",function(){togglePanel("edrawings-button-annot-control","edrawings-annot-control-menu",".edw.annot",_this.mUIEventHandlers)});this.mSubmenuHiddenCallbacks["edrawings-annot-control-menu"]=function(){eDwUIUtils.deactivateMoveInput(".edw.annot")}}$("#edrawings-button-tables-control").on("click.edw",function(){togglePanel("edrawings-button-tables-control","edrawings-tables-menu",".edw.tables",_this.mUIEventHandlers)});this.mSubmenuHiddenCallbacks["edrawings-tables-menu"]=function(){eDwUIUtils.deactivateMoveInput(".edw.tables")};if(this.mViewerFeatureOpts.Debug){$("#edrawings-button-debug").on("click.edw",function(){togglePanel("edrawings-button-debug","edrawings-debug-menu",".edw.debug",_this.mUIEventHandlers);_this.mUIEventHandlers.updateComponentCount(_this.mViewer)})}var keyMgr=eDwKeyMgr.get();if(this.mViewerFeatureOpts.Exp){keyMgr.add({key:"z",ctrlKey:true},"keydown",function(iEvent){eDwHistoryMgr.get().undo()});keyMgr.add({key:"y",ctrlKey:true},"keydown",function(iEvent){eDwHistoryMgr.get().redo()})}if(this.mViewerFeatureOpts.Explode){$("#edrawings-button-explode").on("click.edw",function(){var cmdMgr=eDwCommandMgr.get();if(_this.setActiveSubmenu("edrawings-button-explode","edrawings-explode-menu")){_this.mCompositeExplodeCmd=new eDwCompositeCmd(_this.mViewer);cmdMgr.add(_this.mCompositeExplodeCmd);_this.mCompositeExplodeCmd.initCmdActionImplementation({compositeInit:function(ioCmd){ioCmd.InitialState=_this.mViewer.getExplosionLevel()},compositeUndo:function(ioCmd){ioCmd.undoSubCmds();_this.mViewer.setExplosionLevel(ioCmd.InitialState);return true},compositeRedo:function(ioCmd){ioCmd.redoSubCmds();_this.mViewer.setExplosionLevel(ioCmd.FinalState);return true},compositeCommit:function(ioCmd){ioCmd.FinalState=_this.mViewer.getExplosionLevel()},compositeCancel:function(ioCmd){ioCmd.FinalState=ioCmd.InitialState=undefined}})}else{cmdMgr.remove(_this.mCompositeExplodeCmd,"commit");_this.mCompositeExplodeCmd=null}});this.mSubmenuShownCallbacks["edrawings-explode-menu"]=function(){var cmdMgr=eDwCommandMgr.get();function start(iUI){iUI.mExplodeCmd=new eDwExplodeCmd(iUI.mViewer);cmdMgr.add(iUI.mExplodeCmd)}function stop(iUI){cmdMgr.remove(iUI.mExplodeCmd,"commit");iUI.mExplodeCmd=null}function setLevel(iLevel){start(this);this.mExplodeCmd.setLevel(iLevel);stop(this)}var viewer=_this.mViewer;var explodeSlider=$("#edrawings-explode-slider");try{explodeSlider.slider("option")}catch(iException){explodeSlider.slider({orientation:"vertical",range:"min",min:0,max:10,step:.1,value:viewer.getExplosionLevel(),slide:function(iEvent,iSliderParams){_this.mExplodeCmd.setLevel(iSliderParams.value)},start:function(iEvent,iUI){start(_this)},stop:function(iEvent,iUI){stop(_this)}});$("#edrawings-explode-up").on("click.edw",function(){setLevel(10)});$("#edrawings-explode-down").on("click.edw",function(){setLevel(0)});if(_this.mViewer.ViewerFeatureOpts.Exp){var explodeHandle=$("#edrawings-explode-slider .ui-slider-handle");explodeHandle.on("touchmove.edw",function(iEvent){var total=explodeSlider.width();var touchEvent=iEvent.originalEvent;if(!(touchEvent instanceof TouchEvent))return;var xPos=touchEvent.touches[0].clientX;var val=10*(xPos-60)/total;val=val>1?1:val;val=val<0?0:val;explodeSlider.slider("value",val);_this.mExplodeCmd.setLevel(val)});explodeHandle.on("touchstart.edw",function(iEvent){start(_this)});explodeHandle.on("touchend.edw",function(iEvent){stop(_this)})}}};this.mSubmenuHiddenCallbacks["edrawings-explode-menu"]=function(){}}if(this.mViewerFeatureOpts.Measure){$("#edrawings-button-measure").on("click.edw",function(){_this.setActiveSubmenu("edrawings-button-measure","edrawings-measure-menu");eDwUIUtils.syncMeasureModeUI(_this.mViewer.MeasureMgr)});this.mSubmenuShownCallbacks["edrawings-measure-menu"]=function(){_this.mViewer.MeasureMgr.activateMeasure(_this.mViewer.MeasureMgr.getMeasureMode())};this.mSubmenuHiddenCallbacks["edrawings-measure-menu"]=function(){_this.mViewer.MeasureMgr.deactivateMeasure()}}if(this.mViewerFeatureOpts.Markup){$("#edrawings-button-markup").on("click.edw",function(){_this.setActiveSubmenu("edrawings-button-markup","edrawings-markup-menu");eDwUIUtils.syncMarkupModeUI(_this.mViewer.MarkupMgr)});this.mSubmenuShownCallbacks["edrawings-markup-menu"]=function(){_this.mViewer.MarkupMgr.activateMarkup()};this.mSubmenuHiddenCallbacks["edrawings-markup-menu"]=function(){_this.mViewer.MarkupMgr.deactivateMarkup()}}$("#edrawings-button-reset").on("click.edw",function(){var resetCmd=new eDwResetCmd(_this.mViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(resetCmd);cmdMgr.remove(resetCmd,"commit");_this.hideAllPanels();$("#edrawings-button-reset").addClass("active-button");window.setTimeout(function(){$("#edrawings-button-reset").removeClass("active-button")},1e3)});$("#edrawings-button-zoomtofit").on("click.edw",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");$("#edrawings-button-zoomtofit").addClass("active-button");window.setTimeout(function(){$("#edrawings-button-zoomtofit").removeClass("active-button")},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")});$("#edrawings-button-animate").on("click.edw",function(){var animateCmd=new eDwAnimateCmd(_this.mViewer);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(animateCmd);cmdMgr.remove(animateCmd,"commit")});$("#edrawings-button-frame-file-open").on("click.edw",function(){_this.hideActiveHUDMenu()});$("#edrawings-button-view").on("click.edw",function(){_this.setActiveHUDMenu("edrawings-button-view","edrawings-hud-view-menu")});$("#edrawings-button-help").on("click.edw",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-button-controls").on("click.edw",function(){_this.setActiveHUDMenu("edrawings-button-controls","edrawings-hud-controls-menu")});$("#edrawings-button-zoom").on("click.edw",function(){_this.setActiveHUDMenu("edrawings-button-zoom","edrawings-hud-zoom-menu")});$("#edrawings-button-shaded").on("click.edw",function(){_this.setActiveHUDMenu("edrawings-button-shaded","edrawings-hud-shaded-menu")});$("#edrawings-sheets-foreward").on("click.edw",function(){var model=_this.mViewer.getModel();var currModelView=model.getActiveModelView();var modelViews=model.getModelViews();var curTab=l_getTabIndexOut(model,"right");var nxtIdx=0;if(curTab.Pos<0){nxtIdx=curTab.Idx-1}else{nxtIdx=curTab.Idx}if(nxtIdx>modelViews.length-1){nxtIdx=modelViews.length-1}if(nxtIdx<0)nxtIdx=0;pageConfigTab(modelViews[nxtIdx].Name,"right")});$("#edrawings-sheets-backward").on("click.edw",function(){var model=_this.mViewer.getModel();var modelViews=model.getModelViews();var curTab=l_getTabIndexOut(model,"left");var prvIdx=curTab.Idx-1;if(prvIdx>modelViews.length-1){prvIdx=modelViews.length-1}if(prvIdx<0)prvIdx=0;pageConfigTab(modelViews[prvIdx].Name,"left")});function togglePanel(iButtonID,iPanelID,iInputEventIDSuffix,iHandlers){if(self.setActiveSubmenu(iButtonID,iPanelID)){eDwUIUtils.activatePanelResizeInput("#"+iPanelID,iInputEventIDSuffix,iHandlers)}else{eDwUIUtils.deactivateMoveInput(iInputEventIDSuffix)}}$("#edrawings-button-sheet-tree").on("click.edw",function(){togglePanel("edrawings-button-sheet-tree","edrawings-sheet-tree-menu",".edw.sheet",_this.mUIEventHandlers)});$("#edrawings-button-layer-control").on("click.edw",function(){togglePanel("edrawings-button-layer-control","edrawings-layer-control-menu",".edw.layer",_this.mUIEventHandlers)});keyMgr.add({key:"F11"},"keydown",function(iEvent){iEvent.preventDefault();_this.toggleFullScreen();iEvent.stopPropagation()});$("#edrawings-button-view-settings").on("click.edw",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.mSubmenuHiddenCallbacks["edrawings-sheet-tree-menu"]=function(){eDwUIUtils.deactivateMoveInput(".edw.sheet")};this.mSubmenuHiddenCallbacks["edrawings-layer-control-menu"]=function(){eDwUIUtils.deactivateMoveInput(".edw.layer")};this.registerButtonForClickEffect("edrawings-button-view-top",function(){_this.setViewOrientation(eDwTypes_20.HC.ViewOrientation.Top)});this.registerButtonForClickEffect("edrawings-button-view-bottom",function(){_this.setViewOrientation(eDwTypes_20.HC.ViewOrientation.Bottom)});this.registerButtonForClickEffect("edrawings-button-view-left",function(){_this.setViewOrientation(eDwTypes_20.HC.ViewOrientation.Left)});this.registerButtonForClickEffect("edrawings-button-view-right",function(){_this.setViewOrientation(eDwTypes_20.HC.ViewOrientation.Right)});this.registerButtonForClickEffect("edrawings-button-view-front",function(){_this.setViewOrientation(eDwTypes_20.HC.ViewOrientation.Front)});this.registerButtonForClickEffect("edrawings-button-view-back",function(){_this.setViewOrientation(eDwTypes_20.HC.ViewOrientation.Back)});this.registerButtonForClickEffect("edrawings-button-view-iso",function(){_this.setViewOrientation(eDwTypes_20.HC.ViewOrientation.Iso)})};eDwUI.prototype.unregisterHTMLEvents=function(){this.mUIEventHandlers.removeHTMLEventHandlers();window.removeEventListener("resize",this.mResizeProxy,true);window.removeEventListener("beforeunload",this.mBeforeUnloadProxy,true);window.removeEventListener("Timeout",this.mTimeoutProxy,true);$("#"+l_ViewerID).off("edw:AddViewerEvents",this.mAddViewerEventsHandler);$("#edrawings-button-reset").off("click.edw");$("#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-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-section").off("click.edw");$("#edrawings-button-AR").off("click.edw");$("#edrawings-button-animate").off("click.edw");$("#edrawings-button-view").off("click.edw");$("#edrawings-button-help").off("click.edw");$("#edrawings-button-controls").off("click.edw");$("#edrawings-button-zoom").off("click.edw");$("#edrawings-button-shaded").off("click.edw");$("#edrawings-button-configurations").off("click.edw");$("#edrawings-button-sheets").off("click.edw");$("#edrawings-button-component-tree").off("click.edw");$("#edrawings-button-debug").off("click.edw");$("#edrawings-button-sheet-tree").off("click.edw");$("#edrawings-button-layer-control").off("click.edw");$("#edrawings-button-annot-control").off("click.edw");$("#edrawings-button-tables-control").off("click.edw");$("#edrawings-button-move").off("click.edw");$("#edrawings-button-confignav").off("click.edw");$("#edrawings-button-frame-file-open").off("click.edw");$(document).off(l_fullScreenChange);$(document).off("click.edw");$(document).off("mousedown.edw");$(document).off("dblclick.edw");$("#edrawings-button-explode").off("click.edw");$("#edrawings-button-measure").off("click.edw");$("#edrawings-button-markup").off("click.edw");$("#edrawings-button-view-settings").off("click.edw");$("#edrawings-button-view-ambient-occlusion").off("click.edw");$("#edrawings-button-view-perspective").off("click.edw");$("#edrawings-sheets-foreward").off("click.edw");$("#edrawings-sheets-backward").off("click.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,iMenuId){var active=$(".edrawings-tool-button.active-button");this.hideAllPanels();if(active.length>0&&active.attr("id")===iButtonID)return false;eDwUIUtils.hide("#"+iMenuId,false).addClass("active");var button=$("#"+iButtonID);button.addClass("active-button");if(this.mItemActiveCallbacks[iButtonID]){this.mItemActiveCallbacks[iButtonID].call()}if(iMenuId==="edrawings-section-menu"||iMenuId==="edrawings-explode-menu"||iMenuId==="edrawings-measure-menu"||iMenuId==="edrawings-configurations-menu"||iMenuId==="edrawings-component-tree-menu"||iMenuId==="edrawings-debug-menu"||iMenuId==="edrawings-sheet-tree-menu"||iMenuId==="edrawings-layer-control-menu"||iMenuId==="edrawings-annot-control-menu"||iMenuId==="edrawings-tables-menu"){button.addClass("active-button-top-cover")}if(this.mSubmenuShownCallbacks[iMenuId]){this.mSubmenuShownCallbacks[iMenuId].call()}return true};eDwUI.prototype.hideActiveSubmenu=function(){var active=$(".edrawings-tool-button.active-button");if(active.length>0){var menuId=$(".edrawings-submenu.active").attr("id");eDwUIUtils.hide("#"+menuId,true).removeClass("active");var edw=$(".active-button");var button=$("#"+edw[0].id);button.removeClass("active-button");if(this.mItemDeactiveCallbacks[edw[0].id]){this.mItemDeactiveCallbacks[edw[0].id].call()}if(button.hasClass("active-button-top-cover")){button.removeClass("active-button-top-cover")}if(this.mSubmenuHiddenCallbacks[menuId]){this.mSubmenuHiddenCallbacks[menuId].call()}}};eDwUI.prototype.centerBottomBar=function(iWidth,iHeight){var edwbar=$(".tool-bar");var h=52;var b=52;edwbar.css({height:"auto"});var bar=$(".tool-bar");var viewerElem=$("#"+l_ViewerID);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.hideViewer=function(){var activeID="#"+l_ViewerID;var active=$(activeID);if(active.length>0){active.removeClass("active");eDwUIUtils.hide(activeID,true)}eDwUIUtils.hide("#list",true)};eDwUI.prototype.setActiveHUDMenu=function(iButtonID,iMenuID){var active=$(".edrawings-hud-button.active-button");this.hideActiveHUDMenu();if(active.length>0&&active.attr("id")===iButtonID)return;var button=$("#"+iButtonID);button.addClass("active-button");var menu=$("#"+iMenuID);if(iButtonID==="edrawings-button-help"){var w=window.innerWidth;var h=window.innerHeight;menu.css({left:(w-279)/2+"px",top:(h-251)/2+"px"})}else{var offset=button.offset();var posx=offset.left;var posy=offset.top+button.height();var W=$("#edrawings-canvas").width();var w=menu.width();if(posx+w>W)posx=W-w-10;menu.css({top:posy+"px",left:posx+"px"});button.addClass("active-button-bottom-cover")}menu.addClass("active");eDwUIUtils.hide("#"+iMenuID,false);if(this.mSubmenuShownCallbacks[iMenuID]){this.mSubmenuShownCallbacks[iMenuID].call()}};eDwUI.prototype.hideActiveHUDMenu=function(){var active=$(".edrawings-hud-button.active-button");var menu=$("#edrawings-hud-help-menu");menu.removeClass("active");eDwUIUtils.hide("#edrawings-hud-help-menu",true);if(active.length>0){var button=$("#"+active[0].id);button.removeClass("active-button");if(button.hasClass("active-button-bottom-cover")){button.removeClass("active-button-bottom-cover")}eDwUIUtils.hide(".edrawings-hud-menu.active",true).remove("active")}};eDwUI.prototype.changeMouseCursor=function(iArg){var elemID="";if(iArg==="pan")elemID="#edrawings-custom-cursor-pan";else if(iArg==="zoom")elemID="#edrawings-custom-cursor-zoom";else if(iArg==="rotate")elemID="#edrawings-custom-cursor-rotate";eDwUIUtils.hide("#edrawings-custom-cursor-pan",true);eDwUIUtils.hide("#edrawings-custom-cursor-zoom",true);eDwUIUtils.hide("#edrawings-custom-cursor-rotate",true);eDwUIUtils.hide("#edrawings-custom-cursor-pan",true);eDwUIUtils.hide("#edrawings-custom-cursor-zoom",true);eDwUIUtils.hide("#edrawings-custom-cursor-rotate",true);$(document).off("mouseenter","#edrawings-canvas");$(document).off("mouseout","#edrawings-canvas");$(document).off("mousemove","#edrawings-canvas");if(iArg==="select"){$("#edrawings-canvas").css("cursor","default");return}$("#edrawings-canvas").css("cursor","none");$(document).on("mouseenter","#edrawings-canvas",function(){eDwUIUtils.hide(elemID,false);return false});$(document).on("mouseout","#edrawings-canvas",function(){if(elemID)eDwUIUtils.hide(elemID,true);return false});$(document).on(["mousemove"],"#edrawings-canvas",function(iEvent){if(elemID){$(elemID).css("left",iEvent.clientX).css("top",iEvent.clientY)}return false})};eDwUI.prototype.registerButtonForClickEffect=function(iButtonID,iHandler){var but=$("#"+iButtonID);but.on("mousedown.edw",function(){but.addClass("edrawings-on-state")});but.on("mouseup.edw",function(){but.removeClass("edrawings-on-state");iHandler()})};eDwUI.prototype.unregisterButtonForClickEffect=function(iButtonID){var but=$("#"+iButtonID);but.off("mousedown.edw");but.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.showSectionCaps=function(iShow){var showCapsCmd=new eDwShowSectionCapCmd(this.mViewer,iShow);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(showCapsCmd);cmdMgr.remove(showCapsCmd,"commit");var sectionCapVisibility=this.mViewer.XSectionMgr.SectionCapVisibility;var button=$("#edrawings-section-capping-button");if(iShow&&!button.hasClass("active-button")){button.addClass("active-button")}else if(!iShow&&button.hasClass("active-button")){button.removeClass("active-button")}};eDwUI.prototype.setXSectionOrientation=function(iNewSection){function setActive(buttonID,isActive){if(isActive&&!$(buttonID).hasClass("active-button")){$(buttonID).addClass("active-button")}else if(!isActive&&$(buttonID).hasClass("active-button")){$(buttonID).removeClass("active-button")}}var sectionMgr=this.mViewer.XSectionMgr;var sectionIndex=iNewSection?iNewSection.Index:sectionMgr.SectionIndex;var planeFromEnum=null;switch(sectionIndex){case eDwTypes_21.SectionPlaneOrientation.YZ.Index:setActive("#edrawings-section-xy-button",false);setActive("#edrawings-section-yz-button",true);setActive("#edrawings-section-xz-button",false);planeFromEnum=eDwTypes_21.SectionPlaneOrientation.YZ;break;case eDwTypes_21.SectionPlaneOrientation.ZX.Index:setActive("#edrawings-section-xy-button",false);setActive("#edrawings-section-yz-button",false);setActive("#edrawings-section-xz-button",true);planeFromEnum=eDwTypes_21.SectionPlaneOrientation.ZX;break;case eDwTypes_21.SectionPlaneOrientation.XY.Index:eDwUIUtils.hide("#edrawings-section-xy-button-on",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_21.SectionPlaneOrientation.XY;break;default:console.debugLog("UI","Unsupported section plane orientation");break}var origPlaneEnum=null;if(sectionIndex!==sectionMgr.SectionIndex){switch(sectionMgr.SectionIndex){case eDwTypes_21.SectionPlaneOrientation.YZ.Index:origPlaneEnum=eDwTypes_21.SectionPlaneOrientation.YZ;break;case eDwTypes_21.SectionPlaneOrientation.ZX.Index:origPlaneEnum=eDwTypes_21.SectionPlaneOrientation.ZX;break;case eDwTypes_21.SectionPlaneOrientation.XY.Index:origPlaneEnum=eDwTypes_21.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-menu-close").on("click.edw",function(){_this.mUI.hideAllPanels()})};UIEventHandlers.prototype.removeHTMLEventHandlers=function(){_super.prototype.removeHTMLEventHandlers.call(this);$(".edrawings-menu-close").off("click.edw")};UIEventHandlers.removeViewerEventHandlers=function(){eDwUIBaseEventHandlers.removeViewerEventHandlers()};UIEventHandlers.prototype.onResize=function(iEvent,iViewer){this.mUI.adjustTabs()};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");if($("#edrawings-button-AR-w .active-button").length===0){$("#edrawings-canvas-canvas-container").css({"background-color":"white"})}}else{$("#edrawings-button-fs").removeClass("edrawings-button-fs-restore");$("#edrawings-canvas-canvas-container").css({"background-color":""})}};UIEventHandlers.prototype.onInit=function(iViewer){this.removeHTMLEventHandlers();this.addHTMLEventHandlers(iViewer.ViewerFeatureOpts);var viewerFeatureOpts=iViewer.ViewerFeatureOpts;var model=iViewer.getModel();var modelViews=iViewer.getModel().getModelViews();eDwUIUtils.hide("#edrawings-button-measure",!viewerFeatureOpts.Measure);var measureButton=$("#edrawings-button-measure");if(viewerFeatureOpts.Measure){if(!measureButton.hasClass("disabled-button")){measureButton.addClass("disabled-button")}if(model.getMeasureable()){$("#edrawings-button-measure").removeClass("disabled-button")}}var isDrawing=model.isDrawing();var isAssembly=model.isAssembly();eDwUIUtils.hide("edrawings-button-AR-g",true);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||!viewerFeatureOpts.Section);eDwUIUtils.hide("#edrawings-button-debug",!viewerFeatureOpts.Debug);eDwUIUtils.hide("#edrawings-button-markup",!viewerFeatureOpts.Markup);eDwUIUtils.hide("#edrawings-button-tables-control",isDrawing||iViewer.TableMgr.numTables()===0);eDwUIUtils.hide("#edrawings-button-sheets",!isDrawing);eDwUIUtils.hide("#edrawings-button-sheet-tree",!isDrawing);eDwUIUtils.hide("#edrawings-button-layer-control",!isDrawing);eDwUIUtils.hide("#edrawings-button-configurations",isDrawing);eDwUIUtils.hide("#edrawings-button-explode",isDrawing||!viewerFeatureOpts.Explode||!isAssembly);eDwUIUtils.hide("#edrawings-button-move",isDrawing||!viewerFeatureOpts.Move||!isAssembly);eDwUIUtils.hide("#edrawings-button-component-tree",isDrawing||!viewerFeatureOpts.Tree||!isAssembly);eDwUIUtils.hide("#edrawings-button-annot-control",isDrawing||!viewerFeatureOpts.Annot||!isAssembly);eDwUIUtils.hide("#edrawings-button-frame-file-open",!viewerFeatureOpts.DragDrop);eDwUIUtils.hide("#edrawings-config-bar",!(viewerFeatureOpts.Tabs&&modelViews.length>1));eDwUIUtils.hide(".edrawings-icon-set.center",isDrawing);_super.prototype.onInit.call(this,iViewer);var featOpts=this.mViewer.ViewerFeatureOpts;if(!model.isDrawing()&&(featOpts.Measure||!featOpts.Tabs)||featOpts.Debug){this.mUITriad=new eDwUITriad(iViewer);iViewer.SelectionMgr.addSelectOverlayNotifier(eDwTypes_20.HC.BuiltinOverlayIndex.AxisTriad,this.mUITriad);this.mUITriad.activate()}this.mUI.init(iViewer);eDwUIUtils.hide("#WaitBanner",true)};UIEventHandlers.prototype.onSelect=function(iViewer,iSelObj){_super.prototype.onSelect.call(this,iViewer,iSelObj);if(l_init)l_init()};UIEventHandlers.prototype.onUnselect=function(iViewer,iSelObj){_super.prototype.onUnselect.call(this,iViewer,iSelObj);if(l_uninit)l_uninit()};UIEventHandlers.prototype.onTimeout=function(iViewer){eDwUIUtils.hide("#TimeoutBanner",false);eDwUI.changeStyle("edrawings-viewer-timeout")};UIEventHandlers.prototype.onStartAnimation=function(iViewer){var eDwViewer=iViewer;$("#edrawings-canvas").on("click.edw",function(){eDwViewer.ViewMgr.stop()});eDwUIUtils.hide("#edrawings-button-animate-play-icon",true);eDwUIUtils.hide("#edrawings-button-animate-stop-icon",false)};UIEventHandlers.prototype.onStopAnimation=function(iViewer){eDwUIUtils.hide("#edrawings-button-animate-play-icon",false);eDwUIUtils.hide("#edrawings-button-animate-stop-icon",true)};UIEventHandlers.prototype.onModelLoadFailed=function(iViewer,iModelName,iReason){alert("Model "+iModelName+" failed to load: "+iReason);eDwUIUtils.hide("#WaitBanner",true);eDwUIUtils.hide("#ErrorBanner",false)};UIEventHandlers.prototype.onAmbientOcclusionChange=function(iViewer,iAmbientOcclusionOn){var ambientOccButton=$("#edrawings-button-view-ambient-occlusion");var perspectiveButton=$("#edrawings-button-view-perspective");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("active-button")){$(iButtonID).addClass("active-button")}else if(!iIsActive&&$(iButtonID).hasClass("active-button")){$(iButtonID).removeClass("active-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.onModelViewChange=function(iViewer,iNewModelView,iIsAssembly){_super.prototype.onModelViewChange.call(this,iViewer,iNewModelView,iIsAssembly);$("[class~='edrawings-config-tab']").removeClass("active-modelview");var elements=$("#edrawings-config-navigation").find(".edrawings-submenu-list-item");elements.removeClass("edrawings-list-selected");eDwUIUtils.updateModelViewTargets(iNewModelView,"[class~='config-tab-text']","active-modelview");eDwUIUtils.updateModelViewTargets(iNewModelView,"[class~='config-nav-text']","edrawings-list-selected")};UIEventHandlers.prototype.onResetScene=function(){this.onExplodeLevelChange()};UIEventHandlers.prototype.onExplodeLevelChange=function(){var explodeSlider=$("#edrawings-explode-slider");try{explodeSlider.slider("value",this.mViewer.getExplosionLevel())}catch(iException){}};UIEventHandlers.prototype.onDone=function(iViewer){if(this.mUITriad)this.mUITriad.activate(false);$("#edrawings-config-tab-list").empty();_super.prototype.onDone.call(this,iViewer)};return UIEventHandlers}(eDwUIBaseEventHandlers);var l_fullScreenChange="fullscreenchange.edw MSFullscreenChange.edw "+"mozfullscreenchange.edw webkitfullscreenchange.edw";var l_ViewerID="edrawings-viewer";var l_CanvasID="edrawings-canvas";var l_init;var l_uninit;function l_getTabIndexOut(iModel,iSide){var modelViews=iModel.getModelViews();var tabPos=[];var i=0;for(var _i=0,modelViews_3=modelViews;_i0){var configTab=targetSpan.filter('[class~="config-tab-text"]');if(configTab.length>0){var tabDivJQ=configTab.parent();var scrollParentJQ=eDwUIUtils.getScrollParent(tabDivJQ);var tabDivPos=tabDivJQ.position().left;var pos=iSide==="right"&&scrollParentJQ?scrollParentJQ.width()-tabDivPos:tabDivPos;tabPos.push({Pos:pos,Idx:i++})}}}for(var i_2=0;i_20:tabPos[i_2].Pos<0;if(pos){continue}else{return tabPos[i_2]}}return iSide==="right"?tabPos[tabPos.length-1]:tabPos[0]}function pageConfigTab(iConfigName,iDir){var targetSpan=$("span:contains("+JSON.stringify(iConfigName)+")");if(targetSpan.length>0){var configTab=targetSpan.filter('[class~="config-tab-text"]');var tabDivJQ=configTab.parent();var scrollParentJQ=eDwUIUtils.getScrollParent(tabDivJQ);if(configTab.length>0&&scrollParentJQ){var tabDivPos=tabDivJQ.position().left;var pos=scrollParentJQ.scrollLeft()+(iDir==="left"?tabDivPos-scrollParentJQ.width()-tabDivJQ.width():tabDivPos);eDwUIUtils.scrollToTarget(scrollParentJQ,pos,"fast","scrollLeft")}}}function activateModelView(iViewer,iModelViewName,iCamera){var changeModelViewCmd=new eDwChangeModelViewCmd(iViewer,iModelViewName,iCamera);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(changeModelViewCmd);cmdMgr.remove(changeModelViewCmd,"commit")}});define("eDwUIAnnotHTMLGenerator",["require","exports","eDwUIHTMLGenerator"],function(require,exports,eDwUIHTMLGenerator){"use strict";var eDwUIAnnotHTMLGenerator=function(_super){__extends(eDwUIAnnotHTMLGenerator,_super);function eDwUIAnnotHTMLGenerator(iViewer,iPanelUIID){return _super.call(this,iViewer,iPanelUIID)||this}eDwUIAnnotHTMLGenerator.prototype.generateHTML=function(iAdditionalClasses){return __awaiter(this,void 0,void 0,function(){var generatedHTML,modelHC,annotViews,viewID;return __generator(this,function(_a){generatedHTML="";modelHC=this.mViewer.getModel().getHCModel();annotViews=modelHC.getCADViews();for(viewID in annotViews){generatedHTML+="
"+"
"+""+annotViews[viewID]+"
"}return[2,generatedHTML]})})};return eDwUIAnnotHTMLGenerator}(eDwUIHTMLGenerator);return eDwUIAnnotHTMLGenerator});define("eDwUIBaseEventHandlers",["require","exports","eDwUIContextMenu","eDwEventMgr","eDwUIHTMLEventMgr","eDwCommandMgr","eDwChangeModelViewCmd","eDwZoomToFitCmd","eDwCompositeCmd","eDwSetNodeVisibilityCmd","eDwRedlineOperator","eDwKeyMgr","eDwUIUtils","eDwTypes"],function(require,exports,eDwUIContextMenu,eDwEventMgr,eDwUIHTMLEventMgr,eDwCommandMgr,eDwChangeModelViewCmd,eDwZoomToFitCmd,eDwCompositeCmd,eDwSetNodeVisibilityCmd,eDwRedlineOperator,eDwKeyMgr,eDwUIUtils,eDwTypes_22){"use strict";var eDwUIBaseEventHandlers=function(){function eDwUIBaseEventHandlers(iViewerHTMLID,iViewerHTMLCanvasID){this.mViewerHTMLID=iViewerHTMLID;this.mViewerHTMLCanvasID=iViewerHTMLCanvasID;this.mUIHTMLEventMgr=new eDwUIHTMLEventMgr}eDwUIBaseEventHandlers.prototype.setViewer=function(iViewer){this.mViewer=iViewer;this.setContextMenu(iViewer)};eDwUIBaseEventHandlers.prototype.addHTMLEventHandlers=function(iViewerFeatOpts){var _this=this;this.mViewerFeatureOpts=iViewerFeatOpts;var eventMgrHTML=this.mUIHTMLEventMgr;eventMgrHTML.addEventHandler("#"+this.mViewerHTMLID,"contextmenu",eDwUIUtils.inhibitEventBehavior);eventMgrHTML.addEventHandler("window","resize",function(iEvent){if(_this.mViewer)_this.mViewer.HCViewer.resizeCanvas()});this.addSubTreeArrowEventHandler("#edrawings-sheet-tree-menu");var eventHandlers=this;function selectElement(ioTarget,iX,iY){var selIDHC=getHCID(ioTarget);if(isNaN(selIDHC))return false;eventHandlers.mViewer.SelectionMgr.selectByID(selIDHC);return true}function selectElementWithContextMenu(ioTarget,iX,iY){if(selectElement(ioTarget,iX,iY)){eventHandlers.updateContextMenu(iX,iY)}}eventMgrHTML.addDelegatedEventHandler("#edrawings-sheet-tree-menu .edrawings-submenu-list-item-button","click",function(iEvent){var target=$(iEvent.target);if(!target)return;selectElementWithContextMenu(target.parent(),iEvent.clientX,iEvent.clientY)});eventMgrHTML.addDelegatedEventHandler("#edrawings-sheet-tree-menu .edrawings-submenu-list-item","click",function(iEvent){if($(iEvent.target).hasClass("edrawings-root")){switchModelView(iEvent.target,_this.mViewer);return}selectElement($(iEvent.target),iEvent.clientX,iEvent.clientY)});function isTreeExpandElement(iTarget){return iTarget?iTarget.hasClass("edrawings-tree-arrow")||iTarget.hasClass("edrawings-tree-expanded")||iTarget.hasClass("edrawings-tree-icon"):false}eventMgrHTML.addDelegatedEventHandler("#edrawings-sheet-tree-menu .edrawings-submenu-list-item","mousedown",function(iEvent){if($(iEvent.target).hasClass("edrawings-root")){return}if(isTreeExpandElement($(iEvent.target)))return;_this.onMouseDown(iEvent)});eventMgrHTML.addDelegatedEventHandler("#edrawings-sheet-tree-menu .edrawings-submenu-list-item","dblclick",function(iEvent){var target=$(iEvent.target);if(target.hasClass("edrawings-root")){return}var id=getHCID(target);if(isNaN(id)||id<0){return}var cmdMgr=eDwCommandMgr.get();var zoomToViewCmd=new eDwCompositeCmd(_this.mViewer);zoomToViewCmd.initCmdActionImplementation();cmdMgr.add(zoomToViewCmd);var targetModelView=_this.getModelViewFromID(id);var activeModelView=_this.mViewer.getModel().getActiveModelView();if(targetModelView&&targetModelView!==activeModelView){_this.mViewer.SelectionMgr.selectByID(id);var changeModelViewCmd=new eDwChangeModelViewCmd(_this.mViewer,targetModelView.Name,_this.mViewer.getInitCamera());cmdMgr.add(changeModelViewCmd);cmdMgr.remove(changeModelViewCmd,"commit")}_this.onLeftDoubleClick(_this.mViewer);cmdMgr.remove(zoomToViewCmd,"commit")});function switchModelView(iElement,iViewer){var modelViewName=eDwUIUtils.getText(iElement);var changeModelViewCmd=new eDwChangeModelViewCmd(iViewer,modelViewName,iViewer.getInitCamera());var cmdMgr=eDwCommandMgr.get();cmdMgr.add(changeModelViewCmd);cmdMgr.remove(changeModelViewCmd,"commit")}if(this.mViewerFeatureOpts.Tree){this.addSubTreeArrowEventHandler("#edrawings-component-tree-menu");eventMgrHTML.addDelegatedEventHandler("#edrawings-component-tree-menu .edrawings-submenu-list-item","click",function(iEvent){selectElement($(iEvent.target),iEvent.clientX,iEvent.clientY)});eventMgrHTML.addDelegatedEventHandler("#edrawings-configurations-menu .edrawings-submenu-list-item","click",function(iEvent){switchModelView(iEvent.target,_this.mViewer)});eventMgrHTML.addDelegatedEventHandler("#edrawings-component-tree-menu .edrawings-submenu-list-item","dblclick",function(iEvent){var id=getHCID($(iEvent.target));if(isNaN(id))return;_this.onLeftDoubleClick(_this.mViewer)});eventMgrHTML.addDelegatedEventHandler("#edrawings-component-tree-menu .edrawings-submenu-list-item","mousedown",function(iEvent){if(isTreeExpandElement($(iEvent.target)))return;_this.onMouseDown(iEvent)});eventMgrHTML.addEventHandler("#component-search-cancel","click",function(iEvent){$("#edrawings-component-tree-menu "+".edrawings-menu-search-input").val("");_this.searchPanelList($(iEvent.target))});eventMgrHTML.addDelegatedEventHandler("#edrawings-configurations-menu .item-text","click",function(iEvent){switchModelView(iEvent.target,_this.mViewer)});var selectorName="#edrawings-component-tree-menu "+".edrawings-submenu-list-item-button";eventMgrHTML.addDelegatedEventHandler(selectorName,"click",function(iEvent){var target=$(iEvent.target);if(!target)return;selectElementWithContextMenu(target.parent(),iEvent.clientX,iEvent.clientY)});eventMgrHTML.addEventHandler("#edrawings-search-component-input","keyup",function(iEvent){_this.searchPanelList($(iEvent.target))})}if(this.mViewerFeatureOpts.Debug){this.addSubTreeArrowEventHandler("#edrawings-debug-menu");var inputSelectorName="#edrawings-console-debug-categories "+".edrawings-menu-search-input";eventMgrHTML.addDelegatedEventHandler(inputSelectorName,"blur",function(iEvent){var inputElem=iEvent.target;var categories=inputElem.value.split(",");if(categories.length===0)return;for(var _i=0,categories_1=categories;_i-1){console.excludeDebugLogCategories.slice(pos,1)}}});var selectorName_1="#edrawings-debug-menu .edrawings-submenu-list-item";eventMgrHTML.addDelegatedEventHandler(selectorName_1,"click",function(iEvent){var id=getHCID($(iEvent.target));if(isNaN(id))return;$(selectorName_1).removeClass("edrawings-list-selected");$(iEvent.target).addClass("edrawings-list-selected");_this.mViewer.SelectionMgr.selectByID(id)});eventMgrHTML.addDelegatedEventHandler("#edrawings-debug-menu .edrawings-submenu-list-item","dblclick",function(iEvent){var id=getHCID($(iEvent.target));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("");_this.searchPanelList($(iEvent.target))});eventMgrHTML.addEventHandler("#edrawings-debug-menu .edrawings-menu-search-input","keyup",function(iEvent){_this.searchPanelList($(iEvent.target))})}if(this.mViewerFeatureOpts.Measure){eventMgrHTML.addDelegatedEventHandler("#edrawings-measure-menu .edrawings-measure-entities-remove","click",function(iEvent){var target=$(iEvent.target);var idxStr=target.parent().attr("index");if(!idxStr)return;var idx=parseInt(idxStr,10);_this.mViewer.MeasureMgr.removeMeasureEntityAt(idx)});var selectorName_2="#edrawings-measure-menu .edrawings-measure-entities-list-item";eventMgrHTML.addDelegatedEventHandler(selectorName_2,"click",function(iEvent){_this.mContextMenu.hide();var target=$(iEvent.target);var idxStr=target.attr("index");if(!idxStr){return}var idx=parseInt(idxStr,10);$(selectorName_2).removeClass("edrawings-list-selected");_this.mViewer.MeasureMgr.dehighlightAllSelectEntity();target.addClass("edrawings-list-selected");_this.mViewer.MeasureMgr.highlightSelectEntityAt(idx)});eventMgrHTML.addDelegatedEventHandler("#edrawings-measure-menu .edrawings-measure-entities-list-item","mousedown",function(iEvent){if(!eDwKeyMgr.get().isRMBPressed(iEvent)){return}var target=$(iEvent.target);var idxStr=target.attr("index");if(!idxStr)return;target.addClass("edrawings-list-selected");var measureMgr=_this.mViewer.MeasureMgr;measureMgr.dehighlightAllSelectEntity();var idx=parseInt(idxStr,10);measureMgr.highlightSelectEntityAt(idx);_this.updateContextMenu(iEvent.pageX,iEvent.pageY,"#measure")});eventMgrHTML.addDelegatedEventHandler("#edrawings-measure-menu .measure-filter-button","click",function(iEvent){var target=$(iEvent.target);if(target.hasClass("active-button")){target.removeClass("active-button")}else{target.addClass("active-button")}_this.mViewer.MeasureMgr.setMeasureMode(eDwUIUtils.getCurrentMeasureMode())});eventMgrHTML.addDelegatedEventHandler("#edrawings-measure-menu .edrawings-measure-delta-button","click",function(iEvent){var target=$(iEvent.target);if(target.hasClass("active-button")){target.removeClass("active-button");_this.mViewer.MeasureMgr.setMeasureDelta(false)}else{target.addClass("active-button");_this.mViewer.MeasureMgr.setMeasureDelta(true)}});eventMgrHTML.addDelegatedEventHandler("#edrawings-measure-menu .edrawings-measure-pickpoint-button","click",function(iEvent){var target=$(iEvent.target);if(target.hasClass("active-button")){target.removeClass("active-button");_this.mViewer.MeasureMgr.setMeasurePickPoint(false)}else{target.addClass("active-button");_this.mViewer.MeasureMgr.setMeasurePickPoint(true)}});eventMgrHTML.addDelegatedEventHandler("#edrawings-measure-menu .measure-unit-selector","change",function(iEvent){var unitMultiplier=$("#edrawings-measure-distant-unit").val();var angleUnit=$("#edrawings-measure-angle-unit").val();_this.mViewer.MeasureMgr.setMeasureUnits(unitMultiplier,angleUnit)})}function addListClickEventHandler(iEventMgrHTML,iSelectorName,iViewAttrName){var _this=this;iEventMgrHTML.addDelegatedEventHandler(iSelectorName,"click",function(iEvent){var items=$(iSelectorName);items.removeClass("edrawings-list-selected");var target=$(iEvent.target);var viewID=parseInt(target.data(iViewAttrName),10);if(isNaN(viewID))return;var modelHC=_this.mViewer.getModel().getHCModel();modelHC.activateCADView(viewID);var pmiIds=[];var cadViews=modelHC.getCADViews();for(var idStr in cadViews){var id=parseInt(idStr,10);var name_1=cadViews[idStr];Array.prototype.push.apply(pmiIds,modelHC.getCADViewPMIs(id))}var setNodeVisCmd=new eDwSetNodeVisibilityCmd(_this.mViewer,pmiIds,true);var cmdMgr=eDwCommandMgr.get();cmdMgr.add(setNodeVisCmd);cmdMgr.remove(setNodeVisCmd,"commit");$(iEvent.target).addClass("edrawings-list-selected")})}if(this.mViewerFeatureOpts.Annot){addListClickEventHandler(eventMgrHTML,"#edrawings-annot-control-menu "+".edrawings-submenu-list-item","viewid")}eventMgrHTML.addDelegatedEventHandler("#edrawings-tables-menu .edrawings-submenu-list-item","click",function(iEvent){selectElementWithContextMenu($(iEvent.target),iEvent.clientX,iEvent.clientY)});eventMgrHTML.addDelegatedEventHandler("#edrawings-tables-menu .edrawings-submenu-list-item","mousedown",function(iEvent){if(!eDwKeyMgr.get().isRMBPressed(iEvent))return;selectElementWithContextMenu($(iEvent.target),iEvent.clientX,iEvent.clientY)});eventMgrHTML.addDelegatedEventHandler("#edrawings-tables-menu "+".edrawings-submenu-list-item-button","click",function(iEvent){var target=$(iEvent.target);if(!target)return;selectElementWithContextMenu(target.parent(),iEvent.clientX,iEvent.clientY)});if(this.mViewerFeatureOpts.Markup){eventMgrHTML.addDelegatedEventHandler("#edrawings-markup-menu .edrawings-submenu-list-item","click",function(iEvent){$(".edrawings-submenu-list-item").removeClass("edrawings-list-selected");var target=$(iEvent.target);var viewKey=target.attr("key");target.addClass("edrawings-list-selected");var markupMgr=_this.mViewer.HCViewer.getMarkupManager();markupMgr.activateMarkupView(viewKey,400);var markupView=markupMgr.getMarkupView(viewKey);eDwRedlineOperator.activateMarkups(markupView,_this.mViewer.HCViewer)});eventMgrHTML.addDelegatedEventHandler("#edrawings-markup-menu .edrawings-submenu-list-item","dblclick",function(iEvent){$(".edrawings-submenu-list-item").removeClass("edrawings-list-selected");var target=$(iEvent.target);var viewKey=target.attr("key");var markupMgr=_this.mViewer.HCViewer.getMarkupManager();markupMgr.deleteMarkupView(viewKey)});eventMgrHTML.addEventHandler("#markup-text-editor","keyup",function(iEvent){var input=$("#markup-text-editor").val();var op=_this.mViewer.MarkupMgr.getOperator();op.setCurAnnotation(input)});eventMgrHTML.addDelegatedEventHandler("#edrawings-markup-menu .markup-mode-button","click",function(iEvent){var target=$(iEvent.target);if(!target.hasClass("active-button")){var button=$("#edrawings-markup-menu .markup-mode-button");button.removeClass("active-button");target.addClass("active-button")}else{target.removeClass("active-button")}_this.mViewer.MarkupMgr.setMarkupMode(eDwUIUtils.getCurrentMarkupMode())});if(this.mViewerFeatureOpts.Exp){eDwUIUtils.hide(".edrawings-markup-io",false);eventMgrHTML.addDelegatedEventHandler("#edrawings-markup-menu .markup-op-button","click",function(iEvent){var target=$(iEvent.target);if(target[0].id==="edrawings-markup-read"){_this.mViewer.MarkupMgr.readFromCache()}if(target[0].id==="edrawings-markup-save"){_this.mViewer.MarkupMgr.saveToCache()}})}}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)})};eDwUIBaseEventHandlers.prototype.addDefaultHTMLPanelCloseEventHandlers=function(){var eventMgrHTML=this.mUIHTMLEventMgr;function addCloseEventHandler(iPanelID){eventMgrHTML.addDelegatedEventHandler(iPanelID+" .edrawings-menu-close","click",function(iEvent){eDwUIUtils.hide(iPanelID,true)})}if(this.mViewerFeatureOpts.Tree){addCloseEventHandler("#edrawings-component-tree-menu")}addCloseEventHandler("#edrawings-configurations-menu");if(this.mViewerFeatureOpts.Debug){addCloseEventHandler("#edrawings-debug-menu")}addCloseEventHandler("#edrawings-sheet-tree-menu");addCloseEventHandler("#edrawings-layer-control-menu");if(this.mViewerFeatureOpts.Annot){addCloseEventHandler("#edrawings-annot-control-menu")}addCloseEventHandler("#edrawings-tables-menu")};eDwUIBaseEventHandlers.addViewerEventHandlers=function(iEventHandlerObj){var handlerObj=iEventHandlerObj;var eventMgr=eDwEventMgr.get();eventMgr.addEventHandlerObj("Init",handlerObj,"onInit");eventMgr.addEventHandlerObj("Select",handlerObj,"onSelect");eventMgr.addEventHandlerObj("Unselect",handlerObj,"onUnselect");eventMgr.addEventHandlerObj("StartAnimation",handlerObj,"onStartAnimation");eventMgr.addEventHandlerObj("StopAnimation",handlerObj,"onStopAnimation");eventMgr.addEventHandlerObj("LeftClick",handlerObj,"onLeftClick");eventMgr.addEventHandlerObj("RightClick",handlerObj,"onRightClick");eventMgr.addEventHandlerObj("LeftDoubleClick",handlerObj,"onLeftDoubleClick");eventMgr.addEventHandlerObj("ModelLoadFailure",handlerObj,"onModelLoadFailed");eventMgr.addEventHandlerObj("Timeout",handlerObj,"onTimeout");eventMgr.addEventHandlerObj("DrawModeChange",handlerObj,"onDrawModeChange");eventMgr.addEventHandlerObj("ProjModeChange",handlerObj,"onProjectionModeChange");eventMgr.addEventHandlerObj("NodeAttribChange",handlerObj,"onNodeAttribChanged");eventMgr.addEventHandlerObj("CameraChange",handlerObj,"onCameraChange");eventMgr.addEventHandlerObj("ResetScene",handlerObj,"onResetScene");eventMgr.addEventHandlerObj("AmbientOcclChange",handlerObj,"onAmbientOcclusionChange");eventMgr.addEventHandlerObj("ExplodeLevelChange",handlerObj,"onExplodeLevelChange");eventMgr.addEventHandlerObj("Done",handlerObj,"onDone");eventMgr.addEventHandlerObj("ModelViewChange",handlerObj,"onModelViewChange");if(handlerObj.mViewerFeatureOpts.Measure){eventMgr.addEventHandlerObj("MeasurementRefresh",handlerObj,"onMeasurementRefresh");eventMgr.addEventHandlerObj("MeasurementSelection",handlerObj,"onMeasurementSelected");eventMgr.addEventHandlerObj("MeasurementDeselectAll",handlerObj,"onMeasurementDeselectAll")}if(handlerObj.mViewerFeatureOpts.Markup){eventMgr.addEventHandlerObj("ViewCreated",handlerObj,"onViewCreated");eventMgr.addEventHandlerObj("ViewLoaded",handlerObj,"onViewLoaded");eventMgr.addEventHandlerObj("ViewDeleted",handlerObj,"onViewDeleted")}};eDwUIBaseEventHandlers.prototype.removeHTMLEventHandlers=function(){this.mUIHTMLEventMgr.removeAllEventHandlers();if(this.mContextMenu)this.mContextMenu.removeAllEventHandlers();this.mContextMenu=undefined};eDwUIBaseEventHandlers.removeViewerEventHandlers=function(){eDwEventMgr.get().removeAllEventHandlers()};eDwUIBaseEventHandlers.prototype.onInit=function(iViewer){this.mViewer=iViewer;this.setContextMenu(this.mViewer);eDwUIUtils.createUIGenerators(iViewer);if(iViewer.ViewerFeatureOpts.Annot){this.populateMBDNotes(iViewer)}};eDwUIBaseEventHandlers.prototype.onDone=function(iViewer){iViewer.destroy()};eDwUIBaseEventHandlers.prototype.onMouseDown=function(iEvent){if(!this.mContextMenu){return}var jqSelObj=$(iEvent.target);jqSelObj.attr("inhibitScroll","true");if(eDwKeyMgr.get().isRMBPressed(iEvent)){var id=getHCID($(iEvent.target));if(isNaN(id)){jqSelObj.removeAttr("inhibitScroll");return}this.mViewer.SelectionMgr.selectByID(id);this.updateContextMenu(iEvent.pageX,iEvent.pageY)}else{this.mContextMenu.hide()}};eDwUIBaseEventHandlers.prototype.onSelect=function(iViewer,iSelObj){this.handleSelectionChange(iViewer,iSelObj,true);this.updateComponentCount(iViewer)};eDwUIBaseEventHandlers.prototype.onUnselect=function(iViewer,iSelObj){this.handleSelectionChange(iViewer,iSelObj,false);this.updateComponentCount(iViewer)};eDwUIBaseEventHandlers.prototype.onResizePanel=function(iEvent,iMenuID,mouseXOrig,menuWidthOrig){$(iMenuID).width(menuWidthOrig+iEvent.clientX-mouseXOrig)};eDwUIBaseEventHandlers.prototype.onLeftDoubleClick=function(iViewer){var nodeHCID;var result=iViewer.SelectionMgr.getLastSelHCID();if(result instanceof RangeError){var activeModelView=iViewer.getModel().getActiveModelView();if(activeModelView)nodeHCID=activeModelView.Hierarchy.HOOPSID}else{nodeHCID=result}var zoomToFitCmd=new eDwZoomToFitCmd(iViewer,nodeHCID,iViewer.getHCView().getCamera());var cmdMgr=eDwCommandMgr.get();cmdMgr.add(zoomToFitCmd);cmdMgr.remove(zoomToFitCmd,"commit");if(this.mContextMenu)this.mContextMenu.hide()};eDwUIBaseEventHandlers.prototype.onRightClick=function(iViewer,iCoords){this.updateContextMenu(iCoords.x,iCoords.y)};eDwUIBaseEventHandlers.prototype.updateContextMenu=function(iX,iY,iSelector){if(iSelector===void 0){iSelector=""}var selector=iSelector;if(!selector){var isDrawing=this.mViewer.getModel().isDrawing();selector="#display"+(isDrawing?" .edw-context-transp-solid":"")}if(this.mViewer.getModel().isPart()){selector+=" #display"}this.mContextMenu.show(iX,iY,selector)};eDwUIBaseEventHandlers.prototype.hideContextMenu=function(){if(this.mContextMenu)this.mContextMenu.hide()};eDwUIBaseEventHandlers.prototype.onLeftClick=function(iViewer,iCoords){this.hideContextMenu()};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();eDwUIUtils.setModelView(iNewModelView);return[2]}})})})()};eDwUIBaseEventHandlers.prototype.onNodeAttribChanged=function(iViewer,iHierNodesAndAttribs){if(iViewer.ViewerFeatureOpts.Debug){for(var _i=0,iHierNodesAndAttribs_3=iHierNodesAndAttribs;_i0));eDwUIUtils.hide(".edrawings-menu-search-cancel",true)}};eDwUIBaseEventHandlers.prototype.getModelViewFromID=function(iNodeHCID){var model=this.mViewer.getModel();var modelHC=model.getHCModel();var modelViews=model.getModelViews();for(var _i=0,modelViews_4=modelViews;_icanvasWidth){posx=canvasWidth-menuWidth-5}var posy=iY;if(posy+menuHeight>canvasHeight){posy=canvasHeight-menuHeight-5}contextMenu.css({top:posy+"px",left:posx+"px"});eDwUIUtils.hide("#edrawings-context-menu",false)};eDwUIContextMenu.prototype.hide=function(){eDwUIUtils.hide("#edrawings-context-menu",true)};return eDwUIContextMenu}();return eDwUIContextMenu});define("eDwUIDebugHTMLGenerator",["require","exports","eDwUIHTMLGenerator"],function(require,exports,eDwUIHTMLGenerator){"use strict";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 getHCNode(iNodeID)};eDwUIDebugHTMLGenerator.prototype.getPostSpanHTML=function(iAdditionalClasses){return""};eDwUIDebugHTMLGenerator.prototype.forNodeGetName=function(iNode){return this.mHCModel.getNodeName(getHCNode(iNode))};eDwUIDebugHTMLGenerator.prototype.forNodeGetID=function(iNode){return getHCNode(iNode)};eDwUIDebugHTMLGenerator.prototype.forNodeGetParentID=function(iNode){return this.mHCModel.getNodeParent(getHCNode(iNode))};eDwUIDebugHTMLGenerator.prototype.forNodeGetChildren=function(iNode){return this.mHCModel.getNodeChildren(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: "+this.mHCModel.getNodeType(nodeHCID)};eDwUIDebugHTMLGenerator.prototype.forNodeGetDisplayStateCSSClass=function(iNode){return"edrawings-body-visible"};return eDwUIDebugHTMLGenerator}(eDwUIHTMLGenerator);function isHCNode(iNode){return!isNaN(iNode)}function getHCNode(iNode){if(!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();var ancestorElementJQ=$(ancestorElementID);if(!ancestorElementJQ)return false;var ancestorElement=$(ancestorElementJQ)[0];if(!ancestorElement)return false;return this.commonAddEventHandler(ancestorElementJQ,iEventName,iEventHandler,selectors.join().replace(".",""))};eDwUIHTMLEventMgr.prototype.addEventHandler=function(iElemID,iEventName,iEventHandler){if(!iElemID||!iEventName||!iEventHandler)return false;var elementJQ;if(iElemID==="window"){elementJQ=$(window);elementJQ[0].id="window";elementJQ[0].className="";elementJQ[0].nodeType=Node.ELEMENT_NODE}else if(iElemID==="document"){elementJQ=$(document);elementJQ[0].id="document";elementJQ[0].className=""}else{elementJQ=$(iElemID)}if(!elementJQ)return false;var element=$(elementJQ)[0];if(!element)return false;return this.commonAddEventHandler(elementJQ,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)}}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(iElementJQ,iEventName,iEventHandler,iElemClasses){if(iElemClasses===void 0){iElemClasses=""}if(!iElementJQ||!$(iElementJQ))return false;var element=$(iElementJQ)[0];if(!element)return false;var eventHandlerData=this.mEventHandlerData;var handlersOfEvent=eventHandlerData[iEventName];if(!handlersOfEvent){handlersOfEvent=eventHandlerData[iEventName]={}}var elemHandlers=handlersOfEvent[element.id];if(!elemHandlers){elemHandlers=handlersOfEvent[element.id]={MainDispatcher:null,Handlers:[]}}if(elemHandlers.MainDispatcher){element.removeEventListener(iEventName,elemHandlers.MainDispatcher,true)}elemHandlers.MainDispatcher=function(ioEvent){eventDispatcher(ioEvent,elemHandlers.Handlers)};element.addEventListener(iEventName,elemHandlers.MainDispatcher,true);elemHandlers.Handlers.push({Element:element,TargetElemClasses:iElemClasses,Handler:iEventHandler});console.debugLog("UIEvents","Event name = "+iEventName+", id = "+element.id+", classes = "+iElemClasses+", Num handlers = "+elemHandlers.Handlers.length);return true};eDwUIHTMLEventMgr.prototype.removeEventHandlersByID=function(iElemID,iEventName,ioHandlersOfEvent){var handlersRemoved=false;var elemHandlers=ioHandlersOfEvent[iElemID];if(!elemHandlers){elemHandlers=ioHandlersOfEvent[iElemID]={MainDispatcher:null,Handlers:[]}}if(elemHandlers.Handlers.length){var handler=elemHandlers.Handlers[0];handler.Element.removeEventListener(iEventName,elemHandlers.MainDispatcher,true);handlersRemoved=true}return handlersRemoved};return eDwUIHTMLEventMgr}();function eventDispatcher(ioEvent,iHandlerObjs){var handlers=iHandlerObjs;if(!iHandlerObjs||!iHandlerObjs.length)return;console.debugLog("UIEvents","Event = "+ioEvent.type+", Num handlers = "+iHandlerObjs.length);var runHandler=false;var eventTarget=ioEvent.target;while(eventTarget&&!runHandler){for(var i=0;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_6=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 isHierarchyNode(iNode){return iNode.Name}function getHierarchyNode(iNode){if(!isHierarchyNode(iNode)){throw new Error("Not a hierarchy node:\n"+JSON.stringify(iNode))}return iNode}return eDwUIHTMLGenerator});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("eDwUIMarkupHTMLGenerator",["require","exports","eDwUIHTMLGenerator"],function(require,exports,eDwUIHTMLGenerator){"use strict";var eDwUIMarkupHTMLGenerator=function(_super){__extends(eDwUIMarkupHTMLGenerator,_super);function eDwUIMarkupHTMLGenerator(iViewer,iPanelUIID){return _super.call(this,iViewer,iPanelUIID)||this}eDwUIMarkupHTMLGenerator.prototype.generateHTML=function(iAdditionalClasses){return __awaiter(this,void 0,void 0,function(){var generatedHTML,markupMgr,keys,i,view;return __generator(this,function(_a){generatedHTML="";markupMgr=this.mViewer.HCViewer.getMarkupManager();keys=markupMgr.getMarkupViewKeys();for(i=0;i"+"
"+""+view.getName()+""}return[2,generatedHTML]})})};return eDwUIMarkupHTMLGenerator}(eDwUIHTMLGenerator);return eDwUIMarkupHTMLGenerator});define("eDwUIMeasureHTMLGenerator",["require","exports","eDwUIHTMLGenerator"],function(require,exports,eDwUIHTMLGenerator){"use strict";var eDwUIMeasureHTMLGenerator=function(_super){__extends(eDwUIMeasureHTMLGenerator,_super);function eDwUIMeasureHTMLGenerator(iViewer,iPanelUIID){return _super.call(this,iViewer,iPanelUIID)||this}eDwUIMeasureHTMLGenerator.prototype.setMeasureResult=function(iMeasureResult){this.mMeasureResult=iMeasureResult};eDwUIMeasureHTMLGenerator.prototype.generateHTML=function(iAdditionalClasses){return __awaiter(this,void 0,void 0,function(){var generatedHTML,model,fCount,lCount,pCount,i,obj,faceEntity,lineEntity,pointEntity,nodeId,eType,count,highlight,status_1;return __generator(this,function(_a){switch(_a.label){case 0:generatedHTML="";model=this.mViewer.getModel().getHCModel();fCount=0,lCount=0,pCount=0;i=0;_a.label=1;case 1:if(!(i"+"
"+""+eType+" -"+count+"\n"+""+""+this.mMeasureResult.Descriptions[i]+"
"+" ";_a.label=9;case 9:++i;return[3,1];case 10:return[2,generatedHTML]}})})};return eDwUIMeasureHTMLGenerator}(eDwUIHTMLGenerator);return eDwUIMeasureHTMLGenerator});define("eDwUIMessageReporter",["require","exports","jquery","eDwEventMgr","eDwUIUtils","utils"],function(require,exports,$,eDwEventMgr,eDwUIUtils,utils){"use strict";var _this=this;var eDwUIMessageReporter=function(){function eDwUIMessageReporter(){}eDwUIMessageReporter.showServerLoadErrorPanel=function(iServerID,iModelCacheName){l_addParagraphToPanelText({},"edrawings-server-load-failure-1");l_addParagraphToPanelText({"server-id":iServerID},"edrawings-server-load-failure-2");l_addParagraphToPanelText({"model-cache-name":iModelCacheName},"edrawings-server-load-failure-3");eDwUIMessageReporter.showMessagePanel("",true,false,"edrawings-error-title edrawings-dialog-no-close")};eDwUIMessageReporter.showResultPanel=function(iResult){var showButtons=false;if(utils.isOfType(iResult,"ServerID")){showButtons=eDwUIMessageReporter.showConversionResultPanel(iResult)}else{switch(iResult.ErrorCode){default:showButtons=eDwUIMessageReporter.showPanelGeneric(iResult);break}}return showButtons};eDwUIMessageReporter.showMessagePanel=function(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"}var msgPanelText=$("#edrawings-dialog-panel-text");if(iMsg)msgPanelText.html(iMsg);var opts={modal:iModal,width:window.innerWidth*.6,minWidth:200,dialogClass:iDlgClasses,closeOnEscape:iShowButtons};var msgPanel=$("#edrawings-dialog-panel");if(iShowButtons){$.extend(opts,{buttons:{Ok:function(){msgPanel.dialog("close")}},close:function(iEvent){$(".edrawings-dialog-content").remove()}})}msgPanel.dialog(opts);if(iDlgClasses.indexOf("edrawings")>-1&&iDlgClasses.indexOf("title")>-1){var msgPanelTitle=msgPanel.prev().find(".ui-dialog-title");msgPanelTitle.text(eDwUIUtils.getCSSContent(msgPanelTitle))}};eDwUIMessageReporter.showConversionResultPanel=function(iResult){var showButtons=l_shouldShowButtons();switch(iResult.ErrorCode){case"URLNotAccessible":l_addParagraphToPanelText({"file-url":iResult.ErrorData[0]},"edrawings-server-url-inaccessible");eDwUIMessageReporter.showMessagePanel("",true,false,"edrawings-error-title edrawings-dialog-no-close");break;case"UnsupportedFileType":l_addParagraphToPanelText({file:iResult.FileName},"edrawings-server-unsupported-file-type");eDwUIMessageReporter.showMessagePanel("",true,showButtons,"edrawings-error-title edrawings-dialog-no-close");break;default:if(l_isDebug()){eDwUIMessageReporter.showPanelGeneric(iResult)}else{eDwUIMessageReporter.showServerLoadErrorPanel(iResult.ServerID,iResult.ModelCacheName)}break}return showButtons};eDwUIMessageReporter.showPanelGeneric=function(iResult){var showButtons=l_shouldShowButtons();switch(iResult.ErrorCode){case"AJAXFailure":l_addParagraphToPanelText({},"edrawings-server-ajax-failure");eDwUIMessageReporter.showMessagePanel("",true,false,"edrawings-error-title edrawings-dialog-no-close");break;case"IncompleteFileProcessing":l_addParagraphToPanelText({},"edrawings-unable-process-file");eDwUIMessageReporter.showMessagePanel("",true,true,"edrawings-error-title edrawings-dialog-no-close");break;default:var msg="
"+iResult.ErrorCode+"
";for(var _i=0,_a=iResult.ErrorData;_i<_a.length;_i++){var data=_a[_i];msg+="
"+data+"
"}eDwUIMessageReporter.showMessagePanel(msg,true);break}return showButtons};return eDwUIMessageReporter}();eDwEventMgr.get().addEventHandlerFunc("LoadUIPanel",function(){(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){eDwUIUtils.loadPanel("#edrawings-dialog-panel","dialogpanel.html");return[2]})})})()});function l_addParagraphToPanelText(iOptions,iTextClass){var msgPanelText=$("#edrawings-dialog-panel-text");var elemJQ=$("
");msgPanelText.append(elemJQ);elemJQ.attr(iOptions)}function l_shouldShowButtons(){var viewerFeatOpts={DragDrop:false};eDwUIUtils.getRequestedQueryStringParams(location.href,viewerFeatOpts,false);return viewerFeatOpts.DragDrop}function l_isDebug(){var viewerFeatOpts={Debug:false};eDwUIUtils.getRequestedQueryStringParams(location.href,viewerFeatOpts,false);return viewerFeatOpts.Debug}return eDwUIMessageReporter});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_7,modelView,modelViewHierNode;return __generator(this,function(_a){generatedHTML="";modelViews=this.mViewer.getModel().getModelViews();for(_i=0,modelViews_7=modelViews;_i"+""+modelView.Name+""}return generatedHTML};eDwUIModelViewTabHTMLGenerator.prototype.shouldIncludeNode=function(iHierNode){if(iHierNode.Category==="layer"||iHierNode.Category==="table"){return false}return _super.prototype.shouldIncludeNode.call(this,iHierNode)};return eDwUIModelViewTabHTMLGenerator}(eDwUIHTMLGenerator);return eDwUIModelViewTabHTMLGenerator});define("eDwUISheetTreeHTMLGenerator",["require","exports","eDwUIHTMLGenerator"],function(require,exports,eDwUIHTMLGenerator){"use strict";var eDwUISheetTreeHTMLGenerator=function(_super){__extends(eDwUISheetTreeHTMLGenerator,_super);function eDwUISheetTreeHTMLGenerator(iViewer,iPanelUIID){return _super.call(this,iViewer,iPanelUIID)||this}eDwUISheetTreeHTMLGenerator.prototype.shouldIncludeNode=function(iHierNode){if(iHierNode.Category==="layer")return false;return _super.prototype.shouldIncludeNode.call(this,iHierNode)};return eDwUISheetTreeHTMLGenerator}(eDwUIHTMLGenerator);return eDwUISheetTreeHTMLGenerator});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;_i-1){var hierNode=iViewer.getModel().getHierarchyNode(iID);if(hierNode){return{node:$("span[data-hoopsid='"+hierNode.HOOPSID+"']"),ownerDiv:$("div[data-hoopsid='"+hierNode.HOOPSID+"']")}}}return null}exports.getListElements=getListElements;function createUIGenerators(iViewer){var panelID="#edrawings-component-tree-menu";l_generators[panelID]=new eDwUICompTreeHTMLGenerator(iViewer,panelID);panelID="#edrawings-sheet-tree-menu";l_generators[panelID]=new eDwUISheetTreeHTMLGenerator(iViewer,panelID);panelID="#edrawings-layer-control-menu";l_generators[panelID]=new eDwUILayerHTMLGenerator(iViewer,panelID);panelID="#edrawings-tables-menu";l_generators[panelID]=new eDwUITableHTMLGenerator(iViewer,panelID);panelID="#edrawings-config-navigation";l_generators[panelID]=new eDwUIModelViewHTMLGenerator(iViewer,panelID);panelID="#edrawings-configurations-menu";l_generators[panelID]=new eDwUIModelViewHTMLGenerator(iViewer,panelID);panelID="#edrawings-config-tab-list";l_generators[panelID]=new eDwUIModelViewTabHTMLGenerator(iViewer,panelID);panelID="#edrawings-debug-menu";l_generators[panelID]=new eDwUIDebugHTMLGenerator(iViewer,panelID);panelID="#edrawings-annot-control-menu";l_generators[panelID]=new eDwUIAnnotHTMLGenerator(iViewer,panelID);panelID="#edrawings-markup-menu";l_generators[panelID]=new eDwUIMarkupHTMLGenerator(iViewer,panelID);panelID="#edrawings-measure-menu";l_generators[panelID]=new eDwUIMeasureHTMLGenerator(iViewer,panelID)}exports.createUIGenerators=createUIGenerators;function getUIGenerator(iName){return l_generators[iName]}exports.getUIGenerator=getUIGenerator;function getUIPanelID(iTarget){var panelJQ=iTarget.closest(".edrawings-submenu");return panelJQ?"#"+panelJQ[0].id:""}exports.getUIPanelID=getUIPanelID;function updateUI(iViewer,iModelView){return __awaiter(this,void 0,void 0,function(){function regenList(iList,iHTML){iList.empty();iList.append(iHTML)}var list,gen,listHTML,list,gen,modelViews,_i,modelViews_9,modelView;return __generator(this,function(_a){switch(_a.label){case 0:if(!iViewer)return[3,7];return[4,l_populateLayerPanel(iViewer)];case 1:_a.sent();return[4,populateModelViewPanel(iViewer,"#edrawings-configurations-menu","config-tree-text")];case 2:_a.sent();if(iViewer.ViewerFeatureOpts.Debug)l_populateDebugPanel(iViewer);if(!iViewer.ViewerFeatureOpts.Annot)return[3,4];return[4,l_populateAnnotPanel(iViewer)];case 3:_a.sent();_a.label=4;case 4:if(!iViewer.TableMgr.numTables())return[3,6];return[4,l_populateTablesPanel(iViewer)];case 5:_a.sent();_a.label=6;case 6:if(iModelView){if(iModelView.Category==="config"){list=$("#edrawings-component-tree-menu .edrawings-submenu-list");gen=getUIGenerator("#edrawings-component-tree-menu");regenList(list,gen.generateHTMLForChildNodes(iModelView.Hierarchy,false))}else{listHTML="";list=$("#edrawings-sheet-tree-menu .edrawings-submenu-list");gen=getUIGenerator("#edrawings-sheet-tree-menu");modelViews=iViewer.getModel().getModelViews();for(_i=0,modelViews_9=modelViews;_i0){var viewTab=targetSpans.filter(iFilter);if(viewTab.length>0){viewTab.parent().addClass(iTargetClass)}}}exports.updateModelViewTargets=updateModelViewTargets;function activatePanelResizeInput(iPanelID,iInputEventIDSuffix,iHandlers){var mouseDown="mousedown"+iInputEventIDSuffix;var mouseMove="mousemove"+iInputEventIDSuffix;var mouseUp="mouseup"+iInputEventIDSuffix;$(document).on(mouseDown,".edrawings-menu-resizer",function(iEvent){var msg="Panel resize: "+mouseDown;console.debugLog("UIPanelResize",msg);iEvent.preventDefault();var origMouseX=iEvent.clientX;var origMenuWidth=$(iPanelID).width();$(document).on(mouseMove,function(iEvent){var pressedLMB=eDwKeyMgr.get().isLMBPressed(iEvent);var msg="Panel resize LMB "+mouseMove+": ";msg+=pressedLMB?"true":"false";console.debugLog("UIPanelResize",msg);if(!pressedLMB)return;iEvent.preventDefault();iHandlers.onResizePanel(iEvent,iPanelID,origMouseX,origMenuWidth);iEvent.stopImmediatePropagation()});iEvent.stopImmediatePropagation()});$(document).on(mouseUp,function(iEvent){var msg="Panel resize: "+mouseUp;console.debugLog("UIPanelResize",msg);iEvent.preventDefault();$(document).off(mouseMove)})}exports.activatePanelResizeInput=activatePanelResizeInput;function deactivateMoveInput(iInputEventIDSuffix){$(document).off("mousemove"+iInputEventIDSuffix);$(document).off("mousedown"+iInputEventIDSuffix);$(document).off("mouseup"+iInputEventIDSuffix)}exports.deactivateMoveInput=deactivateMoveInput;function loadComponentHTML(iViewerOpts){l_loadContextMenu();l_loadSheetTreePanel();l_loadLayerPanel();l_loadAnnotPanel();l_loadTablesPanel();l_loadDebugPanel();if(iViewerOpts.Tree){l_loadComponentTreePanel()}l_loadConfigPanel();if(iViewerOpts.Measure){l_loadMeasurePanel()}l_loadMarkupPanel();eDwEventMgr.get().fireEvents("LoadUIPanel")}exports.loadComponentHTML=loadComponentHTML;function inhibitEventBehavior(iEvent){iEvent.preventDefault();iEvent.stopPropagation()}exports.inhibitEventBehavior=inhibitEventBehavior;function getCurrentMeasureMode(){var vertexEnabled=l_isActive("#edrawings-measure-vertex-button")?eDwTypes_24.MeasureMode.VERTEX:0;var edgeEnabled=l_isActive("#edrawings-measure-edge-button")?eDwTypes_24.MeasureMode.EDGE:0;var faceEnabled=l_isActive("#edrawings-measure-face-button")?eDwTypes_24.MeasureMode.FACE:0;var holeEnabled=l_isActive("#edrawings-measure-hole-button")?eDwTypes_24.MeasureMode.HOLE:0;return vertexEnabled|edgeEnabled|faceEnabled|holeEnabled}exports.getCurrentMeasureMode=getCurrentMeasureMode;function syncMeasureModeUI(iMeasureMgr){function setMeasureButton(iID,iMeasureModes,iTargetModes){var method=iMeasureModes&iTargetModes?"addClass":"removeClass";$(iID)[method]("active-button")}$("#edrawings-measure-distant-unit").val(iMeasureMgr.getDistanceUnit());$("#edrawings-measure-angle-unit").val(iMeasureMgr.getAngleUnit());var measureMode=iMeasureMgr.getMeasureMode();setMeasureButton("#edrawings-measure-vertex-button",measureMode,eDwTypes_24.MeasureMode.VERTEX);setMeasureButton("#edrawings-measure-edge-button",measureMode,eDwTypes_24.MeasureMode.EDGE);setMeasureButton("#edrawings-measure-face-button",measureMode,eDwTypes_24.MeasureMode.FACE)}exports.syncMeasureModeUI=syncMeasureModeUI;function getCurrentMarkupMode(){if(l_isActive("#edrawings-markup-text-button"))return eDwTypes_24.MarkupMode.Text;if(l_isActive("#edrawings-markup-circle-button"))return eDwTypes_24.MarkupMode.Circle;if(l_isActive("#edrawings-markup-rectangle-button")){return eDwTypes_24.MarkupMode.Rectangle}if(l_isActive("#edrawings-markup-polyline-button")){return eDwTypes_24.MarkupMode.Polyline}if(l_isActive("#edrawings-markup-bezier-button"))return eDwTypes_24.MarkupMode.Bezier;if(l_isActive("#edrawings-markup-image-button"))return eDwTypes_24.MarkupMode.Image;return eDwTypes_24.MarkupMode.None}exports.getCurrentMarkupMode=getCurrentMarkupMode;function syncMarkupModeUI(iMarkupMgr){function setMarkupButton(iID,iMeasureModes,iTargetModes){var method=iMeasureModes===iTargetModes?"addClass":"removeClass";$(iID)[method]("active-button")}var markupmode=iMarkupMgr.getMarkupMode();setMarkupButton("#edrawings-markup-text-button",markupmode,eDwTypes_24.MarkupMode.Text);setMarkupButton("#edrawings-markup-rectangle-button",markupmode,eDwTypes_24.MarkupMode.Rectangle);setMarkupButton("#edrawings-markup-circle-button",markupmode,eDwTypes_24.MarkupMode.Circle);setMarkupButton("#edrawings-markup-polyline-button",markupmode,eDwTypes_24.MarkupMode.Polyline)}exports.syncMarkupModeUI=syncMarkupModeUI;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 populateModelViewTabs(iViewer){var panelUIID="#edrawings-config-tab-list";var modelViewTabs=$(panelUIID);modelViewTabs.empty();var gen=getUIGenerator(panelUIID);modelViewTabs.append(gen.generateHTML(""))}exports.populateModelViewTabs=populateModelViewTabs;function getText(iElement){return $(iElement).text().trim()}exports.getText=getText;function getTarget(iTarget){return iTarget.hasClass("config-tab-text")?iTarget.parent():iTarget}exports.getTarget=getTarget;function getSpanText(iTarget){var target=getTarget(iTarget);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 iExcp_14;return __generator(this,function(_a){switch(_a.label){case 0:_a.trys.push([0,2,,3]);return[4,eDwServiceMgr.get().load(iElemOrClassID,iPanelHTML)];case 1:_a.sent();return[3,3];case 2:iExcp_14=_a.sent();console.debugLog("PanelLoad","Failed to load "+iPanelHTML+": "+iExcp_14.message);return[3,3];case 3:return[2]}})})}exports.loadPanel=loadPanel;function hide(iSelector,iOff){var selJQ=$(iSelector);selJQ[iOff?"addClass":"removeClass"]("edrawings-ui-hide");return selJQ}exports.hide=hide;function getCSSContent(iJQElem){if(iJQElem){return iJQElem.css("content").replace(/^['"]+|\s+|\\|(;\s?})+|['"]$/g,"")}return""}exports.getCSSContent=getCSSContent;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,iPos,iAnimationSpeed,iStartPos){if(iAnimationSpeed===void 0){iAnimationSpeed="slow"}if(iStartPos===void 0){iStartPos="scrollTop"}if(!iTargetJQ)return;if(iAnimationSpeed==="none"){iTargetJQ[iStartPos](iPos)}else{iTargetJQ.animate((_a={},_a[iStartPos]=iPos,_a),iAnimationSpeed)}var _a}exports.scrollToTarget=scrollToTarget;var l_generators={};function l_loadContextMenu(){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,loadPanel("#edrawings-context-menu","contextmenu.html")];case 1:_a.sent();return[2]}})})})()}function l_loadSheetTreePanel(){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,loadPanel("#edrawings-sheet-tree-menu","sheetspanel.html")];case 1:_a.sent();return[2]}})})})()}function l_loadLayerPanel(){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,loadPanel("#edrawings-layer-control-menu","layerspanel.html")];case 1:_a.sent();return[2]}})})})()}function l_loadAnnotPanel(){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,loadPanel("#edrawings-annot-control-menu","annotpanel.html")];case 1:_a.sent();return[2]}})})})()}function l_loadTablesPanel(){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,loadPanel("#edrawings-tables-menu","tablespanel.html")];case 1:_a.sent();return[2]}})})})()}function l_loadDebugPanel(){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,loadPanel("#edrawings-debug-menu","debugpanel.html")];case 1:_a.sent();return[2]}})})})()}function l_loadComponentTreePanel(){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){var viewerFeatOpts;return __generator(this,function(_a){switch(_a.label){case 0:return[4,loadPanel("#edrawings-component-tree-menu","componentpanel.html")];case 1:_a.sent();viewerFeatOpts={Exp:false};getRequestedQueryStringParams(location.href,viewerFeatOpts,false);if(viewerFeatOpts.Exp){hide("#edrawings-component-tree-menu .edrawings-menu-info",false)}return[2]}})})})()}function l_loadConfigPanel(){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,loadPanel("#edrawings-configurations-menu","configpanel.html")];case 1:_a.sent();return[2]}})})})()}function l_loadMeasurePanel(){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,loadPanel("#edrawings-measure-menu","measurepanel.html")];case 1:_a.sent();return[2]}})})})()}function l_loadMarkupPanel(){var _this=this;(function(){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,loadPanel("#edrawings-markup-menu","markuppanel.html")];case 1:_a.sent();return[2]}})})})()}function m_makePair(iFirst,iSecond){return{First:iFirst,Second:iSecond}}function l_isActive(iID){return $(iID).hasClass("active-button")}function l_getAllDisplayStateCSSClasses(iHierNode){var classes="";for(var displayState in eDwNodeAttributes_2.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,nodes,list,gen,_a,_b;return __generator(this,function(_c){switch(_c.label){case 0:activeModelView=iViewer.getModel().getActiveModelView();if(!activeModelView||!activeModelView.Hierarchy)return[2];nodes=activeModelView.Hierarchy.findNodes("Category",iCategoryName);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_populateAnnotPanel(iViewer){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=$("#edrawings-annot-control-list");list.empty();gen=getUIGenerator("#edrawings-annot-control-menu");_b=(_a=list).append;return[4,gen.generateHTML("")];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_populateTablesPanel(iViewer){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,l_populatePanel(iViewer,"table","#edrawings-tables-control-list","#edrawings-tables-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();list.append(gen.generateHTMLForChildNodes(modelView.Hierarchy.HOOPSID,false))}});define("eDwView",["require","exports","eDwSelMgr","eDwMeasureMgr","eDwMarkupMgr","eDwXSectionMgr","eDwViewMgr","eDwTimer","eDwOperatorMgr","eDwCompXformMgr","eDwEventMgr","eDwHistoryMgr","eDwModel","eDwTypes","eDwMBDNoteMgr","eDwTouchOpsMgr","eDwTableMgr","eDrawingsBase"],function(require,exports,eDwSelMgr,eDwMeasureMgr,eDwMarkupMgr,eDwXSectionMgr,eDwViewMgr,eDwTimer,eDwOperatorMgr,eDwCompXformMgr,eDwEventMgr,eDwHistoryMgr,eDwModel,eDwTypes_25,eDwMBDNoteMgr,eDwTouchOpsMgr,eDwTableMgr){"use strict";var eDwView=function(){function eDwView(iViewerInfo,iFeatureOptions){this.mElemID=iViewerInfo.containerId;this.HCViewer=new eDwTypes_25.HC.WebViewer(iViewerInfo);this.mTimer=new eDwTimer;this.ViewerFeatureOpts=iFeatureOptions;this.mDrawMode=iFeatureOptions.RenderType;this.OperatorMgr=new eDwOperatorMgr(this);this.TableMgr=new eDwTableMgr(this);var streamAll=this.HCViewer.getStreamingMode()===eDwTypes_25.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.getView()};eDwView.prototype.getModel=function(){if(!this.mModel){this.mModel=new eDwModel(this)}return this.mModel};eDwView.prototype.processProductStructure=function(){this.MBDNoteMgr=new eDwMBDNoteMgr(this);this.mFitCamera=this.getHCView().getCamera();var bbox=this.mModel.getBoundingBox();if(bbox.extents().equals(eDwTypes_25.HC.Point3.zero())){this.mModel.calculateBoundingBox()}$("#"+this.mElemID).trigger("edw:AddViewerEvents",this);this.finishInit()};eDwView.prototype.setupWebViewer=function(){var _this=this;var processingSelection=false;var eventMgr=eDwEventMgr.get();this.mHCCallbacksObj={sceneReady:function(){console.debugLog("ViewerLoad","Scene ready");_this.HCViewer.resizeCanvas()},streamingActivated:function(){console.debugLog("Viewer","Streaming activated")},streamingDeactivated:function(){var streamMode=_this.HCViewer.getStreamingMode();if(streamMode===eDwTypes_25.HC.StreamingMode.All){setTimeout(function(){console.debugLog("Viewer","Streaming finished. Closing connection...");_this.HCViewer.closeConnection()},5e3)}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.fireEvents("Timeout",_this)},modelLoadFailure:function(iModelName,iReason){console.warn("Model "+iModelName+" load failed: "+iReason);eventMgr.fireEvents("ModelLoadFailure",_this,iModelName,iReason)},deprecated:function(iDeprecatedFuncName){console.debugLog("Debug",iDeprecatedFuncName)},info:function(iInfoType,iMsg){console.debugLog("Debug",iInfoType.toString()+" "+iMsg)},missingModel:function(iModelPath){console.debugLog("Debug","Missing model: "+iModelPath)},webGlContextLost:function(){console.debugLog("Debug","Browser lost GL context! Render incomplete!!")},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(iView){eventMgr.fireEvents("ViewCreated",iView)},viewLoaded:function(iView){eventMgr.fireEvents("ViewLoaded",iView)},viewDeleted:function(iView){eventMgr.fireEvents("ViewDeleted",iView)},camera:function(iCamera){eventMgr.fireEvents("CameraChange",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().fireEvents("Done",this)};eDwView.prototype.destroy=function(){this.HCViewer.shutdown()};eDwView.prototype.setExplosionLevel=function(iLevel){this.HCViewer.getExplodeManager().setMagnitude(iLevel);eDwEventMgr.get().fireEvents("ExplodeLevelChange",this,iLevel)};eDwView.prototype.getExplosionLevel=function(){return this.HCViewer.getExplodeManager().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_25.HC.DrawMode.WireframeOnShaded);this.SelectionMgr.setColorForViewMode(eDwTypes_25.HC.DrawMode.WireframeOnShaded);break;case"Shaded":view.setDrawMode(eDwTypes_25.HC.DrawMode.Shaded);this.SelectionMgr.setColorForViewMode(eDwTypes_25.HC.DrawMode.Shaded);break;case"HiddenLinesRemoved":settings.setObscuredLineTransparency(0);view.setDrawMode(eDwTypes_25.HC.DrawMode.HiddenLine);this.SelectionMgr.setColorForViewMode(eDwTypes_25.HC.DrawMode.HiddenLine);break;case"HiddenLinesVisible":settings.setObscuredLineTransparency(.5);view.setDrawMode(eDwTypes_25.HC.DrawMode.HiddenLine);this.SelectionMgr.setColorForViewMode(eDwTypes_25.HC.DrawMode.HiddenLine);break;case"Wireframe":settings.setObscuredLineTransparency(1);view.setDrawMode(eDwTypes_25.HC.DrawMode.HiddenLine);this.SelectionMgr.setColorForViewMode(eDwTypes_25.HC.DrawMode.HiddenLine);break;default:throw new Error("Unknown draw mode: "+iValue)}this.mDrawMode=iValue;eDwEventMgr.get().fireEvents("DrawModeChange",this,iValue)};eDwView.prototype.getPerspectiveMode=function(){return this.getHCView().getProjectionMode()===eDwTypes_25.HC.Projection.Perspective};eDwView.prototype.setPerspectiveMode=function(iValue){if(!iValue){this.getHCView().setProjectionMode(eDwTypes_25.HC.Projection.Orthographic)}else{this.getHCView().setProjectionMode(eDwTypes_25.HC.Projection.Perspective)}eDwEventMgr.get().fireEvents("ProjModeChange",this,iValue);return iValue};eDwView.prototype.resetDrawMode=function(){this.setDrawMode(this.ViewerFeatureOpts.RenderType)};eDwView.prototype.initializeManagers=function(){new eDwSelMgr(this);new eDwMeasureMgr(this);new eDwMarkupMgr(this);new eDwXSectionMgr(this);new eDwViewMgr(this);new eDwCompXformMgr(this);if(eDwTouchOpsMgr.isTouchEnabled()&&this.ViewerFeatureOpts.Exp){new eDwTouchOpsMgr(this)}};eDwView.prototype.drawDebugBoundingBox=function(bbox){return __awaiter(this,void 0,void 0,function(){var modelHC,beautifulGreen,width,height,length,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 Communicator.Color(0,255,0);width=bbox.max.x-bbox.min.x;height=bbox.max.y-bbox.min.y;length=Math.max(width,height);vmin=bbox.min;vmax=bbox.max;p0=new Communicator.Point3(vmin.x,vmin.y,vmax.z);p1=new Communicator.Point3(vmin.x,vmax.y,vmax.z);p2=new Communicator.Point3(vmax.x,vmax.y,vmax.z);p3=new Communicator.Point3(vmax.x,vmin.y,vmax.z);p4=new Communicator.Point3(vmin.x,vmin.y,vmin.z);p5=new Communicator.Point3(vmin.x,vmax.y,vmin.z);p6=new Communicator.Point3(vmax.x,vmax.y,vmin.z);p7=new Communicator.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 Communicator.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 Communicator.MeshInstanceData(key);return[2,modelHC.createMeshInstance(meshInstance)]}})})};eDwView.prototype.finishInit=function(){eDwEventMgr.get().fireEvents("Init",this);this.mModel.notifyDataChange(this.mModel.getActiveModelView());this.HCViewer.enableBackgroundSheet(false);eDwHistoryMgr.get().clear()};return eDwView}();return eDwView});define("eDwViewMgr",["require","exports","eDwEventMgr","eDwTypes","eDrawingsBase"],function(require,exports,eDwEventMgr,eDwTypes_26){"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().fireEvents("StartAnimation",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().fireEvents("StopAnimation",this.mViewer)};eDwViewMgr.prototype.isActive=function(){return this.mViewAnimationActive};eDwViewMgr.prototype.setViewOrientation=function(iEyeDir,iDuration){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);viewHC.fitWorld(iDuration,camera);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().fireEvents("AmbientOcclChange",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_26.HC.Point3.subtract;viewVec=subtract(ioCamera.getPosition(),ioCamera.getTarget());center=bbox.center().copy();ioCamera.setTarget(center);add=eDwTypes_26.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);var self_1=this;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","eDrawingsBase"],function(require,exports,eDwXSectionOperator,eDwGeomUtils,eDwTypes_27,eDwTypes_28){"use strict";var cSectionCapFaceColor=new eDwTypes_28.HC.Color(128,128,128);var cSectionCapOutlineColor=new eDwTypes_28.HC.Color(255,0,0);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.getCuttingManager();this.SectionCapVisibility=false;this.mXSectionIndex=eDwTypes_27.SectionPlaneOrientation.XY.Index}eDwXSectionMgr.prototype.unregister=function(){this.mViewer.OperatorMgr.unregisterCustomOperatorByID(this.mXSectionOpID);this.mViewer.XSectionMgr=null};eDwXSectionMgr.prototype.turnOnSectionPlane=function(iOn){if(this.getHCXSection()){if(iOn){var ret=this.mViewer.OperatorMgr.push(this.mXSectionOpID);console.debugLog("Section","Section plane operator push ret = "+ret);this.HCXSectionMgr.setCappingGeometryVisibility(true)}else{var opID=this.mViewer.OperatorMgr.pop();console.debugLog("Section","Popped op ID = "+opID+" xSection op ID = "+this.mXSectionOpID)}}};eDwXSectionMgr.prototype.activateCurrent=function(){this.getHCXSection().activate()};eDwXSectionMgr.prototype.deactivateCurrent=function(){this.getHCXSection().deactivate()};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,needsActivation,sectionHC,numActive,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_28.HC.Point3.zero()))return[2];needsActivation=false;sectionHC=this.getHCXSection();if(ioSection.Index!==this.mXSectionIndex){if(sectionHC){needsActivation=sectionHC.isActive();sectionHC.deactivate();this.HCXSectionMgr.refreshPlaneGeometry()}this.mXSectionIndex=ioSection.Index;sectionHC=this.getHCXSection()}numActive=this.HCXSectionMgr.getActiveCuttingSectionCount();boxCenter=bbox.center();if(sectionHC.getCount()<1){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_28.HC.Point3.zero();eDwTypes_28.HC.MeasureUtils.oneVectorCross(sectionPlane.normal.copy(),mirrorPlaneNormal);mirrorPlane=eDwTypes_28.HC.Plane.createFromPointAndNormal(centerPt,mirrorPlaneNormal);maxOnPlnPt=eDwTypes_28.HC.Point3.add(centerPt,vec);minOnPlnPt=eDwTypes_28.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_28.HC.Point3.add(maxOnPlnPt,revDistDir));pts.push(maxOnPlnPt);pts.push(eDwTypes_28.HC.Point3.add(minOnPlnPt,distDir));sectionHC=this.getHCXSection();sectionHC.addPlane(sectionPlane,pts);sectionHC.setColor(eDwTypes_28.HC.Color.createFromFloat(0,1,0));sectionHC.setTransparency(.3);needsActivation=true}if(sectionHC&&needsActivation&&iAllowActivation){sectionHC.activate()}this.HCXSectionMgr.setStandinGeometryPickable(true);return[2]}})})};eDwXSectionMgr.prototype.flipSectionPlane=function(){var sectionHC=this.getHCXSection();if(!sectionHC)return;var sectionPlane=sectionHC.getPlane(0);if(!sectionPlane)return;sectionPlane.normal.negate();sectionPlane.d=-sectionPlane.d;sectionHC.updatePlane(0,sectionPlane)};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 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_28.HC.Point3.cross(camZ,camY);var realVec=camX.scale(iDistVec.x).add(camY.scale(iDistVec.y)).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_28.HC.Point3.dot(realVec,normal);if(Math.abs(distance)<1e-6)return;sectionPlane.d-=distance;sectionHC.updatePlane(0,sectionPlane)};Object.defineProperty(eDwXSectionMgr.prototype,"SectionCapVisibility",{get:function(){return this.mEnableSectionCaps},set:function(iEnable){this.mEnableSectionCaps=iEnable;this.setSectionCapVisibility(iEnable)},enumerable:true,configurable:true});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 enable=iEnable;var drawMode=this.mViewer.getDrawMode();if(drawMode!=="Shaded"&&drawMode!=="ShadedWithEdges"){enable=false}this.HCXSectionMgr.setCappingFaceColor(enable?cSectionCapFaceColor:null);this.HCXSectionMgr.setCappingLineColor(enable?null:cSectionCapOutlineColor)};return eDwXSectionMgr}();return eDwXSectionMgr});define("eDwXSectionOperator",["require","exports","eDwTypes","eDwBaseOperator","eDwCommandMgr","eDwMoveSectionPlaneCmd","eDrawingsBase"],function(require,exports,eDwTypes_29,eDwBaseOperator,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=eDwBaseOperator.getPickResult(ioMouseEvent);var selID=selObj.getNodeId();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_29.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.mCurMouse&&this.mSectionDragPt){var coords=ioMouseEvent.getPosition();var current=this.screenToWorld(coords);var delta=eDwTypes_29.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_29.HC.MouseInputType.Down,function(ioMouseEvent){_this.onMouseDown(ioMouseEvent)})};eDwXSectionOperator.prototype.onTouchMove=function(ioTouchEvent){var _this=this;this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_29.HC.MouseInputType.Move,function(ioMouseEvent){_this.onMouseMove(ioMouseEvent)})};eDwXSectionOperator.prototype.onTouchEnd=function(ioTouchEvent){var _this=this;this.wrapAndCallAsMouseEvent(ioTouchEvent,eDwTypes_29.HC.MouseInputType.Up,function(ioMouseEvent){_this.onMouseUp(ioMouseEvent)})};eDwXSectionOperator.prototype.needsSelection=function(iEventType){return iEventType===eDwTypes_29.HC.EventType.MouseDown||iEventType===eDwTypes_29.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}(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:{eDrawingsBase:"eDrawingsBase.min",jquery:"jquery-2.1.4.min","jquery-ui":"jquery-ui-1.11.4.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"]}}});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