@salusoft89/planegcs
Version:
A wasm build and a simple wrapper of the FreeCAD PlaneGCS (2D geometric constraint solver)
569 lines • 16.2 kB
JavaScript
// This library provides WebAssembly bindings for the FreeCAD's geometric solver library planegcs.
// Copyright (C) 2023 Miroslav Šerý, Salusoft89 <miroslav.sery@salusoft89.cz>
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
export const constraint_param_index = {
equal: {
param1: 'object_param_or_number',
param2: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
internalalignment: 'primitive_type',
},
proportional: {
param1: 'object_param_or_number',
param2: 'object_param_or_number',
ratio: 'primitive_type',
tagId: 'primitive_type',
driving: 'primitive_type',
},
difference: {
param1: 'object_param_or_number',
param2: 'object_param_or_number',
difference: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
p2p_distance: {
p1_id: 'object_id',
p2_id: 'object_id',
distance: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
p2p_angle_incr_angle: {
p1_id: 'object_id',
p2_id: 'object_id',
angle: 'object_param_or_number',
incrAngle: 'primitive_type',
tagId: 'primitive_type',
driving: 'primitive_type',
},
p2p_angle: {
p1_id: 'object_id',
p2_id: 'object_id',
angle: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
p2l_distance: {
p_id: 'object_id',
l_id: 'object_id',
distance: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
point_on_line_pl: {
p_id: 'object_id',
l_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
point_on_line_ppp: {
p_id: 'object_id',
lp1_id: 'object_id',
lp2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
point_on_perp_bisector_pl: {
p_id: 'object_id',
l_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
point_on_perp_bisector_ppp: {
p_id: 'object_id',
lp1_id: 'object_id',
lp2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
parallel: {
l1_id: 'object_id',
l2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
perpendicular_ll: {
l1_id: 'object_id',
l2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
perpendicular_pppp: {
l1p1_id: 'object_id',
l1p2_id: 'object_id',
l2p1_id: 'object_id',
l2p2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
l2l_angle_ll: {
l1_id: 'object_id',
l2_id: 'object_id',
angle: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
l2l_angle_pppp: {
l1p1_id: 'object_id',
l1p2_id: 'object_id',
l2p1_id: 'object_id',
l2p2_id: 'object_id',
angle: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
angle_via_point: {
crv1_id: 'object_id',
crv2_id: 'object_id',
p_id: 'object_id',
angle: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
angle_via_two_points: {
crv1_id: 'object_id',
crv2_id: 'object_id',
p1_id: 'object_id',
p2_id: 'object_id',
angle: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
angle_via_point_and_param: {
crv1_id: 'object_id',
crv2_id: 'object_id',
p_id: 'object_id',
cparam: 'object_param_or_number',
angle: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
angle_via_point_and_two_params: {
crv1_id: 'object_id',
crv2_id: 'object_id',
p_id: 'object_id',
cparam1: 'object_param_or_number',
cparam2: 'object_param_or_number',
angle: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
midpoint_on_line_ll: {
l1_id: 'object_id',
l2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
midpoint_on_line_pppp: {
l1p1_id: 'object_id',
l1p2_id: 'object_id',
l2p1_id: 'object_id',
l2p2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
tangent_circumf: {
p1_id: 'object_id',
p2_id: 'object_id',
rd1: 'object_param_or_number',
rd2: 'object_param_or_number',
internal: 'primitive_type',
tagId: 'primitive_type',
driving: 'primitive_type',
},
tangent_at_bspline_knot: {
b_id: 'object_id',
l_id: 'object_id',
knotindex_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
p2p_coincident: {
p1_id: 'object_id',
p2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
horizontal_l: {
l_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
horizontal_pp: {
p1_id: 'object_id',
p2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
vertical_l: {
l_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
vertical_pp: {
p1_id: 'object_id',
p2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
coordinate_x: {
p_id: 'object_id',
x: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
coordinate_y: {
p_id: 'object_id',
y: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
arc_rules: {
a_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
point_on_circle: {
p_id: 'object_id',
c_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
point_on_ellipse: {
p_id: 'object_id',
e_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
point_on_hyperbolic_arc: {
p_id: 'object_id',
e_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
point_on_parabolic_arc: {
p_id: 'object_id',
e_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
point_on_bspline: {
p_id: 'object_id',
b_id: 'object_id',
pointparam: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
arc_of_ellipse_rules: {
a_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
curve_value: {
p_id: 'object_id',
a_id: 'object_id',
u: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
arc_of_hyperbola_rules: {
a_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
arc_of_parabola_rules: {
a_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
point_on_arc: {
p_id: 'object_id',
a_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
perpendicular_line2arc: {
p1_id: 'object_id',
p2_id: 'object_id',
a_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
perpendicular_arc2line: {
a_id: 'object_id',
p1_id: 'object_id',
p2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
perpendicular_circle2arc: {
center_id: 'object_id',
radius: 'object_param_or_number',
a_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
perpendicular_arc2circle: {
a_id: 'object_id',
center_id: 'object_id',
radius: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
perpendicular_arc2arc: {
a1_id: 'object_id',
reverse1: 'primitive_type',
a2_id: 'object_id',
reverse2: 'primitive_type',
tagId: 'primitive_type',
driving: 'primitive_type',
},
tangent_lc: {
l_id: 'object_id',
c_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
tangent_le: {
l_id: 'object_id',
e_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
tangent_la: {
l_id: 'object_id',
a_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
tangent_cc: {
c1_id: 'object_id',
c2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
tangent_aa: {
a1_id: 'object_id',
a2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
tangent_ca: {
c_id: 'object_id',
a_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
circle_radius: {
c_id: 'object_id',
radius: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
arc_radius: {
a_id: 'object_id',
radius: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
circle_diameter: {
c_id: 'object_id',
diameter: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
arc_diameter: {
a_id: 'object_id',
diameter: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
equal_length: {
l1_id: 'object_id',
l2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
equal_radius_cc: {
c1_id: 'object_id',
c2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
equal_radii_ee: {
e1_id: 'object_id',
e2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
equal_radii_ahah: {
a1_id: 'object_id',
a2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
equal_radius_ca: {
c1_id: 'object_id',
a2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
equal_radius_aa: {
a1_id: 'object_id',
a2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
equal_focus: {
a1_id: 'object_id',
a2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
p2p_symmetric_ppl: {
p1_id: 'object_id',
p2_id: 'object_id',
l_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
p2p_symmetric_ppp: {
p1_id: 'object_id',
p2_id: 'object_id',
p_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
snells_law: {
ray1_id: 'object_id',
ray2_id: 'object_id',
boundary_id: 'object_id',
p_id: 'object_id',
n1: 'object_param_or_number',
n2: 'object_param_or_number',
flipn1: 'primitive_type',
flipn2: 'primitive_type',
tagId: 'primitive_type',
driving: 'primitive_type',
},
c2cdistance: {
c1_id: 'object_id',
c2_id: 'object_id',
dist: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
c2ldistance: {
c_id: 'object_id',
l_id: 'object_id',
dist: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
p2cdistance: {
p_id: 'object_id',
c_id: 'object_id',
distance: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
arc_length: {
a_id: 'object_id',
dist: 'object_param_or_number',
tagId: 'primitive_type',
driving: 'primitive_type',
},
internal_alignment_point2ellipse: {
e_id: 'object_id',
p1_id: 'object_id',
alignmentType: 'primitive_type',
tagId: 'primitive_type',
driving: 'primitive_type',
},
internal_alignment_ellipse_major_diameter: {
e_id: 'object_id',
p1_id: 'object_id',
p2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
internal_alignment_ellipse_minor_diameter: {
e_id: 'object_id',
p1_id: 'object_id',
p2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
internal_alignment_ellipse_focus1: {
e_id: 'object_id',
p1_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
internal_alignment_ellipse_focus2: {
e_id: 'object_id',
p1_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
internal_alignment_point2hyperbola: {
e_id: 'object_id',
p1_id: 'object_id',
alignmentType: 'primitive_type',
tagId: 'primitive_type',
driving: 'primitive_type',
},
internal_alignment_hyperbola_major_diameter: {
e_id: 'object_id',
p1_id: 'object_id',
p2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
internal_alignment_hyperbola_minor_diameter: {
e_id: 'object_id',
p1_id: 'object_id',
p2_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
internal_alignment_hyperbola_focus: {
e_id: 'object_id',
p1_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
internal_alignment_parabola_focus: {
e_id: 'object_id',
p1_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
internal_alignment_bspline_control_point: {
b_id: 'object_id',
c_id: 'object_id',
poleindex_id: 'object_id',
tag: 'primitive_type',
driving: 'primitive_type',
},
internal_alignment_knot_point: {
b_id: 'object_id',
p_id: 'object_id',
knotindex_id: 'object_id',
tagId: 'primitive_type',
driving: 'primitive_type',
},
};
//# sourceMappingURL=constraint_param_index.js.map