Commit graph

1635 commits

Author SHA1 Message Date
Leonardo Zide
92227eda8b Removed unused variable. 2021-01-12 13:48:04 -08:00
Leonardo Zide
c92c423e3f Added option to color grid origin lines. Fixes #372. 2021-01-11 18:49:57 -08:00
Leonardo Zide
e873ba2a35 Split console output into stdout and stderr. 2021-01-11 09:54:56 -08:00
Leonardo Zide
7222e8db14 Fixed default preview placement. 2021-01-11 08:59:29 -08:00
Leonardo Zide
9a681bff0f Print message when saving files from the command line. 2021-01-10 18:07:27 -08:00
Francisco J. Solis-Munoz
bdd4dcdf3d Fixed initialization order at compile time 2021-01-10 19:59:01 -06:00
Leonardo Zide
f13e4ad056 Refactored command line parsing. 2021-01-10 17:45:28 -08:00
Leonardo Zide
5ca460c0bf Set default surface format before creating lcApplication instance. Fixes #594 , #577. 2021-01-10 11:03:54 -08:00
Leonardo Zide
6bfc4ff9b1 Removed Tex2DMS functions. 2021-01-09 18:01:03 -08:00
Leonardo Zide
a0867c9b80 Framebuffer cleanup. 2021-01-09 17:57:24 -08:00
Leonardo Zide
31ce044a65 Cleanup. 2021-01-09 16:37:32 -08:00
Leonardo Zide
138f749053 Use part color for wireframe lines. 2021-01-09 16:02:23 -08:00
Leonardo Zide
601eb56322 Fixed edge around parts list images. 2021-01-08 15:11:02 -08:00
Leonardo Zide
dbb4c9e44b QGLWidget cleanup. 2021-01-08 11:25:24 -08:00
Leonardo Zide
ab9df4a712 Require Qt 5.4. 2021-01-08 10:57:39 -08:00
Leonardo Zide
b70fab3059 Require Qt5. 2021-01-08 10:35:52 -08:00
Leonardo Zide
e6397a98ac Added background override. 2021-01-07 17:04:19 -08:00
Leonardo Zide
5058455666 Better page layout. 2021-01-07 11:48:43 -08:00
Leonardo Zide
ea83db6987 Added Page Setup Dialog. 2021-01-07 10:46:57 -08:00
Leonardo Zide
1abc81e02f Qt4 fix. 2021-01-06 18:02:56 -08:00
Leonardo Zide
f89ae87c26 Fixed runtime warning when saving images. 2021-01-06 17:55:38 -08:00
Leonardo Zide
f4461756bd Added Page Setup controls. 2021-01-06 17:45:38 -08:00
Leonardo Zide
5c2a5aa167 Dockable page list widget. 2021-01-06 14:06:15 -08:00
Leonardo Zide
2d5d719902 Fixed wrong signal. 2021-01-06 13:40:16 -08:00
Leonardo Zide
47661710db Don't create widgets when saving images from the command line. 2021-01-06 09:55:03 -08:00
Leonardo Zide
39af536301 Multiple rows/columns instructions. 2021-01-05 18:48:12 -08:00
Leonardo Zide
e6d2c6bdce Maybe clang fix. 2021-01-05 15:43:23 -08:00
Leonardo Zide
52ab6c4f59 gcc fixes. 2021-01-05 15:19:53 -08:00
Leonardo Zide
f9c025f3b9 Show preview widget when double clicking. Fixes #589. 2021-01-05 12:32:03 -08:00
Leonardo Zide
176b238faa Array cleanup. 2021-01-05 12:27:45 -08:00
Leonardo Zide
cb710206b7 Moved key functions into a separate class. 2021-01-05 11:26:01 -08:00
Leonardo Zide
660bb38bdd Fixed typo. 2021-01-03 15:01:28 -08:00
Leonardo Zide
098ee45e5b Better ortho zoom. 2021-01-03 12:19:57 -08:00
Leonardo Zide
725901e97e Fixed Qt4 error. 2021-01-03 11:26:47 -08:00
Leonardo Zide
28c27d8326 Fixed hidden floating dockwidgets flashing at startup. Fixes #588. 2021-01-02 10:49:56 -08:00
Leonardo Zide
cfe3fc0284 Fixed zoom extents direction. Fixes #587. 2021-01-02 10:40:30 -08:00
Leonardo Zide
80f5eb5582 Reorganized application shutdown. 2021-01-02 10:23:51 -08:00
Leonardo Zide
72763ddc11 Create offscreen context at startup and reuse it. 2021-01-01 18:41:28 -08:00
Leonardo Zide
6b2f8fa68c Viewpoint name parsing cleanup. 2021-01-01 15:04:27 -08:00
Leonardo Zide
3d77537408 Clear placeholder model mesh. Fixes #586. 2021-01-01 14:28:08 -08:00
Leonardo Zide
2e2b1f0bb5 Resize view before setting camera when saving images from the command line. 2021-01-01 12:14:30 -08:00
Leonardo Zide
6c06e329e6 Customizable marquee colors. Fixes #544. 2020-12-31 15:54:28 -08:00
Leonardo Zide
24f3bbb45a Better ortho zoom extents math. 2020-12-31 14:46:31 -08:00
Leonardo Zide
69cfc71f3b Removed global placeholder mesh. 2020-12-31 14:23:08 -08:00
Leonardo Zide
499e648673 Use individual bounding boxes for zoom extents. 2020-12-31 10:22:12 -08:00
Leonardo Zide
e99c776878 More readable startup code. 2020-12-30 18:22:02 -08:00
Leonardo Zide
9f6c0abf23 Set MSAA from application. 2020-12-30 16:43:23 -08:00
Leonardo Zide
98411ecebc Added text color option. Fixes #581. 2020-12-30 13:44:08 -08:00
Leonardo Zide
801aab7cce Show error message if save option used without a file name. 2020-12-30 11:06:38 -08:00
Leonardo Zide
12089cca33 Removed properties widget margins. 2020-12-30 10:48:51 -08:00
Leonardo Zide
7ec71d8602 Reorganized view sphere and preview options. Fixes #584. 2020-12-30 10:39:04 -08:00
Leonardo Zide
855ca66018 Removed margins. 2020-12-29 19:27:40 -08:00
Leonardo Zide
58981f9580 Added option to paint selected pieces. Fixes #561. 2020-12-29 19:20:03 -08:00
Leonardo Zide
3358553e1d Moved clear functions to context. 2020-12-29 15:32:11 -08:00
Leonardo Zide
80adb54acf Always keep 1 context valid. 2020-12-29 14:42:59 -08:00
Leonardo Zide
6cc91c0f20 Use offscreen context for the parts list. 2020-12-29 12:23:36 -08:00
Leonardo Zide
1367a5d6f4 Fixed parts list icons when MSAA is on but not supported. 2020-12-28 18:10:54 -08:00
Leonardo Zide
129e0f886f Compile fix. 2020-12-28 17:54:24 -08:00
Leonardo Zide
125d4a1349 Compile fix. 2020-12-28 17:41:56 -08:00
Leonardo Zide
4ed04e4e25 Use an offscreen buffer when saving images from the command line. 2020-12-28 17:30:41 -08:00
Leonardo Zide
985fb8b778 Fixed MSAA check. 2020-12-28 14:36:04 -08:00
Leonardo Zide
0499e055e1 Crash fix #578. 2020-12-28 12:08:10 -08:00
Leonardo Zide
7c9e3a34ee Don't show context menu when a clickable tool is assigned to the right button. 2020-12-28 10:42:51 -08:00
Leonardo Zide
542304f82e Use recalculated up vector. Fixes #574. 2020-12-28 10:16:40 -08:00
Leonardo Zide
7ef1d7b733 Fixed crash when MSAA is not available. Fixes #573. 2020-12-28 09:42:13 -08:00
Leonardo Zide
4e6cbca31c Switch to QOpenGLWidget. 2020-12-27 13:05:55 -08:00
Leonardo Zide
2ccdc85f00 Workaround for what looks like a Qt crash when closing the app with a floating preview. 2020-12-26 18:16:01 -08:00
Leonardo Zide
24c9335c7f Added Q_OBJECT. 2020-12-26 18:15:35 -08:00
Leonardo Zide
81fb79b805 Use fewer draw calls for the axis. 2020-12-26 16:30:28 -08:00
Leonardo Zide
81817ac4ad Merged duplicate preview view sphere settings. 2020-12-26 16:00:51 -08:00
Leonardo Zide
18ad850e1a Fixed preview overlays and zoom extents. 2020-12-26 12:10:14 -08:00
Leonardo Zide
ddd8405c7e Color entire axis arrows. 2020-12-26 11:53:35 -08:00
Leonardo Zide
c26b52ea5e Fixed preview axis. Fixes #571. 2020-12-26 11:44:41 -08:00
Leonardo Zide
17cada38b6 Warning fix. 2020-12-26 11:09:15 -08:00
Leonardo Zide
7de5d4eb22 Renamed view class. 2020-12-25 10:54:33 -08:00
Leonardo Zide
939e80ab4b Renamed view files. 2020-12-25 10:43:22 -08:00
Leonardo Zide
620ac457e5 Merged View and lcGLWidget. 2020-12-25 10:37:59 -08:00
Leonardo Zide
56daed4182 Removed OnInitialUpdate. 2020-12-24 17:14:36 -08:00
Leonardo Zide
c8eebe5d77 Detect files that have Name or Author on the first line. Fixes #568. 2020-12-24 12:10:47 -08:00
Leonardo Zide
e27b235936 Derive preview from view. 2020-12-24 11:32:56 -08:00
Leonardo Zide
72bb41e8aa Added shortcut to toggle the grid. 2020-12-23 19:10:54 -08:00
Leonardo Zide
95bf7e43ff Rotate view around the minifig center. 2020-12-23 18:45:34 -08:00
Leonardo Zide
bcfbaa3080 Crash fix. 2020-12-23 18:30:01 -08:00
Leonardo Zide
2718a4253c Cleanup. 2020-12-23 18:16:00 -08:00
Leonardo Zide
0282a88c87 Sort part counts numerically. 2020-12-23 18:07:12 -08:00
Leonardo
9f5782294e Fixed view preferred size. 2020-12-21 17:34:42 -08:00
Leonardo Zide
aa1d802c04 Removed strlwr. 2020-12-20 12:06:14 -08:00
Leonardo Zide
d1991b9264 Moved Minifig Dialog. 2020-12-20 11:24:50 -08:00
Leonardo Zide
f5ddd46776 Flush text stream before writing. Fixes #562. 2020-12-20 11:13:57 -08:00
Leonardo Zide
95bdf1a615 Fixed minifig wizard not updating. 2020-12-19 18:51:54 -08:00
Leonardo Zide
546ab19785 Cleanup. 2020-12-19 16:13:25 -08:00
Leonardo Zide
b77210db22 Use a regular View for the Minifig Wizard. 2020-12-19 16:05:29 -08:00
Raymond S Brand
fd24accea7 Fix warnings 2020-12-19 14:48:06 -08:00
Leonardo Zide
84af94164d Fixed warnings. 2020-12-19 11:12:31 -08:00
Leonardo Zide
228d17bd28
Merge pull request #559 from j6t/master
Small code modernization around file handling during parts loading.
2020-12-19 09:55:29 -08:00
Johannes Sixt
b176cb421b Keep ZIP file objects in std::unique_ptr<> to clarify ownership. 2020-12-19 10:52:57 +01:00
Johannes Sixt
ac9954972d Pass file objects in std::unique_ptr<> to clarify ownership. 2020-12-19 10:52:57 +01:00
Johannes Sixt
f3683ee93e Remove unused parts library pathname member variables. 2020-12-19 10:52:57 +01:00
Leonardo Zide
e5a8eebdb8 Try to place new pieces near existing parts or the origin #548. 2020-12-18 19:13:03 -08:00
Leonardo Zide
1925c476d6 Show more models in the menu. Fixes #558. 2020-12-18 16:34:11 -08:00
Leonardo Zide
baa0a70de2 Refactored duplicate code. 2020-12-18 12:15:35 -08:00
Leonardo Zide
dcf8ddfd95 Crash fix restoring layout. 2020-12-18 11:04:16 -08:00
Raymond S Brand
34d61040f6 Add invocation option parameter checks 2020-12-18 10:51:24 -08:00
Leonardo
a492a935b6 Renamed lcQGLWidget to lcViewWidget. 2020-12-17 17:59:11 -08:00
Leonardo Zide
25d3bd63cd Merge branch 'master' of https://github.com/leozide/leocad 2020-12-16 15:16:17 -08:00
Leonardo
6c6c5c8f6d Update focus view correctly. 2020-12-16 10:28:43 -08:00
Leonardo
348b83155e Fixed warnings. Fixes #467. 2020-12-16 10:00:31 -08:00
Leonardo
6a48e8ddc8 Fixed warnings. 2020-12-16 09:41:19 -08:00
Leonardo Zide
dac9b599a5 Replaced includes with forward declares. 2020-12-15 18:47:58 -08:00
Leonardo Zide
c2d1b5ce7c Use events for view focus changes. 2020-12-15 18:27:54 -08:00
Leonardo Zide
de29c49608 Reorganized redraw. 2020-12-15 17:19:32 -08:00
Leonardo Zide
a0385a3783 Merged menu update functions. 2020-12-15 10:20:14 -08:00
Leonardo Zide
71ea45f085 Updated deprecated functions. 2020-12-14 15:08:43 -08:00
Leonardo Zide
3eec496047 Warning fixes. 2020-12-14 14:18:06 -08:00
Raymond S Brand
2ac471cca8 Add invocation option syntax checking 2020-12-14 14:16:20 -08:00
Leonardo Zide
86ef52e403 Added --camera-position-ldraw. 2020-12-13 18:23:52 -08:00
Leonardo Zide
581c4ce523 Compile fix. 2020-12-13 17:14:33 -08:00
Leonardo Zide
9a7e256c72 Set fov and clip planes before viewpoint so zoom extents is correct. 2020-12-13 17:10:25 -08:00
Leonardo Zide
fd92710cf8 Compile fix. 2020-12-13 17:05:27 -08:00
Leonardo Zide
65ef0d3b77 Compile fix. 2020-12-13 16:53:49 -08:00
Leonardo Zide
336afdba8a QString fix. 2020-12-13 16:30:01 -08:00
Leonardo Zide
2d7aba8895 Use QString for object names. 2020-12-13 16:27:21 -08:00
Leonardo Zide
1012fc20cd Cleanup. 2020-12-13 12:05:54 -08:00
Leonardo Zide
05963fc8b0
Merge pull request #549 from j6t/master
Work around ambiguous operator== reported by modern clang.
2020-12-13 10:34:47 -08:00
Leonardo Zide
1ce80b8c2c Have the view use signals to pass camera changes to the main window. 2020-12-13 10:33:42 -08:00
Leonardo Zide
fd8aca92df Scoped enum lcViewpoint. 2020-12-12 16:58:40 -08:00
Leonardo Zide
ea99066465 Disable stud logo options from preferences when unofficial parts are missing. 2020-12-12 15:21:30 -08:00
Leonardo Zide
847cbfeb87 Added camera command line options. 2020-12-12 15:03:06 -08:00
Johannes Sixt
515c0c183c Work around ambiguous operator== reported by modern clang.
The warning is about an ambiguity between a regular call and one with the
argument order reversed. Mark the operator const so that both operands are
treated equally.
2020-12-12 21:31:31 +01:00
Leonardo Zide
70d5daaac4 New command line options. 2020-12-12 11:27:06 -08:00
Leonardo Zide
489f5e6f7e Merged DrawViewport(). 2020-12-11 18:01:04 -08:00
Leonardo Zide
c758ef2910 Qt deprecated cleanup. 2020-12-11 15:49:32 -08:00
Leonardo
6ae6fbade7 Removed deprecated functions. 2020-12-11 14:51:46 -08:00
Leonardo
eda0a705de Removed deprecated QResource usage. 2020-12-11 14:14:54 -08:00
Leonardo
caed332b3f Warn when assigning a keyboard shortcut that is already assigned to something else. Fixes #517. 2020-12-10 14:59:13 -08:00
Leonardo
14f891bd08 Update current step item in the timeline widget. 2020-12-09 13:58:44 -08:00
Leonardo Zide
db7259b7a5 Fixed ugly border in the Minifig Wizard. 2020-12-06 19:33:15 -08:00
Leonardo Zide
e52ea0ab63 Added LC_ARRAY_SIZE_CHECK for static array checks. 2020-12-06 11:26:55 -08:00
Leonardo Zide
c6c0718d18 Hide cursor while dragging. 2020-12-06 11:15:23 -08:00
Leonardo Zide
b981de80c5 Widget merge. 2020-12-06 10:52:57 -08:00
Leonardo Zide
28ccd8f681 Widget merge. 2020-12-05 12:17:09 -08:00
Leonardo Zide
8d09f90c54 Compile fix. 2020-12-05 11:19:11 -08:00
Leonardo Zide
60a0f9190d Widget merging. 2020-12-05 11:02:10 -08:00
Leonardo Zide
21d36bbac4 View Sphere cleanup. 2020-12-05 10:29:39 -08:00
Leonardo Zide
20a42e8fef Cleanup. 2020-12-05 08:50:12 -08:00
Leonardo Zide
a9fac6110b Inlined lcInputState. 2020-12-05 08:45:29 -08:00
Leonardo
525df8ad21 Widget cleanup. 2020-12-04 16:52:57 -08:00
Leonardo
7b320edc7a Scoped lcTrackTool. 2020-12-04 16:06:39 -08:00
Leonardo
366018ee8c Scoped lcTool. 2020-12-04 15:38:49 -08:00
Leonardo
256d3792b1 Widget cleanup. 2020-12-04 12:49:01 -08:00
Leonardo
194e02c74c Widget cleanup. 2020-12-04 11:40:53 -08:00
Leonardo Zide
9e12b480ce Moved DrawBackground to lcGLWidget. 2020-11-26 12:07:41 -08:00
Leonardo Zide
ef2220ffdc Moved background color to global options. 2020-11-26 11:51:50 -08:00
Leonardo Zide
462897caf7 Handle some malformed mpd files. Fixes #533.
- Skip duplicate submodels
- Skip recursive includes
2020-11-25 19:54:32 -08:00
Leonardo Zide
e2fb7b2ed9 Widget cleanup. 2020-11-14 12:47:55 -08:00
Leonardo Zide
f8ca2b848b Fix for GLES. 2020-11-06 18:55:36 -08:00
Leonardo Zide
6decd02761 Fixed crash on exit. Fixes #520. 2020-10-17 14:41:59 -07:00
Leonardo Zide
f7e89ee5c8 Better decorated part match. Fixes #510. 2020-10-17 10:32:22 -07:00
Trevor SANDY
a9912cc28c 3D Preview - add to toolbars menu and popup. Treats #514 2020-10-13 01:26:39 +02:00
Trevor SANDY
c5426abf24 3D Preview - update background from submodel properties. Treats #513 2020-10-13 01:26:39 +02:00
Leonardo Zide
28437d16f7 Fixed memory leak. 2020-10-11 17:29:32 -07:00
Leonardo Zide
8dad9dd269 Fixed AA not being applied to the preview widget. 2020-10-11 17:22:18 -07:00
Trevor SANDY
bdc4061a79 3D Preview - ignore update if existing piece and color matches 2020-10-08 15:17:31 +02:00
Trevor SANDY
959c815ad1 3D Preview - only update timeline item on double-click when in 'Floating' position
Remove duplicate updates in because when in 'Dockable' position, updates are triggered by single-click via the property tree
2020-10-08 14:00:52 +02:00
Trevor SANDY
b4e376a90d 3D Preview - treat object management and add missed call 2020-10-07 16:56:49 +02:00
Trevor SANDY
07d0365167 3D Preview - add preview display lock 2020-10-07 15:44:14 +02:00
Trevor SANDY
11966ca428 3D Preview - refactor and enable on property tree 2020-10-07 15:44:14 +02:00
Trevor SANDY
506b7a175f 3D Preview - Leo's fixes and formatting 2020-10-07 12:08:14 +02:00
Trevor SANDY
a239e504ec 3D Preview
3D Preview - restore doc format
2020-10-03 16:20:59 +02:00
Leonardo Zide
33679e4f70 Added shortcut to toggle axis display. Fixes #498. 2020-09-13 10:04:34 -07:00
Leonardo Zide
546eaf47cd Added option to duplicate submodels. Closes #502. 2020-09-07 11:29:37 -07:00
Leonardo Zide
0b4984672d Fixed selection/zoom region not being drawn in some cases. Fixes #491. 2020-08-23 10:16:54 -07:00
Leonardo Zide
8958e822a0 Added option to import/export mouse shortcuts. Fixes #490. 2020-08-22 18:47:03 -07:00
Leonardo Zide
0828fd1e2c Added mesh LOD distance option. 2020-08-15 16:16:26 -07:00
Leonardo Zide
e17a5719d9 Qt 4.8 fix. 2020-07-25 17:48:48 -07:00
Leonardo Zide
f4ddf94729 Old Qt fix. 2020-07-25 13:25:45 -07:00
Leonardo Zide
3903e905fe Dark color theme. 2020-07-25 13:21:22 -07:00
Leonardo Zide
92d75c4963 Support assigning shortcuts to toolbars. Fixes #463. 2020-07-11 12:22:01 -07:00
Leonardo Zide
0cead36c7f Added option to select the overlay and axis colors. Fixes #464. 2020-07-11 10:47:52 -07:00
Leonardo Zide
7ca69e37b7 Fixed crash on exit with Qt 5.15. 2020-07-11 09:17:43 -07:00
Leonardo Zide
aefe36dbca Use AA lines when AA is enabled. 2020-06-06 11:15:39 -07:00
Leonardo Zide
899c4c3cec
Merge pull request #479 from j6t/synth-update
Support small linear actuators; handle move large actuators and a new universal joint.
2020-06-01 12:31:20 -07:00
Leonardo Zide
cc68126a48 gcc fix. 2020-06-01 12:29:30 -07:00
Johannes Sixt
7ab0928fed Synthesize another universal joint.
The LDraw 2019-03 library update brought a new universal joint piece.

