Latest revision |
Your text |
Line 1: |
Line 1: |
| LibreCAD Kernel Documentation/API Documentation for the usage with other softwares. | | LibreCAD Kernel Documentation/API Documentation for the usage with other softwares. |
− |
| |
− | LibreCAD kernel is a library to perform 2D operations. Rightnow it supports the basic entities like circle, line, arc, ellipse ( Although can be extended to b-splines, beizer curves ) and the code is built in C++ and Qt. .
| |
− |
| |
− | It now follows a document based approach and has been designed to be very extensible.
| |
− |
| |
− | It supports the operations of creating, deleting and trimming of entities. Has an undo-redo stack hence you can do unlimited undos and redos.
| |
− |
| |
− | Things that are going to be implemented in GSoC are,
| |
− | *support for moving entities from one position to another.
| |
− | *Ability to copy entities any number of times.
| |
− | *Scaling the entities.
| |
− | *Rotating the entities with respect to some point.
| |
− |
| |
− | *It will have support for text and dimensioning after the GSoC period.
| |
− |
| |
− | Directory structure and operations,
| |
− |
| |
− | Base directory :
| |
− |
| |
− | cadentity.*
| |
− |
| |
− | It is the base class for all entities and each entity is inherited from this class.
| |
− |
| |
− | id.*
| |
− |
| |
− | These file contain the class that generates a unique ID for every new entity so created.
| |
− |
| |
− | metainfo.*
| |
− |
| |
− | These files contains the classes which are metatypes for any entity. For example the pen color, line width, layer of entity.
| |
− |
| |
− | Dochelpers :
| |
− |
| |
− | These are the implementation files of the files in document folder( containing the virtual functions).
| |
− |
| |
− | documentimpl
| |
− |
| |
− | contains the following functions,
| |
− | *addentity
| |
− | *removeentity
| |
− | *begin a process
| |
− | *commiting a process
| |
− |
| |
− | documentlayerimpl
| |
− | *add entity // adds an entity to the layer
| |
− | *remove entity // removes the entity from the layer
| |
− | *find by id // Finds the entity by the unique ID specified
| |
− |
| |
− | layermanagerimpl
| |
− | It manages the layers, adds/deletes layers.
| |