View Issue Details

IDProjectCategoryView StatusLast Update
0030728Open CASCADEOCCT:Visualizationpublic2020-11-30 11:00
Reporternds Assigned Tobugmaster  
PrioritynormalSeverityintegration request 
Status closedResolutionfixed 
Target Version7.4.0Fixed in Version7.4.0 
Summary0030728: Visualization - using one implementation of highlight/unhighlight in context
DescriptionIt is proposed to move logic of highlight/unhighlight in two separate methods in AIS_InteractiveContext and update highlight state by using the methods only.
TagsNo tags attached.
Test case numberNot required

Relationships

parent of 0031965 closedbugmaster Community Visualization - AIS_InteractiveContext::HilightWithColor() ignores passed highlight style [regression] 

Activities

git

2019-05-22 17:33

administrator   ~0084552

Branch CR30728 has been created by nds.

SHA-1: 36b87936acf5a89d573663b5e8d086a4a4a084d3


Detailed log of new commits:

Author: nds
Date: Wed May 22 17:33:02 2019 +0300

    0030728: Visualization - using one implementation of highlight/unhighlight in context

git

2019-06-04 22:19

administrator   ~0084831

Branch CR30728_1 has been created by nds.

SHA-1: 32b949305614baa81e6e0c6e037d8641be739ab1


Detailed log of new commits:

Author: nds
Date: Wed May 22 17:33:02 2019 +0300

    0030728: Visualization - using one implementation of highlight/unhighlight in context

git

2019-06-04 23:16

administrator   ~0084834

Branch CR30728_1 has been updated by nds.

SHA-1: ef29a0836580b047dfc63aafdec510ab11f7bdbe


Detailed log of new commits:

Author: nds
Date: Tue Jun 4 23:15:52 2019 +0300

    0030728: Visualization - using one implementation of highlight/unhighlight in context
    
    #compilation correction

git

2019-06-04 23:20

administrator   ~0084835

Branch CR30728_2 has been created by nds.

SHA-1: dd23cc853300487f6e13bb929800821a099fa29a


Detailed log of new commits:

Author: nds
Date: Tue Jun 4 23:19:59 2019 +0300

    0030728: Visualization - using one implementation of highlight/unhighlight in context

kgv

2019-06-05 10:02

developer   ~0084843

--- a/src/AIS/AIS_InteractiveContext.cxx
+++ b/src/AIS/AIS_InteractiveContext.cxx
@@ -1947,7 +1947,9 @@ void AIS_InteractiveContext::EraseGlobal (const Handle(AIS_InteractiveObject)& t
   }
 
   const Standard_Integer aDispMode = theIObj->HasHilightMode() ? theIObj->HilightMode() : 0;
-  unhighlightOwners (theIObj);
+  AIS_NListOfEntityOwner anOwners;
+  anOwners.Append(theIObj->GlobalSelOwner());
+  unhighlightOwners (anOwners);

I would expect this breaking #0030717 back, doesn't it?

git

2019-08-02 15:49

administrator   ~0085995

Branch CR30728_3 has been created by nds.

SHA-1: 1ea5dd67b1890fd7002cd2be6682fda2fef09cfb


Detailed log of new commits:

Author: nds
Date: Tue Jun 4 23:19:59 2019 +0300

    0030728: Visualization - using one implementation of highlight/unhighlight in context
    
    (cherry picked from commit dd23cc853300487f6e13bb929800821a099fa29a)

git

2019-08-15 07:37

administrator   ~0086251

Branch CR30728_3 has been updated by nds.

SHA-1: e62abffbf6139d6d4b39ff8dea87d6e5f178a010


Detailed log of new commits:

Author: nds
Date: Thu Aug 15 07:35:04 2019 +0300

    0030728: Visualization - using one implementation of highlight/unhighlight in context
    
    # correction for regression in clear selection.

git

2019-08-15 07:54

administrator   ~0086252

Branch CR30728_4 has been created by nds.

SHA-1: 55c834662df4394843ffe5934ae759c394def3d6


Detailed log of new commits:

Author: nds
Date: Tue Jun 4 23:19:59 2019 +0300

    0030728: Visualization - using one implementation of highlight/unhighlight in context

nds

2019-08-15 12:13

developer   ~0086258

Dear Kirill,

it is ready for review.

Job: http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR30728_3-master-NDS/
(One failed case comes with WEEK-33 were the branch started)

Thank you in advance, Natalia

kgv

2019-08-16 16:17

