Commit Graph

305 Commits

Author SHA1 Message Date
Roman Telezhynskyi
6f55659c16 Fix build. 2022-02-08 20:40:33 +02:00
Roman Telezhynskyi
5b3bcdf1af Remove unused DRW_Class::parseCode() method. 2022-02-07 14:55:31 +02:00
Roman Telezhynskyi
adea504bc1 protect vector<>.reserve() calls
Malformed or suspicious input files can cause std::exceptions by
vector<>.reserve() calls. Now they are caught to avoid crashes or other
vulnerabilities.
2022-02-07 14:52:41 +02:00
Roman Telezhynskyi
1639603551 Added NULL check for hatch code 93. 2022-02-07 11:49:20 +02:00
Roman Telezhynskyi
a3e1cc8639 Fix build with Qt 5.6. 2022-01-29 14:57:21 +02:00
Roman Telezhynskyi
1b188bf414 Compatibility issues. 2022-01-29 10:59:02 +02:00
Roman Telezhynskyi
f28660e0ea Clang warnings. 2021-11-24 14:50:31 +02:00
Roman Telezhynskyi
612306bbd8 Cppcheck warning. 2021-11-24 14:25:47 +02:00
Roman Telezhynskyi
b9958e9953 fixed LibreCAD 2 issue #1371, read failed with binary DXF 2021-11-23 14:48:30 +02:00
Roman Telezhynskyi
0db9e1f728 Class to handle plot settings object entries. 2021-11-23 14:43:26 +02:00
Roman Telezhynskyi
c6bd3ae727 Fix typo. 2021-11-23 13:21:24 +02:00
Roman Telezhynskyi
11a7fc2652 viewport - target xyz. 2021-11-23 13:16:58 +02:00
Roman Telezhynskyi
6a219c5ed4 Port set version bug from solvespace fork and cleanup version handling in DRW_TextCodec.
One of the most intrusive changes in QGIS' fork was that the debugging code was replaced with hardcoded changes to redirect the output to QGIS' internal logging mechanism. In this PR I've setup an interface to allow clients to create custom output debugging classes and assign these to be used by the library.

