Commit Graph

64 Commits

Author SHA1 Message Date
Markus Reitböck
8fa48b25b4 Part: use CMake to generate precompiled headers on all platforms
"Professional CMake" book suggest the following:

"Targets should build successfully with or without compiler support for precompiled headers. It
 should be considered an optimization, not a requirement. In particular, do not explicitly include a
 precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
 generated precompile header on the compiler command line instead. This is more portable across
 the major compilers and is likely to be easier to maintain. It will also avoid warnings being
 generated from certain code checking tools like iwyu (include what you use)."

Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
2025-09-24 20:08:56 +02:00
Jacob Oursland
bd9907a06d python: use const_cast<> to new() python types. 2025-04-16 20:32:04 -07:00
Jacob Oursland
5b81cd741a python: apply const method annotations to impls. 2025-04-16 20:32:04 -07:00
tritao
cc21acb325 Part: Clean up XML bindings. 2025-02-17 10:18:01 -06:00
wmayer
ba27d6d92d Part: Add overloaded methods of GeomBSplineCurve::approximate 2024-04-03 18:06:00 +02:00
Chris Hennes
fa65438556 Core: Enable compiling with MSVC /permissive- (#11014)
* Base: Fixes for MSVC permissive-

* App: Fixes for MSVC permissive-

* Gui: Fixes for MSVC permissive-

* Main: Fixes for MSVC permissive-

* Fem: Fixes for MSVC permissive-

* Material: Fixes for MSVC permissive-

* Part: Fixes for MSVC permissive-

* Mesh: Fixes for MSVC permissive-

* Points: Fixes for MSVC permissive-

* Robot: Fixes for MSVC permissive-

* TechDraw: Fixes for MSVC permissive-

* Path: Fixes for MSVC permissive-

* Core; Changes per review comments

* TD: Revision from wandererfan

* [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>
2023-11-27 17:37:29 +01:00
Chris Hennes
0e8be10b90 Part: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
wmayer
312975edba Part: modernize C++: use range-based for loop 2023-08-16 21:56:32 -05:00
wmayer
0af4990817 modernize C++: make unique 2023-08-07 19:51:30 -06:00
Ajinkya Dahale
acb42e4109 [Part] Limit periodic B-spline degree to number of poles
This leads to issues down the line in Sketcher. If there is a reason this should
be permitted within Part, then Sketcher needs to be adjusted.
2023-01-16 16:45:17 +01:00
wmayer
df8e661ddf Part: [skip ci] improve whitespaces 2022-08-23 13:07:10 +02:00
tomate44
c86490eb15 [Part] Change BSplineCurve/Surface setBounds() method name to scaleKnotsToBounds() 2022-08-23 12:41:55 +02:00
tomate44
e3dd67ad9f [Part] Add setBounds method to BSplineCurve
and change BSplineSurface.setBounds() to use dedicated OCCT function
2022-08-23 12:41:55 +02:00
berniev
da9ebc572f Mod: redundant void 2 2022-08-08 10:27:50 +02:00
wmayer
f34a814ead Part: replace PyObject_Not with Base::asBoolean 2022-07-16 14:10:34 +02:00
wmayer
8ae3185e3b Part: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 13:31:10 +02:00
Uwe
47460b632c [Part] BSpline*: remove unneeded includes
- also sort includes
2022-07-08 01:34:59 +02:00
wmayer
c955372ecf cppcoreguidelines-pro-type-union-access
According to https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md using union for type-punning is undefined behaviour.
 Replace it with std::memcpy
2022-06-24 14:29:50 +02:00
marioalexis
ad0f1147f7 Part: Use PyObject_IsTrue in combination with conditional ternary operator 2022-06-22 19:50:03 -04:00
wmayer
068c0e5a98 Part: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
luz paz
c69f245d6f Part: remove py2 code 2021-04-25 11:29:35 +02:00
wmayer
c5d5d69c91 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
48744aa9b5 Part: [skip ci] check for mults of inner knots when creating B-Spline curve/surface 2020-02-17 15:38:01 +01:00
asapelkin
e951094af9 use emplace_back instead of push_back where justified 2019-11-21 14:48:09 +01:00
Zheng, Lei
71c54272a0 Fix various Py::Object leak 2019-10-08 17:53:20 +02:00
Abdullah Tahiri
a56658489b Part: Make 3rd party libraries into PCH 2019-05-02 07:09:22 +02:00
wmayer
f9ca7d62c2 fix compiler warning, fix build failure with older OCCT versions 2018-09-17 10:20:03 +02:00
tomate44
f6d9b692be add a check to BSplineCurve.segment() 2018-09-17 10:02:04 +02:00
luz.paz
505488c4f9 Misc. typos
Found via `codespell`
2018-04-25 09:41:33 -03:00
luzpaz
706141b967 Make uniform the use of B-spline visible to users
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=8&t=25411
This commit does not include fixes to source  comments unless they were 'doxygenated'.
No .xml files were altered either.
2017-11-17 19:30:37 -05:00
wmayer
949c86d364 Port to occ7.2:
+ Standard_Failure::Caught() is now marked as deprecated and should be replaced with standard C++ exception handling
2017-09-01 16:27:46 +02:00
wmayer
41051e9dd8 implement object serialization for BSplineCurve class 2017-06-22 22:42:01 +02:00
Peter Lama
a75a98ef27 Use OCCT Handle macro for Handle_ classes
This is the result of running OCCT's upgrade script provided
with OCCT 7.0. See
https://www.opencascade.com/content/freecad-occt710-and-windows-rtti-data-missing#comment-form
and
https://www.forum.freecadweb.org/viewtopic.php?f=4&t=21405&start=120#p169019
for why this is necessary for OCCT >= 7.1
2017-04-20 12:27:34 +02:00
Abdullah Tahiri
d825c4cb61 Part: BSplineCurve Python creation change for greater flexibility 2017-04-08 12:58:06 +02:00
tomate44
3e195d5d94 in approximate, don't autocorrect continuity. Explain requirements in UserDocu instead 2017-03-18 19:01:45 +01:00
tomate44
281e5935fb BSplineCurve approximate, fix function sometime failing with smoothing algo 2017-03-18 19:01:45 +01:00
looooo
a388a9d72d py3: Part: App: gathering commits relevant for Mod/Part/App 2017-03-01 17:10:46 +01:00
wmayer
ed23c0d3c4 py3: ported Part to python3 2017-03-01 16:38:53 +01:00
wmayer
787b930a58 improve exception handling in BSplineCurvePy class 2017-02-18 12:53:36 +01:00
wmayer
72375db71b clear error state when creating spline 2017-02-18 12:30:00 +01:00
Abdullah Tahiri
1076b70056 Part: BSpline creation method corrected as per Werner's indication
==================================================================

http://forum.freecadweb.org/viewtopic.php?f=10&t=19700
2017-01-12 22:44:07 +01:00
Abdullah Tahiri
8ea8699d14 Part: Enable BSpline creation from poles 2017-01-07 02:00:12 +01:00
wmayer
9ff8260608 + remove GeomHermiteCurve class and add its methods to GeomBSplineCurve 2016-10-29 15:08:17 +02:00
wmayer
f944ab3846 replace deprecated auto_ptr with unique_ptr 2016-09-22 13:01:20 +02:00
tomate44
f13f57ef3d Implements more arguments to BSplineCurve.approximate 2016-06-13 14:18:35 +02:00
wmayer
33c9b9d0dd + fix mistake in BSplineCurve.interpolate for Tangents/TangentFlags argument 2016-05-25 14:22:22 +02:00
wmayer
8cfabdb579 + support of tangents in BSplineCurve.interpolate 2016-05-24 23:15:17 +02:00
wmayer
23e97bbb2c + issue #0002560: Part BSplineCurve alternate interpolate method 2016-05-23 14:14:50 +02:00
wmayer
bca7a1866e + port to OCC 7.0 2016-05-14 16:53:27 +02:00
wmayer
1a12d109e9 + fix strict-aliasing warnings 2015-08-29 19:48:08 +02:00