Kacper Donat
2fb8b2d7f1
Part: Use freecad_cast whenever possible
2025-04-26 14:23:25 +02:00
PaddleStroke
cd423f04ad
Sketcher: Refactor SketchObject::Fillet() ( #20544 )
...
* Sketcher: Refactor SketchObject::Fillet()
* Update Geometry.h
* Update Geometry.cpp
* Update SketchObject.cpp
* Fix line-circle tangent issue
* Replace M_PI
* Update Geometry.cpp
* Update Geometry.cpp
* Update src/Mod/Part/App/Geometry.cpp
Co-authored-by: Benjamin Nauck <benjamin@nauck.se >
* Update Geometry.cpp
---------
Co-authored-by: Benjamin Nauck <benjamin@nauck.se >
2025-04-15 20:01:31 +02:00
Kacper Donat
77e40b9747
Base: Use explicit pointer syntax for freecad_cast ( #20694 )
...
* Base: Use explicit pointer syntax for freecad_cast
This aligns our custom cast with other casts
* All: Use explicit pointer syntax for freecad_cast
2025-04-11 14:11:33 +00:00
Kacper Donat
9d97d1c895
Base: Rename Base::freecad_dynamic_cast into freecad_cast
...
This is to make it shorter and easier to use. QT does the same thing
with their qobject_cast.
2025-04-07 10:32:28 -05:00
Benjamin Nauck
efa41a5952
Part: Add #include <limits> where used
2025-03-31 23:52:08 +02:00
Jonathan Zirkle
4ca7d1a297
Mod: Convert from dynamic to static casts ( #20452 )
2025-03-31 15:17:51 +02:00
Benjamin Nauck
075a1362ed
Part: Use std::numeric_limits and std::numbers instead of defines
2025-03-29 13:32:38 +01:00
Chris Hennes
03bbcaf30d
Part: Don't cast time_t to a potentially 32-bit type
...
Coverity (and possibly other static analyzers) detect when we attempt to use a time_t as what might be a 32-bit value, warning about Y2K38 safety. It is irrelevant in this case, but make the change to avoid the warning (so it doesn't hide any real problems).
2025-03-22 07:15:15 +01:00
Benjamin Nauck
6f535f19fb
Prefer to use BaseClass's isDerivedFrom<T> over non template or Base::Type's
...
Regex based changes, manually verified
2025-01-27 16:08:18 +01:00
Kacper Donat
e12bdfc29c
Part: Add midpoint attachement mode
...
This adds midpoint attachement mode to Attacher. It works just like
method for finding placement of JCS in Assembly.
2025-01-04 16:32:52 +01:00
Ajinkya Dahale
311a750aa1
[Part] Avoid nullptr when using createArc
...
We could make `GeomCurve::createArc(...) = 0`, but then it needs to be
implemented in many subclasses which cannot be incomplete. It is implemented for
some of them, but others may need additional work (e.g. offsets), and would need
some exception throwing similar to what is now used.
2024-12-04 00:57:41 +05:30
Ajinkya Dahale
427a6853b6
[Part] Add methods to create an arc of the curve
2024-12-04 00:57:40 +05:30
wmayer
7d492c9f64
Building: Boost dependency errors
...
Fixes #15999
2024-08-22 18:50:24 -05:00
Ajinkya Dahale
dbef3747eb
[Part] Do not assume default period in B-spline
2024-06-24 21:56:58 +05:30
bgbsww
42eb4fdda6
Guard all uses of basic_random_generator for thread safety
2024-06-10 11:10:57 -05:00
wmayer
7a7c0081c3
Part: Add overloaded methods of GeomBSplineCurve::approximate
2024-04-03 18:06:00 +02:00
wmayer
5eabeff94e
Mod: fix several compiler warnings:
...
* fix -Wsometimes-uninitialized
* fix -Wunused-parameter
* fix -Wunused-variable
* fix -Winconsistent-missing-override
* fix -Wsign-compare
* fix -Wreorder-ctor
* fix -Wtautological-overlap-compare
2024-02-12 11:39:32 -06:00
bgbsww
d0a636ad7a
Delinting pass
2024-02-03 18:33:07 -05:00
Zheng, Lei
c8061df71b
Transfer in Geometry.x changes from RT branch
2024-02-01 17:48:32 -05:00
Paddle
30e2a109e6
PythonConverter: Extend for Hyperbola/Parabola/BSpline
2023-12-20 06:59:47 +01:00
Paddle
b97a2ef6dc
Adds a small convenience function to get arc of circle angle.
2023-09-18 21:33:24 +02:00
wmayer
a78ba4b91c
Part: fix crash in Geometry::Restore()
...
If a project contains an unknown geometry extension then the attempt to create it returns a null pointer which isn't checked and causes a segmentation fault.
See also forum: https://forum.freecad.org/viewtopic.php?t=81091
2023-09-17 19:29:28 +02:00
wmayer
b9e9fe435a
Part: modernize C++: use equals default
2023-08-22 15:14:03 +02:00
wmayer
c8abd4a6d4
Part: modernize C++: return braced init list
2023-08-19 11:35:41 +02:00
wmayer
ec73caa40e
modernize C++: make unique
2023-08-07 19:51:30 -06:00
wmayer
7a3106d31b
modernize C++: use bool literals
2023-08-06 01:35:39 +02:00
luzpaz
38a01939e0
Migrate domain name from freecadweb to freecad ( #9352 )
...
* Migrate domain name from freecadweb to freecad
* Migrate src/Mod/Material files
* Migrate Stylesheet related files
* Migrate *.svg files
* Migrate miscellaneous files
* Migrate some build files
* Migrate recently added TD AR_IRAM template files
Closes #6415
2023-04-24 15:19:20 -05:00
wmayer
454c580457
Part: creating a NURBS of a circle or ellipse doesn't respect any transformation
...
Example:
mat = App.Matrix()
mat.rotateX(1)
mat.rotateY(1)
mat.rotateZ(1)
circle = Part.Circle()
circle.Radius = 5
circle.transform(mat)
circle.transform(mat)
Part.show(circle.toShape())
nurbs = circle.toNurbs()
Part.show(nurbs.toShape())
arc = circle.trim(0, 2)
nurbs = arc.toNurbs()
Part.show(nurbs.toShape())
spline = circle.toBSpline()
Part.show(spline.toShape())
#-------------------------
ellipse = Part.Ellipse()
ellipse.MajorRadius = 5
ellipse.MinorRadius = 3
ellipse.transform(mat)
ellipse.transform(mat)
Part.show(ellipse.toShape())
nurbs = ellipse.toNurbs()
Part.show(nurbs.toShape())
arc = ellipse.trim(0, 2)
nurbs = arc.toNurbs()
Part.show(nurbs.toShape())
spline = ellipse.toBSpline()
Part.show(spline.toShape())
2023-02-14 22:56:42 +01:00
wmayer
d6208d9b9a
Part: fixes to create a NURBS for the arc of a conic
...
See forum: https://forum.freecad.org/viewtopic.php?t=75846
2023-02-12 19:45:00 +01:00
Abdullah Tahiri
152dda172c
Part/Sketcher: Geometry/Geometry facade pass by const-reference instead of by value
2023-01-09 17:13:26 +01:00
Abdullah Tahiri
f49fc46051
Part: Geometry
...
==============
End parameter must be strictly higher to require a wrap.
Settling discussion:
https://github.com/FreeCAD/FreeCAD/pull/6971#discussion_r917295684
2022-12-21 16:01:23 +01:00
Ajinkya Dahale
2ca96161ed
[Part] Fix periodic b-spline trim
...
When `v == u` we want to "break" the b-spline at `u` (also OCC will raise an
exception if same parameter is provided).
The range of parameter can in general be different than 1.0, so use a general term.
2022-12-21 16:01:23 +01:00
Ajinkya Dahale
06b30e1ec1
[Part] Add/change some methods in GeomBSplineCurve
...
Add `setPeriodic` to turn a b-spline periodic.
Allow `join` to join any bounded curve not just b-spline.
2022-12-04 08:17:20 +01:00
marioalexis
acdfde774a
Part: Replace C cast
2022-09-18 11:06:51 -05:00
tomate44
bb8f8d4647
[Part] Change BSplineCurve/Surface setBounds() method name to scaleKnotsToBounds()
2022-08-23 12:41:55 +02:00
tomate44
e1ce35de14
[Part] Add setBounds method to BSplineCurve
...
and change BSplineSurface.setBounds() to use dedicated OCCT function
2022-08-23 12:41:55 +02:00
berniev
f4ffd15864
Mod: redundant void 2
2022-08-08 10:27:50 +02:00
wmayer
1f20e692ac
Mod: [skip ci] minor improvements
2022-08-06 20:32:37 +02:00
berniev
53ba98d636
Mod: use empty
2022-08-06 19:30:13 +02:00
tomate44
0398a684df
[Part] BSplineSurface: add setBounds method
2022-07-27 14:27:08 +02:00
wmayer
2b039d67fe
Part: Fix several clazy issues:
...
* Maybe you meant to call Primitive::onChanged() instead [-Wclazy-skipped-base-method]
* Maybe you meant to call Primitive::mustExecute() instead [-Wclazy-skipped-base-method]
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Use multi-arg instead [-Wclazy-qstring-arg]
* Use midRef() instead [-Wclazy-qstring-ref]
2022-07-25 08:31:18 +02:00
wmayer
b6494085b4
Part: replace PyObject_IsTrue with Base::asBoolean
2022-07-16 13:31:10 +02:00
Uwe
6b00cc31c7
[Part] Geometry*: remove unneeded includes
...
- also sort includes
2022-07-04 10:25:05 +02:00
wmayer
2c3ef52dba
Part: move BiArcs algorithm to its own class
2022-06-28 12:42:15 +02:00
Abdullah Tahiri
088ca8ee03
Part: Geometry - Add Ellipse minor radio convenience function
2022-06-25 19:03:11 +02:00
Abdullah Tahiri
30f46d3a34
Part: Geometry - function to get the conic axis direction
2022-06-25 19:03:11 +02:00
andrea
c66aadeb60
removed references to OCC<7
2022-06-25 14:29:24 +02:00
Benjamin Alterauge
b7ab1dc895
GeomBSplineCurve: Add interpolate without tangents
...
Now with description
Periodic selectable
2022-06-24 02:25:55 +02:00
wmayer
2303fd808a
Part: apply OCC's fix for ElSLib::ConeDN and write a unit test
2022-05-27 14:44:35 +02:00
wmayer
2a5c875c6f
Part: LGTM: Multiplication result may overflow 'int' before it is converted to 'unsigned int'.
2022-05-11 10:03:53 +02:00