This will allow me to remove all the related downstream changes in QGIS' fork and re-sync these files back to upstream.
Interface for debug printers.
2021-11-23 13:12:11 +02:00
Roman Telezhynskyi
a8d8fa0946 Modernize debugging. 2021-11-23 11:28:54 +02:00
Roman Telezhynskyi
642fbe815d Use ununordered_map instead of map
Should result in a performance boost when reading large files.
2021-11-23 11:15:11 +02:00
Roman Telezhynskyi
c51d9d5b30 More modernization and cleanups. 2021-11-22 19:28:51 +02:00
Roman Telezhynskyi
5f6445cf93 Read extrusion tags for dimension entities
Dimension entities support DXF codes 210, 220, 230 and and DRW_Dimension
already had a extPoint member, but the tags were never used when
parsing.
2021-11-22 18:53:33 +02:00
Roman Telezhynskyi
b18f09d86e DRW_Coord: Simplify constructor. 2021-11-22 18:48:47 +02:00
Roman Telezhynskyi
c7fc0b8dcb Misc. typos 2021-11-22 18:44:44 +02:00
Roman Telezhynskyi
1b4dfc7988 Misc typos: length. 2021-11-22 18:39:20 +02:00
Roman Telezhynskyi
47e0e3d0f3 fixed heap use after free vulnerability CVE-2021-21900
as reported in TALOS-2021-1351 / CVE-2021-21900,
DRW_TableEntry::parseCode had the potential to trigger an use after free exception with a malformed DXF file.
2021-11-22 18:22:27 +02:00
Roman Telezhynskyi
b861d6a28e GCC warnings. 2021-09-25 17:18:33 +03:00
Roman Telezhynskyi
51ed05e1fa GCC warnings. 2021-09-25 12:57:15 +03:00
Roman Telezhynskyi
1b3e133309 GCC warnings. 2021-09-25 12:42:28 +03:00
Roman Telezhynskyi
2ffda9a073 Introduce *_MARK_NONFINAL_CLASS and *_MARK_NONFINAL_METHOD macroses to suppress GCC warning Wsuggest-final-types. 2021-09-25 11:43:05 +03:00
Roman Telezhynskyi
718ff2056a Refactor names to avoid confusion. 2021-08-14 15:18:15 +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
Roman Telezhynskyi
613502b392 Improve error handling for the dxf export. 2021-04-28 20:06:24 +03:00
Roman Telezhynskyi
730614fc97 Fix export to DXF AAMA/ASTM.
Don't export a sew line if a piece doesn't have seam allowance.
2021-04-19 17:28:25 +03:00
Roman Telezhynskyi
2bb95154cd Fix Tape crash. 2021-02-06 15:52:21 +02:00
Roman Telezhynskyi
abe92c667d Temporary enable full output for macosx. 2020-12-25 09:40:18 +02:00
Roman Telezhynskyi
80d9fbc107 New function Warning. 2020-11-20 13:18:38 +02:00
Roman Telezhynskyi
4cea74d63b Loading measurements in Valentina. 2020-10-15 18:05:21 +03:00
Roman Telezhynskyi
3383df193b More deprecation warnings. 2020-07-07 10:51:00 +03:00
Roman Telezhynskyi
c8526f2eb0 Setting scale factor for export and print. 2020-03-21 18:15:29 +02:00
Roman Telezhynskyi
b756460da8 Cppcheck warning.
We don't need support for reading ASTM notches.
2020-03-15 13:43:18 +02:00
Roman Telezhynskyi
1b663bb5e1 Export pattern to DXF-ASTM. 2020-03-15 13:35:31 +02:00
Roman Telezhynskyi
475bdadf9b Fix link to project repo in license header. 2020-01-31 08:02:08 +02:00
Roman Telezhynskyi
e619fdc80c Fix build.
--HG--
branch : develop
2020-01-20 13:16:38 +02:00
Roman Telezhynskyi
254c7e776f Fix build.
--HG--
branch : develop
2020-01-20 12:28:35 +02:00
Roman Telezhynskyi
24e50455b0 Improve conversion for dxf file export.
We never checked if it really works. And it doesn't in many cases. Not always
Qt recognizes standard ANSI_* names as valid aliases for codepages. Because
codec itself can have many aliases we will test them one by one until one will
fit.

--HG--
branch : develop
2020-01-16 14:10:49 +02:00
Roman Telezhynskyi
110aa16650 Show warning if no available codec for code page when export in dxf.
--HG--
branch : develop
2020-01-11 12:04:31 +02:00
Roman Telezhynskyi
63c4725e81 Fix regression in DXF-AAMA export.
Some paths were not properly mapped.

--HG--
branch : develop
2020-01-11 11:48:02 +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
50dd76b256 Fix regression in method VDxfEngine::ExportAAMADrill().
Placelabel center no longer mapped. Mapping must be made manually.

