Commit Graph

16 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
162378220d Attacher: preparations for Py interface of shape type system
+ add getModeByName to AttachEngine
2016-05-13 19:54:44 +03: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
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
b1fba06b33 Attacher: remove #include QString 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
5de9696365 + fix warnings:
-Wsign-compare, -Wunused-variable, -Wunused-function, -Wswitch
+ fix Qt issues
2016-04-13 14:26:38 +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
DeepSOIC
40592e6055 Attacher: line and point AttachEngines. Other changes.
* propose attachment modes
* refactor setUp and Copy
* split off postprocessing from 3D to reuse in 1D and 0D calculations
* AttachableObject: fix error printout in onChange
* AttachableObject: no more defaults to Attacher3D
* implementation of lines and points attachment (some of the proposed modes).
* refactor getShapeType, add getShapeType(obj, sub); add a flag to eRefType enum, indicating that referenced thing is a whole object that has placement.
* change readLinks to be static, and obtain shape types in the process.
* test mode enums lengths equality
* extend ObjectXY to work on conics.
* Fix upside-down sketches attached as TangentPlane on most shapes.
* Fix crash when a shape of unlisted type is in the links.
* fix attaching to datum lines go crazy because of infinities.
* abs->fabs
* support for App::Line
* Add namespace qualifiers to TYPESYSTEM_SOURCE-like stuff
2016-04-12 18:12:12 +02:00
DeepSOIC
42ecc24ec5 Sketcher: new attachment engine 2016-04-12 18:12:12 +02:00