View Issue Details

IDProjectCategoryView StatusLast Update
0023067Open CASCADEOCCT:Visualizationpublic2013-03-11 09:58
ReportersanAssigned Tosan 
Status closedResolutionfixed 
PlatformVC++ 32-bit/64-bitOSWindows 
Product Version6.5.3 
Target Version6.5.3Fixed in Version6.5.3 
Summary0023067: OpenGl package API needed by UserDraw feature is not exported
DescriptionIn the frames of 0022819 it was decided not to export any OpenGl classes except the graphic driver class methods.

However, an application that uses UserDraw functionality needs to access at least the following OpenGl classes so they should be exported from TKOpenGl library under Windows:
- OpenGl_Element - the application that uses UserDraw should derive custom element class(es) from OpenGl_Element abstract base
- OpenGl_Workspace - custom element's Render() method needs the current state parameters
- OpenGl_Aspect* - visual parameters of various primitive types
- OpenGl_Context - to access OpenGL extensions (already exported)

Complete list of OpenGl package classes to be exported should be defined after analysis of standard OpenGl_Element implementations.
Steps To Reproducepload ALL
Additional information
and documentation updates
The following OpenGl package API is now available to applications that implement custom scene elements with help of UserDraw feature:

OpenGl_Window class:
- inline method providing access to OpenGl_Context instance

OpenGl_Workspace class:
- exported AspectXXXX() methods returning current visual parameters in force for different kinds of primitives
- inline methods for text rendering
OpenGl_Context class (see #23022)

OpenGl_ResourceCleaner, OpenGl_ResourceVBO, OpenGl_ResourceTexture classes: should be used to clean-up OpenGL resources safely

OpenGl_AspectFace, OpenGl_AspectLine, OpenGl_AspectMarker, OpenGl_AspectText classes: read access to all attributes with help of inline methods

Other state parameters should be obtained with help of OpenGL API calls.

vuserdraw DRAW command has been added in order to perform basic checking of UserDraw feature availability and operation.
TagsNo tags attached.
Test case numberchl 934 Z3

Attached Files

  • Z3 (621 bytes)


related to 0022819 closedbugmaster Redesign of OpenGl driver 
related to 0023814 closedbugmaster Drop plugin interface for Graphic3d_GraphicDriver instantiation 



2012-04-04 21:55

developer   ~0020264

CR23067 branch is ready for reviewing.


2012-04-05 19:53

developer   ~0020279

vuserdraw command added for testing
Please review the branch.


2012-04-09 17:18

developer   ~0020312

Separate source file ViewerTest_OpenGlCommands.cxx added for commands testing low-level TKOpenGl features.

CR23067 ready for reviewing.


2012-04-09 17:53

developer   ~0020313

Patch is OK, please test.


2012-04-09 19:36

tester   ~0020315

Dear san,
Workbench KAS:dev:mkv-23067-occt was created from git branch CR23067
(and mkv-23067-products from svn trunk) and compiled on Linux platform.

There are following errors during linking:

Check of undefined symbols with LD_LIBRARY_PATH :
mkv-23067-occt/lin/lib/ undefined reference to `OpenGl_Resource_Type_()'
mkv-23067-occt/lin/lib/ undefined reference to `typeinfo for OpenGl_Resource'


2012-04-09 19:48

manager   ~0020316

Corrected, please test


2012-04-10 10:12

administrator   ~0020320

Last edited: 2012-04-10 12:10

Dear BugMaster,
      Workbench KAS:dev:mkv-23067-occt was created from git branch CR23067 (and mkv-23067-products from svn trunk) and compiled on Linux platform.
      There are not regressions in mkv-23067-products regarding to KAS:dev:products-20120330-opt
      Test case for this fix is chl 934 Z3. It's OK.

      See results in /QADisk/occttests/results/KAS/dev/mkv-23067-products_09042012/lin
      See reference results in /QADisk/occttests/results/KAS/dev/products-20120330-opt_30032012/lin
      See test cases in /QADisk/occttests/tests/ED


2012-04-10 12:11


Z3 (621 bytes)

Related Changesets

occt: master 3946774d

2012-04-12 10:04:59


Details Diff
0023067: OpenGl package API needed by UserDraw feature is not exported

Windows: Exporting non-inline methods that provide info about the current state of OCCT renderer.
Minor tweak: fixing incomplete handle/dynamic type for OpenGl_Resource
vuserdraw command added to test UserDraw basic operation
Separate source file ViewerTest_OpenGlCommands.cxx added for commands testing low-level TKOpenGl functionality
Affected Issues
mod - src/OpenGl/FILES Diff File
add - src/OpenGl/OpenGl_Resource.cxx Diff File
mod - src/OpenGl/OpenGl_Resource.hxx Diff File
mod - src/OpenGl/OpenGl_ResourceCleaner.cxx Diff File
mod - src/OpenGl/OpenGl_ResourceCleaner.hxx Diff File
mod - src/OpenGl/OpenGl_ResourceTexture.cxx Diff File
mod - src/OpenGl/OpenGl_ResourceTexture.hxx Diff File
mod - src/OpenGl/OpenGl_ResourceVBO.cxx Diff File
mod - src/OpenGl/OpenGl_ResourceVBO.hxx Diff File
mod - src/OpenGl/OpenGl_Workspace.hxx Diff File
mod - src/ViewerTest/FILES Diff File
mod - src/ViewerTest/ViewerTest.cdl Diff File
mod - src/ViewerTest/ViewerTest.cxx Diff File
add - src/ViewerTest/ViewerTest_OpenGlCommands.cxx Diff File

Issue History

Date Modified Username Field Change
2012-04-04 17:00 san New Issue
2012-04-04 17:00 san Assigned To => san
2012-04-04 17:01 san Relationship added related to 0022819
2012-04-04 17:02 san Description Updated
2012-04-04 21:55 san Note Added: 0020264
2012-04-04 21:55 san Assigned To san => kgv
2012-04-04 21:55 san Status new => resolved
2012-04-04 22:10 san Additional Information Updated
2012-04-05 19:53 san Steps to Reproduce Updated
2012-04-05 19:53 san Note Added: 0020279
2012-04-09 17:18 san Note Added: 0020312
2012-04-09 17:53 kgv Note Added: 0020313
2012-04-09 17:53 kgv Assigned To kgv => bugmaster
2012-04-09 17:53 kgv Status resolved => reviewed
2012-04-09 18:10 mkv Assigned To bugmaster => mkv
2012-04-09 19:36 mkv Note Added: 0020315
2012-04-09 19:37 mkv Assigned To mkv => san
2012-04-09 19:37 mkv Status reviewed => assigned
2012-04-09 19:47 abv Status assigned => resolved
2012-04-09 19:48 abv Note Added: 0020316
2012-04-09 19:48 abv Status resolved => reviewed
2012-04-09 20:05 mkv Assigned To san => mkv
2012-04-10 10:12 apn Note Added: 0020320
2012-04-10 10:24 apn Test case number => chl 934 Z3
2012-04-10 12:10 apn Note Edited: 0020320
2012-04-10 12:11 apn Assigned To mkv => bugmaster
2012-04-10 12:11 apn Status reviewed => tested
2012-04-10 12:11 apn File Added: Z3
2012-04-11 19:15 san Additional Information Updated
2012-04-13 11:32 san Changeset attached => occt master 3946774d
2012-04-13 11:32 san Assigned To bugmaster => san
2012-04-13 11:32 san Status tested => verified
2012-04-13 11:32 san Resolution open => fixed
2013-03-11 09:58 kgv Relationship added related to 0023814