View Issue Details

IDProjectCategoryView StatusLast Update
0023814Open CASCADEOCCT:Visualizationpublic2021-03-08 20:00
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityintegration request 
Status closedResolutionfixed 
PlatformAOSL 
Target Version6.8.0Fixed in Version6.8.0 
Summary0023814: Drop plugin interface for Graphic3d_GraphicDriver instantiation
DescriptionInstantiation of OpenGl_GraphicDriver using dynamically loaded library is pointless complication nowadays since there no any alternative implementation.

This is suggested to:
- Drop Graphic3d_GraphicDriver::Begin() and ::End() methods (always performed right after driver instantiation and before destruction).
- Drop dummy argument for Graphic3d_GraphicDriver constructor with library name.
- Drop Graphic3d::InitGraphicDriver() function. Application code should explicitly link against TKOpenGl toolkit and instantiate OpenGl_GraphicDriver class.
- Drop MetaGraphicDriverFactory implementation within TKOpenGl.
- Update WOK to remove CSF_GraphicShr from the generated env.bat.
- CSF_GraphicShr variable should be removed from the OCCT overview.
TagsNo tags attached.
Test case numberNot needed

Relationships

related to 0023712 closeddbv Open CASCADE Remove the dependency on the Aspect_GraphicDevice from Aspect_Window 
related to 0023067 closedsan Open CASCADE OpenGl package API needed by UserDraw feature is not exported 
parent of 0032203 closedbugmaster Open CASCADE Draw Harness, ViewerTest - drop dependency from OpenGL 
related to 0023975 closedibs Open CASCADE Remove CSF_GraphicShr environment variable from the generated env.bat 
related to 0024895 closedbugmaster Community 'PLUGINFACTORY' has C-linkage specified, but returns user-defined type 'Handle_Standard_Transient' which is incompatible with C 

Activities

szv

2013-06-04 10:41

manager   ~0024622

Imho, it could be still useful to keep the possibility to replace the OpenGl driver by another one (like DirectX). For that, we could introduce global methods, something like:

void Graphic3d::SetDriver(const Handle(Graphic3d_GraphicDriver) &aDriver);

const Handle(Graphic3d_GraphicDriver)& Graphic3d::GetDriver();

kgv

2014-07-03 10:52

developer   ~0029948

Patch is ready for review in branches CR23814 for OCCT and Products.

apl

2014-07-08 19:10

developer   ~0030016

Dear Bugmaster,

Both branches were reviewed. Please test them.

mkv

2014-07-11 15:07

tester   ~0030076

Dear BugMaster,

Branch CR23814 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: c0e9662ee3dbad0ff3f29cbe1abcd14e3fb8c7a8

Number of compiler warnings:

occt component :
Linux: 15 (15 on master)
Windows: 0 (0 on master)
MacOS: 199 (199 on master)

