Moved more methods only used by canvas code from GLRenderer to Canvas. Thin border pen is now a static constant.

Moved triangle count rendering to Canvas

Moved document editing methods from GLRenderer to Canvas

Created a new GLRenderer derivative class "Canvas" and made MainWindow use it

Cleaned up code in LDDocument and removed unnecessary flags and methods. Flags turned into bools.

Removed some unused code

Removed all overlay support. It's a messy pile of mess and I will reimplement it later as background images and it will be much better then.

GLRenderer no longer exposes the model pointer.

LDGLData merged into GLRenderer since it only deals with one document now. GLRenderer generalised from rendering documents to models.

Made a new renderer be created for each document, instead of reusing the same renderer for all documents.

Simplified GLRenderer::convert3dTo2d. The multiplication with the modelview matrix is not necessary, it's identity all the time... with that, I think the function makes much more sense now.

- Use a QGenericMatrix to store the matrix, instead of a C array

Changed from GLdouble to GLfloat. Apparently the performance difference is greater on the GPU..? It doesn't really matter but let's be consistent.

GLRenderer::clampAngle is no longer used as of the previous commit so we can do away with it.

Switched from euler angle rotation to matrix rotation. Gimbal lock is now broken.

Wrote documentation to the Model class.

The current document pointer may no longer be null.

minor amendment

Reworked and cleaned up the circle mode

Some code cleanup in abstract editing modes.

Removed some unnecessary #include-directives.

Removed the status bar, since it's not used for anything

Split object list representation into virtual methods

Removed LDDocument::getObjectCount (superceded by Model::size)

The "all objects have valid models" invariant seems to be holding up now. At least basic drawing works again.

Made all LDObject constructors protected. Emplacement is now the only way to create objects.

Removed the LDSpawn function and replaced its last use cases.

More rework on model stuff, removals of LDSpawn calls. Most importantly, the LDraw code parsing function was moved to Model.

(0) -1000 -300 -100 -50 -28 +28 +50 +100 +300 tip

mercurial