Commit Graph

512 Commits

Author SHA1 Message Date
DeepSOIC
7e38a59bac Attacher: Py: create AttachEnginePy
Not very useful at the moment, just created the interface.
2016-05-13 19:54:44 +03:00
DeepSOIC
41bae90d28 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
c040ee7333 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
e7b6ebeb01 Attacher: Py: withdraw positionBySupport from Part2DObject
to be reintroduced later in AttachableObjet Py interface
2016-05-13 19:54:44 +03:00
DeepSOIC
13f56f04c2 Attacher: preparations for Py interface of shape type system
+ add getModeByName to AttachEngine
2016-05-13 19:54:44 +03:00
DeepSOIC
2ee73babcf Attacher: fix wrong inertial calculation on solids
was using surface calculation instead of volume...
2016-05-13 19:54:44 +03:00
DeepSOIC
a4b31297d4 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
3b030a08b2 Attacher: change Part2DObject to use Plane attacher by default 2016-05-13 19:54:44 +03:00
DeepSOIC
add1382d03 Attacher: AttachableObject should have virtual destructor 2016-05-13 19:54:44 +03:00
DeepSOIC
4dbbb1a7ed Part: duplicate include cleanup
no functional changes
2016-05-13 19:54:44 +03:00
wmayer
858b9bf3b9 + issue #0002542: Part.Wire.makeoffset() doesn't handle circles correctly. 2016-05-12 19:03:23 +02:00
wmayer
5a2d26ac1b + apply f3nix:fix-gcc-warnings-1 2016-05-08 12:00:26 +02:00
wmayer
2868bbd8c5 + move global function to namespace 2016-05-07 12:21:21 +02:00
DeepSOIC
754a56e61b Attacher: fix wrong superPlacement read-onlyness
It reacted to changes to unrelated properties. Fixed.
2016-05-07 11:24:41 +02:00
DeepSOIC
78bed4bb78 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
4d7f802a13 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
39249581eb 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
22480effeb 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
701eba37be Attacher: new mode: center of mass (point attacment) 2016-05-07 11:24:41 +02:00
DeepSOIC
2c5fccaf5f 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
a0e99c425e 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
deed33e6f2 Part: ModelRefine: adding basis surface to cylinder. 2016-05-07 09:45:39 +02:00
wmayer
0509fcfc9e + avoid code duplication 2016-05-05 18:38:36 +02:00
wmayer
1736901e92 + implement TopoEdge.isSeam(face) 2016-04-28 11:08:28 +02:00
DeepSOIC
8dea73ed2b 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
102b02e12b Attacher: create special source file to contain attacher strings 2016-04-21 20:55:42 +03:00
DeepSOIC
464ea0c85d Attacher: fix typesystem (forgotten ::init())
still doesn't work =(
2016-04-21 20:55:42 +03:00
DeepSOIC
0085071654 Attacher: remove #include QString 2016-04-21 20:55:42 +03:00
DeepSOIC
475484ab7b 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
f7b1b0416c 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
f439a88c69 + remove 'using namespace Part' inside header file 2016-04-13 16:20:31 +02:00
wmayer
ab43e18b00 + remove 'using namespace Attacher' inside header file 2016-04-13 15:57:49 +02:00
wmayer
b6892c5424 + add missing license text 2016-04-13 15:20:41 +02:00
wmayer
6380881b58 + fix warnings:
-Wsign-compare, -Wunused-variable, -Wunused-function, -Wswitch
+ fix Qt issues
2016-04-13 14:26:38 +02:00
wmayer
d604abdfc4 + consistent naming 2016-04-13 11:37:09 +02:00
Stefan Tröger
9c68424a1e Fix compilation issue in Attacher code 2016-04-12 18:12:24 +02:00
Alexander Golubev
d62aa38ac4 PartDesign/App: cleanup datum's classes and headers 2016-04-12 18:12:19 +02:00
Alexander Golubev
68c78de00d PartDesign/Gui: add origin sizing and rework datums sizing 2016-04-12 18:12:18 +02:00
Alexander Golubev
1d7a1982aa Part/Attacher: remove a couple of no more valid asserts 2016-04-12 18:12:18 +02:00
Alexander Golubev
305151be34 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
f6b0ed3a47 PartDesign: Body rework - add BaseFeature property and make Tip always point to solid 2016-04-12 18:12:16 +02:00
Alexander Golubev
340c52a939 Share code for finding a body containing a feature 2016-04-12 18:12:14 +02:00
Stefan Tröger
73e1982154 fix datum crash when origin is selected 2016-04-12 18:12:13 +02:00
DeepSOIC
f446541717 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
8babf7c2dc PartDesign: transfer Datums to become AttachableObjects
Crude and quick, needs cleanup.
2016-04-12 18:12:12 +02:00
DeepSOIC
d009a5cd3d 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
b6152364af Attacher: change Part2DObject's MapMode default to mmDeactivated, and set mode to mmFlatFace only when reading files of old format.
PartDesign, Sketcher: set mapping mode when setting support

Mapping mode mmFlatFace is no longer default, so an explicit assignment
is required.
2016-04-12 18:12:12 +02:00
DeepSOIC
9a48d210cf PropertyLinkSubList, Sketcher: move legacy Support readout from PropertyContainer to Part2DObject 2016-04-12 18:12:12 +02:00
DeepSOIC
9331c2a677 Attacher: fix crash of suggestor on compounds 2016-04-12 18:12:12 +02:00
DeepSOIC
d69e50510e Sketch: expose positionBySupport python func 2016-04-12 18:12:12 +02:00