Commit graph

1206 commits

Author SHA1 Message Date
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