Commit Graph

116 Commits

Author SHA1 Message Date
Andrew
b916c387fb Clean Mod/Part. remove old OCC <7.3 and #if 0 code. 2023-03-26 21:17:18 +02:00
Uwe
49a7a60311 [Part] [skip ci] update a tooltip
- since FC 0.20 we require OCC 7.4
2023-02-03 12:15:28 -06:00
luz paz
6e542b6fad Part: remove trailing whitespace 2022-11-15 14:19:30 -06:00
marioalexis
34f070cf9b Part: Replace C cast 2022-09-18 11:06:51 -05:00
berniev
da9ebc572f Mod: redundant void 2 2022-08-08 10:27:50 +02:00
berniev
b796a0d376 Mod: use empty 2022-08-06 19:30:13 +02:00
berniev
2d4c5a4cfb Mod: use emplace_back 2022-08-05 10:36:16 +02:00
wmayer
8444484677 Part: Fix several clazy issues:
* Maybe you meant to call Primitive::onChanged() instead [-Wclazy-skipped-base-method]
* Maybe you meant to call Primitive::mustExecute() instead [-Wclazy-skipped-base-method]
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Use multi-arg instead [-Wclazy-qstring-arg]
* Use midRef() instead [-Wclazy-qstring-ref]
2022-07-25 08:31:18 +02:00
andrea
93525ff7eb removed references to OCC<7 2022-06-25 14:29:24 +02:00
wmayer
6b2882e01f Part: support of box selection in shape builder task panel 2022-06-21 15:30:31 +02:00
mwganson
26e4a3345b Part: Link support -- replace TopoShape.getSubShape() with Part::Feature::getTopoShape(obj, elementname, true).getShape() in order to support use of App::Link sublinks. 2022-05-27 03:52:17 +02:00
wmayer
afebe07514 Part: optimize hasShapesInSelection() by avoiding performing a possibly expensive transformation
See also: https://forum.freecadweb.org/viewtopic.php?p=592445#p592445
2022-05-02 17:19:49 +02:00
mwganson
a55758f0ab Part: reversed -- fix so it works with App::Links and App::Parts 2022-04-16 02:55:29 +02:00
wmayer
9eac35cf5d Gui: clean-up Selection API
Replace the int of the 'resolve' argument of several functions with a proper enum class.
* This avoids the inconsistencies in client code where often true/false is passed when an int is expected
* This avoids the use of magic numbers like 0, 1, 2 or the undocumented 3
2022-04-09 17:03:43 +02:00
mwganson
731ed820b5 Part:Improve support for Links 2022-04-08 17:42:42 +02:00
Chris Hennes
0a65575c2c Part: PR6497 move return statement to new line 2022-03-29 12:37:00 -05:00
wmayer
068c0e5a98 Part: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
Uwe
d1fc159f4c [Part] change sGroup for Section Cut
as discussed here: https://forum.freecadweb.org/viewtopic.php?p=577536#p577536
2022-03-09 11:43:23 +01:00
wmayer
1ca7429705 Gui: Optimize includes to reduce compile time 2022-03-07 20:29:18 +01:00
Uwe
67a0966398 [Part] remove some unused includes and sorting 2022-02-21 04:29:28 +01:00
marioalexis
f9c4c88768 Part: Part_SectionCut command active only if view is View3DInventor class 2022-02-15 10:19:15 +01:00
Uwe
a3b6c272ed [Part] add icon for sectionCut feature 2022-02-15 01:49:34 +01:00
wmayer
5cb2c315a2 Part: section cut window is not bound to 3d viewer widget 2022-02-13 19:33:19 +01:00
marioalexis
fc6e870a67 Part: Move Part_SectionCut command to Part menu item list 2022-02-08 12:09:09 +01:00
Uwe
bb204842f2 [Part] feature to make persistent section cut views (#4118)
* [Part] feature to make persistent section cut views

* one aim is to have a feature to make real cuts, not hollow ones like with clipping
* the second one is to have a persistent view, so an object in the tree that can be further exported, meshed etc.

For a detailed description with examples see https://forum.freecadweb.org/viewtopic.php?f=17&t=52441
2022-02-05 01:57:57 +01:00
Uwe
4c2dc83202 [Part] sort includes
to keep the overview and to reduce diff of a pending PR

also uniform the include path specification
2022-02-01 02:51:41 +01:00
bitacovir
9e1d7653b8 Add SVG icons for two Part commands 2021-01-19 19:26:10 +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
f81c1cd31f Part: make changing face colors independent of edit-mode implementation of a view provider 2020-10-13 14:16:01 +02:00
vocx-fc
048da48080 Part: activate Part_ColorPerFace in the menu and toolbar
According to the source this command was deactivated until issue #0477
and hence #1954 could be solved. However, since those issues
haven't been addressed the command has remained hidden for a long time.
This command does not work with objects that reimplement
their edit modes, meaning that it may work with Part and PartDesign
created objects but not with Draft and Arch objects.

The command is added to the standard `View` menu,
and to one `Part tools` toolbar so that it is no longer hidden.
The limitations of the command can be described in the documentation,
and then somebody else can help solve the problem
with the edit modes.

A new icon for the command is also provided.
2020-10-13 12:59:16 +02:00
vocx-fc
d54cdff9e5 Part: improve tooltip of measure commands
Also update the text of the buttons in the `TaskDimension` task panel.

Remove tabs in the source code, as there was a mix of tabs
and spaces. Further cleaning is necessary as the indentation
is inconsistent and mostly 2 spaces instead of 4 spaces.
2020-10-13 12:50:50 +02:00
vocx-fc
5a07d7dd46 Part: update icon for ProjectionOnSurface
The previous icon was improperly trimmed. The new icon
shows the projection more clearly as one object imprinting itself
over another.

Also update the tooltip, fix the indentation of the code,
and the title of the taskpanel `DlgProjectionOnSurface.ui`.
2020-10-12 19:54:11 +02:00
vocx-fc
9177eae0bb Part: move icons to measure subdirectory
The path to the icons is added to `AppPartGui.cpp`
using `Gui::BitmapFactory().addPath()`, so the icons are found
automatically in their new directories.
2020-10-12 19:54:11 +02:00
vocx-fc
2fa40f4060 Part: move icons to create subdirectory
The path to the icons is added to `AppPartGui.cpp`
using `Gui::BitmapFactory().addPath()`, so the icons are found
automatically in their new directories.

Rename icon `Part_CreatePrimitives.svg` to `Part_Primitives.svg`.
2020-10-12 19:54:11 +02:00
bitacovir
1a7fd88bc3 Add SVG icon for Part Reverse Shape command
Part Reverse Shape command does not have icon for the FreeCAD UI (Part WB).

This commit adds SVG file with icon for this command. Also, it makes the necessary changes on Command.cpp and Part.qrc files.

The new SVG icon follows the FreeCAD Artwork Guidelines and were saved as Plain SVG format.

The icon designs keep the style of the existing icons in the Part Workbench:
https://wiki.freecadweb.org/Part_Module

The discussion with the request can be found in the UX/UI Design FreeCAD Forum:
https://forum.freecadweb.org/viewtopic.php?f=34&t=44278&hilit=bitacovir
2020-09-13 10:01:50 +02:00
vocx-fc
9c20a1f6be Part: rename to uppercase, Part_ProjectionOnSurface
For consistency with all other commands that start with capital letter.
2020-08-17 16:32:28 +02:00
wmayer
f0e246f86d Part: [skip ci] copy visual attributes of reversed shape 2020-05-15 19:26:24 +02:00
Zheng, Lei
428c9005ac Part: fix various commands on selection detection 2020-02-05 11:07:40 +01:00
wmayer
4142fb90f1 Part: make reverse function parametric 2020-01-29 16:43:35 +01:00
wmayer
9270322d25 Mod: [skip ci] implementation classes don't inherit from UI classes any more 2020-01-10 16:19:35 +01:00
luz.paz
53bb216b57 Part: [skip ci] fix header uniformity
This PR fixes header uniformity across all Part WB files
2019-12-22 00:59:47 +01: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
5de6763ed5 add escape sequence when executing as Python string 2019-09-28 23:35:08 +02: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
Zheng, Lei
6da72b9859 Part: changes to Part Module
* Added Part::Feature::getTopoShape/getShape() function that can obtain
  shape from any object with proper implementation of getSubObject(). It
  can even construct compound from group object with proper implementation
  of getSubObjects().

* Modified ViewProviderExt to work on any object, because it now obtain
  the shape using Part::Feature::getShape()

* Modified various Part features to obtain base/tool shapes using
  Part::getShape(), which allows them to be any type of object,
  including Link and groups.

* Modified various Part command to relax type requirement on selected
  objects.

* Add support of link and group to dimension, and add dimension refresh
  command

* Support link and group in simple command command, and add a few more
  copy command variations.

* Add special handling of 'Shape' attribute in PropertyContainerPy and
  use Part::Feature::getShape() to return shape for any object without
  Shape property. This allows many python feature work with any object
  without modification.

* GeometrySurface/CurvePy, add convenience attribute 'Rotation'

* TopoShapePy:

    * Extended support of sub shape attribute, e.g. Compound1, Solid2,
      SubShape3 ('SubShape' is used to access child shape of a compound)

    * makeWires(), new API to sort and return wires given a list of edges.

    * transformed/translated/rotated/scaled(), return a new shape with
      some transformation.

    * findPlane(), find the plane of a planar shape

    * isCoplanar(), check if two shape are coplanar
2019-08-17 15:08:35 +02:00
wmayer
b60a736c0d fixes 0004010: Box Selection + Part -> MakeCompound will crash FreeCAD 2019-06-12 11:20:48 +02:00
easyw
6f2a611b66 Adding Part_BoxSelection.svg icon to Part Menu 2019-05-23 14:51:42 -04:00
MA-DEVELOP\apeltauer
1c5ee376e6 add new feature "Projection on surface" 2019-03-22 17:18:09 +01:00
MA-DEVELOP\apeltauer
d3351496d9 first working ui 2019-03-22 17:18:09 +01:00
triplus
43b081947f Improved icon themes support 2019-02-13 10:42:46 -02:00