View Issue Details

IDProjectCategoryView StatusLast Update
0023243Open CASCADEOCCT:Visualizationpublic2020-09-11 16:55
Reporterkgv Assigned Tobugmaster  
Status closedResolutionfixed 
Product Version6.5.3 
Target Version6.6.0Fixed in Version6.6.0 
Summary0023243: Adapt OpenGL viewer for using in Cocoa applications on Mac OS X
DescriptionCurrently OCCT 3D Viewer requires X11 server on UNIX systems.
However X11 in Mac OS X provided for compatibility using optional XQuartz component with significant limitations.

This is suggested to implement GL window using Cocoa:
- TKService, new class should provide minimal support for low-level window manipulations (as an alternative to Xw_Window).
- TKOpenGL should be linked against system OpenGL framework instead of GLX and implement appropriate low-level GL context manipulations.
- TKViewTest should implement new event loop to use new window class on Mac OS X.

Notice that GLX implementation should be still optionally available (using special compilation macros MACOSX_USE_GLX).
TagsNo tags attached.
Test case number


parent of 0023629 closedbugmaster Open CASCADE Add support for Cocoa frameworks dependencies in EXTERNLIB 
parent of 0023841 closeddbv Community Redundant assignment to itself. 
parent of 0029187 assigned Open CASCADE VIS - TKIVtkDraw should support Cocoa on macOS 
related to 0023656 closedbugmaster Open CASCADE Samples - create new sample application based on Cocoa 
related to 0023682 closeddbv Open CASCADE Implement Draw_Window with Cocoa framework 
related to 0023712 closeddbv Open CASCADE Remove the dependency on the Aspect_GraphicDevice from Aspect_Window 
Not all the children of this issue are yet resolved or closed.



2012-12-18 20:33

developer   ~0022752

Class Cocoa_Window has been implemented for drawing windows on Mac OS with Cocoa framework
Implemented event manager for Cocoa_Window
OpenGl_Context and OpenGl_Window - added support for Cocoa OpenGL context
TKV3d - accept Cocoa_Window

Changes have been pushed to the git branch CR23243_1


2012-12-18 20:36

developer   ~0022753

Dear bugmaster,

Please test


2012-12-20 10:36

administrator   ~0022781

Windows and Linux: compilation and testing is OK.

MacOS : problems of compilation


2012-12-21 16:41

administrator   ~0022804

Branch CR23243 (and products from GIT master) was compiled on Linux and Windows platforms and tested.

Not detected

Not detected

Testing cases:
Not needed

Related Changesets

occt: master 4fe56619

2012-12-24 13:46:07


Details Diff
0023243: Adapt OpenGL viewer for using in Cocoa applications on Mac OS X

Cocoa_Window draft
OpenGl_Context and OpenGl_Window - added support for Cocoa OpenGL context
TKV3d - accept Cocoa_Window
Draft version of ViewerInit method for Mac OS X
Added ViewerTest_CocoaEventManagerView
ViewerTest - attach events to Cocoa window
Cocoa_Window - disable autorelease on close
Fix for OpenGl_Context::Init method
Cocoa_Window - convert top-left coordinates to bottom-left
Added selection with rubber band (rubber band drawing still should be implemented)
Fixed OpenGl_Display initialization on Mac OS X
Fixed OpenGl includes
Affected Issues
mod - adm/UDLIST Diff File
add - src/Cocoa/Cocoa_LocalPool.hxx Diff File
add - src/Cocoa/ Diff File
add - src/Cocoa/Cocoa_Window.hxx Diff File
add - src/Cocoa/ Diff File
add - src/Cocoa/EXTERNLIB Diff File
add - src/Cocoa/FILES Diff File
mod - src/InterfaceGraphic/FILES Diff File
mod - src/InterfaceGraphic/InterfaceGraphic.hxx Diff File
add - src/InterfaceGraphic/InterfaceGraphic_Cocoa.hxx Diff File
mod - src/OpenGl/EXTERNLIB Diff File
mod - src/OpenGl/FILES Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
add - src/OpenGl/ Diff File
mod - src/OpenGl/OpenGl_Display.cxx Diff File
mod - src/OpenGl/OpenGl_Display_1.cxx Diff File
mod - src/OpenGl/OpenGl_GlCore11.hxx Diff File
mod - src/OpenGl/OpenGl_Window.cxx Diff File
add - src/OpenGl/ Diff File
mod - src/OpenGl/OpenGl_Workspace_2.cxx Diff File
mod - src/TKOpenGl/EXTERNLIB Diff File
mod - src/TKService/EXTERNLIB Diff File
mod - src/TKService/PACKAGES Diff File
mod - src/TKViewerTest/EXTERNLIB Diff File
add - src/ViewerTest/EXTERNLIB Diff File
mod - src/ViewerTest/FILES Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File
add - src/ViewerTest/ Diff File
mod - src/Visual3d/Visual3d_View.cxx Diff File

Issue History

Date Modified Username Field Change
2012-07-04 12:13 kgv New Issue
2012-07-04 12:13 kgv Assigned To => dbv
2012-10-02 11:29 abv Target Version 6.5.4 => 6.6.0
2012-12-11 11:34 kgv Relationship added parent of 0023629
2012-12-18 19:32 dbv Status new => assigned
2012-12-18 20:33 dbv Note Added: 0022752
2012-12-18 20:33 dbv Status assigned => resolved
2012-12-18 20:36 dbv Note Added: 0022753
2012-12-18 20:36 dbv Assigned To dbv => bugmaster
2012-12-18 20:36 dbv Status resolved => reviewed
2012-12-19 12:27 mkv Assigned To bugmaster => mkv
2012-12-20 00:24 kgv Relationship added related to 0023656
2012-12-20 10:36 bugmaster Note Added: 0022781
2012-12-20 10:36 bugmaster Assigned To mkv => dbv
2012-12-20 10:36 bugmaster Status reviewed => assigned
2012-12-21 16:40 bugmaster Status assigned => resolved
2012-12-21 16:41 bugmaster Status resolved => reviewed
2012-12-21 16:41 bugmaster Note Added: 0022804
2012-12-21 16:41 bugmaster Status reviewed => tested
2012-12-24 17:59 bugmaster Changeset attached => occt master 4fe56619
2012-12-24 17:59 bugmaster Assigned To dbv => bugmaster
2012-12-24 17:59 bugmaster Status tested => verified
2012-12-24 17:59 bugmaster Resolution open => fixed
2013-01-14 14:00 kgv Relationship added related to 0023682
2013-01-18 13:10 kgv Relationship added related to 0023712
2013-03-20 12:35 abv Relationship added parent of 0023841
2013-04-23 13:35 aiv Status verified => closed
2013-04-29 15:24 aiv Fixed in Version => 6.6.0
2015-05-25 11:55 pkv Relationship added parent of 0026263
2015-05-25 11:56 pkv Relationship deleted parent of 0026263
2020-09-11 16:55 kgv Relationship added related to 0029187
2020-09-11 16:55 kgv Relationship replaced parent of 0029187