@baidumap/mapv-three 1.0.1 → 1.1.3

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.
Files changed (223) hide show
  1. package/dist/assets/images/fallbackIcon.png +0 -0
  2. package/dist/assets/images/marker_red.png +0 -0
  3. package/dist/assets/models/effect/diamond.glb +0 -0
  4. package/dist/assets/models/hdmap/v2/BOU_1_18_0_1.glb +0 -0
  5. package/dist/assets/models/hdmap/v2/BOU_1_18_0_2.glb +0 -0
  6. package/dist/assets/models/hdmap/v2/BOU_1_18_1_1.glb +0 -0
  7. package/dist/assets/models/hdmap/v2/BOU_1_18_1_2.glb +0 -0
  8. package/dist/assets/models/hdmap/v2/BOU_1_19_0_1.glb +0 -0
  9. package/dist/assets/models/hdmap/v2/BOU_1_19_0_2.glb +0 -0
  10. package/dist/assets/models/hdmap/v2/BOU_1_19_1_1.glb +0 -0
  11. package/dist/assets/models/hdmap/v2/BOU_1_19_1_2.glb +0 -0
  12. package/dist/assets/models/hdmap/v2/BOU_1_201_0_1.glb +0 -0
  13. package/dist/assets/models/hdmap/v2/BOU_1_201_0_2.glb +0 -0
  14. package/dist/assets/models/hdmap/v2/BOU_1_201_1.glb +0 -0
  15. package/dist/assets/models/hdmap/v2/BOU_1_201_2.glb +0 -0
  16. package/dist/assets/models/hdmap/v2/BOU_1_201_3.glb +0 -0
  17. package/dist/assets/models/hdmap/v2/BOU_1_201_4.glb +0 -0
  18. package/dist/assets/models/hdmap/v2/BOU_1_202_0_1.glb +0 -0
  19. package/dist/assets/models/hdmap/v2/BOU_1_202_0_2.glb +0 -0
  20. package/dist/assets/models/hdmap/v2/BOU_1_202_1_1.glb +0 -0
  21. package/dist/assets/models/hdmap/v2/BOU_1_202_1_2.glb +0 -0
  22. package/dist/assets/models/hdmap/v2/BOU_1_202_2_1.glb +0 -0
  23. package/dist/assets/models/hdmap/v2/BOU_1_202_2_2.glb +0 -0
  24. package/dist/assets/models/hdmap/v2/BOU_1_202_3_1.glb +0 -0
  25. package/dist/assets/models/hdmap/v2/BOU_1_202_3_2.glb +0 -0
  26. package/dist/assets/models/hdmap/v2/BOU_1_202_4_1.glb +0 -0
  27. package/dist/assets/models/hdmap/v2/BOU_1_202_4_2.glb +0 -0
  28. package/dist/assets/models/hdmap/v2/BOU_1_202_5_1.glb +0 -0
  29. package/dist/assets/models/hdmap/v2/BOU_1_202_5_2.glb +0 -0
  30. package/dist/assets/models/hdmap/v2/BOU_1_202_6.glb +0 -0
  31. package/dist/assets/models/hdmap/v2/BOU_1_203_0.glb +0 -0
  32. package/dist/assets/models/hdmap/v2/BOU_1_203_1.glb +0 -0
  33. package/dist/assets/models/hdmap/v2/BOU_1_203_2.glb +0 -0
  34. package/dist/assets/models/hdmap/v2/BOU_1_203_3.glb +0 -0
  35. package/dist/assets/models/hdmap/v2/BOU_1_204_0_1.glb +0 -0
  36. package/dist/assets/models/hdmap/v2/BOU_1_204_0_2.glb +0 -0
  37. package/dist/assets/models/hdmap/v2/BOU_1_204_1_1.glb +0 -0
  38. package/dist/assets/models/hdmap/v2/BOU_1_204_1_2.glb +0 -0
  39. package/dist/assets/models/hdmap/v2/BOU_1_204_2_1.glb +0 -0
  40. package/dist/assets/models/hdmap/v2/BOU_1_204_2_2.glb +0 -0
  41. package/dist/assets/models/hdmap/v2/BOU_1_205_0.glb +0 -0
  42. package/dist/assets/models/hdmap/v2/BOU_1_206_0.glb +0 -0
  43. package/dist/assets/models/hdmap/v2/BOU_1_206_1.glb +0 -0
  44. package/dist/assets/models/hdmap/v2/BOU_1_206_2.glb +0 -0
  45. package/dist/assets/models/hdmap/v2/BOU_1_2_0_1.glb +0 -0
  46. package/dist/assets/models/hdmap/v2/BOU_1_2_0_2.glb +0 -0
  47. package/dist/assets/models/hdmap/v2/BOU_1_2_1_1.glb +0 -0
  48. package/dist/assets/models/hdmap/v2/BOU_1_2_1_2.glb +0 -0
  49. package/dist/assets/models/hdmap/v2/BOU_1_2_2.glb +0 -0
  50. package/dist/assets/models/hdmap/v2/BOU_1_2_3_1.glb +0 -0
  51. package/dist/assets/models/hdmap/v2/BOU_1_2_3_2.glb +0 -0
  52. package/dist/assets/models/hdmap/v2/BOU_1_2_4.glb +0 -0
  53. package/dist/assets/models/hdmap/v2/BOU_1_2_5_1.glb +0 -0
  54. package/dist/assets/models/hdmap/v2/BOU_1_2_5_2.glb +0 -0
  55. package/dist/assets/models/hdmap/v2/BOU_1_3_0.glb +0 -0
  56. package/dist/assets/models/hdmap/v2/BOU_1_3_1.glb +0 -0
  57. package/dist/assets/models/hdmap/v2/BOU_1_3_2.glb +0 -0
  58. package/dist/assets/models/hdmap/v2/BOU_1_3_3.glb +0 -0
  59. package/dist/assets/models/hdmap/v2/BOU_1_3_4.glb +0 -0
  60. package/dist/assets/models/hdmap/v2/BOU_1_7_0.glb +0 -0
  61. package/dist/assets/models/hdmap/v2/BOU_1_7_1_1.glb +0 -0
  62. package/dist/assets/models/hdmap/v2/BOU_1_7_1_2.glb +0 -0
  63. package/dist/assets/models/hdmap/v2/BOU_1_7_2.glb +0 -0
  64. package/dist/assets/models/hdmap/v2/BOU_1_7_3_1.glb +0 -0
  65. package/dist/assets/models/hdmap/v2/BOU_1_7_3_2.glb +0 -0
  66. package/dist/assets/models/hdmap/v2/BOU_1_7_4_1.glb +0 -0
  67. package/dist/assets/models/hdmap/v2/BOU_1_7_4_2.glb +0 -0
  68. package/dist/assets/models/hdmap/v2/BOU_1_7_5_1.glb +0 -0
  69. package/dist/assets/models/hdmap/v2/BOU_1_7_5_2.glb +0 -0
  70. package/dist/assets/models/hdmap/v2/BOU_1_8_0.glb +0 -0
  71. package/dist/assets/models/hdmap/v2/BOU_1_8_1.glb +0 -0
  72. package/dist/assets/models/hdmap/v2/BOU_2_1_0.glb +0 -0
  73. package/dist/assets/models/hdmap/v2/BOU_2_1_1.glb +0 -0
  74. package/dist/assets/models/hdmap/v2/BOU_3_5_0.glb +0 -0
  75. package/dist/assets/models/hdmap/v2/BOU_3_5_1.glb +0 -0
  76. package/dist/assets/models/hdmap/v2/BOU_4_11_1.glb +0 -0
  77. package/dist/assets/models/hdmap/v2/BOU_4_11_2_1.glb +0 -0
  78. package/dist/assets/models/hdmap/v2/BOU_4_11_2_2.glb +0 -0
  79. package/dist/assets/models/hdmap/v2/BOU_4_11_3_1.glb +0 -0
  80. package/dist/assets/models/hdmap/v2/BOU_4_11_3_2.glb +0 -0
  81. package/dist/assets/models/hdmap/v2/BOU_4_11_4.glb +0 -0
  82. package/dist/assets/models/hdmap/v2/BOU_4_11_5.glb +0 -0
  83. package/dist/assets/models/hdmap/v2/BOU_4_11_6.glb +0 -0
  84. package/dist/assets/models/hdmap/v2/BOU_4_11_7.glb +0 -0
  85. package/dist/assets/models/hdmap/v2/BOU_4_11_8.glb +0 -0
  86. package/dist/assets/models/hdmap/v2/BOU_4_11_9.glb +0 -0
  87. package/dist/assets/models/hdmap/v2/BOU_4_15_1.glb +0 -0
  88. package/dist/assets/models/hdmap/v2/BOU_4_15_2.glb +0 -0
  89. package/dist/assets/models/hdmap/v2/BOU_4_15_3.glb +0 -0
  90. package/dist/assets/models/hdmap/v2/BOU_4_15_4.glb +0 -0
  91. package/dist/assets/models/hdmap/v2/BOU_4_15_5.glb +0 -0
  92. package/dist/assets/models/hdmap/v2//345/256/275/346/241/245/345/242/251_/346/237/261/345/255/220.glb +0 -0
  93. package/dist/assets/models/hdmap/v2//345/256/275/346/241/245/345/242/251_/351/241/266.glb +0 -0
  94. package/dist/assets/models/hdmap/v2//347/252/204/346/241/245/345/242/251_/346/237/261/345/255/220.glb +0 -0
  95. package/dist/assets/models/hdmap/v2//347/252/204/346/241/245/345/242/251_/351/241/266.glb +0 -0
  96. package/dist/assets/textures/hdmap/v2/T_embankment_brick_albedo.PNG +0 -0
  97. package/dist/assets/textures/hdmap/v2/T_embankment_brick_normal.PNG +0 -0
  98. package/dist/assets/textures/hdmap/v2/T_embankment_brick_rso.PNG +0 -0
  99. package/dist/assets/textures/hdmap/v2/T_embankment_frame_albedo.PNG +0 -0
  100. package/dist/assets/textures/hdmap/v2/T_embankment_frame_normal.PNG +0 -0
  101. package/dist/assets/textures/hdmap/v2/T_embankment_frame_rso.PNG +0 -0
  102. package/dist/assets/textures/hdmap/v2/T_embankment_plant_albedo.PNG +0 -0
  103. package/dist/assets/textures/hdmap/v2/T_embankment_plant_normal.PNG +0 -0
  104. package/dist/assets/textures/hdmap/v2/T_embankment_plant_rso.PNG +0 -0
  105. package/dist/assets/textures/hdmap/v2/T_embankment_stone_albedo.PNG +0 -0
  106. package/dist/assets/textures/hdmap/v2/T_embankment_stone_normal.PNG +0 -0
  107. package/dist/assets/textures/hdmap/v2/T_embankment_stone_rso.PNG +0 -0
  108. package/dist/assets/textures/hdmap/v2/T_expansion_comb_albedo.PNG +0 -0
  109. package/dist/assets/textures/hdmap/v2/T_expansion_comb_normal.PNG +0 -0
  110. package/dist/assets/textures/hdmap/v2/T_expansion_comb_rso.PNG +0 -0
  111. package/dist/assets/textures/hdmap/v2/T_green_albedo.PNG +0 -0
  112. package/dist/assets/textures/hdmap/v2/T_green_normal.PNG +0 -0
  113. package/dist/assets/textures/hdmap/v2/T_road_1_Alpha.PNG +0 -0
  114. package/dist/assets/textures/hdmap/v2/T_road_1_ORD.PNG +0 -0
  115. package/dist/assets/textures/hdmap/v2/T_road_1_albedo.PNG +0 -0
  116. package/dist/assets/textures/hdmap/v2/T_road_1_normal.PNG +0 -0
  117. package/dist/assets/textures/hdmap/v2/T_road_2_Alpha.PNG +0 -0
  118. package/dist/assets/textures/hdmap/v2/T_road_2_ORD.PNG +0 -0
  119. package/dist/assets/textures/hdmap/v2/T_road_2_albedo.PNG +0 -0
  120. package/dist/assets/textures/hdmap/v2/T_road_2_normal.PNG +0 -0
  121. package/dist/assets/textures/hdmap/v2/T_road_3_ORD.PNG +0 -0
  122. package/dist/assets/textures/hdmap/v2/T_road_3_albedo.PNG +0 -0
  123. package/dist/assets/textures/hdmap/v2/T_road_3_normal.PNG +0 -0
  124. package/dist/assets/textures/hdmap/v2/T_road_block_albedo.PNG +0 -0
  125. package/dist/assets/textures/hdmap/v2/T_road_block_normal.PNG +0 -0
  126. package/dist/assets/textures/hdmap/v2/T_road_block_rso.PNG +0 -0
  127. package/dist/assets/textures/hdmap/v2/T_road_concrete_albedo.PNG +0 -0
  128. package/dist/assets/textures/hdmap/v2/T_road_concrete_normal.PNG +0 -0
  129. package/dist/assets/textures/hdmap/v2/T_road_concrete_rso.PNG +0 -0
  130. package/dist/assets/textures/hdmap/v2/T_road_gravel_albedo.PNG +0 -0
  131. package/dist/assets/textures/hdmap/v2/T_road_gravel_normal.PNG +0 -0
  132. package/dist/assets/textures/hdmap/v2/T_road_gravel_rso.PNG +0 -0
  133. package/dist/assets/textures/hdmap/v2/T_slopewall_brick_albedo.PNG +0 -0
  134. package/dist/assets/textures/hdmap/v2/T_slopewall_brick_normal.PNG +0 -0
  135. package/dist/assets/textures/hdmap/v2/T_slopewall_brick_rso.PNG +0 -0
  136. package/dist/assets/textures/hdmap/v2/T_slopewall_frame_albedo.PNG +0 -0
  137. package/dist/assets/textures/hdmap/v2/T_slopewall_frame_normal.PNG +0 -0
  138. package/dist/assets/textures/hdmap/v2/T_slopewall_frame_rso.PNG +0 -0
  139. package/dist/assets/textures/hdmap/v2/T_slopewall_plant_albedo.PNG +0 -0
  140. package/dist/assets/textures/hdmap/v2/T_slopewall_plant_normal.PNG +0 -0
  141. package/dist/assets/textures/hdmap/v2/T_slopewall_plant_rso.PNG +0 -0
  142. package/dist/assets/textures/hdmap/v2/T_slopewall_stone_albedo.PNG +0 -0
  143. package/dist/assets/textures/hdmap/v2/T_slopewall_stone_normal.PNG +0 -0
  144. package/dist/assets/textures/hdmap/v2/T_slopewall_stone_rso.PNG +0 -0
  145. package/dist/assets/textures/hdmap/v2/T_slopwall_frame_multi_albedo.PNG +0 -0
  146. package/dist/assets/textures/hdmap/v2/T_slopwall_frame_multi_normal.PNG +0 -0
  147. package/dist/assets/textures/hdmap/v2/T_slopwall_frame_multi_rso.PNG +0 -0
  148. package/dist/assets/textures/hdmap/v2/T_wall_retaining_bold_albedo.PNG +0 -0
  149. package/dist/assets/textures/hdmap/v2/T_wall_retaining_bold_normal.PNG +0 -0
  150. package/dist/assets/textures/hdmap/v2/T_wall_retaining_bold_rso.PNG +0 -0
  151. package/dist/assets/textures/hdmap/v2/green_RSO.PNG +0 -0
  152. package/dist/assets/textures/hdmap/v2//345/217/215/345/205/211/346/274/206/350/255/246/345/221/212/351/235/242.PNG +0 -0
  153. package/dist/assets/textures/hdmap/v2//345/217/215/345/205/211/346/274/206/350/255/246/345/221/212/351/235/242_RSO.PNG +0 -0
  154. package/dist/assets/textures/hdmap/v2//345/217/215/345/205/211/346/274/206/350/255/246/345/221/212/351/235/242_normal.PNG +0 -0
  155. package/dist/assets/textures/imposter/tree3/base.webp +0 -0
  156. package/dist/assets/textures/imposter/tree3/norm_depth.webp +0 -0
  157. package/dist/assets/textures/imposter/tree3/orm.webp +0 -0
  158. package/dist/devtool/panel.js +4 -3
  159. package/dist/mapvthree.module.js +28487 -23696
  160. package/dist/mapvthree.umd.js +6 -6
  161. package/dist/types/index.d.ts +4 -4
  162. package/dist/types/index.open.d.ts +10 -0
  163. package/dist/types/threejs/controls/MapControl3D.d.ts +1 -1
  164. package/dist/types/threejs/geometries/line/PolylineGeometry.d.ts +1 -0
  165. package/dist/types/threejs/materials/effects/ScanMaterial.d.ts +69 -58
  166. package/dist/types/threejs/materials/effects/TwinkleMaterial.d.ts +56 -43
  167. package/dist/types/threejs/materials/effects/WindowMaterial.d.ts +37 -26
  168. package/dist/types/threejs/materials/heatmap/Heatmap3D.d.ts +2 -0
  169. package/dist/types/threejs/materials/natural/WaterMaterial.d.ts +152 -18
  170. package/dist/types/threejs/materials/point/Ballon.d.ts +1 -0
  171. package/dist/types/threejs/materials/point/Icon.d.ts +4 -0
  172. package/dist/types/threejs/materials/polygon/PolygonMaterial.d.ts +2 -0
  173. package/dist/types/threejs/materials/sphere/GridMaterial.d.ts +6 -1
  174. package/dist/types/threejs/objects/GeoInstancedMesh.d.ts +1 -2
  175. package/dist/types/threejs/objects/GeoObject.d.ts +24 -0
  176. package/dist/types/threejs/objects/ThreeObject.d.ts +4 -2
  177. package/dist/types/threejs/objects/element/OctahedralImpostor.d.ts +7 -3
  178. package/dist/types/threejs/objects/heatmap/Heatmap3D.d.ts +43 -23
  179. package/dist/types/threejs/objects/instance/InstancedModel.d.ts +2 -0
  180. package/dist/types/threejs/objects/line/FatLine.d.ts +3 -245
  181. package/dist/types/threejs/objects/line/FatLineInternal.d.ts +246 -0
  182. package/dist/types/threejs/objects/line/Polyline.d.ts +53 -76
  183. package/dist/types/threejs/objects/line/PolylineInternal.d.ts +85 -0
  184. package/dist/types/threejs/objects/line/SimpleLine.d.ts +1 -1
  185. package/dist/types/threejs/objects/line/TrafficLink.d.ts +2 -2
  186. package/dist/types/threejs/objects/natural/BillboardTree.d.ts +1 -0
  187. package/dist/types/threejs/objects/point/ActiveMesh.d.ts +0 -1
  188. package/dist/types/threejs/objects/point/BallonPoint.d.ts +54 -7
  189. package/dist/types/threejs/objects/point/BubblePoint.d.ts +8 -1
  190. package/dist/types/threejs/objects/point/Circle.d.ts +0 -9
  191. package/dist/types/threejs/objects/point/DOMPoint.d.ts +4 -4
  192. package/dist/types/threejs/objects/point/EffectModelPoint.d.ts +49 -27
  193. package/dist/types/threejs/objects/point/EffectPoint.d.ts +57 -0
  194. package/dist/types/threejs/objects/point/GeoInstancedPointMesh.d.ts +10 -0
  195. package/dist/types/threejs/objects/point/Icon.d.ts +1 -1
  196. package/dist/types/threejs/objects/point/Label.d.ts +134 -30
  197. package/dist/types/threejs/objects/point/ShapePoint.d.ts +0 -1
  198. package/dist/types/threejs/objects/point/Spark.d.ts +37 -38
  199. package/dist/types/threejs/objects/point/label/GeometryBufferBuilder.d.ts +41 -0
  200. package/dist/types/threejs/objects/point/label/TextBoxCalculator.d.ts +38 -0
  201. package/dist/types/threejs/objects/polygon/Polygon.d.ts +6 -3
  202. package/dist/types/threejs/objects/sphere/Cone.d.ts +3 -63
  203. package/dist/types/threejs/objects/sphere/ConeInternal.d.ts +63 -0
  204. package/dist/types/threejs/objects/sphere/Grid.d.ts +3 -2
  205. package/dist/types/threejs/objects/sphere/Pillar.d.ts +51 -21
  206. package/dist/types/threejs/objects/sphere/PillarInternal.d.ts +24 -0
  207. package/dist/types/threejs/particles/Fireflies.d.ts +57 -13
  208. package/dist/types/threejs/utils/sprite.d.ts +1 -1
  209. package/dist/types/threemap/3dtiles/HDMap/instanceConfig.d.ts +166 -0
  210. package/dist/types/threemap/3dtiles/cesium/Cesium3DTileset.d.ts +3 -2
  211. package/dist/types/threemap/3dtiles/elements/TileInstancedElementManager.d.ts +16 -9
  212. package/dist/types/threemap/dataSource/DataSource.d.ts +7 -0
  213. package/dist/types/threemap/engine/rendering/Collision.d.ts +15 -0
  214. package/dist/types/threemap/model/AnimationModel.d.ts +86 -6
  215. package/dist/types/threemap/natural/DynamicWeather.d.ts +92 -0
  216. package/dist/types/threemap/natural/EmptySky.d.ts +1 -0
  217. package/dist/types/threemap/natural/StaticSky.d.ts +32 -5
  218. package/dist/types/threemap/projections/EqualEarthProjection.d.ts +26 -6
  219. package/dist/types/threemap/projections/ScreenPixelProjection.d.ts +26 -7
  220. package/dist/types/threemap/projections/UTMProjection.d.ts +66 -15
  221. package/dist/types/util/gradientMap.d.ts +9 -0
  222. package/dist/types/util/graphics/bezier.d.ts +8 -1
  223. package/package.json +1 -1
