View Issue Details

IDProjectCategoryView StatusLast Update
0023117Open CASCADEOCCT:Visualizationpublic2016-04-20 15:49
ReportersanAssigned Tobugmaster  
PrioritynormalSeverityintegration request 
Status closedResolutionfixed 
Product Version6.5.3 
Target Version7.0.0Fixed in Version7.0.0 
Summary0023117: TKV3d and TKOpenGl code clean-up
DescriptionIt is necessary to continue removal of obsolete code parts from TKV3d and TKOpenGl sources started by 0022971.

The candidates for removal:
1. Aspect_POM_None polygon offset mode and the code that processes it in a special way. After 0022819 keeping this mode seems to cause logical errors in some cases due to changed approach to application of aspects in TKOpenGl. However, this is to be checked in projects that use polygon offsets intensively.

2. Aspects at the level of Graphic3d_Structure and OpenGl_Structure.
Currently, if e.g. a face aspect is defined at structure level, and a group inside this structure also defines a face aspect, then the structure's one is simply ignored. Since it is a common practice to define the necessary aspects at the level of the current group (not at the level of the structure), holding structure aspects is of no use.

3. Revision of underlayer/overlayer opertaion
It is suggested to eliminate usage of display lists from underlayer and overlayer. Having a set of Visual3d_LayerItem which are redrawn dynamically when the scene is redrawn seems enough. Moreover, currently the display list associated with an underlayer/overlayer seems always empty. So simplification of layer opertaion looks reasonable.

4. Get rid of Visual3d_LayerMgr
Role of this class is not clear. Visual3d_Layer holding a list of Visual3d_LayerItem objects seems enough to manage arbitrary 2D drawings on the 3D scene.

5. Remove the list of primitive arrays from Graphic3d_Group
Currently the list of primitive arrays added to the group is stored in the group. Probably this was necessary for array modification, however it is not clear if this is still applicable, especially taking into account VBO usage for primitive array rendering.
It looks reasonable to remove this list from the group, and also think how to make memory management in primitive arrays more consistent (allocate and deallocate them at the graphic driver side?).

To be continued...
TagsNo tags attached.
Test case number


related to 0023115 closedsan Polygon offset doesn't applied in Viewer3D sample 
parent of 0023634 closedkgv Eliminate Polyline and Polygon usage in drawers 
parent of 0024704 closedbugmaster Visualization - inherit OpenGl_Structure from Graphic3d_CStructure 
parent of 0024752 closedbugmaster Visualization - inherit OpenGl_Group from Graphic3d_Group 
parent of 0024141 assignedvpozdyayev Draw Harness, ViewerTest - AIS_InteractiveContext should be explicitly cleared before removal 
parent of 0024776 closedkgv Visualization - inherit OpenGl_View from Graphic3d_CView 
parent of 0024406 closedapn Visualization - crash on re-usage of the same primitive array 
parent of 0025575 closedbugmaster Visualization - remove V3d_Static.hxx 
parent of 0025629 closedbugmaster Visualization, AIS_InteractiveContext - code clean up 
parent of 0026805 closedbugmaster Visualization, Graphic3d_GraphicDriver - drop outdated unsupported methods for debugging 
parent of 0026885 closedbugmaster Visualization - drop redundant aspects from structure level 
parent of 0026886 closedbugmaster Visualization, TKV3d - eliminate global variables 
related to 0023484 closedbugmaster Visualization, TKOpenGl - primitive arrays to become the only way to render geometry 
related to 0026806 newvpozdyayev Improper design of some classes in Graphic3d 
Not all the children of this issue are yet resolved or closed.



2012-07-19 16:03

manager   ~0021073

Hi Sergey, I pushed some modifications to CR23117, please have a look.


2012-12-12 11:20

developer   ~0022669

Dear kgv,

The first part of changes is now in branch CR23117_1, could you please review and give your remarks?


2015-07-27 14:18

administrator   ~0043567

Branch CR23117_grp has been deleted by kgv.

SHA-1: 813960464b6fb379a035b0e238b434fc531367a5


2015-07-27 15:01

administrator   ~0043579

Branch CR23117 has been deleted by kgv.

SHA-1: 7e3a6d337895d23913c2e1c467a14a128a3dafbf


2015-07-27 15:01

administrator   ~0043580

Branch CR23117_3 has been deleted by kgv.

SHA-1: 746e9e7f202aac8401092bf38770874a2eb1cfcd


2015-11-17 16:05

developer   ~0048293

Dear bugmaster,

please switch this issue to verified since the key objectives in original description have been achieved.

Issue History

Date Modified Username Field Change
2012-04-19 15:42 san New Issue
2012-04-19 15:42 san Assigned To => san
2012-04-19 15:43 san Relationship added related to 0023115
2012-06-05 20:08 san Description Updated
2012-06-29 18:39 san Description Updated
2012-07-19 16:03 szv Note Added: 0021073
2012-07-19 16:03 szv Status new => feedback
2012-10-21 11:33 abv Target Version 6.5.4 => 6.6.0
2012-10-23 10:32 san Relationship added related to 0023484
2012-12-12 11:20 san Note Added: 0022669
2012-12-12 11:20 san Status feedback => assigned
2012-12-12 11:20 san Assigned To san => kgv
2012-12-12 18:05 kgv Relationship added parent of 0023634
2013-02-20 18:52 kgv Target Version 6.6.0 => 6.7.0
2013-10-18 07:39 kgv Target Version 6.7.0 => 6.7.1
2014-02-17 14:58 kgv Target Version 6.7.1 => 7.0.0
2014-03-08 21:03 kgv Relationship added parent of 0024704
2014-03-22 17:21 kgv Relationship added parent of 0024752
2014-03-29 10:27 kgv Relationship added parent of 0024141
2014-03-29 10:47 kgv Relationship added parent of 0024776
2014-03-29 10:49 kgv Relationship added parent of 0024406
2014-09-12 14:30 kgv Target Version 7.0.0 => 7.1.0
2014-12-09 14:34 kgv Relationship added parent of 0025575
2014-12-19 09:13 kgv Relationship added parent of 0025629
2015-07-27 14:18 git Note Added: 0043567
2015-07-27 15:01 git Note Added: 0043579
2015-07-27 15:01 git Note Added: 0043580
2015-10-23 21:46 kgv Relationship added parent of 0026805
2015-10-24 08:50 kgv Relationship added related to 0026806
2015-11-17 16:00 kgv Relationship added parent of 0026885
2015-11-17 16:02 kgv Relationship added parent of 0026886
2015-11-17 16:05 kgv Note Added: 0048293
2015-11-17 16:05 kgv Assigned To kgv => bugmaster
2015-11-17 16:05 kgv Severity minor => integration request
2015-11-17 16:05 kgv Status assigned => feedback
2015-11-17 16:05 kgv Resolution open => fixed
2015-11-17 16:05 kgv Target Version 7.1.0 => 7.0.0
2015-11-17 16:10 bugmaster Status feedback => tested
2015-11-17 16:10 bugmaster Status tested => verified
2016-04-20 15:44 aiv Fixed in Version => 7.0.0
2016-04-20 15:49 aiv Status verified => closed