MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0030153Open CASCADE[OCCT] OCCT:Visualizationpublic2018-09-21 12:432018-09-30 18:47
Reportermnv 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusverifiedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 7.1.0 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0030153: Visualization, TKOpenGl - AIS_ColoredShape::SynchronizeAspects() doesn't update all aspects
DescriptionOpenGl_Group::SetGroupPrimitivesAspect method not work properly in some cases, because part of aspect fields is cached and updated only for the whole group. But in some cases is needed to update aspect fields for every group members.
Steps To ReproduceNot required
TagsNo tags attached.
Test case numberNot needed
Attached Files

- Relationships

-  Notes
(0079355)
git (administrator)
2018-09-24 12:40

Branch CR30153 has been created by mnv.

SHA-1: e86d161db03d23240b8225cf21beaaca243e4b78


Detailed log of new commits:

Author: mnv
Date: Mon Sep 24 11:53:12 2018 +0300

    0030153: Visualization - In some cases Graphic3d_Aspect not applied for models which contain many groups
    
    Added new virtual method OpenGl_Element::UpdateParameters().
    This method is needed for updating aspects for all OpenGl group members.
    Added new virtual method Graphic3d_Group::UpdateAspects().
    This method is overriden in OpenGl_Group and implement logic for updating presentation aspects after their modification.
(0079358)
kgv (developer)
2018-09-24 12:53

+  //! Update presentation aspects after their modification.
+  Standard_EXPORT virtual void UpdateAspects() Standard_OVERRIDE;

It would be better calling method in the same way as where it is actually used - e.g. AIS_InteractiveObject::SynchronizeAspects().

+  //! Update parameters of the drawable elements.
+  virtual void UpdateParameters() = 0;

It doesn't look reasonable forcing every OpenGl_Element implementation defining this method.

