Commit Graph

968 Commits

Author SHA1 Message Date
Kurt Kremitzki
df06c1e1c4 Update testPocketToFaceCase to handle OCC<7 face-naming inconsistency 2017-06-20 23:10:24 -05:00
Kurt Kremitzki
dfb3c41b65 Add pocket to face test case 2017-06-20 15:26:23 -05:00
Kurt Kremitzki
e4b61cad76 Add PartDesign Pocket tests 2017-06-20 15:26:23 -05:00
Kurt Kremitzki
3542140854 Use assertAlmostEqual and remove deprecated failUnless 2017-06-20 15:26:22 -05:00
Kurt Kremitzki
5b2c0fcccd Complete PartDesign::Pad test cases 2017-06-20 15:26:22 -05:00
wmayer
8b0fb352fd do not let unit test for revolution fail if refinement option is on 2017-06-19 21:09:43 +02:00
wmayer
989fe4028e various fixes:
+ fix typos
+ fix const correctness
+ whitespace improvements
2017-06-19 17:18:16 +02:00
Stefan Tröger
bfb95e3d12 Partially fix PartDesign move test 2017-06-19 15:37:09 +02:00
Stefan Tröger
f9200f4502 Extend python interface for groups and fix test cases 2017-06-19 15:37:09 +02:00
Stefan Tröger
183a4b4ef3 GeoFeatureGroup: Handle drag into document 2017-06-19 15:37:09 +02:00
wmayer
07fd41f4fc use assertAlmostEqual for comparison with floating numbers 2017-06-16 00:15:22 +02:00
Kurt Kremitzki
944a111c2f Add PartDesign_Mirrored test based on additive primitive 2017-06-16 00:15:22 +02:00
Kurt Kremitzki
01cca0ba53 Add PartDesign_Mirrored offset failure test 2017-06-16 00:15:22 +02:00
Abdullah Tahiri
ab48fdb6f5 render both faces 2017-06-16 00:15:22 +02:00
Kurt Kremitzki
6f18ce63ed Show failure message when part design transformation does not intersect 2017-06-16 00:15:22 +02:00
Abdullah Tahiri
ff188383a1 Fix transformation support, so that support is updated with any previous transformation executed 2017-06-16 00:15:22 +02:00
wmayer
c1070e5e8e NULL is defined as nullptr on FreeBSD and causes a build failure
For more information see: https://forum.freecadweb.org/viewtopic.php?f=4&t=22897&p=177660#p177660
2017-06-11 18:48:23 +02:00
Yorik van Havre
6e0f060e96 Fixed typo errors 2017-06-07 16:01:22 -03:00
Abdullah Tahiri
4b042536f8 Notification to the user that a body is not active when inserting a datum entity - fixes #2511 2017-05-31 02:41:29 +02:00
Abdullah Tahiri
7863a63659 Fillet Feature: Return if radius <= 0 2017-05-30 23:09:29 +02:00
Abdullah Tahiri
2686f51c57 Checking for Document Restoring when extension has a null property
==================================================================

The problem:

OriginGroupExtension::OriginGroupExtension () {

    initExtensionType(OriginGroupExtension::getExtensionClassTypeId());

    EXTENSION_ADD_PROPERTY_TYPE ( Origin, (0), 0, App::Prop_Hidden, "Origin linked to the group" );
}

initializes the Origin property to null.

Then Document::Restore => readObjects => addObject => slotNewObject => ViewProviderDocumentObject::updateView => ViewProviderBody::updateData => ViewProviderGeometryObject::updateData =>
ViewProviderDocumentObject::updateData => ViewProvider::updateData => ViewProviderOriginGroupExtension::extensionUpdateData => updateOriginSize() => OriginGroupExtension::getOrigin,

the latter throws an exception because the origin property is null.

Afterwards, the origin property is initialized during Document::Restore => readObjects => ExtensionContainer::Restore() => PropertyContainer::Restore() => App::PropertyLink::Restore()
=> App::PropertyLink::setValue() => Property::hasSetValue, which triggers an onChange: Body::onChanged => BodyBase::onChanged => Feature::onChanged => DocumentObject::onChanged =>
Document::onChangedProperty => Document::slotChangedObject => ViewProviderOriginGroupExtension::slotChangedObjectGui => ViewProviderOriginGroupExtension::updateOriginSize =>
OriginGroupExtension::getOrigin,

now, the latter that is the same that was throwing the exception and generating the error message above, does not throw anymore because Origin has been initialized.

When creating a new object, isNew==true; whereas when loading a file, isNew==false. Therefore, when loading a file setupObject is not executed. SetupObject, effectively initializes
the extension via: Body::setupObject => DocumentObject::setupObject => OriginGroupExtension::onExtendedSetupObject.

