@kq_npm/client3d_webgl_vue 4.1.1-beta → 4.1.2-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -7403,6 +7403,20 @@ class MeasureViewModel {
7403
7403
  this._viewer.scene.globe.depthTestAgainstTerrain = true;
7404
7404
 
7405
7405
  this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.Coordinate);
7406
+ } //地形坡度测量
7407
+
7408
+
7409
+ terrainSlopeMeasure() {
7410
+ this._viewer.scene.globe.depthTestAgainstTerrain = true;
7411
+
7412
+ this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.TerrainSlope);
7413
+ } //场景坡度测量
7414
+
7415
+
7416
+ sceneSlopeMeasure() {
7417
+ this._viewer.scene.globe.depthTestAgainstTerrain = true;
7418
+
7419
+ this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.SceneSlope);
7406
7420
  } //结束测量
7407
7421
 
7408
7422
 
@@ -7724,12 +7738,18 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
7724
7738
  spaceDistance: res.distance ? res.distance.toFixed(2) : 0,
7725
7739
  horizontalDistance: res.hDistance ? res.hDistance.toFixed(2) : 0,
7726
7740
  verticalDistance: res.vDistance ? res.vDistance.toFixed(2) : 0,
7727
- angle: res.angle ? res.angle.toFixed(2) : 0
7741
+ angle: res.angle ? res.angle.toFixed(2).replace(/\.?0+$/, '') : 0
7728
7742
  };
7729
7743
  } else if (measureType.value === "area") {
7730
7744
  if (res && res.area) result.value = formatArea(res.area);
7731
- } else if (measureType.value === "azimuth") {
7732
- if (res && res.azimuth) result.value = formatAzimuth(res.azimuth);
7745
+ } else if (measureType.value === "azimuth" && res) {
7746
+ if (res.positions && res.positions.length > 0) {
7747
+ result.value = res.azimuth.toFixed(4) + " °";
7748
+ } else result.value = 0;
7749
+ } else if (measureType.value === "slope" && res) {
7750
+ if (res.positions && res.positions.length > 0) {
7751
+ result.value = res.slopeAngle.toFixed(2).replace(/\.?0+$/, '') + " °";
7752
+ } else result.value = 0;
7733
7753
  } else if (measureType.value === "coordinate") {
7734
7754
  if (res && res.coordinate) {
7735
7755
  result.value = {
@@ -7749,8 +7769,9 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
7749
7769
  });
7750
7770
  viewModel.activeEvent.addEventListener(function (active) {
7751
7771
  if (!active) {
7752
- if (measureType.value === "height" && result.value.angle === 0) return;
7753
7772
  isActive.value = null;
7773
+ if (measureType.value === "height" && result.value.angle === 0) return;
7774
+ if (measureType.value === "azimuth" && result.value === 0) return;
7754
7775
  isResult.value = true;
7755
7776
  }
7756
7777
  });
@@ -7803,11 +7824,6 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
7803
7824
 
7804
7825
  return area.toFixed(2) + " " + unit;
7805
7826
  }
7806
-
7807
- function formatAzimuth(azimuth) {
7808
- var unit = "°";
7809
- return azimuth.toFixed(4) + " " + unit;
7810
- }
7811
7827
  /**
7812
7828
  * @description 监听单位变化操作
7813
7829
  * @param {string} unit - 单位
@@ -7897,6 +7913,19 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
7897
7913
  viewModel.coordinateMeasure();
7898
7914
  break;
7899
7915
 
7916
+ case "azimuth":
7917
+ viewModel.azimuthMeasure();
7918
+ break;
7919
+
7920
+ case "slope":
7921
+ if (mode.value === "ground") {
7922
+ viewModel.terrainSlopeMeasure();
7923
+ } else if (mode.value === "model") {
7924
+ viewModel.sceneSlopeMeasure();
7925
+ }
7926
+
7927
+ break;
7928
+
7900
7929
  default:
7901
7930
  break;
7902
7931
  }
@@ -7917,7 +7946,6 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
7917
7946
  loadModeData,
7918
7947
  formatDistance,
7919
7948
  formatArea,
7920
- formatAzimuth,
7921
7949
  startMeasure,
7922
7950
  clearMeasure
7923
7951
  });
@@ -8022,7 +8050,25 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
8022
8050
  }, 8
8023
8051
  /* PROPS */
