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