developer   ~0086288

+  //! Helper function that highlights the owners given with <theStyle> with check
+  //! for AutoHighlight, e.g. is used for selection.
+  Standard_EXPORT void highlightOwners (const AIS_NListOfEntityOwner& theOwners,
+                                        const Standard_Boolean& theToUseObjectDisplayMode);

Why Standard_Boolean&?
The description does not match method.

  //! Helper function that highlights the owners given with <theStyle> with check
  //! for AutoHighlight, e.g. is used for selection.
  Standard_EXPORT void unhighlightOwners (const AIS_NListOfEntityOwner& theOwners,
                                          const Standard_Boolean theIsToHilightSubIntensity = Standard_False);

The description does not match method.

-    Handle(AIS_GlobalStatus) aStatus;
-    if (!myObjects.Find (anInteractive, aStatus))
-    {
-      continue;
-    }
+    Handle(AIS_GlobalStatus)& aStatus = myObjects.ChangeFind (anInteractive);
...
-        if (aStatus->IsSubIntensityOn())
+        if (!aStatus.IsNull() && aStatus->IsSubIntensityOn())

This does not work like this - either ChangeFind() should be replaced with seekers, or NULL check should be removed (myObjects never contains NULL entities).

kgv

2019-08-16 16:20

developer   ~0086289

-    const Standard_Integer aHiMode = getHilightMode (anObj, aStyle, -1);
+  highlightOwners (anOwners, Standard_False/*check if it is really important*/);

As AIS_InteractiveContext::highlightSelected() is expected to be called on displayed object, I think that Standard_False and this flag is unnecessary.

git

2019-08-19 16:01

administrator   ~0086339

Branch CR30728_4 has been updated by nds.

SHA-1: c44e991189bf66ea65738ceb9e98ae3144139028


Detailed log of new commits:

Author: nds
Date: Mon Aug 19 15:58:27 2019 +0300

    0030728: Visualization - using one implementation of highlight/unhighlight in context
    
    # remarks correction

git

2019-08-19 16:04

administrator   ~0086340

Branch CR30728_5 has been created by nds.

SHA-1: 021714ea264358c2c9a55718eb8a154f72a1c272


Detailed log of new commits:

Author: nds
Date: Mon Aug 19 16:01:48 2019 +0300

    0030728: Visualization - using one implementation of highlight/unhighlight in context
    
    # remarks correction

nds

2019-08-20 06:56

developer   ~0086344

Dear Kirill,

remarks are corrected. Could you please check the branch once again.

Job: http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR30728_3-master-NDS/

Thank you for your help, Natalia

kgv

2019-08-20 09:10

developer   ~0086346

Last edited: 2019-08-20 09:11

-      highlightGlobal (theIObj, aStatus->HilightStyle(), theDispMode);
+      highlightGlobal (theIObj, aStatus->HilightStyle());
...
-  const Standard_Integer aHiMode = getHilightMode (theObj, theStyle, theDispMode);
+  const Handle(AIS_GlobalStatus)& aStatus = myObjects (theObj);
+  const Standard_Integer aHiMode = getHilightMode (theObj, theStyle, aStatus->DisplayMode());

This change adds one extra map lookup, which in most cases is redundant.
Could you please avoid this?

git

2019-08-20 11:26

administrator   ~0086358

Branch CR30728_5 has been updated by nds.

SHA-1: 9c88ed07e2aa03d0c5366dfc97395946e1dd8be4


Detailed log of new commits:

Author: nds
Date: Tue Aug 20 11:23:37 2019 +0300

    0030728: Visualization - using one implementation of highlight/unhighlight in context
    
    # remark correction

git

2019-08-20 11:55

administrator   ~0086360

Branch CR30728_6 has been created by nds.

SHA-1: db52e4bf683e8078251b8866b48834e53c2f00df


Detailed log of new commits:

Author: nds
Date: Tue Aug 20 11:52:27 2019 +0300

    0030728: Visualization - using one implementation of highlight/unhighlight in context
    
    New internal methods:
     - highlightOwners/unhighlightOwners with container of owners as an argument.
    
    Modifications:
    - SetSelected: SetHilightStatus/SetHilightStyle has removed as processed for global owner in highlightOwners() from highlightSelected(),
    - AddOrRemoveSelected: functionality of SetHilightStatus/SetHilightStyle/ClearSelected is implemented in unhighlightOwners.
    - highlightGlobal/unhighlightGlobal are not const as called from not const methods.