8024
8052
  , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
8025
- onClick: _cache[4] || (_cache[4] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withModifiers)($event => startMeasure('coordinate'), ["stop"])),
8053
+ onClick: _cache[4] || (_cache[4] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withModifiers)($event => startMeasure('azimuth'), ["stop"])),
8054
+ class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(isActive) == 'azimuth' ? 'is-active' : null),
8055
+ title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).azimuth
8056
+ }, {
8057
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_icon, {
8058
+ size: 24
8059
+ }, {
8060
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(client_icons_vue_namespaceObject.IconAzimuthMeasure))]),
8061
+ _: 1
8062
+ /* STABLE */
8063
+
8064
+ })]),
8065
+ _: 1
8066
+ /* STABLE */
8067
+
8068
+ }, 8
8069
+ /* PROPS */
8070
+ , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
8071
+ onClick: _cache[5] || (_cache[5] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withModifiers)($event => startMeasure('coordinate'), ["stop"])),
8026
8072
  class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(isActive) == 'coordinate' ? 'is-active' : null),
8027
8073
  title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).coordinate
8028
8074
  }, {
@@ -8039,7 +8085,25 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
8039
8085
 
8040
8086
  }, 8
8041
8087
  /* PROPS */
8042
- , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
8088
+ , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
8089
+ onClick: _cache[6] || (_cache[6] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withModifiers)($event => startMeasure('slope'), ["stop"])),
8090
+ class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(isActive) == 'slope' ? 'is-active' : null),
8091
+ title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).slope
8092
+ }, {
8093
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_icon, {
8094
+ size: 24
8095
+ }, {
8096
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(client_icons_vue_namespaceObject.IconSlopeMeasure))]),
8097
+ _: 1
8098
+ /* STABLE */
8099
+
8100
+ })]),
8101
+ _: 1
8102
+ /* STABLE */
8103
+
8104
+ }, 8
8105
+ /* PROPS */
8106
+ , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(mode) != 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
8043
8107
  type: "danger",
8044
8108
  plain: "",
8045
8109
  onClick: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withModifiers)(clearMeasure, ["stop"]),
@@ -8059,7 +8123,7 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
8059
8123
 
8060
8124
  }, 8
8061
8125
  /* PROPS */
8062
- , ["onClick", "title"])]), !!(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(isActive) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)("div", Measurevue_type_script_setup_true_lang_js_hoisted_6, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_divider), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(measureType) === 'height' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)("p", Measurevue_type_script_setup_true_lang_js_hoisted_7, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).measureTips1), 1
8126
+ , ["onClick", "title"])]), !!(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(isActive) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)("div", Measurevue_type_script_setup_true_lang_js_hoisted_6, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_divider), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(measureType) === 'height' || (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(measureType) === 'azimuth' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)("p", Measurevue_type_script_setup_true_lang_js_hoisted_7, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).measureTips1), 1
8063
8127
  /* TEXT */
8064
8128
  )) : ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)("p", Measurevue_type_script_setup_true_lang_js_hoisted_8, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).measureTips), 1
8065
8129
  /* TEXT */
@@ -8067,7 +8131,7 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
8067
8131
  /* TEXT */
8068
8132
  ), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_select, {
8069
8133
  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(distanceUnit),
8070
- "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.isRef)(distanceUnit) ? distanceUnit.value = $event : distanceUnit = $event),
8134
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.isRef)(distanceUnit) ? distanceUnit.value = $event : distanceUnit = $event),
8071
8135
  onChange: onChangeUnit
