changelog
    
    
    - 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
 
    - Wed, 07 Mar 2018 19:30:29 +0200
 
    - by Santeri Piippo [Wed, 07 Mar 2018 19:30:29 +0200] rev 1276
 
    - fixed object deleting not triggering the proper renderer updates
 
    - Wed, 07 Mar 2018 19:30:03 +0200
 
    - by Santeri Piippo [Wed, 07 Mar 2018 19:30:03 +0200] rev 1275
 
    - fixed DelHistoryEntries getting ignored...
 
    - Wed, 07 Mar 2018 12:04:06 +0200
 
    - by Santeri Piippo [Wed, 07 Mar 2018 12:04:06 +0200] rev 1274
 
    - removed some debug code
 
    - Tue, 06 Mar 2018 23:29:40 +0200
 
    - by Santeri Piippo [Tue, 06 Mar 2018 23:29:40 +0200] rev 1273
 
    - Implemented row moving in the model and replaced swapping with it
 
    - Mon, 05 Mar 2018 23:59:47 +0200
 
    - by Santeri Piippo [Mon, 05 Mar 2018 23:59:47 +0200] rev 1272
 
    - migrated model swapping to mvc and made Model::swapObjects to emit dataChanged signals as a temporary solution
 
    - Mon, 05 Mar 2018 22:44:48 +0200
 
    - by Santeri Piippo [Mon, 05 Mar 2018 22:44:48 +0200] rev 1271
 
    - removed some unneeded headers
 
    - Mon, 05 Mar 2018 22:42:54 +0200
 
    - by Santeri Piippo [Mon, 05 Mar 2018 22:42:54 +0200] rev 1270
 
    - Finally removed the cancer that is the LDObject::model pointer
 
    - Mon, 05 Mar 2018 22:40:34 +0200
 
    - by Santeri Piippo [Mon, 05 Mar 2018 22:40:34 +0200] rev 1269
 
    - Added LDObject serialization and refactored the internal resource managing to use it. No more tearing objects from one model into another, and this provides a stable way to keep an object's state in memory such as the edit history.
 
    - Sat, 03 Mar 2018 17:59:56 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:59:56 +0200] rev 1268
 
    - fix warning
 
    - Sat, 03 Mar 2018 17:59:32 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:59:32 +0200] rev 1267
 
    - removed another LDObject::model() use
 
    - Sat, 03 Mar 2018 17:57:35 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:57:35 +0200] rev 1266
 
    - removed LDError::fileReferenced
 
    - Sat, 03 Mar 2018 17:56:49 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:56:49 +0200] rev 1265
 
    - reimplemented detection of broken references in PartDownloadRequest::downloadFinished
 
    - Sat, 03 Mar 2018 17:52:40 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:52:40 +0200] rev 1264
 
    - reimplemented finding of broken document references
 
    - Sat, 03 Mar 2018 17:47:40 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:47:40 +0200] rev 1263
 
    - LDSubfileReference now contains the name of the subfile and not a pointer anymore. Some methods now require a DocumentManager* for context on resolving the name.
 
    - Sat, 03 Mar 2018 17:28:27 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:28:27 +0200] rev 1262
 
    - removed use of model() in LDSubfileReference::inlineContents
 
    - Sat, 03 Mar 2018 17:25:12 +0200
 
    - by Santeri Piippo [Sat, 03 Mar 2018 17:25:12 +0200] rev 1261
 
    - Removed LDObject::invert, inversion code moved to basic toolset