--HG--
branch : develop
2019-08-07 10:15:53 +03:00
Roman Telezhynskyi
1f8b89bb60 Enable the drill layer in list of AAMA layers.
--HG--
branch : develop
2019-08-01 12:49:00 +03:00
Roman Telezhynskyi
5c84c80039 Refactoring. Reduce modules dependency.
--HG--
branch : develop
2019-07-22 17:06:30 +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
6294dc0748 New struct VLayoutPassmark to store data about a passmark.
--HG--
branch : develop
2019-05-27 14:57:36 +03:00
Roman Telezhynskyi
57d6d79a53 New placelabel shape Circle.
--HG--
branch : develop
2019-04-23 17:42:09 +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
a214a78006 Continue replacing custom *_FALLTHROUGH macroses with Q_FALLTHROUGH().
--HG--
branch : develop
2019-03-27 13:31:02 +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
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
219a15da23 Fix issue with export non-latin DXF file name on Windows.
--HG--
branch : develop
2018-07-16 20:00:42 +03:00
Roman Telezhynskyi
968996da86 It seems like mistake. ratio renamed to width.
--HG--
branch : develop
2018-07-16 19:55:37 +03:00
Roman Telezhynskyi
85e90504ef Minore fixes.
--HG--
branch : develop
2018-07-16 19:54:00 +03:00
Roman Telezhynskyi
5015dda5dd Fix DXF vport. AutoCAD complains about clipped view.
--HG--
branch : develop
2018-07-16 19:53:15 +03:00
Roman Telezhynskyi
63b1eb8068 Cppcheck warning 'missingOverride'.
--HG--
branch : develop
2018-06-26 15:53:48 +03:00
Roman Telezhynskyi
788f27889f Refactoring. Use temporary variable instead of copy.
--HG--
branch : develop
2018-04-14 16:47:55 +03:00
Roman Telezhynskyi
6fa7be60e4 Fix export to DXF-AAMA. Don't "draw" a main path if seam allowance is built-in.
--HG--
branch : develop
2018-04-14 16:47:11 +03:00
Roman Telezhynskyi
3970bbdbc0 Refactoring. Use QChar instead of QString where possible.
--HG--
branch : develop
2018-04-12 13:13:19 +03:00
Roman Telezhynskyi
0e3a9533af Refactoring. Use C++11 range-based loop.
--HG--
branch : develop
2018-04-03 14:36:38 +03:00
Roman Telezhynskyi
6b6a2632a9 Refactoring. Replacing all Q_FOREACH/foreach loops with the c++ range-based
loops.

--HG--
branch : develop
2018-04-03 11:15:58 +03:00
Roman Telezhynskyi
3252130f36 Refactoring. Use C++11 range-based loop.
--HG--
branch : develop
2018-04-02 20:38:56 +03:00
Roman Telezhynskyi
2cb7c4c603 Utilize macro QT_DEPRECATED_WARNINGS.
--HG--
branch : develop
2018-03-22 19:57:56 +02:00
Roman Telezhynskyi
6a7405b4d4 Refactoring. Use QString default constructor instead of empty string.
--HG--
branch : develop
2018-03-14 16:01:24 +02:00
Roman Telezhynskyi
ca79c7ff93 Added place label.
--HG--
branch : feature
2017-10-15 12:25:20 +03:00
Roman Telezhynskyi
61172d46c4 Fix typo in headers.
--HG--
branch : develop
2017-10-05 12:20:01 +03:00
Roman Telezhynskyi
be83ff5a12 SonarQube warnings.
--HG--
branch : develop
2017-08-21 16:47:17 +03:00
Roman Telezhynskyi
d91f32be02 Proposed to always use mm as the default DXF export unit. ref #745.
--HG--
branch : develop
2017-08-10 16:50:10 +03:00
Roman Telezhynskyi
4914d2c3e7 Fix grainline orientation in AAMA.
--HG--
branch : develop
2017-08-02 17:04:31 +03:00
Roman Telezhynskyi
a9367f7ae6 Prevent memory leak.
--HG--
branch : develop
2017-07-27 21:04:13 +03:00
Roman Telezhynskyi
a6976fd1ee Fix details position if export from Detail mode. red #391.
--HG--
branch : develop
2017-07-20 19:14:19 +03:00
Roman Telezhynskyi
83251364b0 Fix broken building on Windows.
--HG--
branch : develop
2017-07-20 14:21:14 +03:00
Roman Telezhynskyi
9ae393a462 For AAMA layer 1 must be default.
--HG--
branch : feature
2017-07-19 10:34:24 +03:00
Roman Telezhynskyi
f20549d310 Optitex doesn't like layer 19.
--HG--
branch : feature
2017-07-19 10:33:21 +03:00
Roman Telezhynskyi
2b3434fe87 Only since R13 DXF supports space character in block name.
--HG--
branch : feature
2017-07-17 17:43:10 +03:00
Roman Telezhynskyi
cc0d6d994b Read layer settings for block from block's settings.
--HG--
branch : feature
2017-07-17 17:25:38 +03:00
Roman Telezhynskyi
c84f7ef828 Up to R12 DXF allows not to define default layer "0".
--HG--
branch : feature
2017-07-17 17:19:49 +03:00
Roman Telezhynskyi
2dd8519433 Code style fix.
Remove confusing commented code.