@@ -1,246 +1,4 @@
1
- /**
2
- * 用于绘制具有宽度的线条。支持多种线型样式、动画效果和纹理贴图。
3
- * 相比{@link SimpleLine},FatLine 提供了更丰富的渲染特性:
4
- * - 可自定义线宽
5
- * - 支持多种拐角和端点样式
6
- * - 支持虚线渲染
7
- * - 支持动画效果
8
- * - 支持纹理贴图
9
- *
10
- * @category Objects
11
- * @example
12
- * ```javascript
13
- * // 创建一个基础宽线
14
- * const line = engine.add(new mapvthree.FatLine({
15
- * lineWidth: 4,
16
- * color: '#ff0000',
17
- * keepSize: true
18
- * }));
19
- *
20
- * // 创建一个带动画效果的虚线
21
- * const animatedLine = engine.add(new mapvthree.FatLine({
22
- * lineWidth: 6,
23
- * color: '#00ff00',
24
- * dashed: true,
25
- * enableAnimation: true,
26
- * animationSpeed: 1,
27
- * animationTailType: 1,
28
- * animationTailRatio: 0.3,
29
- * keepSize: true
30
- * }));
31
- *
32
- * // 设置数据源
33
- * let data = mapvthree.GeoJSONDataSource.fromGeoJSON(lineData);
34
- * line.dataSource = data;
35
- * animatedLine.dataSource = data;
36
- * ```
37
- */
38
- export class FatLine extends GeoMesh {
39
- /**
40
- * 创建宽线渲染对象
41
- * @param {Object} parameters 配置参数
42
- * @param {number} [parameters.lineWidth=4] 线宽
43
- * @param {number} [parameters.height] 线的高度
44
- * @param {boolean} [parameters.keepSize=true] 是否保持像素宽度
45
- * @param {string} [parameters.color] 线条颜色
46
- * @param {boolean} [parameters.vertexColors] 是否启用顶点颜色
47
- * @param {string} [parameters.mapSrc] 纹理贴图路径
48
- * @param {number} [parameters.mapGap=50] 纹理贴图间隔(相对于线宽的倍数)
49
- * @param {number} [parameters.opacity=1] 透明度
50
- * @param {number} [parameters.alphaTest=0] 开启透明剔除,透明度小于该值的部分都不渲染,默认为0
51
- * @param {boolean} [parameters.dashed] 是否启用虚线
52
- * @param {number} [parameters.dashArray] 虚线段长度
53
- * @param {number} [parameters.dashOffset] 虚线偏移量
54
- * @param {number} [parameters.dashRatio] 实心部分占每段长度的占比
55
- * @param {boolean} [parameters.enableAnimation] 是否启用动画
56
- * @param {boolean} [parameters.enableAnimationChaos] 是否开启不规则动画
57
- * @param {number} [parameters.animationInterval] 动画重复间隔比例, 值越大,重复之间的间隔越大,0表示不重复
58
- * @param {number} [parameters.animationSpeed] 动画速度
59
- * @param {1|2} [parameters.animationTailType] 动画尾迹类型(1:比例长度 2:固定长度), 1按线长度比例,需设置`animationTailRatio`属性,2按固定长度,需设置`animationTailLength`属性
60
- * @param {number} [parameters.animationTailRatio] 动画尾迹长度比例
61
- * @param {number} [parameters.animationTailLength] 动画尾迹固定长度
62
- * @param {number} [parameters.animationIdle] 动画空闲时间(毫秒)
63
- * @param {boolean} [parameters.transparent] 是否启用透明
64
- * @param {boolean} [parameters.antialias] 是否启用抗锯齿
65
- * @param {boolean} [parameters.isCurve] 是否自动生成贝塞尔曲线数据,线坐标中除了首尾点之外的点会失效,只取线数据的首尾点生成3D贝塞尔曲线
66
- */
67
- constructor(parameters: {
68
- lineWidth?: number | undefined;
69
- height?: number | undefined;
70
- keepSize?: boolean | undefined;
71
- color?: string | undefined;
72
- vertexColors?: boolean | undefined;
73
- mapSrc?: string | undefined;
74
- mapGap?: number | undefined;
75
- opacity?: number | undefined;
76
- alphaTest?: number | undefined;
77
- dashed?: boolean | undefined;
78
- dashArray?: number | undefined;
79
- dashOffset?: number | undefined;
80
- dashRatio?: number | undefined;
81
- enableAnimation?: boolean | undefined;
82
- enableAnimationChaos?: boolean | undefined;
83
- animationInterval?: number | undefined;
84
- animationSpeed?: number | undefined;
85
- animationTailType?: 1 | 2 | undefined;
86
- animationTailRatio?: number | undefined;
87
- animationTailLength?: number | undefined;
88
- animationIdle?: number | undefined;
89
- transparent?: boolean | undefined;
90
- antialias?: boolean | undefined;
91
- isCurve?: boolean | undefined;
92
- });
93
- isEventEntitySupported: boolean;
94
- /** @private */
95
- private _resolution;
96
- /** @protected */ protected geometry: any;
97
- /** @protected */ protected material: any;
98
- /**
99
- * @internal
100
- * 线拐角的形状
101
- * @type {'miter'|'bevel'|'round'}
102
- */
103
- lineJoin: "miter" | "bevel" | "round";
104
- /**
105
- * @internal
106
- * 线端点的形状
107
- * @type {'butt'|'square'|'round'}
108
- */
109
- lineCap: "butt" | "square" | "round";
110
- /**
111
- * @internal
112
- * 拐角如果是miter,则超过该长度自动变平角
113
- * @type {number}
114
- */
115
- miterLimit: number;
116
- /**
117
- * 是否保持像素宽度
118
- * @type {boolean}
119
- */
120
- keepSize: boolean;
121
- /**
122
- * 线条颜色, 默认为#00ffff
123
- * @type {string}
124
- */
125
- color: string;
126
- /**
127
- * @internal
128
- * 是否启用顶点颜色
129
- * @type {boolean}
130
- */
131
- vertexColors: boolean;
132
- /**
133
- * 纹理贴图路径
134
- * @type {string}
135
- */
136
- mapSrc: string;
137
- /**
138
- * 透明度, 默认为1
139
- * @type {number}
140
- */
141
- opacity: number;
142
- /**
143
- * 开启透明剔除,透明度小于该值的部分都不渲染,默认为0
144
- * @type {number}
145
- */
146
- alphaTest: number;
147
- /**
148
- * 是否启用虚线, 默认为false
149
- * @type {boolean}
150
- */
151
- dashed: boolean;
152
- /**
153
- * 虚线段长度(实线和虚线部分总长度), 默认为20
154
- * @type {number}
155
- */
156
- dashArray: number;
157
- /**
158
- * 虚线偏移量, 默认值为0
159
- * @type {number}
160
- */
161
- dashOffset: number;
162
- /**
163
- * 虚线实线部分比例, 默认值为0
164
- * @type {number}
165
- */
166
- dashRatio: number;
167
- /**
168
- * 是否启用动画, 默认为false
169
- * @type {boolean}
170
- */
171
- enableAnimation: boolean;
172
- /**
173
- * 是否开启不规则动画, 默认为false
174
- * @type {boolean}
175
- */
176
- enableAnimationChaos: boolean;
177
- /**
178
- * 动画速度, 默认值为1
179
- * @type {number}
180
- */
181
- animationSpeed: number;
182
- /**
183
- * 动画尾迹类型, 1按线长度比例,2按固定长度
184
- * @type {1|2}
185
- */
186
- animationTailType: 1 | 2;
187
- /**
188
- * 动画尾迹长度比例(尾迹长度占整条线的长度比例), 默认值为0.2
189
- * @type {number}
190
- */
191
- animationTailRatio: number;
192
- /**
193
- * 动画尾迹固定长度, 默认值为100
194
- * @type {number}
195
- */
196
- animationTailLength: number;
197
- /**
198
- * 动画间隔时间(毫秒), 默认值为1000
199
- * @type {number}
200
- */
201
- animationIdle: number;
202
- parameters: {
203
- lineWidth?: number | undefined;
204
- height?: number | undefined;
205
- keepSize?: boolean | undefined;
206
- color?: string | undefined;
207
- vertexColors?: boolean | undefined;
208
- mapSrc?: string | undefined;
209
- mapGap?: number | undefined;
210
- opacity?: number | undefined;
211
- alphaTest?: number | undefined;
212
- dashed?: boolean | undefined;
213
- dashArray?: number | undefined;
214
- dashOffset?: number | undefined;
215
- dashRatio?: number | undefined;
216
- enableAnimation?: boolean | undefined;
217
- enableAnimationChaos?: boolean | undefined;
218
- animationInterval?: number | undefined;
219
- animationSpeed?: number | undefined;
220
- animationTailType?: 1 | 2 | undefined;
221
- animationTailRatio?: number | undefined;
222
- animationTailLength?: number | undefined;
223
- animationIdle?: number | undefined;
224
- transparent?: boolean | undefined;
225
- antialias?: boolean | undefined;
226
- isCurve?: boolean | undefined;
227
- };
228
- /** @internal */
229
- getDefaultParams(): {
230
- lineWidth: number;
231
- };
232
- afterGeometryUpdate(): void;
233
- makeGeometryOffsetPosition: (geometry: any) => void;
234
- computeViewportTransformation(viewport: any, near: any, far: any, matrix: any): any;
235
- onBeforeScenePrepareRenderHook(): void;
236
- /**
237
- * 设置线宽
238
- */
239
- set lineWidth(value: number);
240
- /**
241
- * 获取或设置线宽
242
- * @type {number}
243
- */
244
- get lineWidth(): number;
1
+ export class FatLine extends Polyline {
2
+ constructor(parameters: any);
245
3
  }
246
- import { GeoMesh } from '../GeoMesh';
4
+ import { Polyline } from './Polyline';
@@ -0,0 +1,246 @@
1
+ /**
2
+ * 用于绘制具有宽度的线条。支持多种线型样式、动画效果和纹理贴图。
3
+ * 相比{@link SimpleLine},FatLine 提供了更丰富的渲染特性:
4
+ * - 可自定义线宽
5
+ * - 支持多种拐角和端点样式
6
+ * - 支持虚线渲染
7
+ * - 支持动画效果
8
+ * - 支持纹理贴图
9
+ *
10
+ * @category Objects
11
+ * @example
12
+ * ```javascript
13
+ * // 创建一个基础宽线
14
+ * const line = engine.add(new mapvthree.FatLine({
15
+ * lineWidth: 4,
16
+ * color: '#ff0000',
17
+ * keepSize: true
18
+ * }));
19
+ *
20
+ * // 创建一个带动画效果的虚线
21
+ * const animatedLine = engine.add(new mapvthree.FatLine({
22
+ * lineWidth: 6,
23
+ * color: '#00ff00',
24
+ * dashed: true,
25
+ * enableAnimation: true,
26
+ * animationSpeed: 1,
27
+ * animationTailType: 1,
28
+ * animationTailRatio: 0.3,
29
+ * keepSize: true
30
+ * }));
31
+ *
32
+ * // 设置数据源
33
+ * let data = mapvthree.GeoJSONDataSource.fromGeoJSON(lineData);
34
+ * line.dataSource = data;
35
+ * animatedLine.dataSource = data;
36
+ * ```
37
+ */
38
+ export class FatLineInternal extends GeoMesh {
39
+ /**
40
+ * 创建宽线渲染对象
41
+ * @param {Object} parameters 配置参数
42
+ * @param {number} [parameters.lineWidth=4] 线宽
43
+ * @param {number} [parameters.height] 线的高度
44
+ * @param {boolean} [parameters.keepSize=true] 是否保持像素宽度
45
+ * @param {string} [parameters.color] 线条颜色
46
+ * @param {boolean} [parameters.vertexColors] 是否启用顶点颜色
47
+ * @param {string} [parameters.mapSrc] 纹理贴图路径
48
+ * @param {number} [parameters.mapGap=50] 纹理贴图间隔(相对于线宽的倍数)
49
+ * @param {number} [parameters.opacity=1] 透明度
50
+ * @param {number} [parameters.alphaTest=0] 开启透明剔除,透明度小于该值的部分都不渲染,默认为0
51
+ * @param {boolean} [parameters.dashed] 是否启用虚线
52
+ * @param {number} [parameters.dashArray] 虚线段长度
53
+ * @param {number} [parameters.dashOffset] 虚线偏移量
54
+ * @param {number} [parameters.dashRatio] 实心部分占每段长度的占比
55
+ * @param {boolean} [parameters.enableAnimation] 是否启用动画
56
+ * @param {boolean} [parameters.enableAnimationChaos] 是否开启不规则动画
57
+ * @param {number} [parameters.animationInterval] 动画重复间隔比例, 值越大,重复之间的间隔越大,0表示不重复
58
+ * @param {number} [parameters.animationSpeed] 动画速度
59
+ * @param {1|2} [parameters.animationTailType] 动画尾迹类型(1:比例长度 2:固定长度), 1按线长度比例,需设置`animationTailRatio`属性,2按固定长度,需设置`animationTailLength`属性
60
+ * @param {number} [parameters.animationTailRatio] 动画尾迹长度比例
61
+ * @param {number} [parameters.animationTailLength] 动画尾迹固定长度
62
+ * @param {number} [parameters.animationIdle] 动画空闲时间(毫秒)
63
+ * @param {boolean} [parameters.transparent] 是否启用透明
64
+ * @param {boolean} [parameters.antialias] 是否启用抗锯齿
65
+ * @param {boolean} [parameters.isCurve] 是否自动生成贝塞尔曲线数据,线坐标中除了首尾点之外的点会失效,只取线数据的首尾点生成3D贝塞尔曲线
66
+ */
67
+ constructor(parameters: {
68
+ lineWidth?: number | undefined;
69
+ height?: number | undefined;
70
+ keepSize?: boolean | undefined;
71
+ color?: string | undefined;
72
+ vertexColors?: boolean | undefined;
73
+ mapSrc?: string | undefined;
74
+ mapGap?: number | undefined;
75
+ opacity?: number | undefined;
76
+ alphaTest?: number | undefined;
77
+ dashed?: boolean | undefined;
78
+ dashArray?: number | undefined;
79
+ dashOffset?: number | undefined;
80
+ dashRatio?: number | undefined;
81
+ enableAnimation?: boolean | undefined;
82
+ enableAnimationChaos?: boolean | undefined;
83
+ animationInterval?: number | undefined;
84
+ animationSpeed?: number | undefined;
85
+ animationTailType?: 1 | 2 | undefined;
86
+ animationTailRatio?: number | undefined;
87
+ animationTailLength?: number | undefined;
88
+ animationIdle?: number | undefined;
89
+ transparent?: boolean | undefined;
90
+ antialias?: boolean | undefined;
91
+ isCurve?: boolean | undefined;
92
+ });
93
+ isEventEntitySupported: boolean;
94
+ /** @private */
95
+ private _resolution;
96
+ /** @protected */ protected geometry: any;
97
+ /** @protected */ protected material: any;
98
+ /**
99
+ * @internal
100
+ * 线拐角的形状
101
+ * @type {'miter'|'bevel'|'round'}
102
+ */
103
+ lineJoin: "miter" | "bevel" | "round";
104
+ /**
105
+ * @internal
106
+ * 线端点的形状
107
+ * @type {'butt'|'square'|'round'}
108
+ */
109
+ lineCap: "butt" | "square" | "round";
110
+ /**
111
+ * @internal
112
+ * 拐角如果是miter,则超过该长度自动变平角
113
+ * @type {number}
114
+ */
115
+ miterLimit: number;
116
+ /**
117
+ * 是否保持像素宽度
118
+ * @type {boolean}
119
+ */
120
+ keepSize: boolean;
121
+ /**
122
+ * 线条颜色, 默认为#00ffff
123
+ * @type {string}
124
+ */
125
+ color: string;
126
+ /**
127
+ * @internal
128
+ * 是否启用顶点颜色
129
+ * @type {boolean}
130
+ */
131
+ vertexColors: boolean;
132
+ /**
133
+ * 纹理贴图路径
134
+ * @type {string}
135
+ */
136
+ mapSrc: string;
137
+ /**
138
+ * 透明度, 默认为1
139
+ * @type {number}
140
+ */
141
+ opacity: number;
142
+ /**
143
+ * 开启透明剔除,透明度小于该值的部分都不渲染,默认为0
144
+ * @type {number}
145
+ */
146
+ alphaTest: number;
147
+ /**
148
+ * 是否启用虚线, 默认为false
149
+ * @type {boolean}
150
+ */
151
+ dashed: boolean;
152
+ /**
153
+ * 虚线段长度(实线和虚线部分总长度), 默认为20
154
+ * @type {number}
155
+ */
156
+ dashArray: number;
157
+ /**
158
+ * 虚线偏移量, 默认值为0
159
+ * @type {number}
160
+ */
161
+ dashOffset: number;
162
+ /**
163
+ * 虚线实线部分比例, 默认值为0
164
+ * @type {number}
165
+ */
166
+ dashRatio: number;
167
+ /**
168
+ * 是否启用动画, 默认为false
169
+ * @type {boolean}
170
+ */
171
+ enableAnimation: boolean;
172
+ /**
173
+ * 是否开启不规则动画, 默认为false
174
+ * @type {boolean}
175
+ */
176
+ enableAnimationChaos: boolean;
177
+ /**
178
+ * 动画速度, 默认值为1
179
+ * @type {number}
180
+ */
181
+ animationSpeed: number;
182
+ /**
183
+ * 动画尾迹类型, 1按线长度比例,2按固定长度
184
+ * @type {1|2}
185
+ */
186
+ animationTailType: 1 | 2;
187
+ /**
188
+ * 动画尾迹长度比例(尾迹长度占整条线的长度比例), 默认值为0.2
189
+ * @type {number}
190
+ */
191
+ animationTailRatio: number;
192
+ /**
193
+ * 动画尾迹固定长度, 默认值为100
194
+ * @type {number}
195
+ */
196
+ animationTailLength: number;
197
+ /**
198
+ * 动画间隔时间(毫秒), 默认值为1000
199
+ * @type {number}
200
+ */
201
+ animationIdle: number;
202
+ parameters: {
203
+ lineWidth?: number | undefined;
204
+ height?: number | undefined;
205
+ keepSize?: boolean | undefined;
206
+ color?: string | undefined;
207
+ vertexColors?: boolean | undefined;
208
+ mapSrc?: string | undefined;
209
+ mapGap?: number | undefined;
210
+ opacity?: number | undefined;
211
+ alphaTest?: number | undefined;
212
+ dashed?: boolean | undefined;
213
+ dashArray?: number | undefined;
214
+ dashOffset?: number | undefined;
215
+ dashRatio?: number | undefined;
216
+ enableAnimation?: boolean | undefined;
217
+ enableAnimationChaos?: boolean | undefined;
218
+ animationInterval?: number | undefined;
219
+ animationSpeed?: number | undefined;
220
+ animationTailType?: 1 | 2 | undefined;
221
+ animationTailRatio?: number | undefined;
222
+ animationTailLength?: number | undefined;
223
+ animationIdle?: number | undefined;
224
+ transparent?: boolean | undefined;
225
+ antialias?: boolean | undefined;
226
+ isCurve?: boolean | undefined;
227
+ };
228
+ /** @internal */
229
+ getDefaultParams(): {
230
+ lineWidth: number;
231
+ };
232
+ afterGeometryUpdate(): void;
233
+ makeGeometryOffsetPosition: (geometry: any) => void;
234
+ computeViewportTransformation(viewport: any, near: any, far: any, matrix: any): any;
235
+ onBeforeScenePrepareRenderHook(): void;
236
+ /**
237
+ * 设置线宽
238
+ */
239
+ set lineWidth(value: number);
240
+ /**
241
+ * 获取或设置线宽
242
+ * @type {number}
243
+ */
244
+ get lineWidth(): number;
245
+ }
246
+ import { GeoMesh } from '../GeoMesh';
@@ -1,85 +1,62 @@
1
1
  /**
2
- * 有宽度的线,可设置拐角、端头,可实现虚线,可实现线动画
3
- * ```js
4
- * const line = engine.add(new mapvthree.Polyline());
5
- * let data = mapvthree.GeoJSONDataSource.fromGeoJSON(data);
6
- * line.dataSource = data;
2
+ * 折线,支持普通折线和贴地折线两种渲染模式。
3
+ * 通过代理模式将属性和方法调用转发到内部对象,支持动态切换渲染模式。
4
+ *
5
+ * @category Objects
6
+ * @example
7
+ * ```javascript
8
+ * // 创建普通折线(屏幕空间线)
9
+ * const polyline = engine.add(new mapvthree.Polyline({
10
+ * flat: false,
11
+ * color: 0xff0000,
12
+ * lineWidth: 2
13
+ * }));
14
+ *
15
+ * // 创建贴地折线(XY平面拉伸)
16
+ * const fatLine = engine.add(new mapvthree.Polyline({
17
+ * flat: true,
18
+ * color: 0x00ff00,
19
+ * lineWidth: 5
20
+ * }));
7
21
  * ```
8
22
  */
9
- export class Polyline extends GeoMesh {
23
+ export class Polyline {
10
24
  /**
11
25
  * 构造函数
12
- * @param {{
13
- * color?: string, vertexColors?: boolean, emissive?: string, map?: string,
14
- * opacity?: number, alphaTest?: number,
15
- * dashed?: boolean, dashArray?: number, dashOffset?: number, dashRatio?: number,
16
- * }} parameters 传入参数对象
17
- * @param {number} parameters.lineWidth 线的宽度,默认是4
18
- * @param {number} parameters.height 线的高度
19
- * @param {string} parameters.color 线的颜色
20
- * @param {boolean} parameters.vertexColors 是否通过数据携带颜色配置
21
- * @param {string} parameters.emissive 自发光的颜色
22
- * @param {number} parameters.opacity 线的整体透明系数,默认为1
23
- * @param {number} parameters.alphaTest 开启透明剔除,透明度小于该值的部分都不渲染,默认为0
24
- * @param {boolean} parameters.dashed 是否渲染虚线
25
- * @param {number} parameters.dashArray 每段虚线(实心加空心部分)的长度
26
- * @param {number} parameters.dashOffset 虚线起始绘制部分的偏移
27
- * @param {number} parameters.dashRatio 实心部分占每段长度的占比
26
+ * @param {Object} parameters 配置参数
27
+ * @param {boolean} [parameters.flat=false] 是否使用贴地模式,true为贴地折线(XY平面拉伸),false为普通折线(屏幕空间拉伸)
28
+ *
29
+ * @param {string} [parameters.color] 线条颜色,支持十六进制颜色值或颜色名称,默认为#00ffff
30
+ * @param {number} [parameters.lineWidth] 线条宽度,默认为4
31
+ * @param {number} [parameters.height] 线条高度,用于3D效果
32
+ * @param {number} [parameters.opacity] 透明度,取值范围0-1,默认为1
33
+ * @param {number} [parameters.alphaTest] 透明度测试阈值,小于该值的像素将被剔除,默认为0
34
+ * @param {boolean} [parameters.vertexColors] 是否使用顶点颜色,当为true时可通过数据源设置每个点的颜色
35
+ * @param {string} [parameters.emissive] 自发光颜色,支持十六进制颜色值
36
+ * @param {string} [parameters.map] 纹理贴图路径,支持图片文件路径
37
+ * @param {boolean} [parameters.dashed] 是否渲染虚线,默认为false
38
+ * @param {number} [parameters.dashArray] 每段虚线(实心加空心部分)的长度,默认为20
39
+ * @param {number} [parameters.dashOffset] 虚线起始绘制部分的偏移,默认为0
40
+ * @param {number} [parameters.dashRatio] 实心部分占每段长度的占比,默认为0.5
41
+ * @param {boolean} [parameters.isCurve] 是否自动生成贝塞尔曲线数据,默认为false
28
42
  */
29
43
  constructor(parameters: {
30
- color?: string;
31
- vertexColors?: boolean;
32
- emissive?: string;
33
- map?: string;
34
- opacity?: number;
35
- alphaTest?: number;
36
- dashed?: boolean;
37
- dashArray?: number;
38
- dashOffset?: number;
39
- dashRatio?: number;
44
+ flat?: boolean | undefined;
45
+ color?: string | undefined;
46
+ lineWidth?: number | undefined;
47
+ height?: number | undefined;
48
+ opacity?: number | undefined;
49
+ alphaTest?: number | undefined;
50
+ vertexColors?: boolean | undefined;
51
+ emissive?: string | undefined;
52
+ map?: string | undefined;
53
+ dashed?: boolean | undefined;
54
+ dashArray?: number | undefined;
55
+ dashOffset?: number | undefined;
56
+ dashRatio?: number | undefined;
57
+ isCurve?: boolean | undefined;
40
58
  });
41
- isEventEntitySupported: boolean;
42
- /** @private */
43
- private _resolution;
44
- /** @protected */ protected geometry: any;
45
- /** @protected */ protected material: any;
46
- /** 线的颜色 */ color: any;
47
- /** 是否通过数据携带颜色配置 */ vertexColors: any;
48
- /** 自发光的颜色 */ emissive: any;
49
- /** 纹理贴图的路径 */ map: any;
50
- /** 线的整体透明系数 */ opacity: any;
51
- /** 开启透明剔除,透明度小于该值的部分都不渲染,默认为0 */ alphaTest: any;
52
- /** 是否渲染虚线 */ dashed: any;
53
- /** 每段虚线(实心加空心部分)的长度 */ dashArray: any;
54
- /** 虚线起始绘制部分的偏移 */ dashOffset: any;
55
- /** 实心部分占每段长度的占比 */ dashRatio: any;
56
- parameters: {
57
- color?: string;
58
- vertexColors?: boolean;
59
- emissive?: string;
60
- map?: string;
61
- opacity?: number;
62
- alphaTest?: number;
63
- dashed?: boolean;
64
- dashArray?: number;
65
- dashOffset?: number;
66
- dashRatio?: number;
67
- };
68
- /** @internal */
69
- getDefaultParams(): {
70
- lineWidth: number;
71
- };
72
- computeViewportOrthographicTransform(viewport: any, near: any, far: any, matrix: any): any;
73
- computeViewportTransformation(viewport: any, near: any, far: any, matrix: any): any;
74
- onBeforeScenePrepareRenderHook(): void;
75
- _cameraNear: any;
76
- _cameraFar: any;
77
- afterGeometryUpdate(): void;
78
- makeGeometryOffsetPosition: (geometry: any) => void;
79
- set lineWidth(value: any);
80
- /**
81
- * 线的宽度
82
- */
83
- get lineWidth(): any;
59
+ /** @internal */ _object: PolylineInternal | FatLineInternal;
84
60
  }
85
- import { GeoMesh } from '../GeoMesh';
61
+ import { PolylineInternal } from './PolylineInternal';
62
+ import { FatLineInternal } from './FatLineInternal';