Commit Graph

841 Commits

Author SHA1 Message Date
Roman Telezhynskyi
95fb3f3d89 Pattern label template placeholder with dimension label value. Closes #109 2021-03-29 15:06:32 +03:00
Roman Telezhynskyi
0138e5a321 Merge remote-tracking branch 'origin/develop' into feature/manual-layout 2021-02-24 16:26:11 +02:00
Roman Telezhynskyi
cecc1dfd4e Incorrect fix of seam allowance distortion. Closes smart-pattern/valentina#99 2021-02-23 18:29:54 +02:00
Roman Telezhynskyi
e9f9fb0f30 Fix incorrect seam allowance for angle type second edge right angle. 2021-02-17 19:26:54 +02:00
Roman Telezhynskyi
c1b7fcd2c9 Changes to QTemporaryFile since Qt 5.10.
On Linux, QTemporaryFile will attempt to create unnamed temporary
files. If that succeeds, open() will return true but exists() will be
false. If you call fileName() or any function that calls it,
QTemporaryFile will give the file a name, so most applications will
not see a difference.

To get a real file on disk call fileName().
2021-02-17 19:20:35 +02:00
Roman Telezhynskyi
2bb95154cd Fix Tape crash. 2021-02-06 15:52:21 +02:00
Roman Telezhynskyi
d61089d755 Suppress a warning. 2021-02-05 17:44:58 +02:00
Roman Telezhynskyi
6d3d624980 Improve error handling for final measurements placeholders. #85 2021-01-30 21:15:49 +02:00
Roman Telezhynskyi
d62bf67759 Fix regression. Export to tiled PDF has no suffix. 2021-01-30 20:05:04 +02:00
Roman Telezhynskyi
8b15f4aed6 Final measurement printout on pattern piece. Closes #85 2021-01-23 21:37:36 +02:00
Roman Telezhynskyi
d30ca54297 Fix width of a grainline on export. 2021-01-23 18:54:07 +02:00
Roman Telezhynskyi
2406e98350 Add support for TIFF format. Closes smart-pattern/valentina#87 2021-01-23 18:47:50 +02:00
Roman Telezhynskyi
5eb8784cd4 New warning. Grainline is not valid. 2021-01-23 15:24:44 +02:00
Roman Telezhynskyi
6f3e65e30e Merge branch 'develop' into feature/manual-layout 2020-12-26 22:29:10 +02:00
Roman Telezhynskyi
3c0c624682 Don't check warnings for a legacy mac os x build. 2020-12-26 19:44:55 +02:00
Roman Telezhynskyi
abe92c667d Temporary enable full output for macosx. 2020-12-25 09:40:18 +02:00
Roman Telezhynskyi
26457152cd Remove deprecated QPrinter methods. 2020-12-24 13:32:40 +02:00
Roman Telezhynskyi
60c6c9e5f4 Fix build. 2020-12-24 07:32:31 +02:00
Roman Telezhynskyi
54bad5d29c Fix build. 2020-12-23 20:08:33 +02:00
Roman Telezhynskyi
dccc87d8af Cppcheck warning. 2020-12-23 19:01:04 +02:00
Roman Telezhynskyi
547b6bcdb3 VLayoutExporter, add support for the RLD format. 2020-12-23 18:57:25 +02:00
Roman Telezhynskyi
a58a783aba Merge branch 'develop' into feature/manual-layout 2020-12-23 18:40:33 +02:00
Roman Telezhynskyi
510a5ab6a7 Refactoring. 2020-12-23 15:42:30 +02:00
Roman Telezhynskyi
abb4397901 Introducing VPrintLayout class.
Refactoring printing a layout.
2020-12-23 15:30:06 +02:00
Roman Telezhynskyi
03ec38f2c3 Introducing new class VLayoutExporter.
Move all export code outside of the main window class.
2020-12-19 19:10:55 +02:00
Roman Telezhynskyi
e70e998dc5 Improve the layout option "Auto crop unused width". 2020-12-18 17:01:58 +02:00
Roman Telezhynskyi
0ab76dd6b9 New warning. Warn about empty measurements dimension value when preparing placeholders. 2020-12-17 17:42:47 +02:00
Roman Telezhynskyi
aa5f026c58 Merge branch 'develop' into feature/manual-layout 2020-11-27 11:56:55 +02:00
Roman Telezhynskyi
3ce704d039 Improve crossing check for the layout algorithm. 2020-11-26 19:55:02 +02:00
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
Roman Telezhynskyi
883d2c04f6 Resolved issue #937. Wrong symmetrical seam corners on pieces.
(grafted from 8c1b09cc7bc40d6d40e39d931d3e040b0323bd87)

