15 files modified
1 files added
| | |
| | | }, |
| | | { |
| | | "name": "Cross裁剪", |
| | | "uri": "widgets/BOXInteractive/Widget" |
| | | "uri": "widgets/crossTailoring/Widget" |
| | | } |
| | | ], |
| | | "groups": [], |
| | |
| | | }) |
| | | |
| | | |
| | | that.beginBOXInteractive(); |
| | | // that.beginBOXInteractive(); |
| | | |
| | | }, |
| | | beginBOXInteractive: function () { |
| | |
| | | color: rgb(0, 0, 0); |
| | | z-index: 12 !important; |
| | | border-radius: 10px; |
| | | /* display: none; */ |
| | | display: none; |
| | | box-shadow: 0 0 8px #fff; |
| | | padding: 0px 5px !important; |
| | | } |
| | |
| | | <div> |
| | | <div id="heardbarBOXTailoring"> <span>BOX裁剪-</span> <span id="namebarBOXTailoring">name</span> </div> |
| | | <div id="cesiumContainer"></div> |
| | | <div id='loadingbarBOXTailoring' class="spinner"> |
| | | <div class="spinner-container container1"> |
| | |
| | | $("#customBOXTailoring").unbind("click"); |
| | | $("#clearboxBOXTailoring").unbind("click"); |
| | | var that = this; |
| | | |
| | | var heardsname = $('#namebarBOXTailoring'); |
| | | heardsname.empty(); |
| | | heardsname.append(pro.ZName); |
| | | heardsname = $('#heardbarBOXTailoring'); |
| | | heardsname.attr("title", pro.ZName);; |
| | | |
| | | var promise = window.mySanweiShujuOpens[pro.id]; |
| | | // var promise = window.mySanweiShujuOpens; |
| | | // console.log(pro.ZName); |
| | |
| | | color: red; |
| | | } |
| | | |
| | | .jimu-widget-BOXTailoring button{ |
| | | .jimu-widget-BOXTailoring button { |
| | | line-height: 30px; |
| | | /* width: 80px; */ |
| | | height: 30px; |
| | |
| | | box-shadow: 2px 2px 25px -5px #1679eb; |
| | | } |
| | | |
| | | .jimu-widget-BOXTailoring #lengthBOXTailoring |
| | | ,.jimu-widget-BOXTailoring #widthBOXTailoring |
| | | ,.jimu-widget-BOXTailoring #heightBOXTailoring |
| | | ,.jimu-widget-BOXTailoring #rotateBOXTailoring{ |
| | | .jimu-widget-BOXTailoring #heardbarBOXTailoring { |
| | | width: calc(100% + 12px); |
| | | position: relative; |
| | | left: -6px; |
| | | /* border: 1px solid salmon; */ |
| | | height: 40px; |
| | | background-color: #39A5FD; |
| | | border-radius: 5px 5px 0 0; |
| | | line-height: 40px; |
| | | padding-left: 16px; |
| | | color: #fff; |
| | | font-weight: 500; |
| | | /* font-size: 20px; */ |
| | | } |
| | | |
| | | .jimu-widget-BOXTailoring #heardbarBOXTailoring span:first-child { |
| | | display: inline-block; |
| | | position: relative; |
| | | top: -15px; |
| | | } |
| | | |
| | | .jimu-widget-BOXTailoring #heardbarBOXTailoring #namebarBOXTailoring { |
| | | width: 100px; |
| | | /* border: 1px solid salmon; */ |
| | | display: inline-block; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | height: 40px; |
| | | } |
| | | |
| | | .jimu-widget-BOXTailoring #lengthBOXTailoring, .jimu-widget-BOXTailoring #widthBOXTailoring, .jimu-widget-BOXTailoring #heightBOXTailoring, .jimu-widget-BOXTailoring #rotateBOXTailoring { |
| | | width: 180px; |
| | | } |
| | | |
| | | .jimu-widget-BOXTailoring #toolbarBOXTailoring { |
| | | position: relative; |
| | | top: -20px; |
| | | width: 100%; |
| | | height: calc(100% - 30px); |
| | | margin-top: 20px; |
| | |
| | | align-items: center; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | } |
| | | padding-bottom: 10px; |
| | | } |
| | |
| | | <div> |
| | | <div class="left-navigation-bar-but"> |
| | | <!-- <div class="left-navigation-bar-but"> |
| | | <img class="l-n-b-b-img" src="./images/addL/xzuo.png" alt=""> |
| | | </div> --> |
| | | <div class="left-navigation-bar-but"> |
| | | <img class="l-n-b-b-img" src="./images/addL/目录树.png" alt=""> |
| | | </div> |
| | | <div class="left-navigation-bar-main"> |
| | | <!-- <ul id="treeDemo" class="ztree"></ul> --> |
| | |
| | | var that = this; |
| | | this.getData(); |
| | | |
| | | // $('.left-navigation-bar-but').click(() => { |
| | | // this.changeImg = !this.changeImg; |
| | | // if (this.changeImg) { |
| | | // $('.l-n-b-b-img').attr("src", "./images/addL/xzuo.png"); //打开 |
| | | // $('.jimu-widget-LeftNavigationBar').css({ |
| | | // 'left': '0px' |
| | | // }); |
| | | // $('.jimu-widget-instructions').css({ |
| | | // 'left': '260px' |
| | | // }); |
| | | // } else { |
| | | // $('.l-n-b-b-img').attr("src", "./images/addL/xyou.png"); //关闭 |
| | | // $('.jimu-widget-LeftNavigationBar').css({ |
| | | // 'left': '-250px' |
| | | // }); |
| | | // $('.jimu-widget-instructions').css({ |
| | | // 'left': '10px' |
| | | // }); |
| | | // } |
| | | // }) |
| | | var time = null; |
| | | $('.left-navigation-bar-but').click(() => { |
| | | this.changeImg = !this.changeImg; |
| | | if (this.changeImg) { |
| | | $('.l-n-b-b-img').attr("src", "./images/addL/xzuo.png"); //打开 |
| | | $('.jimu-widget-LeftNavigationBar').css({ |
| | | 'left': '0px' |
| | | if (time != null) { |
| | | clearTimeout(time); |
| | | time = null; |
| | | } |
| | | // $('.l-n-b-b-img').attr("src", "./images/addL/xzuo.png"); //打开 |
| | | $('.left-navigation-bar-main').css({ |
| | | 'display': 'block', |
| | | 'width': '300px', |
| | | 'padding': '10px', |
| | | 'height': 'auto', |
| | | }); |
| | | $('.jimu-widget-instructions').css({ |
| | | 'left': '260px' |
| | | }); |
| | | $('.l-n-b-m-search').css({ |
| | | 'display': 'flex', |
| | | }) |
| | | $('#left-tree-list').css({ |
| | | 'display': 'block', |
| | | }) |
| | | |
| | | } else { |
| | | $('.l-n-b-b-img').attr("src", "./images/addL/xyou.png"); //关闭 |
| | | $('.jimu-widget-LeftNavigationBar').css({ |
| | | 'left': '-250px' |
| | | // $('.l-n-b-b-img').attr("src", "./images/addL/xyou.png"); //关闭 |
| | | $('.l-n-b-m-search').css({ |
| | | 'display': 'none', |
| | | }) |
| | | $('#left-tree-list').css({ |
| | | 'display': 'none', |
| | | }) |
| | | $('.left-navigation-bar-main').css({ |
| | | 'width': '0px', |
| | | 'padding': '0px', |
| | | 'height': '0px', |
| | | }); |
| | | $('.jimu-widget-instructions').css({ |
| | | 'left': '10px' |
| | | }); |
| | | if (time != null) { |
| | | clearTimeout(time); |
| | | time = null; |
| | | } |
| | | time = setTimeout(() => { |
| | | $('.left-navigation-bar-main').css({ |
| | | 'display': 'none' |
| | | }); |
| | | clearTimeout(time); |
| | | time = null; |
| | | }, 500); |
| | | } |
| | | }) |
| | | |
| | |
| | | that[item.id] = scene.open(host + partOfUrl, undefined, { |
| | | autoSetView: false //不自动定位 |
| | | }); |
| | | |
| | | |
| | | window.mySanweiShujuOpens[item.id] = that[item.id]; |
| | | // console.log(222) |
| | | topic.publish('appendTilt', 'Layermanagement', item); |
| | |
| | | .jimu-widget-LeftNavigationBar { |
| | | position: absolute !important; |
| | | /* font-size: 14px; */ |
| | | height: 100% !important; |
| | | height: 0 !important; |
| | | /* height: calc(100%) !important; */ |
| | | width: 250px !important; |
| | | width: 0 !important; |
| | | right: auto !important; |
| | | bottom: auto !important; |
| | | /* left: -250px !important; */ |
| | |
| | | border-radius: 6px 6px 6px 6px; |
| | | /* text-align : center; */ |
| | | /* cursor : pointer; */ |
| | | z-index: 16 !important; |
| | | /* z-index: -10 !important; */ |
| | | box-sizing: border-box; |
| | | /* padding: 0 20px 0 20px!important; */ |
| | | /* display: flex; |
| | |
| | | justify-content: center; */ |
| | | box-shadow: 5px 5px 13px -10px rgba(0, 0, 0, .5); |
| | | transition: all 0.5s; |
| | | /* display: none; */ |
| | | } |
| | | |
| | | /* |
| | | .jimu-widget-LeftNavigationBar .left-navigation-bar-but { |
| | | width: 23px; |
| | | height: 60px; |
| | | /* border: 1px solid springgreen; */ |
| | | border-radius: 0 10px 10px 0; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | position: relative; |
| | | /* left: calc((100% + 23px) / 2); */ |
| | | left: calc(100% - 1px); |
| | | top: calc(50%); |
| | | background-color: #fff; |
| | |
| | | cursor: pointer; |
| | | float: left; |
| | | z-index: 17 !important; |
| | | }*/ |
| | | |
| | | .jimu-widget-LeftNavigationBar .left-navigation-bar-but { |
| | | background: #fff; |
| | | box-shadow: 0 0 8px #fff; |
| | | width: 32px; |
| | | height: 32px; |
| | | border-radius: 14%; |
| | | padding: 0; |
| | | vertical-align: middle; |
| | | z-index: 0; |
| | | box-sizing: border-box; |
| | | display: inline-block; |
| | | position: fixed; |
| | | border: 1px solid #444; |
| | | border-color: #fff; |
| | | fill: #edffff; |
| | | margin: 1px 2px; |
| | | cursor: pointer; |
| | | overflow: hidden; |
| | | user-select: none; |
| | | top: 72px; |
| | | left: 10px; |
| | | z-index: 16 !important; |
| | | } |
| | | |
| | | .jimu-widget-LeftNavigationBar .left-navigation-bar-but img { |
| | | width: 20px; |
| | | width: 30px; |
| | | } |
| | | |
| | | .jimu-widget-LeftNavigationBar .left-navigation-bar-main { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100%; |
| | | padding: 10px; |
| | | position: fixed; |
| | | |
| | | width: 0px; |
| | | height: 0px; |
| | | /* height: 200px; */ |
| | | /* max-height: 1000px; */ |
| | | padding: 0px; |
| | | |
| | | background-color: #fff; |
| | | z-index: 15 !important; |
| | | top: 72px; |
| | | left: 60px; |
| | | border-radius: 5px; |
| | | box-shadow: 0 0 8px #fff; |
| | | transition: all 0.5s; |
| | | display: none; |
| | | /* border: 1px saddlebrown solid; */ |
| | | } |
| | | |
| | | .jimu-widget-LeftNavigationBar #test1 { |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .jimu-widget-LeftNavigationBar .left-navigation-bar-main .l-n-b-m-search { |
| | | position: absolute; |
| | | top: 16px; |
| | | /* position: relative; */ |
| | | /* top: 16px; */ |
| | | width: calc(100% - 20px); |
| | | margin: 0 0 20px 10px; |
| | | height: 40px; |
| | | /* padding: 10px; */ |
| | | border: 1px rgba(0, 0, 0, .2) solid; |
| | |
| | | } |
| | | |
| | | .jimu-widget-LeftNavigationBar .left-navigation-bar-main #left-tree-list { |
| | | position: absolute; |
| | | top: 72px; |
| | | /* position: relative; */ |
| | | /* top: 72px; */ |
| | | width: calc(100% - 20px); |
| | | height: calc(100% - 82px); |
| | | /* height: calc(100% - 82px); */ |
| | | margin: 0 0 5px 10px; |
| | | max-height: 300px; |
| | | overflow-y: auto; |
| | | overflow-x: hidden; |
| | | /* border: 1px saddlebrown solid; */ |
| | | } |
| | | |
| | | |
| | | |
| | | .jimu-widget-LeftNavigationBar .left-navigation-bar-main #test1 { |
| | | height: calc(100% - 58px); |
| | |
| | | .jimu-widget-LeftNavigationBar .left-navigation-bar-main .layui-tree-entry { |
| | | height: auto !important; |
| | | } |
| | | |
| | | |
| | | .left-navigation-bar-main-down:after { |
| | | content: ""; |
| | |
| | | background-color: #2ab9ec |
| | | } |
| | | |
| | | .layui-form-checked[lay-skin=primary] i{ |
| | | .layui-form-checked[lay-skin=primary] i { |
| | | background-color: #36A0FD !important; |
| | | } |
| | | .layui-tree-spread .layui-tree-iconArrow:after{ |
| | | border-color: #c0c4cc transparent transparent transparent !important; |
| | | |
| | | .layui-tree-spread .layui-tree-iconArrow:after { |
| | | border-color: #c0c4cc transparent transparent transparent !important; |
| | | } |
| | | |
| | | .jimu-widget-LeftNavigationBar .layui-tree-main { |
| | |
| | | .jimu-widget-LeftNavigationBar .layui-tree-txt { |
| | | width: calc(100% - 28px); |
| | | overflow: hidden; |
| | | text-overflow:ellipsis; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | } |
| | |
| | | <div> |
| | | crossTailoring |
| | | <div id="toolbar" class="params-setting-container"> |
| | | <div class="params-setting-anchor" title="显示/隐藏参数面板"><span class="fui-expand"></span></div> |
| | | <div id="heardbarcrossTailoring"> <span>Cross裁剪-</span> <span id="namebarcrossTailoring">name</span> </div> |
| | | <!-- crossTailoring --> |
| | | <div id="toolbarcrossTailoring" class="params-setting-container"> |
| | | <!-- <div class="params-setting-anchor" title="显示/隐藏参数面板"><span class="fui-expand"></span></div> --> |
| | | <div class="params-setting"> |
| | | <table> |
| | | <tbody> |
| | | <tr> |
| | | <td><label>裁剪宽度:</label></td> |
| | | <td> |
| | | <input type="range" id="clip-width" min="1" max="100" step="1" data-bind="value: width, valueUpdate: 'input'"> |
| | | <div class="sliders" id="widthcrossTailoring"></div> |
| | | </td> |
| | | <td> |
| | | <input type="number" id="clip-width-label" min="1" max="100" step="1" data-bind="value: width, valueUpdate: 'input'" /> |
| | | <input readonly="readonly" class="slidersNum" type="text" id="clip-width-label" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td><label>裁剪高度:</label></td> |
| | | <td> |
| | | <input type="range" id="clip-height" min="1" max="100" step="1" data-bind="value: height, valueUpdate: 'input'"> |
| | | <div class="sliders" id="heightcrossTailoring"></div> |
| | | </td> |
| | | <td> |
| | | <input type="number" id="clip-height-label" min="1" max="100" step="1" data-bind="value: height, valueUpdate: 'input'" /> |
| | | <input readonly="readonly" class="slidersNum" type="text" id="clip-height-label" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td><label>绕X轴旋转:</label></td> |
| | | <td> |
| | | <input id="pitch" type="range" min="0" max="360" step="1.0" data-bind="value: pitch, valueUpdate: 'input'"> |
| | | <div class="sliders" id="pitchcrossTailoring"></div> |
| | | </td> |
| | | <td> |
| | | <input type="number" min="0" max="360" step="1" data-bind="value: pitch, valueUpdate: 'input'"> |
| | | <input readonly="readonly" class="slidersNum" type="text" id="clip-pitch-label" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td><label>绕Y轴旋转:</label></td> |
| | | <td> |
| | | <input id="roll" type="range" min="0" max="360" step="1.0" data-bind="value: roll, valueUpdate: 'input'"> |
| | | <div class="sliders" id="rollcrossTailoring"></div> |
| | | </td> |
| | | <td> |
| | | <input type="number" min="0" max="360" step="1.0" data-bind="value: roll, valueUpdate: 'input'"> |
| | | <input readonly="readonly" class="slidersNum" type="text" id="clip-roll-label" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | |
| | | <label>绕Z轴旋转:</label> |
| | | </td> |
| | | <td> |
| | | <input id="heading" type="range" min="0" max="360" step="1.0" data-bind="value: heading, valueUpdate: 'input'"> |
| | | <div class="sliders" id="headingcrossTailoring"></div> |
| | | </td> |
| | | <td> |
| | | <input type="number" min="0" max="360" step="1.0" data-bind="value: heading, valueUpdate: 'input'"> |
| | | <input readonly="readonly" class="slidersNum" type="text" id="clip-heading-label" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td><label>拉伸:</label></td> |
| | | <td> |
| | | <input id="extrude" type="range" min="0.1" max="30" step="0.1" data-bind="value: extrudeDistance, valueUpdate: 'input'"> |
| | | <div class="sliders" id="extrudecrossTailoring"></div> |
| | | </td> |
| | | <td> |
| | | <input type="number" min="0.1" max="30" step="0.5" data-bind="value: extrudeDistance, valueUpdate: 'input'"> |
| | | <input readonly="readonly" class="slidersNum" type="text" id="clip-extrude-label" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="3"> |
| | | <input type="button" id="choose-clip-pos" class="button black" value="选取裁剪位置" /> |
| | | <input type="button" id="clear" class="button black" value="清除" style="margin-left: 10px;" /> |
| | | <input type="button" id="choose-clip-poscrossTailoring" class="button black" |
| | | value="选取裁剪位置" /> |
| | | <input type="button" id="clearcrossTailoring" class="button black" value="清除" |
| | | style="margin-left: 10px;" /> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | |
| | | $(`.${that.baseClass}`).hide(); |
| | | that.closescrossTailoring(); |
| | | }) |
| | | |
| | | |
| | | that.begincrossTailoring(); |
| | | that.defaultSlider(); |
| | | // that.begincrossTailoring(); |
| | | |
| | | }, |
| | | begincrossTailoring: function () { |
| | | defaultSlider: function () { |
| | | var that = this; |
| | | that.promise = ''; |
| | | layui.use(function () { |
| | | var slider = layui.slider //滑块 |
| | | //滑块 |
| | | var sliderInst1 = slider.render({ |
| | | elem: '#widthcrossTailoring' |
| | | , value: that.Owidth |
| | | , disabled: true |
| | | }); |
| | | var sliderInst2 = slider.render({ |
| | | elem: '#heightcrossTailoring' |
| | | , value: that.Oheight |
| | | , disabled: true |
| | | }); |
| | | var sliderInst3 = slider.render({ |
| | | elem: '#pitchcrossTailoring' |
| | | , value: that.Opitch |
| | | , max: 360 |
| | | , disabled: true |
| | | }); |
| | | var sliderInst4 = slider.render({ |
| | | elem: '#rollcrossTailoring' |
| | | , value: that.Oroll |
| | | , max: 360 |
| | | , disabled: true |
| | | }); |
| | | var sliderInst4 = slider.render({ |
| | | elem: '#headingcrossTailoring' |
| | | , value: that.Oheading |
| | | , max: 360 |
| | | , disabled: true |
| | | }); |
| | | var sliderInst4 = slider.render({ |
| | | elem: '#extrudecrossTailoring' |
| | | , value: that.OextrudeDistance |
| | | , max: 30 |
| | | , disabled: true |
| | | }); |
| | | }) |
| | | |
| | | $('#clip-width-label').val(that.Owidth); |
| | | $('#clip-height-label').val(that.Oheight); |
| | | $('#clip-heading-label').val(that.Oheading); |
| | | $('#clip-pitch-label').val(that.Opitch); |
| | | $('#clip-roll-label').val(that.Oroll); |
| | | $('#clip-extrude-label').val(that.OextrudeDistance); |
| | | |
| | | }, |
| | | Owidth: 5, |
| | | Oheight: 5, |
| | | Oheading: 0, |
| | | Opitch: 0, |
| | | Oroll: 0, |
| | | OextrudeDistance: 1.0, |
| | | begincrossTailoring: function (pro) { |
| | | console.log(`${this.name}--kaishi`); |
| | | var that = this; |
| | | // console.log(pro.src) |
| | | // return |
| | | var heardsname = $('#namebarcrossTailoring'); |
| | | heardsname.empty(); |
| | | heardsname.append(pro.ZName); |
| | | heardsname = $('#heardbarcrossTailoring'); |
| | | heardsname.attr("title", pro.ZName);; |
| | | |
| | | |
| | | var viewer = that.map; |
| | | |
| | | var scene = viewer.scene; |
| | | scene.globe.depthTestAgainstTerrain = false; |
| | | |
| | | |
| | | that.promise = window.mySanweiShujuOpens[pro.id]; |
| | | |
| | | console.log(pro.id) |
| | | console.log(that.promise) |
| | | // that.promise = scene.open(window.MYURL_CONFIG.SCENE_BIMBUILDING); |
| | | that.promise.then(function (layers) { |
| | | // 精准定位 |
| | | // scene.camera.setView({ |
| | | // destination: new Cesium.Cartesian3(-2180765.6717242915, 4379147.755349731, 4092644.516292509), |
| | | // orientation: { |
| | | // heading: 1.5751279310014885, |
| | | // pitch: -1.493948327772495, |
| | | // roll: 3.1415926535996626 |
| | | // } |
| | | // }); |
| | | // var actives = function(){ |
| | | var boxPosition, position, dim, |
| | | width = that.Owidth, |
| | | height = that.Oheight, |
| | | heading = that.Oheading, |
| | | pitch = that.Opitch, |
| | | roll = that.Oroll, |
| | | extrudeDistance = that.OextrudeDistance, |
| | | hasClipped = false; |
| | | that.startClip = false; |
| | | that.box = viewer.entities.add({ // 标识盒 |
| | | position: Cesium.Cartesian3.fromDegrees(0, 0, 0), |
| | | show: false, |
| | | box: { |
| | | dimensions: new Cesium.Cartesian3(5, 5, 0.1), |
| | | fill: false, |
| | | outline: true, |
| | | outlineColor: Cesium.Color.WHITE, |
| | | outlineWidth: 5.0 |
| | | } |
| | | }); |
| | | |
| | | $("#choose-clip-poscrossTailoring").on("click", function () { |
| | | if (that.handler) { |
| | | that.handler.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE); |
| | | that.handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); |
| | | that.handler = ''; |
| | | } |
| | | that.handler = new Cesium.ScreenSpaceEventHandler(scene.canvas); |
| | | that.handler.setInputAction(function (movement) { |
| | | if (that.startClip) { |
| | | boxPosition = scene.pickPosition(movement.endPosition); |
| | | if (!boxPosition) { |
| | | return; |
| | | } |
| | | that.box.position = boxPosition; |
| | | } |
| | | }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); |
| | | |
| | | that.handler.setInputAction(function (evt) { |
| | | if (that.startClip) { |
| | | position = scene.pickPosition(evt.position); |
| | | if (!position) { |
| | | return; |
| | | } |
| | | var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll)); |
| | | var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr); |
| | | that.box.orientation = orientation; |
| | | dim = new Cesium.Cartesian3(width, height, extrudeDistance); |
| | | updateClip(); |
| | | that.startClip = false; |
| | | hasClipped = true; |
| | | that.box.show = false; |
| | | viewer.enableCursorStyle = true; |
| | | $('body').removeClass('drawCurshizi'); |
| | | that.handler.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE); |
| | | that.handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); |
| | | } |
| | | }, Cesium.ScreenSpaceEventType.LEFT_CLICK); |
| | | // $("#choose-clip-poscrossTailoring").on("click", function () { |
| | | layui.use(function () { |
| | | var slider = layui.slider //滑块 |
| | | //滑块 |
| | | var sliderInst1 = slider.render({ |
| | | elem: '#widthcrossTailoring' |
| | | // , input: true //输入框 |
| | | , value: that.Owidth |
| | | , disabled: false |
| | | , change: function (value) { |
| | | width = Number(value); |
| | | that.Owidth = Number(value); |
| | | $('#clip-width-label').val(value); |
| | | that.box.box.dimensions = new Cesium.Cartesian3(width, height, 0.1); |
| | | dim = new Cesium.Cartesian3(width, height, extrudeDistance); |
| | | if (!position) { |
| | | return; |
| | | } |
| | | if (hasClipped) { |
| | | updateClip(); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | var sliderInst2 = slider.render({ |
| | | elem: '#heightcrossTailoring' |
| | | // , input: true //输入框 |
| | | , value: that.Oheight |
| | | , disabled: false |
| | | , change: function (value) { |
| | | height = Number(value); |
| | | that.Oheight = Number(value); |
| | | $('#clip-height-label').val(value); |
| | | that.box.box.dimensions = new Cesium.Cartesian3(width, height, 0.1); |
| | | dim = new Cesium.Cartesian3(width, height, extrudeDistance); |
| | | if (!position) { |
| | | return; |
| | | } |
| | | if (hasClipped) { |
| | | updateClip(); |
| | | } |
| | | } |
| | | }); |
| | | var sliderInst3 = slider.render({ |
| | | elem: '#headingcrossTailoring' |
| | | // , input: true //输入框 |
| | | , value: that.Oheading |
| | | , max: 360 |
| | | , disabled: false |
| | | , change: function (value) { |
| | | heading = Number(value); |
| | | that.Oheading = Number(value); |
| | | $('#clip-heading-label').val(value); |
| | | var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll)); |
| | | var orientation = Cesium.Transforms.headingPitchRollQuaternion(boxPosition, hpr); |
| | | that.box.orientation = orientation; |
| | | if (!position) { |
| | | return; |
| | | } |
| | | if (hasClipped) { |
| | | updateClip(); |
| | | } |
| | | } |
| | | }); |
| | | var sliderInst4 = slider.render({ |
| | | elem: '#pitchcrossTailoring' |
| | | // , input: true //输入框 |
| | | , value: that.Opitch |
| | | , max: 360 |
| | | , disabled: false |
| | | , change: function (value) { |
| | | pitch = Number(value); |
| | | that.Opitch = Number(value); |
| | | $('#clip-pitch-label').val(value); |
| | | var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll)); |
| | | var orientation = Cesium.Transforms.headingPitchRollQuaternion(boxPosition, hpr); |
| | | that.box.orientation = orientation; |
| | | if (!position) { |
| | | return; |
| | | } |
| | | if (hasClipped) { |
| | | updateClip(); |
| | | } |
| | | } |
| | | }); |
| | | var sliderInst5 = slider.render({ |
| | | elem: '#rollcrossTailoring' |
| | | // , input: true //输入框 |
| | | , value: that.Oroll |
| | | , max: 360 |
| | | , disabled: false |
| | | , change: function (value) { |
| | | roll = Number(value); |
| | | that.Oroll = Number(value); |
| | | $('#clip-roll-label').val(value); |
| | | var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll)); |
| | | var orientation = Cesium.Transforms.headingPitchRollQuaternion(boxPosition, hpr); |
| | | that.box.orientation = orientation; |
| | | if (!position) { |
| | | return; |
| | | } |
| | | if (hasClipped) { |
| | | updateClip(); |
| | | } |
| | | } |
| | | }); |
| | | var sliderInst6 = slider.render({ |
| | | elem: '#extrudecrossTailoring' |
| | | // , input: true //输入框 |
| | | , value: that.OextrudeDistance |
| | | , max: 30 |
| | | , step: 0.1 |
| | | , disabled: false |
| | | , change: function (value) { |
| | | extrudeDistance = Number(value); |
| | | that.OextrudeDistance = Number(value); |
| | | $('#clip-extrude-label').val(value); |
| | | if (hasClipped) { |
| | | updateClip(); |
| | | } |
| | | } |
| | | }); |
| | | }) |
| | | // } |
| | | |
| | | // $("#choose-clip-poscrossTailoring").on("click", function () { |
| | | that.startClip = true; |
| | | that.box.show = true; |
| | | // actives(); |
| | | viewer.enableCursorStyle = false; |
| | | viewer._element.style.cursor = ''; |
| | | $('body').removeClass('drawCurshizi').addClass('drawCurshizi'); |
| | | }); |
| | | $("#clearcrossTailoring").on("click", function () { |
| | | // that.startClip = false; |
| | | // that.box.show = false; |
| | | // for (var i = 0, j = layers.length; i < j; i++) { |
| | | // layers[i].clearCustomClipBox(); |
| | | // }; |
| | | // viewer.entities.removeAll(); |
| | | that.closescrossTailoring(); |
| | | }); |
| | | |
| | | // 折叠参数面板 |
| | | $(".params-setting-anchor").click(function () { |
| | | $(".params-setting").toggleClass("params-setting-hide"); |
| | | }); |
| | | |
| | | function updateClip() { |
| | | for (var i = 0, j = layers.length; i < j; i++) { |
| | | layers[i].setCustomClipCross({ |
| | | position: position, |
| | | dimensions: dim, |
| | | heading: heading, |
| | | pitch: pitch, |
| | | roll: roll, |
| | | extrudeDistance: extrudeDistance |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | }, |
| | | handler: '', |
| | | box: '', |
| | | startClip: false, |
| | | promise: 'null', |
| | | closescrossTailoring: function (froms) { |
| | | console.log(`${this.name}--guanbi`); |
| | | var that = this; |
| | | console.log(that.promise, 45343463) |
| | | that.startClip = false; |
| | | that.box.show = false; |
| | | if (that.promise != 'null') { |
| | | that.promise.then(function (layers) { |
| | | for (var i = 0, j = layers.length; i < j; i++) { |
| | | layers[i].clearCustomClipBox(); |
| | | }; |
| | | }); |
| | | that.map.entities.removeAll(); |
| | | } |
| | | that.defaultSlider(); |
| | | }, |
| | | onOpen: function () { |
| | | |
| | |
| | | position: fixed !important; |
| | | top: 72px !important; |
| | | right: 388px !important; |
| | | width: 200px !important; |
| | | height: 40px !important; |
| | | width: 280px !important; |
| | | height: 330px !important; |
| | | background-color: rgb(255, 255, 255); |
| | | font-size: 14px; |
| | | color: rgb(0, 0, 0); |
| | | z-index: 12 !important; |
| | | border-radius: 10px; |
| | | /* display: none; */ |
| | | display: none; |
| | | box-shadow: 0 0 8px #fff; |
| | | padding: 0px 5px !important; |
| | | } |
| | |
| | | color: red; |
| | | } |
| | | |
| | | /* .jimu-widget-crossTailoring .but { |
| | | .jimu-widget-crossTailoring .button { |
| | | line-height: 30px; |
| | | width: 80px; |
| | | /* width: 80px; */ |
| | | height: 30px; |
| | | font-size: 14px; |
| | | border-radius: 5px; |
| | | box-shadow: 2px 2px 15px -5px #378ef1; |
| | | border: 1px solid transparent; |
| | | border: 1px solid transparent; |
| | | background-color: #fff; |
| | | padding: 0 8px; |
| | | position: relative; |
| | | left: 50px; |
| | | top: 10px; |
| | | } |
| | | |
| | | .jimu-widget-crossTailoring .but:hover { |
| | | .jimu-widget-crossTailoring #heardbarcrossTailoring { |
| | | width: calc(100% + 12px); |
| | | position: relative; |
| | | left: -6px; |
| | | /* border: 1px solid salmon; */ |
| | | height: 40px; |
| | | background-color: #39A5FD; |
| | | border-radius: 5px 5px 0 0; |
| | | line-height: 40px; |
| | | padding-left: 16px; |
| | | color: #fff; |
| | | font-weight: 500; |
| | | /* font-size: 20px; */ |
| | | } |
| | | |
| | | .jimu-widget-crossTailoring #heardbarcrossTailoring span:first-child { |
| | | display: inline-block; |
| | | position: relative; |
| | | top: -15px; |
| | | } |
| | | |
| | | .jimu-widget-crossTailoring #heardbarcrossTailoring #namebarcrossTailoring { |
| | | width: 170px; |
| | | /* border: 1px solid salmon; */ |
| | | display: inline-block; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | height: 40px; |
| | | } |
| | | |
| | | .jimu-widget-crossTailoring .button:hover { |
| | | box-shadow: 2px 2px 25px -5px #1679eb; |
| | | } */ |
| | | } |
| | | |
| | | .jimu-widget-crossTailoring .sliders { |
| | | width: 150px; |
| | | } |
| | | |
| | | .jimu-widget-crossTailoring .slidersNum { |
| | | width: 28px; |
| | | } |
| | | |
| | | .jimu-widget-crossTailoring #toolbarcrossTailoring { |
| | | position: absolute; |
| | | top: 50px; |
| | | } |
| | | |
| | | .jimu-widget-crossTailoring #toolbarcrossTailoring tr { |
| | | width: 100%; |
| | | height: 35px; |
| | | /* padding: 20px 0; */ |
| | | } |
| | |
| | | /* min-width: 160px !important; */ |
| | | right: auto !important; |
| | | bottom: auto !important; |
| | | left: 260px; |
| | | top: 40px !important; |
| | | left: 60px !important; |
| | | top: 20px !important; |
| | | /* 240px */ |
| | | background: rgba(255, 255, 255, 1); |
| | | color: #fff; |
| | |
| | | classs: 'BOXTailoring-tool', |
| | | img: './images/addL/BOX裁剪.png' |
| | | } |
| | | , |
| | | {//Cross裁剪 |
| | | name: 'Cross裁剪', |
| | | classs: 'crossTailoring-tool', |
| | | img: './images/addL/BOX裁剪.png' |
| | | } |
| | | ]; |
| | | |
| | | that.beginSpatialAnalysis(domHtmls); |
| | |
| | | } |
| | | }) |
| | | |
| | | //Cross裁剪 |
| | | $('.crossTailoring-tool').click(function () { |
| | | that.closeOnceUse(); |
| | | |
| | | if (that.promise == 'NODATA') { |
| | | layer.tips('请选择三维倾斜数据中的图层支持!', '.SelectLayerTool', { |
| | | tips: [3, 'red'] |
| | | }); |
| | | } else { |
| | | $(".jimu-widget-crossTailoring").show(); |
| | | topic.publish('begincrossTailoring', that.promise); |
| | | } |
| | | }) |
| | | |
| | | $('.SelectLayerTool').click(() => { |
| | | $('#SelectLayerToolItem').toggle(); |
| | | }) |
| | |
| | | if ($(".jimu-widget-BOXTailoring").is(":visible")) {//判断是否隐藏 |
| | | $(".jimu-widget-BOXTailoring").hide(); |
| | | topic.publish('closesBOXTailoring'); |
| | | } |
| | | |
| | | //关闭Cross裁剪 |
| | | if ($(".jimu-widget-crossTailoring").is(":visible")) {//判断是否隐藏 |
| | | $(".jimu-widget-crossTailoring").hide(); |
| | | topic.publish('closescrossTailoring'); |
| | | } |
| | | }, |
| | | liClick: function (itemid, name, ourdata = 1) {//点击事件 |
| | |
| | | topic.publish('closesBOXTailoring'); |
| | | } |
| | | |
| | | //关闭Cross裁剪 |
| | | if ($(".jimu-widget-crossTailoring").is(":visible")) {//判断是否隐藏 |
| | | $(".jimu-widget-crossTailoring").hide(); |
| | | topic.publish('closescrossTailoring'); |
| | | } |
| | | |
| | | }, |
| | | onOpen: function () { |
| | | }, |
| | |
| | | .jimu-widget-spatialAnalysis { |
| | | position: absolute !important; |
| | | font-size: 14px; |
| | | height: 398px !important; |
| | | height: 408px !important; |
| | | width: 318px !important; |
| | | /* 240px */ |
| | | background: rgb(254, 254, 254); |