Commit Graph

2367 Commits

Author SHA1 Message Date
DeepSOIC
565a191689 App: circular reference testing routine for new links
DocumentObject::testIfLinkDAGCompatible: return true if link can be
created (no cycles will be made). False if the link will cause a
circular dependency and break recomputes.
2016-04-12 18:12:20 +02:00
Alexander Golubev
f7bcf565d9 App/OriginFeature: a minor cleanup 2016-04-12 18:12:19 +02:00
Alexander Golubev
a3e3c78388 App/Part: add getPartOfObject() to search a part for object 2016-04-12 18:12:18 +02:00
Alexander Golubev
d72a919384 OriginGroup: add new abstraction layer between the Part and the GeoFeatureGroup 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
8bad396f16 App: minor fix of spacing 2016-04-12 18:12:17 +02:00
Alexander Golubev
54e572fd4c App: add two callback to DocumentObject to perform initialization/uninitialization inside an object
Added two callbacks to App::DocumentObject
 - setupObject()
 - unsetupObject()

All associated code was added to App::Document
Also was added a specific flag ObjectFlag::Deleted wich is set when performing the deletion.
2016-04-12 18:12:17 +02:00
Alexander Golubev
ade1dec103 Revert "part deletion handling"
This reverts commit 6ab2002021ac1df26ebe77f488f5cd94e1df0b26.
2016-04-12 18:12:17 +02:00
Alexander Golubev
e26c6174ac App/GeoFeatureGroup: derive from DocumentObjectGroup
Refactor GeoFeatureGroup and derive it from DocumentObjectGroup rather
than GeoFeatureObject to unify code of those two classes.
2016-04-12 18:12:17 +02:00
Alexander Golubev
57a913f796 DocumentObjectGroup: fix deleting of groups in case of malformed links
This one prevents thurther object structure damage if
DocumentObjectGroup::Group connains multiple links to the same feature.
Also minorr changes:
 - Fix some spacing
 - Ask the user if he wants to delete group content