DocumentObject * Document::addObject(const char* sType, const char* pObjectName, bool isNew)
{
    [more code here]
    // Call the object-specific initialization
    if (!d->undoing && !d->rollback && isNew) {
        pcObject->setupObject ();
    }
    [more code here]

As DocumentObject code is generic for all objects (workbenches), by design it was chosen to initialize the object only if new. Therefore a object or an extension of a object being restored,
between the addition (addObject) and the restoring of the properties, must by design expect it not to be initialized.

The solution:

Making use of the Restore flag at document level (the one at object level is not sufficient), no exception regarding the null property is reported during document restoring.

Ticket:
https://freecadweb.org/tracker/view.php?id=2530

fixes #2530
2017-05-30 13:01:45 +02:00
Kurt Kremitzki
ee1d9533ee Invert test case 2017-05-29 12:59:00 -03:00
Kurt Kremitzki
5dceccda52 Add PartDesignMirrored test 2017-05-29 12:59:00 -03:00
Kurt Kremitzki
24728b4fa1 Change TestPartDesignApp to spaces and unix line endings 2017-05-29 12:59:00 -03:00
Kurt Kremitzki
7858b470bc Add PartDesignMirrored test 2017-05-29 12:59:00 -03:00
Kurt Kremitzki
0ca3f6c4b3 Change TestPartDesignApp to spaces and unix line endings 2017-05-29 12:59:00 -03:00
Yorik van Havre
2a2ab3c4ef Updated translations 2017-05-25 10:04:05 -03:00
looooo
84f8644244 py3: part-design: involute-gear 2017-04-27 13:17:51 -03:00
Peter Lama
a75a98ef27 Use OCCT Handle macro for Handle_ classes
This is the result of running OCCT's upgrade script provided
with OCCT 7.0. See
https://www.opencascade.com/content/freecad-occt710-and-windows-rtti-data-missing#comment-form
and
https://www.forum.freecadweb.org/viewtopic.php?f=4&t=21405&start=120#p169019
for why this is necessary for OCCT >= 7.1
2017-04-20 12:27:34 +02:00
asiersarasua
ea3d86b735 Fix typos 2017-04-20 09:49:19 +02:00
wmayer
6b26fa6ca7 fix segmentation fault in TaskFeaturePick::makeCopy 2017-04-17 11:07:54 +02:00
wmayer
9a3b2a976e when removing faces in thickness tool via context menu then remove selection gate 2017-04-15 13:29:19 +02:00
wmayer
eb02efa004 do not use translated text for icon names 2017-04-15 12:58:35 +02:00
wmayer
004324bbc5 fix scan coverity issues: uncaught exception 2017-04-11 14:03:08 +02:00
Abdullah Tahiri
09dfcf6bd7 Part Design: Keep body transparency when adding a new feature
=============================================================

Prior this commit, if a body has transparency (let's say 55%) and a new feature is added, the transparency is lost until you update it again in the body.

This prevents to actually see through while editing the feature (e.g. while setting the length of a pad) and is very annoying as the user
is required to go back to the body properties, where the old value (e.g. 55%) would still be there and change it to another value (56%) to effect it.
2017-04-11 10:41:27 +02:00
wmayer
1d336fe72e avoid possibly crash when trying to add objects to the wrong document 2017-04-07 15:32:22 +02:00
wmayer
52c3b4580e properly close task dialog when document is getting closed 2017-04-07 15:16:04 +02:00
wmayer
bf542266c4 close sketch selection task panel on undo 2017-04-07 13:07:52 +02:00
wmayer
394ea471c6 perform auto view fit when creating body object on sketch creation 2017-04-07 10:22:40 +02:00
Ian Rees
ac2f9f8902 Make Body object on creation of Sketch/Primitive 2017-04-06 19:26:19 +02:00
Ian Rees
e2b73e5bb1 Add abort method to PartDesign TaskDlgFeaturePick 2017-04-06 19:26:19 +02:00
Ian Rees
05b5b48af8 Refactor PartDesign create primitive commands 2017-04-06 19:26:19 +02:00
wmayer
a86583e833 fix crash when trying to drag and drop origin object in body object 2017-04-06 19:16:27 +02:00
Kunda
784edd3f82 Typo fixes for doxygen and source comments
issue #0002914
2017-03-31 11:25:57 -03:00
Sergo
969f5cc8aa test MultiTransformed applied to a box outside the body 2017-03-20 21:39:53 +01:00
Sergo
86cb37b3d0 issue #2808 2017-03-20 21:39:53 +01:00
AjinkyaDahale
c4fdc924bc fixes #2964, #2968
0002964: PartDesign Datum geometry invisible in 3D view if no geometry
present in Body
0002968: Datum items invisible on opening saved files
2017-03-19 18:09:15 -03:00
AjinkyaDahale
b60fe48564 Fixed Typos 2017-03-19 18:09:15 -03:00
AjinkyaDahale
6a385f5ee3 Possible solution to a problem in pad/pocket up-to-face
Somehow we weren't able to pad/pocket up-to-face when the profile sketch
is made on a datum plane
2017-03-19 18:09:14 -03:00
sergo
dd9c27d4ae fix tests 2017-03-18 19:09:16 +01:00