We have moved to https://dokuwiki.librecad.org/

Lots of content was already moved to the new wiki, but there is still work to do. If you want to contribute, please register a new account at https://dokuwiki.librecad.org/

This wiki will be kept for a while to keep search engine results valid. Moved sites may be deleted here in future.

LibreCAD 3 - LibreCAD 3 - TODOs

From LibreCAD wiki
Revision as of 19:01, 25 April 2015 by Ravas (Talk | contribs)

Jump to: navigation, search

- Review all class naming for example Builder isn0t the right name, we might need to change that

- Review document structure

- check for get accessors to remove ‘get’ for example instead getLayer() use layer()

- Ensure to copy meta data for each entity

- Consider if we should have a Circle. a) Should it extend from Arc? or Should a arc from 0..2pi be a circle?

- Cleanup include directives

- Make some variables const with the primitive/geo classes, not sure yet because during editing we might want to have a mutable version of entities and hens we need getters/setters. entities within the kernel will always be const though!

- Use #pragma once instead if ifndef within the headers

- Make LibreCAD single application window (no MDI) just like how Numbers, pages etc works on OSX. One window with the document. Obviously it should be possible to open up multiple documents and apply cut/paste between them.

- Add the various dimensioning drawings to LcPainter and LcCairoPainter

- Remove all TOLERANCES from lckernel, expected tolerance should be given by the application, not hard coded

- Add the method virtual void accept(lc::geo::Line o, EntityVisitor& ei) const { ei.visit(shared_from_this(), o); } to CADEntity, this will allow to to find intersection points needed for screen selections, so we don't have to construct a CADEntity type, for example select enemies by Area

- Create a API for creating and modifying entities on screen, properly something node based?