--HG--
branch : feature
2017-07-17 17:10:34 +03:00
Roman Telezhynskyi
74035ddeeb Fix opening files in version R10.
AutoCAD complains about missed groups.

--HG--
branch : feature
2017-07-17 13:35:20 +03:00
Roman Telezhynskyi
54eadfdb3c Export to DXF-AAMA.
--HG--
branch : feature
2017-07-16 21:10:48 +03:00
Roman Telezhynskyi
b166ff83b2 Pieces should be positioned as on Detail mode. ref #660.
--HG--
branch : develop
2017-07-09 22:27:54 +03:00
Roman Telezhynskyi
e56e59dec1 SonarQube warnings.
--HG--
branch : develop
2017-07-07 20:08:35 +03:00
Roman Telezhynskyi
2f98ec7c8a Fix memory leak.
--HG--
branch : develop
2017-07-07 18:11:48 +03:00
Roman Telezhynskyi
703c9f5f06 Clang warnings.
--HG--
branch : develop
2017-07-07 10:22:24 +03:00
Roman Telezhynskyi
42c2b45171 Fix error C2065: 'not': undeclared identifier.
--HG--
branch : develop
2017-07-06 22:12:46 +03:00
Roman Telezhynskyi
9ff99ab357 Clang warning.
--HG--
branch : develop
2017-07-06 19:07:53 +03:00
Roman Telezhynskyi
36d6e8e408 Fix error C2065: 'not': undeclared identifier.
--HG--
branch : develop
2017-07-06 19:04:58 +03:00
Roman Telezhynskyi
5968ed27cc error "QT_WARNING_PUSH was not declared in this scope".
--HG--
branch : develop
2017-07-06 16:10:46 +03:00
Roman Telezhynskyi
38afcf43f2 error "QT_WARNING_PUSH was not declared in this scope".
--HG--
branch : develop
2017-07-06 16:03:02 +03:00
Roman Telezhynskyi
9a074266b9 Completely disable warning Wstack-protector.
--HG--
branch : develop
2017-07-06 15:45:58 +03:00
Roman Telezhynskyi
21e9719954 Fix error "QT_WARNING_PUSH does not name a type".
--HG--
branch : develop
2017-07-06 15:08:34 +03:00
Roman Telezhynskyi
f701cc95f9 Suppress GCC's warning Wstack-protector.
--HG--
branch : develop
2017-07-06 14:49:49 +03:00
Roman Telezhynskyi
365f971d5f Fix building tests.
--HG--
branch : develop
2017-07-06 14:26:42 +03:00
Roman Telezhynskyi
490ccbe60a Remove dwg support.
--HG--
branch : develop
2017-07-06 14:10:14 +03:00
Roman Telezhynskyi
e6eb9c756b Cppcheck warnings.
--HG--
branch : develop
2017-07-06 12:58:26 +03:00
Roman Telezhynskyi
189f091bb4 VDXF library. Since Qt5.4 available support C++14.
--HG--
branch : develop
2017-07-05 19:36:17 +03:00
Roman Telezhynskyi
1726b55339 GCC warnings.
--HG--
branch : develop
2017-07-05 19:35:34 +03:00
Roman Telezhynskyi
b6e0d97df0 Qmake. Fix masks to support 64 bit versions of compilers.
--HG--
branch : develop
2017-07-05 11:35:32 +03:00
Roman Telezhynskyi
d25979f054 Merged with feature.
--HG--
branch : develop
2017-07-04 19:53:05 +03:00
Roman Telezhynskyi
72ea1997fb Fixed issue #715. Build fails with Qt 5.9.1 / clang / macOS.
(grafted from d78ca13c4891ccf3542b0704a7d66af0f9b02938)

