Commit Graph

1039 Commits

Author SHA1 Message Date
Abdullah Tahiri
1d2c45c845 Base: Move std::make_unique to Base 2019-07-14 12:37:35 +02:00
Abdullah Tahiri
006b470a20 Part: geometry extensions minor code clean up 2019-07-14 12:37:35 +02:00
Abdullah Tahiri
4d86374cb0 Part: geometry extensions several memory leak fixes 2019-07-14 12:37:35 +02:00
Abdullah Tahiri
21e1ccbe9b Part: Default geometry extensions for boolean and double 2019-07-14 12:37:35 +02:00
Abdullah Tahiri
331817d1b7 Part: Geometry extension set with unique id (type+name) and list based getExtensions python 2019-07-14 12:37:33 +02:00
Abdullah Tahiri
8618dfd3c6 Part Geometry: get an extension from type or name, also from python 2019-07-14 12:37:33 +02:00
Abdullah Tahiri
d8e99c1923 Part:: Geometry container extend hasExtension to type and name 2019-07-14 12:37:33 +02:00
Abdullah Tahiri
4d9d3b0c83 Part: Geometry - methods to remove extensions by name and type 2019-07-14 12:37:33 +02:00
Abdullah Tahiri
1700760e0b Part: Default geometry extensions make sure built-in types are initialised 2019-07-14 12:37:33 +02:00
Abdullah Tahiri
d99e667e30 Part: Command to show list of extensions from Python 2019-07-14 12:37:33 +02:00
Abdullah Tahiri
665fcda4dc Part: Fix assignment after reserve of weak_ptr causes segfault 2019-07-14 12:37:33 +02:00
Abdullah Tahiri
aaea1285d4 Part: Extend Geometry Extension to have a name 2019-07-14 12:37:31 +02:00
Abdullah Tahiri
a4cb781d81 Part: correct long parsing in GeometryIntExtensionPyImp 2019-07-14 12:37:31 +02:00
Abdullah Tahiri
274f730826 Part: Geometry extension const correctness 2019-07-14 12:37:31 +02:00
Abdullah Tahiri
062037ffff Part: Move default geometry extension for int to internally use long 2019-07-14 12:37:31 +02:00
Abdullah Tahiri
75fdacb342 Part: Default geometry extension template encapsulate value 2019-07-14 12:37:31 +02:00
Abdullah Tahiri
27620ed717 Part: GeometryDefaultExtensions template
========================================

Generalisation of code for a default geometry extension in the form of a template.

Default geometry extensions provide a standard interface for an extension having a single stored value (e.g. one int or one string).

Python implementation must be provided separatedly.
2019-07-14 12:37:31 +02:00
Abdullah Tahiri
7488faa99f Part: Geometry extensions set interface
=======================================

unique_ptr is a move only type. Therefore it may only take an rvalue.

It does not make sense a pass by value for move only types (Item 41).
2019-07-14 12:37:31 +02:00
Abdullah Tahiri
e4aead2365 Geometry extensions: remove unnecessary smart pointer deletion
==============================================================

When the geometry object is destroyed, std::vector's destructor is called, which in turn calls the destructor of the smart pointers.

If a weak_ptr corresponding to one of those shared_ptr is locked (elsewhere, if FC were multithread),
the underlaying resource will not be freed until said locked weak_ptr goes out of scope. It will then.
2019-07-14 12:37:31 +02:00
Abdullah Tahiri
0c1df38a4b Part: GeometryStringExtension to extend a geometry by a string 2019-07-14 12:37:30 +02:00
Abdullah Tahiri
a846d7627c Part: Expose GeometryIntExtension python type 2019-07-14 12:37:30 +02:00
Abdullah Tahiri
ba3831715c Part: Standard geometry extension adding an integer value 2019-07-14 12:37:30 +02:00
Abdullah Tahiri
d082a42351 Part: Excise GeometryExtension from Geometry 2019-07-14 12:37:30 +02:00
Abdullah Tahiri
6b4148861d Part: Geometry Python interface to get/set an extension 2019-07-14 12:37:29 +02:00
Abdullah Tahiri
a96ca31dda Part:: Bug fix in geometry set extension 2019-07-14 12:37:29 +02:00
Abdullah Tahiri
9ba80f015c Part: Geometry Extension Python object 2019-07-14 12:37:29 +02:00
Abdullah Tahiri
55be6fdb7f Geometry Extension based on smart pointers 2019-07-14 12:37:28 +02:00
Abdullah Tahiri
41bf3fbf75 Geometry: Extensions - release any allocated dynamic memory 2019-07-14 12:37:28 +02:00
Abdullah Tahiri
622f249dcd Part: Geometry Extensions 2019-07-14 12:37:28 +02:00
wmayer
1b0d03e4ab Parametric refinement feature 2019-07-08 14:37:00 +02:00
wmayer
83844e261d improve doc string of Part.sortEdges 2019-06-20 14:41:50 +02:00
wmayer
5a326e4b50 issue #0003921: Crash when opening document with datum point intersecting line and plane 2019-06-16 19:31:06 +02:00
wmayer
53fc2f3ec9 improve exception handling Shape.distToShape 2019-06-13 21:49:13 +02:00
wmayer
98a53884dc use INCH instead of IN when setting units for STEP or IGES export 2019-06-13 12:40:01 +02:00
wmayer
a3a35d12b4 fixes 0004010: Box Selection + Part -> MakeCompound will crash FreeCAD 2019-06-12 11:20:48 +02:00
Abdullah Tahiri
026254b8ff Partial Restore: ensure line segment length when x coordinate is exactly zero
fixes #4012
2019-06-08 16:52:49 +02:00
wmayer
85fddfc54a do some security checks to make sure Py::Module is valid 2019-06-03 17:57:52 +02:00
wmayer
addb368e52 also support shapetype parameter in Part.makeRevolution() if first argument is an edge 2019-05-12 11:33:38 +02:00
Abdullah Tahiri
216926233f Part: Make 3rd party libraries into PCH 2019-05-02 07:09:22 +02:00
wmayer
dc1720a7f2 continue PCH on Part module 2019-05-01 16:10:38 +02:00
Abdullah Tahiri
51edf605b9 Part: Missing PCH header 2019-04-30 15:35:25 +02:00
tomate44
4e827194ef add a python method to cut holes in a Part.Face, from a list of wires 2019-04-29 12:33:43 -03:00
wmayer
c0ca04adf9 activate pCH on Part module 2019-04-28 15:33:25 +02:00
luz.paz
a703ae39d3 More misc. typos 2019-03-31 11:42:37 +02:00
joha2
a06fa02e73 MeshToSolid: progress indicator and slightly modified sewing tolerance dialog 2019-03-31 11:30:03 +02:00
luz.paz
2e4e9c6d4e Add some more user-facing typo fixes 2019-03-22 10:44:14 -03:00
wmayer
047a18ccb5 PVS: V601 The bool type is implicitly cast to the double type
PVS: V668 There is no sense in testing pointer against null, as the memory was allocated using the 'new' operator. The exception will be generated in the case of memory allocation error
2019-03-13 14:09:10 +01:00
wmayer
d4c3f9a264 add method to Python interface to get reflect lines of a shape 2019-02-25 10:50:38 +01:00
wmayer
cb6f65ac6c fixes 0003694: Part->Boolean->Cut should show error message if a non-solid (Shell, etc.) is selected 2019-02-21 16:55:59 +01:00
wmayer
91f8ccf7c8 fixes 0003846: unexpected result in building RuledSurface 2019-02-19 15:53:39 +01:00