Commit Graph

1846 Commits

Author SHA1 Message Date
Abdullah Tahiri
90dea635ac Part: Geometry refactor member copy
===================================

Encapsulate Part::Geometry data member copy process in a single function (copyNonTag).

Part::Geometry derived classes need not know the specifics of the data member of Part::Geometry.

Change the delegation of the copy of extensions from clone() to copyNonTag. Because clone() relies on
copy() and now copy() of Part::Geometry data member relies on copyNonTag(), there is no actual change
to the clone() functionality, but the copy() funcionality gains the copy of the extensions via copyNonTag().
2020-12-10 18:34:06 +01:00
luz paz
7c43b059df Part: fix header uniformity + trailing whitespace
[skip ci]
2020-12-10 11:56:55 +01:00
wmayer
78c6cc1362 Import: [skip ci] fixes #0004477: Can't import .STEP files with cyrillic symbols 2020-12-07 17:54:17 +01:00
wmayer
88de941d1b Part: [skip ci] for Part::Torus primitive use TopoShape::makeTorus 2020-12-03 14:52:13 +01:00
wmayer
c578f9747a Part: [skip ci] add method TopoShape::makeTorus 2020-12-03 14:50:20 +01:00
joe-bookwood
998e17748a replace auto with type 2020-12-02 12:23:43 +01:00
joe-bookwood
165b0e96fc add missing include 2020-12-02 12:23:43 +01:00
luz paz
5aff8cdd0b Part: Issue #0004473: Expose openCommand() to translation
Continuing the work to expose the undo/redo functionality to translation. This commit does so for the Part Wb.  
Ticket: https://tracker.freecadweb.org/view.php?id=4473
2020-12-01 14:53:35 +01:00
wmayer
c54deee146 Py2/Qt4: fix build failures and warnings 2020-11-30 19:05:37 +01:00
wmayer
18ef1f71fe Part: [skip ci] add GeomAdaptor.hxx to PCH 2020-11-29 00:12:59 +01:00
wmayer
0e93dd12ed Part: [skip ci] fixes #0004169: DatumPoint at the intersection of a DatumPlane and DatumPoint not working correctly 2020-11-27 19:10:22 +01:00
wmayer
a50ae33557 Part/Sketcher: [skip ci] fix build failures with gcc 10 on Fedora
When using gcc 10 and PyCXX 7.1.4 on Fedora there is an error because the conversion from size_t to Py_ssize_t is ambiguous
See https://forum.freecadweb.org/viewtopic.php?f=4&t=52502

The class Py::Tuple is also incorrectly used here and causes a memory leak
2020-11-25 16:56:03 +01:00
wmayer
5a9da45e08 Gui: [skip ci] add method to Python binding of ViewProviderExtension to ignore overlay icon 2020-11-22 11:20:54 +01:00
wmayer
f9104f5884 Gui: [skip ci] add method to ignore to merge icon of an extension that is e.g. used for Part primitives 2020-11-21 16:49:08 +01:00
wmayer
691f259042 Part: allow to open attachment editor via context-menu 2020-11-15 19:16:22 +01:00
wmayer
8af45a1fe1 Part: move ViewProviderPrimitive to its own source files 2020-11-15 18:44:27 +01:00
wmayer
d3d34fc9d1 Part: [skip ci] include needed headers into PCH file 2020-11-15 13:30:32 +01:00
tomate44
74d5e458cb fixes and typos 2020-11-15 13:20:41 +01:00
tomate44
b21f5d5916 Part: add BezierCurve constrained interpolation 2020-11-15 13:20:41 +01:00
wmayer
bb7e64786a Part: [skip ci] include generated ui files from within source file 2020-11-15 13:17:52 +01:00
donovaly
9f6c14998d [Part] show location dialog when creating a Primitive
- there is no reason to hide it and even a bit tiring to open it manually since most no new primitives should be at the origin
- give the combobox to select the primitive type a reasonable name, this helps to understand the code better
2020-11-15 12:56:16 +01:00
wmayer
a48dd3aa2c Part: [skip ci] rearrange line page to save some vertical space 2020-11-13 15:35:07 +01:00
donovaly
f8ac3ea14a [Part] remove unnecessary vertical whitespace in dialogs
on smaller screens it is very annoying that the Part dialogs have too much vertical whitespace.

