Commit Graph

1098 Commits

Author SHA1 Message Date
wmayer
ba27d6d92d Part: Add overloaded methods of GeomBSplineCurve::approximate 2024-04-03 18:06:00 +02:00
PaddleStroke
c26f52c4e4 Sketcher: Symmetry fix #13164 2024-04-01 11:20:40 -05:00
PaddleStroke
5668b6952b Sketcher: Chamfer Fix #13049 2024-04-01 11:04:02 -05:00
sliptonic
75c589d355 Merge pull request #12602 from FlachyJoe/arc-distance
Sketcher : ArcLength Constraint
2024-04-01 10:43:35 -05:00
bgbsww
4df1088896 Toponaming/Part: Bug fix for #13169 while we sort this out 2024-03-27 21:33:57 -05:00
bgbsww
55acedb83d Clean, enable disabled element map code in sketcher, add tests 2024-03-25 21:51:41 -04:00
Zheng, Lei
f19df465ea Toponaming/Part: Move sketcher override of getElementName over 2024-03-25 21:51:41 -04:00
Florian Foinant-Willig
ab7c1423fb fix undeclared M_PI 2024-03-25 22:32:20 +01:00
Florian Foinant-Willig
a8254a4e0c Sketcher : ArcLength Constraint 2024-03-25 22:32:20 +01:00
PaddleStroke
e4213fc10f Sketcher: Symmetry tool rework. 2024-03-25 17:48:01 +01:00
luzpaz
5839134e95 Fix various typos throughout the codebase (#13029)
* Fix various typos throughout the codebase

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-03-18 16:54:30 -05:00
PaddleStroke
b3fe5bba28 Sketcher: Chamfer tool (and fillet refactor) 2024-03-18 13:23:54 -04:00
Ladislav Michl
e4d304f934 Base: Implement TimeElapsed
Some instances of TimeInfo serve the sole purpose of measuring time
duration. Using system time is unfortunate as it returns wall clock,
which is not guaranteed to be monotonic. Replace such a usage with
the new TimeElapsed class based on steady clock.
2024-03-05 12:29:24 +01:00
wmayer
8743f5e82a Sketch: fix compiler warning
Fix warning: add explicit braces to avoid dangling else [-Wdangling-else]
2024-03-04 23:15:42 -06:00
Josh Coalson
a8ae56e06a Part: Rename AttachExtension::Support property to AttachmentSupport, to avoid name conflict with base features. Fixes #7052 2024-03-04 18:22:43 +01:00
Ajinkya Dahale
da7d5391af [Sketcher] Join curves with C1 continuity
If endpoint-to-endpoint tangent constraint exists between the connecting points
of the curves to be joined, also apply C1 continuity (i.e. a knot multiplicity
of degree-1).
2024-02-27 09:57:52 -06:00
Ajinkya Dahale
f8f159c4d3 [Sketcher] Include endpoint-to-endpoint tangency as coincidence
Coincidence is implied as part of this particular variety of tangent constraint.
2024-02-27 09:57:52 -06:00
Ajinkya Dahale
d1c9370614 [Sketcher] Use angle-via-two-points in e2e with BSplines 2024-02-27 09:57:52 -06:00
Ajinkya Dahale
5539ef625c [planegcs] Add ConstraintAngleViaTwoPoints
Needed for B-spline to B-spline end to end tangent. The end point of one is for
now not usable in to get normal at the other.
2024-02-27 09:57:52 -06:00
wmayer
53b512da1c MSVC: fix compiler warnings 2024-02-25 00:12:34 +01:00
wmayer
a2315503fa Sketcher: expose the LabelDistance and LabelPosition members of Constraint to Python 2024-02-25 00:10:56 +01:00
wmayer
df7e783513 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
Ajinkya Dahale
73434e008a [planegcs] Simplify GCS::BSpline::CalculateNormal() 2024-02-08 23:46:17 +05:30
Ajinkya Dahale
1e19926a77 [planegcs] Add SketcherExport macro to classes in Geo.h
...for use in tests.
2024-02-08 20:15:17 +05:30
Ajinkya Dahale
da48a72269 [planegcs] Implement BSpline::Value()
Needed for gtests currently.
2024-02-08 20:04:28 +05:30
Ajinkya Dahale
b1ef4be6fa [planegcs] Remove some numerical testing
If needed this can be moved to a gtest,
2024-02-08 20:04:28 +05:30
Ajinkya Dahale
65b4dd10ae [Sketcher] Expose general tangency with B-splines to Sketcher
The following commits were squashed into this

[Sketcher] Handle some corner cases in AngleViaPoint

[Sketcher] Avoid redundant constraints with B-splines...

When involving tangent, perpendicular and angle constraints.

[Sketcher] Add pre-commit changes

[Sketcher] Do not allow 2-selection tangent with B-spline

Also...

[Sketcher] Report error when using direct tangency with B-splines

[Sketcher] Fix malformed constraint when B-spline is selected second

To clarify, this means the second curve selected. The position of the point in
selection order does not matter in angle-via-point.

[Sketcher] Fix wrong number for B-Spline tangent on redundancy

[Sketcher] Remove existing point-on-object in some redundant cases

Particularly when point constrained on a B-spline is being used for
tangent, perpendicular or angle via point with the same B-spline.

[Sketcher] Fix direction issue with B-spline tangents.

Without these changes the solver might try to "twist" the B-spline to make the
angle between curves be 0 instead of PI (which may be closer to the initial shape).
2024-02-08 20:04:28 +05:30
Ajinkya Dahale
82f03593fd [planegcs] Implement calculateAngleViaParams
For use in angle-via-point with complex curves.
2024-02-08 20:04:27 +05:30
Ajinkya Dahale
5ba050b467 [Sketcher][planegcs] Implement parametric BSpline::CalculateNormal
As opposed to "punctual" that already exists for curves.
2024-02-08 20:04:27 +05:30
Ajinkya Dahale
6a3c0555d0 [Sketcher][planegcs] Support angle via point with params
These are intended to use when calculating normal simply with points could be
numerically expensive or otherwise nonviable.
2024-02-08 20:04:27 +05:30
PaddleStroke
d7ee978e42 Sketcher: Fix sketcher_Copy bug when a single geometry was copied, geoId was not correct in constraints. 2024-01-30 17:26:42 +01:00
Paddle
17893d39ca Sketcher: PythonConverter: Replace useLastGeoIdVar bool by enum class 2024-01-20 06:49:32 +01:00
Paddle
a8b6e1e9c3 Sketcher: python converter : add possibility to add lastGeoId to the constraint process. 2024-01-19 11:13:53 +01:00
Paddle
e685918ea8 PythonConverter: Extend for Hyperbola/Parabola/BSpline 2023-12-20 06:59:47 +01:00
Paddle
6b2d6fc8eb GeometryFacade : Add static getInternalType and setInternalType 2023-12-20 06:59:47 +01:00
Paddle
c66661124b Sketcher: Add support for adding internal alignment constraints independently 2023-12-20 06:59:47 +01:00
Abdullah Tahiri
dac70b6416 Sketch: Distance - fix uninit pointers and scope 2023-12-17 16:01:29 +01:00
Florian Foinant-Willig
d2a579bdc6 Sketcher: Extend distance constraint to arcs 2023-12-17 16:01:29 +01:00
Florian Foinant-Willig
94eaa7db78 Sketcher: Arc to arc or circle distance constraint 2023-12-17 16:01:29 +01:00
Chris Hennes
6c3e002be5 Merge pull request #11507 from Ondsel-Development/constr_primitives
[Sketcher] Improve angle & radius constraint rendering
2023-12-04 10:48:20 -06:00
Abdullah Tahiri
779af0aa2f Sketcher: Solver - Remove outdated request for reporting 2023-12-04 16:32:23 +01:00
Paddle
05c382f6d9 When moving an angle, we did not take into account the case where they are reversed. This fixes that. 2023-11-24 15:07:30 +01:00
mosfet80
834b2687b9 [planegcs] Removed unused code. (#10684)
* Revert cleanplanegcs: removed unused code, removed redefinition of pi
* Sketcher: Switch pi refs to double and constexpr
* Modify code to use the new pi constant immediately

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2023-11-06 14:35:59 -06:00
Paddle
a3568333a4 Sketcher_Dimension: If radius of arc is not DoF, then offer arc angle first. 2023-11-06 14:02:54 -06:00
Chris Hennes
aaa0db3867 Merge pull request #11231 from DeflateAwning/http-cleanup
Find and replace http://freecad to https://freecad
2023-11-06 11:16:13 -06:00
Chris Hennes
cf84c171e6 Merge pull request #10978 from FlachyJoe/modernize-type-check
Modernize type and derived type checking
2023-11-06 10:44:32 -06:00
Abdullah Tahiri
882262bfa8 Sketcher Gui: clang-tidy diagnostic errors 2023-11-05 07:11:57 +01:00
DeflateAwning
8de6db3e97 Find and replace http://freecad.org to https://freecad.org
Find and replace:
http:\/\/(.{0,10})freecad
https://$1freecad
Done in all remaining files (after doing it in SVGs in the last commit)
2023-10-29 22:39:22 -06:00
Florian Foinant-Willig
a32851073d Sketcher: modernize type checking 2023-10-23 18:09:23 +02:00
Abdullah Tahiri
e9187412d9 Sketcher: Example new type checking template function usage
===========================================================

Just two small refactor examples of how to use the type checking template functions.
2023-10-07 23:12:46 +02:00