Commit Graph

762 Commits

Author SHA1 Message Date
Roman Telezhynskyi
a6437dbb3b Fix incorrect nesting status for valid cases. 2020-11-26 19:12:59 +02:00
Roman Telezhynskyi
f4f6ba9989 Improve canceling nesting. 2020-11-26 19:11:42 +02:00
Roman Telezhynskyi
4041f9e154 Restore layout debug system. 2020-11-26 19:10:09 +02:00
Roman Telezhynskyi
b82d6f1bb1 Merge remote-tracking branch 'origin/develop' into feature/manual-layout 2020-11-20 13:40:39 +02:00
Roman Telezhynskyi
80d9fbc107 New function Warning. 2020-11-20 13:18:38 +02:00
Roman Telezhynskyi
0371905c0d Merge remote-tracking branch 'origin/develop' into feature/manual-layout 2020-11-10 16:00:01 +02:00
Roman Telezhynskyi
d10f20f399 Extend placeholders list with list of measurements. 2020-10-16 13:43:54 +03:00
Roman Telezhynskyi
1b2343e537 Extend list of placeholders.
Added customer email and birth date, all dimensions.
2020-10-16 11:37:49 +03:00
Roman Telezhynskyi
4cea74d63b Loading measurements in Valentina. 2020-10-15 18:05:21 +03:00
Roman Telezhynskyi
054560c7a0 Fix label size for case with two pins.
(cherry picked from commit 64f70a58cf)
2020-09-23 16:55:04 +03:00
Roman Telezhynskyi
0828f25788 Fix crash when a notch is empty. 2020-09-22 14:43:39 +03:00
Roman Telezhynskyi
e3ca47dc10 Fix the second case of error: 'auto' not allowed in lambda parameter. 2020-09-22 10:23:27 +03:00
Roman Telezhynskyi
88ec0f69ca Fix error: 'auto' not allowed in lambda parameter. 2020-09-22 09:45:17 +03:00
llocram
c8119b88c9 Silenced conversion warning 2020-08-28 17:32:35 +02:00
llocram
819bcadee4 Replaced hand-crafted find-algorithm with std::find_if. Removed a logical error (pos > points.size() never returns true). 2020-08-28 14:18:41 +02:00
llocram
1a2c5de357 Replaced hand-crafted reverse algorithm with std::reverse 2020-08-28 14:09:16 +02:00
llocram
ed970fe6f6 Minor refactoring 2020-08-28 13:57:14 +02:00
Roman Telezhynskyi
07858f7fcb Refactoring. 2020-08-01 11:55:56 +03:00
Roman Telezhynskyi
15d02bc456 Fix invalid layout allowance. Closes #58 2020-07-31 16:31:27 +03:00
Roman Telezhynskyi
49c62b072b Refactoring.
Add new constructor for class VRawSAPoint to improve readability.
2020-07-31 16:15:00 +03:00
Roman Telezhynskyi
9389cb546c Refactoring. Redesign a container reversing method. 2020-07-13 16:28:59 +03:00
Roman Telezhynskyi
e419ccfece Fix build on Qt 5.15: missed include in vlayoutdef header.
(cherry picked from commit 6af9d104cd)
2020-06-13 11:26:20 +03:00
Roman Telezhynskyi
6af9d104cd Fix build on Qt 5.15: missed include in vlayoutdef header. 2020-06-13 11:25:54 +03:00
Roman Telezhynskyi
20b797b2c5 Merge branch 'develop' into feature/manual-layout. 2020-06-04 13:45:32 +03:00
Roman Telezhynskyi
54482b7c75 Fix label alignment.
Alignment type 0 (no alignment, same as left) was incorrectly handled for layout piece. Code for the layout piece label is separate and did not handle this case. Valid value 0 was handled as right alignment.
2020-06-03 14:47:37 +03:00
Roman Telezhynskyi
db007ac301 Improve checking allowance validity. 2020-06-03 13:18:43 +03:00
Ronan Le Tiec
664c6dcd51 Typo 2020-04-24 17:25:43 +02:00
Roman Telezhynskyi
30a27ee85a UUID field for piece. 2020-04-22 14:32:25 +03:00
Roman Telezhynskyi
3b37d22a0b Actions Open Puzzle, Create Manual Layout, Update Manual Layout in Valentina. 2020-04-21 19:02:21 +03:00
Roman Telezhynskyi
c6c4edb893 Merge branch 'develop' into feature/manual-layout 2020-03-25 15:28:23 +02:00
Roman Telezhynskyi
31f92c3610 Improve calculation of the layout efficiency for cases with several pages. 2020-03-22 18:21:22 +02:00
Roman Telezhynskyi
49828889e2 New layout generator option: Prefer one sheet solution. 2020-03-22 16:22:03 +02:00
Roman Telezhynskyi
c8526f2eb0 Setting scale factor for export and print. 2020-03-21 18:15:29 +02:00
Roman Telezhynskyi
47b3eab0ad Refactoring for VPoster class.
Pass QSize instead QRect. To calculate tiles we need width and size only.
2020-03-21 17:31:25 +02:00
Roman Telezhynskyi
77be615877 Improve empty sheet edge.
User expects to have piece positioned tight to the top left corner of a paper sheet.
2020-03-21 17:28:08 +02:00
Roman Telezhynskyi
4fcbbc99fd Make sure that printer page layout switched to millimeters before getting margins. 2020-03-20 10:19:31 +02:00
Roman Telezhynskyi
1b663bb5e1 Export pattern to DXF-ASTM. 2020-03-15 13:35:31 +02:00
Roman Telezhynskyi
30bac523c8 Improve seam allowance.
Increase max allowed length of corner to cover real world case.
2020-03-07 11:17:06 +02:00
Roman Telezhynskyi
8c9eec2448 Option Pattern Piece -> Show main path doesn't show second passmarks on main path. 2020-02-25 08:44:13 +02:00
Roman Telezhynskyi
06bc9f8baf Suppress Clang warning. 2020-02-21 10:47:13 +02:00
Roman Telezhynskyi
46131d3cb9 Improve pattern messages.
Include cases when impossible to prepare data for layout.
2020-02-20 19:35:49 +02:00
Roman Telezhynskyi
f1ecc80e03 Change behavior for menu Pattern piece -> Show main path. Now it has an influence on export as well. 2020-02-20 17:28:15 +02:00
Roman Telezhynskyi
309259a0e4 Approximation scale on curved path - Draw vs. Detail. Closes smart-pattern/valentina#8. 2020-02-10 16:34:50 +02:00
Roman Telezhynskyi
6864ddc1af Fix build with Qt 5.14. 2020-02-04 11:22:23 +02:00
Roman Telezhynskyi
475bdadf9b Fix link to project repo in license header. 2020-01-31 08:02:08 +02:00
Roman Telezhynskyi
7998687b03 Refactoring. Hide compatibility layer behind a function.
fromList().