8072
8136
  }, {
8073
8137
  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.Fragment, null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.renderList)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(distanceUnits), item => {
@@ -14178,6 +14242,7 @@ class ModelExcavateViewModel {
14178
14242
  //Box裁剪存储参数对象
14179
14243
  //绘制管理对象
14180
14244
  //绘制完成监听事件
14245
+ //Kq3dWallPrimitive
14181
14246
  constructor(scenceView, options) {
14182
14247
  _defineProperty(this, "_viewer", null);
14183
14248
 
@@ -14189,28 +14254,165 @@ class ModelExcavateViewModel {
14189
14254
 
14190
14255
  _defineProperty(this, "_removeEventListener", null);
14191
14256
 
14257
+ _defineProperty(this, "_wallPrimitive", void 0);
14258
+
14259
+ _defineProperty(this, "entity0", null);
14260
+
14261
+ _defineProperty(this, "wall", null);
14262
+
14263
+ _defineProperty(this, "ratio", 0.01);
14264
+
14265
+ _defineProperty(this, "ii", 1);
14266
+
14267
+ _defineProperty(this, "scratchCartesian2", new window.Cesium.Cartesian3());
14268
+
14269
+ _defineProperty(this, "scratchCartesian3", new window.Cesium.Cartesian3());
14270
+
14271
+ _defineProperty(this, "scratchCartesian4", new window.Cesium.Cartesian3());
14272
+
14273
+ _defineProperty(this, "scratchCartesian5", new window.Cesium.Cartesian3());
14274
+
14275
+ _defineProperty(this, "scratchCartesian6", new window.Cesium.Cartesian3());
14276
+
14277
+ _defineProperty(this, "scratchCartesian7", new window.Cesium.Cartesian3());
14278
+
14279
+ _defineProperty(this, "intervalId", null);
14280
+
14281
+ _defineProperty(this, "g_flattenedPolygonTexture", null);
14282
+
14192
14283
  this._viewer = scenceView._viewer;
14193
14284
  this._options = options;
14194
14285
  this._drawManager = scenceView._drawManager;
14195
14286
  this._viewer.scene.globe.depthTestAgainstTerrain = true; //开启深度检测
14196
- // var kq3dFlattenning = new window.Cesium.Kq3dFlattenning(this._viewer, {});
14197
- // var g_flattenedPolygonTexture = kq3dFlattenning.createFlattenedPolygonTexture();
14198
14287
 
14288
+ let kq3dFlattenning = new window.Cesium.Kq3dFlattenning(this._viewer, {});
14289
+ this.g_flattenedPolygonTexture = kq3dFlattenning.createFlattenedPolygonTexture();
14199
14290
  var that = this;
14200
14291
  this._removeEventListener = this._drawManager.drawFinishedEvent.addEventListener(shape => {
14201
14292
  if (shape) {
14202
14293
  that._options.positions = shape._controlPoints;
14203
- this._Kq3dTerrainExcavation = this._Kq3dTerrainExcavation && this._Kq3dTerrainExcavation.destroy();
14204
- this._Kq3dTerrainExcavation = new window.Cesium.Kq3dTerrainExcavation({
14205
- viewer: this.viewer,
14206
- height: this._options.height,
14207
- positions: that._options.positions,
14208
- hasWall: false
14209
- });
14294
+ that.createDynamicExcavationEffect();
14210
14295
 
14211
14296
  that._drawManager.clear();
14212
14297
  }
14213
14298
  });
14299
+ } // 创建开挖模型
14300
+
14301
+
14302
+ createDynamicExcavationEffect() {
14303
+ this._Kq3dTerrainExcavation && this._Kq3dTerrainExcavation.destroy();
14304
+ this._Kq3dTerrainExcavation = new window.Cesium.Kq3dTerrainExcavation({
14305
+ viewer: this._viewer,
14306
+ height: this._options.height,
14307
+ positions: this._options.positions,
14308
+ hasWall: false
14309
+ });
14310
+
14311
+ if (this._wallPrimitive) {
14312
+ this._viewer.scene.primitives.remove(this._wallPrimitive);
14313
+
14314
+ this._wallPrimitive = undefined;
14315
+ }
14316
+
14317
+ this._wallPrimitive = new window.Cesium.Kq3dWallPrimitive({
14318
+ viewer: this._viewer,
14319
+ height: this._options.height,
14320
+ positions: this._options.positions,
14321
+ elevationOnTerrain: false
14322
+ });
14323
+
14324
+ this._viewer.scene.primitives.add(this._wallPrimitive);
14325
+
14326
+ let that = this;
14327
+
14328
+ this._wallPrimitive._readyEvent.addEventListener(function (eventType) {
14329
+ if (eventType != "Ready") {
14330
+ return;
14331
+ }
14332
+
14333
+ that.intervalId = setInterval(function () {
14334
+ if (that.ii > 100) {
14335
+ if (that.entity0) {
14336
+ that._viewer.scene.primitives.remove(that.entity0);
14337
+
14338
+ that.entity0 = undefined;
14339
+ }
14340
+
14341
+ if (that.wall) {
14342
+ that._viewer.scene.primitives.remove(that.wall);
14343
+
14344
+ that.wall = undefined;
14345
+ }
14346
+
14347
+ clearInterval(that.intervalId);
14348
+ that.ii = 0;
14349
+ return;
14350
+ }
14351
+
14352
+ var carto2 = window.Cesium.Cartesian3.lerp(that._options.positions[0], that._options.positions[3], that.ratio * that.ii, that.scratchCartesian2);
14353
+ var carto3 = window.Cesium.Cartesian3.lerp(that._options.positions[1], that._options.positions[2], that.ratio * that.ii, that.scratchCartesian3);
14354
+
14355
+ if (that.entity0) {
14356
+ that._viewer.scene.primitives.remove(that.entity0);
14357
+
14358
+ that.entity0 = undefined;
14359
+ }
14360
+
14361
+ that.entity0 = that.createPolyline([carto2, carto3]);
14362
+ that.ii++;
14363
+ that.g_flattenedPolygonTexture.removeAllFlattenedPolygon();
14364
+ var myPolygon = window.Cesium.PolygonGeometry.fromPositions({
14365
+ positions: [that._options.positions[0], that._options.positions[1], carto3, carto2],
14366
+ height: window.Cesium.Cartographic.fromCartesian(that._options.positions[0]).height
14367
+ });
14368
+ that.g_flattenedPolygonTexture.addFlattenedPolygon(myPolygon);
14369
+ }, 100);
14370
+ });
14371
+ }
14372
+
14373
+ createPolyline(positions) {
14374
+ var material = window.Cesium.Material.fromType("Kq3dLightningMaterial", {});
14375
+
14376
+ if (this.wall) {
14377
+ this._viewer.scene.primitives.remove(this.wall);
14378
+
14379
+ this.wall = undefined;
14380
+ }
14381
+
14382
+ var geometryInstances = [];
14383
+ geometryInstances.push(new window.Cesium.GeometryInstance({
14384
+ geometry: new window.Cesium.WallGeometry({
14385
+ positions: positions,
14386
+ maximumHeights: [10, 10],
14387
+ minimumHeights: [-10, -10],
14388
+ vertexFormat: window.Cesium.VertexFormat.POSITION_NORMAL_AND_ST
14389
+ })
14390
+ }));
14391
+ this.wall = new window.Cesium.Primitive({
14392
+ geometryInstances: geometryInstances,
14393
+ appearance: new window.Cesium.MaterialAppearance({
14394
+ material: material
14395
+ })
14396
+ });
14397
+
14398
+ this._viewer.scene.primitives.add(this.wall);
14399
+
14400
+ var geo = new window.Cesium.GroundPolylineGeometry({
14401
+ positions: positions,
14402
+ width: 40.0,
14403
+ vertexFormat: window.Cesium.PolylineMaterialAppearance.VERTEX_FORMAT
14404
+ });
14405
+ var primitive = new window.Cesium.GroundPolylinePrimitive({
14406
+ asynchronous: false,
14407
+ classificationType: window.Cesium.ClassificationType.BOTH,
14408
+ geometryInstances: new window.Cesium.GeometryInstance({
14409
+ geometry: geo
14410
+ }),
14411
+ appearance: new window.Cesium.PolylineMaterialAppearance({
14412
+ material: material
14413
+ })
14414
+ });
14415
+ return this._viewer.scene.primitives.add(primitive);
14214
14416
  }
14215
14417
 
14216
14418
  start() {
@@ -14220,6 +14422,9 @@ class ModelExcavateViewModel {
14220
14422
 
14221
14423
  for (let i = 0; i < models.length; i++) {
14222
14424
  if (models[i]._url) {
14425
+ models[i].enableFlattenning = true;
14426
+ models[i].flattenDiscard = true;
14427
+ this.g_flattenedPolygonTexture.attachTileset(models[i]);
14223
14428
  flag = true;
14224
14429
  }
14225
14430
  }
@@ -14232,16 +14437,41 @@ class ModelExcavateViewModel {
14232
14437
  });
14233
14438
  } else {
14234
14439
  message({
14235
- message: "请添加模型后拾取!",
14440
+ message: "请添加模型后绘制!",
14236
14441
  type: "warning"
14237
14442
  });
14238
14443
  }
14239
- } //清除
14444
+ } // qi切换高度重新计算
14445
+
14446
+
14447
+ setHeight(val) {
14448
+ this._options.height = Number(val);
14449
+ } // 清除
14240
14450
 
14241
14451
 
14242
14452
  clear() {
14243
14453
  this._drawManager.stopDraw(); // 销毁地形开挖
14244
14454
 
14455
+
14456
+ if (this.intervalId) {
14457
+ clearInterval(this.intervalId);
14458
+ this.ii = 0;
14459
+
14460
+ if (this.entity0) {
14461
+ this._viewer.scene.primitives.remove(this.entity0);
14462
+
14463
+ this.entity0 = undefined;
14464
+ }
14465
+
14466
+ if (this.wall) {
14467
+ this._viewer.scene.primitives.remove(this.wall);
14468
+
14469
+ this.wall = undefined;
14470
+ }
14471
+ }
14472
+
14473
+ this.Kq3dTerrainExcavation && this.Kq3dTerrainExcavation.destroy();
14474
+ this.g_flattenedPolygonTexture && this.g_flattenedPolygonTexture.removeAllFlattenedPolygon();
14245
14475
  } //销毁
14246
14476
 
14247
14477
 
@@ -14360,7 +14590,7 @@ const ModelExcavatevue_type_script_setup_true_lang_js_default_ = {
14360
14590
  gis_utils_namespaceObject.utils.getWebMap(null, scenceView => {
14361
14591
  if (scenceView) {
14362
14592
  viewModel = new ModelExcavateViewModel(scenceView, {
14363
- excavationDepth: formItem.excavationDepth
14593
+ height: formItem.excavationDepth
14364
14594
  });
14365
14595
  }
14366
14596
  });
@@ -14441,7 +14671,7 @@ const ModelExcavatevue_type_script_setup_true_lang_js_default_ = {
14441
14671
  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_slider, {
14442
14672
  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(formItem).excavationDepth,
14443
14673
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(formItem).excavationDepth = $event),
14444
- step: 100,
14674
+ step: 1,
14445
14675
  min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(formItem).minExcavationDepth,
14446
14676
  max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(formItem).maxExcavationDepth,
14447
14677
  onChange: _cache[1] || (_cache[1] = $event => changeHeight()),
@@ -14481,9 +14711,9 @@ const ModelExcavatevue_type_script_setup_true_lang_js_default_ = {
14481
14711
  }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_row, {
14482
14712
  class: "kq3d-model-excavate-tip"
14483
14713
  }, {
14484
- default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementVNode)("p", null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).skylineTips), 1
14714
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementVNode)("p", null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).skylineTips + '(' + (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).reverseDrawPolygon + ')'), 1
14485
14715
  /* TEXT */