nds

2019-08-20 11:57

developer   ~0086361

Done.

bugmaster

2019-08-20 19:40

administrator   ~0086377

Combination -
OCCT branch : CR30728_6
master SHA - db52e4bf683e8078251b8866b48834e53c2f00df
5f5b1aed1c6e139bbd34314eca77ae7abcd8895c
Products branch : master SHA - 32e882a7b3145a66baa739f965d275c822c0bd8a
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: 16106.09000000008 / 16105.290000000065 [+0.00%]
Products
Total CPU difference: 10499.850000000037 / 10484.700000000048 [+0.14%]
Windows-64-VC14:
OCCT
Total CPU difference: 18119.703125 / 18149.296875 [-0.16%]
Products
Total CPU difference: 12106.671875 / 12045.34375 [+0.51%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

apn

2019-08-23 15:42

administrator   ~0086439

There are differences in images:

v3d mesh B3: B3.png differs [3423 different pixels]
v3d mesh A2: A2.png differs [3238 different pixels]
http://occt-tests/CR30728_3-master-NDS-OCCT/Debian80-64/diff-Debian80-64-image.html
http://occt-tests/CR30728_3-master-NDS-OCCT/Windows-64-VC14/diff-Windows-64-VC14-image.html

git

2019-09-04 10:01

administrator   ~0086714

Branch CR30728_6 has been updated by nds.

SHA-1: f34884bfc6cfa14cbd657b2ea6ade317162de513


Detailed log of new commits:

Author: nds
Date: Wed Sep 4 09:47:42 2019 +0300

    0030728: Visualization - using one implementation of highlight/unhighlight in context
    
    #fix regression found by DRAW tests - restore previous owners collecting in case of !IsAutoHighlight

git

2019-09-04 10:03

administrator   ~0086715

Branch CR30728_7 has been created by nds.

SHA-1: 22a1922570729f06402e235ebf4490682aa44a33


Detailed log of new commits:

Author: nds
Date: Wed Sep 4 10:00:42 2019 +0300

    0030728: Visualization - using one implementation of highlight/unhighlight in context

nds

2019-09-04 13:19

developer   ~0086731

Dear Kirill,

could you please check the patch once again. (Some previous code is obligatory, it has been removed in previous fix, restored now)

The wrong images are corrected.
Job: http://jenkins-test-12.nnov.opencascade.com/view/CR30728_3-master-NDS/

Thank you in advance, Natalia

bugmaster

2019-09-04 16:43

administrator   ~0086739

Combination -
OCCT branch : CR30728_7
master SHA - 22a1922570729f06402e235ebf4490682aa44a33
5f5b1aed1c6e139bbd34314eca77ae7abcd8895c
Products branch : master SHA - 34e9bf11c6b525830b5dee35839707da81e7d1ab
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
---
Products
---
Windows-64-VC14:
OCCT
Total CPU difference: 18231.765625 / 18256.515625 [-0.14%]
Products
Total CPU difference: 11993.59375 / 12168.265625 [-1.44%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2019-09-07 16:26

administrator   ~0086936

Branch CR30728_7 has been deleted by inv.

SHA-1: 22a1922570729f06402e235ebf4490682aa44a33

git

2019-09-07 16:27

administrator   ~0086937

Branch CR30728_6 has been deleted by inv.

SHA-1: f34884bfc6cfa14cbd657b2ea6ade317162de513

git

2019-09-07 16:27

administrator   ~0086947

Branch CR30728_5 has been deleted by inv.

SHA-1: 9c88ed07e2aa03d0c5366dfc97395946e1dd8be4

git

2019-09-07 16:27

administrator   ~0086948

Branch CR30728_4 has been deleted by inv.

SHA-1: c44e991189bf66ea65738ceb9e98ae3144139028

git

2019-09-07 16:27

administrator   ~0086949

Branch CR30728_3 has been deleted by inv.

SHA-1: e62abffbf6139d6d4b39ff8dea87d6e5f178a010

git

2019-09-07 16:27

administrator   ~0086953

Branch CR30728_2 has been deleted by inv.

SHA-1: dd23cc853300487f6e13bb929800821a099fa29a

git

2019-09-07 16:27

administrator   ~0086954

Branch CR30728_1 has been deleted by inv.

SHA-1: ef29a0836580b047dfc63aafdec510ab11f7bdbe

git

2019-09-07 16:27

administrator   ~0086955

Branch CR30728 has been deleted by inv.

SHA-1: 36b87936acf5a89d573663b5e8d086a4a4a084d3

Related Changesets

occt: master 741c4f3e

2019-09-04 07:00:42

nds


Committer: bugmaster Details Diff
0030728: Visualization - using one implementation of highlight/unhighlight in context Affected Issues
0030728
mod - src/AIS/AIS_InteractiveContext.cxx Diff File
mod - src/AIS/AIS_InteractiveContext.hxx Diff File
mod - src/AIS/AIS_InteractiveContext_1.cxx Diff File

Issue History

Date Modified Username Field Change
2019-05-22 17:31 nds New Issue
2019-05-22 17:31 nds Assigned To => kgv
2019-05-22 17:33 git Note Added: 0084552
2019-05-22 17:35 nds Assigned To kgv => nds
2019-06-04 22:19 git Note Added: 0084831
2019-06-04 23:16 git Note Added: 0084834
2019-06-04 23:20 git Note Added: 0084835
2019-06-05 10:02 kgv Note Added: 0084843
2019-07-17 07:04 nds Target Version 7.4.0 => 7.5.0
2019-08-02 15:49 git Note Added: 0085995
2019-08-15 07:37 git Note Added: 0086251
2019-08-15 07:54 git Note Added: 0086252
2019-08-15 12:13 nds Note Added: 0086258
2019-08-15 12:13 nds Assigned To nds => kgv
2019-08-15 12:13 nds Status new => resolved
2019-08-16 16:17 kgv Note Added: 0086288
2019-08-16 16:17 kgv Assigned To kgv => nds
2019-08-16 16:17 kgv Status resolved => assigned
2019-08-16 16:20 kgv Note Added: 0086289
2019-08-19 16:01 git Note Added: 0086339
2019-08-19 16:04 git Note Added: 0086340
2019-08-20 06:56 nds Note Added: 0086344
2019-08-20 06:56 nds Assigned To nds => kgv
2019-08-20 06:56 nds Status assigned => resolved
2019-08-20 06:56 nds Target Version 7.5.0 => 7.4.0
2019-08-20 09:10 kgv Note Added: 0086346
2019-08-20 09:10 kgv Assigned To kgv => nds
2019-08-20 09:10 kgv Status resolved => assigned
2019-08-20 09:11 kgv Note Edited: 0086346
2019-08-20 11:26 git Note Added: 0086358
2019-08-20 11:55 git Note Added: 0086360
2019-08-20 11:57 nds Note Added: 0086361
2019-08-20 11:57 nds Assigned To nds => kgv
2019-08-20 11:57 nds Status assigned => resolved
2019-08-20 12:18 kgv Assigned To kgv => bugmaster
2019-08-20 12:18 kgv Severity minor => integration request
2019-08-20 12:18 kgv Status resolved => reviewed
2019-08-20 19:39 bugmaster Test case number => Not required
2019-08-20 19:40 bugmaster Note Added: 0086377
2019-08-20 19:40 bugmaster Status reviewed => tested
2019-08-23 15:42 apn Note Added: 0086439
2019-08-23 15:42 apn Assigned To bugmaster => nds
2019-08-23 15:42 apn Status tested => assigned
2019-09-04 10:01 git Note Added: 0086714
2019-09-04 10:03 git Note Added: 0086715
2019-09-04 13:19 nds Note Added: 0086731
2019-09-04 13:19 nds Assigned To nds => kgv
2019-09-04 13:19 nds Status assigned => resolved
2019-09-04 15:05 kgv Assigned To kgv => bugmaster
2019-09-04 15:05 kgv Status resolved => reviewed
2019-09-04 16:43 bugmaster Note Added: 0086739
2019-09-04 16:43 bugmaster Status reviewed => tested
2019-09-07 11:38 bugmaster Changeset attached => occt master 741c4f3e
2019-09-07 11:38 bugmaster Status tested => verified
2019-09-07 11:38 bugmaster Resolution open => fixed
2019-09-07 16:26 git Note Added: 0086936
2019-09-07 16:27 git Note Added: 0086937
2019-09-07 16:27 git Note Added: 0086947
2019-09-07 16:27 git Note Added: 0086948
2019-09-07 16:27 git Note Added: 0086949
2019-09-07 16:27 git Note Added: 0086953
2019-09-07 16:27 git Note Added: 0086954
2019-09-07 16:27 git Note Added: 0086955
2020-11-30 11:00 kgv Relationship added parent of 0031965