Commit Graph

1697 Commits

Author SHA1 Message Date
wmayer
bc3b50744e Sketcher: [skip ci] minor optimization in SketchObject::delGeometry 2020-11-05 10:04:42 +01:00
luz paz
f839820817 Fix various typos [skip-ci]
Found via `codespell v2.0.dev`  
```
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-11-04 10:18:30 +01:00
luz paz
fc1085d4dc Issue #4473: Expose openCommand() CommandConstraints.cpp to translation
`Sketcher/Gui/CommandConstraints.cpp` will now be parsed for translation. Based on https://github.com/FreeCAD/FreeCAD/pull/3993#issuecomment-715906238  
( ref. Issue #4473 )
2020-11-03 15:15:16 +01:00
Abdullah Tahiri
916526b866 Sketcher: Documentation editorial change 2020-11-03 12:01:22 +01:00
Abdullah Tahiri
947cd64b8b Sketcher: Improve documentation of SketchGeometryFacade and ExternalGeometryFacade 2020-11-03 12:01:22 +01:00
Abdullah Tahiri
fb5e76992f Sketcher: Restrict ability to create empty GeometryFacade and ExternalGeometryFacade objects to Python 2020-11-03 12:01:22 +01:00
Abdullah Tahiri
e9e8724cb1 Sketcher: Facade for geometry and external geometry extension 2020-11-03 12:01:22 +01:00
Abdullah Tahiri
36e58956c3 Sketcher: Change GeometryFacadePy representation 2020-11-03 12:01:22 +01:00
Abdullah Tahiri
868c2ada73 Sketcher: Separate ExternalGeometryExtension interface from class 2020-11-03 12:01:22 +01:00
Abdullah Tahiri
74ff589fd0 Sketcher: Utility functions to simplify common operations with GeometryFacade 2020-11-03 12:01:22 +01:00
Abdullah Tahiri
063e0a6767 Sketcher: Extend SketchObject Python Interface to get/set SketchGeometryExtension GeometryId (convenience interface) 2020-11-03 12:01:22 +01:00
Abdullah Tahiri
d994e2fe3b Sketcher: Geometry Facade interface for Geometry and SketchGeometryExtension 2020-11-03 12:01:22 +01:00
Abdullah Tahiri
e4f7d0f068 Sketcher: SketchGeometryExtension separation to interface 2020-11-03 12:01:22 +01:00
wmayer
50b38cca84 Sketcher: [skip ci] avoid possible memory leak 2020-10-30 13:21:51 +01:00
Yorik van Havre
43596a68af Merged crowdin translations 2020-10-28 12:04:37 +01:00
Yorik van Havre
57fbb63b8d Updated ts files 2020-10-28 10:46:51 +01:00
Abdullah Tahiri
00a1aa6225 Part: Geometry - encapsulate construction access 2020-10-25 03:52:51 +01:00
Neinei0k
1a9dcdb3db Sketcher: Fix ticket #4399
The reason for this behaviour is that root point (origin) and axes are not treated as fixed geometry. Every external geometry has negative ID which is at most GeoEnum::RefExt defined as -3 in the file src/Mod/Sketcher/App/SketchObject.cpp. Ids of root point and axes are also defined in this file with id -1 for root point and horizontal axis, and -2 for vertical axis. To fix the problem, GeoEnum::RefExt id was replaced by root point id in the condition checking for the largest id of fixed geometry.
2020-10-25 02:27:06 +01:00
wmayer
067b51b835 Gui: [skip ci] let view provider to decide to whether open a transaction on double-click
The sketcher view provider doesn't need a transaction on double-click or otherwise shows a useless entry in the undo dialog which when undoing leads to weird behaviour
2020-10-24 15:37:04 +02:00
luz paz
a305b3b53f Sketcher: Capitalize opeCommand() text [skip-ci] 2020-10-24 12:26:35 +02:00
luz paz
8068a5307a Sketcher: Fix typos [skip-ci] 2020-10-24 12:26:35 +02:00
wmayer
13850707ef Sketcher: [skip ci] fix changing multiplicity of a spline for Windows builds if PCH is enabled 2020-10-23 13:43:42 +02:00
wmayer
b5d3ba129c Sketcher: [skip ci] fix crash when deleting a selected geometry directly with delGeometry() 2020-10-23 11:56:17 +02:00
wmayer
9b806f4ac9 Sketch: [skip ci] handle possible crashes when decreasing degree of a spline 2020-10-23 11:26:15 +02:00
wmayer
d532f8ef33 Sketcher: implement command to decrease degree of a B-spline 2020-10-23 00:36:41 +02:00
wmayer
09c72214e8 Sketcher: [skip ci] remove AutoTransaction from ViewProviderSketch::mouseButtonPressed because it breaks the open/commit transaction logic 2020-10-22 19:35:31 +02:00
wmayer
da46b9de3d Sketcher: [skip ci] remove superfluous transaction when start/finish editing a sketch 2020-10-22 19:35:20 +02:00
wmayer
731f89ccbf Sketcher: [skip ci] do not create dialog on heap if not needed to improve exception-safety and reduce possible memory leaks 2020-10-22 16:01:22 +02:00
vocx-fc
19978b5e31 Sketcher: add BSplineDecreaseDegree although with an empty implementation
Currently there is a command to increase the degree of a B-spline
but the corresponding command to reduce the degree does not exist.
So this command is a placeholder for when the full implementation
is added in the future by somebody.
2020-10-22 14:53:52 +02:00
vocx-fc
7cddeb0283 Sketcher: clean up line spacing for VirtualSpace command 2020-10-22 14:53:52 +02:00
vocx-fc
9936004fbc Sketcher: clean up the sketcher B-spline tooltips
Also clean up linespacing and whitespaces to make the code more
readable. Extremely long lines are broken to be 80 to 100 characters
long when possible.
2020-10-22 14:53:52 +02:00
vocx-fc
3ce832896d Sketcher: clean up the sketcher tools tooltips
Also clean up linespacing and whitespaces to make the code more
readable. Extremely long lines are broken to be 80 to 100 characters
long when possible.

'DrawSketchHandlerCopy' and 'DrawSketchHandlerRectangularArray'
are de-indented so that they start at column 1.
2020-10-22 14:53:52 +02:00
wmayer
5d37581019 Sketcher: fix regression in CmdSketcherValidateSketch
Do not enable the command if another task dialog is still active
2020-10-22 14:53:52 +02:00
vocx-fc
b47a0a0a58 Sketcher: clean up general commands tooltips
* `MapOnSketch` is active only when there is a sketch available
  in the document.
* `ReorientSketch` and `ValidateSketch` are active only when one,
  and only one, sketch is selected.
* `MergeSketch` is active only when there is at least two sketches
  selected.
* `MirrorSketch` is active only when there is at least one sketch selected.

Clean up the lines so they are not extremely long.
2020-10-22 14:53:52 +02:00
vocx-fc
ff5163cf75 Sketcher: add five tools to the Sketcher toolbar and reorder code
Add template specification for `SketcherAddWorkspaceSketchExtra`
for type `Gui::ToolBarItem` so that the following commands
are added to the toolbar as well as the Sketcher menu:
`ReorientSketch`, `ValidateSketch`, `MergeSketch`, `MirrorSketch`,
`StopOperation`.

Reorganize the order of the function declarations
so that they are in this order: Sketch actions (general),
geometries, constraints, tools, B-splines, and virtual space.

Add separators to the list of tools commands in the menu
so that it looks clearer.

Correct the header guard `#ifndef SKETCHER_WORKBENCH_H`.
Previously, it was using a guard `IMAGE_WORKBENCH_H`
seemingly copied from the Image Workbench.
2020-10-22 14:53:52 +02:00
Neinei0k
b1afdc8f61 Sketcher: Merged constraint selection fix.
When the sketch is not in XY plane, individual constraints from the merged constraint icon can't be selected. Constraint icon coordinates are given in sketcher coordinates. The function getCoordsOnSketchPlane projects vector in global coordinates to the sketch plane. So, it makes no sense to use sketcher coordinates with it. If the sketch is in the XY plane, then the global coordinates are the same as sketcher coordinates. The solution is to get global coordinates of the icon from the sketcher coordinates and use it to project icon to the screen.
2020-10-22 13:52:31 +02:00
0penBrain
d13235c960 [Sketcher] Allow selection of 2 vertices for horizontal/vertical constraint in continuous mode
Fixes #4444
2020-10-21 17:22:53 +02:00
Neinei0k
061b6fb620 [Sketcher] Changes to drawing of constraint icons.
* Change the formula to calculate maximum distance for merging of constraint icons.
* Ignore z coordinate while calculating the distance between icons. It is irrelevant but can slightly differ between icons.
* Choose first icon from the group of nearby icons as a location of the composite icon, instead of choosing icon closest to the average position. Fixes jittering of the icon while one of the constraints is moved.
2020-10-15 10:09:30 +02:00
Neinei0k
2d939f2751 [Sketcher] Fix merged constraint preselection bug
Constraint icons that located close to each other get merged into a single icon. If you zoom in, individual constraints on these icons can't be selected anymore because their relative positions, which must depend on the zoom, don't change. The problem is solved by multiplying relative position by the scale factor which depends on the magnification.
2020-10-12 16:22:56 +02:00
wmayer
99b5aaf64e Sketcher: [skip ci] fix handling of icon search paths when another workbench uses a sketcher command 2020-10-01 16:28:23 +02:00
vocx-fc
5001a80d81 Sketcher: new icons for two existing commands
New SVG icons, `Sketcher_DeleteConstraints`, `Sketcher_DeleteGeometry`
for two commands which previously used the very simple icon
`Element_SelectionTypeInvalid` (a single red X).

