Commit graph

1088 commits

Author SHA1 Message Date
Val Erastov
efb9c5755c remove obsolete unmanagedSceneObject 2018-06-17 23:11:09 -07:00
Val Erastov
1b4c6f6e9a convert external data to brep instead of using unmanaged objects 2018-06-17 23:07:16 -07:00
Val Erastov
b4dd89705c moving nurbs implementation details out of brepCurve 2018-06-17 23:05:19 -07:00
Val Erastov
abd50aba02 exposing tessellation as point-array 2018-06-17 23:04:45 -07:00
Val Erastov
1dae20c66c null parametric surface implementation 2018-06-17 23:03:14 -07:00
Val Erastov
69c08eec7a keep vertex to edges index outside of Vertex class 2018-06-17 23:02:39 -07:00
Val Erastov
fae6aa3492 scale morphing 2018-06-14 17:46:57 -07:00
Val Erastov
927ba6e4b5 revolve operation wizard 2018-06-12 23:11:30 -07:00
Val Erastov
5e863aea36 multiselection wizard 2018-06-11 20:13:42 -07:00
Val Erastov
fdbb719436 fixing mouse event in firefox for sketcher 2018-05-10 20:33:20 -07:00
Val Erastov
1f5842587d smooth rendering of unmanaged objects 2018-05-08 23:41:31 -07:00
Val Erastov
1ecab7399c edges rendering 2018-05-04 02:23:10 -07:00
Val Erastov
598759e8f0 nurbs curve serialization 2018-05-01 02:46:26 -07:00
Val Erastov
bfbde56b00 nurbs curve support for unmanaged objects 2018-05-01 02:46:10 -07:00
Val Erastov
1fb0c6f451 fix normales and bounds for unmanagedSceneObjects 2018-04-30 22:33:46 -07:00
Val Erastov
847f9d12a5 blocking project loading for engines 2018-04-29 22:58:36 -07:00
Val Erastov
d8e3a0a51b unmanaged scene objects support 2018-04-29 19:33:34 -07:00
Val Erastov
2962ece2ff fix plane to expose correct surface 2018-04-28 21:19:22 -07:00
Val Erastov
fdde14b8f8 use surface directly 2018-04-28 21:18:04 -07:00
Val Erastov
838b1041fa expose creation bound surface from 2d points 2018-04-28 21:15:24 -07:00
Val Erastov
8b8142db76 external engines support 2018-04-27 18:56:15 -07:00
Val Erastov
ea95b54430 surface-surface intersection / stable points 2018-04-25 20:57:20 -07:00
Val Erastov
90940f3342 algorithm for finding footpoints for generic parametric curves 2018-04-06 19:49:33 -07:00
Val Erastov
107faa13e1 separate and abstract out nurbs-surface to brepSurface and parametricSurface 2018-04-06 19:48:09 -07:00
Val Erastov
6c0988fa4d bound u and v for surface intersection iterations 2018-04-06 19:45:59 -07:00
Val Erastov
04eb798e49 use domain for parametric curves and surfaces instead assuming it's 0..1 2018-03-23 19:27:46 -07:00
Val Erastov
321b161f72 Cubic Hermite spline interpolation curve 2018-03-23 17:57:19 -07:00
Val Erastov
2f295c73a9 enable flow 2018-03-09 19:54:45 -08:00
Val Erastov
5cc9db2d61 rename createLinearNurbs to createLinearCurve 2018-03-09 19:10:39 -08:00
Val Erastov
a19c2fa904 sandbox support 2018-03-09 19:03:23 -08:00
Val Erastov
ccda6f20f0 abstract and refactor curve geometry 2018-03-09 19:00:49 -08:00
Val Erastov
7eee7074ba support case for two different edges having the same vertices 2018-02-18 22:39:21 -08:00
Val Erastov
917dca85ce refactor and fix brep debugger action 2018-02-18 22:09:13 -08:00
Val Erastov
3173626ea2 choose between coincident edges with same direction while face overlap merge
Closes #47 Union 2 shells: side faces are in same plane, resulted a null shell
2018-02-16 19:02:38 -08:00
Val Erastov
5dfc499162 keep boolean operation data separate from general data of a topo object 2018-02-16 11:57:48 -08:00
Val Erastov
192b9a793c test case for splitting a solid by 2 adjacent edges 2018-02-16 01:17:05 -08:00
Val Erastov
25044f28bf get rid of jquery dep for 3d modeller 2018-02-16 00:52:42 -08:00
Val Erastov
f9c202ba13 basic actions for craft history manipulation 2018-02-16 00:50:38 -08:00
Val Erastov
78e5ff62b7 remove unnecessary check for edges being same when picking candidates for loops detection 2018-02-15 21:36:09 -08:00
Val Erastov
1995be6910 clean up unused code in boolean algorithm 2018-02-15 21:34:29 -08:00
Val Erastov
c1e7e134a4 fixing extrude when all edges are coincident 2018-02-15 21:31:03 -08:00
Val Erastov
f5b6c20b97 error handling 2018-02-09 20:04:36 -08:00
Val Erastov
4836b89595 adding more topological tests for boolean operation 2018-02-07 22:58:52 -08:00
Val Erastov
2e5ad6ad43 changing Button api 2018-02-07 00:50:26 -08:00
Val Erastov
271b7dd84a remove unused/outdated/legacy css file 2018-02-07 00:47:57 -08:00
Val Erastov
3b575c149d fix a bug when two merge faces make a cut and create a new curve/edge
forbid partially tangent edges with new curve - should be handled level before
update tests
2018-02-07 00:45:01 -08:00
Val Erastov
9eb2400a01 some useful debug actions 2018-02-02 18:07:32 -08:00
Val Erastov
ccea7762e8 avoid total UI failing on project load 2018-02-02 18:07:08 -08:00
Val Erastov
c6b17c60e5 test case for sticking out merged faces 2018-02-02 18:06:36 -08:00
Val Erastov
6bc6ec4e08 fix face merging edge invalidation 2018-02-02 18:05:39 -08:00
Val Erastov
32a66462f5 test generator for craft operation and some basic tests 2018-02-01 23:38:48 -08:00
Val Erastov
6be10f31b2 unify argument order for operation and preview 2018-02-01 21:20:48 -08:00
Val Erastov
109b976048 ability to pass extra hints to project 2018-01-31 15:22:56 -08:00
Val Erastov
a11c34e5f4 fix pararm info for cut/extrude 2018-01-30 21:54:30 -08:00
Val Erastov
9e5933fbe1 operation history wizard 2018-01-30 19:41:05 -08:00
Val Erastov
f3f7354033 update relative imports to modules 2018-01-30 17:14:58 -08:00
Val Erastov
d6dfb8317f hotkeys for wizards 2018-01-29 20:14:31 -08:00
Val Erastov
de09216be1 check for enable if an action triggered from keyboard and show hint if disabled 2018-01-29 19:40:36 -08:00
Val Erastov
65a822ba5a remove ported code 2018-01-29 01:35:44 -08:00
Val Erastov
1964dca731 define everything in rem / update px 2018-01-29 01:28:09 -08:00
Val Erastov
959d0890b0 define everything in rem 2018-01-29 01:21:46 -08:00
Val Erastov
b6d5f5d287 bring plane wizard back 2018-01-28 23:53:17 -08:00
Val Erastov
43605ce79c fix brep debugger 2018-01-26 21:46:48 -08:00
Val Erastov
76b7cdd7f6 fix test framework 2018-01-26 21:24:00 -08:00
Val Erastov
f038e2fc0b hints for menu items 2018-01-26 21:04:04 -08:00
Val Erastov
64fee05995 update 3d viewport on switching from sketchers tabs 2018-01-26 20:48:32 -08:00
Val Erastov
b3149f74bc action info styling 2018-01-26 20:28:14 -08:00
Val Erastov
920fbce6bb action info for for toolbars 2018-01-26 19:54:19 -08:00
Val Erastov
8d06e86708 improve action hint behavior 2018-01-26 19:47:52 -08:00
Val Erastov
8396629277 hotkeys / menus 2018-01-26 18:55:37 -08:00
Val Erastov
98e562ad40 move tpi plugin to tpi package(test program interface) 2018-01-23 01:45:15 -08:00
Val Erastov
0eca110c34 move code to be cleaned to legacy package 2018-01-23 01:42:12 -08:00
Val Erastov
1cce9abacc clean up / move code around 2018-01-23 01:35:17 -08:00
Val Erastov
0da15743f9 clean up getting rid of old UI code 2018-01-23 01:31:21 -08:00
Val Erastov
3f9b1d804a getting rid of modeller-app class, keep sandbox/scratchPad code from there 2018-01-23 01:23:41 -08:00
Val Erastov
2bd771a4a3 tpi plugin 2018-01-23 01:13:56 -08:00
Val Erastov
557ff168df debug plugin 2018-01-23 00:57:27 -08:00
Val Erastov
92ade7bdc5 fix box operation icon 2018-01-23 00:27:34 -08:00
Val Erastov
ee659f97c4 error reporting for craft operations 2018-01-23 00:03:31 -08:00
Val Erastov
f1c055c77c cut operation 2018-01-22 23:40:34 -08:00
Val Erastov
9b49e0735e extrude operation 2018-01-22 23:32:25 -08:00
Val Erastov
a8d94398d1 update all sketches action 2018-01-22 22:12:59 -08:00
Val Erastov
36bdead521 add switcher 2018-01-22 21:38:51 -08:00
Val Erastov
bc51636d11 plugins for editing faces sketches 2018-01-22 02:10:31 -08:00
Val Erastov
9c77cb8006 remove test wizard window 2018-01-22 01:01:07 -08:00
Val Erastov
5bffdfbded move sketch package out of craft package 2018-01-22 00:58:58 -08:00
Val Erastov
d03c190fa7 craft plugin for managing modifications 2018-01-21 23:12:40 -08:00
Val Erastov
efe3efa7c9 avoid dynamic connections to store 2018-01-19 19:16:24 -08:00
Val Erastov
ceb9b89616 wizard react support 2018-01-19 01:25:26 -08:00
Val Erastov
ea5a3ae93e action info outline 2018-01-17 19:19:33 -08:00
xibyte
dfae3bd967 action info popup 2018-01-17 01:38:00 -08:00
Val Erastov
4214715fd6 rewrite form controls with react 2018-01-17 00:06:32 -08:00
Val Erastov
b7be796a5f fix toolbar appearance 2018-01-17 00:06:31 -08:00
Val Erastov
51d17361df fix control bar appearance 2018-01-17 00:06:31 -08:00
Val Erastov
fdc52ec85d React transition 2018-01-17 00:06:31 -08:00
Val Erastov
95d4b96bc7 check-in minireset.css 2018-01-09 22:29:02 -08:00
Val Erastov
e5ebf85c9c clean-up 2018-01-09 20:00:00 -08:00
xibyte
cbf54794e6 fix nurbs mirroring(left handed coordinate system if working in parametric space) 2018-01-06 22:51:20 -08:00
xibyte
6dc0c7e2be fix two arcs loop bug 2018-01-06 21:04:48 -08:00
xibyte
72104c5413 switch to React 2018-01-06 15:55:18 -08:00
Val Erastov
2c640cc75a orthographic camera support 2018-01-06 12:00:04 -08:00
Val Erastov
2da73e7f39 export pick control to a plugin 2018-01-05 18:45:05 -08:00
Val Erastov
0d38184287 UI / change naming convention for the selection events 2018-01-05 18:00:58 -08:00
Val Erastov
2ff572140c UI / synch basis with selection 2018-01-05 02:58:09 -08:00
Val Erastov
dce2918530 UI / selectionPlugin 2018-01-05 02:27:56 -08:00
Val Erastov
046a10fe16 UI modularization / decouple 3D rendering 2018-01-05 01:41:15 -08:00
Val Erastov
e8be3fe473 UI modularization / moving viewer to scene folder 2018-01-04 18:54:52 -08:00
Val Erastov
6c4d658e20 UI modularization / moving files around 2018-01-04 18:53:38 -08:00
Val Erastov
9773d466cc work on modularization and abstracting out visualization layer(three.js). 2018-01-04 01:23:25 -08:00
Val Erastov
6408590b31 fix three.js API change 2018-01-03 22:09:47 -08:00
Val Erastov
88f6e641e6 update three.js to 0.89.0 2018-01-03 22:01:44 -08:00
Val Erastov
ef9e210f49 update references to Vector from the 'math' module 2018-01-03 19:59:10 -08:00
Val Erastov
bbbdf2f9db modularization / extract vector to the math module 2018-01-03 19:39:47 -08:00
Val Erastov
b876818ce5 showing error info for invalid boolean results 2018-01-03 01:53:09 -08:00
Val Erastov
d5c46e9ab0 cleanup solve data for edges(transferring information is stored now) 2018-01-03 01:53:09 -08:00
Val Erastov
8988110f4c fix cut/extrude operation visualization 2018-01-03 01:53:09 -08:00
Val Erastov
09b0beba76 extra checks for enclose analysis for curve-face intersection 2018-01-03 01:53:09 -08:00
Val Erastov
c615eb3800 temporary workaround to generate smooth intersection curves 2018-01-03 01:53:08 -08:00
Val Erastov
c7274876b9 support brep intersection debug 2018-01-03 01:53:08 -08:00
Val Erastov
c961aba111 avoid vertex unnecessary node creation while curve intersection analysis 2018-01-03 01:53:08 -08:00
Val Erastov
6af1e7f143 fix a bug 2018-01-03 01:53:08 -08:00
Val Erastov
ecc48b47c2 re-implement face merge 2018-01-03 01:53:08 -08:00
Val Erastov
15bec39f66 mark edges for debug 2018-01-03 01:53:08 -08:00
Val Erastov
3e4bdc6534 debug support for face merging 2018-01-03 01:53:08 -08:00
Val Erastov
a7050e47a2 edge replace 2018-01-03 01:53:08 -08:00
Val Erastov
6fbc1d4c8e debug support for face merging 2018-01-03 01:53:08 -08:00
Val Erastov
5c469d886b face merge / rayCast + tests 2018-01-03 01:53:08 -08:00
Val Erastov
0b3939e977 raycast for point inside face classification 2018-01-03 01:52:35 -08:00
Val Erastov
fdfa0519df fix edge priorities 2018-01-03 01:52:35 -08:00
Val Erastov
c2cae6b40f improve loop invalidation 2018-01-03 01:52:35 -08:00
Val Erastov
58c7e73a27 create merged surface 2018-01-03 01:52:35 -08:00
Val Erastov
bffc5c12be store reference surface for merged surfaces 2018-01-03 01:52:35 -08:00
Val Erastov
7ae9190587 fix face filtering 2018-01-03 01:52:35 -08:00
Val Erastov
7b5a547755 fix edge merging 2018-01-03 01:52:35 -08:00
Val Erastov
34c1df0bb7 unit tests for enclosures 2018-01-03 01:52:34 -08:00
Val Erastov
6b32657a98 merge faces fail 2018-01-03 01:52:34 -08:00
Val Erastov
9f27fcf193 fix refresh sketch problem 2018-01-03 01:52:34 -08:00
Val Erastov
2a358a057d edge transferring 2018-01-03 01:52:34 -08:00
Val Erastov
e85fa9ec03 add support for loop detection debug 2018-01-03 01:52:17 -08:00
Val Erastov
96db923fb1 setup brep debuging toolkit 2018-01-03 01:46:46 -08:00
Val Erastov
b37e1baed3 enable axises for 3d viewer 2018-01-03 01:46:18 -08:00
xibyte
0569f5392b work on BREP debugger 2018-01-03 01:45:51 -08:00
Val Erastov
334b6f46e0 boolean debug 2018-01-03 01:45:51 -08:00
xibyte
1597c5f4b3 setup debugger UI 2018-01-03 01:45:51 -08:00
xibyte
4211c02bc8 brep-boolean / transfer edges 2018-01-03 01:43:29 -08:00
Val Erastov
2963298896 brep-boolean / first approach to face merge 2018-01-03 01:43:11 -08:00
Val Erastov
3beda92ad7 improve error handling 2018-01-03 01:35:51 -08:00
xibyte
058e5d55ac ray cast overlapping surfaces 2018-01-03 01:35:41 -08:00
Val Erastov
c6c1c5be6e ray cast and vector perturbation 2018-01-03 01:35:41 -08:00
Val Erastov
ec1d8dc90e 3d raycast for face filtering 2018-01-03 01:35:25 -08:00
Val Erastov
6cbfb5e37f cleanup pip 2018-01-03 01:30:28 -08:00
xibyte
276927cd4f filter 2018-01-03 01:30:28 -08:00
Val Erastov
daf97b10d5 tweaking epsilon value 2018-01-03 01:30:28 -08:00
Val Erastov
bd490f13b7 boolean manifold 2018-01-03 01:30:28 -08:00
Val Erastov
1714daefe8 fix whitespaces 2018-01-03 01:29:17 -08:00
Val Erastov
e3c12d45cd fix edge rendering 2018-01-03 01:29:17 -08:00
Val Erastov
0340fc7f0d use squared tolerance for vector equality test 2018-01-03 01:29:17 -08:00
Val Erastov
246e984e64 boolean / nurbs curve 2018-01-03 01:29:17 -08:00
Val Erastov
fb96ccb57f add exact intersection calculation for curves 2018-01-03 01:29:17 -08:00
Val Erastov
aeac9a80ef fix nurbs rendering 2018-01-03 01:29:17 -08:00
Val Erastov
f5a27018bb cleanup debug statements for tessellation module 2018-01-03 01:29:16 -08:00
Val Erastov
38eb5ecee4 export bfgs fmin 2018-01-03 01:27:46 -08:00
Val Erastov
b4bd21c4af brep / fix nurbs degree 2 for planes 2018-01-03 01:27:46 -08:00
Val Erastov
7aea6bd872 brep / move nurbs implementation code out to the nurbs-impl module 2018-01-03 01:27:46 -08:00
xibyte
cbf5739c36 curve tess 2018-01-03 01:27:46 -08:00
Val Erastov
323f3fe190 brep boolean cylinders 2018-01-03 01:27:46 -08:00
Val Erastov
b2b1535d41 reimplement brep tesselation 2018-01-03 01:27:18 -08:00
xibyte
9a699cdf1d move face evolve to a module / fix UI 2018-01-03 01:26:10 -08:00
Val Erastov
b1d37daa6f brep tesselation 2018-01-03 01:26:10 -08:00
Val Erastov
2c26739938 extract point in polygon classification to a separate module 2018-01-03 01:23:24 -08:00
Val Erastov
557ea09807 prepare for brep tesselation 2018-01-03 01:22:42 -08:00
Val Erastov
811a633167 nurbs boolean support 2018-01-03 01:22:28 -08:00
xibyte
8b868515a6 introduce brep-enclose and brep-builder 2018-01-03 01:19:39 -08:00
Val Erastov
9f168e563a nurbs curve-curve intersection 2018-01-03 01:17:04 -08:00
Val Erastov
496cf22ba9 scratch tests for nurbs boolean 2018-01-03 01:16:58 -08:00
xibyte
3c910e4838 support nurbs / vertex factory for boolean 2018-01-03 01:16:51 -08:00
Val Erastov
e3859bdebc support nurbs / adopt nurbs api for boolean 2018-01-03 01:16:43 -08:00
Val Erastov
43b27d18c5 refactor brep-builder 2018-01-03 01:07:51 -08:00
Val Erastov
b59dfca014 rough NURBS-BREP tesselation, only plane nurbses supported 2018-01-03 01:07:28 -08:00
Val Erastov
60e1455bb1 NURBS suport for BREP boolean / adjusting the API 2018-01-03 01:04:39 -08:00
xibyte
a2da7e348d fix plane wizard/operations 2017-08-23 00:56:33 -07:00
xibyte
4d4085d835 simple revolve support 2017-08-23 00:05:29 -07:00
xibyte
89a06e4da4 fix paths for windows 2017-08-23 00:05:29 -07:00
Val Erastov
6dc0f99746 nurbs boolean 2017-08-23 00:05:29 -07:00
Val Erastov
9983904a70 Some method for generic boolean algorithm 2017-08-23 00:04:04 -07:00
Val Erastov
898cd156bf NURBS support for circles 2017-08-23 00:04:04 -07:00
Val Erastov
5d71132d80 fix normal calculation for stitched NURBS 2017-08-23 00:04:03 -07:00
Val Erastov
0ef8316d72 create curved surfaces for extruding based on NURBS / NURBS tiling 2017-08-23 00:04:03 -07:00
Val Erastov
45b7ee3083 data structures for the adaptive NURBS tiling 2017-08-23 00:04:03 -07:00
Val Erastov
eecae5df98 clean up scratch code 2017-08-23 00:04:03 -07:00
Val Erastov
9c5033c0e9 reverse a NURBS if a contour's sketch primitive is inverted 2017-08-23 00:04:03 -07:00
Val Erastov
13f2f8f6ee PIP for NURBS 2017-08-23 00:03:53 -07:00
Val Erastov
cad474b100 add alias for the toArray method of Vector 2017-04-13 17:46:16 -07:00
Val Erastov
f470c960f4 represent an arc as a NURBS 2017-04-13 00:59:14 -07:00
Val Erastov
78bda1e93b get load heavy libs by browser 2017-04-13 00:59:14 -07:00
Val Erastov
933f7ae446 check in verb nurbs lib 2017-04-12 18:13:26 -07:00
Val Erastov
84d8141165 nurbs surface 2017-04-12 16:56:22 -07:00
Val Erastov
c96a9f2b40 disable creation of an approximated curve for Arcs 2017-04-10 21:58:49 -07:00
Val Erastov
534d57461f simplify test for the nested faces case 2017-04-10 00:54:05 -07:00
Val Erastov
7afd2a8be6 fix nested faces bug 2017-04-10 00:47:53 -07:00