Commit graph

1270 commits

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