Commit Graph

1534 Commits

Author SHA1 Message Date
tomate44
21562568d6 Edge.curveOnSurface : add placement to the output tuple 2020-08-29 22:22:43 +02:00
tomate44
291050c8d0 Part.EdgePy : get access to stored Pcurves 2020-08-29 22:22:43 +02:00
tomate44
6a1758a867 Part.Curve2d : adjust parameters 2020-08-24 16:09:54 +02:00
tomate44
5ab8ec1c26 Part.Curve2d : fix for toShape sometimes generating wrong BSpline curves 2020-08-24 16:09:54 +02:00
tomate44
849cc77f6e fix long spiral bug similar to #954. Work around OCC bug #23314 2020-08-22 14:29:07 +02:00
wmayer
53bd9bff6a Part: [skip ci] fixes #0004117: Crash during extrusion 2020-08-13 14:23:16 +02:00
Zheng, Lei
35baa88bfa Part: fix FaceMakerBullseye plane finding
Copy the shape to work around OCC circular edge transformation bug
2020-07-31 17:37:18 +02:00
Abdullah Tahiri
ab75a60141 Part: Attacher intersection calculation fix
===========================================

In OCCT 7.4 (and apparently <= 7.4 too):

A GeomAdaptor_Curve obtained directly from BRepAdaptor_Curve will not work because it won't respect the
Location/orientation of the underlying curve.

This commit proposes to create a new GeomAdaptor_Curve from an intermediary curve handle to work around
this issue.
2020-07-29 19:06:59 +02:00
wmayer
adf662b13d remove superfluous includes of iostream, use iosfwd instead 2020-07-28 15:22:23 +02:00
wmayer
19c7fbd096 LGTM: [skip ci] fix: Inconsistent definition of copy constructor and assignment ('Rule of Two') 2020-07-27 14:39:14 +02:00
wmayer
9367e73e92 LGTM: [skip ci] fix: Inconsistent definition of copy constructor and assignment ('Rule of Two')
Remove user-defined copy constructor of Exception classes without assignment operator
2020-07-27 13:47:41 +02:00
wmayer
45e0673645 LGTM: [skip ci] fix: Declaration hides parameter
A local variable hides a parameter. This may be confusing. Consider renaming one of them.
2020-07-27 10:57:34 +02:00
wmayer
c162037476 LGTM: [skip ci] fix: Large object passed by value 2020-07-24 18:32:31 +02:00
wmayer
2453a50aba Coverity: Structurally/Logically dead code 2020-07-20 17:34:28 +02:00
wmayer
0a6929a122 Coverity: Dereference after null check 2020-07-20 17:34:25 +02:00
wmayer
67a986bb2d PVS: V601 The bool type is implicitly cast to the double type 2020-07-18 10:59:28 +02:00
wmayer
07d2e08920 PVS: V524 It is odd that the body of 'getLastUKnotIndex' function is fully equivalent to the body of 'getFirstUKnotIndex' function 2020-07-18 10:59:27 +02:00
wmayer
8a7b4a145b PVS: V773 The exception was thrown without releasing the pointer. A memory leak is possible. 2020-07-18 10:59:27 +02:00
Abdullah Tahiri
7a3e26dc5a PropertyGeometryList: move setValue and refactor 2020-07-01 14:04:25 +02:00
wmayer
4fc5655657 Part: [skip ci] fix regression in ruled surface feature by applying placement of source object twice
See: https://forum.freecadweb.org/viewtopic.php?p=411934
2020-06-27 23:17:32 +02:00
Gabriel Wicke
fb0aa86b6e [part] More robust tessellation angular deflection default
OCC currently does not reliably enforce linear deflection on curved
surfaces, especially curved lofts over nurbs splines. To avoid surprises
when tight tolerances are needed, replace the static default angular
deflection of 0.5 radians (~28 degrees), with a more sensible angular
deflection derived from the provided linear deflection tolerance.

By adding the default heuristic to TopoShape, we can keep typical
tessellate() and STL export functionality users simple, and also avoid
the need to implement similar heuristics in many places. If more
explicit control over angular deflection is needed for some use cases,
then we could still choose to expose the option to override the derived
default explicitly.

