@ccpc/math 0.1.0 → 0.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 (459) hide show
  1. package/index.cjs +226 -0
  2. package/package.json +19 -37
  3. package/types/algorithm/bool_operate/bool2d/bool2d.d.ts +22 -0
  4. package/types/algorithm/bool_operate/bool2d/difference.d.ts +9 -0
  5. package/types/algorithm/bool_operate/bool2d/intersect.d.ts +9 -0
  6. package/types/algorithm/bool_operate/bool2d/split.d.ts +3 -0
  7. package/types/algorithm/bool_operate/bool2d/union.d.ts +9 -0
  8. package/types/algorithm/bool_operate/bool2d/utils.d.ts +40 -0
  9. package/types/algorithm/bool_operate/bool_operate_clipper.d.ts +18 -0
  10. package/types/algorithm/bool_operate/polycurve_polygon_bool.d.ts +13 -0
  11. package/types/algorithm/bool_operate_2d.d.ts +67 -0
  12. package/types/algorithm/calc_d.d.ts +85 -0
  13. package/types/algorithm/calc_offset.d.ts +70 -0
  14. package/types/algorithm/calc_overlap.d.ts +56 -0
  15. package/types/algorithm/calc_project.d.ts +29 -0
  16. package/types/algorithm/calc_x.d.ts +215 -0
  17. package/types/algorithm/calculate_util/geometry_subdevide_infos.d.ts +73 -0
  18. package/types/algorithm/calculate_util/iterative_method.d.ts +30 -0
  19. package/types/algorithm/discrete/discrete_curve.d.ts +31 -0
  20. package/types/algorithm/discrete/discrete_refiner.d.ts +35 -0
  21. package/types/algorithm/discrete/discrete_surface.d.ts +74 -0
  22. package/types/algorithm/discrete/discrete_topology.d.ts +32 -0
  23. package/types/algorithm/discrete/discrete_util.d.ts +96 -0
  24. package/types/algorithm/discrete/grid_discrete_data.d.ts +58 -0
  25. package/types/algorithm/discrete/libtess.d.ts +12 -0
  26. package/types/algorithm/discrete/uniform_grid_discrete.d.ts +3 -0
  27. package/types/algorithm/distance/base_calc_distance/curves_distance_util.d.ts +20 -0
  28. package/types/algorithm/distance/base_calc_distance/define_of_calculate_distance.d.ts +12 -0
  29. package/types/algorithm/distance/curve2ds_distance/arc2s_distance.d.ts +17 -0
  30. package/types/algorithm/distance/curve2ds_distance/line2d_to_arc2d_distance.d.ts +17 -0
  31. package/types/algorithm/distance/curve2ds_distance/line2s_distance.d.ts +15 -0
  32. package/types/algorithm/distance/curve2s_distance.d.ts +15 -0
  33. package/types/algorithm/distance/curve3ds_distance/line3d_to_line3d_distance_paramed.d.ts +12 -0
  34. package/types/algorithm/distance/curve3s_distance.d.ts +31 -0
  35. package/types/algorithm/distance/pt_to_curve2_signed_distance.d.ts +17 -0
  36. package/types/algorithm/distance/pt_to_curve3_distance.d.ts +25 -0
  37. package/types/algorithm/distance/pt_to_curve_distance_info.d.ts +12 -0
  38. package/types/algorithm/distance/pt_to_surface_distance.d.ts +17 -0
  39. package/types/algorithm/distance/pts_to_curves_distance.d.ts +13 -0
  40. package/types/algorithm/distance/pts_to_pts_distance.d.ts +7 -0
  41. package/types/algorithm/geometry_merge.d.ts +22 -0
  42. package/types/algorithm/index.d.ts +32 -0
  43. package/types/algorithm/intersect/box_cut_line.d.ts +6 -0
  44. package/types/algorithm/intersect/curve_self_x.d.ts +13 -0
  45. package/types/algorithm/intersect/curve_surface_x.d.ts +34 -0
  46. package/types/algorithm/intersect/curve_surface_x_util.d.ts +32 -0
  47. package/types/algorithm/intersect/curves_x/circulars_x.d.ts +35 -0
  48. package/types/algorithm/intersect/curves_x/linear_circular_x.d.ts +40 -0
  49. package/types/algorithm/intersect/curves_x/lines_x.d.ts +17 -0
  50. package/types/algorithm/intersect/curves_x/lines_x_util.d.ts +4 -0
  51. package/types/algorithm/intersect/curves_x.d.ts +26 -0
  52. package/types/algorithm/intersect/curves_x_util.d.ts +35 -0
  53. package/types/algorithm/intersect/intersect_info_util.d.ts +9 -0
  54. package/types/algorithm/intersect/surface_self_x.d.ts +8 -0
  55. package/types/algorithm/intersect/surfaces_x.d.ts +53 -0
  56. package/types/algorithm/intersect/surfaces_x_complex.d.ts +29 -0
  57. package/types/algorithm/intersect/surfaces_x_special.d.ts +16 -0
  58. package/types/algorithm/intersect/surfaces_x_util.d.ts +41 -0
  59. package/types/algorithm/intersect/x_info.d.ts +65 -0
  60. package/types/algorithm/loop_property/loop-area.d.ts +49 -0
  61. package/types/algorithm/loop_property/loop-centroid.d.ts +40 -0
  62. package/types/algorithm/merge_geometry/halfplane.d.ts +24 -0
  63. package/types/algorithm/merge_geometry/merge_curve.d.ts +14 -0
  64. package/types/algorithm/merge_geometry/merge_point.d.ts +18 -0
  65. package/types/algorithm/mesh/clip_mesh.d.ts +27 -0
  66. package/types/algorithm/mesh/extrude_clip.d.ts +236 -0
  67. package/types/algorithm/mesh/mesh_assist.d.ts +21 -0
  68. package/types/algorithm/mesh/mesh_contour.d.ts +26 -0
  69. package/types/algorithm/mesh/mesh_util.d.ts +115 -0
  70. package/types/algorithm/offset/loop2d_offset.d.ts +22 -0
  71. package/types/algorithm/offset/polygon_offset.d.ts +27 -0
  72. package/types/algorithm/overlap/curve_surface_coincide.d.ts +6 -0
  73. package/types/algorithm/overlap/curves_colinear.d.ts +38 -0
  74. package/types/algorithm/overlap/curves_merge.d.ts +74 -0
  75. package/types/algorithm/overlap/curves_overlap.d.ts +34 -0
  76. package/types/algorithm/overlap/i_overlap.d.ts +9 -0
  77. package/types/algorithm/overlap/surfaces_coplaner.d.ts +5 -0
  78. package/types/algorithm/pattern/blocks2Geometry.d.ts +50 -0
  79. package/types/algorithm/pattern/math.d.ts +42 -0
  80. package/types/algorithm/pattern/pattern.d.ts +43 -0
  81. package/types/algorithm/pattern/pattern_util.d.ts +53 -0
  82. package/types/algorithm/pattern/pave.d.ts +33 -0
  83. package/types/algorithm/pj/curves_oj.d.ts +19 -0
  84. package/types/algorithm/pj/curves_pj.d.ts +19 -0
  85. package/types/algorithm/pj/loops_pj.d.ts +13 -0
  86. package/types/algorithm/pj/pj_type.d.ts +46 -0
  87. package/types/algorithm/pj/pt_loop_pj.d.ts +24 -0
  88. package/types/algorithm/pj/pt_polygon_pj.d.ts +18 -0
  89. package/types/algorithm/pj/pt_polygon_position_judger.d.ts +11 -0
  90. package/types/algorithm/position_judge.d.ts +72 -0
  91. package/types/algorithm/project/curve3d_to_plane_project.d.ts +11 -0
  92. package/types/algorithm/project/curve_curve_project.d.ts +9 -0
  93. package/types/algorithm/search_graph/iloops_polygonex.d.ts +28 -0
  94. package/types/algorithm/search_graph/loop_tree_node.d.ts +30 -0
  95. package/types/algorithm/search_graph/loops_to_loop_tree_search_graph.d.ts +25 -0
  96. package/types/algorithm/search_graph/polygon_polygonex.d.ts +13 -0
  97. package/types/algorithm/search_graph/search_loop2d.d.ts +20 -0
  98. package/types/algorithm/search_graph/search_polyline.d.ts +11 -0
  99. package/types/algorithm/search_graph.d.ts +45 -0
  100. package/types/algorithm/topology_edit.d.ts +10 -0
  101. package/types/base/box.d.ts +100 -0
  102. package/types/base/box2.d.ts +17 -0
  103. package/types/base/box3.d.ts +20 -0
  104. package/types/base/coord.d.ts +10 -0
  105. package/types/base/coord2.d.ts +92 -0
  106. package/types/base/coord3.d.ts +139 -0
  107. package/types/base/discrete_param.d.ts +28 -0
  108. package/types/base/euler.d.ts +102 -0
  109. package/types/base/geo_element.d.ts +54 -0
  110. package/types/base/interval.d.ts +122 -0
  111. package/types/base/ivector.d.ts +126 -0
  112. package/types/base/matrix.d.ts +108 -0
  113. package/types/base/matrix3.d.ts +118 -0
  114. package/types/base/matrix4.d.ts +166 -0
  115. package/types/base/matrix_util.d.ts +5 -0
  116. package/types/base/period_inverval.d.ts +127 -0
  117. package/types/base/quaternion.d.ts +39 -0
  118. package/types/base/tangent_cone.d.ts +11 -0
  119. package/types/base/tilt_box.d.ts +11 -0
  120. package/types/base/tol.d.ts +120 -0
  121. package/types/base/vec.d.ts +46 -0
  122. package/types/base/vec2.d.ts +146 -0
  123. package/types/base/vec3.d.ts +158 -0
  124. package/types/brep-src/algorithm/alg_const.d.ts +23 -0
  125. package/types/brep-src/algorithm/alg_types.d.ts +47 -0
  126. package/types/brep-src/algorithm/algorithm_util/base_define.d.ts +7 -0
  127. package/types/brep-src/algorithm/algorithm_util/body_base_util.d.ts +4 -0
  128. package/types/brep-src/algorithm/algorithm_util/curve_solid_analysis.d.ts +28 -0
  129. package/types/brep-src/algorithm/algorithm_util/face_face_analysis.d.ts +39 -0
  130. package/types/brep-src/algorithm/algorithm_util/search_wire.d.ts +8 -0
  131. package/types/brep-src/algorithm/body_builder/basic_body_builder.d.ts +15 -0
  132. package/types/brep-src/algorithm/body_builder/extrude_body.d.ts +23 -0
  133. package/types/brep-src/algorithm/body_builder/sweep_body.d.ts +37 -0
  134. package/types/brep-src/algorithm/body_builder.d.ts +36 -0
  135. package/types/brep-src/algorithm/body_util.d.ts +21 -0
  136. package/types/brep-src/algorithm/bool_sk/brep_converter.d.ts +11 -0
  137. package/types/brep-src/algorithm/brep_calc_project.d.ts +50 -0
  138. package/types/brep-src/algorithm/brep_calc_x.d.ts +34 -0
  139. package/types/brep-src/algorithm/brep_pj.d.ts +47 -0
  140. package/types/brep-src/algorithm/index.d.ts +5 -0
  141. package/types/brep-src/algorithm/intersect/curve_face_overlap.d.ts +10 -0
  142. package/types/brep-src/algorithm/intersect/face_face_intersect.d.ts +22 -0
  143. package/types/brep-src/algorithm/intersect/face_faces_intersect.d.ts +15 -0
  144. package/types/brep-src/algorithm/intersect/line_face_intersect.d.ts +16 -0
  145. package/types/brep-src/algorithm/podition_judge/body_pj.d.ts +25 -0
  146. package/types/brep-src/algorithm/podition_judge/extrude_pj.d.ts +28 -0
  147. package/types/brep-src/algorithm/podition_judge/pt_body_pj.d.ts +32 -0
  148. package/types/brep-src/algorithm/project/body_project.d.ts +8 -0
  149. package/types/brep-src/algorithm/project/face_project.d.ts +20 -0
  150. package/types/brep-src/algorithm/project/face_surface_project.d.ts +8 -0
  151. package/types/brep-src/algorithm/project/space_project.d.ts +26 -0
  152. package/types/brep-src/algorithm/project/space_project_simple.d.ts +10 -0
  153. package/types/brep-src/algorithm/project/view_project.d.ts +25 -0
  154. package/types/brep-src/algorithm/shell_builder/create_shell_from_curves.d.ts +38 -0
  155. package/types/brep-src/algorithm/shell_builder.d.ts +25 -0
  156. package/types/brep-src/algorithm/shell_edit/add_edges/add_edges.d.ts +14 -0
  157. package/types/brep-src/algorithm/shell_edit/add_edges/add_edges_core.d.ts +11 -0
  158. package/types/brep-src/algorithm/shell_edit/copy_faces.d.ts +20 -0
  159. package/types/brep-src/algorithm/shell_edit/delete_faces_edges/delete_edge.d.ts +9 -0
  160. package/types/brep-src/algorithm/shell_edit/delete_faces_edges/delete_faces_edges.d.ts +17 -0
  161. package/types/brep-src/algorithm/shell_edit/faces_boolean/faces_boolean.d.ts +19 -0
  162. package/types/brep-src/algorithm/shell_edit/faces_boolean/faces_shells_boolean.d.ts +13 -0
  163. package/types/brep-src/algorithm/shell_edit/faces_boolean/octree.d.ts +11 -0
  164. package/types/brep-src/algorithm/shell_edit/isolate_faces.d.ts +21 -0
  165. package/types/brep-src/algorithm/shell_edit/merge_connect_faces.d.ts +14 -0
  166. package/types/brep-src/algorithm/shell_edit/merge_edges.d.ts +8 -0
  167. package/types/brep-src/algorithm/shell_edit/move_operators/move_edges.d.ts +31 -0
  168. package/types/brep-src/algorithm/shell_edit/move_operators/move_faces.d.ts +14 -0
  169. package/types/brep-src/algorithm/shell_edit/operator/dispose_topo.d.ts +2 -0
  170. package/types/brep-src/algorithm/shell_edit/operator/merge_connect_edge.d.ts +3 -0
  171. package/types/brep-src/algorithm/shell_edit/operator/merge_connect_face.d.ts +2 -0
  172. package/types/brep-src/algorithm/shell_edit/operator/merge_overlap_edge.d.ts +3 -0
  173. package/types/brep-src/algorithm/shell_edit/operator/merge_shell.d.ts +11 -0
  174. package/types/brep-src/algorithm/shell_edit/operator/merge_vertex.d.ts +2 -0
  175. package/types/brep-src/algorithm/shell_edit/operator/split_edge.d.ts +4 -0
  176. package/types/brep-src/algorithm/shell_edit/operator/split_shell.d.ts +6 -0
  177. package/types/brep-src/algorithm/shell_edit/pull_push_face/pull_push_face.d.ts +18 -0
  178. package/types/brep-src/algorithm/shell_edit/pull_push_face/pull_push_face_core.d.ts +6 -0
  179. package/types/brep-src/algorithm/shell_edit/pull_push_face/pull_push_face_preview.d.ts +16 -0
  180. package/types/brep-src/algorithm/shell_edit/pull_push_face/pull_push_face_preview_core.d.ts +24 -0
  181. package/types/brep-src/algorithm/shell_edit/roundinng/2d_rounding.d.ts +22 -0
  182. package/types/brep-src/algorithm/shell_edit/shell_modeling_base.d.ts +10 -0
  183. package/types/brep-src/algorithm/shell_edit/shell_modeling_result.d.ts +21 -0
  184. package/types/brep-src/algorithm/shell_edit/smooth/detect_loop_util.d.ts +27 -0
  185. package/types/brep-src/algorithm/shell_edit/smooth/shell_modeling_util.d.ts +24 -0
  186. package/types/brep-src/algorithm/shell_edit/smooth/smooth_util.d.ts +22 -0
  187. package/types/brep-src/algorithm/shell_edit/split_edge.d.ts +10 -0
  188. package/types/brep-src/algorithm/shell_edit.d.ts +119 -0
  189. package/types/brep-src/algorithm/shell_valid/base_brep_topo_error.d.ts +176 -0
  190. package/types/brep-src/algorithm/shell_valid/diagnose_shell.d.ts +14 -0
  191. package/types/brep-src/brep/brep_body.d.ts +19 -0
  192. package/types/brep-src/brep/coedge3d.d.ts +83 -0
  193. package/types/brep-src/brep/edge.d.ts +96 -0
  194. package/types/brep-src/brep/face.d.ts +150 -0
  195. package/types/brep-src/brep/shell.d.ts +166 -0
  196. package/types/brep-src/brep/topo_object.d.ts +40 -0
  197. package/types/brep-src/brep/vertex.d.ts +48 -0
  198. package/types/brep-src/brep/wire.d.ts +66 -0
  199. package/types/brep-src/continuous/continuous_edge.d.ts +17 -0
  200. package/types/brep-src/continuous/continuous_face.d.ts +10 -0
  201. package/types/brep-src/continuous/continuous_util.d.ts +60 -0
  202. package/types/brep-src/continuous/continuous_uv.d.ts +24 -0
  203. package/types/brep-src/continuous/index.d.ts +4 -0
  204. package/types/brep-src/index.d.ts +14 -0
  205. package/types/brep-src/type_define/i_types.d.ts +46 -0
  206. package/types/brep-src/util/util.d.ts +23 -0
  207. package/types/conversion/units_conversion.d.ts +14 -0
  208. package/types/geometry/arc2d.d.ts +249 -0
  209. package/types/geometry/arc3d.d.ts +204 -0
  210. package/types/geometry/circle3d.d.ts +92 -0
  211. package/types/geometry/circular_surface.d.ts +52 -0
  212. package/types/geometry/coord_based_surface.d.ts +25 -0
  213. package/types/geometry/curve.d.ts +228 -0
  214. package/types/geometry/curve2.d.ts +62 -0
  215. package/types/geometry/curve3d.d.ts +66 -0
  216. package/types/geometry/cylinder.d.ts +73 -0
  217. package/types/geometry/discrete_arrow.d.ts +3 -0
  218. package/types/geometry/extend_curve2.d.ts +75 -0
  219. package/types/geometry/geometry2d.d.ts +35 -0
  220. package/types/geometry/geometry3d.d.ts +36 -0
  221. package/types/geometry/intersect_curve3.d.ts +90 -0
  222. package/types/geometry/ln2.d.ts +168 -0
  223. package/types/geometry/ln3.d.ts +152 -0
  224. package/types/geometry/nurbs_curve2.d.ts +106 -0
  225. package/types/geometry/nurbs_curve3.d.ts +191 -0
  226. package/types/geometry/offset_curve2.d.ts +63 -0
  227. package/types/geometry/offset_curve3.d.ts +97 -0
  228. package/types/geometry/offset_parameter_mapper.d.ts +72 -0
  229. package/types/geometry/plane.d.ts +109 -0
  230. package/types/geometry/polyline.d.ts +12 -0
  231. package/types/geometry/smooth_poly2.d.ts +78 -0
  232. package/types/geometry/smooth_poly3.d.ts +85 -0
  233. package/types/geometry/surface.d.ts +173 -0
  234. package/types/index.d.ts +78 -0
  235. package/types/io/obj_parser.d.ts +4 -0
  236. package/types/io/svgparser.d.ts +22 -0
  237. package/types/loader/loader.d.ts +23 -0
  238. package/types/loader/register_geo.d.ts +7 -0
  239. package/types/math/gauss_integration.d.ts +13 -0
  240. package/types/math/inv_bilinear.d.ts +33 -0
  241. package/types/solve_equations/cubic_equation.d.ts +7 -0
  242. package/types/solve_equations/linear_system.d.ts +6 -0
  243. package/types/solve_equations/nonlinear_system.d.ts +11 -0
  244. package/types/solve_equations/plurality.d.ts +9 -0
  245. package/types/solve_equations/polynomial_equation.d.ts +6 -0
  246. package/types/solve_equations/quadratic_equation.d.ts +6 -0
  247. package/types/solve_equations/quartic_equation.d.ts +6 -0
  248. package/types/solve_equations/solve_equation_util.d.ts +50 -0
  249. package/types/test_util/loop_generator.d.ts +21 -0
  250. package/types/topology/evolution_map.d.ts +90 -0
  251. package/types/topology/loop.d.ts +50 -0
  252. package/types/topology/polycurve.d.ts +109 -0
  253. package/types/topology/polygon.d.ts +118 -0
  254. package/types/topology/trimmed_surface.d.ts +136 -0
  255. package/types/type_define/const.d.ts +18 -0
  256. package/types/type_define/i_element.d.ts +9 -0
  257. package/types/type_define/i_element_type.d.ts +34 -0
  258. package/types/type_define/i_geometry.d.ts +191 -0
  259. package/types/type_define/i_types.d.ts +280 -0
  260. package/types/util/array_util.d.ts +8 -0
  261. package/types/util/assert.d.ts +21 -0
  262. package/types/util/clipper2_util.d.ts +5 -0
  263. package/types/util/clipper_format_converter.d.ts +21 -0
  264. package/types/util/clipper_util.d.ts +10 -0
  265. package/types/util/curve_util.d.ts +72 -0
  266. package/types/util/geom_util.d.ts +23 -0
  267. package/types/util/log.d.ts +19 -0
  268. package/types/util/math_error.d.ts +37 -0
  269. package/types/util/surface_util.d.ts +13 -0
  270. package/types/util/util.d.ts +18 -0
  271. package/types/util/uv_util.d.ts +68 -0
  272. package/types/verb/export_verb.d.ts +2 -0
  273. package/types/wasm/a2d.d.ts +19 -0
  274. package/types/wasm/bx2.d.ts +16 -0
  275. package/types/wasm/c2d.d.ts +29 -0
  276. package/types/wasm/elli.d.ts +19 -0
  277. package/types/wasm/grapher2d.d.ts +39 -0
  278. package/types/wasm/grapherutil.d.ts +9 -0
  279. package/types/wasm/l2d.d.ts +14 -0
  280. package/types/wasm/loader.d.ts +8 -0
  281. package/types/wasm/pt.d.ts +19 -0
  282. package/types/wasm/wasm-geom.d.ts +296 -0
  283. package/types/wasm/wasminstance.d.ts +19 -0
  284. package/types/wasm/wrapper.d.ts +82 -0
  285. package/README.md +0 -21
  286. package/dist/constants/geom_type.d.ts +0 -13
  287. package/dist/constants/geom_type.d.ts.map +0 -1
  288. package/dist/constants/geom_type.js +0 -17
  289. package/dist/constants/math_const.d.ts +0 -9
  290. package/dist/constants/math_const.d.ts.map +0 -1
  291. package/dist/constants/math_const.js +0 -12
  292. package/dist/core/box2.d.ts +0 -71
  293. package/dist/core/box2.d.ts.map +0 -1
  294. package/dist/core/box2.js +0 -243
  295. package/dist/core/coord2d.d.ts +0 -62
  296. package/dist/core/coord2d.d.ts.map +0 -1
  297. package/dist/core/coord2d.js +0 -155
  298. package/dist/core/geom_base.d.ts +0 -19
  299. package/dist/core/geom_base.d.ts.map +0 -1
  300. package/dist/core/geom_base.js +0 -18
  301. package/dist/core/mat3.d.ts +0 -101
  302. package/dist/core/mat3.d.ts.map +0 -1
  303. package/dist/core/mat3.js +0 -290
  304. package/dist/core/vec2.d.ts +0 -138
  305. package/dist/core/vec2.d.ts.map +0 -1
  306. package/dist/core/vec2.js +0 -297
  307. package/dist/curves/arc2.d.ts +0 -49
  308. package/dist/curves/arc2.d.ts.map +0 -1
  309. package/dist/curves/arc2.js +0 -265
  310. package/dist/curves/bspline2.d.ts +0 -150
  311. package/dist/curves/bspline2.d.ts.map +0 -1
  312. package/dist/curves/bspline2.js +0 -793
  313. package/dist/curves/circle2.d.ts +0 -42
  314. package/dist/curves/circle2.d.ts.map +0 -1
  315. package/dist/curves/circle2.js +0 -135
  316. package/dist/curves/circle_curve2.d.ts +0 -38
  317. package/dist/curves/circle_curve2.d.ts.map +0 -1
  318. package/dist/curves/circle_curve2.js +0 -112
  319. package/dist/curves/curve2.d.ts +0 -214
  320. package/dist/curves/curve2.d.ts.map +0 -1
  321. package/dist/curves/curve2.js +0 -238
  322. package/dist/curves/ellipse2.d.ts +0 -42
  323. package/dist/curves/ellipse2.d.ts.map +0 -1
  324. package/dist/curves/ellipse2.js +0 -125
  325. package/dist/curves/ellipse_arc2.d.ts +0 -49
  326. package/dist/curves/ellipse_arc2.d.ts.map +0 -1
  327. package/dist/curves/ellipse_arc2.js +0 -184
  328. package/dist/curves/ellipse_curve2.d.ts +0 -56
  329. package/dist/curves/ellipse_curve2.d.ts.map +0 -1
  330. package/dist/curves/ellipse_curve2.js +0 -262
  331. package/dist/curves/interval.d.ts +0 -112
  332. package/dist/curves/interval.d.ts.map +0 -1
  333. package/dist/curves/interval.js +0 -200
  334. package/dist/curves/line2.d.ts +0 -64
  335. package/dist/curves/line2.d.ts.map +0 -1
  336. package/dist/curves/line2.js +0 -193
  337. package/dist/curves/period_interval.d.ts +0 -129
  338. package/dist/curves/period_interval.d.ts.map +0 -1
  339. package/dist/curves/period_interval.js +0 -240
  340. package/dist/discretize/discretize_defaults.d.ts +0 -12
  341. package/dist/discretize/discretize_defaults.d.ts.map +0 -1
  342. package/dist/discretize/discretize_defaults.js +0 -12
  343. package/dist/discretize/discretize_engine.d.ts +0 -33
  344. package/dist/discretize/discretize_engine.d.ts.map +0 -1
  345. package/dist/discretize/discretize_engine.js +0 -347
  346. package/dist/discretize/discretize_errors.d.ts +0 -15
  347. package/dist/discretize/discretize_errors.d.ts.map +0 -1
  348. package/dist/discretize/discretize_errors.js +0 -30
  349. package/dist/discretize/discretize_options.d.ts +0 -18
  350. package/dist/discretize/discretize_options.d.ts.map +0 -1
  351. package/dist/discretize/discretize_options.js +0 -19
  352. package/dist/discretize/discretize_types.d.ts +0 -36
  353. package/dist/discretize/discretize_types.d.ts.map +0 -1
  354. package/dist/discretize/discretize_types.js +0 -1
  355. package/dist/discretize/internal/curve_guards.d.ts +0 -35
  356. package/dist/discretize/internal/curve_guards.d.ts.map +0 -1
  357. package/dist/discretize/internal/curve_guards.js +0 -62
  358. package/dist/discretize/internal/postprocess.d.ts +0 -5
  359. package/dist/discretize/internal/postprocess.d.ts.map +0 -1
  360. package/dist/discretize/internal/postprocess.js +0 -109
  361. package/dist/discretize/internal/sampling_utils.d.ts +0 -8
  362. package/dist/discretize/internal/sampling_utils.d.ts.map +0 -1
  363. package/dist/discretize/internal/sampling_utils.js +0 -36
  364. package/dist/discretize/register_builtin_strategies.d.ts +0 -3
  365. package/dist/discretize/register_builtin_strategies.d.ts.map +0 -1
  366. package/dist/discretize/register_builtin_strategies.js +0 -10
  367. package/dist/discretize/strategies/bspline_strategy.d.ts +0 -4
  368. package/dist/discretize/strategies/bspline_strategy.d.ts.map +0 -1
  369. package/dist/discretize/strategies/bspline_strategy.js +0 -115
  370. package/dist/discretize/strategies/circle_strategy.d.ts +0 -7
  371. package/dist/discretize/strategies/circle_strategy.d.ts.map +0 -1
  372. package/dist/discretize/strategies/circle_strategy.js +0 -55
  373. package/dist/discretize/strategies/ellipse_strategy.d.ts +0 -7
  374. package/dist/discretize/strategies/ellipse_strategy.d.ts.map +0 -1
  375. package/dist/discretize/strategies/ellipse_strategy.js +0 -86
  376. package/dist/discretize/strategies/line_strategy.d.ts +0 -4
  377. package/dist/discretize/strategies/line_strategy.d.ts.map +0 -1
  378. package/dist/discretize/strategies/line_strategy.js +0 -40
  379. package/dist/discretize/strategy_registry.d.ts +0 -9
  380. package/dist/discretize/strategy_registry.d.ts.map +0 -1
  381. package/dist/discretize/strategy_registry.js +0 -34
  382. package/dist/index.d.ts +0 -30
  383. package/dist/index.d.ts.map +0 -1
  384. package/dist/index.js +0 -24
  385. package/dist/intersections/analytic_x_algorithm.d.ts +0 -10
  386. package/dist/intersections/analytic_x_algorithm.d.ts.map +0 -1
  387. package/dist/intersections/analytic_x_algorithm.js +0 -83
  388. package/dist/intersections/curve_x_engine.d.ts +0 -9
  389. package/dist/intersections/curve_x_engine.d.ts.map +0 -1
  390. package/dist/intersections/curve_x_engine.js +0 -27
  391. package/dist/intersections/index.d.ts +0 -5
  392. package/dist/intersections/index.d.ts.map +0 -1
  393. package/dist/intersections/index.js +0 -11
  394. package/dist/intersections/internal/certification.d.ts +0 -34
  395. package/dist/intersections/internal/certification.d.ts.map +0 -1
  396. package/dist/intersections/internal/certification.js +0 -238
  397. package/dist/intersections/internal/interval_clipping.d.ts +0 -29
  398. package/dist/intersections/internal/interval_clipping.d.ts.map +0 -1
  399. package/dist/intersections/internal/interval_clipping.js +0 -123
  400. package/dist/intersections/internal/kind.d.ts +0 -4
  401. package/dist/intersections/internal/kind.d.ts.map +0 -1
  402. package/dist/intersections/internal/kind.js +0 -16
  403. package/dist/intersections/internal/pair.d.ts +0 -9
  404. package/dist/intersections/internal/pair.d.ts.map +0 -1
  405. package/dist/intersections/internal/pair.js +0 -14
  406. package/dist/intersections/internal/result.d.ts +0 -20
  407. package/dist/intersections/internal/result.d.ts.map +0 -1
  408. package/dist/intersections/internal/result.js +0 -125
  409. package/dist/intersections/internal/sampling.d.ts +0 -15
  410. package/dist/intersections/internal/sampling.d.ts.map +0 -1
  411. package/dist/intersections/internal/sampling.js +0 -131
  412. package/dist/intersections/internal/segment.d.ts +0 -32
  413. package/dist/intersections/internal/segment.d.ts.map +0 -1
  414. package/dist/intersections/internal/segment.js +0 -137
  415. package/dist/intersections/internal/tolerance.d.ts +0 -10
  416. package/dist/intersections/internal/tolerance.d.ts.map +0 -1
  417. package/dist/intersections/internal/tolerance.js +0 -20
  418. package/dist/intersections/intersector.d.ts +0 -6
  419. package/dist/intersections/intersector.d.ts.map +0 -1
  420. package/dist/intersections/intersector.js +0 -1
  421. package/dist/intersections/numeric_x_algorithm.d.ts +0 -10
  422. package/dist/intersections/numeric_x_algorithm.d.ts.map +0 -1
  423. package/dist/intersections/numeric_x_algorithm.js +0 -73
  424. package/dist/intersections/solvers/bspline_self_solver.d.ts +0 -7
  425. package/dist/intersections/solvers/bspline_self_solver.d.ts.map +0 -1
  426. package/dist/intersections/solvers/bspline_self_solver.js +0 -308
  427. package/dist/intersections/solvers/line_line_pair_solver.d.ts +0 -7
  428. package/dist/intersections/solvers/line_line_pair_solver.d.ts.map +0 -1
  429. package/dist/intersections/solvers/line_line_pair_solver.js +0 -35
  430. package/dist/intersections/solvers/pair_solvers.d.ts +0 -94
  431. package/dist/intersections/solvers/pair_solvers.d.ts.map +0 -1
  432. package/dist/intersections/solvers/pair_solvers.js +0 -1078
  433. package/dist/intersections/solvers/polyline_pair_intersector.d.ts +0 -51
  434. package/dist/intersections/solvers/polyline_pair_intersector.d.ts.map +0 -1
  435. package/dist/intersections/solvers/polyline_pair_intersector.js +0 -731
  436. package/dist/intersections/types.d.ts +0 -11
  437. package/dist/intersections/types.d.ts.map +0 -1
  438. package/dist/intersections/types.js +0 -1
  439. package/dist/serialize/dump_types.d.ts +0 -101
  440. package/dist/serialize/dump_types.d.ts.map +0 -1
  441. package/dist/serialize/dump_types.js +0 -5
  442. package/dist/serialize/geom_mgr.d.ts +0 -24
  443. package/dist/serialize/geom_mgr.d.ts.map +0 -1
  444. package/dist/serialize/geom_mgr.js +0 -30
  445. package/dist/types/type_define.d.ts +0 -29
  446. package/dist/types/type_define.d.ts.map +0 -1
  447. package/dist/types/type_define.js +0 -10
  448. package/dist/types/type_guard.d.ts +0 -46
  449. package/dist/types/type_guard.d.ts.map +0 -1
  450. package/dist/types/type_guard.js +0 -5
  451. package/dist/utils/math_error.d.ts +0 -16
  452. package/dist/utils/math_error.d.ts.map +0 -1
  453. package/dist/utils/math_error.js +0 -35
  454. package/dist/utils/math_utils.d.ts +0 -9
  455. package/dist/utils/math_utils.d.ts.map +0 -1
  456. package/dist/utils/math_utils.js +0 -25
  457. package/dist/utils/precision.d.ts +0 -29
  458. package/dist/utils/precision.d.ts.map +0 -1
  459. package/dist/utils/precision.js +0 -44
