Commit Graph

132 Commits

Author SHA1 Message Date
younghang
7630ee024b fix PointProjectionFailed 2022-05-16 00:04:44 +08:00
Chris Hennes
5f31fb74f6 Path: PR6497 move return statement to new line 2022-03-29 12:37:49 -05:00
wmayer
7b591da9f5 Path: modernize C++11
* use nullptr
2022-03-23 19:26:15 +01:00
wmayer
833868bd13 Path: [skip ci] partially fix issue 0004765: [MSVC][Build][Permissive-][std:c++latest] FreeCAD failed to build on MSVC 2021-11-01 19:32:21 +01:00
Mateusz Skowroński
ea6e8e9906 Fix build warnings from deprecated Boost headers (1.74) 2021-01-02 10:43:56 +01:00
Stefan Endres
4ad41c96d0 Path: Check if startpoint is not lower than bounds in order to work always from top to bottom 2020-12-13 19:34:02 +01:00
luz paz
b75cd3dd52 Path: Fix header uniformity and remove trailing whitespace
This PR fixes header uniformity across all Path files. It also removes all trailing whitespace.
2020-11-05 19:57:21 +01:00
Priit Laes
e755238456 build: boost: Clean up branches requiring boost-1.55 2020-10-13 12:56:28 +02:00
Eric Trombly
465de60007 don't generate gcode if op isn't valid. Don't plunge to start height if safe and clearance height are the same. 2020-07-15 19:35:18 -05:00
sliptonic
1e05734dff Merge pull request #3584 from gwicke/area_tweaks
Path: Area fixes and robustness tweaks
2020-06-19 12:30:32 -05:00
wmayer
4ec45b545e 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
Gabriel Wicke
905d9d65da Path: Area fixes and robustness tweaks
- Bug fix: Fix crasher in discretize() when the edge to discretize is
  not a 3d curve, and a nullptr is returned when trying to access the
  underlying curve. This change essentially removes an older work-around
  for QuasiUniformDeflection, which is no longer needed since we are
  using UniformDeflection. This change is tested with the original test
  case from https://forum.freecadweb.org/viewtopic.php?f=15&t=42628, as
  well as my own crasher test case.
- WireJoiner robustness: Support passing in a tolerance into
  WireJoiner::findCloseWires(), and initialize this to
  AreaParameter.Tolerance. In testing, this significantly improves the
  ability to join projected areas in complex 3d surface path models.
- Area::project() robustness: Pass the work plane down into the
  projection area instance, so that it does not need to be derived from
  shapes. This avoids crashing out on "shapes are not coplanar" from
  getPlane, when lenient processing was requested via the Coplanar
  parameter.
2020-06-07 20:09:55 -07:00
Eric Trombly
5e0223337b change intra-operation travels back to clearance height, then rapid to safe height 2020-04-27 20:31:36 -05:00
Eric Trombly
d3eb2ce92f remove retraction to clearance height for intra-operation travels 2020-04-24 22:32:27 -05:00
Eric Trombly
b8a262be81 fix detect of 0,0 start point 2020-04-24 20:05:39 -05:00
Eric Trombly
396f03ea9b pass endVectorin PathAreaOp and clean up gcode generation 2020-04-24 20:05:39 -05:00
Zheng, Lei
7dc60feab0 Path: fix path sort 2020-04-13 14:34:18 +08:00
Zheng, Lei
da72b47cfe Path: handle open edges when sorting path 2020-04-06 09:58:01 +08:00
Zheng, Lei
ec10b5e62e Path: add some diagnostic trace in Area 2020-01-24 07:58:57 +08:00
Zheng, Lei
28b98f752c Path: change wire discretization method used in Area 2020-01-24 07:58:41 +08:00
howetuft
fb64a860e6 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
wmayer
e117679922 [skip ci] suppress -Wgnu-zero-variadic-macro-arguments 2019-11-17 19:19:02 +01:00
luz.paz
1c981e8f14 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
luz.paz
7b7797f4f3 Fix various (doxy) typos and whitespace issues
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-03 07:57:13 +02:00
wmayer
a247b7e6a5 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
28f74290b2 fix -Wreturn-std-move 2019-09-07 15:19:28 +02:00
wmayer
85270f5cd3 Fix a couple of clang compiler warnings:
-Wunused-variable
-Winconsistent-missing-override
-Wdelete-non-virtual-dtor
-Wunused-private-field
-Wformat
2019-06-23 15:19:12 +02:00
Zheng, Lei
5ee4c4dbdb Path: fix Area tolerance problem 2019-06-11 13:23:33 +08:00
wmayer
222ae7305f revert 3a133ee0 to fix build failure 2019-05-04 12:36:00 +02:00
Abdullah Tahiri
3a133ee0cb Path: Add libarea to PCH 2019-05-03 23:15:09 +02:00
Abdullah Tahiri
b22d59c0aa PCH: Path App 2019-05-03 23:15:09 +02:00
luz.paz
0238906d38 Misc. typo and whitespace fixes
Found via `codespell`
2019-04-30 10:15:59 -03:00
wmayer
2b0d3477cb fix copy-constructor of Path::Area class 2019-03-03 15:51:07 +01:00
sliptonic
96dee91d5e fixes #3665
Applying patch from jurij
2019-01-22 20:26:59 +01:00
Zheng, Lei
f2ddb64fa1 Path.Area: minor optimization 2018-11-06 12:02:12 -03:00
Zheng, Lei
35f6a4fa72 Path.Area: fix offset pocket mode 2018-09-26 17:02:36 +02:00
Zheng, Lei
1cbd5cc994 Path.Area: add PocketLastStepover/LastStepover parameter 2018-08-08 13:54:58 +02:00
luz.paz
baa6d89328 Typos and whitespace fixes 2018-08-07 11:13:31 -04:00
luz.paz
0576524144 Misc. code comment typo fixes
Found via `codespell -q 3 -I ../fc-word-whitelist.txt --skip="*.ts,*.po,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./.git,./src/zipios++"`
2018-07-27 10:39:43 -03:00
luz.paz
7a09a5774e More misc. typos 2018-05-19 12:17:52 -04:00
luz.paz
6e64b4f75d Misc. typos 2018-05-19 12:06:34 -04:00
luz.paz
5f7df347f8 Path: misc. source comment typos 2018-04-25 11:03:10 +02:00
Zheng, Lei
b81f4694b1 Path.Area: work around for OCCT discretization bug
See code comments for more details.
2018-03-21 12:14:58 +01:00
Zheng, Lei
67e3bb9d1d Path.Area: fix linux build 2018-03-03 11:19:36 -03:00
Zheng, Lei
7f891ebeae Path.Area: fix self intersect wire issue
Self intersected wire may cause a loop, and BRepBuilderAPI_MakeWire may
mistakenly consider the wire to be closed. And this makes
BrepTools_WireExplorer unhappy and cause it to skip edges.  We now use
ShapeAnalysis_FreeBounds to connect edges to wires.
2018-03-03 11:19:36 -03:00
Zheng, Lei
66997448f5 Path.Area: arc fix to work around OCCT bug 2018-02-24 10:44:55 -03:00
wmayer
1e0d4b7a5c fix warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move] 2018-02-10 12:18:33 +01:00
Zheng, Lei
7e5d2bd92f Path.Area: make wire explode respect arc accurarcy 2018-01-26 18:53:09 +01:00
luz.paz
383825e9cf Path: libarea typos
Source and comment typos
2018-01-24 13:08:57 -05:00
Zheng, Lei
8f84087e6f Path.Area: respect zero start point when generating path 2018-01-23 19:49:58 +01:00