Commit Graph

507 Commits

Author SHA1 Message Date
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
DeepSOIC
9e440b955c PartDesign: transfer Datums to become AttachableObjects
Crude and quick, needs cleanup.
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
4800957858 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
fa441a9623 PropertyLinkSubList, Sketcher: move legacy Support readout from PropertyContainer to Part2DObject 2016-04-12 18:12:12 +02:00
DeepSOIC
ad01411efc Attacher: fix crash of suggestor on compounds 2016-04-12 18:12:12 +02:00
DeepSOIC
acac286cd0 Sketch: expose positionBySupport python func 2016-04-12 18:12:12 +02:00
DeepSOIC
2a390660c8 Sketcher: minimalistic UI for new attachment engine 2016-04-12 18:12:12 +02:00
DeepSOIC
42ecc24ec5 Sketcher: new attachment engine 2016-04-12 18:12:12 +02:00
DeepSOIC
061747f367 Sketcher: change Support from PropertyLinkSub to PropertyLinkSubList
Note: may fail to build after this commit...
2016-04-12 18:12:12 +02:00
Stefan Tröger
c3f35d9f05 add part design thickness 2016-04-12 18:12:08 +02:00
Stefan Tröger
0385734339 primitive bug fixes, add cylinder and sphere 2016-04-12 18:12:07 +02:00