Search found 301 matches

by andrecaldas
Wed Apr 10, 2024 11:21 pm
Forum: Developers corner
Topic: Farewell
Replies: 19
Views: 14631

Re: Farewell

[...] Dear abdullah , I do not know FreeCAD very much, nor this community. The little interaction we had showed me what a great human being you are. Thank you very much for your patience with me... I know it is not easy! :roll: I wish you all the best and hope we can interact again in the near futu...
by andrecaldas
Fri Dec 01, 2023 4:11 pm
Forum: Developers corner
Topic: Implement a new algorithm in sketch solver
Replies: 22
Views: 14916

Re: Implement a new algorithm in sketch solver

A perturbation of about 1e-10 should be sufficient. Random perturbation: https://github.com/andre-caldas/FreeCAD/blob/d772703400396f7e65b4b348fd67e1420c36d454/src/Mod/NamedSketcher/App/gcs_solver/parameters/ParameterShaker.h#L54 I don't see a good reason for such a small perturbation. If this is no...
by andrecaldas
Fri Dec 01, 2023 11:55 am
Forum: Developers corner
Topic: The problem of conflict constraint identification
Replies: 21
Views: 10384

Re: The problem of conflict constraint identification

I suppose it is this one: https://forum.freecad.org/viewtopic.php?t=78703 I've seen this thread, but I didn't find anything about testing mentioned by abdullah in it. :oops: Well, you have to ask abdullah, himself. But what I understood was that: 1. He suggested a "quick" approach. (quoti...
by andrecaldas
Fri Dec 01, 2023 5:11 am
Forum: Developers corner
Topic: The problem of conflict constraint identification
Replies: 21
Views: 10384

Re: The problem of conflict constraint identification

_Nemo wrote: Fri Dec 01, 2023 4:17 am
andrecaldas wrote: Thu Nov 30, 2023 1:29 pm I am watching that thread. :-)
Hello!
Can you provide me with a link to the thread you are talking about?
I suppose it is this one:
viewtopic.php?t=78703
by andrecaldas
Thu Nov 30, 2023 6:36 pm
Forum: Developers corner
Topic: Not signaling ActiveDocument.
Replies: 0
Views: 6367

Not signaling ActiveDocument.

When we create a new document, there is this interesting piece of code: https://github.com/FreeCAD/FreeCAD/blob/391d08e6d54b37e1d6e03bb354b747ba72082ce0/src/App/Application.cpp#L507 // make sure that the active document is set in case no GUI is up { Base::PyGILStateLocker lock; Py::Object active(_pA...
by andrecaldas
Thu Nov 30, 2023 1:31 pm
Forum: Developers corner
Topic: Maintainability: returning nullptr and using getXxxx()->doSomething().
Replies: 4
Views: 2607

Re: Maintainability: returning nullptr and using getXxxx()->doSomething().

Consider std::optional I made a version of std::shared_ptr that DOES throw when you try to reference an invalid pointer. https://github.com/andre-caldas/FreeCAD/blob/TechDraw_MultiThreaded/src/Base/Threads/ThrowingSharedPtr.h https://github.com/andre-caldas/FreeCAD/blob/TechDraw_MultiThreaded/src/B...
by andrecaldas
Thu Nov 30, 2023 1:29 pm
Forum: Developers corner
Topic: The problem of conflict constraint identification
Replies: 21
Views: 10384

Re: The problem of conflict constraint identification

I do not see the relation between disturbing and changing algorithm for solving. Meaning that any solving algorithm could be applied to the undisturbed matrix, and disturbing it does not change the fact that one can use any solving algorithm. It is not related to "disturbing". It is relat...
by andrecaldas
Tue Nov 28, 2023 1:12 pm
Forum: Developers corner
Topic: The problem of conflict constraint identification
Replies: 21
Views: 10384

Re: The problem of conflict constraint identification

The first question to answer is where the noise should be inserted and which effect it may have (also taking into account its magnitude and the pivoting threshold). As you said... it makes not sense to disturb the matrix. The parameters must be disturbed. It is important to notice that it might be ...
by andrecaldas
Sun Nov 26, 2023 12:02 pm
Forum: Developers corner
Topic: Maintainability: returning nullptr and using getXxxx()->doSomething().
Replies: 4
Views: 2607

Re: Maintainability: returning nullptr and using getXxxx()->doSomething().

Consider std::optional Using std::optional class as well as a std::shared_ptr would solve the problem if "operator*" and "operator->" were not declared noexcept. With std::optional, the programmer cannot "try" to access a resource that is actually invalid: *resource or...
by andrecaldas
Sat Nov 25, 2023 12:18 am
Forum: Developers corner
Topic: Maintainability: returning nullptr and using getXxxx()->doSomething().
Replies: 4
Views: 2607

Maintainability: returning nullptr and using getXxxx()->doSomething().

In FreeCAD there are many places where we have methods that return nullptr and at the same time, those methods are used without the "proper checking". Of course, sometimes you can assume things. But when the logic is too complex, this is not a good practice in my opinion. For example, (as ...