changelog
    
    
    - Sat, 24 Mar 2018 16:40:12 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 16:40:12 +0200] rev 1340
 
    - more work on 8-primitives
 
    - Sat, 24 Mar 2018 16:33:23 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 16:33:23 +0200] rev 1339
 
    - Added support for 8-primitives
 
    - Sat, 24 Mar 2018 16:12:08 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 16:12:08 +0200] rev 1338
 
    - Whoops
 
    - Sat, 24 Mar 2018 16:11:42 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 16:11:42 +0200] rev 1337
 
    - some python cleanup
 
    - Sat, 24 Mar 2018 15:58:35 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 15:58:35 +0200] rev 1336
 
    - improved formatting of generated configuration code
 
    - Sat, 24 Mar 2018 15:54:41 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 15:54:41 +0200] rev 1335
 
    - MainWindow now stores its state in the config file so its state and geometry is preserved across instances
 
    - Sat, 24 Mar 2018 13:55:08 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 13:55:08 +0200] rev 1334
 
    - removed another unused class
 
    - Sat, 24 Mar 2018 13:53:56 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 13:53:56 +0200] rev 1333
 
    - removed unused include
 
    - Sat, 24 Mar 2018 13:48:50 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 13:48:50 +0200] rev 1332
 
    - replaced remaining DIRSLASH, Dirname and Basename uses with Qt file info stuff
 
    - Sat, 24 Mar 2018 13:42:34 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 13:42:34 +0200] rev 1331
 
    - used Qt file info stuff in the auto-subfiler
 
    - Sat, 24 Mar 2018 13:28:03 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 13:28:03 +0200] rev 1330
 
    - Used more Qt file info stuff
 
    - Sat, 24 Mar 2018 13:11:17 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 13:11:17 +0200] rev 1329
 
    - rewrote LDDocument::shortenName using Qt stuff
 
    - Sat, 24 Mar 2018 13:03:02 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 13:03:02 +0200] rev 1328
 
    - merged mathfunctions.cpp into algorithms/geometry.cpp
 
    - Sat, 24 Mar 2018 12:58:01 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 12:58:01 +0200] rev 1327
 
    - added comment
 
    - Sat, 24 Mar 2018 12:54:28 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 12:54:28 +0200] rev 1326
 
    - Happy new year 2018
 
    - Sat, 24 Mar 2018 12:51:24 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 12:51:24 +0200] rev 1325
 
    - Use 4 points of precision for circle point coordinates
 
    - Sat, 24 Mar 2018 12:46:40 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 12:46:40 +0200] rev 1324
 
    - roundToDecimals no longer needs an lvalue. applyToMatrix removed.
 
    - Sat, 24 Mar 2018 12:34:20 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 12:34:20 +0200] rev 1323
 
    - Config is now a namespace
 
    - Sat, 24 Mar 2018 12:09:26 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 12:09:26 +0200] rev 1322
 
    - renamed sink() to singleton()
 
    - Sat, 24 Mar 2018 12:06:49 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 12:06:49 +0200] rev 1321
 
    - used squared()
 
    - Sat, 24 Mar 2018 12:06:22 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 12:06:22 +0200] rev 1320
 
    - Moved includes, added squared() function
 
    - Sat, 24 Mar 2018 11:57:24 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 11:57:24 +0200] rev 1319
 
    - reorganized headers
 
    - Sat, 24 Mar 2018 11:05:40 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 11:05:40 +0200] rev 1318
 
    - removed unnecessary files and includes
 
    - Sat, 24 Mar 2018 10:51:20 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 24 Mar 2018 10:51:20 +0200] rev 1317
 
    - removed the unused OpenProgressDialog
 
    - Fri, 23 Mar 2018 22:00:34 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 23 Mar 2018 22:00:34 +0200] rev 1316
 
    - reworked includes
 
    - Fri, 23 Mar 2018 21:53:03 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 23 Mar 2018 21:53:03 +0200] rev 1315
 
    - moved Vertex and BoundingBox into new code units
 
    - Fri, 23 Mar 2018 21:36:37 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 23 Mar 2018 21:36:37 +0200] rev 1314
 
    - added stream operators to Vertex
 
    - Fri, 23 Mar 2018 21:30:24 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 23 Mar 2018 21:30:24 +0200] rev 1313
 
    - reworked Vertex, no longer a QVector3D subclass
 
    - Fri, 23 Mar 2018 19:30:53 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 23 Mar 2018 19:30:53 +0200] rev 1312
 
    - remove LDBfc
 
    - Fri, 23 Mar 2018 17:14:46 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 23 Mar 2018 17:14:46 +0200] rev 1311
 
    - ported qOverload to drop minimum Qt requirement down to 5.5
 
    - Fri, 23 Mar 2018 17:13:35 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 23 Mar 2018 17:13:35 +0200] rev 1310
 
    - remove LDPaths
 
    - Fri, 23 Mar 2018 16:14:04 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 23 Mar 2018 16:14:04 +0200] rev 1309
 
    - reworked primitive scanning
 
    - Fri, 23 Mar 2018 12:51:18 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 23 Mar 2018 12:51:18 +0200] rev 1308
 
    - Begin rework to add support for multiple libraries
 
    - Tue, 20 Mar 2018 12:25:52 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 20 Mar 2018 12:25:52 +0200] rev 1307
 
    - fixed warning
 
    - Mon, 19 Mar 2018 12:44:27 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Mon, 19 Mar 2018 12:44:27 +0200] rev 1306
 
    - red/green view rework complete
 
    - Mon, 19 Mar 2018 12:24:59 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Mon, 19 Mar 2018 12:24:59 +0200] rev 1305
 
    - Bfc red/green view almost completely fixed
 
    - Mon, 19 Mar 2018 11:04:18 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Mon, 19 Mar 2018 11:04:18 +0200] rev 1304
 
    - added more comments
 
    - Mon, 19 Mar 2018 10:59:58 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Mon, 19 Mar 2018 10:59:58 +0200] rev 1303
 
    - reworked invert()
 
    - Mon, 19 Mar 2018 10:57:19 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Mon, 19 Mar 2018 10:57:19 +0200] rev 1302
 
    - added license headers
 
    - Mon, 19 Mar 2018 10:57:13 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Mon, 19 Mar 2018 10:57:13 +0200] rev 1301
 
    - moved inverting code into a new file
 
    - Sun, 18 Mar 2018 23:31:15 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 18 Mar 2018 23:31:15 +0200] rev 1300
 
    - added comment editing
 
    - Sun, 18 Mar 2018 12:37:40 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 18 Mar 2018 12:37:40 +0200] rev 1299
 
    - fixed color handling
 
    - Sun, 18 Mar 2018 12:33:29 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 18 Mar 2018 12:33:29 +0200] rev 1298
 
    - fixed infinite recursion and integrated the subfilereference editor
 
    - Sun, 18 Mar 2018 12:00:39 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 18 Mar 2018 12:00:39 +0200] rev 1297
 
    - added subfile reference editor
 
    - Sat, 17 Mar 2018 23:59:15 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 17 Mar 2018 23:59:15 +0200] rev 1296
 
    - Added vertex object editing dialog
 
    - Sat, 17 Mar 2018 20:47:35 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 17 Mar 2018 20:47:35 +0200] rev 1295
 
    - the header is now also saved
 
    - Sat, 17 Mar 2018 12:29:52 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 17 Mar 2018 12:29:52 +0200] rev 1294
 
    - Added a new tool for clamping vertices
 
    - Sat, 17 Mar 2018 11:35:07 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 17 Mar 2018 11:35:07 +0200] rev 1293
 
    - removed the old Add History Line tool
 
    - Sat, 17 Mar 2018 11:33:05 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 17 Mar 2018 11:33:05 +0200] rev 1292
 
    - Part history can now be edited
 
    - Fri, 16 Mar 2018 16:28:39 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 16 Mar 2018 16:28:39 +0200] rev 1291
 
    - Added basic header editing
 
    - Fri, 16 Mar 2018 12:20:16 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 16 Mar 2018 12:20:16 +0200] rev 1290
 
    - Fixed crashing
 
    - Fri, 16 Mar 2018 11:55:58 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 16 Mar 2018 11:55:58 +0200] rev 1289
 
    - add comments
 
    - Fri, 16 Mar 2018 11:50:35 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 16 Mar 2018 11:50:35 +0200] rev 1288
 
    - Header parsing complete, moved all parsing code into a new class. Documents are now all loaded in one go.
 
    - Thu, 15 Mar 2018 18:51:58 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 15 Mar 2018 18:51:58 +0200] rev 1287
 
    - begin work on document loading rework
 
    - Thu, 15 Mar 2018 11:31:39 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 15 Mar 2018 11:31:39 +0200] rev 1286
 
    - added a document header structure
 
    - Thu, 15 Mar 2018 10:46:46 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 15 Mar 2018 10:46:46 +0200] rev 1285
 
    - added signal emissions
 
    - Wed, 14 Mar 2018 12:18:52 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Wed, 14 Mar 2018 12:18:52 +0200] rev 1284
 
    - moved emit calls
 
    - Wed, 14 Mar 2018 12:08:03 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Wed, 14 Mar 2018 12:08:03 +0200] rev 1283
 
    - added an MVC interface to the primitives tree
 
    - Sun, 11 Mar 2018 23:42:03 +0200
 
    - by Santeri Piippo [Sun, 11 Mar 2018 23:42:03 +0200] rev 1282
 
    - fixed removing objects causing some other objects to disappear
 
    - Sun, 11 Mar 2018 16:13:32 +0200
 
    - by Santeri Piippo [Sun, 11 Mar 2018 16:13:32 +0200] rev 1281
 
    - optimized triangle count
 
    - Sun, 11 Mar 2018 16:13:22 +0200
 
    - by Santeri Piippo [Sun, 11 Mar 2018 16:13:22 +0200] rev 1280
 
    - fixed: LDDocument created one removal connection to the model for each object added, so removing an object from a model of 9 objects added 9 deletion entries to history
 
    - Thu, 08 Mar 2018 11:39:18 +0200
 
    - by Santeri Piippo [Thu, 08 Mar 2018 11:39:18 +0200] rev 1279
 
    - renamed signal
 
    - Thu, 08 Mar 2018 11:36:55 +0200
 
    - by Santeri Piippo [Thu, 08 Mar 2018 11:36:55 +0200] rev 1278
 
    - moved LDObject indices from a global array into Model
 
    - Wed, 07 Mar 2018 19:32:05 +0200
 
    - by Santeri Piippo [Wed, 07 Mar 2018 19:32:05 +0200] rev 1277
 
    - removed unused code