Commit Graph

252 Commits

Author SHA1 Message Date
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
Zheng, Lei
71c54272a0 Fix various Py::Object leak 2019-10-08 17:53:20 +02:00
wmayer
e1b0df9386 remove PCH from header file 2019-10-03 10:18:23 +02: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
0aa0f1c31f fix build failure: add export mscro, add header 2019-10-03 01:32:33 +02:00
Markus Lampert
e1e095da35 Added copyright notice to source files. 2019-09-30 22:20:54 -07:00
Markus Lampert
84b23d3e90 Add BoundBox property to Path, usable without a gui. 2019-09-30 18:34:57 -07:00
Markus Lampert
66e9cf900a Split walking and segmenting a path into its own class so it can be used by other algorithms, not just visualisation 2019-09-30 18:34:57 -07: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
203782a091 fix -Wunused-variable 2019-09-02 15:55:58 +02:00
Daniel Wood
a6a7e045ab Remove unused function definition 2019-08-27 07:15:23 +01:00