fl-web-component 1.2.8 → 1.2.10

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/README.md CHANGED
@@ -46,8 +46,14 @@ Vue.use(FlWebComponent)
46
46
  欢迎贡献代码和问题反馈。
47
47
 
48
48
  ## 更新日志
49
+ - 1.2.10 2025-06-23
50
+ 1. 修改文字渲染逻辑
51
+ - 1.2.9 2025-06-19
52
+ 1. fix: matrix 容错
49
53
  - 1.2.8 2025-06-19
50
54
  1. 修改removeAll清除时drawObjMapInstance都清空
55
+ - 1.2.7 2025-06-19
56
+ 1. 修复removeAll方法不生效问题
51
57
  - 1.2.6 2025-06-18
52
58
  1. 修复removeAll方法不生效问题
53
59
  - 1.2.5 2025-06-17
@@ -29241,7 +29241,7 @@ if (typeof window !== 'undefined') {
29241
29241
  // Indicate to webpack that this file can be concatenated
29242
29242
  /* harmony default export */ var setPublicPath = (null);
29243
29243
 
29244
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7c526cf7-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/index.vue?vue&type=template&id=9d23b864&scoped=true
29244
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"44287e30-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/index.vue?vue&type=template&id=9d23b864&scoped=true
29245
29245
  var com_graphicsvue_type_template_id_9d23b864_scoped_true_render = function render() {
29246
29246
  var _vm = this,
29247
29247
  _c = _vm._self._c;
@@ -57174,7 +57174,7 @@ function parseData(input) {
57174
57174
  return g.id === primitive.prmid;
57175
57175
  });
57176
57176
  if (primitiveData) {
57177
- var _input$material;
57177
+ var _input$material, _primitive$matrix;
57178
57178
  var material = (_input$material = input.material) === null || _input$material === void 0 ? void 0 : _input$material.find(function (m) {
57179
57179
  return m.id === primitiveData.material;
57180
57180
  });
@@ -57187,9 +57187,10 @@ function parseData(input) {
57187
57187
  // 默认值
57188
57188
  linewidth: (material === null || material === void 0 ? void 0 : material.linewidth) !== undefined ? material === null || material === void 0 ? void 0 : material.linewidth : 1 // 默认值
57189
57189
  };
57190
+ var identity = new Matrix4().identity();
57190
57191
  geomList.push({
57191
57192
  matrix: {
57192
- val: primitive.matrix
57193
+ val: (_primitive$matrix = primitive.matrix) !== null && _primitive$matrix !== void 0 && _primitive$matrix.length ? primitive.matrix : identity.elements
57193
57194
  },
57194
57195
  prmid: primitive.prmid,
57195
57196
  geomId: primitiveData.id,
@@ -57197,7 +57198,7 @@ function parseData(input) {
57197
57198
  text: primitiveData.geomText,
57198
57199
  points: primitiveData.position,
57199
57200
  normals: primitiveData.normal,
57200
- triangles: primitiveData.indices,
57201
+ triangles: primitiveData.indices || [],
57201
57202
  max: primitiveData.max,
57202
57203
  min: primitiveData.min,
57203
57204
  prop: prop
@@ -59478,6 +59479,14 @@ function handleInstancedMeshModel(modelGroup, instances, drawObjs, type, scene,
59478
59479
  // m4.setPosition(new THREE.Vector3(9999999, 9999999, 9999999)); // TODO 临时隐藏方案
59479
59480
  meshMatrix.elements = item.matrix.val;
59480
59481
  geomMatrix.elements = mesh.matrix.val;
59482
+ var points = mesh.points;
59483
+ if (isTextType(mesh.type)) {
59484
+ var positionMatrix = new Matrix4();
59485
+ var alignMatrix = new Matrix4();
59486
+ positionMatrix.identity().makeTranslation(points[0], points[1], points[2]);
59487
+ alignMatrix.identity().makeTranslation(-(mesh.prop.fontsize / 2.5), -(mesh.prop.fontsize / 2.5), 0);
59488
+ geomMatrix.multiply(positionMatrix).multiply(alignMatrix);
59489
+ }
59481
59490
  m4.multiplyMatrices(meshMatrix, geomMatrix);
59482
59491
  model.setMatrixAt(index, m4);
59483
59492
  var copyMatrix = new Matrix4().copy(m4);
@@ -59566,7 +59575,7 @@ function instance_parser_drawModel(geom, instanceName, instanceCount, nColor, nO
59566
59575
  if (geom.type == GEOM_TYPES.geom_2d || geom.type == GEOM_TYPES.geom_2d_others) {
59567
59576
  model = draw2Dmodel(geom, instanceName, instanceCount); // TODO 该类型调试中
59568
59577
  // 处理二维文本类型
59569
- } else if (geom.type == GEOM_TYPES.geom_2d_text || geom.type == GEOM_TYPES.geom_2d_mtext || geom.type == GEOM_TYPES.geom_3d_text || geom.type == GEOM_TYPES.geom_3d_mtext) {
59578
+ } else if (isTextType(geom.type)) {
59570
59579
  model = drawText(geom, instanceName, instanceCount);
59571
59580
  // 处理各种曲线类型(圆形、圆弧、椭圆、椭圆弧)
59572
59581
  } else if (geom.type == GEOM_TYPES.geom_2d_circle || geom.type == GEOM_TYPES.geom_2d_arc || geom.type == GEOM_TYPES.geom_2d_ellipse || geom.type == GEOM_TYPES.geom_2d_ellipseArc) {
@@ -59578,6 +59587,15 @@ function instance_parser_drawModel(geom, instanceName, instanceCount, nColor, nO
59578
59587
  return model;
59579
59588
  }
59580
59589
 
59590
+ /**
59591
+ * 判断几何类型是否为文本类型
59592
+ * @param {number} type - 几何类型枚举值,参考GEOM_TYPES中的定义
59593
+ * @returns {boolean} 是否为文本类型(2D/3D 单行或多行文本)
59594
+ */
59595
+ function isTextType(type) {
59596
+ return type == GEOM_TYPES.geom_2d_text || type == GEOM_TYPES.geom_2d_mtext || type == GEOM_TYPES.geom_3d_text || type == GEOM_TYPES.geom_3d_mtext;
59597
+ }
59598
+
59581
59599
  /**
59582
59600
  * 绘制曲线
59583
59601
  *
@@ -59637,7 +59655,8 @@ function draw3Dmodel(geom, instanceName, instanceCount, nColor, nOpacity) {
59637
59655
  customMaterial = geom.material,
59638
59656
  triangles = geom.triangles,
59639
59657
  points = geom.points,
59640
- normals = geom.normals;
59658
+ normals = geom.normals,
59659
+ prop = geom.prop;
59641
59660
  // 使用自定义几何体或创建新的缓冲几何体
59642
59661
  var geometry = customGeometry || new BufferGeometry();
59643
59662
 
@@ -59657,7 +59676,7 @@ function draw3Dmodel(geom, instanceName, instanceCount, nColor, nOpacity) {
59657
59676
  var normal = new Float32Array(normals);
59658
59677
  geometry.setAttribute('normal', new BufferAttribute(normal, 3));
59659
59678
  }
59660
- var color = geom.prop.color;
59679
+ var color = prop.color;
59661
59680
  var material, mesh, colors, opacity;
59662
59681
  if (Array.isArray(color) && color.length) {
59663
59682
  colors = color;
@@ -59799,10 +59818,10 @@ function drawText(geom, instanceName, instanceCount) {
59799
59818
  }, instanceName, instanceCount);
59800
59819
 
59801
59820
  // 创建平移矩阵并应用
59802
-
59803
- var matrix = new Matrix4();
59804
- matrix.identity().makeTranslation(points[0], points[1], points[2]);
59805
- mesh.applyMatrix4(matrix);
59821
+ // const matrix = new THREE.Matrix4();
59822
+ // matrix.identity().makeTranslation(points[0], points[1], points[2]);
59823
+ // mesh.applyMatrix4(matrix);
59824
+ // points && mesh.position.set(points[0], points[1], points[2]);
59806
59825
 
59807
59826
  // if (stageId == STAGE_MODEL_TYPE.PID) {
59808
59827
  // mesh.translateX(-(fontsize / 2));
@@ -59814,8 +59833,9 @@ function drawText(geom, instanceName, instanceCount) {
59814
59833
  // mesh.rotateY(rotate);
59815
59834
  // }
59816
59835
  // mesh.rotateX(-Math.PI / 2);
59817
- mesh.translateX(-(fontsize / 2.5));
59818
- mesh.translateY(-(fontsize / 2.5));
59836
+ // mesh.translateX(-(fontsize / 2.5));
59837
+ // mesh.translateY(-(fontsize / 2.5));
59838
+
59819
59839
  mesh.userData.instanceName = instanceName;
59820
59840
  return mesh;
59821
59841
  }
@@ -62480,7 +62500,7 @@ var component = normalizeComponent(
62480
62500
  )
62481
62501
 
62482
62502
  /* harmony default export */ var com_graphics = (component.exports);
62483
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7c526cf7-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-flcanvas/index.vue?vue&type=template&id=1eba8e28&scoped=true
62503
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"44287e30-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-flcanvas/index.vue?vue&type=template&id=1eba8e28&scoped=true
62484
62504
  var com_flcanvasvue_type_template_id_1eba8e28_scoped_true_render = function render() {
62485
62505
  var _vm = this,
62486
62506
  _c = _vm._self._c;
@@ -65679,7 +65699,7 @@ var com_flcanvas_component = normalizeComponent(
65679
65699
  )
65680
65700
 
65681
65701
  /* harmony default export */ var com_flcanvas = (com_flcanvas_component.exports);
65682
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7c526cf7-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/per-control.vue?vue&type=template&id=f547d5c6&scoped=true
65702
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"44287e30-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/per-control.vue?vue&type=template&id=f547d5c6&scoped=true
65683
65703
  var per_controlvue_type_template_id_f547d5c6_scoped_true_render = function render() {
65684
65704
  var _vm = this,
65685
65705
  _c = _vm._self._c;
@@ -65787,7 +65807,7 @@ var per_control_component = normalizeComponent(
65787
65807
  )
65788
65808
 
65789
65809
  /* harmony default export */ var per_control = (per_control_component.exports);
65790
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7c526cf7-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/pid.vue?vue&type=template&id=0ec35ee4&scoped=true
65810
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"44287e30-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/pid.vue?vue&type=template&id=0ec35ee4&scoped=true
65791
65811
  var pidvue_type_template_id_0ec35ee4_scoped_true_render = function render() {
65792
65812
  var _vm = this,
65793
65813
  _c = _vm._self._c;