Open CASCADE, the 3D modelling kernel
3D modeling & numerical simulation

Search the Forums
See All Topics
Open CASCADEShowroomGet it!Developer CornerSupport and ProductsAbout us
Technical overview
Areas of use
Advantages
FAQ
Screenshots
Shape factory
Shape gallery
Demonstrations
What's new
System requirements
Download Center
Public license
Documentation
Getting started
Forums
Open Source community
Training and e-learning
A-la Carte Support
Value-added software
Complementary Components
Customer Corner
Company Profile
Marketing Materials
Contact Us
News
Home / Developer Corner / Forums / Usage issues / OpenCascade QT crash

OpenCascade QT crash

OpenCascade QT crash
codex 2012/10/09 18:26
Hello,
I'm trying to start using OCC for my QT projects.
I download and rebuild OCC 6.5.3 under Win7 x64 and VS2010, all was fine, then compile and run MFC samples, they build and run fine too.
Now trying to create a simple QT project under VS2010, when I creating WNT_GraphicDevice object code is work:

Handle_WNT_GraphicDevice myGraphicDevice = new WNT_GraphicDevice();
// create the Viewer
TCollection_ExtendedString Name("Viewer 2D");
TCollection_AsciiString Domain("My Domain");
my2DViewer = new V2d_Viewer(myGraphicDevice, Name.ToExtString(), Domain.ToCString());
// set default values for grids
my2DViewer->SetCircularGridValues(0,0,10,8,0);
my2DViewer->SetRectangularGridValues(0,0,10,10,0);
//
myAISInteractiveContext2D = new AIS2D_InteractiveContext(my2DViewer);

but when I create Graphic3d_WNTGraphicDevice object, programm is crashing on NEW operator

Handle_Graphic3d_WNTGraphicDevice myGraphicDevice3D = new Graphic3d_WNTGraphicDevice();

file new.cpp

void *__CRTDECL operator new(size_t size) _THROW1(_STD bad_alloc)
{ // try to allocate size bytes
void *p;
>>>>>> while ((p = malloc(size)) == 0) <<<<<<<< STOP HERE
if (_callnewh(size) == 0)
{ // report no memory
static const std::bad_alloc nomem;
_RAISE(nomem);
}

return (p);
}

why MFC samples work fine? where is error? how to configure QT project?
where I can find any tutorials for using OCC??
it's big and hard to learn.. =((
Hans 2012/10/10 05:29
Try this:



static Handle(Graphic3d_GraphicDevice) defaultdevice;
      if( defaultdevice.IsNull() )
      defaultdevice = new Graphic3d_GraphicDevice( aDisplay );
      return new V3d_Viewer(defaultdevice,aName,aDomain,ViewSize,ViewProj, Quantity_NOC_GRAY30,V3d_ZBUFFER,V3d_GOURAUD,V3d_WAIT, ComputedMode,aDefaultComputedMode,V3d_TEX_NONE);


where aDisplay getenv("DISPLAY")

Other Parameter:

a3DName.ToExtString(), "", 1000.0, V3d_XposYnegZpos, Standard_True, Standard_True);



I got this piece of code from the "QT-IMPORT/EXPORT" example. It works well for my projects.
codex 2012/10/10 10:21
I guess this code is for Unix-like system, I need windows application

full code from example:

#ifndef WNT
static Handle(Graphic3d_GraphicDevice) defaultdevice;
if( defaultdevice.IsNull() )
defaultdevice = new Graphic3d_GraphicDevice( aDisplay );
return new V3d_Viewer(defaultdevice,aName,aDomain,ViewSize,ViewProj,
                               Quantity_NOC_GRAY30,V3d_ZBUFFER,V3d_GOURAUD,V3d_WAIT,
                               ComputedMode,aDefaultComputedMode,V3d_TEX_NONE);
#else
static Handle(Graphic3d_WNTGraphicDevice) defaultdevice;
if( defaultdevice.IsNull() )
defaultdevice = new Graphic3d_WNTGraphicDevice();
return new V3d_Viewer(defaultdevice,aName,aDomain,ViewSize,ViewProj,
      Quantity_NOC_GRAY30,V3d_ZBUFFER,V3d_GOURAUD,V3d_WAIT,
      ComputedMode,aDefaultComputedMode,V3d_TEX_NONE);
#endif
codex 2012/10/10 11:07
I found a error, OCC could not find TKOpenGl.dll and load it.
I copy and edit files env.bat and msvc.bat from samples to my project directory. And use msvc.bat to run VS2010.
Hans 2012/10/10 17:41
Oh i'm sorry. For sure this one seems to be for Unix-Systems. I copied the wrong piece of code. But as i see you've found the right one for Windows-Application. This works for me, too.

For the DLL-Problem:

Look at http://www.opencascade.org/org/forum/thread_22004/?forum=3 -> the last post of mine


 
 
Latest news
  • Open CASCADE Technology 6.7.0 is available for download!
  • Open CASCADE Technology 6.6.0 is available for download!
  • Open CASCADE Technology 6.5.5 is available for download!

  • © OPEN CASCADE 2000 - 2014  |  Search  |  Contacts   |  Site map