Adjust titles of the other joint that were updated at the same time.
2020-06-01 19:20:42 +02:00
Johannes Sixt
303b42ba12 Synthesize Technic Linear Actuator 4 x 1 x 1. 2020-06-01 18:23:20 +02:00
Johannes Sixt
48d6f14532 Synthesize linear actuators with new IDs.
Technic Power Functions Linear Actuators were moved to a new ID in the
2017-01 LDraw library update and then renamed in the 2019-03 update.
2020-06-01 18:22:48 +02:00
Leonardo Zide
44fa79ecb6 Instructions Dialog mockup. 2020-05-31 18:46:36 -07:00
Leonardo Zide
9e8400cbba Support local transforms for translations. 2020-05-08 17:53:53 -07:00
Leonardo Zide
f309d3fb0a Fixed translucent parts drawn with shading in flat shaded mode. Fixes #470. 2020-05-07 11:50:43 -07:00
Leonardo Zide
2390feb88f Deleted unsafe default operations. 2020-05-03 15:39:39 -07:00
Leonardo Zide
9fa660313a Use scoped enum. 2020-05-03 13:04:40 -07:00
Leonardo Zide
13ae577533 Use simple multiplicative tint for fade. 2020-05-03 12:39:04 -07:00
Leonardo Zide
b94b401b06 Save files with OMR style header. 2020-05-03 12:11:51 -07:00
Leonardo Zide
ab6b325b0a Fixed not being able to disable lines in flat shading mode. Fixes #466. 2020-04-28 16:11:52 -07:00
Leonardo Zide
53ed56e60f Added option to rotate pieces around their local center. Closes #430. 2020-04-26 20:01:35 -07:00
Leonardo Zide
a5fde91ee9 Configurable fade color. 2020-04-25 12:16:37 -07:00
Leonardo Zide
acd7dd3f9a Allow highlight color to be set by the user. 2020-04-25 11:36:28 -07:00
Leonardo Zide
b7f57c03f0 Skip faded passes when fade is disabled. 2020-04-24 18:13:53 -07:00
Leonardo Zide
47755fd4a0 Don't draw faded translucent parts in the prepass. 2020-04-24 18:08:48 -07:00
Leonardo Zide
4e6306a649 Translucent step fade. 2020-04-19 20:21:18 -07:00
Leonardo Zide
5a76f4c870 Scoped enums. 2020-04-18 19:45:21 -07:00
Leonardo Zide
a5c2e617d5 Array cleanup. 2020-04-18 19:38:29 -07:00
Leonardo Zide
ad45bb9a47 Paste pieces to the current step. Fixes #452. 2020-04-12 13:01:28 -07:00
Leonardo Zide
5e8baffcf7 Added shortcut option for Fade Previous Steps. Fixes #420. 2020-04-11 11:16:21 -07:00
Leonardo Zide
70da56bb05 More accurate bounding box calculation for submodels. 2020-04-11 11:04:27 -07:00
Johannes Sixt
ca73f3e3ad
Synthesis of Technic Universal Joints (#456)
* Split synth info initialzation by type.

We are going to remove the type enumeration and use a class hierarchy
instead. This preparation will then be helpful.

* Make Add...Parts() overrides of a virtual AddPart() function.

Since we have a class hierarchy for the different synthesized pieces, we
can now turn a case distinction into a virtual function call.

* Move initialization based on type to derived class constructors.

Move initialization of end transformations of flexible parts into
class lcSynthInfoCurved.

* Make GetDefaultControlPoints() virtual with overrides.

* Remove obsolete enum lcSynthType.

We have replaced its purpose by derived classes by now.

* Initialize shock absorbers' spring part ID early.

This removes the awkward early return that is needed in the if-else
cascade.

* Split lcSynthInfo into derived classes for curved and straight pieces.

* Only curved parts have varying sections, start, middle, and end properties.

Move the properties from the base class to the derived class that needs
them.

* Use derived classes to mark synthesized objects of different kinds.

We will extend the derived classes in the upcoming commits.

* PieceInfo is only needed to synthesize some hoses and shock absorbers.

* Initialize edge part IDs of flexible hoses early.

This removes another case distinction in AddParts().

* Verify the number of control points loaded from a model file.

* Synthesize Technic universal joints.

The direction of one end can be changed so that it points to the control
point.

* Technic universal joints need only the position of the control point.

* Synthesize legacy universal joints.
2020-03-30 12:17:08 -07:00
Leonardo Zide
b9662dd3e0 gcc fix. 2020-03-22 20:32:04 -07:00
Leonardo Zide
7275c4256d Added const qualifiers. 2020-03-22 20:18:52 -07:00
Leonardo Zide
66bed1a8f0 gcc fix. 2020-03-22 16:19:15 -07:00
Leonardo Zide
a5bb4a3051 Removed std::exchange. 2020-03-22 16:07:07 -07:00
Leonardo Zide
7c9773f228 Fixed override and virtual function qualifiers. 2020-03-22 15:44:41 -07:00
Leonardo Zide
90f1336a48 Scoped enums and constexpr. 2020-03-22 13:44:20 -07:00
Leonardo Zide
ade7334fa1 Support up to 10 control points and prevent the user from adding more. 2020-03-22 11:12:15 -07:00
Leonardo Zide
fab6a8fa11 Don't flag submodels as decorated parts. Fixes #453. 2020-03-14 11:24:56 -07:00
Leonardo Zide
85a9b19b2c Warning fixes. 2020-02-24 14:31:08 -08:00
Leonardo Zide
93ef9e0edc Fixed view size on retina displays. Fixes #447. 2020-02-24 12:58:38 -08:00
Leonardo Zide
e9c38e4f39 Added scoped enums. 2020-02-15 11:36:06 -08:00
Leonardo Zide
e5d06a29a2 Renamed pipette to color picker and fixed indentation. 2020-02-15 11:14:12 -08:00
RenateZwei
aa3ead6504
Added color picker (#446)
Added color picker
2020-02-15 10:59:14 -08:00
Leonardo Zide
bee37f0bc6 Fixed incorrect bounding box drawing when dragging a new submodel. 2020-02-01 11:42:22 -08:00
Leonardo Zide
fb7f952e98 Fixed a case where drag and drop a submodel didn't do anything. 2020-02-01 11:34:56 -08:00
Leonardo Zide
60aca425a0 Fixed crash using undo while dragging a new part. 2020-02-01 10:58:19 -08:00
Leonardo Zide
d626048a64 Fixed view not refreshing after cancelling a drop. 2020-02-01 10:42:29 -08:00
Leonardo Zide
be2f4caf65 Include parts in submodels in the 'Parts in Use' category. Fixes #436. 2020-02-01 10:33:51 -08:00
Leonardo Zide
9b7c7563a2 Added option to insert steps after the current step to avoid confusion. Fixes #373 and #408. 2020-01-26 18:41:31 -08:00
Leonardo Zide
bbc40d5a22 Start new model when closing the last tab. Fixes #422. 2020-01-26 11:31:21 -08:00
Leonardo Zide
59098436b7 Use menu names for the keyboard preferences. Fixes #411. 2020-01-26 11:03:41 -08:00
Leonardo Zide
a87a19f9c9 Fixed crash unzipping uncompressed files. 2020-01-25 12:44:50 -08:00
Leonardo Zide
93e8f4a85e Fixed possible buffer overflow. 2020-01-24 13:12:34 -08:00
Leonardo Zide
3b8b22493a Reorganized PLI function. 2020-01-20 15:39:20 -08:00
Leonardo Zide
ddf6f9dbba Automatically zoom out parts in the parts list image if needed. 2020-01-18 18:47:15 -08:00
Leonardo Zide
b698686420 Fixed compiler warnings. 2020-01-18 16:53:33 -08:00
Leonardo Zide
58957440cf Fixed crash loading certain parts. 2020-01-17 14:44:35 -08:00
Leonardo Zide
51fe5416b4 Replaced HTML parts list with BOM style image. 2020-01-14 12:48:18 -08:00
Leonardo Zide
6d818d48d2 Fixed HTML export not including submodels. Fixes #429. 2020-01-11 12:45:36 -08:00
Leonardo Zide
b43675f323 Array cleanup. 2020-01-10 17:40:14 -08:00
Leonardo Zide
220fb26a3a Added button to import inventories to a palette. 2020-01-09 12:06:42 -08:00
Leonardo Zide
7a78f86cd5 Workaround for Qt changing the order of items when drag and dropping. Fixes #424. 2020-01-05 18:14:50 -08:00
Leonardo Zide
9bc99235ef Fixed compiler warnings. 2020-01-05 15:19:50 -08:00
Leonardo Zide
8f48b09ae3 Added view sphere toggle. Fixes #284. 2020-01-05 11:38:24 -08:00
Leonardo Zide
636f84ad6c Fixed recent file being removed from menu when cancelling saving the current file. 2020-01-04 11:25:52 -08:00
Leonardo Zide
6891c59d38 Elide status bar text. Fixes #417. 2020-01-04 10:48:17 -08:00
Leonardo Zide
3044bf3972 Fixed compiler warnings. 2020-01-03 17:22:35 -08:00
Leonardo Zide
24fe422a8b Added option to disable restoring tabs. Closes #412. 2020-01-01 17:10:24 -08:00
Leonardo Zide
cbf534fcdf Added option to fade previous steps. 2020-01-01 17:06:17 -08:00
Leonardo Zide
587207b7cf Fixed current category changing to all parts. 2020-01-01 09:03:37 -08:00
Leonardo Zide
c7c6a42f78 Fixed used parts list not being sorted. 2020-01-01 09:01:10 -08:00
Leonardo Zide
1f441907ee Fixed crash loading files with invalid type 1 lines. Fixes #413. 2019-12-31 13:07:45 -08:00
Leonardo Zide
8309f0bf35 Added print margin. 2019-12-30 16:45:28 -08:00
Leonardo Zide
75839ee6fd Fix for Qt4. 2019-12-30 16:26:29 -08:00
Leonardo Zide
62ff114279 Fixed print font size. 2019-12-30 16:19:46 -08:00
Leonardo Zide
eae50b6836 Print submodels. Fixes #409. 2019-12-30 16:04:58 -08:00
Leonardo Zide
dce9a6095d Fixed crash when creating new submodel. 2019-12-30 08:19:42 -08:00
Leonardo Zide
524e154caa Show current step as bold in the timeline. 2019-12-29 12:33:13 -08:00
Leonardo Zide
1f839be310 Fixed invalid step being set in some cases. 2019-12-29 11:48:55 -08:00
Leonardo Zide
352a448b63 Always show an extra step at the end of the timeline. 2019-12-28 16:36:53 -08:00
Leonardo Zide
1c5c82a609 Avoid rolling the camera when using Look At. Fixes #407. 2019-12-25 12:25:32 -08:00
Leonardo Zide
75bc3cfaf8 Added Palette Edit Dialog. 2019-12-15 19:01:55 -08:00
Leonardo Zide
9c3505b628 Fixed in place editing. 2019-12-12 14:04:51 -08:00
Leonardo Zide
ca53610637 Added part selection button icon. 2019-12-11 17:26:18 -08:00
Leonardo Zide
24890ecebd Added array count macro. 2019-12-09 11:43:54 -08:00
Leonardo Zide
9ad9675062 Renamed sets to palettes. 2019-12-08 19:19:02 -08:00
Leonardo Zide
4ace604dcc Fixed gcc error. 2019-12-08 18:52:06 -08:00
Leonardo Zide
aa28254a37 Support multiple part sets. 2019-12-08 16:54:12 -08:00
Leonardo Zide
7b21d4af0b Fixed Qt4 errors. 2019-12-07 11:23:50 -08:00
Leonardo Zide
17a230c52a Added favorite parts category. 2019-12-07 09:52:46 -08:00
Leonardo Zide
9fe520c56a Fixed selection not being drawn. 2019-12-07 08:31:56 -08:00
Leonardo Zide
e9cdeed008 Sort piece insert preview with the rest of the scene. 2019-11-30 12:19:13 -08:00
Leonardo Zide
2bd9b837dc Always draw grid between opaque and translucent meshes. Fixes #399. 2019-11-30 11:38:11 -08:00
Leonardo Zide
41b89de83f Added language option. Closes #336. 2019-11-28 13:52:06 -08:00
Leonardo Zide
0ecc4b5966 Added option to disable mesh LOD. Closes #400. 2019-11-28 12:47:19 -08:00
Leonardo Zide
9e41edfef0 Fixed loading mpd files with consecutive NOFILE statements. 2019-11-26 12:13:22 -08:00
Leonardo Zide
33fe9cfac2 Faster parts list sorting. 2019-11-23 10:46:18 -08:00
Leonardo Zide
bd25c7f31a Sort translucent meshes per section. 2019-11-22 16:47:58 -08:00
Leonardo Zide
481d4e6e81 Added bounding boxes to mesh sections. 2019-11-22 12:48:40 -08:00
Leonardo Zide
226a4581aa Reset polygon offset after drawing. 2019-11-18 14:32:53 -08:00
Leonardo Zide
33caa613e7 Enabled alpha test when drawing grid studs. 2019-11-17 11:17:51 -08:00
Leonardo Zide
081373742e Translucent mesh sorting fixes and improvements. 2019-11-16 12:15:49 -08:00
Leonardo Zide
8cfddcefa3 Removed unused variable. 2019-11-12 15:13:47 -08:00
Leonardo Zide
eed93e183d Draw textured and untextured meshes together. 2019-11-12 15:11:03 -08:00
Leonardo Zide
5854cfce89 Added wrapper for glDepthMask. 2019-11-09 18:11:25 -08:00
Leonardo Zide
655498f3ee Draw opaque textured meshes before translucent meshes. 2019-11-09 11:54:17 -08:00
Leonardo Zide
94e3ca1d9a Improved alignment of minifig arms. Fixes #242. 2019-11-07 16:17:26 -08:00
Leonardo Zide
f266040633 Don't apply textures to lines. 2019-11-02 11:38:24 -07:00
Leonardo Zide
fcd3f47e23 Prevent users from collapsing the category/parts lists. Closes #397. 2019-10-27 11:31:46 -07:00
Leonardo Zide
e4f4ea2ef2 Support loading textures from the unofficial folder. 2019-10-26 11:41:49 -07:00
Leonardo Zide
eed617c04c Fixed missing triangles in lods with textures. 2019-10-26 11:30:25 -07:00
Leonardo Zide
fc054c1566 Updated bricklink color table. Fixes #393. 2019-10-05 10:07:08 -07:00
Leonardo Zide
9499dd9daa Fixed stud LOD not working. Fixes #390.
Also fixed cached pieces not updating their logo settings.
2019-09-29 12:58:18 -07:00
Leonardo Zide
4269e84a16 Fixed parts with studs in primitives not reloading when changing the logo setting. 2019-09-27 14:52:50 -07:00
Leonardo Zide
fa06a83704 Add stud logo setting to cache check. 2019-09-23 17:06:16 -07:00
Leonardo Zide
ed5259229e Fixed mesh cache not loading parts. 2019-09-23 16:56:47 -07:00
Leonardo Zide
66bbb8d9de Simpler stud reload. 2019-09-23 16:55:24 -07:00
Trevor SANDY
f91da8a7ce Change stud logo without application restart (#389)
* Change stud logo without application restart

* Refactor change stud logo without application restart
2019-09-23 16:22:11 -07:00
Trevor SANDY
5adcfb4027 Add stud logo preference and command line option (#387)
* Add stud logo preference and command line option

* Support add stud logo when using disk library
2019-09-21 09:47:33 -07:00
Leonardo Zide
23eb88df4f Added minifig template import/export. 2019-09-14 17:05:13 -07:00
Gerd Wachsmuth
516ddcbf7e Fix two issues with pivot points (#382)
- ResetPivotPoint() now truely resets the pivot point (and not only
invalidating it).
- The copy constructor of lcPiece now also copies the state of the pivot
point. Thus, duplicating pieces also duplicates the pivot points.
2019-08-20 14:52:29 -07:00
Leonardo Zide
1fef25a740 Added distance parameter to SetAngles. 2019-08-15 17:41:32 -07:00
Leonardo Zide
7c81198e7d Added Camera::GetAngles for LPub. 2019-08-15 17:33:37 -07:00
Leonardo Zide
ab94e51cf3 Keep the current camera settings when switching to a preset viewpoint. 2019-08-11 11:38:46 -07:00
Leonardo Zide
3b80bbabee Fixed projection menu not updating after switching cameras. 2019-08-10 19:26:19 -07:00
Leonardo Zide
44bdb22a5b Try to add lights and cameras near the center of the model. 2019-08-10 12:31:28 -07:00
Leonardo Zide
e523398c70 Added option to hide part aliases. Fixes #378. 2019-08-04 11:00:41 -07:00
Leonardo Zide
1e2f6c208f Moved mesh loading code to a separate file. 2019-07-27 16:31:16 -07:00
Leonardo Zide
560b5f3351 Fixed Qt4. 2019-07-21 10:30:45 -07:00
Leonardo Zide
a9ff4d265b Replaced PieceInfo flags with enum. 2019-07-21 09:26:36 -07:00
Leonardo Zide
e68ce05b57 Moved mesh flags to the mesh class. 2019-07-21 08:56:37 -07:00
Leonardo Zide
6c7291b919 Updated version. 2019-07-14 18:22:57 -07:00
Leonardo Zide
bcffeb3727 Removed horizontal lines from dialogs. 2019-07-14 18:17:58 -07:00
Leonardo Zide
4293829386 Fixed modified dialog showing after a file is saved. 2019-07-14 18:03:17 -07:00
Leonardo Zide
1457dde9e5 Updated version number. 2019-07-14 10:07:54 -07:00
Leonardo Zide
d1a80399c8 Check if camera values are nan when loading tab layouts. 2019-07-13 08:58:31 -07:00
Leonardo Zide
d5bcf46da1 Fixed warnings. 2019-07-09 08:47:15 -07:00
Leonardo Zide
cd3a03e1de Fixed warnings. 2019-07-08 18:34:34 -07:00
Leonardo Zide
4493c3f6f2 Array cleanup. 2019-07-04 17:06:26 -07:00
Leonardo Zide
3d9395e175 Avoid adding the project file to the file watcher multiple times. 2019-07-04 15:35:52 -07:00
Leonardo Zide
d0f1b2e49e Qt4 fix. 2019-07-01 14:58:10 -07:00
Leonardo Zide
1bfa710706 Only close tab if the user clicked and released the mouse on the same tab. 2019-07-01 14:38:10 -07:00
Thomas Cujé
0bae463b71 Close tab with middle mouse click (#363) 2019-07-01 14:11:47 -07:00
Leonardo Zide
b42e3b7e31 Array cleanup. 2019-06-23 18:28:14 -07:00
Leonardo Zide
6681986517 Delete popup menus after they are shown. 2019-06-23 13:15:12 -07:00
Leonardo Zide
4c0a696661 Fixed LDD import not converting transforms correctly. Fixes #355. 2019-06-23 12:52:53 -07:00
Johannes Sixt
19e1493251 Fix spring of synthesized shock absorbers (stiff, extra stiff, soft versions) (#360) 2019-06-23 10:48:25 -07:00
Leonardo Zide
5a3abf18e0 Allow custom color and minifig settings files. Fixes #359. 2019-06-20 18:52:33 -07:00
Leonardo Zide
6b26b2597e Added bricklink rubber colors. 2019-06-18 16:02:35 -07:00
Leonardo Zide
50daa6a3b6 Use Peeron color table for BrickLink colors. 2019-06-05 15:24:53 -07:00
Leonardo Zide
1ae3cfa8b0 Always list part quantity in BrickLink export. 2019-06-05 14:37:00 -07:00
Leonardo Zide
617a667521 Array cleanup. 2019-06-04 18:45:22 -07:00
Leonardo Zide
a464606507 Fixed compiler warnings. 2019-06-03 13:23:04 -07:00
Leonardo Zide
7001cdf11d Fixed crash loading textured parts. 2019-06-02 09:39:12 -07:00
Leonardo Zide
b8c2074c93 Fixed primitives under p/8/ not being found by loose file libraries. 2019-06-01 19:54:09 -07:00
Leonardo Zide
f74b7bc801 Prompt to save ldr files with multiple models as mpd. Fixes #311. 2019-06-01 11:11:36 -07:00
Leonardo Zide
9809cbc919 Fix for Qt4. 2019-05-30 12:26:10 -07:00
Leonardo Zide
514c1e54ec Moved common includes to precompiled header. 2019-05-30 12:06:54 -07:00
Leonardo Zide
0d1af47be4 Warning fixes. 2019-05-28 11:10:21 -07:00
Leonardo Zide
e45fe81ace Array cleanup. 2019-05-27 16:39:51 -07:00
Leonardo Zide
cf135bcbc5 Fixed compiler warnings. 2019-05-27 16:22:49 -07:00
Leonardo Zide
7d43f54e6e Fixed normal smoothing between texture and untextured triangles. Fixes #175. 2019-05-27 16:07:20 -07:00
Leonardo Zide
48dca161c0 Merge branch 'master' of https://github.com/leozide/leocad 2019-05-26 11:08:51 -07:00
Leonardo Zide
3070d25663 Support exporting flexible parts. Fixes #157. 2019-05-26 11:08:47 -07:00
Leonardo Zide
207d1158a7 Fixed compiler warnings. 2019-05-21 14:17:51 -07:00
Leonardo Zide
602dfeb8b6 Fixed /w4 warnings. 2019-05-18 11:33:27 -07:00
Leonardo Zide
ec720a6c04 Fixed ldconfig.ldr loading on case sensitive file systems. Fixes #348. 2019-05-18 10:49:52 -07:00
Leonardo Zide
d793373923 Set minimum height for parts list. 2019-05-11 16:07:27 -07:00
Leonardo Zide
2e5494c0df Set minimum parts list width. Fixes #346. 2019-05-11 12:05:26 -07:00
Leonardo Zide
8ca4831003 Fixed crash running offscreen. 2019-04-02 11:19:23 -07:00
Leonardo Zide
2f102c2274 Array cleanup. 2019-03-28 17:59:58 -07:00
Leonardo Zide
80d8016a5a Fix for compiler errors on Mageia. 2019-03-28 15:44:30 -07:00
Leonardo Zide
590422a30a Array cleanup. 2019-03-17 13:27:57 -07:00
Leonardo Zide
3f7db06fce Improved readability of texture mapping parameters. 2019-03-17 13:17:11 -07:00