--HG--
branch : develop
2020-01-16 19:46:05 +02:00
Roman Telezhynskyi
658eafc3d3 Refactoring. Hide compatibility layer behind a function.
toVector().

--HG--
branch : develop
2020-01-16 19:20:55 +02:00
Roman Telezhynskyi
7e3c7e0f88 Refactoring. Hide compatibility layer behind a function.
toSet(), toList(), swapItemsAt().

--HG--
branch : develop
2020-01-16 19:09:23 +02:00
Roman Telezhynskyi
98a88ed529 Refactoring. Hide compatibility layer behind a function.
QLineF::intersects.

--HG--
branch : develop
2020-01-16 17:34:08 +02:00
Roman Telezhynskyi
5658e0b0d5 Fix copy paste error.
--HG--
branch : develop
2020-01-07 14:21:47 +02:00
Roman Telezhynskyi
b3f236dbb5 Refactoring. Rename ArrowType enum class.
--HG--
branch : develop
2020-01-07 13:54:23 +02:00
Roman Telezhynskyi
21d6a85678 Fix copy paste error.
--HG--
branch : develop
2020-01-07 12:55:45 +02:00
Roman Telezhynskyi
0e12e9f9fb Suppress warning Wnoexcept.
Cannot fix because QPointF is part of library.

--HG--
branch : develop
2020-01-07 12:55:23 +02:00
Roman Telezhynskyi
cf1e383d7b Don't use 'char' as a type of enum class.
QDataStream doesn't support serialization for this type.

