New overlay mode (Now ready for testing)

A forum for research and development of the user interface of FreeCAD
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
tom
Posts: 165
Joined: Sun Mar 29, 2015 9:20 pm

Re: New overlay mode (Now ready for testing)

Post by tom »

realthunder wrote: Tue Aug 11, 2020 1:00 pm New image release.
Hi realthunder,

thank you for the new image. Unfortunately I encountered also a regression. The "Hidden Line" draw style no longer works. Instead it renders as "Wireframe" now.

BR Tom

OS: macOS Mojave (10.14)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21911 +2532 (Git)
Build type: Release
Branch: LinkStage3
Hash: c16697362de812af8626e2e59240c6fd015c420b
Python version: 3.7.8
Qt version: 5.12.1
Coin version: 4.0.0
OCC version: 7.4.0
Locale: German/Germany (de_DE)
tom
Posts: 165
Joined: Sun Mar 29, 2015 9:20 pm

Re: New overlay mode (Now ready for testing)

Post by tom »

tom wrote: Tue Aug 11, 2020 3:50 pm
realthunder wrote: Tue Aug 11, 2020 1:00 pm New image release.
The "Hidden Line" draw style no longer works. Instead it renders as "Wireframe" now.
Basically all transparent objects are rendered in wireframe mode now. So, it is not a draw style problem, but a transparency problem.
tom
Posts: 165
Joined: Sun Mar 29, 2015 9:20 pm

Re: New overlay mode (Now ready for testing)

Post by tom »

realthunder wrote: Tue Aug 11, 2020 1:00 pm New image release.
I got also a crash:

Code: Select all

Process:               FreeCAD [70247]
Path:                  /Applications/FreeCAD asm3.app/Contents/Resources/bin/FreeCAD
Identifier:            FreeCAD
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        ??? [70243]
Responsible:           FreeCAD [70247]
User ID:               501

Date/Time:             2020-08-11 17:56:38.983 +0200
OS Version:            Mac OS X 10.14.6 (18G6020)
Report Version:        12
Anonymous UUID:        00D0AAE4-4FA2-1AA2-1DC3-429829F4143B

Sleep/Wake UUID:       D8BB8A5D-83F1-4985-BB72-416049DD2601

Time Awake Since Boot: 77000 seconds
Time Since Wake:       1400 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000001
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [70247]