14486
- ), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createCommentVNode)(" <p v-if=\"formItem.terrainStyle === 2\">{{ \"(\" + language.reverseDrawPolygon + \")\" }}</p> ")]),
14716
+ )]),
14487
14717
  _: 1
14488
14718
  /* STABLE */
14489
14719
 
@@ -35839,7 +36069,7 @@ class SceneSetViewModel {
35839
36069
  break;
35840
36070
 
35841
36071
  case "fps":
35842
- open = this._viewer.scene.debugShowFramesPerSecound;
36072
+ open = this._viewer.scene.debugShowFramesPerSecond;
35843
36073
  break;
35844
36074
 
35845
36075
  case "deep":
package/measure/index.js CHANGED
@@ -94,6 +94,20 @@ class MeasureViewModel {
94
94
  this._viewer.scene.globe.depthTestAgainstTerrain = true;
95
95
 
96
96
  this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.Coordinate);
97
+ } //地形坡度测量
98
+
99
+
100
+ terrainSlopeMeasure() {
101
+ this._viewer.scene.globe.depthTestAgainstTerrain = true;
102
+
103
+ this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.TerrainSlope);
104
+ } //场景坡度测量
105
+
106
+
107
+ sceneSlopeMeasure() {
108
+ this._viewer.scene.globe.depthTestAgainstTerrain = true;
109
+
110
+ this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.SceneSlope);
97
111
  } //结束测量