--HG--
branch : develop
2020-01-07 12:54:01 +02:00
Roman Telezhynskyi
a6d67587ab Lupdate.
--HG--
branch : develop
2020-01-07 11:01:42 +02:00
Roman Telezhynskyi
5177057be1 Since Qt 5.14 enumerations can be serialized through QDataStream without the
need of manually defining streaming operators. Enum classes are
serialized using the declared size.

--HG--
branch : develop
2020-01-07 09:45:26 +02:00
Roman Telezhynskyi
3db69c34ee Noexcept-expression evaluates to 'false' because of a call to 'constexpr
VSAPoint::VSAPoint()'.

--HG--
branch : develop
2020-01-07 08:28:13 +02:00
Roman Telezhynskyi
1f6285aef9 Fix deprecation warnings.
(grafted from 686129d90f37b8d0c428092668673d44f06545d8)

--HG--
branch : develop
2020-01-06 20:10:09 +02:00
Roman Telezhynskyi
d74225e63e QLineF::IntersectType QLineF::intersect(const QLineF&, QPointF*) const' is
deprecated: Use intersects() instead.
(grafted from b8646bf40865848ad48eae89cae8419483d56f6b)

--HG--
branch : develop
2020-01-06 18:34:35 +02:00
Roman Telezhynskyi
84001dac61 Refactoring. Added move constructor.
--HG--
branch : develop
2019-12-30 17:13:18 +02:00
Roman Telezhynskyi
54cb9fe0fb Fix move semantic.
New class.

--HG--
branch : develop
2019-12-30 14:48:27 +02:00
Roman Telezhynskyi
74bb3e4369 Fix move sematic.
(grafted from fb8691f522f3515d7c3014a0ea90b60b352a444e)

--HG--
branch : develop
2019-12-30 13:00:57 +02:00
Roman Telezhynskyi
6fc51d83b0 Improve ergonomic. Allow a user to define both text and image, and control
which will of them be active.

--HG--
branch : develop
2019-12-30 14:43:06 +02:00
Roman Telezhynskyi
f83f28998f error: implicit instantiation of undefined template 'QVector<TextLine>'.
--HG--
branch : develop
2019-12-29 16:23:15 +02:00
Roman Telezhynskyi
5f6b17fc9d error: 'VWatermarkData' defined as a struct here but previously declared as a
class.

--HG--
branch : develop
2019-12-29 16:00:06 +02:00
Roman Telezhynskyi
08b58c2518 Code style.
--HG--
branch : develop
2019-12-29 15:59:48 +02:00
Roman Telezhynskyi
9e7cf5c55c error: 'static bool QPixmapCache::find(const QString&, QPixmap&)' is
deprecated: Use bool find(const QString &, QPixmap *) instead.

--HG--
branch : develop
2019-12-29 11:06:34 +02:00
Roman Telezhynskyi
1d7667df61 Export tiled PDF with watermark.
--HG--
branch : develop
2019-12-13 10:51:29 +02:00
Roman Telezhynskyi
7fd1674a81 Added a ruler at the bottom of a tiled PDF document.
--HG--
branch : develop
2019-12-08 14:43:26 +02:00
Andrey Ushakov
bc26d545d1 add rule in page bottom
--HG--
branch : develop
2019-12-08 00:18:44 +03:00
Roman Telezhynskyi
0cb7965379 Minimal seam allowance must be little bit bigger.
--HG--
branch : develop
2019-11-03 17:50:39 +02:00
Roman Telezhynskyi
bb70989165 Fixing error: invalid return type 'void' of constexpr function.
--HG--
branch : develop
2019-11-03 10:45:04 +02:00
Roman Telezhynskyi
b8f2d1782b Cppcheck warning.
--HG--
branch : develop
2019-11-03 10:20:00 +02:00
Roman Telezhynskyi
2887350c16 Fix bugs with a seam allowance.
--HG--
branch : develop
2019-11-03 10:13:02 +02:00
Roman Telezhynskyi
c924a6f700 New class VRawSAPoint.
Post processing a seam allowance.

--HG--
branch : develop
2019-11-03 10:01:32 +02:00
Roman Telezhynskyi
7f5ec1c9a1 It is better to not allow user to set seam allowance width to 0. 0 seam
allowance creates intersections with a main path.

--HG--
branch : develop
2019-11-03 09:30:36 +02:00
Roman Telezhynskyi
8f6ae65224 New feature Pattern Messages.
Added special field to show pattern warnings instead of warning dialogs.
Fixed issue with tabified dockwidgets.

