@ccpc/math 0.1.0 → 0.1.7

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,118 @@
1
+ import { Matrix } from './matrix';
2
+ import { Vec2 } from './vec2';
3
+ import { types } from '../type_define/i_types';
4
+ import { EN_GEO_TYPE } from '../type_define/i_element_type';
5
+ /**
6
+ * 3X3的方阵
7
+ */
8
+ declare class Matrix3 extends Matrix<types.numberArrs3X3> implements types.IMatrix3 {
9
+ /**
10
+ * 从给定矩阵构造矩阵
11
+ * @param mat 源矩阵
12
+ * @param copyData 是否拷贝数据,为假时,直接在原数据基础上构造矩阵
13
+ */
14
+ static make(mat: types.IMatrix3 | types.numberArrs3X3, copyData?: boolean): Matrix3;
15
+ /**
16
+ * 构造一个平移矩阵
17
+ */
18
+ static makeTranslate({ x, y }: types.IXY): Matrix3;
19
+ /**
20
+ * 构造一个旋转矩阵
21
+ * @param pivot 旋转中心点
22
+ * @param theta 旋转角度
23
+ */
24
+ static makeRotate(pivot: types.IXY, theta: number): Matrix3;
25
+ /**
26
+ * 构造一个缩放矩阵
27
+ * @param pos 缩放中心点
28
+ * @param scale 缩放因子
29
+ */
30
+ static makeScale(pos: types.IXY, scale: number | types.IXY): Matrix3;
31
+ /**
32
+ * 构造一个镜像矩阵
33
+ * @param origin 镜像轴上一点
34
+ * @param dir 镜像轴的方向
35
+ */
36
+ static makeMirror(origin: types.IXY, dir: types.IXY): Matrix3;
37
+ /**
38
+ * 判断给定 svd 分解结果是否包含镜像变化
39
+ * @param svd
40
+ */
41
+ static isSvdMirror(svd: types.IMatrix3Svd): boolean;
42
+ /**
43
+ * 判断给定 svd 是否为等比缩放
44
+ * @param svd
45
+ */
46
+ static assertScaleEqual(scale: types.IXY): boolean;
47
+ /**
48
+ * 单位阵
49
+ */
50
+ constructor(data?: types.numberArrs3X3, copyData?: boolean);
51
+ /**
52
+ * 返回矩阵内部的数据
53
+ */
54
+ get data(): types.numberArrs3X3;
55
+ /**
56
+ * 按照列优先序将矩阵转为数组输出
57
+ * @param array 目标数组
58
+ * @param offset 输出在数组中的下标偏移
59
+ */
60
+ toArray(array?: number[], offset?: number): number[];
61
+ /**
62
+ * 按照列优先序从数组中读取数据
63
+ * @param array 源数组
64
+ * @param offset 输入在数组中的下标偏移
65
+ */
66
+ fromArray(array: number[], offset?: number): this;
67
+ /**
68
+ * 获取基础分量(两个轴和平移分量)
69
+ * @param index
70
+ */
71
+ getBasicVec(index: number): Vec2;
72
+ /**
73
+ * 是镜像矩阵
74
+ */
75
+ isMirror(): boolean;
76
+ /**
77
+ * 左乘一个平移矩阵,改变自己
78
+ * @param param0
79
+ */
80
+ applyTranslate({ x, y }: types.IXY): this;
81
+ /**
82
+ * 左乘一个旋转矩阵,改变自己
83
+ * @param pivot 旋转中心点
84
+ * @param theta 旋转角度
85
+ */
86
+ applyRotate(pivot: types.IXY, theta: number): this;
87
+ /**
88
+ * 左乘一个镜像矩阵,改变自己
89
+ * @param origin 轴上一点
90
+ * @param dir 轴的方向
91
+ */
92
+ applyMirror(origin: types.IXY, dir: types.IXY): this;
93
+ /**
94
+ * 左乘一个缩放矩阵,改变自己
95
+ * @param pos
96
+ * @param scale
97
+ */
98
+ applyScale(pos: types.IXY, scale: number | types.IXY): this;
99
+ /**
100
+ * 将矩阵分解为平移、旋转、缩放矩阵,M = T*R*S
101
+ * 对于非正交矩阵的情况,则返回空数组
102
+ */
103
+ decomposeTRS(): Matrix3[];
104
+ /**
105
+ * 将矩阵分解为平移旋转、缩放、旋转矩阵,M = TR*S*R
106
+ */
107
+ decompose(): types.IMatrix3Svd;
108
+ multiplied(matrix: types.IMatrix3 | types.numberArrs3X3): Matrix3;
109
+ preMultiplied(matrix: types.IMatrix3 | types.numberArrs3X3): Matrix3;
110
+ multipliedScalar(s: number): Matrix3;
111
+ multipliedVector3(vect: types.numberArr3): types.numberArr3;
112
+ inversed(): Matrix3 | undefined;
113
+ transposed(): Matrix3;
114
+ getType(): EN_GEO_TYPE.MATRIX_3;
115
+ clone(): Matrix3;
116
+ dump(): types.IDBMatrix3;
117
+ }
118
+ export { Matrix3 };
@@ -0,0 +1,166 @@
1
+ import { Matrix } from './matrix';
2
+ import { Vec3 } from './vec3';
3
+ import { EN_GEO_TYPE } from '../type_define/i_element_type';
4
+ import { types } from '../type_define/i_types';
5
+ import { Quaternion } from './quaternion';
6
+ /**
7
+ * 4X4的方阵
8
+ */
9
+ declare class Matrix4 extends Matrix<types.numberArrs4X4> implements types.IMatrix4 {
10
+ /**
11
+ * 从给定矩阵构造矩阵
12
+ * @param mat 源数据
13
+ * @param copyData 是否拷贝数据,为假时,直接在原数据基础上构造矩阵
14
+ */
15
+ static make(mat: types.IMatrix4 | types.numberArrs4X4, copyData?: boolean): Matrix4;
16
+ /**
17
+ * 构造一个平移矩阵
18
+ */
19
+ static makeTranslate({ x, y, z }: types.IXYZ): Matrix4;
20
+ /**
21
+ * 构造一个旋转矩阵
22
+ * @param ptOnAxis 旋转轴上的某个点
23
+ * @param axisDir 旋转轴
24
+ * @param angle 旋转角度
25
+ */
26
+ static makeRotate(ptOnAxis: types.IXYZ, axisDir: types.IXYZ, angle: number): Matrix4;
27
+ /**
28
+ * 构造一个绕X轴正向旋转的矩阵
29
+ * @param angle
30
+ */
31
+ static makeRotateX(angle: number): Matrix4;
32
+ /**
33
+ * 构造一个绕Y轴正向旋转的矩阵
34
+ * @param angle
35
+ */
36
+ static makeRotateY(angle: number): Matrix4;
37
+ /**
38
+ * 构造一个绕Z轴正向旋转的矩阵
39
+ * @param angle
40
+ */
41
+ static makeRotateZ(angle: number): Matrix4;
42
+ /**
43
+ * 由四元素构造一个旋转矩阵
44
+ * @param q
45
+ */
46
+ static makeRotateFromQuaternion(q: Quaternion): Matrix4;
47
+ /**
48
+ * 构造一个缩放矩阵
49
+ * number:等比缩放
50
+ *
51
+ * types.IXYZ:非等比缩放
52
+ */
53
+ static makeScale(pos: types.IXYZ, scale: number | types.IXYZ): Matrix4;
54
+ /**
55
+ * 构造一个镜像矩阵
56
+ * @param origin 镜像平面上一点
57
+ * @param normal 镜像平面的normal
58
+ */
59
+ static makeMirror(origin: types.IXYZ, normal: types.IXYZ): Matrix4;
60
+ /**
61
+ * 从3阶矩阵构造一个z轴不变的4阶矩阵
62
+ * @param m 三阶矩阵
63
+ */
64
+ static makeByMatrix3(matrix: types.IMatrix3 | types.numberArrs3X3): Matrix4;
65
+ /**
66
+ * 判断给定 svd 是否包含镜像变化
67
+ * @param svd
68
+ */
69
+ static isSvdMirror(svd: types.IMatrix4Svd): boolean;
70
+ /**
71
+ * 判断给定 svd 是否为等比缩放
72
+ * @param svd
73
+ */
74
+ static isScaleEqual(scale: types.IXYZ): boolean;
75
+ /**
76
+ * 判断给定 svd 是否包含缩放或者镜像等。判断是否只有刚体变换
77
+ * @param svd
78
+ */
79
+ static isOnlyTranslateAndRotate(scale: types.IXYZ): boolean;
80
+ /**
81
+ * 判断给定 svd 是否为等比缩放
82
+ * @param svd
83
+ */
84
+ static assertScaleEqual(scale: types.IXYZ): boolean;
85
+ constructor(data?: types.numberArrs4X4, copyData?: boolean);
86
+ /**
87
+ * 返回矩阵内部的数据
88
+ */
89
+ get data(): types.numberArrs4X4;
90
+ /**
91
+ * 按照列优先序输出矩阵
92
+ * @param array 输出的目标数组
93
+ * @param offset 输出的下标偏移量
94
+ */
95
+ toArray(array?: number[], offset?: number): number[];
96
+ /**
97
+ * 按照列优先序从数组中读取数据
98
+ * @param array 源数组
99
+ * @param offset 输入在数组中的下标偏移
100
+ */
101
+ fromArray(array: number[], offset?: number): this;
102
+ /**
103
+ * 获取基础分量(三个坐标轴和平移分量)
104
+ * @param index
105
+ */
106
+ getBasicVec(index: number): Vec3;
107
+ /**
108
+ * 左乘一个旋转矩阵,改变自己
109
+ * @param ptOnAxis 旋转轴上一点
110
+ * @param axisDir 旋转轴方向
111
+ * @param angle 旋转角度
112
+ */
113
+ applyRotate(ptOnAxis: types.IXYZ, axisDir: types.IXYZ, angle: number): this;
114
+ /**
115
+ * 左乘一个平移矩阵,改变自己
116
+ */
117
+ applyTranslate({ x, y, z }: types.IXYZ): this;
118
+ /**
119
+ * 左乘一个缩放矩阵,改变自己
120
+ * @param pos 缩放中心点
121
+ * @param scales 缩放因子
122
+ */
123
+ applyScale(pos: types.IXYZ, scales: number | types.IXYZ): this;
124
+ /**
125
+ * 左乘一个镜像矩阵,改变自己
126
+ * @param origin 镜像平面上一点
127
+ * @param normal 镜像平面的法向
128
+ */
129
+ applyMirror(origin: types.IXYZ, normal: types.IXYZ): this;
130
+ /**
131
+ * 获取平移分量
132
+ */
133
+ getTranslation(): Vec3;
134
+ /**
135
+ * 设置当前矩阵的平移分量
136
+ * @param translation
137
+ */
138
+ setTranslation(translation: types.IXYZ): this;
139
+ /**
140
+ * 获取缩放分量
141
+ */
142
+ getScale(): Vec3;
143
+ /**
144
+ * 将矩阵分解为平移、旋转、缩放矩阵,M = T*R*S
145
+ * 对于非正交矩阵的情况,则返回空数组
146
+ */
147
+ decomposeTRS(): Matrix4[];
148
+ /**
149
+ * 将矩阵分解为平移旋转、缩放、旋转矩阵,M = TR*S*R。分解保证 TR 与 R 的行列式 > 0,若输入矩阵含镜像分量,则 S.x < 0。
150
+ */
151
+ decompose(): types.IMatrix4Svd;
152
+ /**
153
+ * 是否包含镜像
154
+ */
155
+ isMirror(): boolean;
156
+ multiplied(matrix: types.IMatrix4 | types.numberArrs4X4): Matrix4;
157
+ preMultiplied(matrix: types.IMatrix4 | types.numberArrs4X4): Matrix4;
158
+ multipliedScalar(s: number): Matrix4;
159
+ multipliedVector4(vect: types.numberArr4): types.numberArr4;
160
+ inversed(): Matrix4 | undefined;
161
+ transposed(): Matrix4;
162
+ getType(): EN_GEO_TYPE.MATRIX_4;
163
+ dump(): types.IDBMatrix4;
164
+ clone(): Matrix4;
165
+ }
166
+ export { Matrix4 };
@@ -0,0 +1,5 @@
1
+ import { types } from '../type_define/i_types';
2
+ export declare function isExpectedSqureMatrix(m: number[][], expectDim: number): boolean;
3
+ export declare function convertToMatrix3(matrix: types.IMatrix3 | types.IMatrix4 | types.numberArrs3X3 | types.numberArrs4X4): types.numberArrs3X3;
4
+ export declare function convertToMatrix4(matrix: types.IMatrix3 | types.IMatrix4 | types.numberArrs3X3 | types.numberArrs4X4): types.numberArrs4X4;
5
+ export declare function isMirror(m: types.IMatrix3 | types.IMatrix4 | types.numberArrs3X3 | types.numberArrs4X4): boolean;
@@ -0,0 +1,127 @@
1
+ import { Interval } from './interval';
2
+ import { types } from '../type_define/i_types';
3
+ /**
4
+ * 周期区间
5
+ * min in [0, period)
6
+ * (max - min) in [0, period]
7
+ * min 和 max 设置后需调用 Regularize 使其满足上述条件
8
+ */
9
+ declare class PeriodInterval extends Interval {
10
+ /**
11
+ * 判断输入区间是否为周期区间
12
+ * @param range
13
+ */
14
+ static isPeriod(range: PeriodInterval | Interval): range is PeriodInterval;
15
+ static areEqual(a: number, b: number, period?: number, eps?: number): boolean;
16
+ /**
17
+ * 将参数正规化至 [0, period),会根据容差自动将结果吸附至端点
18
+ * @param param 待调整参数
19
+ * @param period 周期
20
+ * @param toler 容差
21
+ */
22
+ static RegularizeParam(param: number, period?: number, refParam?: number, eps?: number): number;
23
+ /**
24
+ * 一组区间的合并,仅支持同周期的区间
25
+ * 要求输入为正规化的周期区间
26
+ * @param ranges
27
+ */
28
+ static merge(ranges: PeriodInterval[]): PeriodInterval[];
29
+ static make(min: number, max: number, period: number): Interval;
30
+ private _period;
31
+ /**
32
+ * 构造方法,最小点和最大点
33
+ * @param min 最小值
34
+ * @param max 最大值
35
+ * @param period 周期
36
+ */
37
+ constructor(pMin: number, pMax: number, period?: number);
38
+ get min(): number;
39
+ set min(v: number);
40
+ get max(): number;
41
+ set max(v: number);
42
+ get period(): number;
43
+ set period(v: number);
44
+ set(min: number, max: number): this;
45
+ setInfinit(min?: number): this;
46
+ toArray(): types.IInterval;
47
+ toArrayWithPeriod(): types.IPeriodInterval;
48
+ /**
49
+ * 调整参数,将其拉回参数域
50
+ * @param param
51
+ */
52
+ clamp(param: number): number;
53
+ /**
54
+ * 调整 param 所在周期,使得返回结果 ret in [min, min + period)
55
+ * @param param
56
+ */
57
+ getRegularParam(param: number, eps?: number): number;
58
+ /**
59
+ * 包含坐标轴上的一个点
60
+ * @param param
61
+ * @param tolerance
62
+ */
63
+ containsPt(param: number, tolerance?: number): boolean;
64
+ /**
65
+ * 点在区间端点上
66
+ * @param param
67
+ * @param tolerance
68
+ */
69
+ containsPtAtStartOrEnd(param: number, tolerance?: number): boolean;
70
+ /**
71
+ * 完全包含另一个区间
72
+ * @param param
73
+ * @param tolerance
74
+ */
75
+ containsInterval(another: PeriodInterval, tolerance?: number): boolean;
76
+ /**
77
+ * 返回范围内的参数,返回的参数在区间 [min, min + period) 内
78
+ * @param params
79
+ * @param eps
80
+ * @returns
81
+ */
82
+ filterParams(params: number[]): number[];
83
+ /**
84
+ * 与另一个区间相等
85
+ * @param param
86
+ * @param tolerance
87
+ */
88
+ equals(that: PeriodInterval, _tolerance?: number): boolean;
89
+ isClosed(tolerance?: number): boolean;
90
+ /**
91
+ * 与区间/点的距离,可使用该距离判断位置关系
92
+ * @param another
93
+ */
94
+ distanceTo(another: PeriodInterval | number): number;
95
+ /**
96
+ * 两个区间求交集,若区间没有交,则返回 []
97
+ * @param another
98
+ */
99
+ intersected(another: PeriodInterval, eps?: number): PeriodInterval[];
100
+ /**
101
+ * 减掉一组区间,若区间长度小于1e-6则自动舍掉
102
+ * @param ranges
103
+ */
104
+ subtracted(...ranges: PeriodInterval[]): PeriodInterval[];
105
+ /**
106
+ * 扩展
107
+ * @param pt
108
+ */
109
+ expandByPt(pt: number): this;
110
+ /**
111
+ * 区间的缩放,改变自己
112
+ * @param scale
113
+ */
114
+ multiply(scale: number): this;
115
+ /**
116
+ * 调整后,min in [0, period)
117
+ * (max - min) in [0, period)
118
+ */
119
+ regularize(): this;
120
+ /**
121
+ * 区间的打断算法
122
+ * @param ranges
123
+ */
124
+ splited(...ranges: (PeriodInterval | number)[]): PeriodInterval[];
125
+ clone(): PeriodInterval;
126
+ }
127
+ export { PeriodInterval };
@@ -0,0 +1,39 @@
1
+ import { Euler } from './euler';
2
+ import { Matrix4 } from './matrix4';
3
+ import { Vec3 } from './vec3';
4
+ /**
5
+ * 四元素
6
+ */
7
+ export declare class Quaternion {
8
+ private _x;
9
+ private _y;
10
+ private _z;
11
+ private _w;
12
+ constructor(x?: number, y?: number, z?: number, w?: number);
13
+ get x(): number;
14
+ set x(value: number);
15
+ get y(): number;
16
+ set y(value: number);
17
+ get z(): number;
18
+ set z(value: number);
19
+ get w(): number;
20
+ set w(value: number);
21
+ set(x: number, y: number, z: number, w: number): void;
22
+ clone(): Quaternion;
23
+ copy(quaternion: Quaternion): this;
24
+ setFromEuler(euler: Euler): this;
25
+ setFromAxisAngle(axis: Vec3, angle: number): this;
26
+ setFromRotationMatrix(m: Matrix4): this;
27
+ setFromUnitVectors(vFrom: Vec3, vTo: Vec3): this;
28
+ reverse(): this;
29
+ conjugate(): this;
30
+ dot(v: Quaternion): number;
31
+ lengthSq(): number;
32
+ length(): number;
33
+ normalize(): this;
34
+ multiply(q: Quaternion): this;
35
+ premultiply(q: Quaternion): this;
36
+ multiplyQuaternions(a: Quaternion, b: Quaternion): this;
37
+ fromArray(array: number[]): this;
38
+ toArray(): number[];
39
+ }
@@ -0,0 +1,11 @@
1
+ import { Vec3 } from './vec3';
2
+ export declare class TangentCone {
3
+ dir: Vec3;
4
+ angle: number;
5
+ constructor(theDir: Vec3, theAngle: number);
6
+ isConeEmpty(): boolean;
7
+ isConeValid(): boolean;
8
+ copy(rCone: TangentCone): void;
9
+ mergeCone(rVt: Vec3, bApprox?: boolean): boolean;
10
+ mergeTwoCone(rCone: TangentCone, rSrcCone: TangentCone): boolean;
11
+ }
@@ -0,0 +1,11 @@
1
+ import { Box3 } from './box3';
2
+ import { Coord3 } from './coord3';
3
+ import { Vec3 } from './vec3';
4
+ export declare class TiltBox3 extends Box3 {
5
+ coord: Coord3;
6
+ constructor(box: Box3, coord: Coord3);
7
+ getCoord(): Coord3;
8
+ getBox(): Box3;
9
+ getCornerPts(): Vec3[];
10
+ union(box: Box3): this;
11
+ }
@@ -0,0 +1,120 @@
1
+ import { types } from '../type_define/i_types';
2
+ export declare class Tol {
3
+ readonly lengthEps: number;
4
+ readonly angleEps: number;
5
+ readonly processLengthEps: number;
6
+ readonly edgeLengthEps: number;
7
+ /**
8
+ * 默认的double数值级别的容差
9
+ */
10
+ static NUMBER: number;
11
+ static NUMBER_2: number;
12
+ /**
13
+ * 默认的长度容差 1e-6mm
14
+ */
15
+ static LENGTH: number;
16
+ static LENGTH_2: number;
17
+ /**
18
+ * 几何体的默认长度容差 0.001mm。譬如说edge和vertex之间可能存在容差,但是要小于0.001
19
+ */
20
+ static EDGE_LENGTH_EPS: number;
21
+ static EDGE_LENGTH_EPS2: number;
22
+ /**
23
+ * 计算中间过程的容差,比长度容差略小
24
+ */
25
+ static PROCESS_LENGTH_EPS: number;
26
+ /**
27
+ * 默认的角度容差
28
+ */
29
+ static ANGLE: number;
30
+ /**
31
+ * 粗糙角度容差,用于退化情况的判断
32
+ */
33
+ static ROUGH_ANGLE_EPS: number;
34
+ static DELTA_EPS: number;
35
+ static NUMBER_CALC_EPS: number;
36
+ static ZERO_JUDGE_EPS: number;
37
+ static ZERO_JUDGE_EPS2: number;
38
+ static CALCULATE_EPS: number;
39
+ static CALCULATE_EPS2: number;
40
+ static CALCULATE_EPS4: number;
41
+ static CLIPPER_SCALE: number;
42
+ static readonly DEFAULT: Tol;
43
+ readonly lengthEps2: number;
44
+ readonly processLengthEps2: number;
45
+ readonly edgeLengthEps2: number;
46
+ /**
47
+ * 设置全局默认的容差
48
+ * @param lengthEps 判定用长度容差
49
+ * @param angleEps 判定用角度容差
50
+ * @param processLengthEps 生成几何用的长度容差
51
+ */
52
+ constructor(lengthEps?: number, angleEps?: number, processLengthEps?: number, edgeLengthEps?: number);
53
+ /**
54
+ * @deprecated
55
+ * 请使用this.numberEps代替
56
+ */
57
+ get numEps(): number;
58
+ /**
59
+ * 判定用数值容差。不鼓励使用此值,应尽量根据几何信息进行容差判断
60
+ */
61
+ get numberEps(): number;
62
+ /**
63
+ * 判断两个角度是否相等
64
+ * @param a
65
+ * @param b
66
+ */
67
+ areAnglesEqual(a: number, b: number): boolean;
68
+ /**
69
+ * 判断两个长度是否相等
70
+ * @param a
71
+ * @param b
72
+ */
73
+ areLengthEqual(a: number, b: number): boolean;
74
+ /**
75
+ * 判断两个参数是否相等
76
+ * @param a
77
+ * @param b
78
+ */
79
+ areParamEqual(a: number, b: number): boolean;
80
+ /**
81
+ * 判断长度是否接近 0
82
+ * @param a
83
+ */
84
+ isLengthZero(a: number): boolean;
85
+ /**
86
+ * 判断长度的平方是否接近 0
87
+ * @param a
88
+ */
89
+ isSquareLengthZero(a: number): boolean;
90
+ /**
91
+ * 判断参数是否在周期参数域的0点或周期点上
92
+ * @param a
93
+ * @param period
94
+ */
95
+ isParamOnPeriodEnd(a: number, period?: number): boolean;
96
+ /**
97
+ * 判断两个向量是否平行
98
+ * @param a
99
+ * @param b
100
+ */
101
+ areParralel(a: types.IXY, b: types.IXY): boolean;
102
+ /**
103
+ * 判断两个向量是否平行
104
+ * @param a
105
+ * @param b
106
+ */
107
+ areParralel(a: types.IXYZ, b: types.IXYZ): boolean;
108
+ /**
109
+ * 判断两个顶点是否重合
110
+ * @param a
111
+ * @param b
112
+ */
113
+ areNear(a: types.IXY, b: types.IXY): boolean;
114
+ /**
115
+ * 判断两个顶点是否重合
116
+ * @param a
117
+ * @param b
118
+ */
119
+ areNear(a: types.IXYZ, b: types.IXYZ): boolean;
120
+ }
@@ -0,0 +1,46 @@
1
+ import { types } from '../type_define/i_types';
2
+ import { IVector } from './ivector';
3
+ /**
4
+ * 向量
5
+ */
6
+ export declare abstract class Vec extends IVector {
7
+ constructor();
8
+ get x(): number;
9
+ get y(): number;
10
+ set x(x: number);
11
+ set y(y: number);
12
+ abstract clone(): Vec;
13
+ /**
14
+ * 向量加等于,会改变this,返回this
15
+ * @param another
16
+ */
17
+ abstract add(another: types.IXY | Vec): this;
18
+ /**
19
+ * 向量减等于,会改变this,返回this
20
+ * @param another
21
+ */
22
+ abstract subtract(another: types.IXY | Vec): this;
23
+ /**
24
+ * 向量线性插值等于,会改变this,返回this
25
+ * this = (1 - alpha)* this + alpha * another
26
+ * @param anotherVector
27
+ */
28
+ abstract interpolate(another: types.IXY | Vec, alpha: number): this;
29
+ abstract copy(another: types.IXY | Vec): this;
30
+ /**
31
+ * 向量乘等于,会改变this,返回this
32
+ * @param scale
33
+ */
34
+ multiply(scale: number): this;
35
+ /**
36
+ * 向量反向,会改变this,返回this
37
+ */
38
+ reverse(): this;
39
+ /**
40
+ * 单位化向量,会改变this
41
+ * @returns 返回this
42
+ */
43
+ normalize(): this;
44
+ translate(vec: types.IXY | Vec): this;
45
+ resetFromArray(array: number[]): this;
46
+ }