98
112
 
99
113
 
@@ -593,12 +607,18 @@ const __default__ = {
593
607
  spaceDistance: res.distance ? res.distance.toFixed(2) : 0,
594
608
  horizontalDistance: res.hDistance ? res.hDistance.toFixed(2) : 0,
595
609
  verticalDistance: res.vDistance ? res.vDistance.toFixed(2) : 0,
596
- angle: res.angle ? res.angle.toFixed(2) : 0
610
+ angle: res.angle ? res.angle.toFixed(2).replace(/\.?0+$/, '') : 0
597
611
  };
598
612
  } else if (measureType.value === "area") {
599
613
  if (res && res.area) result.value = formatArea(res.area);
600
- } else if (measureType.value === "azimuth") {
601
- if (res && res.azimuth) result.value = formatAzimuth(res.azimuth);
614
+ } else if (measureType.value === "azimuth" && res) {
615
+ if (res.positions && res.positions.length > 0) {
616
+ result.value = res.azimuth.toFixed(4) + " °";
617
+ } else result.value = 0;
618
+ } else if (measureType.value === "slope" && res) {
619
+ if (res.positions && res.positions.length > 0) {
620
+ result.value = res.slopeAngle.toFixed(2).replace(/\.?0+$/, '') + " °";
621
+ } else result.value = 0;
602
622
  } else if (measureType.value === "coordinate") {
603
623
  if (res && res.coordinate) {
604
624
  result.value = {
@@ -618,8 +638,9 @@ const __default__ = {
618
638
  });
619
639
  viewModel.activeEvent.addEventListener(function (active) {
620
640
  if (!active) {
621
- if (measureType.value === "height" && result.value.angle === 0) return;
622
641
  isActive.value = null;
642
+ if (measureType.value === "height" && result.value.angle === 0) return;
643
+ if (measureType.value === "azimuth" && result.value === 0) return;
623
644
  isResult.value = true;
624
645
  }
625
646
  });
@@ -672,11 +693,6 @@ const __default__ = {
672
693
 
673
694
  return area.toFixed(2) + " " + unit;
674
695
  }
675
-
676
- function formatAzimuth(azimuth) {
677
- var unit = "°";
678
- return azimuth.toFixed(4) + " " + unit;
679
- }
680
696
  /**
681
697
  * @description 监听单位变化操作
682
698
  * @param {string} unit - 单位
@@ -766,6 +782,19 @@ const __default__ = {
766
782
  viewModel.coordinateMeasure();
767
783
  break;
768
784
 
785
+ case "azimuth":
786
+ viewModel.azimuthMeasure();
787
+ break;
788
+
789
+ case "slope":
790
+ if (mode.value === "ground") {
791
+ viewModel.terrainSlopeMeasure();
792
+ } else if (mode.value === "model") {
793
+ viewModel.sceneSlopeMeasure();
794
+ }
795
+
796
+ break;
797
+
769
798
  default:
770
799
  break;
771
800
  }
@@ -786,7 +815,6 @@ const __default__ = {
786
815
  loadModeData,
787
816
  formatDistance,
788
817
  formatArea,
789
- formatAzimuth,
790
818
  startMeasure,
791
819
  clearMeasure
792
820
  });
@@ -891,7 +919,25 @@ const __default__ = {
891
919
  }, 8
892
920
  /* PROPS */
893
921
  , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
894
- onClick: _cache[4] || (_cache[4] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('coordinate'), ["stop"])),
922
+ onClick: _cache[4] || (_cache[4] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('azimuth'), ["stop"])),
923
+ class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) == 'azimuth' ? 'is-active' : null),
924
+ title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).azimuth
925
+ }, {
926
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
927
+ size: 24
928
+ }, {
929
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconAzimuthMeasure))]),
930
+ _: 1
931
+ /* STABLE */
932
+
933
+ })]),
934
+ _: 1
935
+ /* STABLE */
936
+
937
+ }, 8
938
+ /* PROPS */
939
+ , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
940
+ onClick: _cache[5] || (_cache[5] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('coordinate'), ["stop"])),
895
941
  class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) == 'coordinate' ? 'is-active' : null),
