Commit Graph

1218 Commits

Author SHA1 Message Date
DeepSOIC
71f70eb855 AttachEngine: fix crash when referenced objects get deleted
... by verifying if the pointers equal to objects contained in all open
documents. Not terribly good, but I can't think of a situation where
doing this search might cause trouble.
2016-05-14 02:14:51 +03:00
DeepSOIC
2d8a7614c5 Attacher: Py: fix docu strings 2016-05-14 00:50:30 +03:00
DeepSOIC
98a472b18d Attacher: Py: renames
AttachEngine attributes and methods:
getShapeType -> getRefTypeOfShape
isShapeOfType -> isFittingRefType
downgradeType -> downgradeRefType
getTypeRank -> deleted (rank exposed through getRefTypeInfo )
getTypeInfo -> getRefTypeInfo
suggestMapModes -> suggestModes
2016-05-13 19:54:44 +03:00
DeepSOIC
632cf142fe Attacher: Py: add GUI strings to getModeInfo and getTypeInfo 2016-05-13 19:54:44 +03:00
DeepSOIC
8b4f1210ed Attacher: Py: extend AttachEngine's interface
* add constructor

attributes:
* Mode
* CompleteModeList
* ImplementedModes
* GetModeInfo
* References
* SuperPlacement
* Reverse
* Parameter
* CompleteRefTypeList

methods:
* getShapeType
* isShapeOfType
* downgradeType
* getTypeRank
* copy
* calculateAttachedPlacement
* suggestMapModes
* readParametersFromFeature
* writeParametersToFeature
2016-05-13 19:54:44 +03:00
DeepSOIC
dcc8926236 Attacher: Py: implement Attacher attribute of AttachableObject 2016-05-13 19:54:44 +03:00
DeepSOIC
7000d551b7 Attacher: Py: create AttachEnginePy
Not very useful at the moment, just created the interface.
2016-05-13 19:54:44 +03:00
DeepSOIC
d4f1ef2f7a Attacher: Py: add interface for changing attacher type
Plus a mechanism to remember attacher type of AttachableObject through
save-restore cycle.
2016-05-13 19:54:44 +03:00
DeepSOIC
fe295b701b Attacher: Py: introduce Py interface of AttachableObject
Small - just the introduction.
Support for Py features based on AttachableObject.
Redirect Part2DObjectPython's father to be AttachableObjectPython.
2016-05-13 19:54:44 +03:00
DeepSOIC
897a66cbb7 Attacher: Py: withdraw positionBySupport from Part2DObject
to be reintroduced later in AttachableObjet Py interface
2016-05-13 19:54:44 +03:00
DeepSOIC
162378220d Attacher: preparations for Py interface of shape type system
+ add getModeByName to AttachEngine
2016-05-13 19:54:44 +03:00
DeepSOIC
53bd9b674b Attacher: fix wrong inertial calculation on solids
was using surface calculation instead of volume...
2016-05-13 19:54:44 +03:00
DeepSOIC
6ffa0c9b37 Attacher: initialize member variables
They got garbage values on creation, as was revealed when testing Py
interface.
2016-05-13 19:54:44 +03:00
DeepSOIC
d21995323e Attacher: change Part2DObject to use Plane attacher by default 2016-05-13 19:54:44 +03:00
DeepSOIC
a41c79cd55 Attacher: AttachableObject should have virtual destructor 2016-05-13 19:54:44 +03:00
DeepSOIC
00d8537b66 Part: duplicate include cleanup
no functional changes
2016-05-13 19:54:44 +03:00
wmayer
c21888af6c + issue #0002542: Part.Wire.makeoffset() doesn't handle circles correctly. 2016-05-12 19:03:23 +02:00
wmayer
1ccab846e2 + apply f3nix:fix-gcc-warnings-1 2016-05-08 12:00:26 +02:00
wmayer
d8ad50d11d + move global function to namespace 2016-05-07 12:21:21 +02:00
DeepSOIC
c1f22cbd8d Attacher: fix wrong superPlacement read-onlyness
It reacted to changes to unrelated properties. Fixed.
2016-05-07 11:24:41 +02:00
DeepSOIC
651be3dcd1 Attacher: make positionBySupport return if attached or not
Needed as reliable way of testing if attachment is working or not.
2016-05-07 11:24:41 +02:00
DeepSOIC
b3e9c6b9a9 Attacher: make Placement read-only when attached
Read-onlyness of Placement and superPlacement properties is now
dynamically controlled by MapMode property value.
2016-05-07 11:24:41 +02:00
DeepSOIC
505ec6a26d Attacher: change suggestion routine interface
When another bit of information was needed to be extracted from mode
suggestion routine, it felt like listMapModes had too many arguments.
So, the arguments have been collapsed into a struct. This triggered a
few namespace-related changes, which lead to massive search-and-replace
changes all over FreeCAD.