The hope is that OCC's linear deflection enforcement will be more
reliable at some point, at which point this heuristic will no longer be
needed.
2020-06-23 12:17:51 +02:00
wmayer
08e7797730 Part: [skip ci] add missing headers 2020-06-21 22:53:42 +02:00
wmayer
d6169d6478 boost: fix for boost < 1.60 2020-06-15 19:38:39 +02:00
wmayer
2799f553a1 Py2: fix Python 2 build failure 2020-06-12 17:51:33 +02:00
wmayer
730154a684 boost 1.73.0: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated 2020-06-12 17:51:33 +02:00
wmayer
88fd77b31d Porting Py3.8/Py3.9:
Since Py3.3: 'Py_ssize_t PyUnicode_GetSize(PyObject*)' is deprecated [-Wdeprecated-declarations]
Since Py3.9: 'PyObject* PyEval_CallObjectWithKeywords(PyObject*, PyObject*, PyObject*)' is deprecated [-Wdeprecated-declarations]
Since Py3.9: 'void PyEval_InitThreads()' is deprecated [-Wdeprecated-declarations]
2020-06-12 17:51:33 +02:00
wmayer
3632c81435 clang/gcc/cmake: move handling of suppressed deprecated-copy warnings from source file to CMake file to more easily support gcc 10 2020-06-09 15:30:42 +02:00
wmayer
9d62da9c8f Py3.8: [skip ci] missing initializer for member '_typeobject::tp_vectorcall' [-Wmissing-field-initializers] 2020-06-08 14:40:00 +02:00
wandererfan
7d804cd615 [Part]Fix bad shape from Fillet
- see #4285 for similar fix on Chamfer
2020-06-07 22:08:41 -04:00
wandererfan
1eb87229af [Part]Fix #4285 Bad Shape from Chamfer
- chamfer was producing invalid shape as output.
  fix uses shapefix to correct invalid surface/face.
2020-06-07 11:26:56 -04:00
wandererfan
7cb6ebef07 [Part]use BSpline for makeWireString instead of Bezier curves.
- the bezier curves from the font definitions cause checkGeometry
  errors when extruded.  bsplines do not have this problem.
2020-05-31 11:26:22 -04:00
Gabriel Wicke
7fd276c384 Part: Parallelize tessellations in TopoShape
Update parameters for all BRepMesh_IncrementalMesh instances to allow
parallel meshing. This matches what is already done for view
tessellations.

Other positional parameters are filled with their defaults in
BRepMesh_IncrementalMesh, so there should be no behavior change outside
of allowing parallelism.
2020-05-28 22:05:12 +02:00
wmayer
be8634d05c Handle clang 10 warnings:
+ fix -Wtautological-bitwise-compare
+ fix -Wimplicit-int-float-conversion
+ fix -Wmisleading-indentation
+ fix -Wrange-loop-construct
+ suppress -Wdeprecated-copy of 3rd party libs
2020-05-25 15:34:43 +02:00
wmayer
196251a11c Part: [skip ci] get n-th derivative of a surface via Python 2020-05-18 13:17:26 +02:00
wmayer
bd051135df Part: [skip ci] get n-th derivative of a curve via Python 2020-05-17 23:25:07 +02:00
wmayer
065619d243 Part: [skip ci] add methods to determine continuity 2020-05-17 21:57:25 +02:00
wmayer
b6ccc9d7ac fixes #0004316: PartWB, "Reverse shapes" command reset position [skip ci] 2020-05-15 19:25:43 +02:00
wmayer
5ece278c94 remove deprecated std::binary_function 2020-05-11 13:46:37 +02:00
luz.paz
7eb270017e [skip ci] fix documentation typos
Found via codespell v1.17.0.dev0  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-04-20 12:59:09 +02:00
wmayer
fd286c04e5 Part: [skip ci] include missing header file 2020-04-14 09:37:45 +02:00
Eric Trombly
1ac9c2f4e9 move getFacets from Path to Part 2020-04-06 06:34:53 -05:00
Zheng, Lei
48f0f3c671 Part: fix Feature::getTopoShape() for link array with LinkTransform 2020-03-27 11:28:59 -04:00
wmayer
9471ca52d7 Part: [skip ci] do not print an error message if a sub-object of a Part feature cannot be found
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=19&t=42216
2020-03-10 13:45:26 +01:00
Abdullah Tahiri
71b54b7e46 Part: GeometryExtensions
========================

fixes #4087

Missing "break" in loop after finding the extension was causing segfault because of null pointer access, as the unique pointer had been std:move-d when found and was thus no longer valid.
2020-03-06 16:58:21 +01:00
luz.paz
ebe194a9e9 Fix typos
Found via  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-03-06 14:50:35 +01:00
wmayer
f29619a411 Part: [skip ci] add method to project point on surface 2020-03-05 10:48:12 +01:00
Zheng, Lei
c09988069b Part: fix crash in TopoShape::makEFace() 2020-03-01 14:53:49 +01:00
wmayer
039f35651a Part: [skip ci] the number of domains returned by TopoShape::getDomains must match with number of faces
If a face cannot be meshed then an empty domain is added
2020-02-26 00:55:07 +01:00
wandererfan
41ae2518dc [Part]Handle CJK font names for ShapeString 2020-02-19 13:11:01 -05:00
wmayer
79d270cc0c Part: [skip ci] simplify using Wire.approximate() by supporting keyword arguments and making all arguments optional 2020-02-17 15:39:21 +01:00