Commit Graph

1256 Commits

Author SHA1 Message Date
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
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
wmayer
88849b5981 Part: [skip ci] fix crash in BRepOffsetAPI_MakeOffsetFix 2020-02-17 15:36:45 +01:00
Zhang Wei
8111c9e2e5 Patch for MIPS64 Architecture 2020-02-15 19:32:58 +01:00
wmayer
78274136c6 Part: determine tangent intersection of two 2d curves 2020-02-13 12:51:40 +01:00
wmayer
e9662984e7 Part: make reverse function parametric 2020-01-29 16:43:35 +01:00
MA-LAPTOP\apeltauer
7a8ac5bc49 make some header include adoption for open cascade 7.4.0 2020-01-27 10:15:32 +01:00
wmayer
7fac3b1bc9 Part: [skip ci] implement methods getBasisCurve of Surface of Revolution/Extrusion 2020-01-22 14:53:17 +01:00
Zheng, Lei
a0b14f2dcd Part: add TopoShape::getSub(Topo)Shapes() 2019-12-30 17:17:14 +01:00
luz.paz
17ada69518 Part: [skip ci] fix header uniformity
This PR fixes header uniformity across all Part WB files
2019-12-22 00:59:47 +01:00
wmayer
508412ee41 Part: [skip ci] fix two little copy&paste errors 2019-12-17 11:04:13 +01:00
DeepSOIC
1aa635e782 Part: fixup (to make gcc happy) 2019-12-17 10:52:28 +01:00
DeepSOIC
7554c2111c Part: fix memory leak in distToShape
https://forum.freecadweb.org/viewtopic.php?f=10&t=41620
2019-12-17 10:52:20 +01:00
Zheng, Lei
cc85d1a1d3 Part: fix Compound2 placement lost after restore 2019-12-09 15:30:34 +01:00
wmayer
df8e09196d set default deflection of 0.01 when exporting shape as STL 2019-11-29 13:46:30 +01:00
asapelkin
ced8100ab9 use emplace_back instead of push_back where justified 2019-11-21 14:48:09 +01:00
howetuft
f1e3b7a166 Fix -Wredundant-move warnings, 2nd try
std::move is redundant when it is used to return a local object from a function (eg return std::move(local)): indeed, returning a local object from a function implicitly moves it. Moreover using std::move this way
See https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rf-return-move-local
However, in order to avoid -Wreturn-std-move as well, a Base object is move-constructed
from Derived when required.
2019-11-18 13:44:40 +01:00
luz.paz
30a717beac Fix typos and misc. formatting [skip ci]
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,currenty,dof,doubleclick,dum,eiter,elemente,feld,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`
2019-10-21 16:02:23 -03:00
Zheng, Lei
8426ebe2ba Fix various Py::Object leak 2019-10-08 17:53:20 +02:00
Zheng, Lei
b4b61ce6c2 Part: fix TopoShape::getElementTypes()
This also fixes Std_BoxElementSelection in Gui/CommandView.cpp, which
relies on this API through Data::ComplexGeoData::getElementTypes().
2019-10-08 10:22:00 +02:00
Zheng, Lei
0b42b0b596 Link: change sub-element linking mechanism
Previous multi-sub-element linking (e.g. Face, Edge) is supported
through SubElements of type PropertyStringList, which does not support
geometry element update tracking. This patch changes it to use
PropertyXLink's new multi-subname capability.
2019-10-08 10:20:50 +02:00
wmayer
d4bac9e259 fix some MSVC warnings 2019-09-19 17:55:10 +02:00
wmayer
5746c37b7e fix -Wcatch-value=, fix -Wpedantic 2019-09-18 14:36:23 +02:00
wmayer
e48c52c480 force strict ISO C++ (-Wpedantic)
for Drawing, Image, Inspection, Mesh, MeshPart, Part, Path, Points, Raytracing, ReverseEngineering, Spreadsheet, Start, Surface, Web

TODO: fix several -Woverflow in area
2019-09-18 11:32:42 +02:00
wmayer
d05ae18340 fix -Wreturn-std-move 2019-09-07 15:19:28 +02:00
wmayer
b14cf8a00d extend convertTo function to also support SbRotation/Base::Rotation 2019-09-06 21:29:51 +02:00
wmayer
05649e3848 include missing header 2019-09-01 17:25:42 +02:00
Zheng, Lei
f362229041 Part: avoid touching in ViewProviderAttachExtension mergeOverlayIcons
ViewProviderAttachExtension::extensionMergeOverlayIcons() calls
AttachExtension::positionBySupport() which will always touch the
extended object. This may cause recomputation problems, e.g a datum
that is always touched, because normal recomputation trigger tree
view update by a timer, tree view refreshes the icon, datum gets
touched again.
2019-08-30 14:46:38 +02:00
sdh4
8928f863fe Part.BSplineSurface.buildFromPolesMultsKnots(): Fix 'Truth value of an array ... use a.any() or a.all()' when explicit knots or weights provided
Calls to BSplineSurface.buildFromPolesMultsKnots() with explicit knots or weights fail in recent versions of FreeCAD (tested on 0.18.3 with python3) with the message 'The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()'. 

This trivial change follows the pattern used later in the function of explicit comparisons with Py_None, replacing PyObject_Not() and PyObject_IsTrue()  when they are used to determine whether explicit weights or knots have been provided.
2019-08-27 21:48:52 +02:00