Commit Graph

5438 Commits

Author SHA1 Message Date
Stefan Tröger
483e64f368 remove unneeded orig files 2016-04-12 19:10:19 +02:00
Stefan Tröger
4119bb7adc Fix compilation issue in Attacher code 2016-04-12 18:12:24 +02:00
Stefan Tröger
cd2da9fe6d Fix test cases by adopting to new behavior
Pad now does not have a Sketch property anymore but a profile property. Also due to changes in PropertyLinkSubList it ispossible that PropertyLinks get an empty list assigned, this must be supportet now.
2016-04-12 18:12:24 +02:00
Stefan Tröger
788035b80e Part: Recalculate tessellation when requested 2016-04-12 18:12:23 +02:00
Stefan Tröger
5f45bcbc94 PartDesign: Fix body command 2016-04-12 18:12:23 +02:00
Stefan Tröger
8b0d53358a PartDesign: Adopt primitive preview
The preview was developed when the "one feature only" visibility rule was not yet introduced. This commit maks it work again.
2016-04-12 18:12:23 +02:00
Stefan Tröger
6bf31e841e PartDesign: Fix attachment external references 2016-04-12 18:12:23 +02:00
Stefan Tröger
306611e8f8 Fix rebase error 2016-04-12 18:12:23 +02:00
Stefan Tröger
036d0691dd Fix Windows build errors 2016-04-12 18:12:23 +02:00
Stefan Tröger
e9b9d285ac PartDesign: Unify datum and shapebuilder visuals 2016-04-12 18:12:23 +02:00
Stefan Tröger
666a5968cb Override mode works with non-toplevel viewprovider
And adopt the part design body to handle the override mode correctly
2016-04-12 18:12:23 +02:00
Stefan Tröger
048c374080 PartDesign: body is responsible for visuals
-Hide all visual properties of features when they are part of a body
-Propagate all body visual changes to features
-Separate display mode from body mode to enable setting display mode for both "tip" and "through" modes
-Use default visuals for body shape and only make "through" a new display mask mode for the children
2016-04-12 18:12:23 +02:00
Stefan Tröger
03b08a311c Fix sketch positioning with part and body 2016-04-12 18:12:23 +02:00
Stefan Tröger
d7e52f11a7 PartDesign: Fix context menus 2016-04-12 18:12:23 +02:00
Stefan Tröger
64de3b64e1 PartDesign: prevent claiming features 2016-04-12 18:12:23 +02:00
Stefan Tröger
90debce159 Fix rebase error 2016-04-12 18:12:23 +02:00
Stefan Tröger
3b27def228 PartDesign: prevent crash on delete and add body 2016-04-12 18:12:23 +02:00
Stefan Tröger
e7d8a1a9a4 Remove ShapeBinder2D
As profile based features can work with faces and wires now ShapeBinder can do everything that needed ShapeBinder2D before.
2016-04-12 18:12:23 +02:00
Stefan Tröger
2b0e6883c3 Fix workflow manager crash on windows 2016-04-12 18:12:23 +02:00
Stefan Tröger
4ec7fe6303 PartDesign: Adopt pattern to face based features 2016-04-12 18:12:22 +02:00
Stefan Tröger
f712f5e4ac PartDesign: Modeling features work with faces
-Rename Sketchbased to ProfileBased to show new behavior
-Adopt ProfileBased to make the relevant helper functions work with faces too
-Adopt features for unified use of helper functions
-Adopt commands to allow face selection
2016-04-12 18:12:22 +02:00
Stefan Tröger
7dea66872e Datums not selectable during edit 2016-04-12 18:12:22 +02:00
Stefan Tröger
5002e8e430 Fix crash on aborted pattern external axis 2016-04-12 18:12:22 +02:00
Stefan Tröger
7d30833349 PartDesign: Adopt to new property status bits 2016-04-12 18:12:22 +02:00
Stefan Tröger
a6c8f38cf0 no body allowed as body base feature 2016-04-12 18:12:22 +02:00
Stefan Tröger
7cd20adc9a ShapeBinder: fix Null shape on recompute for copy 2016-04-12 18:12:22 +02:00
Stefan Tröger
e88b042a26 Fix shape binder placement
-- hidden for user
-- inherited by linked part
2016-04-12 18:12:22 +02:00
Stefan Tröger
4164f8fc4c Ensure only a single PartDesign feature is visible 2016-04-12 18:12:22 +02:00
Stefan Tröger
24bdc173f7 PartDesign mirror must work with base planes 2016-04-12 18:12:22 +02:00
Stefan Tröger
99ef8e756d Fix transform feature crash on apply
-Redundant "reset edit" and command commit removed
-Redundant apply call removed
2016-04-12 18:12:22 +02:00
Stefan Tröger
16433939e1 Add missing files 2016-04-12 18:12:22 +02:00
Stefan Tröger
c0b2568091 fix reference selection of origin features 2016-04-12 18:12:22 +02:00
Stefan Tröger
4be81b01e4 Handle external references for revolution et all
The reference selection, used in multiple part design features, treated body external references not corectly.
2016-04-12 18:12:22 +02:00
Stefan Tröger
3792f38191 Fix shutdown crash with primitives in the document
and cleanup the header
2016-04-12 18:12:22 +02:00
Stefan Tröger
4d12023f17 Prevent dressup crash due to multi command commit
the same functionality is provided by upstream accept functions
2016-04-12 18:12:21 +02:00
Stefan Tröger
28965457aa Active view may not be 3d viewer
When for example the spreadsheet is open and an recompute is issued, the active view is not the 3d viewer which leads to crash if used for scene graph calculations.
2016-04-12 18:12:21 +02:00
Alexander Golubev
d43525370c PartDesignGui: small rework to sketch-based task parameters
This done mostly for thurther unification them with other task
parameters/dialogs.
2016-04-12 18:12:21 +02:00
Alexander Golubev
96486cc4ed PartDesign/App: a small fix to offset constraint syntax for Pad and Pocket 2016-04-12 18:12:21 +02:00
Alexander Golubev
6b75141514 Suppress a couple more warnings 2016-04-12 18:12:21 +02:00
Alexander Golubev
0cfc0cd424 Fix warnings introduced in new PartDesign
Mostly unused wariables and compare of signed & unsigned
2016-04-12 18:12:21 +02:00
DeepSOIC
81015b3f44 Fix problems with unlimited external geometry
Caused by recent changes by abdullah, which assumes there is external
geometry only if sketch has support.
http://forum.freecadweb.org/viewtopic.php?f=3&t=12746&p=102087#p102087
2016-04-12 18:12:21 +02:00
Stefan Tröger
e675c43ddf Simplify the feature pick dialog
less options are easier to grasp for the user
2016-04-12 18:12:21 +02:00
Stefan Tröger
005c3db946 fix sketch classification for other body
hasObject does search recursive only in groups, but a body is not a group. Hence for sketches within a body this will always return false. Annother logic must be used to detect sketches in bodies.
2016-04-12 18:12:21 +02:00
Stefan Tröger
80fe971b55 fix sketch selection in part design
validateSketch was faulty: as every sketch is valid (non is removed) it could happen that the returned number was >0 but the iterator firstValidSketch was NULL nontheless. The routine needed to be udated to make snese and the usage in prepareSketchbased together with it.
2016-04-12 18:12:21 +02:00
Stefan Tröger
76c8cb3b69 add only a single reference copy 2016-04-12 18:12:21 +02:00
Stefan Tröger
2ab25ea414 Fix incorrect ShapeBinder recalculation 2016-04-12 18:12:21 +02:00
Stefan Tröger
4ed0302404 Ensure correct sketch placement calculation
As bodies are movable now they need to be taken into account for calculating the sketch placement.
2016-04-12 18:12:21 +02:00
Stefan Tröger
ef2437bb5c Fix sketch on face of other body or part
The shapebinder object reduces the number of faces to 1, hence the subshape to select is always Face1 and not the original face name
2016-04-12 18:12:21 +02:00
Stefan Tröger
e7a96ac26f fix body booleans 2016-04-12 18:12:20 +02:00
Stefan Tröger
585e4cebb5 PartDesign/Gui: minor fix sWhatsThis of text 2016-04-12 18:12:20 +02:00
Stefan Tröger
2ff2d29f02 Fix crossreference handling 2016-04-12 18:12:20 +02:00
Stefan Tröger
83eedba043 crossreferences only with ctrl button and fix missing return value 2016-04-12 18:12:20 +02:00
DeepSOIC
e2f70e5e5b Sketcher: when refusing to link external, print why (in statusbar) 2016-04-12 18:12:20 +02:00
DeepSOIC
3df305cc4e Sketcher: allow referencing everything; add testing for circular references 2016-04-12 18:12:20 +02:00
Stefan Tröger
5725dd7721 handle independent copies more gracefully 2016-04-12 18:12:20 +02:00
Stefan Tröger
3bd09ea570 change point of reference feedback for datums
On datum creation it is better to ask the user on OK than on tool activation, as he might hit cancel (and then the created references are till there) or even more important, he could add additional external references within the dialog. The disadvantae is that if the user sets "cross reference" ge gets asked again every time he opens and leaves the dialog.
2016-04-12 18:12:20 +02:00
Alexander Golubev
1f3d2df4d5 PartDesign/Body: add ability to store facebinders inside a body 2016-04-12 18:12:20 +02:00
Stefan Tröger
d5e035741a ask user if he creates inter part/body references 2016-04-12 18:12:20 +02:00
Stefan Tröger
655bf961be add task for datum shape features 2016-04-12 18:12:19 +02:00
Stefan Tröger
34541dea2f PartDesign/Plane: several enhancements to plane icon 2016-04-12 18:12:19 +02:00
Stefan Tröger
e58ae2b616 Setup ShapeBinder Viewprovider and command 2016-04-12 18:12:19 +02:00
Stefan Tröger
811ccc410c PartDesign: Reorder datum commands 2016-04-12 18:12:19 +02:00
Stefan Tröger
9969aac671 fix dependent copy references
to make them work with sketches an additional Part2DObject reference needed to be created
2016-04-12 18:12:19 +02:00
Alexander Golubev
36fbf73011 PartDesign/TaskLoftParameters: Added UpdateView checkbox +cleanup 2016-04-12 18:12:19 +02:00
Alexander Golubev
efef23d8e2 PartDesign/Gui: prevent Task*PatternParameters not crash on non sketchBased features 2016-04-12 18:12:19 +02:00
Alexander Golubev
aa7d054d47 PartDesign/TaskLoftParameters: removed unused hidden widgets 2016-04-12 18:12:19 +02:00
Alexander Golubev
0ff24fd618 Part/Gui: remove ViewProviderPart::onDelete which handled unnecessary body housekeaping
Also do some headers cleanup
2016-04-12 18:12:19 +02:00
Alexander Golubev
ba57a843ad PartDesign/ViewProviderBody: reduce number of recalculations in the body 2016-04-12 18:12:19 +02:00
Alexander Golubev
3be2f99b52 PartDesign/Gui: rework of ViewProviderDatumCS 2016-04-12 18:12:19 +02:00
Alexander Golubev
fa29bfa667 PartDesign/ViewProviderDatum: minor enhancements
- added defaultSize constant
 - fixed typo in margin{g,}Factor function name
