Yunus Emre Köse

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Yunus Emre Köse

yekose
I am yunus and civil engineer from turkey. I am working as a c++ developer in an engineering company which creates some BIM and engineering softwares. I am not sure if i can contribute to this project as a developer and would really love to be involved in it.
Reply | Threaded
Open this post in threaded view
|

Re: Yunus Emre Köse

dxli
Hi yekose,

We need help from developers, badly.

At different fronts, with some examples,

1, Android, ios, or html5 l/emscripten
2, qt support improvement: platforms, gui(like ravas is working on), print support
3, locales, like from right to left languages
4, math, equation solvers, graph algorithms , k-d tree, r-tree,  etc
5, geometry, bezier, hatch, hyperbola, parabola, voronoi(as a feature, and as ways to find nearest)

Feel free to find your favorite part as well.

Dxli
yekose wrote
I am yunus and civil engineer from turkey. I am working as a c++ developer in an engineering company which creates some BIM and engineering softwares. I am not sure if i can contribute to this project as a developer and would really love to be involved in it.
Reply | Threaded
Open this post in threaded view
|

Re: Yunus Emre Köse

yekose
Yeah cool, i think i could give you guys some help about 4 and 5, and also i am familiar with the ios development not really deep but okay. So it would be better for some starting point, i mean to get familiar with the codebase, do you have any structure, hierarchy? I am not sure where to start first. I got the code from the git. Do you have anything like jira or something?
Reply | Threaded
Open this post in threaded view
|

Re: Yunus Emre Köse

ravas
You can post an issue you want to work on at https://github.com/LibreCAD/LibreCAD/issues
Then in commit summaries you can add "issue #123" (replace 123 with your issue number)
which will link the issue and the commit (it's a way to group commits).

If you understand floating point errors and intersection algorithms:
we need a hero for https://github.com/LibreCAD/LibreCAD/issues/523
There is a list of relevant files toward the bottom
https://github.com/LibreCAD/LibreCAD/issues/523#issuecomment-128115992

In general the place to start is main.cpp and qc_applicationwindow.cpp
Reply | Threaded
Open this post in threaded view
|

Re: Yunus Emre Köse

dxli
In reply to this post by yekose
You start with a github account(in case you don't have one yet).  and fork the official repository:

https://github.com/LibreCAD/LibreCAD

Since LibreCAD is currently Qt based, it's straight forward to clone the repository and start development with Qt-Creator, and eventually send in pull requests.

Feel free to play with simple stuff (like a trivial one I did: https://github.com/LibreCAD/LibreCAD/commit/263fd2dd3983e5f2bd5785e00842399b17db8b8a)

items 4 and 5 are great, if you are interested in algorithms.

For equations solvers, feel free to clean up and improve:

https://github.com/LibreCAD/LibreCAD/blob/master/librecad/src/lib/math/rs_math.h

related to issue 523, we need to improve robustness of equations solvers: quadratic, cubic, quartic, quadratic-quadratic.

Of course, issue 523 should be handled from both the snapper side as well as equation solver side, as the equation solvers will always have some tolerance in results. kd-tree might help to efficiently identify duplicated points. To efficiently find intersections between two beziers, we can do binary tree search or R-Tree of bounding boxes. Currently, to find intersections of two 1000-segment beziers, all segment pairs (1 million pairs) are searched.

If you would like to start new implementation, try to follow classes rs_line/rs_ellipse to implement lc_hyperbola and lc_parabola for hyperbola and parabola support.


Another thought, read through our closed bugs and have a look at the fixes:
https://sourceforge.net/p/librecad/bugs/


yekose wrote
Yeah cool, i think i could give you guys some help about 4 and 5, and also i am familiar with the ios development not really deep but okay. So it would be better for some starting point, i mean to get familiar with the codebase, do you have any structure, hierarchy? I am not sure where to start first. I got the code from the git. Do you have anything like jira or something?
Reply | Threaded
Open this post in threaded view
|

Re: Yunus Emre Köse

yekose
I ll do my best, thank you for the information you provided and i want to ask a basic question about the notation i think this LC_ is librecad but there is also some other prefixes like RS_ QC_ , do they have specific meanings?
Reply | Threaded
Open this post in threaded view
|

Re: Yunus Emre Köse

dxli
Only for historical reasons, RS_ is a legacy from qcad, and whenever we don't want to use RS_, LC_ is used.

Feel free to use simple names without any prefix (like what we have in LibreCAD_3).

yekose wrote
I ll do my best, thank you for the information you provided and i want to ask a basic question about the notation i think this LC_ is librecad but there is also some other prefixes like RS_ QC_ , do they have specific meanings?