Commit Graph

662 Commits

Author SHA1 Message Date
wmayer
e9662984e7 Part: make reverse function parametric 2020-01-29 16:43:35 +01:00
MA-LAPTOP\apeltauer
7a8ac5bc49 make some header include adoption for open cascade 7.4.0 2020-01-27 10:15:32 +01:00
0penBrain
43b9900964 Fix XPM height of 'Not attached' overlay icon 2020-01-27 10:06:03 +01:00
wmayer
0a5028f181 issue #0004188: Editing a subtractive box in PartDesign doesn't show the shaded box 2020-01-15 10:00:47 +01:00
wmayer
798edb8a55 fixes #0004188: Editing a subtractive box in PartDesign doesn't show the shaded box 2020-01-15 01:33:28 +01:00
Zheng, Lei
7e4969f329 Gui: fix screentshot 2020-01-14 15:59:38 +01:00
donovaly
723c1025dc make clear that is is the local coordinate system 2020-01-14 12:56:46 +01:00
donovaly
cb86e5dea6 [proposal] rename rotation angles
proposal for this discussion: https://forum.freecadweb.org/viewtopic.php?p=359619#p359482
2020-01-14 12:56:46 +01:00
Zheng, Lei
12965165a6 Gui: fix screenshot 2020-01-12 18:50:37 +01:00
wmayer
e578e8f849 implementation classes don't inherit from UI classes 2020-01-12 10:32:34 +01:00
wmayer
134863a4ef Gui: [skip ci] rename Location classes 2020-01-10 21:19:36 +01:00
wmayer
8fdb29c842 Mod: [skip ci] implementation classes don't inherit from UI classes any more 2020-01-10 16:19:35 +01:00
wmayer
d8d44f37cb [skip ci] fix superfluous workarounds 2020-01-09 23:36:28 +01:00
wmayer
18a116874d Gui: [skip ci] avoid weird acronyms in function names 2020-01-09 17:28:31 +01:00
donovaly
d7278f8fd0 Attachment dialog improvements
- explicitly set the tooltips since the one in the .ui file were not taken for QuantitySpinBoxes (workaround for bug https://freecadweb.org/tracker/view.php?id=4059)
- uniform the height of all LineEdits in the TaskAttachmentEditor.ui (the 3 angles were higher than the 3 movements)
2020-01-08 15:21:37 +01:00
donovaly
8ed05f8a63 sort angles in the attacher dialog
- now the angles are sorted x-y-z
- added tooltips to clarify what e.g. the rotation axis of the yaw angle means (not only important for non-native speakers)
2020-01-07 07:40:11 -03:00
luz.paz
17ada69518 Part: [skip ci] fix header uniformity
This PR fixes header uniformity across all Part WB files
2019-12-22 00:59:47 +01:00
asapelkin
ced8100ab9 use emplace_back instead of push_back where justified 2019-11-21 14:48:09 +01:00
Zheng, Lei
927bec9e96 Part: reduce memory usage in SoBrepFaceSet
Can we further reduce it to num_triangles = num_indices/4*3?
2019-11-21 11:58:44 +01:00
howetuft
f1e3b7a166 Fix -Wredundant-move warnings, 2nd try
std::move is redundant when it is used to return a local object from a function (eg return std::move(local)): indeed, returning a local object from a function implicitly moves it. Moreover using std::move this way
See https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rf-return-move-local
However, in order to avoid -Wreturn-std-move as well, a Base object is move-constructed
from Derived when required.
2019-11-18 13:44:40 +01:00
wmayer
f50dc8e652 [skip ci] fix more -Wgnu-zero-variadic-macro-arguments 2019-11-17 15:14:18 +01:00
luz.paz
30a717beac Fix typos and misc. formatting [skip ci]
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-21 16:02:23 -03:00
Zheng, Lei
50102918d3 Part: add missing API ViewProviderPartExt::getElementColors()
This API is defined in Gui::ViewProvider to allow color override in
Link. In particular, the implementation in PartGui::ViewProviderPartExt
allows override for various part shapes.
2019-10-08 10:22:17 +02:00
Zheng, Lei
bb3baefdb5 Gui: refactor bounding box selection style
Previously, box style selection is rendered using customized
SoBoxSelectionRenderAction, which does not support selection context,
i.e. it does not work with Link.

This patch implements context aware bound box rendering inside
SoFCSelectionRoot, SoFCSelection and SoFCPathAnnotation (for always on
top rendering). The box rendering in SoBoxSelectionRenderAction is
disabled on construction. Box style selection can be enabled for
individual object through property SelectionStyle (moved from
ViewProviderGeometryObject to ViewProviderDocumentObject), or globally
through Parameter BaseApp/Preferences/View/ShowSelectionBoundingBox.

In addition, the parameter BaseApp/Preferences/View/UseNewSelection is
used to override selection model reported from
ViewProvider::useNewSelectionModel(). The reason being that, the same
parameter is already used to toggle selection model inside
SoFCSelection. This avoids inconsistency of selection model choice
between view provider and the SoFCSelection node inside. Note that if
the parameter 'UseNewSelection' is set to false, those view providers
that choose old selection model will not work with Link.
2019-10-08 09:56:09 +02:00
Zheng, Lei
2df3052ecf Gui: add new API ViewProviderDocumentObject::allowOverride()
This API is used to delcare if a view provider can be used as an
override for a give object.

Conflicts:
	src/App/DocumentObject.h
2019-10-06 17:22:57 +02:00
vocx-fc
7305343e10 Part: deactivate and remove the remaining XPM icons, and use SVG icons instead 2019-10-06 17:05:30 +02:00
vocx-fc
3d36e7d5e1 Part: rename the icons to start with Part_ 2019-10-06 17:05:30 +02:00
vocx-fc
30a722777b Part: new icon for Part::Part2DObject, in SVG, instead of using a generic XPM 2019-10-05 17:24:57 +02:00
vocx-fc
5421ef24e5 Part: re-order the resources in Part.qrc, and removed the PNGs 2019-10-05 17:24:57 +02:00
luz.paz
fb32601746 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
8c97f81877 add escape sequence when executing as Python string 2019-09-28 23:35:08 +02:00
wmayer
6a1bfc0ab2 fix -Wpedantic 2019-09-18 18:48:01 +02:00
wmayer
e48c52c480 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
wmayer
0e2ee0bb22 fix MSVC compiler warning 2019-09-14 12:15:35 +02:00
wmayer
d05ae18340 fix -Wreturn-std-move 2019-09-07 15:19:28 +02:00
DeepSOIC
ec7c18bef3 Gui: add tags for TempoVis
Tags can be used to identify TV instances in the stack.  This is mostly for add-ons, for Part-o-magic in particular, who may want to insert some visibility automation in specific places in the stack.
2019-09-04 11:37:48 -03:00
mwganson
a0316e9400 [Geometry check] open settings page first before running check, add 2 new navigation buttons: settings and results, allow to collapse results box 2019-09-03 17:37:48 +02:00
mwganson
dc86201bb0 [GeometryCheck] add new settings options 2019-09-03 17:37:34 +02:00
Zheng, Lei
405ec26e3a Part: fix missing signal disconnect in TaskFaceColors 2019-08-30 15:47:17 +02:00
Zheng, Lei
b78761cf3c Part: fix VBO update on multiple gl context
Multiple OpenGL context is caused by linking some shape object from
external documents. The VBO update must be triggered for all contexts.
2019-08-30 14:55:14 +02:00
Zheng, Lei
e196d33549 Part: fix TaskAttacher external editing 2019-08-30 14:53:50 +02:00
Zheng, Lei
f362229041 Part: avoid touching in ViewProviderAttachExtension mergeOverlayIcons
ViewProviderAttachExtension::extensionMergeOverlayIcons() calls
AttachExtension::positionBySupport() which will always touch the
extended object. This may cause recomputation problems, e.g a datum
that is always touched, because normal recomputation trigger tree
view update by a timer, tree view refreshes the icon, datum gets
touched again.
2019-08-30 14:46:38 +02:00
mwganson
663c975aa0 [Part workbench] add command create points object from mesh 2019-08-27 23:40:24 +02:00
Mark Ganson TheMarkster
25041288b1 Update Part.qrc 2019-08-27 23:40:15 +02:00
mwganson
6be089b006 [Part workbench] add Create points object from mesh command 2019-08-27 23:40:06 +02:00
wmayer
7f4378a87e Fix clang compiler warnings:
+ fix -Winconsistent-missing-override
+ fix -Wpessimizing-move (Geometry::clone: moving a temporary object prevents copy elision -> remove std::move call here)
2019-08-17 19:52:32 +02:00
luz.paz
b869b6e29e Fix typos in various src/Mod directories 2019-08-17 15:32:49 +02:00
Zheng, Lei
a460fdc8b6 Import: add new implementation of STEP importer/exporter
For better supporting Link and groups. The original implementation can
still be used by uncheck the STEP import setting 'Use Link Group'.
2019-08-17 15:15:47 +02:00
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