896
942
  title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).coordinate
897
943
  }, {
@@ -908,7 +954,25 @@ const __default__ = {
908
954
 
909
955
  }, 8
910
956
  /* PROPS */
911
- , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
957
+ , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
958
+ onClick: _cache[6] || (_cache[6] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('slope'), ["stop"])),
959
+ class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) == 'slope' ? 'is-active' : null),
960
+ title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).slope
961
+ }, {
962
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
963
+ size: 24
964
+ }, {
965
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconSlopeMeasure))]),
966
+ _: 1
967
+ /* STABLE */
968
+
969
+ })]),
970
+ _: 1
971
+ /* STABLE */
972
+
973
+ }, 8
974
+ /* PROPS */
975
+ , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) != 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
912
976
  type: "danger",
913
977
  plain: "",
914
978
  onClick: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)(clearMeasure, ["stop"]),
@@ -928,7 +992,7 @@ const __default__ = {
928
992
 
929
993
  }, 8
930
994
  /* PROPS */
931
- , ["onClick", "title"])]), !!(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", _hoisted_6, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_divider), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'height' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("p", _hoisted_7, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).measureTips1), 1
995
+ , ["onClick", "title"])]), !!(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", _hoisted_6, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_divider), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'height' || (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'azimuth' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("p", _hoisted_7, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).measureTips1), 1
932
996
  /* TEXT */
933
997
  )) : ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("p", _hoisted_8, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).measureTips), 1
