Paddle
b97a2ef6dc
Adds a small convenience function to get arc of circle angle.
2023-09-18 21:33:24 +02:00
wmayer
7fe0d5b9a6
modernize C++: use equals delete
2023-08-10 17:29:05 +02: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
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
berniev
180edfa3cc
Mod: Single arg ctors must be explicit
2022-08-24 16:55:20 +02: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
wmayer
c87e1cc1c2
clang: fix warnings [-Winconsistent-missing-override]
2022-08-09 17:36:25 +02:00
berniev
71dc5ead2f
Mod: Use override etc 2
2022-08-09 12:52:26 +02:00
berniev
f4ffd15864
Mod: redundant void 2
2022-08-08 10:27:50 +02:00
tomate44
0398a684df
[Part] BSplineSurface: add setBounds method
2022-07-27 14:27:08 +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
wmayer
523d364c92
Part: fix GeomBSplineCurve::toBiArcs
...
If tangent of start and end point are parallel then also check a tangent in between to make sure that it can be considered a straight line
See https://forum.freecadweb.org/viewtopic.php?f=8&t=69710
2022-06-28 11:26:35 +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
Benjamin Alterauge
b7ab1dc895
GeomBSplineCurve: Add interpolate without tangents
...
Now with description
Periodic selectable
2022-06-24 02:25:55 +02:00
wmayer
135379e618
Part: issue #6488 : Cone surface returns wrong dv derivative
...
This is a workaround to fix a bug in ElSLib::ConeDN
2022-03-01 14:59:26 +01:00
Ajinkya Dahale
ff2e246a55
[Part] Support insertion of knots in b-splines
2022-01-09 11:33:53 +01:00
Abdullah Tahiri
84898bd9a8
Part: Geometry and Sketcher: GeometryFacade and ExternalGeometryFacade
...
======================================================================
Change pass-by-value to const reference.
Thanks Kunda!
https://lgtm.com/projects/g/FreeCAD/FreeCAD/alerts/?mode=tree&ruleFocus=2163210742
https://forum.freecadweb.org/viewtopic.php?p=555658#p555658
2021-12-27 21:03:51 +01:00
Abdullah Tahiri
a16cbdc7a4
Part: Geometry - Curve member to calculate the normal at Point
...
==============================================================
Convenience member function combining closestParameter and normalAt using parameter.
2021-12-07 16:30:53 +01:00
Abdullah Tahiri
80f9793344
Part: Geometry - Extend Geometry Curve to query the value at parameter point directly from D0
...
=============================================================================================
Use the geometry specific D0 to calculate value at parameter point.
2021-12-07 16:30:53 +01:00
Tomas Pavlicek
a7d83b5e15
Sketcher - Add new Split Edge action
2021-04-24 14:30:35 +02:00
Abdullah Tahiri
5ea99f4786
Part: Geometry - Add function to trim a B-Spline
...
================================================
Supports both non-periodic and periodic case
2021-03-21 06:56:23 +01:00
Abdullah Tahiri
6d0c845208
Part: Geometry - BSpline - fix weight assignment
...
================================================
If during assignment of weights (during the for loop iteratively setting the poles) all weights
become (temporarily) equal even though weights does not have equal values
OCCT will convert all the weights (the already assigned and those not yet assigned)
to 1.0 (nonrational b-splines have 1.0 weights). This may lead to the assignment of wrong
of weight values.
The work-around is to temporarily set the last weight to be assigned to a value different from
the current value and the to-be-assigned value for the weight at position last-to-be-assign but one.
Fixes:
https://forum.freecadweb.org/viewtopic.php?p=478701#p478702
2021-02-18 17:28:38 +01:00
Abdullah Tahiri
f7be6f5051
Part: Geometry - BSplineCurve - add IsRational member function
2020-12-19 11:58:54 +01:00
Abdullah Tahiri
994bd9d92b
Part/Sketcher - Construction Migration - step 3: Removal of Geometry construction data member
...
=============================================================================================
This commits removes the Geometry construction data member and adapts sketcher code to use
GeometryFacade to access construction information via the SketchGeometryExtension.
2020-12-10 18:34:06 +01:00
Abdullah Tahiri
2c47b340bb
Part: Geometry - Add non-const getters for extensions
2020-12-10 18:34:06 +01:00
Abdullah Tahiri
a15fd629e1
Part: Geometry refactor member copy
...
===================================
Encapsulate Part::Geometry data member copy process in a single function (copyNonTag).
Part::Geometry derived classes need not know the specifics of the data member of Part::Geometry.
Change the delegation of the copy of extensions from clone() to copyNonTag. Because clone() relies on
copy() and now copy() of Part::Geometry data member relies on copyNonTag(), there is no actual change
to the clone() functionality, but the copy() funcionality gains the copy of the extensions via copyNonTag().
2020-12-10 18:34:06 +01:00
wmayer
f384202b93
Part: [skip ci] make arguments const references
2020-11-03 13:12:23 +01:00
Abdullah Tahiri
88e542b345
Part: Geometry extensions constness correction
2020-11-03 12:01:22 +01:00
Abdullah Tahiri
5c492f727c
Part: Geometry - refactor py functions into class for code reuse
2020-11-03 12:01:22 +01:00
Abdullah Tahiri
00a1aa6225
Part: Geometry - encapsulate construction access
2020-10-25 03:52:51 +01:00
wmayer
4fbc693014
Part: [skip ci] add method to approximate a B-spline curve with a given max. degree
2020-10-23 00:06:31 +02:00
wmayer
343639640c
Part: converter from Adaptor3d_Curve to GeomCurve
2020-09-28 14:53:42 +02:00
wmayer
1f8296736b
Part: improve Python interface
...
+ rename getCurve2dFromGeom2d to makeFromCurve2d
+ add function makeFromCurve and makeFromTrimmedCurve like makeFromSurface
+ implement OffsetCurve.BasisCurve
+ fix memory leak in BRepOffsetAPI_MakePipeShellPy
2020-09-27 23:34:45 +02:00
wmayer
2c8f78b299
Part: [skip ci] return std::unique_ptr from Part::makeFromSurface() to avoid memory leaks
2020-08-29 23:56:12 +02:00
Abdullah Tahiri
006b470a20
Part: geometry extensions minor code clean up
2019-07-14 12:37:35 +02:00
Abdullah Tahiri
8618dfd3c6
Part Geometry: get an extension from type or name, also from python
2019-07-14 12:37:33 +02:00
Abdullah Tahiri
d8e99c1923
Part:: Geometry container extend hasExtension to type and name
2019-07-14 12:37:33 +02:00
Abdullah Tahiri
4d9d3b0c83
Part: Geometry - methods to remove extensions by name and type
2019-07-14 12:37:33 +02:00
Abdullah Tahiri
7488faa99f
Part: Geometry extensions set interface
...
=======================================
unique_ptr is a move only type. Therefore it may only take an rvalue.
It does not make sense a pass by value for move only types (Item 41).
2019-07-14 12:37:31 +02:00
Abdullah Tahiri
d082a42351
Part: Excise GeometryExtension from Geometry
2019-07-14 12:37:30 +02:00
Abdullah Tahiri
55be6fdb7f
Geometry Extension based on smart pointers
2019-07-14 12:37:28 +02:00
Abdullah Tahiri
622f249dcd
Part: Geometry Extensions
2019-07-14 12:37:28 +02:00
wmayer
92716f1361
fix minor issues
2019-02-12 11:16:52 +01:00
Abdullah Tahiri
f4e4f3441f
Part: Enable trimmed curves to set their parameter range, from c++ and Python
...
=============================================================================
>>> geometries = ActiveSketch.Geometry
>>> geo2 = geometries[2]
>>> geo2
ArcOfCircle (Radius : 27.5267, Position : (-70.4702, -31.8933, 0), Direction : (0, 0, 1), Parameter : (1.34187, 2.35619))
>>> geo2.setParameterRange(1,3)
>>> geometries[2]=geo2
>>> ActiveSketch.Geometry=geometries
2019-02-11 19:13:16 +01:00
wmayer
43e5729f54
declare private intersect() function as static to make clear it doesn't belong to a GeomCurve instance
2019-01-03 15:40:59 +01:00
Abdullah Tahiri
3e85954f6d
Part: Geometry tangent with Vector3d overload
2018-11-04 14:43:24 -03:00