Commit Graph

3379 Commits

Author SHA1 Message Date
Ladislav Michl
3bddb723d5 Base: UnitsSchema: return std::string 2024-12-23 17:48:42 +01:00
Ladislav Michl
0b3adee2ab Base: Quantity: return std::string 2024-12-23 17:48:42 +01:00
Ladislav Michl
379d7ea9d5 Base: Units: return std::string 2024-12-23 17:48:42 +01:00
Alfredo Monclus
f1192a12f9 fix(Test): sketcher external geometry removed test 2024-12-20 07:51:34 -03:00
Jiří Pinkava
b04f1244a4 Sketcher: clean-up geometry history configuation
Keep code almost 1:1 with LS3 branch, just ensure the variable is
initialized and code is documented
2024-12-16 12:07:40 -05:00
Chris Hennes
118b8e78b0 Merge pull request #18354 from CalligaroV/pd-hole-restore-missing-refineShapeIfActive
[PartDesign] Hole: restore missing call to FeatureAddSub::refineShapeIfActive()
2024-12-16 11:41:50 -05:00
Vincent Belpois
c8530ae0a8 Sketcher: Fix double RMB to quite polyline after closed shape 2024-12-13 12:30:41 -05:00
wmayer
33722a5c72 Sketch: Fix possible crash in BSpline::splineValue
There is an underflow of an unsigned int in the calling instance that sets the parameter 'p' to 2**32-1.
But the size of the passed vector is 0. To fix the crash first check if p is less then the size of the vector.