products component :
Linux: 11 (11 on master)
Windows: 2 (2 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 349248428 / 349968948
Total CPU difference: 53464.000000000124 / 52504.370000000075

Testing on Windows:
Total MEMORY difference: 376612504 / 377380348
Total CPU difference: 40231.03125 / 39629.96875

There are no differences in images found by testdiff.

mkv

2014-07-11 15:19

tester   ~0030077

Dear kgv,
could you please correct file dox/overview/overview.md
(CSF_GraphicShr variable should be removed from the OCCT overview)

kgv

2014-07-11 15:27

developer   ~0030078

Dear mkv,

>> could you please correct file dox/overview/overview.md
>> (CSF_GraphicShr variable should be removed from the OCCT overview)
sorry but I can not find occurrences of CSF_GraphicShr in current version of documentation.

mkv

2014-07-11 15:54

tester   ~0030083

OK.
CR23814 is TESTED.

git

2014-07-22 16:04

administrator   ~0030324

Branch CR23814 has been deleted by inv.

SHA-1: c0e9662ee3dbad0ff3f29cbe1abcd14e3fb8c7a8

Related Changesets

occt: master fe9fc669

2014-07-03 06:47:42

kgv


Committer: bugmaster Details Diff
0023814: Drop plugin interface for Graphic3d_GraphicDriver instantiation

Drop Graphic3d_GraphicDriver::Begin() and ::End() methods.
Initialization is performed within driver constructor.

Drop dummy argument for Graphic3d_GraphicDriver constructor with library name.
Display connection now should be set instead

Drop Graphic3d::InitGraphicDriver() function and Graphic3d.hxx header.
Application code should explicitly link against TKOpenGl toolkit and instantiate OpenGl_GraphicDriver class.

Drop MetaGraphicDriverFactory implementation within TKOpenGl.
Affected Issues
0023814
mod - samples/CSharp/OCCTProxy/OCCTProxy.cpp Diff File
mod - samples/mfc/standard/10_Convert/src/WNT/StdAfx.h Diff File
mod - samples/mfc/standard/Common/StdAfx.h Diff File
mod - samples/qt/Common/src/DocumentCommon.cxx Diff File
mod - samples/qt/VoxelDemo/src/Viewer.cpp Diff File
mod - src/Graphic3d/Graphic3d.cdl Diff File
rm - src/Graphic3d/Graphic3d.cxx Diff File
mod - src/Graphic3d/Graphic3d_GraphicDriver.cdl Diff File
mod - src/Graphic3d/Graphic3d_GraphicDriver.cxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver.cxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver.hxx Diff File
mod - src/QADraw/QADraw.cxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File

Issue History

Date Modified Username Field Change
2013-03-05 09:32 kgv New Issue
2013-03-05 09:32 kgv Assigned To => san
2013-03-05 09:32 kgv Relationship added related to 0023712
2013-03-11 09:58 kgv Relationship added related to 0023067
2013-06-04 08:18 kgv Description Updated
2013-06-04 10:41 szv Note Added: 0024622
2013-11-06 15:03 kgv Relationship added related to 0023975
2013-11-06 15:44 kgv Target Version => 6.7.0
2013-12-12 10:53 san Assigned To san => kgv
2013-12-12 10:53 san Status new => assigned
2013-12-12 10:53 san Target Version 6.7.0 => 6.7.1
2014-04-04 18:32 abv Target Version 6.7.1 => 6.8.0
2014-05-05 08:39 kgv Relationship added related to 0024895
2014-07-03 10:52 kgv Note Added: 0029948
2014-07-03 10:52 kgv Assigned To kgv => apl
2014-07-03 10:52 kgv Status assigned => resolved
2014-07-03 10:52 kgv Severity feature => integration request
2014-07-08 19:10 apl Note Added: 0030016
2014-07-08 19:10 apl Assigned To apl => bugmaster
2014-07-08 19:10 apl Status resolved => reviewed
2014-07-09 12:23 mkv Assigned To bugmaster => mkv
2014-07-11 15:07 mkv Note Added: 0030076
2014-07-11 15:19 mkv Note Added: 0030077
2014-07-11 15:20 mkv Test case number => Not needed
2014-07-11 15:20 mkv Assigned To mkv => kgv
2014-07-11 15:20 mkv Status reviewed => feedback
2014-07-11 15:27 kgv Note Added: 0030078
2014-07-11 15:27 kgv Assigned To kgv => mkv
2014-07-11 15:54 mkv Note Added: 0030083
2014-07-11 15:54 mkv Assigned To mkv => bugmaster
2014-07-11 15:54 mkv Status feedback => tested
2014-07-22 15:13 bugmaster Changeset attached => occt master fe9fc669
2014-07-22 15:13 bugmaster Status tested => verified
2014-07-22 15:13 bugmaster Resolution open => fixed
2014-07-22 16:04 git Note Added: 0030324
2014-11-11 12:46 aiv Fixed in Version => 6.8.0
2014-11-11 12:53 aiv Status verified => closed
2021-03-08 20:00 kgv Relationship added parent of 0032203