Commit Graph

26594 Commits

Author SHA1 Message Date
wmayer
5ddefe56fb PD: 0004699: ShapeBinder still touched after recompute 2021-12-09 12:33:09 +01:00
Yorik van Havre
f61ca1bf17 Merge pull request #5223 from Roy-043/Draft_fix_task_panel_issues
Draft fix task panel issues
2021-12-09 11:16:45 +01:00
wmayer
055bcbbe1a Gui: refactoring: move duplicated code to DockWindowManager::activate() 2021-12-09 07:40:44 +01:00
mwganson
6c065300a8 [StdCmdSendToPythonConsole] make python console visible if not already visible and set keyboard focus to it when invoking the send to python console command 2021-12-09 07:08:25 +01:00
wmayer
208237d2e6 PD: 0004582: Mulit-transformation dialog cannot be cancelled 2021-12-09 06:13:25 +01:00
Roy-043
d3cad74ac6 Draft: fix regression draftlink.py (#5220)
* Draft: fix regression draftlink.py

This PR fixes a regression introduces with #5180.

Using transformShape is the correct solution.
2021-12-08 07:37:23 -06:00
luz paz
4bd77b3b35 Draft: fix doxygen typos 2021-12-07 22:53:54 -06:00
Paul Lee
ea25f69f03 [ArchWall] Do not copy shape
Discussions-
https://forum.freecadweb.org/viewtopic.php?style=1&t=62968&p=540585
234899409f
2021-12-07 18:55:43 -06:00
Abdullah Tahiri
62c8125097 Sketcher: Addition of layerId field to SketcherGeometryExtension, GeometryFacade and ExternalGeometryFacade, and their Python wrappers 2021-12-07 16:30:55 +01:00
Abdullah Tahiri
f29a6a0518 Sketcher: move GUI common utility functions to a new file Utils.h
=================================================================

Common utility functions used by almost all Command classes were previous in Constraint.h.

Aside from providing a very bad intent, it created unnecessary header dependencies.

This commit separates these common functions into a new header, utils.h, which is then
used in all command classes where it is necessary.
2021-12-07 16:30:55 +01:00
Abdullah Tahiri
5f0d3e22fc Sketcher: CommandSketcherTools add missing include that was indirectly satisfied 2021-12-07 16:30:53 +01:00
Abdullah Tahiri
6857f105f7 Sketcher: ConstraintType enum indicate underlying type
======================================================

This enables forward declaration
2021-12-07 16:30:53 +01:00
Abdullah Tahiri
e472aef28a Sketcher: SketchObject - method to getCompleteGeometry as GeometryFacade
========================================================================

As GeometryFacade is provided with more sketcher specific functionality, the demand
for to get GeometryFacades instead of Part::Geometry object increases too. This
addition reflects this increase of demand.
2021-12-07 16:30:53 +01:00
Abdullah Tahiri
db1bcc5f13 Sketcher: Move GeoEnum struct to separate file
==============================================

Separate struct into own file to avoid having to include all the dependencies of SketchObject in other code that relies on GeoEnum.
2021-12-07 16:30:53 +01:00
Abdullah Tahiri
b88dad5ef2 Sketcher: Create GeoList class
==============================

Class for managing internal and external geometry as a single object. This is a light-weight alternative to
passing the whole SketchObject.

It reflects the format used in getCompleteGeometry of SketchObject and Sketch solver facade class, while providing
several convenient conversion functions to map indices.

Internal and external geometries are present in a single geometry vector one after the other.

The index of the geomlist (all layers) and the GeoId can be converted from each other at needed
using the member fuctions (and sometimes the static member functions).

Internal implementation is as a template GeoListModel<T>.

The following types are instantiated. Specialisation is provided where necessary.

GeoList = GeoListModel<Part::Geometry *>;
GeoListFacade = GeoListModel<std::unique_ptr<const Sketcher::GeometryFacade>>;

This enables to use the lighter GeoList were sufficient, while enabling off-the-shelf replacement
when switching to a GeoListFacade is necessary.
2021-12-07 16:30:53 +01:00
Abdullah Tahiri
1e66792cf9 Sketcher: GeometryFacade Improvements
===============================================

1. Correct GeometryFacade getGeometry for const objects.
2. Modifications to avoid exceptions on the constructors.
3. Add default move constructor and move assignment operator.
4. Delete default copy constructor and copy assigment operator.
2021-12-07 16:30:53 +01:00
Abdullah Tahiri
e16b9f47af Part: Geometry - Curve member to calculate the normal at Point
==============================================================

Convenience member function combining closestParameter and normalAt using parameter.
2021-12-07 16:30:53 +01:00
Abdullah Tahiri
8b4276c2cc Part: Geometry - Extend Geometry Curve to query the value at parameter point directly from D0
=============================================================================================

Use the geometry specific D0 to calculate value at parameter point.
2021-12-07 16:30:53 +01:00
Abdullah Tahiri
fa1a571cc9 Sketcher: Constraint.h - add underlying type to PointPos enum
==============================================================

This enables forward declarations.
2021-12-07 16:30:53 +01:00
wmayer
ca5c799ce2 Gui: rename methods of SelectionObserver to clarify intention in client code 2021-12-07 14:17:07 +01:00
wmayer
ce88fa2052 PD: enable selection only on request and disable it after selecting an object 2021-12-07 13:06:48 +01:00
wmayer
a27b3067ba PD: eliminate the boolean argument from TaskSketchBasedParameters::onSelectReference 2021-12-07 11:04:22 +01:00
wmayer
6167e9f77a PD: 0004759: Bad error message when creating pad with 0 length 2021-12-07 10:09:11 +01:00
Uwe
1e4c7a2de9 [PD] improve selection mode exit for Helix
exit the selection mode if selection was got - like we do it for all other PD features
2021-12-07 04:18:33 +01:00
Uwe
6efd5f1bf6 [PD] fix calculation of possible Helix intersections
the current routine fails for the growth mode.

This PR fixes this by handling this case separately from the other modes.
2021-12-07 03:19:35 +01:00
wmayer
a19f3787bd Part: 0004742: Editing features by context menu may not be undoable 2021-12-06 19:34:52 +01:00
wmayer
8df497b08e Gui: move methods startDefaultEditMode() and addDefaultAction() to ViewProviderDocumentObject 2021-12-06 19:24:26 +01:00
wmayer
e71051f4f0 PD: 0004742: Editing features by context menu may not be undoable 2021-12-06 14:11:10 +01:00
Brent Roettger
3f97cb660e Added back defaults for SpaceExplorer 2021-12-06 11:02:26 +01:00
luz paz
382b38f2bd Use correct name spacemouse so it's uniform and searchable in our code
Make all mentions of `spacemouse` in the code a single word (with no whitespace) so we can parse the source code more accurately to find mentions of it if necessary.
2021-12-06 10:31:06 +01:00
Uwe
3cef5da1ad [PD] fix division by zero in Helix
- when a helix is defined in the growth mode it can have a pitch of zero

This commit fixes the resulting division by zero by directly setting the known turns
2021-12-06 02:40:34 +01:00
Uwe
3f76c7869a [PD] Helix: improve variable naming
use unique variable names
2021-12-05 21:59:06 +01:00
Uwe
d2dc6ca7dd [PD] rewrite a Helix function
rewrite the function to check if helix might intersect itself to make it better readable/understandable
2021-12-05 21:28:52 +01:00
Uwe
1af3755a17 [PD] add missing tooltips for Helix dialog 2021-12-05 19:21:27 +01:00
wmayer
67f8a4c61c Spreadsheet: fix format of table cells when used for printing, by default use landscape orientation 2021-12-05 12:16:54 +01:00
wmayer
d3a0bf018f Spreadsheet: issue 0002957: spreadsheet direct printing 2021-12-04 23:36:11 +01:00
Roy-043
af24c3ba02 Draft: fix task panel_issues (gui_texts.py) 2021-12-04 22:01:29 +01:00
Roy-043
fccf955c6f Draft: fix task panel issues (gui_polygons.py) 2021-12-04 22:00:43 +01:00
Roy-043
77d21df65f Draft: fix task panel issues (gui_points.py) 2021-12-04 21:59:47 +01:00
Roy-043
055f1850e8 Draft: fix task panel issues (gui_edit.py) 2021-12-04 21:58:50 +01:00
Roy-043
81268073df Draft: fix task panel issues (DraftGui.py) 2021-12-04 21:57:31 +01:00
Brent Roetger
632af47a0d Added SpaceNavigator defaults 2021-12-04 11:49:02 +01:00
Uwe
04be1a4af9 [GUI] code style fixes for Tree.cpp
tons of style fixes by MSVC

(the idea was initially just to fix the code style issues from commit 92a8e0e3d8 and then MSVC found many more)
2021-12-04 02:57:34 +01:00
wmayer
6e52161dce PD: refactor ReferenceSelection 2021-12-03 21:38:28 +01:00
wmayer
543024e078 PD: comment out dead code 2021-12-03 20:18:46 +01:00
0penBrain
92a8e0e3d8 [Gui] Tree: implement collapse/expand system with keys
Implemented using Alt modifier + arrow keys
 * Alt+Left : collapse selected items
 * Alt+Right : expand selected items
 * Alt+Up : expand selected items with all tier-1 children collapsed
 * Alt+Down : expand selected items with all tier-1 children expanded
2021-12-03 18:08:47 +01:00
0penBrain
7aef0b3de7 [Gui] UserEditMode : fix operating on PartDesignObject 2021-12-03 16:53:30 +01:00
wmayer
fab96e2151 PD: avoid include generated .ui file in header file 2021-12-03 15:59:15 +01:00
wmayer
c64d86274c PD: minor cleanup in view provider headers 2021-12-03 15:58:23 +01:00
wmayer
3ee1d91b88 PD: cleanup the mess with boolean arguments and replace them with a bitmask 2021-12-03 14:46:19 +01:00