2016-04-12 18:12:17 +02:00
Stefan Tröger
a2dba9be6e first take on enhanced feature pick task 2016-04-12 18:12:14 +02:00
Stefan Tröger
1ebe3e729c part deletion handling
-remove everxthing that belongs to a part on deletion
-disallow to delete the origin by the user and only remove it when Part is being deleted
2016-04-12 18:12:13 +02:00
DeepSOIC
9a48d210cf PropertyLinkSubList, Sketcher: move legacy Support readout from PropertyContainer to Part2DObject 2016-04-12 18:12:12 +02:00
DeepSOIC
179f569036 PropertyLinkSubList: make it backwards-compatible with PropertyLinkSub
To assist porting Sketch's Support property from linkSub to linkSubList.
Includes file reading backwards compatibility.
2016-04-12 18:12:11 +02:00
DeepSOIC
f20ff5a8d4 PartDesign: refactor positionBySketch
Rename it to positionByPrevious. Rewrite.
Rewrite SketchBased::transformPlacement.
2016-04-12 18:12:11 +02:00
Stefan Tröger
b733d38064 better active part and document tip handling 2016-04-12 18:12:10 +02:00
Stefan Tröger
e6b96067f9 make bodies, origins, planes and lines unmovable 2016-04-12 18:12:06 +02:00
Stefan Tröger
616e372e4a switch linear pattern to coordinate system axis 2016-04-12 18:12:05 +02:00
Stefan Tröger
46e4e3b2b4 group coordinate planes and lines 2016-04-12 18:12:05 +02:00
Stefan Tröger
b401f07bdf add base lines 2016-04-12 18:12:05 +02:00
blobfish
47d68e0dd7 App: Part: rename base planes. 2016-04-12 18:12:03 +02:00
jriegel
c88a8336dc Several enhancements
+ PLMXML Reader
+ Some meta information sorting
+ Making ProductRefs invisibly in Tree
2016-04-12 18:12:03 +02:00
jriegel
0307a73c04 some fixes 2016-04-12 18:12:02 +02:00
jriegel
d87d0e8376 Assembly: Rename to setActiveBody and make link indeipendant Part initialization 2016-04-12 18:12:02 +02:00
jriegel
4fb12b7dcd Assembly: Add GeoFeatureGroup and helpers 2016-04-12 18:12:02 +02:00
jriegel
cf9158abc9 Make Part working 2016-04-12 18:12:02 +02:00
jriegel
80ca84a2eb add Python objects for Part and GeoFeature 2016-04-12 18:12:02 +02:00
jriegel
847ebdc4fd Tip property in Document and special load save handling 2016-04-12 18:12:02 +02:00
jriegel
29efef2175 Add path and view provider for Part 2016-04-12 18:12:02 +02:00
jriegel
354e7dfa87 Start of rework of class structure 2016-04-12 18:12:01 +02:00
jriegel
a366ae60e4 Const correctness in DocumentObjectGroup 2016-04-12 18:12:01 +02:00
jrheinlaender
449aee2178 Add check in Document.cpp recompute() to check for invalid pointers 2016-04-12 18:11:49 +02:00
jrheinlaender
c12f34300a Improved bounding box calculation for datum feature display size 2016-04-12 18:11:49 +02:00
jrheinlaender
0e6cdbe397 Added check in Tree.cpp DocumentItem::slotChangeObject to check for invalid pointers returned by claimChildren() 2016-04-12 18:11:48 +02:00
jriegel
944e1c1b86 PropertyMap and new Attributes for the Assembly object and the Document 2016-04-12 18:11:46 +02:00
jriegel
57d4edab07 implementing Plane visual 2016-04-12 18:11:44 +02:00
jriegel
949a50a0cd Run arbitrary scripts from Cmd command line 2016-04-12 18:11:44 +02:00
Bruce B. Lacey
39d05b66a7 Add include of <sstreeam> to fix commit 08692f811 breakage to Ubuntu Precise 12.04 builds. 2016-04-02 11:19:28 -07:00
Eivind Kvedalen
4f7470c5e8 Expressions: Simpified parser, fixed precedence (parentheses) 2016-04-02 12:01:04 +02:00
Eivind Kvedalen
97aa0a1c6d Expressions: Fixed parsing of unit expressions similar to 1/unit. 2016-04-02 12:01:04 +02:00
Eivind Kvedalen
8f511322bc Expressions: Moved Expression::priority to cpp file. 2016-04-02 12:01:04 +02:00
Eivind Kvedalen
aa8b035842 Expressions: Refactored aggregate functions. 2016-04-02 12:01:04 +02:00
Eivind Kvedalen
b5e44436f1 Expressions: Added support for aggregate functions and ranges. 2016-04-02 12:01:04 +02:00
Eivind Kvedalen
ca74154619 PropertyPlacement: Convert x, y, z values to Quantities when using them in expressions. 2016-04-02 12:01:04 +02:00
Yorik van Havre
178505a00a Document.openTransaction() now accepts unicode 2016-03-22 12:20:58 -03:00
Bruce Lacey
3ecccd36b9 FreeCADTest.py invokes sys.exit() instead of the more aggressive os._exit()
With the ability to now pass the <exitCode> from sys.exit() up the
call stack to the shell, FreeCADTest.py should use sys.exit() instead
of the more aggressive os._exit() method that does not allow for
post-exception cleanup.
2016-03-21 18:28:46 +01:00
Eivind Kvedalen
d68b72e523 Expressions: Changed precedence of ?, :, EQ, NEQ, LT, GT, GTE, and LTE. 2016-03-15 18:28:23 +01:00
Lorenz Hüdepohl
d0e50f8216 Add lib64 to python path
On certain distributions the library directories are called "lib64" on
amd64 machines
2016-03-13 01:18:18 +01:00
Bruce Lacey
131ce6834a Exit with non-zero status when unit tests fail.
1.  Enhanced TestApp.py to return the unittest TestResult object to the calling method
2.  FreeCADTest.py now checks the TestResult object.  If all tests pass, FreeCADTest.py exits with a 0 however if any tests fail, then it exits with 1.  FreeCADTest.py calls os._exit() with the exit code instead of sys.exit() because Base::Interpreter:SystemExitException intercepts sys.exit() calls and swallows the exit code so there is no way to propogate the non-zero code from the python test cases through the interpreter to the shell in the current call stack.
2016-03-09 21:57:57 -08:00
wmayer
ff5e147f5e + terminate xerces at program exit 2016-03-09 15:52:42 +01:00