VM Regions Near 0x1:
-->
    __TEXT                 00000001012ec000-00000001012f4000 [   32K] r-x/r-x SM=COW  /Applications/FreeCAD asm3.app/Contents/Resources/bin/FreeCAD

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libCoin.80.dylib              	0x0000000103f4dad0 SoSeparator::GLRenderInPath(SoGLRenderAction*) + 160
1   libCoin.80.dylib              	0x0000000103d01be9 SoAction::traverse(SoNode*) + 105
2   libCoin.80.dylib              	0x0000000103edc09b SoChildList::traverse(SoAction*, int, int) + 187
3   libCoin.80.dylib              	0x0000000103f51654 SoSwitch::doAction(SoAction*) + 388
4   libFreeCADGui.dylib           	0x00000001016552a3 Gui::SoFCSwitch::doAction(SoAction*) + 515
5   libCoin.80.dylib              	0x0000000103f4dadf SoSeparator::GLRenderInPath(SoGLRenderAction*) + 175
6   libFreeCADGui.dylib           	0x0000000101658839 Gui::SoFCSelectionRoot::_renderPrivate(SoGLRenderAction*, bool, bool&) + 953
7   libFreeCADGui.dylib           	0x000000010165831e Gui::SoFCSelectionRoot::renderPrivate(SoGLRenderAction*, bool) + 1150
8   libCoin.80.dylib              	0x0000000103f4dadf SoSeparator::GLRenderInPath(SoGLRenderAction*) + 175
9   libFreeCADGui.dylib           	0x0000000101658839 Gui::SoFCSelectionRoot::_renderPrivate(SoGLRenderAction*, bool, bool&) + 953
10  libFreeCADGui.dylib           	0x000000010165831e Gui::SoFCSelectionRoot::renderPrivate(SoGLRenderAction*, bool) + 1150
11  libCoin.80.dylib              	0x0000000103d01be9 SoAction::traverse(SoNode*) + 105
12  libCoin.80.dylib              	0x0000000103edc09b SoChildList::traverse(SoAction*, int, int) + 187
13  libCoin.80.dylib              	0x0000000103f51654 SoSwitch::doAction(SoAction*) + 388
14  libFreeCADGui.dylib           	0x00000001016552a3 Gui::SoFCSwitch::doAction(SoAction*) + 515
15  libCoin.80.dylib              	0x0000000103f4dadf SoSeparator::GLRenderInPath(SoGLRenderAction*) + 175
16  libFreeCADGui.dylib           	0x0000000101658c6a Gui::SoFCSelectionRoot::_renderPrivate(SoGLRenderAction*, bool, bool&) + 2026
17  libFreeCADGui.dylib           	0x000000010165831e Gui::SoFCSelectionRoot::renderPrivate(SoGLRenderAction*, bool) + 1150
18  libCoin.80.dylib              	0x0000000103f4dadf SoSeparator::GLRenderInPath(SoGLRenderAction*) + 175
19  libFreeCADGui.dylib           	0x0000000101658839 Gui::SoFCSelectionRoot::_renderPrivate(SoGLRenderAction*, bool, bool&) + 953
20  libFreeCADGui.dylib           	0x000000010165831e Gui::SoFCSelectionRoot::renderPrivate(SoGLRenderAction*, bool) + 1150
21  libCoin.80.dylib              	0x0000000103d01be9 SoAction::traverse(SoNode*) + 105
22  libCoin.80.dylib              	0x0000000103edc09b SoChildList::traverse(SoAction*, int, int) + 187
23  libCoin.80.dylib              	0x0000000103f51654 SoSwitch::doAction(SoAction*) + 388
24  libFreeCADGui.dylib           	0x00000001016552a3 Gui::SoFCSwitch::doAction(SoAction*) + 515
25  libCoin.80.dylib              	0x0000000103f4dadf SoSeparator::GLRenderInPath(SoGLRenderAction*) + 175
26  libFreeCADGui.dylib           	0x0000000101658839 Gui::SoFCSelectionRoot::_renderPrivate(SoGLRenderAction*, bool, bool&) + 953
27  libFreeCADGui.dylib           	0x000000010165831e Gui::SoFCSelectionRoot::renderPrivate(SoGLRenderAction*, bool) + 1150
28  libCoin.80.dylib              	0x0000000103f4dadf SoSeparator::GLRenderInPath(SoGLRenderAction*) + 175
29  libCoin.80.dylib              	0x0000000103f4dadf SoSeparator::GLRenderInPath(SoGLRenderAction*) + 175
30  libCoin.80.dylib              	0x0000000103d031a9 SoAction::beginTraversal(SoNode*) + 105
31  libCoin.80.dylib              	0x0000000103d06e64 SoGLRenderAction::beginTraversal(SoNode*) + 708
32  libCoin.80.dylib              	0x0000000103d01ecc SoAction::apply(SoPathList const&, int) + 348
33  libCoin.80.dylib              	0x0000000103d09665 SoGLRenderActionP::renderSingle(SoNode*) + 1477
34  libCoin.80.dylib              	0x0000000103d0709c SoGLRenderActionP::render(SoNode*) + 412
35  libCoin.80.dylib              	0x0000000103d06e37 SoGLRenderAction::beginTraversal(SoNode*) + 663
36  libCoin.80.dylib              	0x0000000103d01932 SoAction::apply(SoNode*) + 370
37  libFreeCADGui.dylib           	0x000000010166edba Gui::SoBoxSelectionRenderAction::apply(SoNode*) + 42
38  libCoin.80.dylib              	0x0000000104014485 SoRenderManager::renderScene(SoGLRenderAction*, SoNode*, unsigned int) + 229
39  libCoin.80.dylib              	0x00000001040142fb SoRenderManager::actuallyRender(SoGLRenderAction*, int, int, int) + 155
40  libCoin.80.dylib              	0x0000000104013f0b SoRenderManager::renderSingle(SoGLRenderAction*, int, int, int) + 971
41  libCoin.80.dylib              	0x0000000104013ac3 SoRenderManager::render(SoGLRenderAction*, int, int, int) + 211
42  libFreeCADGui.dylib           	0x000000010173b72c Gui::View3DInventorViewer::renderScene() + 796
43  libFreeCADGui.dylib           	0x00000001016f84f1 SIM::Coin3D::Quarter::QuarterWidget::paintEvent(QPaintEvent*) + 305
44  libFreeCADGui.dylib           	0x00000001016ffa82 SIM::Coin3D::Quarter::SoQTQuarterAdaptor::paintEvent(QPaintEvent*) + 66
45  libQt5Widgets.5.12.1.dylib    	0x0000000102ef6b14 QWidget::event(QEvent*) + 1794
46  libQt5Widgets.5.12.1.dylib    	0x0000000102f66d15 QFrame::event(QEvent*) + 37
47  libQt5Core.5.12.1.dylib       	0x00000001038b53e4 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) + 192
I think, it happened while having an overlay shown.