So the only functional change carried out is the addition of reference
types readout to info returned by suggestor.
2016-05-07 11:24:41 +02:00
DeepSOIC
9d19bf023a Attacher: new modes: Inertia CS, Inertia axes
Modes added:
3D and plane attachment: Inertia CS
Line attachment: Inertia axes
This commit may serve a good example of how to add new attachment modes.
2016-05-07 11:24:41 +02:00
DeepSOIC
d12141d1fb Attacher: new mode: center of mass (point attacment) 2016-05-07 11:24:41 +02:00
DeepSOIC
2b057ef192 Attacher: for reachable modes, display what's to add
For grayed out modes in list, show what's needed to get to the mode.
Like so:
"Normal to edge (add Vertex)"
2016-05-07 11:24:41 +02:00
DeepSOIC
e6911adc50 Attacher: display modes that can be reached
Attachment mode list used to display only the modes that fit current
references. Now, modes that can be reached by adding more references are
listed too, but grayed out.
2016-05-07 11:24:41 +02:00
blobfish
973dda6f88 Part: ModelRefine: adding basis surface to cylinder. 2016-05-07 09:45:39 +02:00
wmayer
133ff16d0a + avoid code duplication 2016-05-05 18:38:36 +02:00
wmayer
af72ae09c1 + implement TopoEdge.isSeam(face) 2016-04-28 11:08:28 +02:00
DeepSOIC
6eb450b7a0 Attacher: coding and translation style fixes
Replace QObject::tr() with qApp->translate, as suggested by @wwmayer
Curly braces around nested ifs.
Fix misleading comment in Attacher.h
2016-04-21 20:55:42 +03:00
DeepSOIC
314617f16a Attacher: create special source file to contain attacher strings 2016-04-21 20:55:42 +03:00
DeepSOIC
1ca73cf428 Attacher: fix typesystem (forgotten ::init())
still doesn't work =(
2016-04-21 20:55:42 +03:00
DeepSOIC
b1fba06b33 Attacher: remove #include QString 2016-04-21 20:55:42 +03:00
DeepSOIC
d6a3d1b140 Attacher: fix superPlacement applied twice in some cases
superPlacement was applied twice on line and point attachment modes that
re-use 3d attachment modes code. Fixed.
2016-04-21 20:55:42 +03:00
DeepSOIC
431373823d Attacher: split Attacher3d and AttacherPlane
Even though they share all the functionality now, I split them, to allow
independent user-friendly mode names.
2016-04-21 20:55:42 +03:00
wmayer
08df5cbc59 + remove 'using namespace Part' inside header file 2016-04-13 16:20:31 +02:00
wmayer
df48d1668b + remove 'using namespace Attacher' inside header file 2016-04-13 15:57:49 +02:00
wmayer
0a7ab4e1ff + add missing license text 2016-04-13 15:20:41 +02:00
wmayer
5de9696365 + fix warnings:
-Wsign-compare, -Wunused-variable, -Wunused-function, -Wswitch
+ fix Qt issues
2016-04-13 14:26:38 +02:00
wmayer
e3b609b309 + consistent naming 2016-04-13 11:37:09 +02:00
Stefan Tröger
4119bb7adc Fix compilation issue in Attacher code 2016-04-12 18:12:24 +02:00
Alexander Golubev
118f1cec6a PartDesign/App: cleanup datum's classes and headers 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
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
8c5d514b18 PartDesign: Body rework - add BaseFeature property and make Tip always point to solid 2016-04-12 18:12:16 +02:00
Alexander Golubev
ffc6cc2f23 Share code for finding a body containing a feature 2016-04-12 18:12:14 +02:00
Stefan Tröger
d2f4410c1e fix datum crash when origin is selected 2016-04-12 18:12:13 +02:00
DeepSOIC
98717f010a Attacher: proximity modes
The modes that base on distToShape:
* a line that connects the closest points,
* the actual points
2016-04-12 18:12:12 +02:00