HI Hendrik, I already had this trace: #0 0x0000000101d495b7 in Handle_Standard_Transient::EndScope () #1 0x0000000101d4968e in Handle_Standard_Transient::Assign () etc.
I did not yet have a look to your project, but it may come from the fact that you run a 64 bit version of OCC : you *must* pass the -D_OCC64 flag to the compiler otherwise you have memory issues. Just for your information, here is the part of code extracted from the 'Handle_Standard_Transient.hxx" header that deals with 64 bit memory addressing: #ifdef _OCC64 #define UndefinedHandleAddress ((Standard_Transient *)0xfefdfefdfefd0000) #else #define UndefinedHandleAddress ((Standard_Transient *)0xfefd0000) #endif Hope this helps, Thomas 2010/2/4 Henrik Rudstrom <hrudst...@googlemail.com> > Hello again... > Got a bit further now (unless its a dead end of course). Got past the > linking, and managed to run it, but it throws a “EXC_BAD_ACCESS” signal: > > Program received signal: “EXC_BAD_ACCESS”. > (gdb) bt > #0 0x0000000101d495b7 in Handle_Standard_Transient::EndScope () > #1 0x0000000101d4968e in Handle_Standard_Transient::Assign () > #2 0x000000010007245d in Handle_Graphic3d_GraphicDriver::operator= > (this=0x108007d60, anItem=0x7fff5fbff390) at > Handle_Graphic3d_GraphicDriver.hxx:61 > #3 0x0000000100071c02 in OSX_GraphicDevice::SetGraphicDriver > (this=0x108007d38) at > /Users/henrik/Development/QtOSXOCCHarness-0.1/src/OSX_GraphicDevice.cxx:69 > #4 0x0000000100071ee8 in OSX_GraphicDevice::OSX_GraphicDevice > (this=0x108007d38) at > /Users/henrik/Development/QtOSXOCCHarness-0.1/src/OSX_GraphicDevice.cxx:43 > #5 0x000000010004c570 in QoccViewerContext::createViewer > (this=0x106b4e000, aDisplay=0x1000e4b74 "DISPLAY", aName=0x108007d18, > aDomain=0x1000e4be4 "", ViewSize=1000) at > /Users/henrik/Development/QtOSXOCCHarness-0.1/src/qoccviewercontext.cpp:80 > #6 0x000000010004c8fd in QoccViewerContext::QoccViewerContext > (this=0x106b4e000) at > /Users/henrik/Development/QtOSXOCCHarness-0.1/src/qoccviewercontext.cpp:34 > #7 0x000000010005bc75 in QoccHarnessWindow::QoccHarnessWindow > (this=0x106b0e550) at > /Users/henrik/Development/QtOSXOCCHarness-0.1/src/qoccharnesswindow.cpp:35 > #8 0x000000010004a33a in main (argc=1, argv=0x7fff5fbff688) at > /Users/henrik/Development/QtOSXOCCHarness-0.1/src/main.cpp:34 > (gdb) > > google suggests it has something to do with autoreleasing, but i guess it > could be a lot of other things too.. is EXC_BAD_ACCESS specific to cooca? > > attached the project just i case anyone feels inspired. > > > Henrik Rudstrom > > > > On 4 February 2010 14:11, Henrik Rudstrom <hrudst...@googlemail.com>wrote: > >> hi, >> Yes, i remember we had some discussions half a year ago. There was also >> something on the wiki back then that you where pinning your hopes on amongst >> other, qt4.6. >> I managed to compile and run an carbon or cocoa app(not too sure, was just >> correcting compiler errors till it worked). But never managed to access it >> from python. >> Just tried to revive it. and managed to compile everything, but it >> apparently compiles to 32bit, but the graphics stuff compiles at least. Dont >> have time to continue now, but i've attached the xcode project (generated >> from a qt project file (basically adapted the qtocc-harnass). If you give it >> a try, be carefull when you edit the .pro files, (backup xcode file and run >> qmake -spec macx-xcode qtoccharness.pro). >> >> >> Henrik Rudstrom >> >> >> >> On 4 February 2010 05:23, Thomas Paviot <tpav...@gmail.com> wrote: >> >>> Hi Henrik, >>> >>> Jelle is right : it's an X11/Cocoa "conflict" issue. In a few words, the >>> OpenCascade library is built upon X11 (even on MacOSX) for everything >>> dealing with graphic display. In order to run an OCC/pythonOCC program, you >>> must first create a X11 GUI, and pass to OCC the identifier of one of the >>> window you want to use. If no windows id is passed, of if the identifier >>> does not define an X11 windows, then an error is raised by OCC. >>> >>> Your version of Qt is built upon Cocoa. That is, if you both run >>> pythonOCC and pyQt, it's like they are not connected since they use a >>> different system. >>> >>> There are 3 ways to get done with these issues under MacOSX SL 64 bits: >>> (1) use the python-xlib package as a GUi manager. It allows low level X11 >>> programming, it's lightweight, but it can't be used to develop a complete >>> app, >>> (2) compile pyQt/X11 or wxPython/X11 but unfortunately I didn't manage to >>> do it, >>> (3) develop a native Cocoa OCC implementation. I tried to, but it's >>> definitely too difficult for me : the mix OpenGL / AGL / Carbon / Cocoa / >>> C++ / ObjectiveC made me become crazy, and I gave up with that. >>> >>> Up to now, if you want to play with pythonOCC, I suggest you choose the >>> frist solution. >>> >>> Best Rehgards, >>> >>> Thomas >>> >>> >>> 2010/2/3 jelle feringa <jelleferi...@gmail.com> >>> >>> Hi Henrik, >>>> >>>> This is a OSX only issue. >>>> Having QT & pythonOCC working together on OSX is perhaps difficult to >>>> achieve. >>>> The OGL that OCC has been built with, is that of X11, while QT is >>>> implemented on top of Quartz / Cocoa. >>>> Could that perhaps explain it? I'm simplying echo'ing what Thomas >>>> explained me before. >>>> >>>> You mentioned to me that you were able to get the demo app in Cocoa ( >>>> OCC cocoa patch Emmanual ) running. >>>> Well, it would be an absolute dream if somehow, someway we'd be able to >>>> get this working with pythonOCC too! >>>> >>>> Cheers, >>>> >>>> -jelle >>>> >>>> On Wed, Feb 3, 2010 at 6:31 PM, Henrik Rudstrom < >>>> hrudst...@googlemail.com> wrote: >>>> >>>>> Hi >>>>> First of all thanks for the new osx build! >>>>> Was in an optimistic mood today, so i thought i'd try to get occ >>>>> working in qt, but i got a good old overflow error. >>>>> >>>>> 4317497200 <<---- window._handle which is more than 2 ^ 32 >>>>> Traceback (most recent call last): >>>>> File "qtocc.py", line 33, in <module> >>>>> window.glWidget.InitDriver() >>>>> File "/Library/Python/2.6/site-packages/OCC/Display/qtDisplay.py", >>>>> line 122, in InitDriver >>>>> self._display.Create() >>>>> File "/Library/Python/2.6/site-packages/OCC/Display/OCCViewer.py", >>>>> line 79, in Create >>>>> self.Init(self._window_handle) >>>>> OverflowError: in method 'Display3d_Init', argument 2 of type 'int' >>>>> >>>>> seems the visualization module cant handle 64bit numbers, isnt that a >>>>> bit wierd if the build is 64 bit? or is this a osx issue, does the qt >>>>> viewer >>>>> work on other platforms? >>>>> would the fix be just a matter of changing a few typedef's or does that >>>>> propagate throught the whole framework? >>>>> >>>>> >>>>> >>>>> Henrik Rudstrom >>>>> >>>>> >>>>> code i used: >>>>> >>>>> import sys >>>>> from OCC.Display.qtDisplay import qtViewer3d >>>>> from PyQt4 import QtGui >>>>> >>>>> class Window(QtGui.QWidget): >>>>> def __init__(self): >>>>> super(Window, self).__init__() >>>>> self.glWidget = qtViewer3d() >>>>> mainLayout = QtGui.QHBoxLayout() >>>>> mainLayout.addWidget(self.glWidget) >>>>> self.setLayout(mainLayout) >>>>> self.setWindowTitle(self.tr("Hello GL")) >>>>> self.glWidget >>>>> #self.glWidget.DisplayShape(BRepPrimAPI_MakeSphere(1).Shape()) >>>>> >>>>> if __name__ == '__main__': >>>>> app = QtGui.QApplication(sys.argv) >>>>> window = Window() >>>>> window.show() >>>>> window.glWidget.InitDriver() >>>>> window.glWidget._display.Test() >>>>> sys.exit(app.exec_()) >>>>> >>>>> _______________________________________________ >>>>> Pythonocc-users mailing list >>>>> Pythonocc-users@gna.org >>>>> https://mail.gna.org/listinfo/pythonocc-users >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Pythonocc-users mailing list >>>> Pythonocc-users@gna.org >>>> https://mail.gna.org/listinfo/pythonocc-users >>>> >>>> >>> >>> _______________________________________________ >>> Pythonocc-users mailing list >>> Pythonocc-users@gna.org >>> https://mail.gna.org/listinfo/pythonocc-users >>> >>> >> > > _______________________________________________ > Pythonocc-users mailing list > Pythonocc-users@gna.org > https://mail.gna.org/listinfo/pythonocc-users > >
_______________________________________________ Pythonocc-users mailing list Pythonocc-users@gna.org https://mail.gna.org/listinfo/pythonocc-users