@@ -0,0 +1,20 @@
1
+ import { Vec3 } from '../../../base/vec3';
2
+ import { Curve3 } from '../../../geometry/curve3d';
3
+ import { Curve3dSegment, Curve3dSegmentPair } from '../../calculate_util/geometry_subdevide_infos';
4
+ import { Curve2 } from '../../../geometry/curve2';
5
+ import { Vec2 } from '../../../base/vec2';
6
+ /**
7
+ * 曲线集到曲线集的最近距离
8
+ */
9
+ export declare class CurvedDistanceUtil {
10
+ static minAtEnds2d(curve1: Curve2, curve2: Curve2, point1?: Vec2, point2?: Vec2): number;
11
+ static minAtEnds3d(curve1: Curve3, curve2: Curve3, point1?: Vec3, point2?: Vec3): number;
12
+ /**
13
+ * 曲线集到曲线集的最近距离
14
+ * oldMinDis 用于包围盒加速计算,传入一个已知的距离,如果没有已知距离,就不用传入该参数,用默认值就行。譬如说,前面
15
+ * 已经计算了曲线顶点之间的最近距离为2.015,就可以跳过很多包围盒最小距离都大于此距离的曲线,提高效率。
16
+ */
17
+ static execute(curve3dSegments1: Curve3dSegment[], curve3dSegments2: Curve3dSegment[], curve3dSegPairs: Curve3dSegmentPair[], minDisPt1: Vec3, minDisPt2: Vec3, oldMinDis?: number): number;
18
+ private static _calCurvSegmentPairsDist;
19
+ private static _calcCurvCurvIteration;
20
+ }
@@ -0,0 +1,12 @@
1
+ import { Vec2 } from '../../../base/vec2';
2
+ import { Vec3 } from '../../../base/vec3';
3
+ export interface IPoint2dPair {
4
+ point1: Vec2;
5
+ point2: Vec2;
6
+ sqrDistance: number;
7
+ }
8
+ export interface IPoint3dPair {
9
+ point1: Vec3;
10
+ point2: Vec3;
11
+ sqrDistance: number;
12
+ }
@@ -0,0 +1,17 @@
1
+ import { Arc2 } from '../../../geometry/arc2d';
2
+ import { Vec2 } from '../../../base/vec2';
3
+ /**
4
+ * 二维圆弧到二维圆弧的最近距离
5
+ */
6
+ export declare class Arc2sDistance {
7
+ /**
8
+ * 二维圆弧到二维圆弧的距离
9
+ * @param arc1 二维圆弧
10
+ * @param arc2 二维圆弧
11
+ * @param footPoint1 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
12
+ * @param footPoint2 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
13
+ */
14
+ static execute(arc1: Arc2, arc2: Arc2, minDisPoint1?: Vec2, minDisPoint2?: Vec2): number;
15
+ private static _IsIntsectTwoArc2d;
16
+ private static _IsIntPtInRange;
17
+ }
@@ -0,0 +1,17 @@
1
+ import { Ln2 } from '../../../geometry/ln2';
2
+ import { Arc2 } from '../../../geometry/arc2d';
3
+ import { Vec2 } from '../../../base/vec2';
4
+ /**
5
+ * 二维线段到二维圆弧的最近距离
6
+ */
7
+ export declare class Line2dToArc2dDistance {
8
+ /**
9
+ * 二维线段到二维圆弧的距离
10
+ * @param line 二维线段
11
+ * @param arc 二维圆弧
12
+ * @param point1 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
13
+ * @param point2 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
14
+ */
15
+ static execute(line: Ln2, arc: Arc2, point1?: Vec2, point2?: Vec2): number;
16
+ private static _IsIntPtInRange;
17
+ }
@@ -0,0 +1,15 @@
1
+ import { Ln2 } from '../../../geometry/ln2';
2
+ import { Vec2 } from '../../../base/vec2';
3
+ /**
4
+ * 二维线段到二维线段的最近距离
5
+ */
6
+ export declare class Line2sDistance {
7
+ /**
8
+ * 二维直线段到二维直线段的距离
9
+ * @param line1 二维线段
10
+ * @param line2 二维线段
11
+ * @param footPoint1 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
12
+ * @param footPoint2 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
13
+ */
14
+ static execute(line1: Ln2, line2: Ln2, point1?: Vec2, point2?: Vec2): number;
15
+ }
@@ -0,0 +1,15 @@
1
+ import { Vec2 } from '../../base/vec2';
2
+ import { Curve2 } from '../../geometry/curve2';
3
+ /**
4
+ * 二维曲线到二维曲线的最近距离
5
+ */
6
+ export declare class Curve2sDistance {
7
+ /**
8
+ * 二维曲线到二维曲线的最近距离
9
+ * @param curve 二维曲线
10
+ * @param curve 二维曲线
11
+ * @param footPoint1 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
12
+ * @param footPoint2 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
13
+ */
14
+ static execute(curve1: Curve2, curve2: Curve2, footPoint1?: Vec2, footPoint2?: Vec2): number;
15
+ }
@@ -0,0 +1,12 @@
1
+ import { types } from '../../../type_define/i_types';
2
+ export declare class Line3dToLine3dDistanceParamed {
3
+ /**
4
+ * 方程求解三维直线到三维直线的距离
5
+ * @param origin1 原点1
6
+ * @param origin2 原点2
7
+ * @param dir1 直线方向1
8
+ * @param dir2 直线方向2
9
+ * @returns 交点在直线1、2上的参数
10
+ */
11
+ static execute(origin1: types.IXYZ, origin2: types.IXYZ, dir1: types.IXYZ, dir2: types.IXYZ): types.numberArr2;
12
+ }
@@ -0,0 +1,31 @@
1
+ import { Vec3 } from '../../base/vec3';
2
+ import { Curve3 } from '../../geometry/curve3d';
3
+ /**
4
+ * 三维曲线到三维曲线的最近距离
5
+ */
6
+ export declare class Curve3sDistance {
7
+ /**
8
+ * 三维曲线到三维曲线的距离
9
+ * @param curve 三维曲线
10
+ * @param curve 三维曲线
11
+ * @param minDisPoint1 [out] 输出参数(可选),若用户想要获取最近距离点,则传入该参数
12
+ * @param minDisPoint2 [out] 输出参数(可选),若用户想要获取最近距离点,则传入该参数
13
+ */
14
+ static execute(curve1: Curve3, curve2: Curve3, minDisPoint1?: Vec3, minDisPoint2?: Vec3): number;
15
+ /**
16
+ * 空间中两三维直线间的距离
17
+ * @param line1
18
+ * @param line2
19
+ * @param point1 [out] 输出参数(可选),若用户想要获取最近距离点,则传入该参数
20
+ * @param point2 [out] 输出参数(可选),若用户想要获取最近距离点,则传入该参数
21
+ */
22
+ private static _Line3dToLine3dDistance;
23
+ /**
24
+ * 空间中两三维曲线间的距离
25
+ * @param curve3d1
26
+ * @param curve3d2
27
+ * @param point1 [out] 输出参数(可选),若用户想要获取最近距离点,则传入该参数
28
+ * @param point2 [out] 输出参数(可选),若用户想要获取最近距离点,则传入该参数
29
+ */
30
+ private static _Curve3dToCurve3dDistance;
31
+ }
@@ -0,0 +1,17 @@
1
+ import { Curve2 } from '../../geometry/curve2';
2
+ import { types } from '../../type_define/i_types';
3
+ import { IPtCvDistanceInfo2 } from './pt_to_curve_distance_info';
4
+ /**
5
+ * 点到二维曲线的有向距离
6
+ */
7
+ export declare class PtToCv2Distance {
8
+ /**
9
+ * 点到二维曲线的有向距离
10
+ * 点在直线右侧距离为正,否则为负
11
+ * @param point 任一点
12
+ * @param curve 二维曲线
13
+ */
14
+ static execute(point: types.IXY, curve: Curve2, signedDistance?: boolean): IPtCvDistanceInfo2;
15
+ static simple(point: types.IXY, curve: Curve2, signedDistance?: boolean): IPtCvDistanceInfo2;
16
+ private static _toCurveEnd;
17
+ }
@@ -0,0 +1,25 @@
1
+ import { Curve3 } from '../../geometry/curve3d';
2
+ import { types } from '../../type_define/i_types';
3
+ import { IPtCvDistanceInfo3 } from './pt_to_curve_distance_info';
4
+ /**
5
+ * 点到三维曲线的距离
6
+ */
7
+ export declare class PtToCurve3Distance {
8
+ /**
9
+ * 点到三维曲线的距离,直线支持传入有限长和无限长
10
+ * @param point 任一点
11
+ * @param curve 三维曲线
12
+ * @param minDistPoint [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
13
+ */
14
+ static execute(point: types.IXYZ, curve: Curve3): IPtCvDistanceInfo3;
15
+ /**
16
+ * 点到三维简单曲线的距离,可传入无限长直线,返回值为正
17
+ * @param point
18
+ * @param line
19
+ */
20
+ static simple(point: types.IXYZ, curve: Curve3): IPtCvDistanceInfo3;
21
+ static general(point: types.IXYZ, curve: Curve3): IPtCvDistanceInfo3;
22
+ static curves(point: types.IXYZ, curves: Curve3[], eps?: number): IPtCvDistanceInfo3[];
23
+ private static _sqDistanceToCurveEndAndSingularities;
24
+ private static _getMinDistFootParamInRange;
25
+ }
@@ -0,0 +1,12 @@
1
+ import { Vec } from '../../base/vec';
2
+ import { Vec2 } from '../../base/vec2';
3
+ import { Vec3 } from '../../base/vec3';
4
+ export interface IPtCvDistanceInfo<VectorType extends Vec> {
5
+ foot: VectorType;
6
+ param: number;
7
+ distance: number;
8
+ }
9
+ export interface IPtCvDistanceInfo2 extends IPtCvDistanceInfo<Vec2> {
10
+ }
11
+ export interface IPtCvDistanceInfo3 extends IPtCvDistanceInfo<Vec3> {
12
+ }
@@ -0,0 +1,17 @@
1
+ import { Surface } from '../../geometry/surface';
2
+ import { Vec3 } from '../../base/vec3';
3
+ /**
4
+ * 点到三维曲线的距离
5
+ */
6
+ export declare class PtToSurfDistance {
7
+ /**
8
+ * 点到三维曲面的距离,目前支持无限大平面、无限大圆柱面
9
+ * 结果为有向距离,点在法线同侧为正,在反向为负
10
+ * @param point 任一点
11
+ * @param curve 面
12
+ * @param footPoint [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
13
+ */
14
+ static execute(point: Vec3, surface: Surface, footPoint?: Vec3): number;
15
+ private static _PtToPlaneDistance;
16
+ private static _PtToCylinderDistance;
17
+ }
@@ -0,0 +1,13 @@
1
+ import { Vec3 } from '../../base/vec3';
2
+ import { Curve3 } from '../../geometry/curve3d';
3
+ /**
4
+ * 点集到曲线集的最近距离
5
+ */
6
+ export declare class PtsToCurvesDistance {
7
+ /**
8
+ * 点集到曲线集的最近距离
9
+ * oldMinDis 用于包围盒加速计算,传入一个已知的距离,如果没有已知距离,就不用传入该参数,用默认值就行。譬如说,前面已
10
+ * 经计算了曲线顶点之间的最近距离为2.015,就可以筛选跳过很多包围盒最小距离都大于此距离的曲线,提高效率。
11
+ */
12
+ static execute(ptSet: Array<Vec3>, curve3dSet: Array<Curve3>, minDisPoint1: Vec3, minDisPoint2: Vec3, oldMinDis?: number): number;
13
+ }
@@ -0,0 +1,7 @@
1
+ import { Vec } from '../../base/vec';
2
+ /**
3
+ * 点集到点集的最近距离
4
+ */
5
+ export declare class PtsToPtsDistance {
6
+ static execute(ptSet1: Array<Vec>, ptSet2: Array<Vec>, minDisPoint1: Vec, minDisPoint2: Vec): number;
7
+ }
@@ -0,0 +1,22 @@
1
+ import { Curve2 } from '../geometry/curve2';
2
+ import { Tol } from '../base/tol';
3
+ import { Curve3 } from '../geometry/curve3d';
4
+ import { MergeReverseMode } from './overlap/curves_merge';
5
+ export interface IMergeCurveInfo {
6
+ result: Curve2[];
7
+ mapper: Map<Curve2, Curve2[]>;
8
+ }
9
+ export declare class GeometryMerge {
10
+ /**
11
+ * 仅支持 arc 和 line
12
+ * 默认容差为1e-6
13
+ */
14
+ static mergeCurve2ds(curves: Curve2[], eps?: number): Curve2[];
15
+ static mergeCurve2dsEx(curves: Curve2[], eps?: number): IMergeCurveInfo;
16
+ static mergePoints(points: ([number, number] | [number, number, number])[], eps?: number): {
17
+ index: number[];
18
+ points: ([number, number] | [number, number, number])[];
19
+ };
20
+ static mergeTwoCurve2ds(curve1: Curve2, curve2: Curve2, mode?: MergeReverseMode, tol?: Tol): Curve2[] | undefined;
21
+ static mergeTwoCurve3ds(curve1: Curve3, curve2: Curve3, mode?: MergeReverseMode, tol?: Tol): Curve3[] | undefined;
22
+ }
@@ -0,0 +1,32 @@
1
+ export { D } from './calc_d';
2
+ export type { IPtCvDistanceInfo, IPtCvDistanceInfo2, IPtCvDistanceInfo3, } from './distance/pt_to_curve_distance_info';
3
+ export { X } from './calc_x';
4
+ export { CurvesColinear } from './overlap/curves_colinear';
5
+ export { CurvesMerge } from './overlap/curves_merge';
6
+ export { GeometryMerge } from './geometry_merge';
7
+ export { Project } from './calc_project';
8
+ export { Offset } from './calc_offset';
9
+ export { CalcOverlap, Overlap } from './calc_overlap';
10
+ export type { ICurvesOverlapInfo } from './overlap/i_overlap';
11
+ export type { ICurvesXInfo, ICurvesXInfo2d, ICurvesXInfo3d, ICvSurfXInfo, ISurfacesXInfo, } from './intersect/x_info';
12
+ export { BoolOperate2d } from './bool_operate_2d';
13
+ export { Bool2d, Bool2dType, Bool2dType as BoolType } from './bool_operate/bool2d/bool2d';
14
+ export type { IFace2D } from './bool_operate/bool2d/utils';
15
+ export { PolygonOffset, type IPolygonOffsetResult } from './offset/polygon_offset';
16
+ export { SearchGraph } from './search_graph';
17
+ export { BoolOperateClipper } from './bool_operate/bool_operate_clipper';
18
+ export { TopologyEdit } from './topology_edit';
19
+ export { LoopArea } from './loop_property/loop-area';
20
+ export { LoopCentroid } from './loop_property/loop-centroid';
21
+ export { PJ, type IPtLoopResult } from './position_judge';
22
+ export { PtPolygonPositionJudger } from './pj/pt_polygon_position_judger';
23
+ export { CurvesPJType, PtLoopPJType, LoopsPJType } from './pj/pj_type';
24
+ export { ILoopsToPolygonExes } from './search_graph/iloops_polygonex';
25
+ export { ClipMesh, type IMeshClipResult } from './mesh/clip_mesh';
26
+ export { MeshUtil } from './mesh/mesh_util';
27
+ export { ExtrudeClip, Extruder } from './mesh/extrude_clip';
28
+ export { DiscreteUtil } from './discrete/discrete_util';
29
+ export type { IDirectedCurve, IDirectedCurve2d, IDirectedCurve3d } from './discrete/discrete_surface';
30
+ export { DiscreteTopology } from './discrete/discrete_topology';
31
+ export { boxCutLine, boxToTrimmedSurfaces } from './intersect/box_cut_line';
32
+ export { PatternUtil, IPavePattern, IPolygon, RegionMesh } from './pattern/pattern_util';
@@ -0,0 +1,6 @@
1
+ import { Ln3 } from '../../geometry/ln3';
2
+ import { Box3 } from '../../base/box3';
3
+ import { Interval } from '../../base/interval';
4
+ import { TrimmedSurface } from '../../topology/trimmed_surface';
5
+ export declare function boxToTrimmedSurfaces(box3d: Box3): TrimmedSurface[];
6
+ export declare function boxCutLine(line: Ln3, box3d: Box3): Interval | undefined;
@@ -0,0 +1,13 @@
1
+ import { Tol } from '../../base/tol';
2
+ import { ICurvesXInfo2d, ICurvesXInfo3d } from './x_info';
3
+ import { Curve3 } from '../../geometry/curve3d';
4
+ import { Curve2 } from '../../geometry/curve2';
5
+ export declare class CurveSelfX {
6
+ static isCurve2dSelfX(curve: Curve2, tol?: Tol): boolean;
7
+ static curve2dSelfX(curve: Curve2, tol?: Tol): ICurvesXInfo2d[];
8
+ static curve3dSelfX(curve: Curve3, tol?: Tol): ICurvesXInfo3d[];
9
+ private static _dealRedundant;
10
+ private static _selfIntersectSimple;
11
+ private static _isNurbs3dCtrlPtsIsIntersect;
12
+ private static _isNurbs2dCtrlPtsIsIntersect;
13
+ }
@@ -0,0 +1,34 @@
1
+ import { Curve3 } from '../../geometry/curve3d';
2
+ import { Surface } from '../../geometry/surface';
3
+ import { Vec3 } from '../../base/vec3';
4
+ import { Tol } from '../../base/tol';
5
+ import { ICvSurfXInfo, ICurveSurfXPointInfo } from './x_info';
6
+ import { Interval } from '../../base/interval';
7
+ import { types } from '../../type_define/i_types';
8
+ import { Polygon } from '../../topology/polygon';
9
+ /**
10
+ * 三维曲线与曲面的交点, 交点可能不止一个,故返回交点的数组
11
+ * @returns
12
+ */
13
+ declare class CurveSurfaceX {
14
+ /**
15
+ * 【注意:曲线有参数域,曲面没有,因此求交要判断是否在曲线参数域内】
16
+ * 三维曲线与曲面的求交:直线+平面,直线+圆柱,(直线+圆锥;)圆弧+平面,(圆弧+圆柱,圆弧+圆锥;通用曲线+平面,通用曲线+圆柱,通用曲线+圆锥)
17
+ * @param curve 曲线
18
+ * @param surface 曲面
19
+ * @returns 交点可能不止一个,故返回交点的数组
20
+ */
21
+ static execute(curve: Curve3, surface: Surface, tol?: Tol, surfRangeUV?: Interval[]): ICvSurfXInfo[];
22
+ static allPoints(curve: Curve3, surface: Surface, tol?: Tol, surfRangeUV?: Interval[]): Vec3[];
23
+ static hasIntersect(curve: Curve3, surf: Surface, surfPoly?: Polygon, tol?: Tol): boolean;
24
+ static nearPoint(curve: Curve3, surf: Surface, refPoint: Vec3 | ICurveSurfXPointInfo, tol?: Tol): ICvSurfXInfo | undefined;
25
+ static nearParam(curve: Curve3, surf: Surface, refT: number, refUV: types.IXY, tol?: Tol): ICvSurfXInfo | undefined;
26
+ private static _complexMethod;
27
+ private static _getSurfaceLocalCoord;
28
+ private static _getCurveEndPtIntersects;
29
+ private static _preciseMethod;
30
+ private static _line3dPlane;
31
+ private static _circle3dPlane;
32
+ private static _line3dCylinder;
33
+ }
34
+ export { CurveSurfaceX };
@@ -0,0 +1,32 @@
1
+ import { Interval } from '../../base/interval';
2
+ import { Tol } from '../../base/tol';
3
+ import { Vec3 } from '../../base/vec3';
4
+ import { Curve3 } from '../../geometry/curve3d';
5
+ import { Surface } from '../../geometry/surface';
6
+ import { ICvSurfXInfo, ICurveSurfXPointInfo } from './x_info';
7
+ export declare class CurveSurfaceXUtil {
8
+ static dealRedundantIntersect(curv: Curve3, surf: Surface, newInt: ICvSurfXInfo, intRes: ICvSurfXInfo[], tol?: Tol): boolean;
9
+ private _curve;
10
+ private _surface;
11
+ private _surfaceRangeUV;
12
+ private _tol;
13
+ constructor(curve: Curve3, surface: Surface, tol?: Tol);
14
+ calAllIntersects(surfRanges?: Interval[]): ICvSurfXInfo[];
15
+ calSingleIntersect(referPoint: Vec3 | ICurveSurfXPointInfo, surfRanges?: Interval[]): ICvSurfXInfo | undefined;
16
+ hasIntersect(surfRanges?: Interval[], tol?: Tol): boolean;
17
+ /**
18
+ * 返回false表示无交
19
+ * @param curveSeg
20
+ * @param surfPatch
21
+ */
22
+ private _shrinkCurveRange;
23
+ private _shrinkSurfacePatchRanges;
24
+ private _calCurveSurfacePairsIntersect;
25
+ private _findCurveSurfacePairsIntersect;
26
+ private _curveSurfacePairIntersect;
27
+ private _calcCurveSurfaceDeltaParams;
28
+ private _curveSurfaceIteration;
29
+ private _combineCurveSurfacePairs;
30
+ private _FilterCurveSurfacePairs;
31
+ private _refreshSegmentPatchs;
32
+ }
@@ -0,0 +1,35 @@
1
+ import { Arc2 } from '../../../geometry/arc2d';
2
+ import { Arc3 } from '../../../geometry/arc3d';
3
+ import { Tol } from '../../../base/tol';
4
+ import { ICurvesXInfo2d, ICurvesXInfo3d } from '../x_info';
5
+ /**
6
+ * 圆和圆求交
7
+ */
8
+ declare class CircularsX {
9
+ /**
10
+ * 求两圆弧的交点,若圆弧重合,则返回某一个交点+重合段
11
+ * > 此接口是求两有限长圆弧的交点
12
+ * @param arc1
13
+ * @param arc2
14
+ */
15
+ static arc2dAndArc2d(arc1: Arc2, arc2: Arc2, tol?: Tol): ICurvesXInfo2d[];
16
+ /**
17
+ * 求两圆(椭圆)弧的交点,若圆弧重合,则返回某一个交点+重合段
18
+ * @param arc1
19
+ * @param arc2
20
+ */
21
+ static arc3dAndArc3d(arc1: Arc3, arc2: Arc3, tol?: Tol): ICurvesXInfo3d[];
22
+ /**
23
+ * 求两椭圆弧的交点:两个圆中至少有一个是椭圆
24
+ * @param ellipse1
25
+ * @param ellipse2
26
+ */
27
+ private static _ellipse2s;
28
+ /**
29
+ * 求两圆弧的交点
30
+ * @param arc1
31
+ * @param arc2
32
+ */
33
+ private static _circle2dAndCircle2d;
34
+ }
35
+ export { CircularsX };
@@ -0,0 +1,40 @@
1
+ import { ICurvesXInfo2d, ICurvesXInfo3d } from '../x_info';
2
+ import { Ln2 } from '../../../geometry/ln2';
3
+ import { Arc2 } from '../../../geometry/arc2d';
4
+ import { Ln3 } from '../../../geometry/ln3';
5
+ import { Arc3 } from '../../../geometry/arc3d';
6
+ import { Tol } from '../../../base/tol';
7
+ /**
8
+ * 直线和圆求交
9
+ */
10
+ declare class LineCircleX {
11
+ /**
12
+ * 求两直线段的交点,若直线重合,则返回某一个交点+重合段
13
+ * > 此接口是求两直线段的交点,直线段是有限长的,若求无限长的直线的交点,可将直线extend至无限长
14
+ * @param line
15
+ * @param arc
16
+ */
17
+ static line2dAndArc2d(line: Ln2, arc: Arc2, tol?: Tol): ICurvesXInfo2d[];
18
+ /**
19
+ * 求两直线段的交点,若直线重合,则返回某一个交点+重合段
20
+ * > 此接口是求两直线段的交点,直线段是有限长的,若求无限长的直线的交点,可将直线extend至无限长
21
+ * @param line
22
+ * @param arc
23
+ */
24
+ static line3dAndArc3d(line: Ln3, arc: Arc3, tol?: Tol): ICurvesXInfo3d[];
25
+ /**
26
+ * 求三维直线和整圆的交点
27
+ * > 此接口中直线段是无限长的,圆也是一整圈
28
+ * @param line
29
+ * @param circle
30
+ */
31
+ static line3dAndCircle3d(line: Ln3, arc3: Arc3, tol?: Tol): ICurvesXInfo3d[];
32
+ /**
33
+ * 求二维直线和椭圆弧的交点
34
+ * @param line
35
+ * @param ellipse
36
+ */
37
+ private static _line2dAndEllipse2d;
38
+ private static _line3dAndEllipse3d;
39
+ }
40
+ export { LineCircleX };
@@ -0,0 +1,17 @@
1
+ import { Tol } from '../../../base/tol';
2
+ import { Ln2 } from '../../../geometry/ln2';
3
+ import { Ln3 } from '../../../geometry/ln3';
4
+ import { ICurvesXInfo2d, ICurvesXInfo3d } from '../x_info';
5
+ /**
6
+ * 两直线段求交
7
+ */
8
+ export declare class LinesX {
9
+ /**
10
+ * 求两直线段的交点,若直线重合,则返回某一个交点+重合段
11
+ * > 此接口是求两直线段的交点,直线段是有限长的,若求无限长的直线的交点,可将直线extend至无限长
12
+ * @param line1
13
+ * @param line2
14
+ */
15
+ static line2ds(line1: Ln2, line2: Ln2, tol?: Tol): ICurvesXInfo2d[];
16
+ static line3ds(line1: Ln3, line2: Ln3, tol?: Tol): ICurvesXInfo3d[];
17
+ }
@@ -0,0 +1,4 @@
1
+ import { types } from '../../../type_define/i_types';
2
+ export declare class LinesXUtil {
3
+ static line2dsParamed(origin1: types.IXY, origin2: types.IXY, dir1: types.IXY, dir2: types.IXY): types.numberArr2;
4
+ }
@@ -0,0 +1,26 @@
1
+ import { Tol } from '../../base/tol';
2
+ import { Curve3 } from '../../geometry/curve3d';
3
+ import { Curve2 } from '../../geometry/curve2';
4
+ import { ICurvesXInfo2d, ICurvesXInfo3d } from './x_info';
5
+ import { Vec3 } from '../../base/vec3';
6
+ /**
7
+ * 曲线与曲线的交点:直线+直线,直线+圆弧,(直线+通用曲线);圆弧+圆弧;(圆弧+通用曲线;通用曲线+通用曲线)
8
+ * 若两曲线重合,则交点为重合段内的某个交点
9
+ * > 此接口是求两曲线段的交点,曲线段是有限长的,若求无限长的曲线的交点,可将曲线extend至无限长
10
+ * @param curve1
11
+ * @param curve2
12
+ * @param extraInfo [out]如果需要知道交点的额外信息(交点在各个曲线上的参数),则传入该参数,
13
+ */
14
+ declare class CurvesX {
15
+ static curve2ds(curve1: Curve2, curve2: Curve2, tol?: Tol): ICurvesXInfo2d[];
16
+ static curve3ds(curve1: Curve3, curve2: Curve3, tol?: Tol): ICurvesXInfo3d[];
17
+ static curve3dsNearPoint(curve1: Curve3, curve2: Curve3, point: Vec3, tol?: Tol): ICurvesXInfo3d | undefined;
18
+ private static _curve3dsSimple;
19
+ private static _byGeometricOrAnalyticMethod;
20
+ private static _isLineXPlaneCurve3d;
21
+ private static _isTwoPlaneCurve3dsCoplane;
22
+ private static _curve3dAndExtendCurve3d;
23
+ private static _getOriginParamForExtendCurve;
24
+ private static _swapParams;
25
+ }
26
+ export { CurvesX };
@@ -0,0 +1,35 @@
1
+ import { Tol } from '../../base/tol';
2
+ import { Curve3 } from '../../geometry/curve3d';
3
+ import { ICurvesXInfo, ICurvesXInfo2d, ICurvesXInfo3d } from './x_info';
4
+ import { Curve2 } from '../../geometry/curve2';
5
+ import { Vec3 } from '../../base/vec3';
6
+ import { Curve } from '../../geometry/curve';
7
+ import { Vec } from '../../base/vec';
8
+ import { Vec2 } from '../../base/vec2';
9
+ export declare class CurvesXUtil {
10
+ static curve2dCurve2d(curve2d1: Curve2, curve2d2: Curve2, tol?: Tol): ICurvesXInfo2d[];
11
+ static curve3dCurve3d(origCurve3d1: Curve3, origCurve3d2: Curve3, tol?: Tol): ICurvesXInfo3d[];
12
+ /**
13
+ * 只计算一个交点(或者没有交点)就返回
14
+ * @param curve2d1 曲线1
15
+ * @param curve2d2 曲线2
16
+ * @param ref 参考点或在两曲线上的参数
17
+ */
18
+ static curve2dsSingleX(curve2d1: Curve2, curve2d2: Curve2, ref: Vec2 | number[], tol?: Tol): ICurvesXInfo2d | undefined;
19
+ /**
20
+ * 只计算一个交点(或者没有交点)就返回
21
+ * @param curve3d1 曲线1
22
+ * @param curve3d2 曲线2
23
+ * @param ref 参考点或在两曲线上的参数
24
+ */
25
+ static curve3dsSingleX(curve3d1: Curve3, curve3d2: Curve3, ref: Vec3 | number[], tol?: Tol): ICurvesXInfo3d | undefined;
26
+ static getEndPtIntersect<VectorType extends Vec>(curve1: Curve<VectorType>, curve2: Curve<VectorType>, tol: Tol): ICurvesXInfo<VectorType>[];
27
+ private static _getNearestSingularityIntersect;
28
+ private static _calCurve2dSegmentsIntersect;
29
+ private static _calCurve3dSegmentsIntersect;
30
+ private static _dealSingularityIntersect;
31
+ private static _isRedundantPt;
32
+ private static _dealRedundantIntersect;
33
+ private static _FilterCurvSegmentPairs;
34
+ private static _calCurveSegmentPairIntersect;
35
+ }
@@ -0,0 +1,9 @@
1
+ import { Tol } from '../../base/tol';
2
+ import { ICurvesOverlapInfo } from '../overlap/i_overlap';
3
+ import { ICurvesXInfo2d, ICurvesXInfo3d } from './x_info';
4
+ import { Curve2 } from '../../geometry/curve2';
5
+ import { Curve3 } from '../../geometry/curve3d';
6
+ export declare class XInfoUtil {
7
+ static curvesFromOverlap(info: ICurvesOverlapInfo, curve1: Curve2, curve2: Curve2, tol: Tol): ICurvesXInfo2d;
8
+ static curvesFromOverlap(info: ICurvesOverlapInfo, curve1: Curve3, curve2: Curve3, tol: Tol): ICurvesXInfo3d;
9
+ }
@@ -0,0 +1,8 @@
1
+ import { Surface } from '../../geometry/surface';
2
+ import { types } from '../../type_define/i_types';
3
+ import { Vec3 } from '../../base/vec3';
4
+ import { Tol } from '../../base/tol';
5
+ import { Curve3 } from '../../geometry/curve3d';
6
+ export declare class SurfaceSelfX {
7
+ static singleIntersectCurve(surf: Surface, refUV1: types.IXY, refUV2: types.IXY, refDir?: Vec3, tol?: Tol, useHighPrecision?: boolean): Curve3 | undefined;
8
+ }
@@ -0,0 +1,53 @@
1
+ import { Surface } from '../../geometry/surface';
2
+ import { Interval } from '../../base/interval';
3
+ import { Tol } from '../../base/tol';
4
+ import { Vec3 } from '../../base/vec3';
5
+ import { ISurfacesXInfo } from './x_info';
6
+ import { Curve3 } from '../../geometry/curve3d';
7
+ import { types } from '../../type_define/i_types';
8
+ /**
9
+ * Surface 与 Surface求交,返回值为交线:平面+平面,平面+圆柱,平面+圆锥,平面+通用曲面;圆柱+圆柱,圆柱+圆锥;圆锥+圆锥;通用曲面+通用曲面;
10
+ */
11
+ declare class SurfacesX {
12
+ /**
13
+ * 计算返回所有的交(交线、交点、重合面(未实现))
14
+ * 曲面与曲面相交为交线
15
+ * @param surface 曲面
16
+ * @param surface 曲面
17
+ * @returns 交线可能不止一条,故返回交线的数组
18
+ */
19
+ static allIntersections(surface1: Surface, surface2: Surface, rangeU1?: Interval, rangeV1?: Interval, rangeU2?: Interval, rangeV2?: Interval, tol?: Tol, useHighPrecision?: boolean): ISurfacesXInfo[];
20
+ /**
21
+ * 计算返回一条(离给定参考点最近的)交线
22
+ * 曲面与曲面相交为交线
23
+ * @param surface 曲面
24
+ * @param surface 曲面
25
+ * @param refPoint 距离交线很近的参考点
26
+ * @returns 只返回一条交线,如果没有交返回空
27
+ */
28
+ static singleCurveBetweenTwoPoints(surf1: Surface, surf2: Surface, point1: Vec3, point2: Vec3, refDir?: Vec3, tol?: Tol, useHighPrecision?: boolean): Curve3 | undefined;
29
+ /**
30
+ * 计算返回一条(离给定参考点最近的)交线
31
+ * 曲面与曲面相交为交线
32
+ * @param surface 曲面
33
+ * @param surface 曲面
34
+ * @param refPoint 距离交线很近的参考点
35
+ * @returns 只返回一条交线,如果没有交返回空
36
+ */
37
+ static singleCurveNearPointSimple(surf1: Surface, surf2: Surface, refPoint: Vec3, refDir?: Vec3, tol?: Tol, useHighPrecision?: boolean): Curve3 | undefined;
38
+ /**
39
+ * 计算返回一条(离给定参考点最近的)交线.如果convertNurbs=false,返回的曲线类型可能为intersectCurve3d,不建议外部使用,算法库内部使用
40
+ * 曲面与曲面相交为交线
41
+ * @param surface 曲面
42
+ * @param surface 曲面
43
+ * @param refPoint 距离交线很近的参考点
44
+ * @returns 只返回一条交线,如果没有交返回空
45
+ */
46
+ static singleCurveNearPoint(surf1: Surface, surf2: Surface, refPoint: Vec3, refDir?: Vec3, tol?: Tol, useHighPrecision?: boolean, convertNurbs?: boolean): Curve3 | undefined;
47
+ static selfIntersectCurve(surf: Surface, refUV1: types.IXY, refUV2: types.IXY, refDir?: Vec3, tol?: Tol, useHighPrecision?: boolean): Curve3 | undefined;
48
+ static singleCurveNearParam(surf1: Surface, surf2: Surface, refUV1: types.IXY, refUV2: types.IXY, refDir?: Vec3, tol?: Tol, useHighPrecision?: boolean): Curve3 | undefined;
49
+ static getNearstCurve(intCurves: Curve3[], refPoint: Vec3, refDir?: Vec3): Curve3 | undefined;
50
+ private static _isComplexSurface;
51
+ private static _singleCurveNearPoint;
52
+ }
53
+ export { SurfacesX };