BR Tom
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: New overlay mode (Now ready for testing)

Post by realthunder »

czinehuba wrote: Tue Aug 11, 2020 2:44 pm Thanks for that. There might be a small bug in this release.
tom wrote: Tue Aug 11, 2020 4:01 pm Basically all transparent objects are rendered in wireframe mode now. So, it is not a draw style problem, but a transparency problem.
Image updated with the fix. Thanks for reporting.

In previous release, I have made some changes in (pre)selection highlight for better render caching. This should improve rendering performance on large and complex scene, but may probably have some other unexpected side effect.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
tom
Posts: 165
Joined: Sun Mar 29, 2015 9:20 pm

Re: New overlay mode (Now ready for testing)

Post by tom »

realthunder wrote: Wed Aug 12, 2020 12:56 am Image updated with the fix. Thanks for reporting.
Thank you for the new image. The transparency rendering is ok now.

BR Tom
User avatar
czinehuba
Posts: 160
Joined: Mon Oct 15, 2018 4:59 am
Location: UK
Contact:

Re: New overlay mode (Now ready for testing)

Post by czinehuba »

realthunder wrote: Wed Aug 12, 2020 12:56 am
Image updated with the fix. Thanks for reporting.
Yes. Issue fixed. Many thanks
User avatar
OficineRobotica
Posts: 433
Joined: Thu Feb 21, 2019 8:17 am
Contact:

Re: New overlay mode (Now ready for testing)

Post by OficineRobotica »

I think I found a bug....
How it should be:
ProjectionSuccess.jpeg
ProjectionSuccess.jpeg (263.52 KiB) Viewed 3626 times
This is how it becomes after the recompute prompt when opened with LinkStage3 branch:
ColorBug.jpeg
ColorBug.jpeg (180.33 KiB) Viewed 3626 times
Some observations:
-in previous iterations of this file I've seen similar "residual" geometry when using a PartDesign boolean between the flag pole body and the "Projection Object". Unfortunately I haven't saved the file at that stage.
- this started happening only after I changed the colors of the "Part" and "projection object" . Prior to that the file opened and recomputed correctly.
-this is one way that I can reproduce the bug (by opening a file saved with FC master) but it can be reproduced directly in LinkStage3 by:
1-chose "set colors" on a feature in the tree
2-select a face
3-click edit and chose a color
4-result: geometry messed up

Also, what is the policy for some PR from master to be cherry piked to be included in your build? I'm interested in this atm: https://github.com/FreeCAD/FreeCAD/pull/3796 as it is directly related to this model. But it is good to know how sinking with master works in the LnkStage3 branch case.

Thank you and best regards.
Attachments
flagPole.FCStd
(677.91 KiB) Downloaded 76 times
Check out my Youtube channel at: https://www.youtube.com/@OficineRobotica
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: New overlay mode (Now ready for testing)

Post by realthunder »

New image released. Fixed per face color rendering.
OficineRobotica wrote: Sat Aug 15, 2020 3:55 pm I think I found a bug....
The per face coloring bug is easy to fix. But then I noticed something odd with your PartDesign model. I realized later that you are using up to face pad/pocket a lot, which I haven't really tested with. These operations use OCC BRepFeat_MakePrism, and it turns out that this OCC maker does not work with my topo naming. I spent quite some time to come up with a work around. Hope it works okay. In case of any topo naming related problem, you can report in this thread.

BTW, there is some difference in PartDesign coloring in my branch. It uses shape history to map color from previous feature, kinda like Part Fuse/Cut, to blend color from history. As a result, DressUp features does not respect its own coloring, because all of its shape elements can be traced back to its base feature. Other features may or may not blend colors the way you want. To work around this, you can either set color in body, which turns off color mapping in tip feature. Or, you can manually turn off color mapping in each individual feature, by setting its view property 'Map Face Color' to false.

Also, what is the policy for some PR from master to be cherry piked to be included in your build? I'm interested in this atm: https://github.com/FreeCAD/FreeCAD/pull/3796 as it is directly related to this model. But it is good to know how sinking with master works in the LnkStage3 branch case.
I have cherry picked that PR.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
User avatar
OficineRobotica
Posts: 433
Joined: Thu Feb 21, 2019 8:17 am
Contact:

Re: New overlay mode (Now ready for testing)

Post by OficineRobotica »

Well.....all I can say is THANK YOU. Toponaming seems like a titanic task to do. Unfortunately I'll see you in that forum :lol:
Check out my Youtube channel at: https://www.youtube.com/@OficineRobotica
tom
Posts: 165
Joined: Sun Mar 29, 2015 9:20 pm