--HG--
branch : develop
2019-10-28 17:44:31 +02:00
Roman Telezhynskyi
b7c1b4c4a6 Clazy warnings.
--HG--
branch : develop
2019-10-28 14:52:49 +02:00
Roman Telezhynskyi
7f9906bbcc Fix for seam aloowance angle type By first edge symmetry.
--HG--
branch : develop
2019-10-23 11:24:59 +03:00
Roman Telezhynskyi
95d6bceb9b Layout stops after timeout too slow.
--HG--
branch : develop
2019-10-18 11:47:02 +03:00
Andrey Ushakov
ea75af2f46 New command line option --cropWidth. Helps to crop unused width of paper.
--HG--
branch : develop
2019-10-16 11:16:16 +03:00
Roman Telezhynskyi
02bcc2f1e1 New test case.
Do not remove point on line if it is end/start of a curve.

--HG--
branch : develop
2019-09-12 20:57:26 +03:00
Roman Telezhynskyi
c802df2b73 Lupdate warnings.
Lupdate lacks of some features to support all C++ valid declarations.

--HG--
branch : develop
2019-09-10 16:57:31 +03:00
Roman Telezhynskyi
0536b42a7c Fix regression in angle type By Intersection.
--HG--
branch : develop
2019-09-10 13:17:06 +03:00
Roman Telezhynskyi
c1c4768921 Fix potential crash place.
--HG--
branch : develop
2019-09-09 18:49:59 +03:00
Roman Telezhynskyi
880aa4de0c Fix regression in angle type "By second edge right angle".
--HG--
branch : develop
2019-09-06 11:12:01 +03:00
Roman Telezhynskyi
20abb9979e Fix broken tests.
--HG--
branch : develop
2019-09-05 14:13:22 +03:00
Roman Telezhynskyi
23ffeba014 Fix case with prong. All acute angles now support only angle type by length.
--HG--
branch : develop
2019-09-03 17:46:09 +03:00
Roman Telezhynskyi
1baaaeafb9 Refactoring. Move rollback code to methods.
--HG--
branch : develop
2019-09-02 08:55:45 +03:00
Roman Telezhynskyi
c137c46e2d New test cover a rollback case.
--HG--
branch : develop
2019-09-02 08:43:02 +03:00
Roman Telezhynskyi
7af89dc9c8 Cppcheck warning.
--HG--
branch : develop
2019-09-02 08:29:18 +03:00
Roman Telezhynskyi
fcfa632118 Fix broken tests.
--HG--
branch : develop
2019-09-01 13:02:19 +03:00
Roman Telezhynskyi
6233ed0daa Bug fixes for seam allowance angle types.
--HG--
branch : develop
2019-09-01 13:01:10 +03:00
Roman Telezhynskyi
27a08641fa Refactoring. Move class VSAPoint to separate file.
--HG--
branch : develop
2019-09-01 12:58:54 +03:00
Roman Telezhynskyi
d12070b146 Fix bug with angle by intersection.
Was used wrong point bigLine2.p2() instead of bigLine2.p1().

--HG--
branch : develop
2019-08-31 15:30:07 +03:00
Roman Telezhynskyi
1cede87cc6 Fix function IsOutsidePoint.
Not enough just to compare direction. We also must be sure a distance to tested point is bigger than a segment.

--HG--
branch : develop
2019-08-31 09:32:43 +03:00
Roman Telezhynskyi
5dc735b5f4 New test case "Loop for start point on line".
--HG--
branch : develop
2019-08-29 15:14:17 +03:00
Roman Telezhynskyi
df3684d2a1 VPiece to JSON.
Strict version to support Unit tests.

--HG--
branch : develop
2019-08-29 15:01:27 +03:00
Roman Telezhynskyi
c63a1af61d error: definition of implicit copy constructor for 'VPosition' is deprecated
because it has a user-declared destructor.