These icons clarify that the commands are used to delete
the constraints and the geometry, respectively.
2020-10-01 09:59:26 +02:00
vocx-fc
e7c21e453d Sketcher: add further commands to the toolbars
Most tools should be exposed in the toolbars and not kept
"hidden" in the menus.
* `ConstrainInternalAlignment` is added in the "constraints" toolbar.
* `SelectElementsWithDoF` is added in the "tools" toolbar.

Also amend the name of the `Sketcher_BSplineConvertToNURB` command.
2020-10-01 09:59:26 +02:00
vocx-fc
a4b2f56a2a Sketcher: upgrade icons for existing commands
`SelectConstraints`, `SelectElementsAssociatedWithConstraints`,
these include the icon for parallel constraint, which was upgraded
in 4fb193aa.

`SelectRedundantConstraints`, `SelectConflinctingConstraints`,
previosuly were the same with only a small color variation (orange
outline and red outline). Now they have another symbol overlayed
(lightning and exclamation mark) to distinguish them more clearly.
The parallel icon was also upgraded in these icons.

The `Move` icon is also made more clear. The first element
now has a clear outline, instead of being a faded green color
which is hard to see. An arrow is added to imply movement
from the first position to the second position.
2020-10-01 09:59:26 +02:00
vocx-fc
c592e5bf28 Sketcher: small changes to two .ui dialogs 2020-10-01 09:59:26 +02:00
vocx-fc
16c8f55770 Sketcher: move icons to general subdirectory 2020-10-01 09:59:26 +02:00
vocx-fc
86bf3f4b1c Sketcher: move other icons into their subdirectories 2020-10-01 09:59:26 +02:00
vocx-fc
817f2f15aa Sketcher: add two icons reorient and validate 2020-10-01 09:59:26 +02:00
vocx-fc
5c14c8f3fa Sketcher: move icons to tools subdirectory
Add the icon path to the workbench's `InitGui.py`.
2020-10-01 09:59:26 +02:00
vocx-fc
7a1d3a486c Sketcher: move icons to splines subdirectory
Add the icon path to the workbench's `InitGui.py`.
2020-10-01 09:59:26 +02:00
vocx-fc
c63dd6230f Sketcher: move icons to geometry subdirectory
Add the icon path to the workbench's `InitGui.py`.
2020-10-01 09:59:26 +02:00