@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,146 @@
1
+ import { Vec } from './vec';
2
+ import { types } from '../type_define/i_types';
3
+ import { EN_GEO_TYPE } from '../type_define/i_element_type';
4
+ /**
5
+ * 既是向量,也是点,二维可变
6
+ */
7
+ declare class Vec2 extends Vec implements types.IXY {
8
+ /**
9
+ * 定义常量
10
+ */
11
+ static O(): Vec2;
12
+ static X(x?: number): Vec2;
13
+ static Y(y?: number): Vec2;
14
+ /**
15
+ * 全局的临时变量,使用该变量能减少对象的创建
16
+ */
17
+ static tmp(x?: number, y?: number): Vec2;
18
+ /**
19
+ * 只读常量 Vec2(0, 0)
20
+ */
21
+ static rO(): Vec2;
22
+ /**
23
+ * 只读常量 Vec2(1, 0)
24
+ */
25
+ static rX(): Vec2;
26
+ /**
27
+ * 只读常量 Vec2(0, 1)
28
+ */
29
+ static rY(): Vec2;
30
+ protected readonly _data: number[];
31
+ /**
32
+ * 空的构造方法,默认都是0
33
+ * @param x
34
+ * @param y
35
+ */
36
+ constructor();
37
+ /**
38
+ * 根据x值与y值构造
39
+ * @param x
40
+ * @param y
41
+ */
42
+ constructor(x: number, y: number);
43
+ /**
44
+ * 根据XY接口(xy都是小写)来构造
45
+ */
46
+ constructor(xy: types.IXY);
47
+ /**
48
+ * 两点构造一个向量
49
+ * @param pointA
50
+ * @param pointB
51
+ */
52
+ constructor(pointA: types.IXY, pointB: types.IXY);
53
+ /**
54
+ * 根据数组构造,默认取数组的前2个元素
55
+ */
56
+ constructor(xy: number[]);
57
+ get data(): types.numberArr2;
58
+ add(another: types.IXY): this;
59
+ added(another: types.IXY): Vec2;
60
+ subtract(another: types.IXY): this;
61
+ subtracted(another: types.IXY | Vec2): Vec2;
62
+ multiplied(scale: number): Vec2;
63
+ dot(another: types.IXY): number;
64
+ reversed(): Vec2;
65
+ interpolate(another: types.IXY, alpha: number): this;
66
+ interpolated(another: types.IXY, alpha: number): Vec2;
67
+ midTo(another: types.IXY): Vec2;
68
+ normalized(): Vec2;
69
+ translated(vec: types.IXY): Vec2;
70
+ /**
71
+ * 点的变换,包括平移、选择、缩放,会改变this
72
+ * @param matrix
73
+ */
74
+ transform(matrix: types.IMatrix3 | types.numberArrs3X3): this;
75
+ /**
76
+ * 向量的变换,会自动忽略平移量,会改变this
77
+ * @param matrix
78
+ */
79
+ vecTransform(matrix: types.IMatrix3 | types.numberArrs3X3): this;
80
+ transformed(matrix: types.IMatrix3 | types.numberArrs3X3): Vec2;
81
+ vecTransformed(matrix: types.IMatrix3 | types.numberArrs3X3): Vec2;
82
+ /**
83
+ * 点的旋转,改变自己
84
+ * @param refPt 参考点
85
+ * @param angle 弧度制
86
+ */
87
+ rotate(refPt: types.IXY, angle: number): this;
88
+ /**
89
+ * 点的旋转,得到一个新的对象
90
+ * @param refPt 参考点
91
+ * @param angle 弧度制
92
+ */
93
+ rotated(refPt: types.IXY, angle: number): Vec2;
94
+ /**
95
+ * 向量的旋转,改变自己
96
+ * @param angle
97
+ */
98
+ vecRotate(angle: number): this;
99
+ /**
100
+ * 向量的旋转,得到一个新对象
101
+ * @param angle
102
+ */
103
+ vecRotated(angle: number): Vec2;
104
+ /**
105
+ * 二维向量的叉乘 a X b = |a|·|b|·sinAB,
106
+ * 该值其实是第三个轴的分量
107
+ * @param another
108
+ */
109
+ cross(another: types.IXY): number;
110
+ /**
111
+ * 两向量之间的夹角,区间[0,PI]
112
+ * @param another
113
+ */
114
+ angle(another: types.IXY): number;
115
+ /**
116
+ * 从this转到anotherr的有向角,区间[0,2*PI)
117
+ */
118
+ angleTo(another: types.IXY): number;
119
+ /**
120
+ * 两向量是否平行(同向或反向)
121
+ * @param another
122
+ * @param tolerance 角度容差
123
+ */
124
+ isParallel(another: types.IXY, tolerance?: number): boolean;
125
+ isPerpendicular(another: types.IXY, eps?: number): boolean;
126
+ /**
127
+ * 与另外一个向量的距离
128
+ */
129
+ distanceTo(another: types.IXY): number;
130
+ /**
131
+ * 与另外一个向量的平方距离
132
+ */
133
+ sqDistanceTo(another: types.IXY): number;
134
+ /**
135
+ * 向量是否相等
136
+ * @param param
137
+ * @param eps 容差
138
+ */
139
+ equals(another: types.IXY, eps?: number): boolean;
140
+ getType(): EN_GEO_TYPE.VEC_2;
141
+ dump(): types.IDBVector2;
142
+ clone(): Vec2;
143
+ copy(another: types.IXY): this;
144
+ private _reset;
145
+ }
146
+ export { Vec2 };
@@ -0,0 +1,158 @@
1
+ import { Vec } from './vec';
2
+ import { types } from '../type_define/i_types';
3
+ import { EN_GEO_TYPE } from '../type_define/i_element_type';
4
+ import { Tol } from './tol';
5
+ /**
6
+ * 既是向量,也是点,三维可变
7
+ */
8
+ export declare class Vec3 extends Vec implements types.IXYZ {
9
+ static O(): Vec3;
10
+ static X(x?: number): Vec3;
11
+ static Y(y?: number): Vec3;
12
+ static Z(z?: number): Vec3;
13
+ static XY({ x, y }: types.IXY, z?: number): Vec3;
14
+ /**
15
+ * 全局的临时变量,使用该变量能减少对象的创建
16
+ */
17
+ static tmp(x?: number, y?: number, z?: number): Vec3;
18
+ /**
19
+ * 只读常量 Vec2(0, 0, 0)
20
+ */
21
+ static rO(): Vec3;
22
+ /**
23
+ * 只读常量 Vec2(1, 0, 0)
24
+ */
25
+ static rX(): Vec3;
26
+ /**
27
+ * 只读常量 (0, 1, 0)
28
+ */
29
+ static rY(): Vec3;
30
+ /**
31
+ * 只读常量 Vec3(0, 0, 1)
32
+ */
33
+ static rZ(): Vec3;
34
+ get z(): number;
35
+ set z(y: number);
36
+ get data(): types.numberArr3;
37
+ protected readonly _data: number[];
38
+ /**
39
+ * 返回zero
40
+ */
41
+ constructor();
42
+ /**
43
+ * 根据x值y值z值构造
44
+ * @param x
45
+ * @param y
46
+ */
47
+ constructor(x: number, y: number, z: number);
48
+ /**
49
+ * 根据XYZ接口(xyz都是小写)来构造
50
+ */
51
+ constructor(xyz: types.IXYZ);
52
+ /**
53
+ * 两点构造一个向量
54
+ * @param pointA
55
+ * @param pointB
56
+ */
57
+ constructor(pointA: types.IXYZ, pointB: types.IXYZ);
58
+ /**
59
+ * 根据数组构造,默认取数组的前3个元素
60
+ */
61
+ constructor(xyz: number[]);
62
+ add(another: types.IXYZ): this;
63
+ added(another: types.IXYZ): Vec3;
64
+ subtract(another: types.IXYZ): this;
65
+ subtracted(another: types.IXYZ): Vec3;
66
+ multiplied(scale: number): Vec3;
67
+ dot(another: types.IXYZ): number;
68
+ reversed(): Vec3;
69
+ interpolate(another: types.IXYZ, alpha: number): this;
70
+ interpolated(another: types.IXYZ, alpha: number): Vec3;
71
+ midTo(another: types.IXYZ): Vec3;
72
+ normalized(): Vec3;
73
+ translated(vec: types.IXYZ): Vec3;
74
+ /**
75
+ * 点的变换,包括平移、选择、缩放,会改变this
76
+ * @param matrix
77
+ */
78
+ transform(matrix: types.IMatrix4 | types.numberArrs4X4): this;
79
+ transformed(matrix: types.IMatrix4 | types.numberArrs4X4): Vec3;
80
+ /**
81
+ * 向量的变换,会自动忽略平移量,会改变this
82
+ * @param matrix
83
+ */
84
+ vecTransform(matrix: types.IMatrix4 | types.numberArrs4X4): this;
85
+ vecTransformed(matrix: types.IMatrix4 | types.numberArrs4X4): Vec3;
86
+ /**
87
+ * 点的旋转,改变自己
88
+ * @param refPt 参考点
89
+ * @param angle 弧度制
90
+ */
91
+ rotate(ptOnAxis: types.IXYZ, axis: types.IXYZ, angle: number): this;
92
+ /**
93
+ * 点的旋转
94
+ * @param refPt 参考点
95
+ * @param angle 弧度制
96
+ */
97
+ rotated(ptOnAxis: types.IXYZ, axis: types.IXYZ, angle: number): Vec3;
98
+ /**
99
+ * 向量的旋转,改变自己
100
+ * @param angle 弧度制
101
+ */
102
+ vecRotate(axis: types.IXYZ, angle: number): this;
103
+ /**
104
+ * 向量的旋转,返回一个新的向量对象
105
+ * @param angle 弧度制
106
+ */
107
+ vecRotated(axis: types.IXYZ, angle: number): Vec3;
108
+ /**
109
+ * 获取任意垂线
110
+ */
111
+ getPerpendicular(): Vec3;
112
+ /**
113
+ * | i j k |
114
+ * | ux uy uv |
115
+ * | vx vy vz |
116
+ * @param another
117
+ */
118
+ cross(another: types.IXYZ): Vec3;
119
+ /**
120
+ * 两向量是否平行(同向或反向)
121
+ * @param another
122
+ * @param eps 角度容差
123
+ */
124
+ isParallel(another: types.IXYZ, eps?: number): boolean;
125
+ isPerpendicular(another: types.IXYZ, eps?: number): boolean;
126
+ /**
127
+ * 两向量之间的夹角,区间[0,PI]
128
+ * @param another 另一个向量
129
+ * @param axisOut 两向量之间的旋转轴
130
+ */
131
+ angle(another: types.IXYZ, axisOut?: types.IXYZ, tol?: Tol): number;
132
+ /**
133
+ * 获取当前向量逆时针旋转至另一向量的夹角
134
+ * @param other 另一个向量
135
+ * @param refVec 参考向量(逆时针方向的确定依赖于观察方向,观察方向由该参数在平面法向上的分量确定)
136
+ * @return 夹角[0, 2 * PI]
137
+ */
138
+ angleTo(other: types.IXYZ, refVec: types.IXYZ): number;
139
+ /**
140
+ * 与另外一个向量的距离
141
+ */
142
+ distanceTo(another: types.IXYZ): number;
143
+ /**
144
+ * 与另外一个向量的平方距离
145
+ */
146
+ sqDistanceTo(another: types.IXYZ): number;
147
+ /**
148
+ * 向量是否相等
149
+ * @param param
150
+ * @param eps 容差
151
+ */
152
+ equals(another: types.IXYZ, eps?: number): boolean;
153
+ getType(): EN_GEO_TYPE.VEC_3;
154
+ dump(): types.IDBVector3;
155
+ clone(): Vec3;
156
+ copy(another: types.IXYZ): this;
157
+ private _reset;
158
+ }
@@ -0,0 +1,23 @@
1
+ export declare enum PreviewType {
2
+ TryGenerate = 0,
3
+ GenerateOnly = 1,
4
+ PreviewOnly = 2
5
+ }
6
+ export declare enum SweepErrorCode {
7
+ CoordinateZUnparallelWithPath = "CoordinateZUnparallelWithPath",
8
+ PathReversedConnection = "PathReversedConnection",
9
+ PathTwistedLoop = "PathTwistedLoop",
10
+ SurfaceDegenerate = "SurfaceDegenerate"
11
+ }
12
+ export declare enum RevolveErrorCode {
13
+ InputInvalidLoop = "InputInvalidLoop",
14
+ AllCurveInRevolveLine = "AllCurveInRevolveLine",
15
+ PathProjectError = "PathProjectError",
16
+ InvalidRevolveBody = "InvalidRevolveBody"
17
+ }
18
+ export declare enum FilletErrorCode {
19
+ InputInvalidRadius = "InputInvalidRadius",
20
+ InputInvalidEdges = "InputInvalidEdges",
21
+ FilletSelfIntersect = "FilletSelfIntersect",
22
+ InvalidFilletBody = "InvalidFilletBody"
23
+ }
@@ -0,0 +1,47 @@
1
+ import { Edge } from '../brep/edge';
2
+ import { Face } from '../brep/face';
3
+ import { Vertex } from '../brep/vertex';
4
+ /** 扫掠体的拓扑索引 */
5
+ export interface ISweepTopo {
6
+ /** 顶点,索引序号依次为 path, loop, edge, sub */
7
+ vertices: Vertex[][][][];
8
+ /** 扫掠边,索引序号依次为 path, loop, edge, sub */
9
+ sweepEdges: Edge[][][][];
10
+ /** 轮廓边,索引序号依次为 path, loop, edge, sub */
11
+ frameEdges: Edge[][][][];
12
+ /** 面,索引序号依次为 path, loop, edge */
13
+ sideFaces: Face[][][];
14
+ /** 起始面 */
15
+ firstFace?: Face;
16
+ /** 终止面 */
17
+ lastFace?: Face;
18
+ /** 路径在预处理中的分段 */
19
+ pathSplitCounts: number[];
20
+ /** 轮廓线在预处理中的分段数,索引序号依次为 loop, edge */
21
+ baseLoopSplitCounts: number[][];
22
+ }
23
+ /**
24
+ * 拉伸体的拓扑索引
25
+ * 此处注意由于smoothpoly原因导致边,侧面需要额外数据记录序号
26
+ */
27
+ export interface IExtrudeTopo {
28
+ topVertexs: Vertex[][];
29
+ bottomVertexs: Vertex[][];
30
+ topEdges: Edge[][];
31
+ sideEdges: Edge[][];
32
+ bottomEdges: Edge[][];
33
+ topFace: Face;
34
+ sideFaces: Face[][];
35
+ bottomFace: Face;
36
+ }
37
+ /** 布尔运算的拓扑索引 */
38
+ export interface IBool3dTopo {
39
+ /** 各面的来源面 */
40
+ faceSources: Map<string, string[]>;
41
+ }
42
+ /** 投影的附带信息 */
43
+ export interface IProjectInfo {
44
+ distance: number;
45
+ projFace: Face;
46
+ upDistance?: number;
47
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum PositionType {
2
+ UNKWON = 0,
3
+ OUT = 1,
4
+ IN = 2,
5
+ INOUT = 3,// 左内右外
6
+ OUTIN = 4
7
+ }
@@ -0,0 +1,4 @@
1
+ import { Edge } from '../../brep/edge';
2
+ import { Coedge3d } from '../../brep/coedge3d';
3
+ export declare function getLeftAndRightCoedge(edge: Edge): Coedge3d[];
4
+ export declare function getLeftAndRightCoedgeEx(edge: Edge): Coedge3d[][];
@@ -0,0 +1,28 @@
1
+ import { Curve3, Vec3, alg } from '../../..';
2
+ import { Face } from '../../brep/face';
3
+ import { Edge } from '../../brep/edge';
4
+ export declare class CurveSolidAnalysis {
5
+ /**
6
+ * curve与face相交,判断curve交点前后两段与face的内外关系
7
+ * @param curve curve3d
8
+ * @param xPointInfo curve与face的交点
9
+ * @param face 面
10
+ * @param prevRefParam 如果相切,用于判断前面一段在face内外
11
+ * @param nextRefParam 如果相切,用于判断后面一段在face内外
12
+ */
13
+ static curveFace(curve: Curve3, face: Face, xPointInfo: Vec3 | alg.ICvSurfXInfo): {
14
+ prev: number;
15
+ next: number;
16
+ };
17
+ static curveEdge(curve: Curve3, edge: Edge, xPt: Vec3, edgeFaces?: Face[]): {
18
+ prev: number;
19
+ next: number;
20
+ };
21
+ private static _curveFaceTangent;
22
+ /**
23
+ * 简单判断curve是否重合在face中
24
+ * @param faces
25
+ * @param curve
26
+ */
27
+ private static _edgeFacesContainsCurve;
28
+ }
@@ -0,0 +1,39 @@
1
+ import { Curve3 } from '../../..';
2
+ import { Face } from '../../brep/face';
3
+ import { PositionType } from './base_define';
4
+ export interface IFaceFacePosition {
5
+ position1: PositionType;
6
+ position2: PositionType;
7
+ }
8
+ interface IFacePair {
9
+ face1: Face;
10
+ face2: Face;
11
+ isOverlap: boolean;
12
+ isFaceSameDir?: boolean;
13
+ }
14
+ export declare class FaceFaceAnalysis {
15
+ /**
16
+ * 返回0,不是相切,互不包含,相互穿插(因为这种情况只需要加入face就行,不需要管加入哪个face,所以不需要区分inout和outin)
17
+ * 返回1,相切并且face2在face1外面(face1不包含face2)
18
+ * 返回2,相切并且face2在face1里面(face1包含face2)
19
+ * @param face1
20
+ * @param face2
21
+ * @param xCurve
22
+ */
23
+ static FaceFace(face1: Face, face2: Face, xCurve: Curve3, eps?: number): PositionType;
24
+ static FaceAndEdgeFaces(face: Face, edgeCurve: Curve3, edgeFaces: Face[], overlapFacePairs: IFacePair[], eps?: number): IFaceFacePosition;
25
+ static EdgeFacesAndEdgeFaces(edgeCurve: Curve3, edgeSameDir: boolean, edge1Faces: Face[], edge2Faces: Face[], overlapFacePairs: IFacePair[], eps?: number): IFaceFacePosition;
26
+ /**
27
+ * 返回0,不是相切,互不包含;返回1,face1包含face2(face2在face1里面);返回-1,face2包含face1(face1在face2里面)
28
+ * @param face1
29
+ * @param face2
30
+ * @param xCurve
31
+ */
32
+ static FaceHalfFace(face1: Face, face2: Face, xCurve: Curve3, isLeft: boolean, eps?: number): number;
33
+ private static _tangentFaceHalfFaceTryPosition;
34
+ private static _judgeFaceAndEdgeFacesPostion;
35
+ private static _adjustFaceProjectDir;
36
+ private static _classifyOverlapFacePair;
37
+ private static _calcTryPtsNumber;
38
+ }
39
+ export {};
@@ -0,0 +1,8 @@
1
+ import { Surface } from '../../..';
2
+ import { Coedge3d } from '../../brep/coedge3d';
3
+ import { Wire } from '../../brep/wire';
4
+ export declare function searchCoedge(surf: Surface, prevCoedge: Coedge3d, allCoedges: Coedge3d[]): Coedge3d | undefined;
5
+ export declare function isWireDegenerated(coedges: Coedge3d[] | readonly Coedge3d[]): boolean;
6
+ export declare function searchWire(surf: Surface, stCoedge: Coedge3d, allCoedges: Coedge3d[]): Wire | undefined;
7
+ export declare function searchWires(surf: Surface, newCoedges: Coedge3d[], oldCoedges: Coedge3d[], simpleLoop?: boolean): Wire[];
8
+ export declare function searchOneWireInReciprocateCoedges(surf: Surface, newCoedges: Coedge3d[], oldCoedges: Coedge3d[]): Wire | undefined;
@@ -0,0 +1,15 @@
1
+ import { Coord3 } from '../../..';
2
+ import { BrepBody } from '../../brep/brep_body';
3
+ /**
4
+ * 简单体构造
5
+ */
6
+ export declare class BasicBodyBuilder {
7
+ /**
8
+ * 构造立方体
9
+ * @param coord 左下角所在的坐标系
10
+ * @param a x轴向长度
11
+ * @param b y轴向长度
12
+ * @param c z轴向长度
13
+ */
14
+ static makeCubic(coord: Coord3, a: number, b?: number, c?: number): BrepBody;
15
+ }
@@ -0,0 +1,23 @@
1
+ import { Coord3, Polygon, Vec3 } from '../../..';
2
+ import { BrepBody } from '../../brep/brep_body';
3
+ import { IExtrudeTopo } from '../alg_types';
4
+ /**
5
+ * @author tiansk
6
+ * 拉伸体
7
+ * 支持轮廓线为直线段和圆弧,暂时不支持斜拉伸(还没有斜圆柱面)
8
+ */
9
+ export declare class ExtrudeBody {
10
+ /**
11
+ * 拉伸造体
12
+ * @param coordinate 局部坐标系
13
+ * @param polygon 在坐标轴下的polyogn
14
+ * @param dir 拉伸方向
15
+ * @param startOffset 起始偏移
16
+ * @param endOffset 终止偏移
17
+ * @param bCalPolygonEx 是否依据环的包含关系,将polygon分成多个区域,默认为true
18
+ * 如果输入明确只有一个区域,可以设置成false,提高性能
19
+ */
20
+ static execute(coordinate: Coord3, polygon: Polygon, dir: Vec3, startHeight: number, endHeight: number, bCalPolygonEx?: boolean, useRealCurve?: boolean, extrudeTopo?: IExtrudeTopo[]): BrepBody;
21
+ static extrudePolygonEx(coordinate: Coord3, polygon: Polygon, _dir: Vec3, startHeight: number, endHeight: number, extrudeTopo: IExtrudeTopo): BrepBody;
22
+ private static _decomposeSmoothPoly;
23
+ }
@@ -0,0 +1,37 @@
1
+ import { Coord3, Polygon, Curve3, Curve2 } from '../../..';
2
+ import { Face } from '../../brep/face';
3
+ import { BrepBody } from '../../brep/brep_body';
4
+ /**
5
+ *
6
+ * 扫掠体
7
+ * 路径支持Line3d, Arc3
8
+ * 轮廓支持Line2d,Polygon包含一个外环,多个内环
9
+ */
10
+ export declare class SweepBody {
11
+ coordinate: Coord3;
12
+ polygon2d: Polygon;
13
+ path3d: Curve3[];
14
+ adjustProfile: boolean;
15
+ adjustPath: boolean;
16
+ topoTrack?: Map<Curve2 | 0 | 1, Face[]> | undefined;
17
+ private _pathClosed;
18
+ private _profile2ds;
19
+ private _profileReverse;
20
+ constructor(coordinate: Coord3, polygon2d: Polygon, path3d: Curve3[], adjustProfile?: boolean, adjustPath?: boolean, topoTrack?: Map<Curve2 | 0 | 1, Face[]> | undefined);
21
+ execute(): BrepBody;
22
+ private _init;
23
+ private _decomposeSmoothPoly;
24
+ private _pathIsValid;
25
+ private _profileIsValid;
26
+ private _adjustPath;
27
+ private _adjustProfile;
28
+ private _calcSweepCurves;
29
+ private _trimSweepCurves;
30
+ private _calculateTrimedPoint;
31
+ private _calculateTrimedCurve;
32
+ private _buildSweepBody;
33
+ private _extendCurve;
34
+ private _getPointsCCWNormal;
35
+ private _getNormalOfPtSequence;
36
+ private _getNormalOfThreePoints;
37
+ }
@@ -0,0 +1,36 @@
1
+ import { Coord3, Polygon, Vec3, Curve3, Curve2 } from '../..';
2
+ import { BrepBody } from '../brep/brep_body';
3
+ import type { Face } from '../brep/face';
4
+ import { IExtrudeTopo } from './alg_types';
5
+ /**
6
+ * 造体:拉伸、扫掠
7
+ */
8
+ export declare class BodyBuilder {
9
+ /**
10
+ * 构造立方体
11
+ * @param coord 左下角所在的坐标系
12
+ * @param a x轴向长度
13
+ * @param b y轴向长度
14
+ * @param c z轴向长度
15
+ */
16
+ static createCubic(coord: Coord3, a: number, b?: number, c?: number): BrepBody;
17
+ /**
18
+ * !!!!注意,外面使用时,尽量避免将很多个polygon一起扔进去拉伸,会影响效率,尽量不同的polyfor循环分开拉升body
19
+ * 拉伸造体
20
+ * @param coordinate 局部坐标系
21
+ * @param polygon 在坐标轴下的polyogn
22
+ * @param dir 拉伸方向
23
+ * @param startOffset 起始偏移
24
+ * @param endOffset 终止偏移
25
+ * @param bCalPolygonEx 是否依据环的包含关系,将polygon分成多个区域,默认为true
26
+ * 如果输入明确只有一个区域,可以设置成false,提高性能
27
+ */
28
+ static extrude(coordinate: Coord3, polygon: Polygon, dir: Vec3, startOffset: number, endOffset: number, bCalPolygonEx?: boolean, extrudeTopo?: IExtrudeTopo[]): BrepBody;
29
+ /**
30
+ * @deprecated
31
+ * 构造扫掠体
32
+ * @param profileLines 扫掠的截面线,可以封闭,也可以不封闭
33
+ * @param path3d 扫描路径,可以封闭,也可以不封闭
34
+ */
35
+ static sweep(coordinate: Coord3, polygon2d: Polygon, path3d: Curve3[], adjustProfile?: boolean, adjustPath?: boolean, topoTrack?: Map<Curve2 | 0 | 1, Face[]>): BrepBody;
36
+ }
@@ -0,0 +1,21 @@
1
+ import { BrepBody } from '../brep/brep_body';
2
+ import { Face } from '../brep/face';
3
+ export declare class BodyUtil {
4
+ /**
5
+ * 找到body中与参考face(传入的face0)方向相反的face(如果不传入,默认为朝内的face为需要reversed face)
6
+ * @param body body
7
+ * @param face0 作为正方向的参考face
8
+ */
9
+ static getReversedFaces(body: BrepBody, face0?: Face): Set<Face>;
10
+ /**
11
+ * 处理face的方向,使所有face方向都一致朝向体外
12
+ * @param body
13
+ */
14
+ static unifyFaceDirectOutside(body: BrepBody): void;
15
+ /**
16
+ * 合并body中重合的vertex和edge
17
+ * @param body
18
+ */
19
+ static mergeCoincideVertexAndEdges(body: BrepBody): void;
20
+ private static _replaceEdge;
21
+ }
@@ -0,0 +1,11 @@
1
+ import { BrepBody } from "../../brep/brep_body";
2
+ /**
3
+ * 现有brep转sk brep
4
+ * @param brep
5
+ */
6
+ export declare function brepToSk(brep: BrepBody): any;
7
+ /**
8
+ * 司空brep转现有brep
9
+ * @param brep
10
+ */
11
+ export declare function skToBrep(brep: any): BrepBody;
@@ -0,0 +1,50 @@
1
+ import { Polygon, PolyCurve, Coord3 } from '../..';
2
+ import { Face } from '../brep/face';
3
+ import { BrepBody } from '../brep/brep_body';
4
+ import { IProjectInfo } from './alg_types';
5
+ /**
6
+ * 投影算法
7
+ * - face向coordinate投影
8
+ * - body向coordinate投影
9
+ * - bodys向coordinate投影
10
+ */
11
+ export declare class BRepCalcProject {
12
+ /**
13
+ * face沿coordinate z轴向coordinateXOY面投影,投影出的线成环,返回Polygon,否则返回Polyline[]
14
+ * 目前支持柱面和平面投影,但是目前不支持消隐,也即只针对面的边界进行投影,遮挡关系没有考虑
15
+ */
16
+ static face(face: Face, coordinate: Coord3): PolyCurve[] | Polygon;
17
+ /**
18
+ * face沿coordinate z轴向coordinateXOY面投影
19
+ * 注:与上面face投影接口对比不一样的是:对于曲线,这个接口投影出来的是离散的直线;如果用上面的face接口,投影出来是曲线。
20
+ * 曲面也可以投影,但是曲面可能投影出多个polygon轮廓。因为曲面有face的边界轮廓还有非边界轮廓。平面face只会投影出一个polygon
21
+ */
22
+ static faceToDiscretePolygons(face: Face, coordinate: Coord3): Polygon[];
23
+ /**
24
+ * 将body投影到一个局部坐标系下,得到polygon
25
+ * 目前支持柱面和平面投影,但是目前不支持消隐,也即只针对面的边界进行投影,遮挡关系没有考虑
26
+ */
27
+ static body(body: BrepBody, coordinate: Coord3): Polygon;
28
+ /**
29
+ * 将输入bodys沿着投影坐标系投影至投影面上,输出从投影面看过去可以看到的面的投影polygon以及对应距离(类似消隐效果)
30
+ * 目前投影面仅支持平面,仅支持平行投影,也即投影坐标系与face方向相同
31
+ * 同时,被投影体仅支持平面图形
32
+ */
33
+ static bodysProject(projectFace: Face, projectCoord: Coord3, projectedBodies: BrepBody[]): Map<Polygon, IProjectInfo>;
34
+ /**
35
+ * 视图投影,实现类似某一视角看上去是视图的感觉
36
+ * 目前投影面仅支持平面,仅支持平行投影,也即投影坐标系与face方向相同
37
+ * 同时,被投影体仅支持平面图形
38
+ */
39
+ static viewProject(projectFace: Face, projectCoord: Coord3, projectedBodies: BrepBody[]): Map<Polygon, IProjectInfo>;
40
+ /**
41
+ * 投影只输出一个polygon,对应的投影面的信息以及投影距离,包含遮挡关系
42
+ * @param projectCoord 投影坐标系
43
+ * @param projectedBodies 投影body
44
+ * @returns
45
+ */
46
+ static bodyProjectSimple(projectCoord: Coord3, projectedBodies: BrepBody[]): {
47
+ poly: Polygon;
48
+ info: IProjectInfo[];
49
+ } | undefined;
50
+ }