Re: New overlay mode (Now ready for testing)

Post by tom »

Hi realthunder,

unfortunately, I'm facing another crash:

Code: Select all

Process:               FreeCAD [34176]
Path:                  /Applications/FreeCAD asm3.app/Contents/Resources/bin/FreeCAD
Identifier:            ???
Version:               ??? (0.19)
Code Type:             X86-64 (Native)
Parent Process:        ??? [34172]
Responsible:           FreeCAD [34176]
User ID:               501

Date/Time:             2020-09-06 19:00:57.348 +0200
OS Version:            Mac OS X 10.14.6 (18G6020)
Report Version:        12
Anonymous UUID:        00D0AAE4-4FA2-1AA2-1DC3-429829F4143B

Sleep/Wake UUID:       1B3834D5-8F21-4DEC-B616-B1198FE2A785

Time Awake Since Boot: 380000 seconds
Time Since Wake:       3700 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       EXC_I386_GPFLT
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [34176]

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libQt5Widgets.5.12.1.dylib    	0x0000000109e91e17 0x109e83000 + 60951
1   libQt5Widgets.5.12.1.dylib    	0x0000000109ef745a 0x109e83000 + 476250
2   libFreeCADGui.dylib           	0x0000000108843438 Gui::DockWindowManagerP::onTimer() + 552
3   libFreeCADGui.dylib           	0x000000010883839a Gui::OverlayProxyWidget::hitTest(QPoint, bool) + 586
4   libQt5Core.5.12.1.dylib       	0x000000010a893c09 QMetaObject::activate(QObject*, int, int, void**) + 1833

Thread 1:: com.apple.CFSocket.private
0   libsystem_kernel.dylib        	0x00007fff5bdb1616 __select + 10
1   com.apple.CoreFoundation      	0x00007fff2fd00202 __CFSocketManager + 635
2   libsystem_pthread.dylib       	0x00007fff5be692eb _pthread_body + 126
3   libsystem_pthread.dylib       	0x00007fff5be6c249 _pthread_start + 66
4   libsystem_pthread.dylib       	0x00007fff5be6840d thread_start + 13

Thread 2:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	0x00007fff5bdaa21a mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff5bdaa768 mach_msg + 60
2   com.apple.CoreFoundation      	0x00007fff2fcd2882 __CFRunLoopServiceMachPort + 328
3   com.apple.CoreFoundation      	0x00007fff2fcd1df0 __CFRunLoopRun + 1612
4   com.apple.CoreFoundation      	0x00007fff2fcd1552 CFRunLoopRunSpecific + 455
5   com.apple.AppKit              	0x00007fff2d2cf4a2 _NSEventThread + 175
6   libsystem_pthread.dylib       	0x00007fff5be692eb _pthread_body + 126
7   libsystem_pthread.dylib       	0x00007fff5be6c249 _pthread_start + 66
8   libsystem_pthread.dylib       	0x00007fff5be6840d thread_start + 13

Thread 3:
0   libsystem_pthread.dylib       	0x00007fff5be683f0 start_wqthread + 0

Thread 4:
0   libsystem_pthread.dylib       	0x00007fff5be683f0 start_wqthread + 0

Thread 5:
0   libsystem_pthread.dylib       	0x00007fff5be683f0 start_wqthread + 0

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000000  rcx: 0x800007fcee94dbd9  rdx: 0x0000000000000004
  rdi: 0x00007fceea1113f0  rsi: 0x0000000000000000  rbp: 0x00007ffee794f030  rsp: 0x00007ffee794ef88
   r8: 0x00000000915ad31f   r9: 0x0000000000000011  r10: 0x00007fcee9700000  r11: 0x0000000000000003
  r12: 0x0000000000000ab8  r13: 0x00007fcee3ea82b8  r14: 0x00007fcee7c2c190  r15: 0x00007ffee794ef90
  rip: 0x0000000109e91e17  rfl: 0x0000000000010246  cr2: 0x0000000116ce6000
  
Logical CPU:     2
Error Code:      0x00000000
Trap Number:     13
The crash happens quite often (about every two minutes) in both the 08.12 and the 08.18 build. I could not figure out the exact trigger for the crash. Sometimes it happens, when I rotate the view. In other cases one of the overlays was hidden before.

BR Tom

OS: macOS Mojave (10.14)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21911 +2545 (Git)
Build type: Release
Branch: LinkStage3
Hash: 04c80c99eee0f7d2f761bdc7d8b32c077adefdec
Python version: 3.7.8
Qt version: 5.12.1
Coin version: 4.0.0
OCC version: 7.4.0
Locale: German/Germany (de_DE)
Post Reply