View Issue Details

IDProjectCategoryView StatusLast Update
0023049Open CASCADEOCCT:Visualizationpublic2021-04-06 20:50
ReportersanAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformAOSL 
Product Version6.5.3 
Target Version7.1.0Fixed in Version7.1.0 
Summary0023049: Optimize packaging and dependencies of visualization libraries
DescriptionCurrently, there are two known issues related to undesirable dependencies of OCCT libraries related to visualization:

1. TKernel depends on Xlib due to OSD_FontMgr class.

This issue was reported by the community a year ago: http://www.opencascade.org/org/forum/thread_20042/

Potential solution: move this class to TKV3d or TKOpenGl (TKV3d is also considered because some customers use OSD_FontMgr as a part of OCCT public API in their applications), the final decision is pending.

2. TKService depends on FreeImage library (remark by SZV).

This dependency is yet to be analyzed.

3. TKOpenGl depends on FTGL+FreeType2 libraries for text rendering functionality.

FTGL library is not updated since '08 whilst has frozen RC slice for a long time, has known bugs and uses outdated OpenGL techniques for rendering (no VBO possible, no GL3.0 compatibility, unsafe FreeType2 library initialization, no advanced scalable options possible etc.).

Moreover the only small part of provided functionality is used by OCCT.

So this is suggested to implement own font rendering functionality based on Freetype2 library directly and eliminate FTGL dependency.

4. TKOpenGl depends on FreeImagePlus library for printing functionality on Windows platform. It seems redundant dependency that should be removed in future.
TagsNo tags attached.
Test case number

Relationships

related to 0023272 closedkgv Open CASCADE Image comparison algorithm 
related to 0023415 closeddbv Open CASCADE OSD_FontMgr can't idenify aspect for fonts with names dependant on system locale. 
related to 0022582 closedbugmaster Open CASCADE Visualization - provide an API for dumping a sub-region of the viewport 
parent of 0023242 closedbugmaster Open CASCADE OSD_FontMgr in TKernel cause dependence on optional component in system (XLib library) 
parent of 0027763 closedbugmaster Open CASCADE Visualization - remove V3d_View::Print() method 
related to 0023457 closedkgv Community Slow text rendering 
related to 0031087 closedsmoskvin Open CASCADE Configuration - make FreeType dependency optional 
related to 0032268 resolvedvpozdyayev Community Configuration, CMake - a proposal for minimal build flag in CMake 
related to 0031401 newdpasukhi Open CASCADE Visualization - revise Toolkits dependency graph 

Activities

Paddy

2012-03-30 13:25

reporter   ~0020222

Hi all,

I haven't tested it - but could this be a replacement for FTGL:

http://code.google.com/p/freetype-gl/

Best regards.

Patrik

san

2012-08-15 21:29

developer   ~0021245

Correction of #23196 introduces direct dependency of TKOpenGl on FreeType library.
However, this does not look critical as TKOpenGl already depends on FTGL library that also requires FreeType.

san

2013-02-08 15:07

developer   ~0023291

p.3 from the initial description (dependency on FTGL) is resolved by the patch for 0023457

kgv

2013-02-20 15:16

developer   ~0023414

p.1 is resolved within 0023242 issue (OSD_FontMgr was moved to TKService as Font_FontMgr).

kgv

2013-11-06 16:13

developer   ~0026490

p.1 0023415 removes Xlib dependencies from TKernel.

san

2013-12-11 15:12

developer   ~0027171

Problem p.2 is cancelled, TKService (Font package) now accumulates various algorithms related to font support based on FreeType.

Thus only p.4 remains.

kgv

2016-08-22 23:17

developer   ~0056947

Please switch to "verified" - the dependency from C++ library FreeImagePlus (not C library FreeImage) has been eliminated within patch for 0027763

Issue History

Date Modified Username Field Change
2012-03-30 12:26 san New Issue
2012-03-30 12:26 san Assigned To => san
2012-03-30 12:30 san Description Updated
2012-03-30 13:07 kgv Description Updated
2012-03-30 13:25 Paddy Note Added: 0020222
2012-08-15 21:29 san Note Added: 0021245
2012-08-17 09:20 kgv Description Updated
2012-08-17 09:22 kgv Relationship added related to 0023272
2012-08-17 09:24 kgv Relationship added parent of 0023242
2012-10-02 14:49 Pawel Relationship added related to 0023457
2012-10-20 10:45 abv Target Version 6.5.4 => 6.6.0
2013-02-08 15:07 san Note Added: 0023291
2013-02-20 15:16 kgv Note Added: 0023414
2013-02-26 18:10 san Target Version 6.6.0 => 6.7.0
2013-11-06 16:13 kgv Note Added: 0026490
2013-11-06 16:13 kgv Target Version 6.7.0 => 6.7.1
2013-11-06 16:13 kgv Relationship added related to 0023415
2013-12-11 15:12 san Note Added: 0027171
2013-12-11 15:13 san Status new => assigned
2014-02-17 14:56 kgv Relationship added related to 0022582
2014-02-17 14:57 kgv Target Version 6.7.1 => 7.0.0
2014-09-29 22:55 kgv Target Version 7.0.0 => 7.1.0
2016-08-10 22:07 kgv Relationship added parent of 0027763
2016-08-22 23:17 kgv Note Added: 0056947
2016-08-22 23:17 kgv Assigned To san => bugmaster
2016-08-22 23:17 kgv Status assigned => feedback
2016-08-22 23:17 kgv Resolution open => fixed
2016-08-22 23:17 kgv Fixed in Version => 7.1.0
2016-08-23 11:54 bugmaster Status feedback => tested
2016-08-23 11:54 bugmaster Status tested => verified
2016-12-09 16:31 aiv Status verified => closed
2019-10-20 13:46 kgv Relationship added related to 0031087
2021-04-06 20:50 kgv Relationship added related to 0032268
2021-04-06 20:50 kgv Relationship added related to 0031401