--HG--
branch : develop
2019-02-13 16:32:38 +02:00
Roman Telezhynskyi
107af20c80 Clazy warnings.
--HG--
branch : develop
2019-02-13 12:24:26 +02:00
Roman Telezhynskyi
dc4fca7a76 Forgot to comment test data dump functions.
(grafted from 3f7b9889eedf7ae49f804cf6ace7cebec122fbec)

--HG--
branch : develop
2019-02-12 15:37:38 +02:00
Roman Telezhynskyi
63e402ba8a Resolved issue #937. Wrong symmetrical seam corners on pieces.
(grafted from f15fbf536959418dcd9a2f2caf7c0267ae46eaee)

--HG--
branch : develop
2019-02-12 14:51:21 +02:00
Roman Telezhynskyi
84c96c35dd Refactoring layout piece.
--HG--
branch : develop
2019-01-28 20:35:10 +02:00
Roman Telezhynskyi
6efc6f11c8 Fixed issue #924. Valentina produces wrong passmark for rollback case.
(grafted from 5ff3a91f41efebed4963d3377cb2f194983cc7f7)

--HG--
branch : develop
2019-01-09 17:46:02 +02:00
Roman Telezhynskyi
60c4e2880f Fixed issue #923. Valentina produces wrong seam allowance for rollback case.
(grafted from 111ae73392a265baecbb3031cf3963682e0bea77)

--HG--
branch : develop
2019-01-07 18:20:36 +02:00
Roman Telezhynskyi
2f717fd365 Fix uniting and cropping pages.
Code missed handling landscape orienation.

--HG--
branch : develop
2019-01-03 19:35:04 +02:00
Roman Telezhynskyi
b66f516a74 Fix missing arrow type when follow a grainline.
--HG--
branch : develop
2019-01-02 21:36:51 +02:00
Roman Telezhynskyi
b1ef2a0f7a Fixing warnings.
--HG--
branch : develop
2019-01-02 16:52:07 +02:00
Roman Telezhynskyi
25fc7227f0 Fix strip optimization. It must follow paper sheet orientation settings.
--HG--
branch : develop
2019-01-02 16:49:57 +02:00
Roman Telezhynskyi
3dfa269224 Implement "pull left" behavior.
Between valid best results select most top or most left for portrait and
landscape orientation.

--HG--
branch : develop
2018-12-31 13:35:42 +02:00
Roman Telezhynskyi
da0ee5ce6f Fix bug with flipped piece and follow grainline option.
--HG--
branch : develop
2018-12-31 11:33:20 +02:00
Roman Telezhynskyi
a35a6f2e55 Fix warning Wunused-function.
For some reasons suppressing doesn't work.

--HG--
branch : develop
2018-12-28 22:40:19 +02:00
Roman Telezhynskyi
8c676948ff Fixing regression. ref #915.
(grafted from 4a1f66408bca3eab9df83d5b9ef46ac9c3cc6278)

--HG--
branch : develop
2018-12-28 21:55:48 +02:00
Roman Telezhynskyi
bcb7def7b8 Improving contour edge for empty sheet.
It must follow sheet orientation, plus added control of numbers of points with
shift option.

--HG--
branch : develop
2018-12-28 15:57:24 +02:00
Roman Telezhynskyi
6bc160075b Refactoring. Fixing warnings.
--HG--
branch : develop
2018-12-28 15:55:47 +02:00
Roman Telezhynskyi
55a3ecb8cb Improvement for option "Save layout length".
This option worked only for portrait orientation. In landscape orientation
instead of width need save height. Additionally we keep original comaprison for
the smallest bounding rect. This creates more humanlike output.

--HG--
branch : develop
2018-12-28 15:53:18 +02:00
Roman Telezhynskyi
f678174729 Refactoring. Hide private static methods.
--HG--
branch : develop
2018-12-28 13:19:41 +02:00
Roman Telezhynskyi
728dd00b76 Refactoring. Fixing warnings.
--HG--
branch : develop
2018-12-28 13:08:53 +02:00
Roman Telezhynskyi
6016308d58 Resolved issue #651. Improve feature: Layout orientation according to grainline.
--HG--
branch : develop
2018-12-27 15:54:29 +02:00