| | |
| | | $(`.${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 () { |
| | | |