2016-04-12 18:12:19 +02:00
Alexander Golubev
d4c67c0366 GeoFeaturertDesign/Gui: Add recompute sizes and datums to the body vp 2016-04-12 18:12:19 +02:00
Alexander Golubev
bceec93a92 PartDesign/Gui: rework ViewProviderDatumPlane 2016-04-12 18:12:19 +02:00
Alexander Golubev
7ac1ab6a6d PartDesign/Gui: make Datums use general material interface
- Make Datums colorable and transparent
 - Change default datums color to yellow and transparency to 60%
 - Rework Lines and Points datum view provider
 - Add ViewProviderDatum::defaultBoundBox()
2016-04-12 18:12:19 +02:00
Alexander Golubev
118f1cec6a PartDesign/App: cleanup datum's classes and headers 2016-04-12 18:12:19 +02:00
Alexander Golubev
04f3ae0605 PartDesign/CommandBody: a minor fix in MoveTip command 2016-04-12 18:12:19 +02:00
Alexander Golubev
26fb01b429 PartDesign/Gui: add origin sizing and rework datums sizing 2016-04-12 18:12:18 +02:00
Alexander Golubev
1a26f7551f PartDesign: add Origin to the Body and unstrap the module from the Parts 2016-04-12 18:12:18 +02:00
Alexander Golubev
2c2d155ee9 OriginGroup: add new abstraction layer between the Part and the GeoFeatureGroup 2016-04-12 18:12:18 +02:00
Alexander Golubev
8bca27463e Part/Attacher: remove a couple of no more valid asserts 2016-04-12 18:12:18 +02:00
Alexander Golubev
797d6d3a11 App/Origin: big refactoring
- Rebase App::Origin on App::DocumentObject
 - Keep all control over the Origin structure inside the Origin and it's
   ViewProvider
 - Add OriginFeature class as common base for App::Plane and App::Line
 - Rebase App::Plane and App::Line on top of newly created class and
   move to the file.
 - Change Origin's ViewProvider API associated with temporary display
 - Lots of associated changes to files
 - Several minor fixes
 - Lots of new bugs
