Commit Graph

527 Commits

Author SHA1 Message Date
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
Roman Telezhynskyi
7caf42cf48 Since Q5.4 available support C++14. Some libraries still missed use.
--HG--
branch : develop
2018-12-23 20:27:24 +02:00
Roman Telezhynskyi
54418925c6 Fixed issue #915. Valentina produces wrong seam allowance for acute angle.
(grafted from 41a93a0a57ac2dcc731563b7eb759bfa2bc2961e)

--HG--
branch : develop
2018-12-23 18:41:51 +02:00
Roman Telezhynskyi
5f5b7e41fa Enable alternative operator representations for support old or nonconforming
compilers by default.

--HG--
branch : develop
2018-12-11 22:27:55 +02:00
Roman Telezhynskyi
f44484a364 Optimization for method PointBezier_r().
--HG--
branch : develop
2018-11-16 17:44:54 +02:00
Roman Telezhynskyi
1d0b5790ae Be more pedantic. Show warning for case where Valentina cannot build a seam
allowance.

--HG--
branch : develop
2018-10-22 14:43:06 +03:00
Roman Telezhynskyi
fb4d935ac4 Clazy warnings.
--HG--
branch : develop
2018-10-22 14:42:13 +03:00
Roman Telezhynskyi
2211e2b7ee Fixed issues with seam allowance.
More cases.
(grafted from 7324a77cb8851a215d26269a8db7106a653915fd)

--HG--
branch : develop
2018-10-19 16:54:06 +03:00
Roman Telezhynskyi
81d2eb513a Fixed issues with seam allowance.
(grafted from 79a6fe52de80fc8707e24574eff1ec75eb1cd424)

--HG--
branch : develop
2018-10-17 18:12:39 +03:00
Roman Telezhynskyi
c47193540b Improve precision of dump functions. It should be close to what debugger gives.
(grafted from d94873822ea085f90db8ad6b857dd041cd9654c6)

--HG--
branch : develop
2018-10-17 18:11:32 +03:00
Roman Telezhynskyi
515df843d3 New function VFuzzyComparePoints to compare two points.
--HG--
branch : release
2018-09-27 14:52:21 +03:00
Roman Telezhynskyi
9f919ffe8a Improve seam allowance. Case with custom seam allowance.
--HG--
branch : release
2018-09-23 15:51:28 +03:00
Roman Telezhynskyi
252fa3a0de Suppress warning Wunused-function.
Try number 2.

--HG--
branch : release
2018-09-19 20:06:47 +03:00
Roman Telezhynskyi
778d4bebc1 Disable warning Wunused-function.
--HG--
branch : release
2018-09-19 18:53:32 +03:00
Roman Telezhynskyi
a4ec72b3bd Help function to speed up creating tests.
--HG--
branch : release
2018-09-19 15:16:29 +03:00