--HG--
branch : develop
2019-08-22 18:09:47 +03:00
Roman Telezhynskyi
f6ddad1a53 error: no member named 'function' in namespace 'std'
--HG--
branch : develop
2019-08-22 17:47:34 +03:00
Roman Telezhynskyi
98ba5f056a Fix build on Windows.
--HG--
branch : develop
2019-08-22 17:18:49 +03:00
Roman Telezhynskyi
067d40813c Cppcheck warning.
--HG--
branch : develop
2019-08-22 15:33:32 +03:00
Roman Telezhynskyi
eb8f004a4a Suppress warning "-Weffc++".
--HG--
branch : develop
2019-08-22 15:32:45 +03:00
Roman Telezhynskyi
d930e94c42 Use QtConcurrent::mapped to run nesting. This will allow to use QFutureWatcher
and create a barier to wait when all jobs finish.

Reduced number of jobs. All piece edges checked in one thread.

--HG--
branch : develop
2019-08-22 10:57:38 +03:00
Roman Telezhynskyi
009ac4a0a6 Improve gathering strips.
We must not ignore one strip of layout result to provide correct size.

--HG--
branch : develop
2019-08-21 19:11:36 +03:00
Roman Telezhynskyi
8332d4b15b Serialization a point to json. ref #874.
--HG--
branch : develop
2019-08-07 17:53:18 +03:00
Roman Telezhynskyi
bcea1b69fa Breaking change. All intersections are now treaded as a loop.
--HG--
branch : develop
2019-08-07 12:25:22 +03:00
Roman Telezhynskyi
c2d194c23f Clazy warning.
--HG--
branch : develop
2019-08-06 16:39:14 +03:00
Roman Telezhynskyi
5aadcd067b Improve tiled PDF.
Don't add scissors on bottom row. Users use them as quick guide where to cut
before joining. Scissors on the bottom row force a user to lost information
about a sheet.

--HG--
branch : develop
2019-08-05 10:21:04 +03:00
Roman Telezhynskyi
3461281c40 Fix bug with nesting a descending group.
Another bug in the function. Wrong increment.

--HG--
branch : develop
2019-07-28 15:32:19 +03:00
Roman Telezhynskyi
5978df2629 Fix bug with nesting a descending group.
Together with "Nest quantity" and limited space Valentina removes all
duplicates except first for each next paper sheet.

--HG--
branch : develop
2019-07-27 09:02:41 +03:00
Roman Telezhynskyi
26397164e8 Clazy warning. Reverse candidate.
--HG--
branch : develop
2019-07-24 18:10:32 +03:00
Roman Telezhynskyi
1bd74c7b35 Fix bug in option Unite pages. Correcting offset.
--HG--
branch : develop
2019-07-24 18:07:17 +03:00
Roman Telezhynskyi
16a5adbbd4 Fix error: 'swap' is deprecated: Use QList<T>::swapItemsAt().
--HG--
branch : develop
2019-07-24 14:22:57 +03:00
Roman Telezhynskyi
4a4351b73d Fix error: 'width' is deprecated: Use QFontMetrics::horizontalAdvance.
--HG--
branch : develop
2019-07-24 13:42:22 +03:00
Roman Telezhynskyi
5c84c80039 Refactoring. Reduce modules dependency.
--HG--
branch : develop
2019-07-22 17:06:30 +03:00
Roman Telezhynskyi
d21da1944e Fix calculalting biggest piece edge.
--HG--
branch : develop
2019-07-22 16:15:28 +03:00
Roman Telezhynskyi
5e091a2a66 Backed out changeset: ddb5a308daee
--HG--
branch : develop
2019-07-22 16:42:37 +03:00
Roman Telezhynskyi
ed6e0afd17 Cppcheck warnings.
--HG--
branch : develop
2019-07-21 17:22:50 +03:00
Roman Telezhynskyi
44345085c2 New option --manualPriority.
Helps to disable following manual priority without need to change settings for
each piece.

--HG--
branch : develop
2019-07-21 16:26:21 +03:00
Roman Telezhynskyi
95b9c3ed19 New function VFuzzyOnAxis.
--HG--
branch : develop
2019-07-21 15:22:09 +03:00
Roman Telezhynskyi
1ab19c05a3 Refactoring. Move VFuzzyComparePoints to VGeometry static library.
--HG--
branch : develop
2019-07-21 15:04:08 +03:00
Roman Telezhynskyi
d4a308af5b Optimize combining.
--HG--
branch : develop
2019-07-21 14:42:47 +03:00
Roman Telezhynskyi
9f6bb49a22 Fix adding a piece to global contour.
In case of combine we must skip one edge. In case of rotation we must add right
number of edges.

