opengeometry 0.0.7 → 1.0.9
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.d.ts +32 -2
- package/index.js +14750 -7338
- package/index.js.map +1 -1
- package/opengeometry_bg.wasm +0 -0
- package/opengeometry_bg.wasm.d.ts +162 -64
- package/package.json +6 -7
- package/src/examples/booleans.d.ts +22 -0
- package/src/examples/index.d.ts +9 -0
- package/src/examples/offset.d.ts +18 -0
- package/src/examples/primitives.d.ts +16 -0
- package/src/examples/shape-outline-dropdown.d.ts +23 -0
- package/src/examples/shapes.d.ts +20 -0
- package/src/examples/sweep.d.ts +9 -0
- package/src/examples/wall-from-offsets.d.ts +11 -0
- package/src/operations/boolean.d.ts +82 -0
- package/src/operations/index.d.ts +4 -0
- package/src/primitives/arc.d.ts +8 -2
- package/src/primitives/curve.d.ts +23 -0
- package/src/primitives/index.d.ts +4 -0
- package/src/primitives/line.d.ts +14 -1
- package/src/primitives/polyline.d.ts +13 -2
- package/src/primitives/rectangle.d.ts +13 -1
- package/src/shapes/boolean-subtract.d.ts +8 -0
- package/src/shapes/cuboid.d.ts +21 -2
- package/src/shapes/cylinder.d.ts +18 -1
- package/src/shapes/index.d.ts +6 -0
- package/src/shapes/opening.d.ts +25 -4
- package/src/shapes/outline-utils.d.ts +14 -0
- package/src/shapes/polygon.d.ts +24 -3
- package/src/shapes/sphere.d.ts +45 -0
- package/src/shapes/sweep.d.ts +42 -0
- package/src/shapes/swept-shape.d.ts +63 -0
- package/src/shapes/wedge.d.ts +44 -0
package/opengeometry_bg.wasm
CHANGED
|
Binary file
|
|
@@ -1,97 +1,195 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
|
-
export const
|
|
5
|
-
export const
|
|
6
|
-
export const
|
|
7
|
-
export const
|
|
8
|
-
export const
|
|
9
|
-
export const
|
|
10
|
-
export const
|
|
11
|
-
export const
|
|
12
|
-
export const
|
|
13
|
-
export const
|
|
14
|
-
export const
|
|
15
|
-
export const ogpolygon_get_brep_serialized: (a: number) => [number, number];
|
|
16
|
-
export const ogpolygon_get_geometry_serialized: (a: number) => [number, number];
|
|
17
|
-
export const ogpolygon_get_outline_geometry_serialized: (a: number) => [number, number];
|
|
18
|
-
export const __wbg_ogarc_free: (a: number, b: number) => void;
|
|
19
|
-
export const ogarc_set_id: (a: number, b: number, c: number) => void;
|
|
20
|
-
export const ogarc_id: (a: number) => [number, number];
|
|
21
|
-
export const ogarc_new: (a: number, b: number) => number;
|
|
22
|
-
export const ogarc_set_config: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
23
|
-
export const ogarc_generate_geometry: (a: number) => void;
|
|
24
|
-
export const ogarc_dispose_points: (a: number) => void;
|
|
25
|
-
export const ogarc_destroy: (a: number) => void;
|
|
26
|
-
export const ogarc_get_brep_serialized: (a: number) => [number, number];
|
|
27
|
-
export const ogarc_get_geometry_serialized: (a: number) => [number, number];
|
|
28
|
-
export const __wbg_ogline_free: (a: number, b: number) => void;
|
|
29
|
-
export const ogline_set_id: (a: number, b: number, c: number) => void;
|
|
30
|
-
export const ogline_id: (a: number) => [number, number];
|
|
31
|
-
export const ogline_new: (a: number, b: number) => number;
|
|
32
|
-
export const ogline_set_config: (a: number, b: number, c: number) => void;
|
|
33
|
-
export const ogline_generate_geometry: (a: number) => void;
|
|
34
|
-
export const ogline_dispose_points: (a: number) => void;
|
|
35
|
-
export const ogline_destroy: (a: number) => void;
|
|
36
|
-
export const ogline_get_brep_serialized: (a: number) => [number, number];
|
|
37
|
-
export const ogline_get_geometry_serialized: (a: number) => [number, number];
|
|
4
|
+
export const __wbg_ogwedge_free: (a: number, b: number) => void;
|
|
5
|
+
export const ogwedge_set_id: (a: number, b: number, c: number) => void;
|
|
6
|
+
export const ogwedge_id: (a: number) => [number, number];
|
|
7
|
+
export const ogwedge_new: (a: number, b: number) => number;
|
|
8
|
+
export const ogwedge_set_config: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
9
|
+
export const ogwedge_generate_brep: (a: number) => [number, number];
|
|
10
|
+
export const ogwedge_clean_geometry: (a: number) => void;
|
|
11
|
+
export const ogwedge_generate_geometry: (a: number) => [number, number];
|
|
12
|
+
export const ogwedge_get_brep_serialized: (a: number) => [number, number];
|
|
13
|
+
export const ogwedge_get_geometry_serialized: (a: number) => [number, number];
|
|
14
|
+
export const ogwedge_get_outline_geometry_serialized: (a: number) => [number, number];
|
|
38
15
|
export const __wbg_ogcylinder_free: (a: number, b: number) => void;
|
|
39
16
|
export const ogcylinder_set_id: (a: number, b: number, c: number) => void;
|
|
40
17
|
export const ogcylinder_id: (a: number) => [number, number];
|
|
41
18
|
export const ogcylinder_new: (a: number, b: number) => number;
|
|
42
|
-
export const ogcylinder_set_config: (a: number, b: number, c: number, d: number, e: number, f: number) =>
|
|
43
|
-
export const ogcylinder_generate_brep: (a: number) =>
|
|
19
|
+
export const ogcylinder_set_config: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
20
|
+
export const ogcylinder_generate_brep: (a: number) => [number, number];
|
|
44
21
|
export const ogcylinder_clean_geometry: (a: number) => void;
|
|
45
|
-
export const ogcylinder_generate_geometry: (a: number) =>
|
|
22
|
+
export const ogcylinder_generate_geometry: (a: number) => [number, number];
|
|
46
23
|
export const ogcylinder_get_brep_serialized: (a: number) => [number, number];
|
|
47
24
|
export const ogcylinder_get_geometry_serialized: (a: number) => [number, number];
|
|
48
25
|
export const ogcylinder_get_outline_geometry_serialized: (a: number) => [number, number];
|
|
26
|
+
export const __wbg_ogsphere_free: (a: number, b: number) => void;
|
|
27
|
+
export const ogsphere_set_id: (a: number, b: number, c: number) => void;
|
|
28
|
+
export const ogsphere_id: (a: number) => [number, number];
|
|
29
|
+
export const ogsphere_new: (a: number, b: number) => number;
|
|
30
|
+
export const ogsphere_set_config: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
31
|
+
export const ogsphere_generate_brep: (a: number) => [number, number];
|
|
32
|
+
export const ogsphere_clean_geometry: (a: number) => void;
|
|
33
|
+
export const ogsphere_generate_geometry: (a: number) => [number, number];
|
|
34
|
+
export const ogsphere_get_brep_serialized: (a: number) => [number, number];
|
|
35
|
+
export const ogsphere_get_geometry_serialized: (a: number) => [number, number];
|
|
36
|
+
export const ogsphere_get_outline_geometry_serialized: (a: number) => [number, number];
|
|
37
|
+
export const __wbg_ogbooleanresult_free: (a: number, b: number) => void;
|
|
38
|
+
export const ogbooleanresult_brepSerialized: (a: number) => [number, number];
|
|
39
|
+
export const ogbooleanresult_geometrySerialized: (a: number) => [number, number];
|
|
40
|
+
export const ogbooleanresult_outlineGeometrySerialized: (a: number) => [number, number];
|
|
41
|
+
export const ogbooleanresult_reportJson: (a: number) => [number, number];
|
|
42
|
+
export const booleanUnion: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
43
|
+
export const booleanIntersection: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
44
|
+
export const booleanSubtraction: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
49
45
|
export const __wbg_ogcuboid_free: (a: number, b: number) => void;
|
|
50
46
|
export const ogcuboid_set_id: (a: number, b: number, c: number) => void;
|
|
51
47
|
export const ogcuboid_id: (a: number) => [number, number];
|
|
52
48
|
export const ogcuboid_new: (a: number, b: number) => number;
|
|
53
|
-
export const ogcuboid_set_config: (a: number, b: number, c: number, d: number, e: number) =>
|
|
54
|
-
export const ogcuboid_generate_brep: (a: number) =>
|
|
49
|
+
export const ogcuboid_set_config: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
50
|
+
export const ogcuboid_generate_brep: (a: number) => [number, number];
|
|
55
51
|
export const ogcuboid_clean_geometry: (a: number) => void;
|
|
56
|
-
export const ogcuboid_generate_geometry: (a: number) =>
|
|
52
|
+
export const ogcuboid_generate_geometry: (a: number) => [number, number];
|
|
57
53
|
export const ogcuboid_get_brep_serialized: (a: number) => [number, number];
|
|
58
54
|
export const ogcuboid_get_geometry_serialized: (a: number) => [number, number];
|
|
59
55
|
export const ogcuboid_get_outline_geometry_serialized: (a: number) => [number, number];
|
|
60
|
-
export const
|
|
61
|
-
export const
|
|
62
|
-
export const
|
|
63
|
-
export const
|
|
64
|
-
export const
|
|
65
|
-
export const
|
|
66
|
-
export const
|
|
67
|
-
export const
|
|
68
|
-
export const
|
|
69
|
-
export const
|
|
70
|
-
export const
|
|
71
|
-
export const
|
|
72
|
-
export const
|
|
73
|
-
export const
|
|
74
|
-
export const
|
|
75
|
-
export const
|
|
76
|
-
export const
|
|
77
|
-
export const
|
|
78
|
-
export const
|
|
79
|
-
export const
|
|
56
|
+
export const __wbg_ogline_free: (a: number, b: number) => void;
|
|
57
|
+
export const ogline_set_id: (a: number, b: number, c: number) => void;
|
|
58
|
+
export const ogline_id: (a: number) => [number, number];
|
|
59
|
+
export const ogline_new: (a: number, b: number) => number;
|
|
60
|
+
export const ogline_set_config: (a: number, b: number, c: number) => [number, number];
|
|
61
|
+
export const ogline_generate_geometry: (a: number) => [number, number];
|
|
62
|
+
export const ogline_dispose_points: (a: number) => void;
|
|
63
|
+
export const ogline_destroy: (a: number) => void;
|
|
64
|
+
export const ogline_get_brep_serialized: (a: number) => [number, number];
|
|
65
|
+
export const ogline_get_geometry_serialized: (a: number) => [number, number];
|
|
66
|
+
export const ogline_get_offset_serialized: (a: number, b: number, c: number, d: number) => [number, number];
|
|
67
|
+
export const ogline_get_dxf_serialized: (a: number) => [number, number];
|
|
68
|
+
export const __wbg_ogcurve_free: (a: number, b: number) => void;
|
|
69
|
+
export const ogcurve_set_id: (a: number, b: number, c: number) => void;
|
|
70
|
+
export const ogcurve_id: (a: number) => [number, number];
|
|
71
|
+
export const ogcurve_new: (a: number, b: number) => number;
|
|
72
|
+
export const ogcurve_set_config: (a: number, b: number, c: number) => [number, number];
|
|
73
|
+
export const ogcurve_generate_geometry: (a: number) => [number, number];
|
|
74
|
+
export const ogcurve_get_brep_serialized: (a: number) => [number, number];
|
|
75
|
+
export const ogcurve_get_geometry_serialized: (a: number) => [number, number];
|
|
76
|
+
export const ogcurve_get_offset_serialized: (a: number, b: number, c: number, d: number) => [number, number];
|
|
77
|
+
export const ogcurve_dispose: (a: number) => void;
|
|
80
78
|
export const __wbg_ogpolyline_free: (a: number, b: number) => void;
|
|
81
79
|
export const ogpolyline_set_id: (a: number, b: number, c: number) => void;
|
|
82
80
|
export const ogpolyline_id: (a: number) => [number, number];
|
|
83
81
|
export const ogpolyline_new: (a: number, b: number) => number;
|
|
84
82
|
export const ogpolyline_clone: (a: number) => number;
|
|
85
|
-
export const
|
|
86
|
-
export const
|
|
87
|
-
export const
|
|
88
|
-
export const ogpolyline_add_point: (a: number, b: number) => void;
|
|
83
|
+
export const ogpolyline_generate_geometry: (a: number) => [number, number];
|
|
84
|
+
export const ogpolyline_add_multiple_points: (a: number, b: number, c: number) => [number, number];
|
|
85
|
+
export const ogpolyline_add_point: (a: number, b: number) => [number, number];
|
|
89
86
|
export const ogpolyline_get_points: (a: number) => [number, number];
|
|
90
87
|
export const ogpolyline_get_raw_points: (a: number) => [number, number];
|
|
91
88
|
export const ogpolyline_is_closed: (a: number) => number;
|
|
89
|
+
export const ogpolyline_get_offset_serialized: (a: number, b: number, c: number, d: number) => [number, number];
|
|
92
90
|
export const ogpolyline_check_closed_test: (a: number) => void;
|
|
93
91
|
export const ogpolyline_get_brep_serialized: (a: number) => [number, number];
|
|
94
92
|
export const ogpolyline_get_geometry_serialized: (a: number) => [number, number];
|
|
93
|
+
export const __wbg_ogsweep_free: (a: number, b: number) => void;
|
|
94
|
+
export const ogsweep_set_id: (a: number, b: number, c: number) => void;
|
|
95
|
+
export const ogsweep_id: (a: number) => [number, number];
|
|
96
|
+
export const ogsweep_new: (a: number, b: number) => number;
|
|
97
|
+
export const ogsweep_set_config: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
98
|
+
export const ogsweep_set_config_with_caps: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
99
|
+
export const ogsweep_set_caps: (a: number, b: number, c: number) => [number, number];
|
|
100
|
+
export const ogsweep_generate_brep: (a: number) => [number, number];
|
|
101
|
+
export const ogsweep_clean_geometry: (a: number) => void;
|
|
102
|
+
export const ogsweep_generate_geometry: (a: number) => [number, number];
|
|
103
|
+
export const ogsweep_get_brep_serialized: (a: number) => [number, number];
|
|
104
|
+
export const ogsweep_get_geometry_serialized: (a: number) => [number, number];
|
|
105
|
+
export const ogsweep_get_outline_geometry_serialized: (a: number) => [number, number];
|
|
106
|
+
export const ogpolyline_set_config: (a: number, b: number, c: number) => [number, number];
|
|
107
|
+
export const __wbg_ogarc_free: (a: number, b: number) => void;
|
|
108
|
+
export const ogarc_set_id: (a: number, b: number, c: number) => void;
|
|
109
|
+
export const ogarc_id: (a: number) => [number, number];
|
|
110
|
+
export const ogarc_new: (a: number, b: number) => number;
|
|
111
|
+
export const ogarc_set_config: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
112
|
+
export const ogarc_generate_geometry: (a: number) => [number, number];
|
|
113
|
+
export const ogarc_dispose_points: (a: number) => void;
|
|
114
|
+
export const ogarc_destroy: (a: number) => void;
|
|
115
|
+
export const ogarc_get_brep_serialized: (a: number) => [number, number];
|
|
116
|
+
export const ogarc_get_geometry_serialized: (a: number) => [number, number];
|
|
117
|
+
export const __wbg_ogstlexportresult_free: (a: number, b: number) => void;
|
|
118
|
+
export const ogstlexportresult_bytes: (a: number) => [number, number];
|
|
119
|
+
export const ogstlexportresult_reportJson: (a: number) => [number, number];
|
|
120
|
+
export const __wbg_ogstepexportresult_free: (a: number, b: number) => void;
|
|
121
|
+
export const ogstepexportresult_text: (a: number) => [number, number];
|
|
122
|
+
export const ogstepexportresult_reportJson: (a: number) => [number, number];
|
|
123
|
+
export const __wbg_ogifcexportresult_free: (a: number, b: number) => void;
|
|
124
|
+
export const ogifcexportresult_text: (a: number) => [number, number];
|
|
125
|
+
export const ogifcexportresult_reportJson: (a: number) => [number, number];
|
|
126
|
+
export const __wbg_ogscenemanager_free: (a: number, b: number) => void;
|
|
127
|
+
export const ogscenemanager_new: () => number;
|
|
128
|
+
export const ogscenemanager_createScene: (a: number, b: number, c: number) => [number, number];
|
|
129
|
+
export const ogscenemanager_removeScene: (a: number, b: number, c: number) => number;
|
|
130
|
+
export const ogscenemanager_setCurrentScene: (a: number, b: number, c: number) => [number, number];
|
|
131
|
+
export const ogscenemanager_getCurrentSceneId: (a: number) => [number, number];
|
|
132
|
+
export const ogscenemanager_listScenes: (a: number) => [number, number, number, number];
|
|
133
|
+
export const ogscenemanager_getSceneSerialized: (a: number, b: number, c: number) => [number, number, number, number];
|
|
134
|
+
export const ogscenemanager_removeEntityFromScene: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
135
|
+
export const ogscenemanager_addBrepEntityToScene: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number];
|
|
136
|
+
export const ogscenemanager_addBrepEntityToCurrentScene: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
137
|
+
export const ogscenemanager_addLineToScene: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
138
|
+
export const ogscenemanager_addLineToCurrentScene: (a: number, b: number, c: number, d: number) => [number, number];
|
|
139
|
+
export const ogscenemanager_addPolylineToScene: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
140
|
+
export const ogscenemanager_addPolylineToCurrentScene: (a: number, b: number, c: number, d: number) => [number, number];
|
|
141
|
+
export const ogscenemanager_addArcToScene: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
142
|
+
export const ogscenemanager_addArcToCurrentScene: (a: number, b: number, c: number, d: number) => [number, number];
|
|
143
|
+
export const ogscenemanager_addRectangleToScene: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
144
|
+
export const ogscenemanager_addRectangleToCurrentScene: (a: number, b: number, c: number, d: number) => [number, number];
|
|
145
|
+
export const ogscenemanager_addPolygonToScene: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
146
|
+
export const ogscenemanager_addPolygonToCurrentScene: (a: number, b: number, c: number, d: number) => [number, number];
|
|
147
|
+
export const ogscenemanager_addCuboidToScene: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
148
|
+
export const ogscenemanager_addCuboidToCurrentScene: (a: number, b: number, c: number, d: number) => [number, number];
|
|
149
|
+
export const ogscenemanager_addCylinderToScene: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
150
|
+
export const ogscenemanager_addCylinderToCurrentScene: (a: number, b: number, c: number, d: number) => [number, number];
|
|
151
|
+
export const ogscenemanager_addSphereToScene: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
152
|
+
export const ogscenemanager_addSphereToCurrentScene: (a: number, b: number, c: number, d: number) => [number, number];
|
|
153
|
+
export const ogscenemanager_addWedgeToScene: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
154
|
+
export const ogscenemanager_addWedgeToCurrentScene: (a: number, b: number, c: number, d: number) => [number, number];
|
|
155
|
+
export const ogscenemanager_projectTo2DCamera: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
156
|
+
export const ogscenemanager_projectTo2DCameraPretty: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
157
|
+
export const ogscenemanager_projectTo2DLines: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
158
|
+
export const ogscenemanager_projectTo2DLinesPretty: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
159
|
+
export const ogscenemanager_projectCurrentTo2DCamera: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
160
|
+
export const ogscenemanager_projectCurrentTo2DLines: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
161
|
+
export const ogscenemanager_exportBrepToStl: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
162
|
+
export const ogscenemanager_exportSceneToStl: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
163
|
+
export const ogscenemanager_exportCurrentSceneToStl: (a: number, b: number, c: number) => [number, number, number];
|
|
164
|
+
export const ogscenemanager_exportBrepToStep: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
165
|
+
export const ogscenemanager_exportSceneToStep: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
166
|
+
export const ogscenemanager_exportCurrentSceneToStep: (a: number, b: number, c: number) => [number, number, number];
|
|
167
|
+
export const ogscenemanager_exportBrepToIfc: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
168
|
+
export const ogscenemanager_exportSceneToIfc: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
169
|
+
export const ogscenemanager_exportCurrentSceneToIfc: (a: number, b: number, c: number) => [number, number, number];
|
|
170
|
+
export const __wbg_ogpolygon_free: (a: number, b: number) => void;
|
|
171
|
+
export const ogpolygon_set_id: (a: number, b: number, c: number) => void;
|
|
172
|
+
export const ogpolygon_id: (a: number) => [number, number];
|
|
173
|
+
export const ogpolygon_new: (a: number, b: number) => number;
|
|
174
|
+
export const ogpolygon_set_transformation: (a: number, b: number, c: number) => [number, number];
|
|
175
|
+
export const ogpolygon_add_vertices: (a: number, b: number, c: number) => [number, number];
|
|
176
|
+
export const ogpolygon_add_holes: (a: number, b: number, c: number) => [number, number];
|
|
177
|
+
export const ogpolygon_clean_geometry: (a: number) => void;
|
|
178
|
+
export const ogpolygon_generate_brep: (a: number) => [number, number];
|
|
179
|
+
export const ogpolygon_get_brep_serialized: (a: number) => [number, number];
|
|
180
|
+
export const ogpolygon_get_geometry_serialized: (a: number) => [number, number];
|
|
181
|
+
export const ogpolygon_get_outline_geometry_serialized: (a: number) => [number, number];
|
|
182
|
+
export const __wbg_ogrectangle_free: (a: number, b: number) => void;
|
|
183
|
+
export const ogrectangle_set_id: (a: number, b: number, c: number) => void;
|
|
184
|
+
export const ogrectangle_id: (a: number) => [number, number];
|
|
185
|
+
export const ogrectangle_new: (a: number, b: number) => number;
|
|
186
|
+
export const ogrectangle_set_config: (a: number, b: number, c: number, d: number) => [number, number];
|
|
187
|
+
export const ogrectangle_generate_geometry: (a: number) => [number, number];
|
|
188
|
+
export const ogrectangle_get_brep_serialized: (a: number) => [number, number];
|
|
189
|
+
export const ogrectangle_get_geometry_serialized: (a: number) => [number, number];
|
|
190
|
+
export const ogrectangle_get_offset_serialized: (a: number, b: number, c: number, d: number) => [number, number];
|
|
191
|
+
export const ogpolygon_generate_geometry: (a: number) => [number, number];
|
|
192
|
+
export const ogpolygon_set_config: (a: number, b: number, c: number) => [number, number];
|
|
95
193
|
export const __wbg_matrix4_free: (a: number, b: number) => void;
|
|
96
194
|
export const matrix4_elements: (a: number) => [number, number];
|
|
97
195
|
export const matrix4_new: () => number;
|
package/package.json
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opengeometry",
|
|
3
|
-
"
|
|
3
|
+
"author": "Vishwajeet Vinayak Mane",
|
|
4
|
+
"license": "MPL-2.0",
|
|
5
|
+
"version": "1.0.9",
|
|
4
6
|
"description": "CAD Kernel for Web with OpenGeometry",
|
|
5
7
|
"type": "module",
|
|
6
8
|
"main": "index.js",
|
|
7
9
|
"scripts": {
|
|
8
10
|
"dev": "vite",
|
|
9
|
-
"test": "
|
|
11
|
+
"test": "cargo test --manifest-path main/opengeometry/Cargo.toml && cargo test --examples --manifest-path main/opengeometry/Cargo.toml",
|
|
10
12
|
"lint": "eslint main/opengeometry-three/src/**/*.ts --fix",
|
|
11
13
|
"lint:check": "eslint main/opengeometry-three/src/**/*.ts",
|
|
12
14
|
"build-three": "rollup -c rollup.config.js",
|
|
15
|
+
"build-example-three": "npm --prefix main/opengeometry-three run build-example-three",
|
|
13
16
|
"build-core": "cd main/opengeometry && wasm-pack build --target web && cargo build --release",
|
|
14
17
|
"copy-wasm": "mkdir -p dist && cp main/opengeometry/pkg/opengeometry_bg.wasm dist/ && cp main/opengeometry/pkg/opengeometry_bg.wasm.d.ts dist/ && cp package.json dist/",
|
|
15
|
-
"build": "npm run build-core && npm run build-three && npm run copy-wasm"
|
|
16
|
-
"build-local": "npm run build && cp -r dist/* ./../openplans/src/kernel/",
|
|
17
|
-
"make-examples": "cp -r dist/* ./../../../OpenGeometry-Examples/core/"
|
|
18
|
+
"build": "npm run build-core && npm run build-three && npm run copy-wasm"
|
|
18
19
|
},
|
|
19
20
|
"repository": {
|
|
20
21
|
"type": "git",
|
|
@@ -27,8 +28,6 @@
|
|
|
27
28
|
"CAD",
|
|
28
29
|
"web"
|
|
29
30
|
],
|
|
30
|
-
"author": "Vishwajeet Vinayak Mane",
|
|
31
|
-
"license": "ISC",
|
|
32
31
|
"bugs": {
|
|
33
32
|
"url": "https://github.com/OpenGeometry-io/OpenGeometry/issues"
|
|
34
33
|
},
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { Vector3 } from "../../../opengeometry/pkg/opengeometry";
|
|
3
|
+
import { BooleanExecutionOptions, BooleanResult } from "../operations/boolean";
|
|
4
|
+
export type BooleanExampleOperation = "union" | "intersection" | "subtraction";
|
|
5
|
+
export type BooleanExampleMode = "solid" | "polygon";
|
|
6
|
+
export interface BooleanExampleBuildOptions extends BooleanExecutionOptions {
|
|
7
|
+
mode: BooleanExampleMode;
|
|
8
|
+
sphereCenter?: Vector3;
|
|
9
|
+
polygonOffset?: Vector3;
|
|
10
|
+
}
|
|
11
|
+
export interface BooleanExampleBuildResult {
|
|
12
|
+
group: THREE.Group;
|
|
13
|
+
lhs: THREE.Object3D;
|
|
14
|
+
rhs: THREE.Object3D;
|
|
15
|
+
result: BooleanResult;
|
|
16
|
+
title: string;
|
|
17
|
+
description: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Builds a complete operand/result scene group for a boolean example page.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createBooleanExample(operation: BooleanExampleOperation, options: BooleanExampleBuildOptions): BooleanExampleBuildResult;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable scene example builders for primitives, shapes, and operations.
|
|
3
|
+
*/
|
|
4
|
+
export * from './primitives';
|
|
5
|
+
export * from './shapes';
|
|
6
|
+
export * from './sweep';
|
|
7
|
+
export * from './offset';
|
|
8
|
+
export * from './wall-from-offsets';
|
|
9
|
+
export * from './booleans';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { Line } from "../primitives/line";
|
|
3
|
+
import { Polyline } from "../primitives/polyline";
|
|
4
|
+
import { Rectangle } from "../primitives/rectangle";
|
|
5
|
+
import { Curve } from "../primitives/curve";
|
|
6
|
+
export declare function createOffsetExample(scene: THREE.Scene): {
|
|
7
|
+
baseLine: Line;
|
|
8
|
+
lineOffsetPrimitive: Line;
|
|
9
|
+
basePolyline: Polyline;
|
|
10
|
+
polylineOffsetPrimitive: Polyline;
|
|
11
|
+
baseRectangle: Rectangle;
|
|
12
|
+
rectangleOffsetPrimitive: Polyline;
|
|
13
|
+
baseCurve: Curve;
|
|
14
|
+
curveOffsetPrimitive: Polyline;
|
|
15
|
+
polylineOffset: import("../primitives/polyline").IOffsetResult;
|
|
16
|
+
rectangleOffset: import("../primitives/rectangle").IRectangleOffsetResult;
|
|
17
|
+
curveOffset: import("../primitives/curve").ICurveOffsetResult;
|
|
18
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { Arc } from "../primitives/arc";
|
|
3
|
+
import { Curve } from "../primitives/curve";
|
|
4
|
+
import { Line } from "../primitives/line";
|
|
5
|
+
import { Polyline } from "../primitives/polyline";
|
|
6
|
+
import { Rectangle } from "../primitives/rectangle";
|
|
7
|
+
/**
|
|
8
|
+
* Adds a basic primitives showcase to the provided scene.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createPrimitivesExample(scene: THREE.Scene): {
|
|
11
|
+
line: Line;
|
|
12
|
+
polyline: Polyline;
|
|
13
|
+
arc: Arc;
|
|
14
|
+
rectangle: Rectangle;
|
|
15
|
+
curve: Curve;
|
|
16
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import type { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
|
|
3
|
+
export type OutlineRefreshMode = "live" | "on-stop" | "manual";
|
|
4
|
+
type ShapeKey = "polygon" | "cuboid" | "cylinder" | "wedge" | "opening" | "sweep" | "sphere";
|
|
5
|
+
export interface ShapeOutlineDropdownOptions {
|
|
6
|
+
scene: THREE.Scene;
|
|
7
|
+
camera: THREE.PerspectiveCamera;
|
|
8
|
+
renderer: THREE.WebGLRenderer;
|
|
9
|
+
controls: OrbitControls;
|
|
10
|
+
initialShape?: ShapeKey;
|
|
11
|
+
initialRefreshMode?: OutlineRefreshMode;
|
|
12
|
+
initialOutlineEnabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface ShapeOutlineDropdownHandle {
|
|
15
|
+
dispose: () => void;
|
|
16
|
+
refresh: () => void;
|
|
17
|
+
}
|
|
18
|
+
export declare function createShapeOutlineDropdownExample(options: ShapeOutlineDropdownOptions): ShapeOutlineDropdownHandle;
|
|
19
|
+
export declare function getAvailableOutlineShapes(): ReadonlyArray<{
|
|
20
|
+
key: ShapeKey;
|
|
21
|
+
label: string;
|
|
22
|
+
}>;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { Cuboid } from "../shapes/cuboid";
|
|
3
|
+
import { Cylinder } from "../shapes/cylinder";
|
|
4
|
+
import { Opening } from "../shapes/opening";
|
|
5
|
+
import { Polygon } from "../shapes/polygon";
|
|
6
|
+
import { Sphere } from "../shapes/sphere";
|
|
7
|
+
import { Sweep } from "../shapes/sweep";
|
|
8
|
+
import { Wedge } from "../shapes/wedge";
|
|
9
|
+
/**
|
|
10
|
+
* Adds a basic shapes showcase to the provided scene.
|
|
11
|
+
*/
|
|
12
|
+
export declare function createShapesExample(scene: THREE.Scene): {
|
|
13
|
+
polygon: Polygon;
|
|
14
|
+
cuboid: Cuboid;
|
|
15
|
+
cylinder: Cylinder;
|
|
16
|
+
wedge: Wedge;
|
|
17
|
+
sphere: Sphere;
|
|
18
|
+
opening: Opening;
|
|
19
|
+
sweep: Sweep;
|
|
20
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { Polyline } from "../primitives/polyline";
|
|
3
|
+
import { Rectangle } from "../primitives/rectangle";
|
|
4
|
+
import { Sweep } from "../shapes/sweep";
|
|
5
|
+
export declare function createSweepExample(scene: THREE.Scene): {
|
|
6
|
+
pathPrimitive: Polyline;
|
|
7
|
+
profilePrimitive: Rectangle;
|
|
8
|
+
sweep: Sweep;
|
|
9
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { Polyline } from "../primitives/polyline";
|
|
3
|
+
import { Polygon } from "../shapes/polygon";
|
|
4
|
+
export declare function createWallFromOffsetsExample(scene: THREE.Scene): {
|
|
5
|
+
centerline: Polyline;
|
|
6
|
+
leftOffsetPolyline: Polyline;
|
|
7
|
+
rightOffsetPolyline: Polyline;
|
|
8
|
+
wallPolygon: Polygon;
|
|
9
|
+
leftOffset: import("../primitives/polyline").IOffsetResult;
|
|
10
|
+
rightOffset: import("../primitives/polyline").IOffsetResult;
|
|
11
|
+
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
export type BooleanOperand = string | Record<string, unknown> | {
|
|
3
|
+
getBrep?: () => unknown;
|
|
4
|
+
getBrepData?: () => unknown;
|
|
5
|
+
getBrepSerialized?: () => string;
|
|
6
|
+
};
|
|
7
|
+
export interface BooleanKernelOptions {
|
|
8
|
+
tolerance?: number;
|
|
9
|
+
mergeCoplanarFaces?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface BooleanRenderOptions {
|
|
12
|
+
color?: number;
|
|
13
|
+
outline?: boolean;
|
|
14
|
+
fatOutlines?: boolean;
|
|
15
|
+
outlineWidth?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface BooleanExecutionOptions extends BooleanRenderOptions {
|
|
18
|
+
kernel?: BooleanKernelOptions;
|
|
19
|
+
}
|
|
20
|
+
export interface BooleanReport {
|
|
21
|
+
operation: string;
|
|
22
|
+
operand_kind: string;
|
|
23
|
+
input_face_count: number;
|
|
24
|
+
input_triangle_count: number;
|
|
25
|
+
output_face_count: number;
|
|
26
|
+
output_shell_count: number;
|
|
27
|
+
empty: boolean;
|
|
28
|
+
}
|
|
29
|
+
interface KernelBooleanResult {
|
|
30
|
+
brepSerialized: string;
|
|
31
|
+
geometrySerialized: string;
|
|
32
|
+
outlineGeometrySerialized: string;
|
|
33
|
+
reportJson: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Renderable result mesh returned by the kernel boolean helpers.
|
|
37
|
+
*/
|
|
38
|
+
export declare class BooleanResult extends THREE.Mesh {
|
|
39
|
+
#private;
|
|
40
|
+
ogid: string;
|
|
41
|
+
report: BooleanReport | null;
|
|
42
|
+
private brepSerialized;
|
|
43
|
+
private brepData;
|
|
44
|
+
private outlinePositions;
|
|
45
|
+
private _outlineEnabled;
|
|
46
|
+
private _fatOutlines;
|
|
47
|
+
private _outlineWidth;
|
|
48
|
+
constructor(kernelResult: KernelBooleanResult, options?: BooleanRenderOptions);
|
|
49
|
+
/**
|
|
50
|
+
* Rebuilds the mesh, cached BRep payload, and outline geometry from the kernel output.
|
|
51
|
+
*/
|
|
52
|
+
applyKernelResult(kernelResult: KernelBooleanResult, color?: number): void;
|
|
53
|
+
/**
|
|
54
|
+
* Returns the parsed BRep object for reuse with scene export or downstream operations.
|
|
55
|
+
*/
|
|
56
|
+
getBrepData(): Record<string, unknown> | null;
|
|
57
|
+
/**
|
|
58
|
+
* Returns the serialized BRep JSON emitted by the kernel boolean operation.
|
|
59
|
+
*/
|
|
60
|
+
getBrepSerialized(): string;
|
|
61
|
+
set outline(enable: boolean);
|
|
62
|
+
get outline(): boolean;
|
|
63
|
+
set fatOutlines(value: boolean);
|
|
64
|
+
get fatOutlines(): boolean;
|
|
65
|
+
set outlineWidth(value: number);
|
|
66
|
+
get outlineWidth(): number;
|
|
67
|
+
disposeGeometry(): void;
|
|
68
|
+
private clearOutlineMesh;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Computes a kernel-backed boolean union and returns a renderable result mesh.
|
|
72
|
+
*/
|
|
73
|
+
export declare function booleanUnion(lhs: BooleanOperand, rhs: BooleanOperand, options?: BooleanExecutionOptions): BooleanResult;
|
|
74
|
+
/**
|
|
75
|
+
* Computes a kernel-backed boolean intersection and returns a renderable result mesh.
|
|
76
|
+
*/
|
|
77
|
+
export declare function booleanIntersection(lhs: BooleanOperand, rhs: BooleanOperand, options?: BooleanExecutionOptions): BooleanResult;
|
|
78
|
+
/**
|
|
79
|
+
* Computes a kernel-backed boolean subtraction and returns a renderable result mesh.
|
|
80
|
+
*/
|
|
81
|
+
export declare function booleanSubtraction(lhs: BooleanOperand, rhs: BooleanOperand, options?: BooleanExecutionOptions): BooleanResult;
|
|
82
|
+
export {};
|
package/src/primitives/arc.d.ts
CHANGED
|
@@ -7,17 +7,23 @@ export interface IArcOptions {
|
|
|
7
7
|
startAngle: number;
|
|
8
8
|
endAngle: number;
|
|
9
9
|
segments: number;
|
|
10
|
+
color: number;
|
|
11
|
+
fatLines?: boolean;
|
|
12
|
+
width?: number;
|
|
10
13
|
}
|
|
14
|
+
export type ArcConfigUpdate = Partial<IArcOptions>;
|
|
11
15
|
export declare class Arc extends THREE.Line {
|
|
12
|
-
#private;
|
|
13
16
|
ogid: string;
|
|
14
17
|
options: IArcOptions;
|
|
15
18
|
private arc;
|
|
19
|
+
private fatLine;
|
|
16
20
|
set color(color: number);
|
|
17
21
|
constructor(options?: IArcOptions);
|
|
18
22
|
validateOptions(): void;
|
|
19
|
-
setConfig(options:
|
|
23
|
+
setConfig(options: ArcConfigUpdate): void;
|
|
20
24
|
getConfig(): IArcOptions;
|
|
25
|
+
private getCurrentPositions;
|
|
26
|
+
private updateRenderStyle;
|
|
21
27
|
private generateGeometry;
|
|
22
28
|
getBrep(): any;
|
|
23
29
|
discardGeometry(): void;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { Vector3 } from "../../../opengeometry/pkg/opengeometry";
|
|
3
|
+
export interface ICurveOptions {
|
|
4
|
+
ogid?: string;
|
|
5
|
+
controlPoints: Vector3[];
|
|
6
|
+
color: number;
|
|
7
|
+
}
|
|
8
|
+
export type CurveConfigUpdate = Partial<ICurveOptions>;
|
|
9
|
+
export interface ICurveOffsetResult {
|
|
10
|
+
points: Vector3[];
|
|
11
|
+
beveledVertexIndices: number[];
|
|
12
|
+
isClosed: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare class Curve extends THREE.Line {
|
|
15
|
+
ogid: string;
|
|
16
|
+
options: ICurveOptions;
|
|
17
|
+
private curve;
|
|
18
|
+
set color(color: number);
|
|
19
|
+
constructor(options?: ICurveOptions);
|
|
20
|
+
setConfig(options: CurveConfigUpdate): void;
|
|
21
|
+
private generateGeometry;
|
|
22
|
+
getOffset(distance: number, acuteThresholdDegrees?: number, bevel?: boolean): ICurveOffsetResult;
|
|
23
|
+
}
|
package/src/primitives/line.d.ts
CHANGED
|
@@ -5,6 +5,14 @@ export interface ILineOptions {
|
|
|
5
5
|
start: Vector3;
|
|
6
6
|
end: Vector3;
|
|
7
7
|
color: number;
|
|
8
|
+
fatLines?: boolean;
|
|
9
|
+
width?: number;
|
|
10
|
+
}
|
|
11
|
+
export type LineConfigUpdate = Partial<ILineOptions>;
|
|
12
|
+
export interface ILineOffsetResult {
|
|
13
|
+
points: Vector3[];
|
|
14
|
+
beveledVertexIndices: number[];
|
|
15
|
+
isClosed: boolean;
|
|
8
16
|
}
|
|
9
17
|
/**
|
|
10
18
|
* Simple Line defined by Two Points
|
|
@@ -13,14 +21,19 @@ export declare class Line extends THREE.Line {
|
|
|
13
21
|
ogid: string;
|
|
14
22
|
options: ILineOptions;
|
|
15
23
|
private line;
|
|
24
|
+
private fatLine;
|
|
16
25
|
set color(color: number);
|
|
17
26
|
constructor(options?: ILineOptions);
|
|
18
27
|
validateOptions(): void;
|
|
19
|
-
setConfig(options:
|
|
28
|
+
setConfig(options: LineConfigUpdate): void;
|
|
20
29
|
/**
|
|
21
30
|
* Every time there are property changes, geometry needs to be discarded and regenerated.
|
|
22
31
|
* This is to ensure that the geometry is always up-to-date with the current state.
|
|
23
32
|
*/
|
|
24
33
|
discardGeometry(): void;
|
|
34
|
+
private getCurrentPositions;
|
|
35
|
+
private updateRenderStyle;
|
|
25
36
|
private generateGeometry;
|
|
37
|
+
getDXF(): string;
|
|
38
|
+
getOffset(distance: number, acuteThresholdDegrees?: number, bevel?: boolean): ILineOffsetResult;
|
|
26
39
|
}
|