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("CTN008635",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