This PR gets rid of some unnecessary whitespace.
2020-11-13 13:52:31 +01:00
donovaly
922815df57 [Part] improve tube dialog
- remove vertical whitespace
2020-11-13 12:37:57 +01:00
wmayer
64288425a2 Part: [skip ci] show dialog directly when creating a tube feature 2020-11-13 12:33:59 +01:00
wmayer
812125931e Part: [skip ci] implement editor dialog for tube feature 2020-11-12 16:45:38 +01:00
wmayer
ba3106af06 Part: [skip ci] make sure to open a transaction when starting edit mode of primitives via context-menu 2020-11-12 16:35:58 +01:00
wmayer
cdc8b3c777 Part: [skip ci] split classes of Shapes.py file into files for feature, view provider and command classes 2020-11-12 12:17:47 +01:00
wmayer
b7f9e351c5 Win: [skip ci] check if NOMINMAX is already defined before setting it 2020-11-11 13:34:42 +01:00
wmayer
f9420c9877 Part: [skip ci] simplifications in primitives location dialog
- do not use a QSignalMapper if the slot doesn't take care of the emitting widget
- to set the placement only check for the base class GeoFeature, i.e. no need to step through all primitive types
- fix compiler warning of unused variable
2020-11-10 20:20:33 +01:00
donovaly
f0af88ecae [Part] add preview for changes to primitives location
- unset keyboardTracking for the dialog edits
- don't hide the location dialog on creation
2020-11-10 20:03:08 +01:00
Yorik van Havre
e76c857036 Merged crowdin translations 2020-11-10 14:58:06 +01:00
wmayer
6b9178e0b3 Part: [skip ci] correctly show control points of a B-spline/Bezier curve/surface if a placement is set 2020-11-09 13:14:31 +01:00
wmayer
58be246baf Part: [skip ci] fix type of Rotations property of Spiral primitive 2020-11-09 09:31:16 +01:00
wmayer
7251a90f6a Part: [skip ci] implement live preview for primitives 2020-11-08 15:40:59 +01:00
wmayer
70be25752d Part: override extensionSetupContextMenu in ViewProviderSplineExtension 2020-11-08 13:37:17 +01:00
wmayer
4025405ce5 Part: make view provider for helix and spiral inherit from primitive and use spline extension 2020-11-08 12:19:57 +01:00
wmayer
98d7a0400e Part: [skip ci] implement extension ViewProviderSplineExtension 2020-11-08 12:18:44 +01:00
wmayer
035803e47d Part: [skip ci] properly handle transactions when editing primitives 2020-11-08 10:43:04 +01:00
wmayer
dabf65cc72 Part: [skip ci] implement live preview for box and cylinder 2020-11-08 10:26:07 +01:00
donovaly
0b9c425678 [part] remove a now misleading comment
I added this comment when I read the dialog state fro the index of the type combobox, now we read the primitive's TypeID so the comment is misleading
2020-11-08 06:43:16 +01:00
wmayer
f8bd2c81c3 Part: [skip ci] add missing export macro 2020-11-07 10:17:34 +01:00
wmayer
f23187cd0e Part: allow to edit primitives via dialog 2020-11-06 23:12:40 +01:00
wmayer
80626d3a1f [Part] allow to edit helices via a dialog
+ add class ViewProviderPrimitive to avoid to re-implement setEdit/unsetEdit methods for each sub-class separately
+ avoid using global variables
+ when editing a feature directly pass it to the dialogs
+ when editing a feature then do not use active document as this could point to the wrong object
+ fix undo/redo message
+ re-add '3D View' button to location dialog
2020-11-06 19:59:14 +01:00
wmayer
5170a1564e Part: [skip ci] fix build failure due to missing class declarations 2020-11-06 13:46:38 +01:00
donovaly
6d83162783 [Part] allow to edit helices via a dialog
fixes https://tracker.freecadweb.org/view.php?id=3857

Currently primitives of the Part WB can only be created suing a dialog. Editing is not possible that way.

This PR makes the first step in achieving this:

- Helices can now be edited using the same dialog ans when created

- New location dialog. The Gui::LocationWidget used there is not aware of the rotation angle and it treats the rotation axis as direction. To fix this, I set changed the dialog so that one can define every parameter as in the PartDesign attacher dialog (Placement, rotation axis and rotation angle separately). Another reason for this change was that one could not use the location dialog, fill it with the placement properties of the object, and close the dialog without any change. Because of the missing angle info the objects was then always rotated despite nothing was changed.

If this PR goes in, I will extend it for the other primitives.

Todo for the future: allow a preview of the changes made in the dialog. (I could not find out how this is done.)
2020-11-06 13:27:03 +01:00
wmayer
f4aceec54b Part: [skip ci] make arguments const references 2020-11-03 13:12:23 +01:00
Abdullah Tahiri
5b415f6d74 Part: Geometry extensions constness correction 2020-11-03 12:01:22 +01:00
Abdullah Tahiri
33b4d00872 Part: Geometry - refactor py functions into class for code reuse 2020-11-03 12:01:22 +01:00
wmayer
462efdab37 Part: [skip ci] After removing a knot check if the B-spline is still valid 2020-10-30 13:55:31 +01:00