--HG--
branch : develop
2017-07-01 21:38:26 +03:00
Roman Telezhynskyi
c97af5a9f9 Restore saving real font family.
--HG--
branch : feature
2017-06-29 20:08:08 +03:00
Roman Telezhynskyi
22b448f98d Fixed text conversion.
--HG--
branch : feature
2017-06-29 20:03:35 +03:00
Roman Telezhynskyi
1226db1735 Text now correctly converted due to hack. Saved to continue cleaning.
--HG--
branch : feature
2017-06-29 18:56:52 +03:00
Roman Telezhynskyi
0bb4280a02 Improvment libdxfrw to support font style.
--HG--
branch : feature
2017-06-29 13:01:28 +03:00
Roman Telezhynskyi
a1daf20d0f Init appId.
--HG--
branch : feature
2017-06-26 18:06:57 +03:00
Roman Telezhynskyi
9edc1a39db Allow user to select DXF version.
--HG--
branch : feature
2017-06-26 17:28:41 +03:00
Roman Telezhynskyi
ff0e5919a7 Fix polygon linetype.
--HG--
branch : feature
2017-06-26 13:00:59 +03:00
Roman Telezhynskyi
d9353df43a Correct line types.
--HG--
branch : feature
2017-06-23 22:11:25 +03:00
Roman Telezhynskyi
4c2c4ae7a2 Fix broken $TDCREATE.
--HG--
branch : feature
2017-06-23 17:49:15 +03:00
Roman Telezhynskyi
beff9d1322 We don't need anymore library dxflib.
--HG--
branch : feature
2017-06-21 16:59:58 +03:00
Roman Telezhynskyi
88288f2fba AutoCAD doesn't like how we init dimstyles.
--HG--
branch : feature
2017-06-21 16:36:24 +03:00
Roman Telezhynskyi
3c48935b5c Handle value $TDCREATE.
--HG--
branch : feature
2017-06-21 16:32:50 +03:00
Roman Telezhynskyi
98dc6893a9 Looks like one file was lost.
--HG--
branch : feature
2017-06-21 16:32:19 +03:00
Roman Telezhynskyi
af51cc0edf Removed dummy functions.
--HG--
branch : feature
2017-06-21 15:57:06 +03:00
Roman Telezhynskyi
e9d93103c8 AutoCAD doesn't like dimstyles we provide.
--HG--
branch : feature
2017-06-21 15:55:50 +03:00
Roman Telezhynskyi
388bad3535 Merged changed from SolveSpace's independent fork of libdxfrw.
--HG--
branch : feature
2017-06-21 14:54:17 +03:00
Roman Telezhynskyi
3f570fc52e Clear path before creating a new path.
--HG--
branch : feature
2017-06-21 12:47:47 +03:00
Roman Telezhynskyi
407a9519aa Basic implamentation has been finished.
--HG--
branch : feature
2017-06-21 12:34:20 +03:00
Roman Telezhynskyi
c0b0053859 GCC warning.
--HG--
branch : feature
2017-06-20 13:31:06 +03:00
Roman Telezhynskyi
279e1cda84 Temporary suppress all GCC wanings inside libdxfrw.
--HG--
branch : feature
2017-06-20 13:30:36 +03:00
Roman Telezhynskyi
47265a515b Added library libdxfrw.
--HG--
branch : feature
2017-06-20 11:40:39 +03:00
Roman Telezhynskyi
cc5641a15c Added gcc’s 4.9.0 Undefined Behavior Sanitizer (ubsan).
--HG--
branch : develop
2017-06-01 10:14:17 +03:00
Roman Telezhynskyi
bd72aa29cc Try to fix tests.
--HG--
branch : develop
2017-05-30 20:56:59 +03:00
Roman Telezhynskyi
7e064f80c5 Thrown away code for support Qt < 5.2.
--HG--
branch : develop
2017-05-30 19:52:38 +03:00
Roman Telezhynskyi
965d908663 GCC warnings.
--HG--
branch : develop
2017-05-30 18:44:16 +03:00
Roman Telezhynskyi
1cf4e97b7d Clang warnings. 2017-05-10 14:58:17 +03:00
Roman Telezhynskyi
a0262e260b Coverity scan warnings.
--HG--
branch : release
2017-04-19 12:48:13 +03:00
Roman Telezhynskyi
d355b4dce8 Cppcheck warnings.
--HG--
branch : develop
2017-04-06 15:50:15 +03:00
Roman Telezhynskyi
778cbb2a70 Cppcheck warnings.
--HG--
branch : develop
2017-03-09 12:23:36 +02:00
Roman Telezhynskyi
2921276cad Sync libdxf code with last from QCAD project.
--HG--
branch : develop
2017-02-22 12:08:58 +02:00
Roman Telezhynskyi
38abf5c9a0 Removed redundant forward declaration.
--HG--
branch : develop
2017-02-18 11:22:59 +02:00
Roman Telezhynskyi
b4e1a19b4f Clang warning.
--HG--
branch : develop
2017-02-12 22:04:09 +02:00
Roman Telezhynskyi
424f661112 Fix export to dxf.
--HG--
branch : develop
2017-02-12 21:13:03 +02:00
Roman Telezhynskyi
a6a8ef29b0 Refactoring. Merge similar switch cases together.
--HG--
branch : develop
2016-12-21 21:35:07 +02:00
Roman Telezhynskyi
36c8e96bab Disable MSVC security warnings for library vdxf.
--HG--
branch : develop
2016-12-21 17:30:40 +02:00
Roman Telezhynskyi
049a72ff20 "C3861: 'snprintf': identifier not found" with VS2013 and prior.
--HG--
branch : develop
2016-12-20 22:55:40 +02:00
Roman Telezhynskyi
2d61b87256 Remove empty statement.
--HG--
branch : develop
2016-12-20 21:19:21 +02:00
Roman Telezhynskyi
86330282be Fix potential vulnerabilities.
--HG--
branch : develop
2016-12-20 20:18:36 +02:00
Roman Telezhynskyi
af1061635a Qt 5.6 new constant for SVG.
--HG--
branch : develop
2016-11-19 10:07:02 +02:00
Roman Telezhynskyi
c622d173dd Several useful constans.
--HG--
branch : develop
2016-09-06 17:48:28 +03:00
Roman Telezhynskyi
cbd2e4a912 Fix issue #547. Compiler warning.
--HG--
branch : develop
2016-09-06 17:26:53 +03:00
Roman Telezhynskyi
bfff8ccb96 Changes for returning support Qt 5.0 and GCC 4.6.
--HG--
branch : develop
2016-08-21 18:57:08 +03:00
Roman Telezhynskyi
b0d248a7a0 Looks like <ext/alloc_traits.h> available since GCC 4.7.
--HG--
branch : develop
2016-08-21 12:09:05 +03:00
Roman Telezhynskyi
e333c9bc08 QtDebug and QDebug lead to the same header. Leave only QtDebug.
--HG--
branch : develop
2016-08-16 20:35:21 +03:00
Roman Telezhynskyi
d66280033b Fixed issue #546. Compile error under Windows in current develop revision.
--HG--
branch : develop
2016-08-16 19:57:32 +03:00
Roman Telezhynskyi
db138cd6e7 Fixing building on Qt\5.3\msvc2013_64_opengl.
--HG--
branch : develop
2016-08-13 11:56:59 +03:00
Roman Telezhynskyi
3f75727b6a Resolved issue #540. The latest development version don't compile in MAC.
--HG--
branch : develop
2016-08-09 21:48:43 +03:00