--HG--
branch : develop
2019-07-21 10:40:41 +03:00
Roman Telezhynskyi
a01490b4f4 Fix searching edge index for mirrored piece.
--HG--
branch : develop
2019-07-21 10:35:32 +03:00
Roman Telezhynskyi
93901f6a15 Fix getting edge for mirrored piece.
--HG--
branch : develop
2019-07-21 10:34:32 +03:00
Roman Telezhynskyi
a03b8318d1 Show global contour direction.
--HG--
branch : develop
2019-07-21 10:33:25 +03:00
Roman Telezhynskyi
24ec03c319 Do not show connect for first and last points in global contour.
--HG--
branch : develop
2019-07-21 10:32:42 +03:00
Roman Telezhynskyi
8482f3dd28 Left the most robust way to find intersections.
--HG--
branch : develop
2019-07-21 10:30:26 +03:00
Roman Telezhynskyi
cc2aa8d1ba - Fix edge position for empty sheet. Make it close to paper sheet.
- Fix getting contour edge. It must be based on position from empty sheet edge
for "empty" contour.

--HG--
branch : develop
2019-07-21 10:23:17 +03:00
Roman Telezhynskyi
e18d328178 Do not use piece's path for nesting. Use only layout allowance path.
--HG--
branch : develop
2019-07-21 10:19:00 +03:00
Roman Telezhynskyi
928626d6be Change starting shift value. It must be small enough to cover shape of long
pieces.

--HG--
branch : develop
2019-07-21 10:10:41 +03:00
Roman Telezhynskyi
48bb83a80e Fuzzy comparison is not enough to test points on axis.
--HG--
branch : develop
2019-07-21 10:07:58 +03:00
Roman Telezhynskyi
e37afae597 Allow controlling priority selecting pieces in layout.
--HG--
branch : develop
2019-07-19 10:45:57 +03:00
Roman Telezhynskyi
8888437b07 Fix way we calculate shift for empty sheet. Make it adjustable only if less
than default.

--HG--
branch : develop
2019-07-18 17:40:41 +03:00
Roman Telezhynskyi
a986f765a6 Fix memory leak.
--HG--
branch : develop
2019-07-18 17:34:43 +03:00
Roman Telezhynskyi
0d7c406df4 Fix calculating efficiency.
Piece square must be based on seam allowance or main path instead of layout
allowance.

--HG--
branch : develop
2019-07-18 17:32:19 +03:00
Roman Telezhynskyi
2dff387e5e Try another approach to suppress warning -Warray-bounds.
--HG--
branch : develop
2019-07-05 11:06:03 +03:00
Roman Telezhynskyi
c01dd8c1dc Backed out changeset: bea8c53b301d
--HG--
branch : develop
2019-07-05 10:59:54 +03:00
Roman Telezhynskyi
c74d25cd31 Backed out changeset: d56740267493
--HG--
branch : develop
2019-07-05 10:59:41 +03:00
Roman Telezhynskyi
13650f20a4 Try to suppress error: array subscript is above array bounds
[-Werror=array-bounds].

--HG--
branch : develop
2019-07-04 15:28:44 +03:00
Roman Telezhynskyi
e8804c90bb New layout option --nestQuantity.
--HG--
branch : develop
2019-07-04 14:33:45 +03:00
Roman Telezhynskyi
7e1c096fa1 Try to suppress error: array subscript is above array bounds
[-Werror=array-bounds].

--HG--
branch : develop
2019-07-02 23:32:52 +03:00
Roman Telezhynskyi
f8dddca99f Fix build.
--HG--
branch : develop
2019-07-01 14:02:52 +03:00
Roman Telezhynskyi
762b0fc1d0 Fix build.
--HG--
branch : develop
2019-07-01 13:49:10 +03:00
Roman Telezhynskyi
4ab84bce38 Make full serialization/deserialization for class VLayoutPiece.
--HG--
branch : develop
2019-07-01 12:26:08 +03:00
Roman Telezhynskyi
0658d92688 New marcos Q_DISABLE_ASSIGN.
--HG--
branch : develop
2019-07-01 11:33:29 +03:00
Roman Telezhynskyi
0330869796 Serialization/deserialization for class VLayoutPiece.
--HG--
branch : develop
2019-07-01 11:02:09 +03:00
Roman Telezhynskyi
89f786d98a Refactoring. Moving enum class LayoutExportFormats.
--HG--
branch : develop
2019-07-01 09:57:49 +03:00
Roman Telezhynskyi
a2e71d6e1c Catch exceptions inside of QRunnable. ref #974.
--HG--
branch : develop
2019-06-24 12:14:10 +03:00
Roman Telezhynskyi
a4a6b18561 Cppcheck warning.
--HG--
branch : develop
2019-06-18 16:04:50 +03:00
Roman Telezhynskyi
f7c4bdf2a7 Improve handling layout errors.
Show Timeout error only if none errors appeared before.

