Commit Graph

263 Commits

Author SHA1 Message Date
wmayer
ab4ab444b6 Path: [skip ci] fix memory leak in CommandPy::getParameters()
For some background information see: https://forum.freecadweb.org/viewtopic.php?f=15&t=50583
2020-10-04 19:43:54 +02:00
Markus Lampert
e97f7a8a54 More integer type cleanup for the voronoi python interface 2020-09-29 19:50:33 -05:00
Markus Lampert
e3c476af21 Unified voronoi indices for python to be of type long 2020-09-29 14:58:42 -05:00
Markus Lampert
33beb4110a Added voronoi colorExterior case where one external vertex coincides with a point of an input segment. 2020-09-28 14:58:08 -05:00
Markus Lampert
d9f09b1716 Added vertex cache to voronoi colorExterior callback processing - cuts execution time in half. 2020-09-28 14:58:08 -05:00
Markus Lampert
7777e0f265 Added retrieval of points and segments for voronoi diagram 2020-09-28 14:58:08 -05:00
Markus Lampert
6d43d75028 Added Index as attribute of all voronoi objects for easier debugging 2020-09-28 14:58:08 -05:00
Markus Lampert
a95ecd69a9 Simplified and further optimised colinear colorisation 2020-09-28 14:58:08 -05:00
Markus Lampert
1109691393 Added color -1 to mean resetting all color. 2020-09-28 14:58:08 -05:00
Markus Lampert
d68b5064cf Some algorithm optimisations 2020-09-28 14:58:08 -05:00
Markus Lampert
07f3e6c521 Added callback to colorExterior to also color 'interior' 2020-09-28 14:58:08 -05:00
Markus Lampert
952c94cb50 Added colorColinear and resetColor algorithms 2020-09-28 14:58:08 -05:00
Markus Lampert
f860339658 Added optional scaling factor to Voronoi construction. 2020-09-28 14:58:08 -05:00
Markus Lampert
94a44bcbfe Added scaling to micro meters 2020-09-28 14:58:08 -05:00
Markus Lampert
38ff7fcdae Added support for distances of edge end points. 2020-09-28 14:58:08 -05:00
Markus Lampert
926d254849 Added api calls for coloring all twins and coloring exterior edges and vertices. 2020-09-28 14:58:08 -05:00
Markus Lampert
5ad3bb17fd Added toGeom for curved edges. 2020-09-28 14:58:08 -05:00
Markus Lampert
10e5fce11c Added geometries for vertices and linear edges. 2020-09-28 14:58:08 -05:00
Markus Lampert
9ba8817382 Added support for voronoi cells 2020-09-28 14:58:08 -05:00
Markus Lampert
6fc2af2adc Added support for voronoi edges. 2020-09-28 14:58:08 -05:00
Markus Lampert
27238c3813 Added python bindings for voronoi diagram construction and accessing the resulting vertices. 2020-09-28 14:58:08 -05:00
sliptonic
bfa8cbf8a6 Merge pull request #3706 from etrombly/emptyPath
[PATH] don't generate gcode if op isn't valid. Don't plunge to start height if safe and clearance height are the same.
2020-08-04 10:20:13 -05:00
wmayer
4dd32ce143 LGTM: [skip ci] fix: Missing header guard 2020-07-27 11:16:41 +02:00
wmayer
44f42a8e2c 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
d5d7d65bfc LGTM: [skip ci] fix: Large object passed by value 2020-07-24 18:32:31 +02:00
wmayer
cbb5f99ade PVS: V730 Not all members of a class are initialized inside the constructor 2020-07-18 10:59:27 +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
luz.paz
1da81df756 Fix typos [skip-ci]
Found via codespell v1.18.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-06-29 20:52:23 +02: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
Gabriel Wicke
cc84287515 Path: Opt into automatic git newline normalization
Avoid spurious diffs from inadvertent newline changes by letting git
normalize newlines in the path module as well, just as a list of other
modules including Draft already do.

This effectively standardizes all checked-in code to Unix newlines, but
checkouts might use CRLF if that is the user preference.
2020-05-31 08:33:29 -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
Daniel Wood
e99cf9b664 ensure the getCycleTime function returns a value 2020-04-23 16:43:00 +01:00
Daniel Wood
b2756bb10f Add getCycleTime method to Path::ToolPath 2020-04-22 19:08:09 +01:00
Zheng, Lei
7dc60feab0 Path: fix path sort 2020-04-13 14:34:18 +08:00
luz.paz
2ed5786d07 [skip-ci] Various typo fixes
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-07 18:17:03 +02:00
Zheng, Lei
da72b47cfe Path: handle open edges when sorting path 2020-04-06 09:58:01 +08:00
Zheng, Lei
a9d4023129 Path: fix missing header 2020-01-26 11:57:50 +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
Markus Lampert
8ce46922f9 Fix Path.Length calculation. 2020-01-16 22:53:39 -08:00
luz.paz
379d041664 Fix typos and some trailing whitespace
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-12-03 12:22:59 +01:00
asapelkin
8bc5b585c8 Used single quotes for single character in string::find algorithm, more efficient 2019-11-21 18:59:43 +01: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