Commit graph

866 commits

Author SHA1 Message Date
Roman Telezhynskyi 718ff2056a Refactor names to avoid confusion. 2021-08-14 15:18:15 +03:00
Roman Telezhynskyi 3fbe96c2a7 Piece rotation. 2021-08-09 15:09:10 +03:00
Roman Telezhynskyi 53f7d00e6d Fix crash when a grainline is empty. 2021-07-27 10:13:11 +03:00
Roman Telezhynskyi cfac8e8355 Cppcheck warning. 2021-07-26 16:52:54 +03:00
Roman Telezhynskyi e5105e4eed Merge branch 'develop' into feature/manual-layout 2021-07-26 16:47:54 +03:00
Roman Telezhynskyi af3ce8abfe Fix build. 2021-07-10 16:21:44 +03:00
Roman Telezhynskyi bd229583d4 Test IsAllowanceValid method. 2021-07-10 16:13:29 +03:00
Roman Telezhynskyi 7043d59858 Warn about stale layout only in GUI mode. 2021-07-09 15:38:53 +03:00
Roman Telezhynskyi d280f6a2bb Fix regression. Minimal seam allowance width is less than the point accuracy values. 2021-07-09 10:42:17 +03:00
Roman Telezhynskyi c867a9a56e Export the Draw mode. Closes #83 2021-06-28 20:05:19 +03:00
Roman Telezhynskyi 7ee158c11c New menu option Add sheet. 2021-05-27 21:11:32 +03:00
Roman Telezhynskyi 962b5dd561 Cppcheck warning. 2021-05-27 20:58:18 +03:00
Roman Telezhynskyi f3c0af7294 Improve creating a piece icon.
Add more information about contour: seam line, seam allowance, notches, grainline, internal paths.
2021-05-27 19:52:37 +03:00
Ronan 302a1fbc2b Move ExportFormatSuffix and Description to VLayoutExporter 2021-05-22 11:52:24 +02:00
Roman Telezhynskyi 68c6c033b4 Merge branch 'develop' into feature/manual-layout 2021-05-15 11:27:37 +03:00
Roman Telezhynskyi 6abddfd240 Standard passmarks length for all pieces. Closes #124 2021-05-10 16:39:17 +03:00
Roman Telezhynskyi 68990ef5b4 Merge branch 'develop' into feature/manual-layout 2021-05-03 18:39:56 +03:00
Roman Telezhynskyi 613502b392 Improve error handling for the dxf export. 2021-04-28 20:06:24 +03:00
Roman Telezhynskyi f4eb8330b3 Merge branch 'develop' into feature/manual-layout 2021-04-24 13:05:13 +03:00
Roman Telezhynskyi 5fcefc0642 Fix removing last duplicate point.
If removeFirstAndLast not active the last point must remain intact.
2021-04-07 20:41:57 +03:00
Roman Telezhynskyi 56ae4a1381 Fix incorrect seam allowance. Closes #118 2021-04-07 20:38:56 +03:00
Roman Telezhynskyi 453736dfbc Fix crash if a piece contour is empty. 2021-03-30 18:21:02 +03:00
Roman Telezhynskyi b2e75261b7 Fix incorrect seam allowance. Closes #113 2021-03-30 18:11:18 +03:00
Roman Telezhynskyi d5310d8ae1 Fix incorrect seam allowance. Closes #112 2021-03-30 16:20:38 +03:00
Roman Telezhynskyi 33b8482f18 Clazy warnings. 2021-03-30 16:10:31 +03:00
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