934
998
  /* TEXT */
@@ -936,7 +1000,7 @@ const __default__ = {
936
1000
  /* TEXT */
937
1001
  ), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_select, {
938
1002
  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(distanceUnit),
939
- "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.isRef)(distanceUnit) ? distanceUnit.value = $event : distanceUnit = $event),
1003
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.isRef)(distanceUnit) ? distanceUnit.value = $event : distanceUnit = $event),
940
1004
  onChange: onChangeUnit
941
1005
  }, {
942
1006
  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.Fragment, null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.renderList)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(distanceUnits), item => {
@@ -1 +1 @@
1
- .kq-measure3d{z-index:999;border-radius:var(--kq-border-radius-base);padding:16px;pointer-events:auto;cursor:default;background-color:var(--kq-bg-color)}.kq-measure3d .kq-measure3d-box{width:304px}.kq-measure3d p{margin:0}.kq-measure3d .kq-measure3d-mode .panel{width:100%}.kq-measure3d .kq-measure3d-mode .panel .title{color:var(--kq-text-color-regular);margin:0 0 8px;font-size:14px}.kq-measure3d .kq-measure3d-mode .panel .kq-select{width:100%}.kq-measure3d .kq-measure3d-btns{margin-top:12px}.kq-measure3d .kq-measure3d-btns .kq-button{width:48px;height:48px}.kq-measure3d .kq-measure3d-btns .kq-button .kq-icon{color:var(--kq-color-primary)}.kq-measure3d .kq-measure3d-btns .kq-button .icon-delete{color:var(--kq-color-danger)}.kq-measure3d .kq-measure3d-btns .kq-button:active .icon-delete,.kq-measure3d .kq-measure3d-btns .kq-button:focus .icon-delete,.kq-measure3d .kq-measure3d-btns .kq-button:hover .icon-delete{color:var(--kq-color-white)!important}.kq-measure3d .kq-measure3d-btns .kq-button+.kq-button{margin-left:16px}.kq-measure3d .kq-measure3d-tip{color:var(--kq-text-color-regular);font-size:13px}.kq-measure3d .kq-measure3d-tip .kq-divider{margin:16px 0}.kq-measure3d .kq-measure3d-tip>p{margin:0}.kq-measure3d .kq-measure3d-result .kq-divider{margin:16px 0}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel{padding-bottom:16px}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel:last-child{padding:0}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel .title{color:var(--kq-text-color-regular);margin:0 0 8px;font-size:14px}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel .kq-select{width:100%}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel .result{padding:8px;background:var(--kq-sub-bg-color);border-radius:var(--kq-border-radius-base);color:var(--kq-text-color-regular);font-size:14px}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel .result .tit{padding-bottom:8px}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel .result .res+.tit{padding-top:12px}
1
+ .kq-measure3d{z-index:999;border-radius:var(--kq-border-radius-base);padding:16px;pointer-events:auto;cursor:default;background-color:var(--kq-bg-color)}.kq-measure3d .kq-measure3d-box{width:370px}.kq-measure3d p{margin:0}.kq-measure3d .kq-measure3d-mode .panel{width:100%}.kq-measure3d .kq-measure3d-mode .panel .title{color:var(--kq-text-color-regular);margin:0 0 8px;font-size:14px}.kq-measure3d .kq-measure3d-mode .panel .kq-select{width:100%}.kq-measure3d .kq-measure3d-btns{margin-top:12px}.kq-measure3d .kq-measure3d-btns .kq-button{width:48px;height:48px}.kq-measure3d .kq-measure3d-btns .kq-button .kq-icon{color:var(--kq-color-primary)}.kq-measure3d .kq-measure3d-btns .kq-button .icon-delete{color:var(--kq-color-danger)}.kq-measure3d .kq-measure3d-btns .kq-button:active .icon-delete,.kq-measure3d .kq-measure3d-btns .kq-button:focus .icon-delete,.kq-measure3d .kq-measure3d-btns .kq-button:hover .icon-delete{color:var(--kq-color-white)!important}.kq-measure3d .kq-measure3d-btns .kq-button+.kq-button{margin-left:16px}.kq-measure3d .kq-measure3d-tip{color:var(--kq-text-color-regular);font-size:13px}.kq-measure3d .kq-measure3d-tip .kq-divider{margin:16px 0}.kq-measure3d .kq-measure3d-tip>p{margin:0}.kq-measure3d .kq-measure3d-result .kq-divider{margin:16px 0}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel{padding-bottom:16px}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel:last-child{padding:0}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel .title{color:var(--kq-text-color-regular);margin:0 0 8px;font-size:14px}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel .kq-select{width:100%}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel .result{padding:8px;background:var(--kq-sub-bg-color);border-radius:var(--kq-border-radius-base);color:var(--kq-text-color-regular);font-size:14px}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel .result .tit{padding-bottom:8px}.kq-measure3d .kq-measure3d-result .kq-measure3d-result-panel .panel .result .res+.tit{padding-top:12px}