--HG--
branch : develop
2019-06-18 15:14:52 +03:00
Roman Telezhynskyi
80d55659ab Refactoring.
--HG--
branch : develop
2019-06-18 15:10:08 +03:00
Roman Telezhynskyi
d16b0d5501 Remove obsolete debugging system.
--HG--
branch : develop
2019-06-18 14:53:00 +03:00
Roman Telezhynskyi
3ca666fba3 Pass original paper orientation. We cannot rely on paper size because it can be
stripped.

--HG--
branch : develop
2019-06-18 14:36:20 +03:00
Roman Telezhynskyi
b80103e088 Improve saving a layout result.
--HG--
branch : develop
2019-06-18 14:28:16 +03:00
Roman Telezhynskyi
d0cd313df0 Fix export passmarks for layout.
Because we did not search in united path we could not draw them and silently
skipped. Now user also will see a warning.

--HG--
branch : develop
2019-06-08 15:32:25 +03:00
Roman Telezhynskyi
a97c90378d Fix bug in VPiece::IsBufferAllowanceValid.
--HG--
branch : develop
2019-06-18 13:48:32 +03:00
Roman Telezhynskyi
12871f0708 Fix issue with artificial loop.
--HG--
branch : develop
2019-06-18 13:45:40 +03:00
Roman Telezhynskyi
d2396820c5 Fix bug with landscape oriention.
--HG--
branch : develop
2019-06-18 12:35:43 +03:00
Roman Telezhynskyi
5c55778d66 Since Q5.12 available support for C++17.
--HG--
branch : develop
2019-05-28 17:41:15 +03:00
Roman Telezhynskyi
d5a1f96bdd constFirst() introduced since Qt 5.6.
--HG--
branch : develop
2019-05-28 16:21:52 +03:00
Roman Telezhynskyi
c2091c6337 Cppcheck warning.
--HG--
branch : develop
2019-05-27 17:21:48 +03:00
Roman Telezhynskyi
6590742f09 Improve "Remove point on line".
Now it should handle circular shapes.

--HG--
branch : develop
2019-05-27 17:07:18 +03:00
Roman Telezhynskyi
d58b3f523d Methods to get a passmark base lines.
--HG--
branch : develop
2019-05-27 17:05:42 +03:00
Roman Telezhynskyi
a87f821327 Introduce mapped versions of methods. In some cases we will do mapping manually.
--HG--
branch : develop
2019-05-27 17:04:26 +03:00
Roman Telezhynskyi
6294dc0748 New struct VLayoutPassmark to store data about a passmark.
--HG--
branch : develop
2019-05-27 14:57:36 +03:00
Roman Telezhynskyi
bd611bf333 Refactor class VPlaceLabelItem.
Store more info about a placelabel.

--HG--
branch : develop
2019-05-27 14:54:44 +03:00
Roman Telezhynskyi
7dc420ad47 Refactor class VLayoutPiecePath.
Optimizing code style.

