Commit Graph

64 Commits

Author SHA1 Message Date
Markus Reitböck
68114945fa 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
0b29aa596a python: use const_cast<> to new() python types. 2025-04-16 20:32:04 -07:00
Jacob Oursland
5c251e73ac python: apply const method annotations to impls. 2025-04-16 20:32:04 -07:00
tritao
4aa845795e Part: Clean up XML bindings. 2025-02-17 10:18:01 -06:00
wmayer
7a7c0081c3 Part: Add overloaded methods of GeomBSplineCurve::approximate 2024-04-03 18:06:00 +02:00
Chris Hennes
cfd41683a5 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
068b39092c Part: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
wmayer
7cb51a4980 Part: modernize C++: use range-based for loop 2023-08-16 21:56:32 -05:00
wmayer
ec73caa40e modernize C++: make unique 2023-08-07 19:51:30 -06:00
Ajinkya Dahale
11eb9e754f [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
50484376b6 Part: [skip ci] improve whitespaces 2022-08-23 13:07:10 +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
berniev
f4ffd15864 Mod: redundant void 2 2022-08-08 10:27:50 +02:00
wmayer
74e77f0191 Part: replace PyObject_Not with Base::asBoolean 2022-07-16 14:10:34 +02:00
wmayer
b6494085b4 Part: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 13:31:10 +02:00
Uwe
7fb0f50f49 [Part] BSpline*: remove unneeded includes
- also sort includes
2022-07-08 01:34:59 +02:00
wmayer
f5235a8057 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
eaf01ab0c6 Part: Use PyObject_IsTrue in combination with conditional ternary operator 2022-06-22 19:50:03 -04:00
wmayer
6d2d45ceb7 Part: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
luz paz
e0ab0382b3 Part: remove py2 code 2021-04-25 11:29:35 +02: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
b7bb0a8e9e Part: [skip ci] check for mults of inner knots when creating B-Spline curve/surface 2020-02-17 15:38:01 +01:00
asapelkin
ced8100ab9 use emplace_back instead of push_back where justified 2019-11-21 14:48:09 +01:00
Zheng, Lei
8426ebe2ba Fix various Py::Object leak 2019-10-08 17:53:20 +02:00
Abdullah Tahiri
216926233f Part: Make 3rd party libraries into PCH 2019-05-02 07:09:22 +02:00
wmayer
072d05725b fix compiler warning, fix build failure with older OCCT versions 2018-09-17 10:20:03 +02:00
tomate44
b2c9833c9f add a check to BSplineCurve.segment() 2018-09-17 10:02:04 +02:00
luz.paz
9167064fc1 Misc. typos
Found via `codespell`
2018-04-25 09:41:33 -03:00
luzpaz
cc87c20afe 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
0d617f97d6 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
b989dafafa implement object serialization for BSplineCurve class 2017-06-22 22:42:01 +02:00
Peter Lama
fa4bebf2e0 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
084e375b2a Part: BSplineCurve Python creation change for greater flexibility 2017-04-08 12:58:06 +02:00
tomate44
645dc7d2ba in approximate, don't autocorrect continuity. Explain requirements in UserDocu instead 2017-03-18 19:01:45 +01:00
tomate44
395cb9836b BSplineCurve approximate, fix function sometime failing with smoothing algo 2017-03-18 19:01:45 +01:00
looooo
275db827aa py3: Part: App: gathering commits relevant for Mod/Part/App 2017-03-01 17:10:46 +01:00
wmayer
d5e9afa52b py3: ported Part to python3 2017-03-01 16:38:53 +01:00
wmayer
babc62fc93 improve exception handling in BSplineCurvePy class 2017-02-18 12:53:36 +01:00
wmayer
3db2feadb6 clear error state when creating spline 2017-02-18 12:30:00 +01:00
Abdullah Tahiri
43f2940262 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
ca8b39516b Part: Enable BSpline creation from poles 2017-01-07 02:00:12 +01:00
wmayer
85020ab780 + remove GeomHermiteCurve class and add its methods to GeomBSplineCurve 2016-10-29 15:08:17 +02:00
wmayer
2af6bb6e49 replace deprecated auto_ptr with unique_ptr 2016-09-22 13:01:20 +02:00
tomate44
4749733b60 Implements more arguments to BSplineCurve.approximate 2016-06-13 14:18:35 +02:00
wmayer
285a417402 + fix mistake in BSplineCurve.interpolate for Tangents/TangentFlags argument 2016-05-25 14:22:22 +02:00
wmayer
432709330a + support of tangents in BSplineCurve.interpolate 2016-05-24 23:15:17 +02:00
wmayer
a55f676134 + issue #0002560: Part BSplineCurve alternate interpolate method 2016-05-23 14:14:50 +02:00
wmayer
cb73d010bb + port to OCC 7.0 2016-05-14 16:53:27 +02:00
wmayer
c1f96b20b1 + fix strict-aliasing warnings 2015-08-29 19:48:08 +02:00