refactor

use 3 significant figures in file size representation

better representation of fractions and large numbers

The border between the canvas and left tool box is now resizable

fixed minimum values

refactor cylinder generation

reworked primitive generator

added support for new style primitive names

fixed rendering artifacts

fixed wording

added comment

added categories for 8/ and 48/ torii

more work on 8-primitives

Added support for 8-primitives

Whoops

some python cleanup

improved formatting of generated configuration code

MainWindow now stores its state in the config file so its state and geometry is preserved across instances

removed another unused class

removed unused include

replaced remaining DIRSLASH, Dirname and Basename uses with Qt file info stuff

used Qt file info stuff in the auto-subfiler

Used more Qt file info stuff

rewrote LDDocument::shortenName using Qt stuff

merged mathfunctions.cpp into algorithms/geometry.cpp

added comment

Happy new year 2018

Use 4 points of precision for circle point coordinates

roundToDecimals no longer needs an lvalue. applyToMatrix removed.

Config is now a namespace

renamed sink() to singleton()

used squared()

Moved includes, added squared() function

reorganized headers

removed unnecessary files and includes

removed the unused OpenProgressDialog

reworked includes

moved Vertex and BoundingBox into new code units

added stream operators to Vertex

reworked Vertex, no longer a QVector3D subclass

remove LDBfc

ported qOverload to drop minimum Qt requirement down to 5.5

remove LDPaths

reworked primitive scanning

Begin rework to add support for multiple libraries

fixed warning

red/green view rework complete

Bfc red/green view almost completely fixed

added more comments

reworked invert()

added license headers

moved inverting code into a new file

added comment editing

fixed color handling

fixed infinite recursion and integrated the subfilereference editor

added subfile reference editor

Added vertex object editing dialog

the header is now also saved

Added a new tool for clamping vertices

removed the old Add History Line tool

Part history can now be edited

Added basic header editing

Fixed crashing

add comments

Header parsing complete, moved all parsing code into a new class. Documents are now all loaded in one go.

begin work on document loading rework

added a document header structure

added signal emissions

moved emit calls

added an MVC interface to the primitives tree

fixed removing objects causing some other objects to disappear

optimized triangle count

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

renamed signal

moved LDObject indices from a global array into Model

removed unused code

fixed object deleting not triggering the proper renderer updates

fixed DelHistoryEntries getting ignored...

removed some debug code

Implemented row moving in the model and replaced swapping with it

migrated model swapping to mvc and made Model::swapObjects to emit dataChanged signals as a temporary solution

removed some unneeded headers

Finally removed the cancer that is the LDObject::model pointer

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.

fix warning

removed another LDObject::model() use

removed LDError::fileReferenced

reimplemented detection of broken references in PartDownloadRequest::downloadFinished

reimplemented finding of broken document references

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.

removed use of model() in LDSubfileReference::inlineContents

Removed LDObject::invert, inversion code moved to basic toolset

removed LDObject::swap

moved LDObject::next to the algorithm toolset

removed LDObject::lineNumber

more selection rework

removed LDDocument::clearSelection and replaced it with a MainWindow implementation

things #2

things

add operators to LDDocument

refactor

Converted magic wand mode and other selection stuff to mvc

more work on mvc

convert MainWindow::deleteSelection to mvc

made lighting more subtle

converted highlighting to mvc

used mvc selection models

more work on mvc

begin model rework

removed unneeded stuff

Removed LDConditionalEdge::becomeEdgeLine

hook up dataChanged

changed Model into an MVC list model and replaced the objects list with a view into the model

add missing switch case

disable lighting in the selection scene

moved matrix calculations, added inverted normals for BFC back sides

BFC INVERTNEXT objects are no longer individual objects

removed GL_POLYGON_SMOOTH because it causes artifacts

made GLCamera a non-QObject

remove GL_POLYGON_SMOOTH because it causes rendering artifacts

renderer rework

begin rendering rework

encoded division slash

added support for circular 8/-primitives

simplify

add support for 8/ in part downloader

drop Qt4 support

simplify

undo config change

simplified RoundToDecimals

happy new year 2018

revamped format.h

reduce main.cpp

simplified Matrix

replaced Origin with default-constructed Vertex

fix paren style

add autosave

replaced "Config->" with "config."

increased range of GLRenderer bounds

circlemode: don't wait for the last click

Worked more on the library collection thing

LibraryCollection now derives from QObject and QVector<Library>

More work on library collections

Laid groundwork for library collection support.

Some cleanup in LDPaths

Removed the unary min and max functions.

Better encapsulated the BaseConfiguration class.

Whoops

Split the configuration main interface to a new class, BaseInterface, so that moc can properly deal with it.

Configuration changes can now be detected with signals.

Added Python tools to CMake so that they show up in IDEs

Simplified GLCompiler vbo interface

PrimitiveScanner is no longer a HierarchyElement.

Grid is now a namespace.

MathFunctions is now a namespace.

Fixed NewPartDialog leaking the memory allocated by the user interface.

NewPartDialog is no longer a HierarchyElement.

ColorSelector is no longer a HierarchyElement.

GuiUtilities is now a namespace.

The Grid class is no longer a hierarchy element or a QObject.

Made configuration a global singleton. I think I can give in at least that much because it makes solving a lot of problems easier.

Also removed the copy constructor and copy assignment because those only are bad news for a resource managing vector...

and let's put a newline there...

Deleted the copy constructor version of ResourceVector<T>::insert, like with append

Sorted the methods in Model's public section.

Renamed some methods of the Model class to remove the 'emplace' word (however cromulent it is, being from STL...) from them.

Moved LDObject lifetime management from Model to ResourceVector. This is a large refactor that removes some hacks from the Model class.

Added a new type ResourceVector which manages object lifetimes, and used it to remove a bit of memory management.

Polar grid is now togglable.

CMake fixes

Added polar grid snapping code.

Added polar grid rendering (which is disabled for now).

Grid::snap now snaps points.

Simplified Grid::snap.

At long last, the grid is finally now rendered onto the viewport. Woop!

Added support for ideal co-ordinates, which should make writing editing tools a lot easier. For some reason they don't yet work with the back and right cameras.

Removed some unused class stubs and definitions.

No need for braces there...

Cleanup ColorSelector, moved direct color composition to a new LDColor constructor.

Cleanup ColorSelector::colorButtonClicked()

Changed QByteArray to QVector to avoid that ugly reinterpret_cast.

Turned GLRenderer::pixelCapture to GLRenderer::screenCapture() which encapsulates screen capturing properly and returns a ready image.

Hardened the GLRenderer interface, made methods more private.

Cleanup GLRenderer::initializeAxes()

Removed GLRenderer::refresh(), update() does the job just as fine.

GLRenderer::drawVbos no longer needs to be told the GL type

Cleanup AlgorithmToolset::subfileSelection.

Fixed more dialog instances in AlgorithmToolset.

Moved all UI files from ui/ into src/dialogs/.

Removed unused class RadioGroup.

Replaced LDObjectList with QVector<LDObject*>

Removed the Origin and axes global constants.

(0) -1000 -192 tip

mercurial