--HG--
branch : develop
2019-05-27 14:51:58 +03:00
Roman Telezhynskyi
3b51ccb31d Refactoring. Move drawing passmarks to separate class.
--HG--
branch : develop
2019-05-08 15:19:03 +03:00
Roman Telezhynskyi
f420812f5d Fixed build on Windows with Qt 5.6.
--HG--
branch : develop
2019-04-17 17:35:11 +03:00
Roman Telezhynskyi
52dfb912ee Resolved issue #965. Control passmark length with formula.
--HG--
branch : develop
2019-04-17 13:02:22 +03:00
Roman Telezhynskyi
aa1d30bdb8 Alternative approach to search intersection in layout.
--HG--
branch : develop
2019-04-10 15:54:18 +03:00
Roman Telezhynskyi
0987428a93 Increase required Qt version up to 5.4.
--HG--
branch : develop
2019-04-05 15:42:22 +03:00
Roman Telezhynskyi
c26d4d0942 Fixing issue with progress bar in console mode.
--HG--
branch : develop
2019-04-03 13:29:42 +03:00
Roman Telezhynskyi
7b72ea5bc1 Optimize layout algorithm after profiling.
--HG--
branch : feature
2019-04-02 15:30:31 +03:00
Roman Telezhynskyi
4adce13a4d Abort after timeout must have own signal.
--HG--
branch : feature
2019-04-02 15:29:33 +03:00
Roman Telezhynskyi
69df0922af Check timeout inside the layout generator.
--HG--
branch : feature
2019-03-30 11:17:54 +02:00
Roman Telezhynskyi
4565a47b91 Fix bug in VLayoutPieceData class.
--HG--
branch : feature
2019-03-30 11:15:14 +02:00
Roman Telezhynskyi
46bf68521e Nesting with timeout.
--HG--
branch : feature
2019-03-29 19:52:37 +02:00
Roman Telezhynskyi
47bcfd74ab Changes for dialog.
--HG--
branch : feature
2019-03-29 11:31:17 +02:00
Roman Telezhynskyi
91925c2618 Cppcheck warning.
--HG--
branch : develop
2019-03-27 11:45:25 +02:00
Roman Telezhynskyi
c2672b4b69 Shows global contour.
For debugging purposes.
* * *
Show nodes on global contour.

--HG--
branch : develop
2019-03-27 10:29:59 +02:00
Roman Telezhynskyi
635922faec Instead of squares compare depth position.
--HG--
branch : develop
2019-03-27 10:22:00 +02:00
Roman Telezhynskyi
39f24d2dcc When append whole piece don't miss piece edge.
This will potentially create less reserved space.

--HG--
branch : develop
2019-03-15 16:36:37 +02:00
Roman Telezhynskyi
762ee18026 Extend layout sheet paper size to cover coner cases.
--HG--
branch : develop
2019-03-15 15:33:30 +02:00
Roman Telezhynskyi
1393be669b Fix auto cropping.
--HG--
branch : develop
2019-03-12 19:45:27 +02:00
Roman Telezhynskyi
08415eb4ef Refactoring. Move best square result in separate struct.
--HG--
branch : develop
2019-03-27 09:31:02 +02:00
Roman Telezhynskyi
63ea3bf2f9 If user selects SaveLength option add fake contour edge.
* * *
Fixing issue with pieces on edge.

--HG--
branch : develop
2019-03-27 09:03:19 +02:00
Roman Telezhynskyi
ed23a4ee71 Refactoring. Define default values.
--HG--
branch : develop
2019-03-26 19:14:05 +02:00
Roman Telezhynskyi
e7bd65bde9 Refactoring. Move code in functions.
--HG--
branch : develop
2019-03-26 19:10:13 +02:00
Roman Telezhynskyi
1f462586cd Convert to implicitly shared object.
--HG--
branch : develop
2019-03-26 19:02:12 +02:00
Roman Telezhynskyi
81cda14c06 Refactoring. Pass position data as struct.
--HG--
branch : develop
2019-03-26 18:54:59 +02:00
Roman Telezhynskyi
93334c7f7d Show error when preparing pieces fails.
--HG--
branch : develop
2019-03-26 18:21:31 +02:00
Roman Telezhynskyi
6b6d124cbb Refactoring.
--HG--
branch : develop
2019-03-26 17:47:27 +02:00
Roman Telezhynskyi
335d4e2b81 Fix typo.
--HG--
branch : develop
2019-03-26 17:30:25 +02:00
Roman Telezhynskyi
c4d07125dc Refactoring define new type for id value.
--HG--
branch : develop
2019-03-26 17:15:03 +02:00
Roman Telezhynskyi
a479f3cb40 Improve checking allowance validity.
--HG--
branch : develop
2019-02-27 20:33:59 +02:00
Roman Telezhynskyi
77ae13ae18 New pedantic check. Check if allowance path is valid.
This check validate seam allowance path and layout allowance path.

--HG--
branch : develop
2019-02-23 18:43:06 +02:00
Roman Telezhynskyi
81bde9bb95 Fix issue with loop clearing.
--HG--
branch : develop
2019-02-20 09:59:59 +02:00