2016-04-12 18:12:18 +02:00
Alexander Golubev
c6797b6c29 Revert "part deletion handling"
This reverts commit 6ab2002021ac1df26ebe77f488f5cd94e1df0b26.
2016-04-12 18:12:17 +02:00
Alexander Golubev
76b4685b5f Commented out a portion of code cosed a segfault 2016-04-12 18:12:17 +02:00
Alexander Golubev
5016054a8b PartDesign/Body: move deletion of subobjects to view provider 2016-04-12 18:12:17 +02:00
Alexander Golubev
abc925b62e PartDesign/Gui: Make partDesign's add sketch command Workflow-aware 2016-04-12 18:12:17 +02:00
Alexander Golubev
492f1d24a4 PartDesign/Gui: initial migration command implementation 2016-04-12 18:12:17 +02:00
Alexander Golubev
c4f094bba4 PartDesign/Gui: rename some fonctions in ReferenceSelection.cpp
e.g. getPythonStr -> buildLinkListPythonStr etc
2016-04-12 18:12:17 +02:00
Alexander Golubev
f9e67626ec PartDesign/Body: remowe Part::Feature from isAllowed() 2016-04-12 18:12:17 +02:00
Alexander Golubev
c388a84424 PartDisign/WorkflowManager: initial implementation 2016-04-12 18:12:17 +02:00
Alexander Golubev
8a2d4289f6 PartDesign/FeaturePrimitive: suppress a -Woverloaded-virtual warning 2016-04-12 18:12:17 +02:00
Alexander Golubev
c782a11aab PartDesign/Gui: Move various utility stuff from Workbench to a separate file
Also do some header cleanup.
2016-04-12 18:12:17 +02:00
Alexander Golubev
a5fcd5775e PartDesign: update body management commands according to the changes in body paradigms 2016-04-12 18:12:16 +02:00
Alexander Golubev
8b62680fe7 Sketcher: minor enhance in sketch interaction with body 2016-04-12 18:12:16 +02:00
Alexander Golubev
bf94c3ebf7 PartDesign: fix negative Offset property in pad and pocket 2016-04-12 18:12:16 +02:00
Alexander Golubev
444986e88a PartDesign/Gui: move body commands to a separate file 2016-04-12 18:12:16 +02:00
Alexander Golubev
8c5d514b18 PartDesign: Body rework - add BaseFeature property and make Tip always point to solid 2016-04-12 18:12:16 +02:00
Alexander Golubev
e3c00ce650 PartDesign/ViewProviderPad: removed a TODO 2016-04-12 18:12:16 +02:00
Alexander Golubev
1b1bd5f17e PartDesign/Gui: make Transformed ViewProviders use common code with other 2016-04-12 18:12:16 +02:00
Alexander Golubev
9cba6c48ea PartDesign/TaskMultiTransformParameters: fix a segfault
The segfault was caused by premature delete of object
TaskMultiTransformParameter::subFeature refered to.
Steps to reproduce:
1. Create a multitransform
2. Add a sub transfurmation to it
3. Press cancel
2016-04-12 18:12:16 +02:00
Alexander Golubev
113c10a2b7 PartDesign: make transform parameter dialogs use common base code with other dialogs
subj;
Make PasrtDesign::Transformed provide common for all features
classes interface getBaseObject() instead of specific getSupportObject ();
Refactor some TransformedParameters methods.
2016-04-12 18:12:16 +02:00
Alexander Golubev
e6a99ce96f PartDesign/Workbench: fix a crash 2016-04-12 18:12:16 +02:00