See: https://forum.freecad.org/viewtopic.php?t=92815
2024-12-13 12:08:31 -05:00
Chris Hennes
e087720272 Merge pull request #18346 from wwmayer/fix_sketch
Fix SketchObjectPy::addExternal
2024-12-13 11:37:51 -05:00
wmayer
b5ad887edd Sketcher: Fix warning [-Wmaybe-uninitialized] 2024-12-10 12:32:41 -05:00
luzpaz
09be35359e Fix various typos
Found via `codespell -q 3 -L aci,addmin,ake,aline,alle,alledges,alocation,als,ang,anid,anormal,aply,apoints,ba,beginn,behaviour,bloaded,bottome,brushin,bu,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childrens,childs,colour,colours,commen,connexion,currenty,documentin,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,findn,fle,freez,graphin,hist,iff,incrementin,indexin,indicies,initialisation,initialise,initialised,initialises,initialisiert,inout,ist,itsel,kilometre,leadin,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oce,oder,ontop,orgin,orginx,orginy,ot,pard,parm,parms,pres,programm,que,rady,recurrance,renderin,rin,ro,rougly,sectionin,seperator,serie,shs,sinc,siz,som,strack,substraction,te,technic,thist,thru,tread,tru,ue,uint,unter,uptodate,vas,vertexes,vew,wallthickness,whitespaces -S "./.git,*.po,*.ts,*.pdf,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./src/Base/StackWalker.cpp,./build/doc/SourceDoc,./tools/build/WindowsInstaller/lang,./src/Mod/TechDraw/Templates/locale"`
2024-12-10 15:09:51 +01:00
Syres916
b12c7c42e8 [Sketcher] [Post 1.0] Allow CarbonCopy to work with SketchObjectPython (#15594) 2024-12-09 11:31:04 -06:00
Chris Hennes
7a0fc120d1 Merge pull request #18273 from Ondsel-Development/sk_group_drag
Sketcher: Group dragging
2024-12-09 12:29:49 -05:00
Vincenzo Calligaro
49ccd0df1a Updated tests affected by the modification
Signed-off-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>
2024-12-07 20:24:31 +01:00
wmayer
240e0f0449 Sketch: Fix SketchObjectPy::addExternal
Use PyArg_ParseTuple's support of optional arguments than doing it with several calls of PyArg_ParseTuple
with different arguments.
This is error-prone, leads to convoluted code logic and may even fail because once the error indicator is set
PyArg_ParseTuple may unexpectedly fail.
2024-12-07 19:55:49 +01:00
wmayer
bbb3c91268 Sketch: Fix Python type hints in addExternal
The syntax of type hints in Python is 'argument name: argument type'.
For more details see: https://docs.python.org/3/library/typing.html
2024-12-07 19:28:04 +01:00
Kacper Donat
954b729b56 Gui: Use getObject<T>() helpers in classes
This commit is generated using regex based find and replace:

```
s/[\w:]+_cast\s*<([^>]+)\*>\s*\(\s*getObject\(\s*\)\)/getObject<$1>/
s/[\w:]+_cast\s*<([^>]+)\*>\s*\(\s*([^)]*)\s*->\s*getObject\(\s*\)\)/$2->getObject<$1>()/
```

To regenerate if needed.
2024-12-06 18:29:39 +01:00
Chris Hennes
ea7e17ba00 Merge pull request #18126 from Ondsel-Development/core_LCS2
Core datums : Card2 : Core implementation
2024-12-06 12:12:04 -05:00
Florian Foinant-Willig
326a439d5b [Core] Fix for frozen status
A frozen object prevents the document to be saved
The frozen status propagates into object inheritance
A frozen sketch is no more editable
Transform and Placement can't be changed for a frozen object
The freeze icon is reduced
2024-12-06 11:56:48 -05:00
Jiří Pinkava
e06ce1189c [PartDesign]: Sort sketches in Attach sketch tool alphabetically
The order of sketches in sketch attaching tool is now determined
by the order in which they were added to document.
Sorting them alphabetically makes IMHO much easier to find a sketch
by user, compared to current state, especially in large and complex
projects with lot of sketches. Of cuser thix expects the user
use sensible names for the sketches.
2024-12-06 11:52:59 -05:00
PaddleStroke
17e6aa9629 Sketcher: Rename movePoint to moveGeometries. 2024-12-06 16:45:47 +01:00
PaddleStroke
fd0121236b Sketcher: Fix first external geo deletion failure. 2024-12-05 15:23:25 +01:00
luzpaz
2d40efd555 Fix various typos
Found with codespell
2024-12-04 23:18:00 -05:00
wmayer
d2250d1f56 Fix compiler warnings 2024-12-04 09:50:09 -05:00
PaddleStroke
95c3d4febc Sketcher: Group dragging 2024-12-04 10:58:29 +01:00
Ajinkya Dahale
1a851a38b1 [Sketcher] Use variable for frequently used static cast in trim 2024-12-04 00:57:41 +05:30
Ajinkya Dahale
f16556647b [Sketcher] Remove some commented code from SketchObject::trim()
...and replace with a TODO
2024-12-04 00:57:41 +05:30
Ajinkya Dahale
94efeade32 [Sketcher] Remove some unneeded comments 2024-12-04 00:57:41 +05:30
Ajinkya Dahale
c0f800615e [Sketcher] Use switch-case in getPointForGeometry()
Minor readability improvement.
2024-12-04 00:57:41 +05:30
Ajinkya Dahale
fbc6445198 [Sketcher] Refactor SketchObject::trim()
1. Use `Part::GeomCurve::createArc()`
2. Refactor constraint logic in `trim`
2024-12-04 00:57:40 +05:30
Ajinkya Dahale
ed59a23778 [Sketcher] Add some utility functions to Sketcher::Constraint
`involvesGeoId`, `invovesGeoIdAndPosId`, `substituteIndexAndPos`
2024-12-04 00:57:40 +05:30
Ajinkya Dahale
680b4bdb2e [Sketcher] Some trivial for loop changes in SketchObject 2024-12-04 00:57:40 +05:30
Ajinkya Dahale
d652db63f0 [Sketcher] Attempt to fix toponaming issue on trim refactor
TNP fix algorithm doesn't seem to like when edge with geoId 0 is deleted/made
construction after new geometry is added. Instead, we just ensure that one of
the newly added geometries becomes geoId 0 instead.

Making a `generateId(const Part::Geometry*)` was part of earlier attempts, but
still appears to remain relevant. This part can be reverted if necessary.
2024-12-04 00:57:40 +05:30
Ajinkya Dahale
30e95ee86a [Sketcher] Refactor SketchObject::trim()
DO NOT MERGE because not complete: not all constraints are not transferred.

Includes:

* Adjust `deriveConstraintsForPieces` for trim
* Make sure new points are constrained on the cutting edges
* Add constraints at trim end(s) dependent on pre-exisiting ones with cutting curve(s). Also change tests to reflect that auto-coincidence can now be applied to non-periodic curves as well.

Known issue(s):
* Some redundant constraints may be added under certain circumstances (e.g. in
presence of perpendicular-via-point)
2024-12-04 00:57:40 +05:30
Ajinkya Dahale
bf4eed0921 [Sketcher] Refactor SketchObject::split() 2024-12-04 00:57:40 +05:30
Ajinkya Dahale
75a347490e [Sketcher] Add tests for split and trim
Includes:
* Tests for splitting and trimming of various types of curves
* Assertions on constraints expected to be added on these curves
2024-12-04 00:57:40 +05:30
Ajinkya Dahale
077fe45acd [Sketcher] Refactor SketchObject::AutoLockTangencyAndPerpty() 2024-12-04 00:57:40 +05:30
Ajinkya Dahale
f5de512cf3 [Sketcher] Refactor SketchObject::delGeometry()
Just dropped cognitive complexity to 25.
2024-12-04 00:57:40 +05:30
Ajinkya Dahale
5bf1c3dac0 [Sketcher] Refactor SketchObject::getPoint()
...to reduce cognitive complexity.

Use templates to break longer functions. Also makes it possible to avoid
repetition of type-checking logic.
2024-12-04 00:57:39 +05:30
Ladislav Michl
e62b91ada4 Base: Drop QString-std::string conversion functions from Tools
Convenience helpers function Tools::toStdString and Tools::fromStdString
were implemented for Qt4 or older to perform utf8 aware conversion as
QString::toStdString/QString::fromStdString were using toAscii/fromAscii
internally (see https://dreamswork.github.io/qt4/classQString.html).

Since Qt5 QString uses toUtf8/fromUTf8, which makes the helper functions
obsolete (see https://doc.qt.io/qt-5/qstring.html#fromStdString).
2024-12-02 23:30:53 -05:00
Vincent Belpois
1a13d25811 Sketcher: remove auto-generated 'enum value' comments 2024-12-02 23:27:26 -05:00
wmayer
f72679f6a5 Fix compiler warnings 2024-11-30 00:46:05 +01:00
Max Wilfinger
cb6bf1a9df Update Sketcher external icons and cursors 2024-11-29 20:31:39 +01:00
PaddleStroke
a664dd8337 Sketcher: OVP were drawn at wrong position when editing a sketch from link (#18060)
* Sketcher: OVP were drawn at wrong position when editing a sketch from a link.

* Update src/Mod/Sketcher/Gui/DrawSketchController.h

Co-authored-by: Adrián Insaurralde Avalos <36372335+adrianinsaval@users.noreply.github.com>

---------

Co-authored-by: Adrián Insaurralde Avalos <36372335+adrianinsaval@users.noreply.github.com>
2024-11-29 12:12:48 -05:00
PaddleStroke
50c4e2b4e1 Sketcher: External: Change style to : defining are solid lines. Non-defining dashed. Both use external color. 2024-11-29 11:36:55 -05:00
PaddleStroke
1d0373f40f Sketcher: Hide External BSpline overlay informations. 2024-11-29 11:36:55 -05:00
PaddleStroke
4a15ca643b Sketcher: Rename External to Projection 2024-11-29 11:36:55 -05:00
PaddleStroke
8c6b437314 Sketcher: Intersection externals 2024-11-29 11:36:55 -05:00
PaddleStroke
c0f64a9850 Sketcher: Defining External geos. 2024-11-29 11:36:55 -05:00
PaddleStroke
5da8aae43c External geos : Enable face selection 2024-11-29 11:36:55 -05:00