Commit Graph

614 Commits

Author SHA1 Message Date
Zheng, Lei
f028ba42ff 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
Zheng, Lei
5214f5b7ce Gui: add coinRemoveAllChildren to work around Coin3D bug
See bug description:
https://bitbucket.org/Coin3D/coin/pull-requests/119/fix-sochildlist-auditing/diff

Because of path based rendering (SoFCPathAnnotation) in mouse over
highlight, this bug causes crash more frequently here comparing to
upstream.

All C++ calling of SoGroup::removeAllChildren() is replaced by
Gui::coinRemoveAllChildren(), and python code is fixed by monkey
patching SoGroup.removeAllChildren() in FreeCADGuiInit.py.
2019-08-17 14:52:11 +02:00
Zheng, Lei
c9ba972d26 Gui: add support of selection context
The patch implements context-aware selection and rendering in 3D view.

Please check [here](https://git.io/fjiY5) for more details, including
the following 'Render Caching' section.

The patch also includes modification of View3DInventorViewer to support
always-on-top selection rendering using the secondary selection context
and the new coin node SoFCPathAnnotation.

Another small change in SoQtQuarterAdaptor for more responsive frame
rate display. The original implementation reports skewed frame rate
in the presence of long idle period.
2019-08-17 14:52:10 +02:00
donovaly
7a5fe3e606 DlgSettingsGeneral.ui: hide unused option from dialog 2019-08-02 17:39:48 +02:00
donovaly
927a83a794 TaskAttacher.ui: clarification and add tooltip 2019-07-21 18:59:03 +02:00
donovaly
9a594a8994 add missing tooltips for part import/export 2019-07-16 13:23:40 +02:00
wmayer
1b0d03e4ab Parametric refinement feature 2019-07-08 14:37:00 +02:00
mwganson
6a1eb75373 TaskCheckGeometry -- log geometry check errors to report view 2019-06-26 12:13:23 +02:00
mwganson
b837ba0c61 TaskCheckGeometry settings panel with runBOPCheck option 2019-06-26 12:02:43 +02:00
Abdullah Tahiri
3c2dad7f6b ViewProviderAttachExtension: check for attach extension 2019-06-23 01:03:37 +02:00
Abdullah Tahiri
18a5ff2bf5 Part Gui: Update attachment icon on attach extension change 2019-06-23 01:03:36 +02:00
Abdullah Tahiri
dd841c9810 Part Gui: New ViewProvider extension for overlaying icons related to Part::AttachExtension 2019-06-23 01:03:36 +02:00
Yorik van Havre
ed8be15ef4 Merged translations from crowdin 2019-06-17 20:06:59 -03: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
wmayer
1d5ae156e2 issue 0003986: Changing view attributes does not trigger 'File changed' status 2019-05-26 18:09:41 +02:00
easyw
2cb916c245 Adding Part_BoxSelection.svg icon to Part Menu 2019-05-23 14:51:42 -04:00
easyw
977272e4d4 adding Part_BoxSelection.svg icon 2019-05-21 07:12:57 -04:00
easyw
2c77dec0df adding Part_BoxSelection icon 2019-05-21 07:12:57 -04:00
wmayer
d86c4caa19 fix Part build failure 2019-05-16 12:46:03 +02:00
Abdullah Tahiri
1179262451 PCH: Enable PartGui PCH 2019-05-16 12:46:03 +02:00
Yorik van Havre
2d47993780 Merged latest translations from crowdin 2019-05-10 19:19:37 -03:00
Abdullah Tahiri
7ea21c84c3 PCH: Part GUI 2019-05-03 23:15:25 +02:00
wmayer
23eb2bd51f make colors of measurements customizable 2019-04-05 13:33:29 +02:00
luz.paz
06d583b425 Misc typos and whitespace fixes
Found via `codespell -q 3 -I ../fc-word-whitelist.txt -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*`
2019-03-31 11:42:36 +02:00
joha2
a06fa02e73 MeshToSolid: progress indicator and slightly modified sewing tolerance dialog 2019-03-31 11:30:03 +02:00
wmayer
218e174f24 fix handling of OCC exceptions, fix -Wunused-but-set-variable, fix -Wunused-parameter 2019-03-24 02:17:54 +01:00
wmayer
36849ffaf3 Improve project on surface dialog:
make function undo/redoable
work on document that was active when the dialog was opened
handle case when object or document is deleted while dialog is open
2019-03-22 17:18:12 +01:00
MA-DEVELOP\apeltauer
ef10c73782 transform sub shapes to global position 2019-03-22 17:18:12 +01:00
MA-DEVELOP\apeltauer
91e871d5cc improve creating the edges/wire in parametric space 2019-03-22 17:18:11 +01:00
MA-DEVELOP\apeltauer
4fcf8c1efb make a face copy 2019-03-22 17:18:11 +01:00
MA-DEVELOP\apeltauer
9e65f4c169 make a explicit copy 2019-03-22 17:18:11 +01:00
MA-DEVELOP\apeltauer
657656dee6 imrove the projection algorithm 2019-03-22 17:18:11 +01:00
apeltauer
f747d1cb46 Change the vector type to non const
I dont know why this fails on linux. On windows this works....
2019-03-22 17:18:10 +01:00
apeltauer
4f08bb5c76 add gp_dir include 2019-03-22 17:18:10 +01:00
MA-DEVELOP\apeltauer
0efd3a8811 add new feature "Projection on surface" 2019-03-22 17:18:09 +01:00
MA-DEVELOP\apeltauer
f4971d723f first working ui 2019-03-22 17:18:09 +01:00
donovaly
b6e21be657 fix issue 0003885
Corrects wrong tooltips, fixes https://freecadweb.org/tracker/view.php?id=3885
2019-03-20 09:25:53 -03:00
Craig Marshall
3a19456672 Fix #2034 with more precision attempt 2 2019-03-14 23:16:14 +01:00
wmayer
ba96c0773a PVS: V688 A local variable possesses the same name as one of the class members, which can result in a confusion 2019-03-13 11:58:43 +01:00
wmayer
7e482a5002 PVS: V730 Not all members of a class are initialized inside the constructor 2019-03-12 18:33:25 +01:00
Craig Marshall
b8db3c5fd9 Fixes Bug 2034. Made Part dimensional arrows proportional to line length and radius 2019-03-12 10:38:07 -03:00
wmayer
43055f4613 fixes 0003894: Part Thickness dialog thickness field not Expressions enabled 2019-03-12 01:04:24 +01:00
wmayer
251d1a18b2 fixes FreeCAD segfaults when pressing 'Clear All' in Measure tasks dialogue with no opened document 2019-03-10 12:27:20 +01:00
Yorik van Havre
a3607ce029 Updated translations 2019-03-06 21:50:08 -03:00
Yorik van Havre
512af24397 Revert "Merged crowdin translations" for investigation due to some problems found in the translation files...
This reverts commit cd433358b09117f234dd0a51dc2a6bfa05428867.
2019-03-02 19:17:44 -03:00
Yorik van Havre
bd93bd2494 Merged crowdin translations 2019-02-28 21:53:37 -03:00
wmayer
58bcee0e04 PVS: V595 The pointer was utilized before it was verified against nullptr 2019-02-17 20:55:52 +01:00
wmayer
e23db2e313 PVS: V773 A memory leak is possible 2019-02-17 18:40:06 +01:00
wmayer
aae7cfb8e2 issue 0003832: Editing thickness in Part or PartDesign resets join type to always being Arc 2019-02-16 16:30:46 +01:00