+  OpenGl_ElementNode* aNode = myFirst;
+  while (aNode != NULL)
+  {

for(;;) loop syntax is preferable.

@@ -101,6 +116,7 @@ void OpenGl_Group::SetGroupPrimitivesAspect (const Handle(Graphic3d_AspectLine3d
   
{
     myAspectLine->SetAspect (theAspect);
   }
+  updateGroupElementNodes();

These updateGroupElementNodes() in Set**Aspect() look unrelated and redundant.
(0079369)
git (administrator)
2018-09-24 17:18

Branch CR30153_1 has been created by mnv.

SHA-1: fc117be7e5065b14f4580e431f75260c39f15e82


Detailed log of new commits:

Author: mnv
Date: Mon Sep 24 11:53:12 2018 +0300

    0030153: Visualization, TKOpenGl - AIS_ColoredShape::SynchronizeAspects() doesn't update all aspects
    
    Added new virtual method OpenGl_Element::UpdateParameters().
    This method is needed for updating aspects for all OpenGl group members.
    Added new virtual method Graphic3d_Group::SynchronizeAspects().
    This method is overriden in OpenGl_Group and implement logic for updating presentation aspects after their modification.
(0079390)
git (administrator)
2018-09-25 14:07

Branch CR30153_1 has been updated forcibly by mnv.

SHA-1: 0b9ed5ad78af0447c0b277c855f947fdcd52ca0f
(0079393)
git (administrator)
2018-09-25 15:10

Branch CR30153_1 has been updated forcibly by mnv.

SHA-1: b379bb28bc9f930b0ff813393c11ee579e5f3818
(0079400)
mnv (developer)
2018-09-25 17:09

Patch is ready for review.
http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR30153-master-MNV/view/ALL/ [^]
(0079401)
git (administrator)
2018-09-25 18:32

Branch CR30153_2 has been created by kgv.

SHA-1: 7b840121f09213133cf7b5863bf0338960bf2d8d


Detailed log of new commits:

Author: mnv
Date: Mon Sep 24 11:53:12 2018 +0300

    0030153: Visualization, TKOpenGl - AIS_ColoredShape::SynchronizeAspects() doesn't update all aspects
    
    AIS_InteractiveObject::SynchronizeAspects() now propagates event
    to OpenGl_Group::SynchronizeAspects() which properly handles
    all aspects defined within the group.
(0079404)
kgv (developer)
2018-09-25 19:50

Please take the patch.
(0079408)
bugmaster (administrator)
2018-09-26 12:14

Combination -
OCCT branch : CR30153_1 SHA - b379bb28bc9f930b0ff813393c11ee579e5f3818
Products branch : master SHA - f9065a267b8d853b9b62de5a81af9e9e51bc8d26
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17202.059999999743 / 17379.439999999933 [-1.02%]
Products
Total CPU difference: 7450.570000000066 / 7467.690000000077 [-0.23%]
Windows-64-VC14:
OCCT
Total CPU difference: 17412.784819698452 / 17536.33761169853 [-0.70%]
Products
Total CPU difference: 8346.287501499997 / 8382.276932199968 [-0.43%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0079507)
git (administrator)
2018-09-30 18:47

Branch CR30153_2 has been deleted by inv.

SHA-1: 7b840121f09213133cf7b5863bf0338960bf2d8d
(0079508)
git (administrator)
2018-09-30 18:47

Branch CR30153_1 has been deleted by inv.

SHA-1: b379bb28bc9f930b0ff813393c11ee579e5f3818
(0079509)
git (administrator)
2018-09-30 18:47

Branch CR30153 has been deleted by inv.

SHA-1: e86d161db03d23240b8225cf21beaaca243e4b78

- Related Changesets
occt: master eaac0866
Timestamp: 2018-09-24 08:53:12
Author: mnv
Committer: bugmaster
Details ] Diff ]
0030153: Visualization, TKOpenGl - AIS_ColoredShape::SynchronizeAspects() doesn't update all aspects

AIS_InteractiveObject::SynchronizeAspects() now propagates event
to OpenGl_Group::SynchronizeAspects() which properly handles
all aspects defined within the group.
mod - src/AIS/AIS_InteractiveObject.cxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_Group.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectFace.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectLine.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectMarker.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectText.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Element.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Group.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Group.hxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2018-09-21 12:43 mnv New Issue
2018-09-21 12:43 mnv Assigned To => kgv
2018-09-21 12:44 mnv Assigned To kgv => mnv
2018-09-21 12:44 mnv Status new => assigned
2018-09-24 12:40 git Note Added: 0079355
2018-09-24 12:44 kgv Summary Visualization - In some cases Graphic3d_Aspect not applied for models which contain many groups => Visualization, TKOpenGl - AIS_ColoredShape::SynchronizeAspects() doesn't update all aspects
2018-09-24 12:53 kgv Note Added: 0079358
2018-09-24 17:18 git Note Added: 0079369
2018-09-25 14:07 git Note Added: 0079390
2018-09-25 15:10 git Note Added: 0079393
2018-09-25 17:09 mnv Note Added: 0079400
2018-09-25 17:09 mnv Assigned To mnv => kgv
2018-09-25 17:09 mnv Status assigned => resolved
2018-09-25 17:09 mnv Steps to Reproduce Updated View Revisions
2018-09-25 18:32 git Note Added: 0079401
2018-09-25 19:50 kgv Note Added: 0079404
2018-09-25 19:50 kgv Assigned To kgv => bugmaster
2018-09-25 19:50 kgv Status resolved => reviewed
2018-09-25 19:52 kgv Relationship added child of 0027682
2018-09-25 19:52 kgv Product Version => 7.1.0
2018-09-26 12:11 bugmaster Test case number => Not needed
2018-09-26 12:14 bugmaster Note Added: 0079408
2018-09-26 12:14 bugmaster Status reviewed => tested
2018-09-30 18:26 bugmaster Changeset attached => occt master eaac0866
2018-09-30 18:26 bugmaster Status tested => verified
2018-09-30 18:26 bugmaster Resolution open => fixed
2018-09-30 18:47 git Note Added: 0079507
2018-09-30 18:47 git Note Added: 0079508
2018-09-30 18:47 git Note Added: 0079509


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker