@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.
- package/index.cjs +226 -0
- package/package.json +19 -37
- package/types/algorithm/bool_operate/bool2d/bool2d.d.ts +22 -0
- package/types/algorithm/bool_operate/bool2d/difference.d.ts +9 -0
- package/types/algorithm/bool_operate/bool2d/intersect.d.ts +9 -0
- package/types/algorithm/bool_operate/bool2d/split.d.ts +3 -0
- package/types/algorithm/bool_operate/bool2d/union.d.ts +9 -0
- package/types/algorithm/bool_operate/bool2d/utils.d.ts +40 -0
- package/types/algorithm/bool_operate/bool_operate_clipper.d.ts +18 -0
- package/types/algorithm/bool_operate/polycurve_polygon_bool.d.ts +13 -0
- package/types/algorithm/bool_operate_2d.d.ts +67 -0
- package/types/algorithm/calc_d.d.ts +85 -0
- package/types/algorithm/calc_offset.d.ts +70 -0
- package/types/algorithm/calc_overlap.d.ts +56 -0
- package/types/algorithm/calc_project.d.ts +29 -0
- package/types/algorithm/calc_x.d.ts +215 -0
- package/types/algorithm/calculate_util/geometry_subdevide_infos.d.ts +73 -0
- package/types/algorithm/calculate_util/iterative_method.d.ts +30 -0
- package/types/algorithm/discrete/discrete_curve.d.ts +31 -0
- package/types/algorithm/discrete/discrete_refiner.d.ts +35 -0
- package/types/algorithm/discrete/discrete_surface.d.ts +74 -0
- package/types/algorithm/discrete/discrete_topology.d.ts +32 -0
- package/types/algorithm/discrete/discrete_util.d.ts +96 -0
- package/types/algorithm/discrete/grid_discrete_data.d.ts +58 -0
- package/types/algorithm/discrete/libtess.d.ts +12 -0
- package/types/algorithm/discrete/uniform_grid_discrete.d.ts +3 -0
- package/types/algorithm/distance/base_calc_distance/curves_distance_util.d.ts +20 -0
- package/types/algorithm/distance/base_calc_distance/define_of_calculate_distance.d.ts +12 -0
- package/types/algorithm/distance/curve2ds_distance/arc2s_distance.d.ts +17 -0
- package/types/algorithm/distance/curve2ds_distance/line2d_to_arc2d_distance.d.ts +17 -0
- package/types/algorithm/distance/curve2ds_distance/line2s_distance.d.ts +15 -0
- package/types/algorithm/distance/curve2s_distance.d.ts +15 -0
- package/types/algorithm/distance/curve3ds_distance/line3d_to_line3d_distance_paramed.d.ts +12 -0
- package/types/algorithm/distance/curve3s_distance.d.ts +31 -0
- package/types/algorithm/distance/pt_to_curve2_signed_distance.d.ts +17 -0
- package/types/algorithm/distance/pt_to_curve3_distance.d.ts +25 -0
- package/types/algorithm/distance/pt_to_curve_distance_info.d.ts +12 -0
- package/types/algorithm/distance/pt_to_surface_distance.d.ts +17 -0
- package/types/algorithm/distance/pts_to_curves_distance.d.ts +13 -0
- package/types/algorithm/distance/pts_to_pts_distance.d.ts +7 -0
- package/types/algorithm/geometry_merge.d.ts +22 -0
- package/types/algorithm/index.d.ts +32 -0
- package/types/algorithm/intersect/box_cut_line.d.ts +6 -0
- package/types/algorithm/intersect/curve_self_x.d.ts +13 -0
- package/types/algorithm/intersect/curve_surface_x.d.ts +34 -0
- package/types/algorithm/intersect/curve_surface_x_util.d.ts +32 -0
- package/types/algorithm/intersect/curves_x/circulars_x.d.ts +35 -0
- package/types/algorithm/intersect/curves_x/linear_circular_x.d.ts +40 -0
- package/types/algorithm/intersect/curves_x/lines_x.d.ts +17 -0
- package/types/algorithm/intersect/curves_x/lines_x_util.d.ts +4 -0
- package/types/algorithm/intersect/curves_x.d.ts +26 -0
- package/types/algorithm/intersect/curves_x_util.d.ts +35 -0
- package/types/algorithm/intersect/intersect_info_util.d.ts +9 -0
- package/types/algorithm/intersect/surface_self_x.d.ts +8 -0
- package/types/algorithm/intersect/surfaces_x.d.ts +53 -0
- package/types/algorithm/intersect/surfaces_x_complex.d.ts +29 -0
- package/types/algorithm/intersect/surfaces_x_special.d.ts +16 -0
- package/types/algorithm/intersect/surfaces_x_util.d.ts +41 -0
- package/types/algorithm/intersect/x_info.d.ts +65 -0
- package/types/algorithm/loop_property/loop-area.d.ts +49 -0
- package/types/algorithm/loop_property/loop-centroid.d.ts +40 -0
- package/types/algorithm/merge_geometry/halfplane.d.ts +24 -0
- package/types/algorithm/merge_geometry/merge_curve.d.ts +14 -0
- package/types/algorithm/merge_geometry/merge_point.d.ts +18 -0
- package/types/algorithm/mesh/clip_mesh.d.ts +27 -0
- package/types/algorithm/mesh/extrude_clip.d.ts +236 -0
- package/types/algorithm/mesh/mesh_assist.d.ts +21 -0
- package/types/algorithm/mesh/mesh_contour.d.ts +26 -0
- package/types/algorithm/mesh/mesh_util.d.ts +115 -0
- package/types/algorithm/offset/loop2d_offset.d.ts +22 -0
- package/types/algorithm/offset/polygon_offset.d.ts +27 -0
- package/types/algorithm/overlap/curve_surface_coincide.d.ts +6 -0
- package/types/algorithm/overlap/curves_colinear.d.ts +38 -0
- package/types/algorithm/overlap/curves_merge.d.ts +74 -0
- package/types/algorithm/overlap/curves_overlap.d.ts +34 -0
- package/types/algorithm/overlap/i_overlap.d.ts +9 -0
- package/types/algorithm/overlap/surfaces_coplaner.d.ts +5 -0
- package/types/algorithm/pattern/blocks2Geometry.d.ts +50 -0
- package/types/algorithm/pattern/math.d.ts +42 -0
- package/types/algorithm/pattern/pattern.d.ts +43 -0
- package/types/algorithm/pattern/pattern_util.d.ts +53 -0
- package/types/algorithm/pattern/pave.d.ts +33 -0
- package/types/algorithm/pj/curves_oj.d.ts +19 -0
- package/types/algorithm/pj/curves_pj.d.ts +19 -0
- package/types/algorithm/pj/loops_pj.d.ts +13 -0
- package/types/algorithm/pj/pj_type.d.ts +46 -0
- package/types/algorithm/pj/pt_loop_pj.d.ts +24 -0
- package/types/algorithm/pj/pt_polygon_pj.d.ts +18 -0
- package/types/algorithm/pj/pt_polygon_position_judger.d.ts +11 -0
- package/types/algorithm/position_judge.d.ts +72 -0
- package/types/algorithm/project/curve3d_to_plane_project.d.ts +11 -0
- package/types/algorithm/project/curve_curve_project.d.ts +9 -0
- package/types/algorithm/search_graph/iloops_polygonex.d.ts +28 -0
- package/types/algorithm/search_graph/loop_tree_node.d.ts +30 -0
- package/types/algorithm/search_graph/loops_to_loop_tree_search_graph.d.ts +25 -0
- package/types/algorithm/search_graph/polygon_polygonex.d.ts +13 -0
- package/types/algorithm/search_graph/search_loop2d.d.ts +20 -0
- package/types/algorithm/search_graph/search_polyline.d.ts +11 -0
- package/types/algorithm/search_graph.d.ts +45 -0
- package/types/algorithm/topology_edit.d.ts +10 -0
- package/types/base/box.d.ts +100 -0
- package/types/base/box2.d.ts +17 -0
- package/types/base/box3.d.ts +20 -0
- package/types/base/coord.d.ts +10 -0
- package/types/base/coord2.d.ts +92 -0
- package/types/base/coord3.d.ts +139 -0
- package/types/base/discrete_param.d.ts +28 -0
- package/types/base/euler.d.ts +102 -0
- package/types/base/geo_element.d.ts +54 -0
- package/types/base/interval.d.ts +122 -0
- package/types/base/ivector.d.ts +126 -0
- package/types/base/matrix.d.ts +108 -0
- package/types/base/matrix3.d.ts +118 -0
- package/types/base/matrix4.d.ts +166 -0
- package/types/base/matrix_util.d.ts +5 -0
- package/types/base/period_inverval.d.ts +127 -0
- package/types/base/quaternion.d.ts +39 -0
- package/types/base/tangent_cone.d.ts +11 -0
- package/types/base/tilt_box.d.ts +11 -0
- package/types/base/tol.d.ts +120 -0
- package/types/base/vec.d.ts +46 -0
- package/types/base/vec2.d.ts +146 -0
- package/types/base/vec3.d.ts +158 -0
- package/types/brep-src/algorithm/alg_const.d.ts +23 -0
- package/types/brep-src/algorithm/alg_types.d.ts +47 -0
- package/types/brep-src/algorithm/algorithm_util/base_define.d.ts +7 -0
- package/types/brep-src/algorithm/algorithm_util/body_base_util.d.ts +4 -0
- package/types/brep-src/algorithm/algorithm_util/curve_solid_analysis.d.ts +28 -0
- package/types/brep-src/algorithm/algorithm_util/face_face_analysis.d.ts +39 -0
- package/types/brep-src/algorithm/algorithm_util/search_wire.d.ts +8 -0
- package/types/brep-src/algorithm/body_builder/basic_body_builder.d.ts +15 -0
- package/types/brep-src/algorithm/body_builder/extrude_body.d.ts +23 -0
- package/types/brep-src/algorithm/body_builder/sweep_body.d.ts +37 -0
- package/types/brep-src/algorithm/body_builder.d.ts +36 -0
- package/types/brep-src/algorithm/body_util.d.ts +21 -0
- package/types/brep-src/algorithm/bool_sk/brep_converter.d.ts +11 -0
- package/types/brep-src/algorithm/brep_calc_project.d.ts +50 -0
- package/types/brep-src/algorithm/brep_calc_x.d.ts +34 -0
- package/types/brep-src/algorithm/brep_pj.d.ts +47 -0
- package/types/brep-src/algorithm/index.d.ts +5 -0
- package/types/brep-src/algorithm/intersect/curve_face_overlap.d.ts +10 -0
- package/types/brep-src/algorithm/intersect/face_face_intersect.d.ts +22 -0
- package/types/brep-src/algorithm/intersect/face_faces_intersect.d.ts +15 -0
- package/types/brep-src/algorithm/intersect/line_face_intersect.d.ts +16 -0
- package/types/brep-src/algorithm/podition_judge/body_pj.d.ts +25 -0
- package/types/brep-src/algorithm/podition_judge/extrude_pj.d.ts +28 -0
- package/types/brep-src/algorithm/podition_judge/pt_body_pj.d.ts +32 -0
- package/types/brep-src/algorithm/project/body_project.d.ts +8 -0
- package/types/brep-src/algorithm/project/face_project.d.ts +20 -0
- package/types/brep-src/algorithm/project/face_surface_project.d.ts +8 -0
- package/types/brep-src/algorithm/project/space_project.d.ts +26 -0
- package/types/brep-src/algorithm/project/space_project_simple.d.ts +10 -0
- package/types/brep-src/algorithm/project/view_project.d.ts +25 -0
- package/types/brep-src/algorithm/shell_builder/create_shell_from_curves.d.ts +38 -0
- package/types/brep-src/algorithm/shell_builder.d.ts +25 -0
- package/types/brep-src/algorithm/shell_edit/add_edges/add_edges.d.ts +14 -0
- package/types/brep-src/algorithm/shell_edit/add_edges/add_edges_core.d.ts +11 -0
- package/types/brep-src/algorithm/shell_edit/copy_faces.d.ts +20 -0
- package/types/brep-src/algorithm/shell_edit/delete_faces_edges/delete_edge.d.ts +9 -0
- package/types/brep-src/algorithm/shell_edit/delete_faces_edges/delete_faces_edges.d.ts +17 -0
- package/types/brep-src/algorithm/shell_edit/faces_boolean/faces_boolean.d.ts +19 -0
- package/types/brep-src/algorithm/shell_edit/faces_boolean/faces_shells_boolean.d.ts +13 -0
- package/types/brep-src/algorithm/shell_edit/faces_boolean/octree.d.ts +11 -0
- package/types/brep-src/algorithm/shell_edit/isolate_faces.d.ts +21 -0
- package/types/brep-src/algorithm/shell_edit/merge_connect_faces.d.ts +14 -0
- package/types/brep-src/algorithm/shell_edit/merge_edges.d.ts +8 -0
- package/types/brep-src/algorithm/shell_edit/move_operators/move_edges.d.ts +31 -0
- package/types/brep-src/algorithm/shell_edit/move_operators/move_faces.d.ts +14 -0
- package/types/brep-src/algorithm/shell_edit/operator/dispose_topo.d.ts +2 -0
- package/types/brep-src/algorithm/shell_edit/operator/merge_connect_edge.d.ts +3 -0
- package/types/brep-src/algorithm/shell_edit/operator/merge_connect_face.d.ts +2 -0
- package/types/brep-src/algorithm/shell_edit/operator/merge_overlap_edge.d.ts +3 -0
- package/types/brep-src/algorithm/shell_edit/operator/merge_shell.d.ts +11 -0
- package/types/brep-src/algorithm/shell_edit/operator/merge_vertex.d.ts +2 -0
- package/types/brep-src/algorithm/shell_edit/operator/split_edge.d.ts +4 -0
- package/types/brep-src/algorithm/shell_edit/operator/split_shell.d.ts +6 -0
- package/types/brep-src/algorithm/shell_edit/pull_push_face/pull_push_face.d.ts +18 -0
- package/types/brep-src/algorithm/shell_edit/pull_push_face/pull_push_face_core.d.ts +6 -0
- package/types/brep-src/algorithm/shell_edit/pull_push_face/pull_push_face_preview.d.ts +16 -0
- package/types/brep-src/algorithm/shell_edit/pull_push_face/pull_push_face_preview_core.d.ts +24 -0
- package/types/brep-src/algorithm/shell_edit/roundinng/2d_rounding.d.ts +22 -0
- package/types/brep-src/algorithm/shell_edit/shell_modeling_base.d.ts +10 -0
- package/types/brep-src/algorithm/shell_edit/shell_modeling_result.d.ts +21 -0
- package/types/brep-src/algorithm/shell_edit/smooth/detect_loop_util.d.ts +27 -0
- package/types/brep-src/algorithm/shell_edit/smooth/shell_modeling_util.d.ts +24 -0
- package/types/brep-src/algorithm/shell_edit/smooth/smooth_util.d.ts +22 -0
- package/types/brep-src/algorithm/shell_edit/split_edge.d.ts +10 -0
- package/types/brep-src/algorithm/shell_edit.d.ts +119 -0
- package/types/brep-src/algorithm/shell_valid/base_brep_topo_error.d.ts +176 -0
- package/types/brep-src/algorithm/shell_valid/diagnose_shell.d.ts +14 -0
- package/types/brep-src/brep/brep_body.d.ts +19 -0
- package/types/brep-src/brep/coedge3d.d.ts +83 -0
- package/types/brep-src/brep/edge.d.ts +96 -0
- package/types/brep-src/brep/face.d.ts +150 -0
- package/types/brep-src/brep/shell.d.ts +166 -0
- package/types/brep-src/brep/topo_object.d.ts +40 -0
- package/types/brep-src/brep/vertex.d.ts +48 -0
- package/types/brep-src/brep/wire.d.ts +66 -0
- package/types/brep-src/continuous/continuous_edge.d.ts +17 -0
- package/types/brep-src/continuous/continuous_face.d.ts +10 -0
- package/types/brep-src/continuous/continuous_util.d.ts +60 -0
- package/types/brep-src/continuous/continuous_uv.d.ts +24 -0
- package/types/brep-src/continuous/index.d.ts +4 -0
- package/types/brep-src/index.d.ts +14 -0
- package/types/brep-src/type_define/i_types.d.ts +46 -0
- package/types/brep-src/util/util.d.ts +23 -0
- package/types/conversion/units_conversion.d.ts +14 -0
- package/types/geometry/arc2d.d.ts +249 -0
- package/types/geometry/arc3d.d.ts +204 -0
- package/types/geometry/circle3d.d.ts +92 -0
- package/types/geometry/circular_surface.d.ts +52 -0
- package/types/geometry/coord_based_surface.d.ts +25 -0
- package/types/geometry/curve.d.ts +228 -0
- package/types/geometry/curve2.d.ts +62 -0
- package/types/geometry/curve3d.d.ts +66 -0
- package/types/geometry/cylinder.d.ts +73 -0
- package/types/geometry/discrete_arrow.d.ts +3 -0
- package/types/geometry/extend_curve2.d.ts +75 -0
- package/types/geometry/geometry2d.d.ts +35 -0
- package/types/geometry/geometry3d.d.ts +36 -0
- package/types/geometry/intersect_curve3.d.ts +90 -0
- package/types/geometry/ln2.d.ts +168 -0
- package/types/geometry/ln3.d.ts +152 -0
- package/types/geometry/nurbs_curve2.d.ts +106 -0
- package/types/geometry/nurbs_curve3.d.ts +191 -0
- package/types/geometry/offset_curve2.d.ts +63 -0
- package/types/geometry/offset_curve3.d.ts +97 -0
- package/types/geometry/offset_parameter_mapper.d.ts +72 -0
- package/types/geometry/plane.d.ts +109 -0
- package/types/geometry/polyline.d.ts +12 -0
- package/types/geometry/smooth_poly2.d.ts +78 -0
- package/types/geometry/smooth_poly3.d.ts +85 -0
- package/types/geometry/surface.d.ts +173 -0
- package/types/index.d.ts +78 -0
- package/types/io/obj_parser.d.ts +4 -0
- package/types/io/svgparser.d.ts +22 -0
- package/types/loader/loader.d.ts +23 -0
- package/types/loader/register_geo.d.ts +7 -0
- package/types/math/gauss_integration.d.ts +13 -0
- package/types/math/inv_bilinear.d.ts +33 -0
- package/types/solve_equations/cubic_equation.d.ts +7 -0
- package/types/solve_equations/linear_system.d.ts +6 -0
- package/types/solve_equations/nonlinear_system.d.ts +11 -0
- package/types/solve_equations/plurality.d.ts +9 -0
- package/types/solve_equations/polynomial_equation.d.ts +6 -0
- package/types/solve_equations/quadratic_equation.d.ts +6 -0
- package/types/solve_equations/quartic_equation.d.ts +6 -0
- package/types/solve_equations/solve_equation_util.d.ts +50 -0
- package/types/test_util/loop_generator.d.ts +21 -0
- package/types/topology/evolution_map.d.ts +90 -0
- package/types/topology/loop.d.ts +50 -0
- package/types/topology/polycurve.d.ts +109 -0
- package/types/topology/polygon.d.ts +118 -0
- package/types/topology/trimmed_surface.d.ts +136 -0
- package/types/type_define/const.d.ts +18 -0
- package/types/type_define/i_element.d.ts +9 -0
- package/types/type_define/i_element_type.d.ts +34 -0
- package/types/type_define/i_geometry.d.ts +191 -0
- package/types/type_define/i_types.d.ts +280 -0
- package/types/util/array_util.d.ts +8 -0
- package/types/util/assert.d.ts +21 -0
- package/types/util/clipper2_util.d.ts +5 -0
- package/types/util/clipper_format_converter.d.ts +21 -0
- package/types/util/clipper_util.d.ts +10 -0
- package/types/util/curve_util.d.ts +72 -0
- package/types/util/geom_util.d.ts +23 -0
- package/types/util/log.d.ts +19 -0
- package/types/util/math_error.d.ts +37 -0
- package/types/util/surface_util.d.ts +13 -0
- package/types/util/util.d.ts +18 -0
- package/types/util/uv_util.d.ts +68 -0
- package/types/verb/export_verb.d.ts +2 -0
- package/types/wasm/a2d.d.ts +19 -0
- package/types/wasm/bx2.d.ts +16 -0
- package/types/wasm/c2d.d.ts +29 -0
- package/types/wasm/elli.d.ts +19 -0
- package/types/wasm/grapher2d.d.ts +39 -0
- package/types/wasm/grapherutil.d.ts +9 -0
- package/types/wasm/l2d.d.ts +14 -0
- package/types/wasm/loader.d.ts +8 -0
- package/types/wasm/pt.d.ts +19 -0
- package/types/wasm/wasm-geom.d.ts +296 -0
- package/types/wasm/wasminstance.d.ts +19 -0
- package/types/wasm/wrapper.d.ts +82 -0
- package/README.md +0 -21
- package/dist/constants/geom_type.d.ts +0 -13
- package/dist/constants/geom_type.d.ts.map +0 -1
- package/dist/constants/geom_type.js +0 -17
- package/dist/constants/math_const.d.ts +0 -9
- package/dist/constants/math_const.d.ts.map +0 -1
- package/dist/constants/math_const.js +0 -12
- package/dist/core/box2.d.ts +0 -71
- package/dist/core/box2.d.ts.map +0 -1
- package/dist/core/box2.js +0 -243
- package/dist/core/coord2d.d.ts +0 -62
- package/dist/core/coord2d.d.ts.map +0 -1
- package/dist/core/coord2d.js +0 -155
- package/dist/core/geom_base.d.ts +0 -19
- package/dist/core/geom_base.d.ts.map +0 -1
- package/dist/core/geom_base.js +0 -18
- package/dist/core/mat3.d.ts +0 -101
- package/dist/core/mat3.d.ts.map +0 -1
- package/dist/core/mat3.js +0 -290
- package/dist/core/vec2.d.ts +0 -138
- package/dist/core/vec2.d.ts.map +0 -1
- package/dist/core/vec2.js +0 -297
- package/dist/curves/arc2.d.ts +0 -49
- package/dist/curves/arc2.d.ts.map +0 -1
- package/dist/curves/arc2.js +0 -265
- package/dist/curves/bspline2.d.ts +0 -150
- package/dist/curves/bspline2.d.ts.map +0 -1
- package/dist/curves/bspline2.js +0 -793
- package/dist/curves/circle2.d.ts +0 -42
- package/dist/curves/circle2.d.ts.map +0 -1
- package/dist/curves/circle2.js +0 -135
- package/dist/curves/circle_curve2.d.ts +0 -38
- package/dist/curves/circle_curve2.d.ts.map +0 -1
- package/dist/curves/circle_curve2.js +0 -112
- package/dist/curves/curve2.d.ts +0 -214
- package/dist/curves/curve2.d.ts.map +0 -1
- package/dist/curves/curve2.js +0 -238
- package/dist/curves/ellipse2.d.ts +0 -42
- package/dist/curves/ellipse2.d.ts.map +0 -1
- package/dist/curves/ellipse2.js +0 -125
- package/dist/curves/ellipse_arc2.d.ts +0 -49
- package/dist/curves/ellipse_arc2.d.ts.map +0 -1
- package/dist/curves/ellipse_arc2.js +0 -184
- package/dist/curves/ellipse_curve2.d.ts +0 -56
- package/dist/curves/ellipse_curve2.d.ts.map +0 -1
- package/dist/curves/ellipse_curve2.js +0 -262
- package/dist/curves/interval.d.ts +0 -112
- package/dist/curves/interval.d.ts.map +0 -1
- package/dist/curves/interval.js +0 -200
- package/dist/curves/line2.d.ts +0 -64
- package/dist/curves/line2.d.ts.map +0 -1
- package/dist/curves/line2.js +0 -193
- package/dist/curves/period_interval.d.ts +0 -129
- package/dist/curves/period_interval.d.ts.map +0 -1
- package/dist/curves/period_interval.js +0 -240
- package/dist/discretize/discretize_defaults.d.ts +0 -12
- package/dist/discretize/discretize_defaults.d.ts.map +0 -1
- package/dist/discretize/discretize_defaults.js +0 -12
- package/dist/discretize/discretize_engine.d.ts +0 -33
- package/dist/discretize/discretize_engine.d.ts.map +0 -1
- package/dist/discretize/discretize_engine.js +0 -347
- package/dist/discretize/discretize_errors.d.ts +0 -15
- package/dist/discretize/discretize_errors.d.ts.map +0 -1
- package/dist/discretize/discretize_errors.js +0 -30
- package/dist/discretize/discretize_options.d.ts +0 -18
- package/dist/discretize/discretize_options.d.ts.map +0 -1
- package/dist/discretize/discretize_options.js +0 -19
- package/dist/discretize/discretize_types.d.ts +0 -36
- package/dist/discretize/discretize_types.d.ts.map +0 -1
- package/dist/discretize/discretize_types.js +0 -1
- package/dist/discretize/internal/curve_guards.d.ts +0 -35
- package/dist/discretize/internal/curve_guards.d.ts.map +0 -1
- package/dist/discretize/internal/curve_guards.js +0 -62
- package/dist/discretize/internal/postprocess.d.ts +0 -5
- package/dist/discretize/internal/postprocess.d.ts.map +0 -1
- package/dist/discretize/internal/postprocess.js +0 -109
- package/dist/discretize/internal/sampling_utils.d.ts +0 -8
- package/dist/discretize/internal/sampling_utils.d.ts.map +0 -1
- package/dist/discretize/internal/sampling_utils.js +0 -36
- package/dist/discretize/register_builtin_strategies.d.ts +0 -3
- package/dist/discretize/register_builtin_strategies.d.ts.map +0 -1
- package/dist/discretize/register_builtin_strategies.js +0 -10
- package/dist/discretize/strategies/bspline_strategy.d.ts +0 -4
- package/dist/discretize/strategies/bspline_strategy.d.ts.map +0 -1
- package/dist/discretize/strategies/bspline_strategy.js +0 -115
- package/dist/discretize/strategies/circle_strategy.d.ts +0 -7
- package/dist/discretize/strategies/circle_strategy.d.ts.map +0 -1
- package/dist/discretize/strategies/circle_strategy.js +0 -55
- package/dist/discretize/strategies/ellipse_strategy.d.ts +0 -7
- package/dist/discretize/strategies/ellipse_strategy.d.ts.map +0 -1
- package/dist/discretize/strategies/ellipse_strategy.js +0 -86
- package/dist/discretize/strategies/line_strategy.d.ts +0 -4
- package/dist/discretize/strategies/line_strategy.d.ts.map +0 -1
- package/dist/discretize/strategies/line_strategy.js +0 -40
- package/dist/discretize/strategy_registry.d.ts +0 -9
- package/dist/discretize/strategy_registry.d.ts.map +0 -1
- package/dist/discretize/strategy_registry.js +0 -34
- package/dist/index.d.ts +0 -30
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -24
- package/dist/intersections/analytic_x_algorithm.d.ts +0 -10
- package/dist/intersections/analytic_x_algorithm.d.ts.map +0 -1
- package/dist/intersections/analytic_x_algorithm.js +0 -83
- package/dist/intersections/curve_x_engine.d.ts +0 -9
- package/dist/intersections/curve_x_engine.d.ts.map +0 -1
- package/dist/intersections/curve_x_engine.js +0 -27
- package/dist/intersections/index.d.ts +0 -5
- package/dist/intersections/index.d.ts.map +0 -1
- package/dist/intersections/index.js +0 -11
- package/dist/intersections/internal/certification.d.ts +0 -34
- package/dist/intersections/internal/certification.d.ts.map +0 -1
- package/dist/intersections/internal/certification.js +0 -238
- package/dist/intersections/internal/interval_clipping.d.ts +0 -29
- package/dist/intersections/internal/interval_clipping.d.ts.map +0 -1
- package/dist/intersections/internal/interval_clipping.js +0 -123
- package/dist/intersections/internal/kind.d.ts +0 -4
- package/dist/intersections/internal/kind.d.ts.map +0 -1
- package/dist/intersections/internal/kind.js +0 -16
- package/dist/intersections/internal/pair.d.ts +0 -9
- package/dist/intersections/internal/pair.d.ts.map +0 -1
- package/dist/intersections/internal/pair.js +0 -14
- package/dist/intersections/internal/result.d.ts +0 -20
- package/dist/intersections/internal/result.d.ts.map +0 -1
- package/dist/intersections/internal/result.js +0 -125
- package/dist/intersections/internal/sampling.d.ts +0 -15
- package/dist/intersections/internal/sampling.d.ts.map +0 -1
- package/dist/intersections/internal/sampling.js +0 -131
- package/dist/intersections/internal/segment.d.ts +0 -32
- package/dist/intersections/internal/segment.d.ts.map +0 -1
- package/dist/intersections/internal/segment.js +0 -137
- package/dist/intersections/internal/tolerance.d.ts +0 -10
- package/dist/intersections/internal/tolerance.d.ts.map +0 -1
- package/dist/intersections/internal/tolerance.js +0 -20
- package/dist/intersections/intersector.d.ts +0 -6
- package/dist/intersections/intersector.d.ts.map +0 -1
- package/dist/intersections/intersector.js +0 -1
- package/dist/intersections/numeric_x_algorithm.d.ts +0 -10
- package/dist/intersections/numeric_x_algorithm.d.ts.map +0 -1
- package/dist/intersections/numeric_x_algorithm.js +0 -73
- package/dist/intersections/solvers/bspline_self_solver.d.ts +0 -7
- package/dist/intersections/solvers/bspline_self_solver.d.ts.map +0 -1
- package/dist/intersections/solvers/bspline_self_solver.js +0 -308
- package/dist/intersections/solvers/line_line_pair_solver.d.ts +0 -7
- package/dist/intersections/solvers/line_line_pair_solver.d.ts.map +0 -1
- package/dist/intersections/solvers/line_line_pair_solver.js +0 -35
- package/dist/intersections/solvers/pair_solvers.d.ts +0 -94
- package/dist/intersections/solvers/pair_solvers.d.ts.map +0 -1
- package/dist/intersections/solvers/pair_solvers.js +0 -1078
- package/dist/intersections/solvers/polyline_pair_intersector.d.ts +0 -51
- package/dist/intersections/solvers/polyline_pair_intersector.d.ts.map +0 -1
- package/dist/intersections/solvers/polyline_pair_intersector.js +0 -731
- package/dist/intersections/types.d.ts +0 -11
- package/dist/intersections/types.d.ts.map +0 -1
- package/dist/intersections/types.js +0 -1
- package/dist/serialize/dump_types.d.ts +0 -101
- package/dist/serialize/dump_types.d.ts.map +0 -1
- package/dist/serialize/dump_types.js +0 -5
- package/dist/serialize/geom_mgr.d.ts +0 -24
- package/dist/serialize/geom_mgr.d.ts.map +0 -1
- package/dist/serialize/geom_mgr.js +0 -30
- package/dist/types/type_define.d.ts +0 -29
- package/dist/types/type_define.d.ts.map +0 -1
- package/dist/types/type_define.js +0 -10
- package/dist/types/type_guard.d.ts +0 -46
- package/dist/types/type_guard.d.ts.map +0 -1
- package/dist/types/type_guard.js +0 -5
- package/dist/utils/math_error.d.ts +0 -16
- package/dist/utils/math_error.d.ts.map +0 -1
- package/dist/utils/math_error.js +0 -35
- package/dist/utils/math_utils.d.ts +0 -9
- package/dist/utils/math_utils.d.ts.map +0 -1
- package/dist/utils/math_utils.js +0 -25
- package/dist/utils/precision.d.ts +0 -29
- package/dist/utils/precision.d.ts.map +0 -1
- package/dist/utils/precision.js +0 -44
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Vec3 } from '../../../base/vec3';
|
|
2
|
+
import { Curve3 } from '../../../geometry/curve3d';
|
|
3
|
+
import { Curve3dSegment, Curve3dSegmentPair } from '../../calculate_util/geometry_subdevide_infos';
|
|
4
|
+
import { Curve2 } from '../../../geometry/curve2';
|
|
5
|
+
import { Vec2 } from '../../../base/vec2';
|
|
6
|
+
/**
|
|
7
|
+
* 曲线集到曲线集的最近距离
|
|
8
|
+
*/
|
|
9
|
+
export declare class CurvedDistanceUtil {
|
|
10
|
+
static minAtEnds2d(curve1: Curve2, curve2: Curve2, point1?: Vec2, point2?: Vec2): number;
|
|
11
|
+
static minAtEnds3d(curve1: Curve3, curve2: Curve3, point1?: Vec3, point2?: Vec3): number;
|
|
12
|
+
/**
|
|
13
|
+
* 曲线集到曲线集的最近距离
|
|
14
|
+
* oldMinDis 用于包围盒加速计算,传入一个已知的距离,如果没有已知距离,就不用传入该参数,用默认值就行。譬如说,前面
|
|
15
|
+
* 已经计算了曲线顶点之间的最近距离为2.015,就可以跳过很多包围盒最小距离都大于此距离的曲线,提高效率。
|
|
16
|
+
*/
|
|
17
|
+
static execute(curve3dSegments1: Curve3dSegment[], curve3dSegments2: Curve3dSegment[], curve3dSegPairs: Curve3dSegmentPair[], minDisPt1: Vec3, minDisPt2: Vec3, oldMinDis?: number): number;
|
|
18
|
+
private static _calCurvSegmentPairsDist;
|
|
19
|
+
private static _calcCurvCurvIteration;
|
|
20
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Vec2 } from '../../../base/vec2';
|
|
2
|
+
import { Vec3 } from '../../../base/vec3';
|
|
3
|
+
export interface IPoint2dPair {
|
|
4
|
+
point1: Vec2;
|
|
5
|
+
point2: Vec2;
|
|
6
|
+
sqrDistance: number;
|
|
7
|
+
}
|
|
8
|
+
export interface IPoint3dPair {
|
|
9
|
+
point1: Vec3;
|
|
10
|
+
point2: Vec3;
|
|
11
|
+
sqrDistance: number;
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Arc2 } from '../../../geometry/arc2d';
|
|
2
|
+
import { Vec2 } from '../../../base/vec2';
|
|
3
|
+
/**
|
|
4
|
+
* 二维圆弧到二维圆弧的最近距离
|
|
5
|
+
*/
|
|
6
|
+
export declare class Arc2sDistance {
|
|
7
|
+
/**
|
|
8
|
+
* 二维圆弧到二维圆弧的距离
|
|
9
|
+
* @param arc1 二维圆弧
|
|
10
|
+
* @param arc2 二维圆弧
|
|
11
|
+
* @param footPoint1 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
|
|
12
|
+
* @param footPoint2 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
|
|
13
|
+
*/
|
|
14
|
+
static execute(arc1: Arc2, arc2: Arc2, minDisPoint1?: Vec2, minDisPoint2?: Vec2): number;
|
|
15
|
+
private static _IsIntsectTwoArc2d;
|
|
16
|
+
private static _IsIntPtInRange;
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Ln2 } from '../../../geometry/ln2';
|
|
2
|
+
import { Arc2 } from '../../../geometry/arc2d';
|
|
3
|
+
import { Vec2 } from '../../../base/vec2';
|
|
4
|
+
/**
|
|
5
|
+
* 二维线段到二维圆弧的最近距离
|
|
6
|
+
*/
|
|
7
|
+
export declare class Line2dToArc2dDistance {
|
|
8
|
+
/**
|
|
9
|
+
* 二维线段到二维圆弧的距离
|
|
10
|
+
* @param line 二维线段
|
|
11
|
+
* @param arc 二维圆弧
|
|
12
|
+
* @param point1 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
|
|
13
|
+
* @param point2 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
|
|
14
|
+
*/
|
|
15
|
+
static execute(line: Ln2, arc: Arc2, point1?: Vec2, point2?: Vec2): number;
|
|
16
|
+
private static _IsIntPtInRange;
|
|
17
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Ln2 } from '../../../geometry/ln2';
|
|
2
|
+
import { Vec2 } from '../../../base/vec2';
|
|
3
|
+
/**
|
|
4
|
+
* 二维线段到二维线段的最近距离
|
|
5
|
+
*/
|
|
6
|
+
export declare class Line2sDistance {
|
|
7
|
+
/**
|
|
8
|
+
* 二维直线段到二维直线段的距离
|
|
9
|
+
* @param line1 二维线段
|
|
10
|
+
* @param line2 二维线段
|
|
11
|
+
* @param footPoint1 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
|
|
12
|
+
* @param footPoint2 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
|
|
13
|
+
*/
|
|
14
|
+
static execute(line1: Ln2, line2: Ln2, point1?: Vec2, point2?: Vec2): number;
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Vec2 } from '../../base/vec2';
|
|
2
|
+
import { Curve2 } from '../../geometry/curve2';
|
|
3
|
+
/**
|
|
4
|
+
* 二维曲线到二维曲线的最近距离
|
|
5
|
+
*/
|
|
6
|
+
export declare class Curve2sDistance {
|
|
7
|
+
/**
|
|
8
|
+
* 二维曲线到二维曲线的最近距离
|
|
9
|
+
* @param curve 二维曲线
|
|
10
|
+
* @param curve 二维曲线
|
|
11
|
+
* @param footPoint1 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
|
|
12
|
+
* @param footPoint2 [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
|
|
13
|
+
*/
|
|
14
|
+
static execute(curve1: Curve2, curve2: Curve2, footPoint1?: Vec2, footPoint2?: Vec2): number;
|
|
15
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { types } from '../../../type_define/i_types';
|
|
2
|
+
export declare class Line3dToLine3dDistanceParamed {
|
|
3
|
+
/**
|
|
4
|
+
* 方程求解三维直线到三维直线的距离
|
|
5
|
+
* @param origin1 原点1
|
|
6
|
+
* @param origin2 原点2
|
|
7
|
+
* @param dir1 直线方向1
|
|
8
|
+
* @param dir2 直线方向2
|
|
9
|
+
* @returns 交点在直线1、2上的参数
|
|
10
|
+
*/
|
|
11
|
+
static execute(origin1: types.IXYZ, origin2: types.IXYZ, dir1: types.IXYZ, dir2: types.IXYZ): types.numberArr2;
|
|
12
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Vec3 } from '../../base/vec3';
|
|
2
|
+
import { Curve3 } from '../../geometry/curve3d';
|
|
3
|
+
/**
|
|
4
|
+
* 三维曲线到三维曲线的最近距离
|
|
5
|
+
*/
|
|
6
|
+
export declare class Curve3sDistance {
|
|
7
|
+
/**
|
|
8
|
+
* 三维曲线到三维曲线的距离
|
|
9
|
+
* @param curve 三维曲线
|
|
10
|
+
* @param curve 三维曲线
|
|
11
|
+
* @param minDisPoint1 [out] 输出参数(可选),若用户想要获取最近距离点,则传入该参数
|
|
12
|
+
* @param minDisPoint2 [out] 输出参数(可选),若用户想要获取最近距离点,则传入该参数
|
|
13
|
+
*/
|
|
14
|
+
static execute(curve1: Curve3, curve2: Curve3, minDisPoint1?: Vec3, minDisPoint2?: Vec3): number;
|
|
15
|
+
/**
|
|
16
|
+
* 空间中两三维直线间的距离
|
|
17
|
+
* @param line1
|
|
18
|
+
* @param line2
|
|
19
|
+
* @param point1 [out] 输出参数(可选),若用户想要获取最近距离点,则传入该参数
|
|
20
|
+
* @param point2 [out] 输出参数(可选),若用户想要获取最近距离点,则传入该参数
|
|
21
|
+
*/
|
|
22
|
+
private static _Line3dToLine3dDistance;
|
|
23
|
+
/**
|
|
24
|
+
* 空间中两三维曲线间的距离
|
|
25
|
+
* @param curve3d1
|
|
26
|
+
* @param curve3d2
|
|
27
|
+
* @param point1 [out] 输出参数(可选),若用户想要获取最近距离点,则传入该参数
|
|
28
|
+
* @param point2 [out] 输出参数(可选),若用户想要获取最近距离点,则传入该参数
|
|
29
|
+
*/
|
|
30
|
+
private static _Curve3dToCurve3dDistance;
|
|
31
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Curve2 } from '../../geometry/curve2';
|
|
2
|
+
import { types } from '../../type_define/i_types';
|
|
3
|
+
import { IPtCvDistanceInfo2 } from './pt_to_curve_distance_info';
|
|
4
|
+
/**
|
|
5
|
+
* 点到二维曲线的有向距离
|
|
6
|
+
*/
|
|
7
|
+
export declare class PtToCv2Distance {
|
|
8
|
+
/**
|
|
9
|
+
* 点到二维曲线的有向距离
|
|
10
|
+
* 点在直线右侧距离为正,否则为负
|
|
11
|
+
* @param point 任一点
|
|
12
|
+
* @param curve 二维曲线
|
|
13
|
+
*/
|
|
14
|
+
static execute(point: types.IXY, curve: Curve2, signedDistance?: boolean): IPtCvDistanceInfo2;
|
|
15
|
+
static simple(point: types.IXY, curve: Curve2, signedDistance?: boolean): IPtCvDistanceInfo2;
|
|
16
|
+
private static _toCurveEnd;
|
|
17
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Curve3 } from '../../geometry/curve3d';
|
|
2
|
+
import { types } from '../../type_define/i_types';
|
|
3
|
+
import { IPtCvDistanceInfo3 } from './pt_to_curve_distance_info';
|
|
4
|
+
/**
|
|
5
|
+
* 点到三维曲线的距离
|
|
6
|
+
*/
|
|
7
|
+
export declare class PtToCurve3Distance {
|
|
8
|
+
/**
|
|
9
|
+
* 点到三维曲线的距离,直线支持传入有限长和无限长
|
|
10
|
+
* @param point 任一点
|
|
11
|
+
* @param curve 三维曲线
|
|
12
|
+
* @param minDistPoint [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
|
|
13
|
+
*/
|
|
14
|
+
static execute(point: types.IXYZ, curve: Curve3): IPtCvDistanceInfo3;
|
|
15
|
+
/**
|
|
16
|
+
* 点到三维简单曲线的距离,可传入无限长直线,返回值为正
|
|
17
|
+
* @param point
|
|
18
|
+
* @param line
|
|
19
|
+
*/
|
|
20
|
+
static simple(point: types.IXYZ, curve: Curve3): IPtCvDistanceInfo3;
|
|
21
|
+
static general(point: types.IXYZ, curve: Curve3): IPtCvDistanceInfo3;
|
|
22
|
+
static curves(point: types.IXYZ, curves: Curve3[], eps?: number): IPtCvDistanceInfo3[];
|
|
23
|
+
private static _sqDistanceToCurveEndAndSingularities;
|
|
24
|
+
private static _getMinDistFootParamInRange;
|
|
25
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Vec } from '../../base/vec';
|
|
2
|
+
import { Vec2 } from '../../base/vec2';
|
|
3
|
+
import { Vec3 } from '../../base/vec3';
|
|
4
|
+
export interface IPtCvDistanceInfo<VectorType extends Vec> {
|
|
5
|
+
foot: VectorType;
|
|
6
|
+
param: number;
|
|
7
|
+
distance: number;
|
|
8
|
+
}
|
|
9
|
+
export interface IPtCvDistanceInfo2 extends IPtCvDistanceInfo<Vec2> {
|
|
10
|
+
}
|
|
11
|
+
export interface IPtCvDistanceInfo3 extends IPtCvDistanceInfo<Vec3> {
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Surface } from '../../geometry/surface';
|
|
2
|
+
import { Vec3 } from '../../base/vec3';
|
|
3
|
+
/**
|
|
4
|
+
* 点到三维曲线的距离
|
|
5
|
+
*/
|
|
6
|
+
export declare class PtToSurfDistance {
|
|
7
|
+
/**
|
|
8
|
+
* 点到三维曲面的距离,目前支持无限大平面、无限大圆柱面
|
|
9
|
+
* 结果为有向距离,点在法线同侧为正,在反向为负
|
|
10
|
+
* @param point 任一点
|
|
11
|
+
* @param curve 面
|
|
12
|
+
* @param footPoint [out] 输出参数(可选),若用户想要获取垂足点,则传入该参数
|
|
13
|
+
*/
|
|
14
|
+
static execute(point: Vec3, surface: Surface, footPoint?: Vec3): number;
|
|
15
|
+
private static _PtToPlaneDistance;
|
|
16
|
+
private static _PtToCylinderDistance;
|
|
17
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Vec3 } from '../../base/vec3';
|
|
2
|
+
import { Curve3 } from '../../geometry/curve3d';
|
|
3
|
+
/**
|
|
4
|
+
* 点集到曲线集的最近距离
|
|
5
|
+
*/
|
|
6
|
+
export declare class PtsToCurvesDistance {
|
|
7
|
+
/**
|
|
8
|
+
* 点集到曲线集的最近距离
|
|
9
|
+
* oldMinDis 用于包围盒加速计算,传入一个已知的距离,如果没有已知距离,就不用传入该参数,用默认值就行。譬如说,前面已
|
|
10
|
+
* 经计算了曲线顶点之间的最近距离为2.015,就可以筛选跳过很多包围盒最小距离都大于此距离的曲线,提高效率。
|
|
11
|
+
*/
|
|
12
|
+
static execute(ptSet: Array<Vec3>, curve3dSet: Array<Curve3>, minDisPoint1: Vec3, minDisPoint2: Vec3, oldMinDis?: number): number;
|
|
13
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Curve2 } from '../geometry/curve2';
|
|
2
|
+
import { Tol } from '../base/tol';
|
|
3
|
+
import { Curve3 } from '../geometry/curve3d';
|
|
4
|
+
import { MergeReverseMode } from './overlap/curves_merge';
|
|
5
|
+
export interface IMergeCurveInfo {
|
|
6
|
+
result: Curve2[];
|
|
7
|
+
mapper: Map<Curve2, Curve2[]>;
|
|
8
|
+
}
|
|
9
|
+
export declare class GeometryMerge {
|
|
10
|
+
/**
|
|
11
|
+
* 仅支持 arc 和 line
|
|
12
|
+
* 默认容差为1e-6
|
|
13
|
+
*/
|
|
14
|
+
static mergeCurve2ds(curves: Curve2[], eps?: number): Curve2[];
|
|
15
|
+
static mergeCurve2dsEx(curves: Curve2[], eps?: number): IMergeCurveInfo;
|
|
16
|
+
static mergePoints(points: ([number, number] | [number, number, number])[], eps?: number): {
|
|
17
|
+
index: number[];
|
|
18
|
+
points: ([number, number] | [number, number, number])[];
|
|
19
|
+
};
|
|
20
|
+
static mergeTwoCurve2ds(curve1: Curve2, curve2: Curve2, mode?: MergeReverseMode, tol?: Tol): Curve2[] | undefined;
|
|
21
|
+
static mergeTwoCurve3ds(curve1: Curve3, curve2: Curve3, mode?: MergeReverseMode, tol?: Tol): Curve3[] | undefined;
|
|
22
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export { D } from './calc_d';
|
|
2
|
+
export type { IPtCvDistanceInfo, IPtCvDistanceInfo2, IPtCvDistanceInfo3, } from './distance/pt_to_curve_distance_info';
|
|
3
|
+
export { X } from './calc_x';
|
|
4
|
+
export { CurvesColinear } from './overlap/curves_colinear';
|
|
5
|
+
export { CurvesMerge } from './overlap/curves_merge';
|
|
6
|
+
export { GeometryMerge } from './geometry_merge';
|
|
7
|
+
export { Project } from './calc_project';
|
|
8
|
+
export { Offset } from './calc_offset';
|
|
9
|
+
export { CalcOverlap, Overlap } from './calc_overlap';
|
|
10
|
+
export type { ICurvesOverlapInfo } from './overlap/i_overlap';
|
|
11
|
+
export type { ICurvesXInfo, ICurvesXInfo2d, ICurvesXInfo3d, ICvSurfXInfo, ISurfacesXInfo, } from './intersect/x_info';
|
|
12
|
+
export { BoolOperate2d } from './bool_operate_2d';
|
|
13
|
+
export { Bool2d, Bool2dType, Bool2dType as BoolType } from './bool_operate/bool2d/bool2d';
|
|
14
|
+
export type { IFace2D } from './bool_operate/bool2d/utils';
|
|
15
|
+
export { PolygonOffset, type IPolygonOffsetResult } from './offset/polygon_offset';
|
|
16
|
+
export { SearchGraph } from './search_graph';
|
|
17
|
+
export { BoolOperateClipper } from './bool_operate/bool_operate_clipper';
|
|
18
|
+
export { TopologyEdit } from './topology_edit';
|
|
19
|
+
export { LoopArea } from './loop_property/loop-area';
|
|
20
|
+
export { LoopCentroid } from './loop_property/loop-centroid';
|
|
21
|
+
export { PJ, type IPtLoopResult } from './position_judge';
|
|
22
|
+
export { PtPolygonPositionJudger } from './pj/pt_polygon_position_judger';
|
|
23
|
+
export { CurvesPJType, PtLoopPJType, LoopsPJType } from './pj/pj_type';
|
|
24
|
+
export { ILoopsToPolygonExes } from './search_graph/iloops_polygonex';
|
|
25
|
+
export { ClipMesh, type IMeshClipResult } from './mesh/clip_mesh';
|
|
26
|
+
export { MeshUtil } from './mesh/mesh_util';
|
|
27
|
+
export { ExtrudeClip, Extruder } from './mesh/extrude_clip';
|
|
28
|
+
export { DiscreteUtil } from './discrete/discrete_util';
|
|
29
|
+
export type { IDirectedCurve, IDirectedCurve2d, IDirectedCurve3d } from './discrete/discrete_surface';
|
|
30
|
+
export { DiscreteTopology } from './discrete/discrete_topology';
|
|
31
|
+
export { boxCutLine, boxToTrimmedSurfaces } from './intersect/box_cut_line';
|
|
32
|
+
export { PatternUtil, IPavePattern, IPolygon, RegionMesh } from './pattern/pattern_util';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Ln3 } from '../../geometry/ln3';
|
|
2
|
+
import { Box3 } from '../../base/box3';
|
|
3
|
+
import { Interval } from '../../base/interval';
|
|
4
|
+
import { TrimmedSurface } from '../../topology/trimmed_surface';
|
|
5
|
+
export declare function boxToTrimmedSurfaces(box3d: Box3): TrimmedSurface[];
|
|
6
|
+
export declare function boxCutLine(line: Ln3, box3d: Box3): Interval | undefined;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Tol } from '../../base/tol';
|
|
2
|
+
import { ICurvesXInfo2d, ICurvesXInfo3d } from './x_info';
|
|
3
|
+
import { Curve3 } from '../../geometry/curve3d';
|
|
4
|
+
import { Curve2 } from '../../geometry/curve2';
|
|
5
|
+
export declare class CurveSelfX {
|
|
6
|
+
static isCurve2dSelfX(curve: Curve2, tol?: Tol): boolean;
|
|
7
|
+
static curve2dSelfX(curve: Curve2, tol?: Tol): ICurvesXInfo2d[];
|
|
8
|
+
static curve3dSelfX(curve: Curve3, tol?: Tol): ICurvesXInfo3d[];
|
|
9
|
+
private static _dealRedundant;
|
|
10
|
+
private static _selfIntersectSimple;
|
|
11
|
+
private static _isNurbs3dCtrlPtsIsIntersect;
|
|
12
|
+
private static _isNurbs2dCtrlPtsIsIntersect;
|
|
13
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Curve3 } from '../../geometry/curve3d';
|
|
2
|
+
import { Surface } from '../../geometry/surface';
|
|
3
|
+
import { Vec3 } from '../../base/vec3';
|
|
4
|
+
import { Tol } from '../../base/tol';
|
|
5
|
+
import { ICvSurfXInfo, ICurveSurfXPointInfo } from './x_info';
|
|
6
|
+
import { Interval } from '../../base/interval';
|
|
7
|
+
import { types } from '../../type_define/i_types';
|
|
8
|
+
import { Polygon } from '../../topology/polygon';
|
|
9
|
+
/**
|
|
10
|
+
* 三维曲线与曲面的交点, 交点可能不止一个,故返回交点的数组
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
declare class CurveSurfaceX {
|
|
14
|
+
/**
|
|
15
|
+
* 【注意:曲线有参数域,曲面没有,因此求交要判断是否在曲线参数域内】
|
|
16
|
+
* 三维曲线与曲面的求交:直线+平面,直线+圆柱,(直线+圆锥;)圆弧+平面,(圆弧+圆柱,圆弧+圆锥;通用曲线+平面,通用曲线+圆柱,通用曲线+圆锥)
|
|
17
|
+
* @param curve 曲线
|
|
18
|
+
* @param surface 曲面
|
|
19
|
+
* @returns 交点可能不止一个,故返回交点的数组
|
|
20
|
+
*/
|
|
21
|
+
static execute(curve: Curve3, surface: Surface, tol?: Tol, surfRangeUV?: Interval[]): ICvSurfXInfo[];
|
|
22
|
+
static allPoints(curve: Curve3, surface: Surface, tol?: Tol, surfRangeUV?: Interval[]): Vec3[];
|
|
23
|
+
static hasIntersect(curve: Curve3, surf: Surface, surfPoly?: Polygon, tol?: Tol): boolean;
|
|
24
|
+
static nearPoint(curve: Curve3, surf: Surface, refPoint: Vec3 | ICurveSurfXPointInfo, tol?: Tol): ICvSurfXInfo | undefined;
|
|
25
|
+
static nearParam(curve: Curve3, surf: Surface, refT: number, refUV: types.IXY, tol?: Tol): ICvSurfXInfo | undefined;
|
|
26
|
+
private static _complexMethod;
|
|
27
|
+
private static _getSurfaceLocalCoord;
|
|
28
|
+
private static _getCurveEndPtIntersects;
|
|
29
|
+
private static _preciseMethod;
|
|
30
|
+
private static _line3dPlane;
|
|
31
|
+
private static _circle3dPlane;
|
|
32
|
+
private static _line3dCylinder;
|
|
33
|
+
}
|
|
34
|
+
export { CurveSurfaceX };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Interval } from '../../base/interval';
|
|
2
|
+
import { Tol } from '../../base/tol';
|
|
3
|
+
import { Vec3 } from '../../base/vec3';
|
|
4
|
+
import { Curve3 } from '../../geometry/curve3d';
|
|
5
|
+
import { Surface } from '../../geometry/surface';
|
|
6
|
+
import { ICvSurfXInfo, ICurveSurfXPointInfo } from './x_info';
|
|
7
|
+
export declare class CurveSurfaceXUtil {
|
|
8
|
+
static dealRedundantIntersect(curv: Curve3, surf: Surface, newInt: ICvSurfXInfo, intRes: ICvSurfXInfo[], tol?: Tol): boolean;
|
|
9
|
+
private _curve;
|
|
10
|
+
private _surface;
|
|
11
|
+
private _surfaceRangeUV;
|
|
12
|
+
private _tol;
|
|
13
|
+
constructor(curve: Curve3, surface: Surface, tol?: Tol);
|
|
14
|
+
calAllIntersects(surfRanges?: Interval[]): ICvSurfXInfo[];
|
|
15
|
+
calSingleIntersect(referPoint: Vec3 | ICurveSurfXPointInfo, surfRanges?: Interval[]): ICvSurfXInfo | undefined;
|
|
16
|
+
hasIntersect(surfRanges?: Interval[], tol?: Tol): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* 返回false表示无交
|
|
19
|
+
* @param curveSeg
|
|
20
|
+
* @param surfPatch
|
|
21
|
+
*/
|
|
22
|
+
private _shrinkCurveRange;
|
|
23
|
+
private _shrinkSurfacePatchRanges;
|
|
24
|
+
private _calCurveSurfacePairsIntersect;
|
|
25
|
+
private _findCurveSurfacePairsIntersect;
|
|
26
|
+
private _curveSurfacePairIntersect;
|
|
27
|
+
private _calcCurveSurfaceDeltaParams;
|
|
28
|
+
private _curveSurfaceIteration;
|
|
29
|
+
private _combineCurveSurfacePairs;
|
|
30
|
+
private _FilterCurveSurfacePairs;
|
|
31
|
+
private _refreshSegmentPatchs;
|
|
32
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Arc2 } from '../../../geometry/arc2d';
|
|
2
|
+
import { Arc3 } from '../../../geometry/arc3d';
|
|
3
|
+
import { Tol } from '../../../base/tol';
|
|
4
|
+
import { ICurvesXInfo2d, ICurvesXInfo3d } from '../x_info';
|
|
5
|
+
/**
|
|
6
|
+
* 圆和圆求交
|
|
7
|
+
*/
|
|
8
|
+
declare class CircularsX {
|
|
9
|
+
/**
|
|
10
|
+
* 求两圆弧的交点,若圆弧重合,则返回某一个交点+重合段
|
|
11
|
+
* > 此接口是求两有限长圆弧的交点
|
|
12
|
+
* @param arc1
|
|
13
|
+
* @param arc2
|
|
14
|
+
*/
|
|
15
|
+
static arc2dAndArc2d(arc1: Arc2, arc2: Arc2, tol?: Tol): ICurvesXInfo2d[];
|
|
16
|
+
/**
|
|
17
|
+
* 求两圆(椭圆)弧的交点,若圆弧重合,则返回某一个交点+重合段
|
|
18
|
+
* @param arc1
|
|
19
|
+
* @param arc2
|
|
20
|
+
*/
|
|
21
|
+
static arc3dAndArc3d(arc1: Arc3, arc2: Arc3, tol?: Tol): ICurvesXInfo3d[];
|
|
22
|
+
/**
|
|
23
|
+
* 求两椭圆弧的交点:两个圆中至少有一个是椭圆
|
|
24
|
+
* @param ellipse1
|
|
25
|
+
* @param ellipse2
|
|
26
|
+
*/
|
|
27
|
+
private static _ellipse2s;
|
|
28
|
+
/**
|
|
29
|
+
* 求两圆弧的交点
|
|
30
|
+
* @param arc1
|
|
31
|
+
* @param arc2
|
|
32
|
+
*/
|
|
33
|
+
private static _circle2dAndCircle2d;
|
|
34
|
+
}
|
|
35
|
+
export { CircularsX };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ICurvesXInfo2d, ICurvesXInfo3d } from '../x_info';
|
|
2
|
+
import { Ln2 } from '../../../geometry/ln2';
|
|
3
|
+
import { Arc2 } from '../../../geometry/arc2d';
|
|
4
|
+
import { Ln3 } from '../../../geometry/ln3';
|
|
5
|
+
import { Arc3 } from '../../../geometry/arc3d';
|
|
6
|
+
import { Tol } from '../../../base/tol';
|
|
7
|
+
/**
|
|
8
|
+
* 直线和圆求交
|
|
9
|
+
*/
|
|
10
|
+
declare class LineCircleX {
|
|
11
|
+
/**
|
|
12
|
+
* 求两直线段的交点,若直线重合,则返回某一个交点+重合段
|
|
13
|
+
* > 此接口是求两直线段的交点,直线段是有限长的,若求无限长的直线的交点,可将直线extend至无限长
|
|
14
|
+
* @param line
|
|
15
|
+
* @param arc
|
|
16
|
+
*/
|
|
17
|
+
static line2dAndArc2d(line: Ln2, arc: Arc2, tol?: Tol): ICurvesXInfo2d[];
|
|
18
|
+
/**
|
|
19
|
+
* 求两直线段的交点,若直线重合,则返回某一个交点+重合段
|
|
20
|
+
* > 此接口是求两直线段的交点,直线段是有限长的,若求无限长的直线的交点,可将直线extend至无限长
|
|
21
|
+
* @param line
|
|
22
|
+
* @param arc
|
|
23
|
+
*/
|
|
24
|
+
static line3dAndArc3d(line: Ln3, arc: Arc3, tol?: Tol): ICurvesXInfo3d[];
|
|
25
|
+
/**
|
|
26
|
+
* 求三维直线和整圆的交点
|
|
27
|
+
* > 此接口中直线段是无限长的,圆也是一整圈
|
|
28
|
+
* @param line
|
|
29
|
+
* @param circle
|
|
30
|
+
*/
|
|
31
|
+
static line3dAndCircle3d(line: Ln3, arc3: Arc3, tol?: Tol): ICurvesXInfo3d[];
|
|
32
|
+
/**
|
|
33
|
+
* 求二维直线和椭圆弧的交点
|
|
34
|
+
* @param line
|
|
35
|
+
* @param ellipse
|
|
36
|
+
*/
|
|
37
|
+
private static _line2dAndEllipse2d;
|
|
38
|
+
private static _line3dAndEllipse3d;
|
|
39
|
+
}
|
|
40
|
+
export { LineCircleX };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Tol } from '../../../base/tol';
|
|
2
|
+
import { Ln2 } from '../../../geometry/ln2';
|
|
3
|
+
import { Ln3 } from '../../../geometry/ln3';
|
|
4
|
+
import { ICurvesXInfo2d, ICurvesXInfo3d } from '../x_info';
|
|
5
|
+
/**
|
|
6
|
+
* 两直线段求交
|
|
7
|
+
*/
|
|
8
|
+
export declare class LinesX {
|
|
9
|
+
/**
|
|
10
|
+
* 求两直线段的交点,若直线重合,则返回某一个交点+重合段
|
|
11
|
+
* > 此接口是求两直线段的交点,直线段是有限长的,若求无限长的直线的交点,可将直线extend至无限长
|
|
12
|
+
* @param line1
|
|
13
|
+
* @param line2
|
|
14
|
+
*/
|
|
15
|
+
static line2ds(line1: Ln2, line2: Ln2, tol?: Tol): ICurvesXInfo2d[];
|
|
16
|
+
static line3ds(line1: Ln3, line2: Ln3, tol?: Tol): ICurvesXInfo3d[];
|
|
17
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Tol } from '../../base/tol';
|
|
2
|
+
import { Curve3 } from '../../geometry/curve3d';
|
|
3
|
+
import { Curve2 } from '../../geometry/curve2';
|
|
4
|
+
import { ICurvesXInfo2d, ICurvesXInfo3d } from './x_info';
|
|
5
|
+
import { Vec3 } from '../../base/vec3';
|
|
6
|
+
/**
|
|
7
|
+
* 曲线与曲线的交点:直线+直线,直线+圆弧,(直线+通用曲线);圆弧+圆弧;(圆弧+通用曲线;通用曲线+通用曲线)
|
|
8
|
+
* 若两曲线重合,则交点为重合段内的某个交点
|
|
9
|
+
* > 此接口是求两曲线段的交点,曲线段是有限长的,若求无限长的曲线的交点,可将曲线extend至无限长
|
|
10
|
+
* @param curve1
|
|
11
|
+
* @param curve2
|
|
12
|
+
* @param extraInfo [out]如果需要知道交点的额外信息(交点在各个曲线上的参数),则传入该参数,
|
|
13
|
+
*/
|
|
14
|
+
declare class CurvesX {
|
|
15
|
+
static curve2ds(curve1: Curve2, curve2: Curve2, tol?: Tol): ICurvesXInfo2d[];
|
|
16
|
+
static curve3ds(curve1: Curve3, curve2: Curve3, tol?: Tol): ICurvesXInfo3d[];
|
|
17
|
+
static curve3dsNearPoint(curve1: Curve3, curve2: Curve3, point: Vec3, tol?: Tol): ICurvesXInfo3d | undefined;
|
|
18
|
+
private static _curve3dsSimple;
|
|
19
|
+
private static _byGeometricOrAnalyticMethod;
|
|
20
|
+
private static _isLineXPlaneCurve3d;
|
|
21
|
+
private static _isTwoPlaneCurve3dsCoplane;
|
|
22
|
+
private static _curve3dAndExtendCurve3d;
|
|
23
|
+
private static _getOriginParamForExtendCurve;
|
|
24
|
+
private static _swapParams;
|
|
25
|
+
}
|
|
26
|
+
export { CurvesX };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Tol } from '../../base/tol';
|
|
2
|
+
import { Curve3 } from '../../geometry/curve3d';
|
|
3
|
+
import { ICurvesXInfo, ICurvesXInfo2d, ICurvesXInfo3d } from './x_info';
|
|
4
|
+
import { Curve2 } from '../../geometry/curve2';
|
|
5
|
+
import { Vec3 } from '../../base/vec3';
|
|
6
|
+
import { Curve } from '../../geometry/curve';
|
|
7
|
+
import { Vec } from '../../base/vec';
|
|
8
|
+
import { Vec2 } from '../../base/vec2';
|
|
9
|
+
export declare class CurvesXUtil {
|
|
10
|
+
static curve2dCurve2d(curve2d1: Curve2, curve2d2: Curve2, tol?: Tol): ICurvesXInfo2d[];
|
|
11
|
+
static curve3dCurve3d(origCurve3d1: Curve3, origCurve3d2: Curve3, tol?: Tol): ICurvesXInfo3d[];
|
|
12
|
+
/**
|
|
13
|
+
* 只计算一个交点(或者没有交点)就返回
|
|
14
|
+
* @param curve2d1 曲线1
|
|
15
|
+
* @param curve2d2 曲线2
|
|
16
|
+
* @param ref 参考点或在两曲线上的参数
|
|
17
|
+
*/
|
|
18
|
+
static curve2dsSingleX(curve2d1: Curve2, curve2d2: Curve2, ref: Vec2 | number[], tol?: Tol): ICurvesXInfo2d | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* 只计算一个交点(或者没有交点)就返回
|
|
21
|
+
* @param curve3d1 曲线1
|
|
22
|
+
* @param curve3d2 曲线2
|
|
23
|
+
* @param ref 参考点或在两曲线上的参数
|
|
24
|
+
*/
|
|
25
|
+
static curve3dsSingleX(curve3d1: Curve3, curve3d2: Curve3, ref: Vec3 | number[], tol?: Tol): ICurvesXInfo3d | undefined;
|
|
26
|
+
static getEndPtIntersect<VectorType extends Vec>(curve1: Curve<VectorType>, curve2: Curve<VectorType>, tol: Tol): ICurvesXInfo<VectorType>[];
|
|
27
|
+
private static _getNearestSingularityIntersect;
|
|
28
|
+
private static _calCurve2dSegmentsIntersect;
|
|
29
|
+
private static _calCurve3dSegmentsIntersect;
|
|
30
|
+
private static _dealSingularityIntersect;
|
|
31
|
+
private static _isRedundantPt;
|
|
32
|
+
private static _dealRedundantIntersect;
|
|
33
|
+
private static _FilterCurvSegmentPairs;
|
|
34
|
+
private static _calCurveSegmentPairIntersect;
|
|
35
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Tol } from '../../base/tol';
|
|
2
|
+
import { ICurvesOverlapInfo } from '../overlap/i_overlap';
|
|
3
|
+
import { ICurvesXInfo2d, ICurvesXInfo3d } from './x_info';
|
|
4
|
+
import { Curve2 } from '../../geometry/curve2';
|
|
5
|
+
import { Curve3 } from '../../geometry/curve3d';
|
|
6
|
+
export declare class XInfoUtil {
|
|
7
|
+
static curvesFromOverlap(info: ICurvesOverlapInfo, curve1: Curve2, curve2: Curve2, tol: Tol): ICurvesXInfo2d;
|
|
8
|
+
static curvesFromOverlap(info: ICurvesOverlapInfo, curve1: Curve3, curve2: Curve3, tol: Tol): ICurvesXInfo3d;
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Surface } from '../../geometry/surface';
|
|
2
|
+
import { types } from '../../type_define/i_types';
|
|
3
|
+
import { Vec3 } from '../../base/vec3';
|
|
4
|
+
import { Tol } from '../../base/tol';
|
|
5
|
+
import { Curve3 } from '../../geometry/curve3d';
|
|
6
|
+
export declare class SurfaceSelfX {
|
|
7
|
+
static singleIntersectCurve(surf: Surface, refUV1: types.IXY, refUV2: types.IXY, refDir?: Vec3, tol?: Tol, useHighPrecision?: boolean): Curve3 | undefined;
|
|
8
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Surface } from '../../geometry/surface';
|
|
2
|
+
import { Interval } from '../../base/interval';
|
|
3
|
+
import { Tol } from '../../base/tol';
|
|
4
|
+
import { Vec3 } from '../../base/vec3';
|
|
5
|
+
import { ISurfacesXInfo } from './x_info';
|
|
6
|
+
import { Curve3 } from '../../geometry/curve3d';
|
|
7
|
+
import { types } from '../../type_define/i_types';
|
|
8
|
+
/**
|
|
9
|
+
* Surface 与 Surface求交,返回值为交线:平面+平面,平面+圆柱,平面+圆锥,平面+通用曲面;圆柱+圆柱,圆柱+圆锥;圆锥+圆锥;通用曲面+通用曲面;
|
|
10
|
+
*/
|
|
11
|
+
declare class SurfacesX {
|
|
12
|
+
/**
|
|
13
|
+
* 计算返回所有的交(交线、交点、重合面(未实现))
|
|
14
|
+
* 曲面与曲面相交为交线
|
|
15
|
+
* @param surface 曲面
|
|
16
|
+
* @param surface 曲面
|
|
17
|
+
* @returns 交线可能不止一条,故返回交线的数组
|
|
18
|
+
*/
|
|
19
|
+
static allIntersections(surface1: Surface, surface2: Surface, rangeU1?: Interval, rangeV1?: Interval, rangeU2?: Interval, rangeV2?: Interval, tol?: Tol, useHighPrecision?: boolean): ISurfacesXInfo[];
|
|
20
|
+
/**
|
|
21
|
+
* 计算返回一条(离给定参考点最近的)交线
|
|
22
|
+
* 曲面与曲面相交为交线
|
|
23
|
+
* @param surface 曲面
|
|
24
|
+
* @param surface 曲面
|
|
25
|
+
* @param refPoint 距离交线很近的参考点
|
|
26
|
+
* @returns 只返回一条交线,如果没有交返回空
|
|
27
|
+
*/
|
|
28
|
+
static singleCurveBetweenTwoPoints(surf1: Surface, surf2: Surface, point1: Vec3, point2: Vec3, refDir?: Vec3, tol?: Tol, useHighPrecision?: boolean): Curve3 | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* 计算返回一条(离给定参考点最近的)交线
|
|
31
|
+
* 曲面与曲面相交为交线
|
|
32
|
+
* @param surface 曲面
|
|
33
|
+
* @param surface 曲面
|
|
34
|
+
* @param refPoint 距离交线很近的参考点
|
|
35
|
+
* @returns 只返回一条交线,如果没有交返回空
|
|
36
|
+
*/
|
|
37
|
+
static singleCurveNearPointSimple(surf1: Surface, surf2: Surface, refPoint: Vec3, refDir?: Vec3, tol?: Tol, useHighPrecision?: boolean): Curve3 | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* 计算返回一条(离给定参考点最近的)交线.如果convertNurbs=false,返回的曲线类型可能为intersectCurve3d,不建议外部使用,算法库内部使用
|
|
40
|
+
* 曲面与曲面相交为交线
|
|
41
|
+
* @param surface 曲面
|
|
42
|
+
* @param surface 曲面
|
|
43
|
+
* @param refPoint 距离交线很近的参考点
|
|
44
|
+
* @returns 只返回一条交线,如果没有交返回空
|
|
45
|
+
*/
|
|
46
|
+
static singleCurveNearPoint(surf1: Surface, surf2: Surface, refPoint: Vec3, refDir?: Vec3, tol?: Tol, useHighPrecision?: boolean, convertNurbs?: boolean): Curve3 | undefined;
|
|
47
|
+
static selfIntersectCurve(surf: Surface, refUV1: types.IXY, refUV2: types.IXY, refDir?: Vec3, tol?: Tol, useHighPrecision?: boolean): Curve3 | undefined;
|
|
48
|
+
static singleCurveNearParam(surf1: Surface, surf2: Surface, refUV1: types.IXY, refUV2: types.IXY, refDir?: Vec3, tol?: Tol, useHighPrecision?: boolean): Curve3 | undefined;
|
|
49
|
+
static getNearstCurve(intCurves: Curve3[], refPoint: Vec3, refDir?: Vec3): Curve3 | undefined;
|
|
50
|
+
private static _isComplexSurface;
|
|
51
|
+
private static _singleCurveNearPoint;
|
|
52
|
+
}
|
|
53
|
+
export { SurfacesX };
|