MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0030728Open CASCADE[OCCT] OCCT:Visualizationpublic2019-05-22 17:312019-09-07 16:27
Reporternds 
Assigned Tobugmaster 
PrioritynormalSeverityintegration request 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.4.0Fixed in Version[OCCT] 7.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
Attached Files

- Relationships

-  Notes
(0084552)
git (administrator)
2019-05-22 17:33

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
(0084831)
git (administrator)
2019-06-04 22:19

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
(0084834)
git (administrator)
2019-06-04 23:16

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

(0084835)
git (administrator)
2019-06-04 23:20

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
(0084843)
kgv (developer)
2019-06-05 10:02

--- 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?
(0085995)
git (administrator)
2019-08-02 15:49

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)
(0086251)
git (administrator)
2019-08-15 07:37

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.

(0086252)
git (administrator)
2019-08-15 07:54

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
(0086258)
nds (developer)
2019-08-15 12:13

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
(0086288)
kgv (developer)
2019-08-16 16:17

+  //! 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).
(0086289)
kgv (developer)
2019-08-16 16:20

-    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.
(0086339)
git (administrator)
2019-08-19 16:01

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

(0086340)
git (administrator)
2019-08-19 16:04

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
(0086344)
nds (developer)
2019-08-20 06:56

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
(0086346)
kgv (developer)
2019-08-20 09:10
edited on: 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?

(0086358)
git (administrator)
2019-08-20 11:26

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

(0086360)
git (administrator)
2019-08-20 11:55

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.
(0086361)
nds (developer)
2019-08-20 11:57

Done.
(0086377)
bugmaster (administrator)
2019-08-20 19:40

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
(0086439)
apn (administrator)
2019-08-23 15:42

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 [^]
(0086714)
git (administrator)
2019-09-04 10:01

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

(0086715)
git (administrator)
2019-09-04 10:03

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
(0086731)
nds (developer)
2019-09-04 13:19

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
(0086739)
bugmaster (administrator)
2019-09-04 16:43

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
(0086936)
git (administrator)
2019-09-07 16:26

Branch CR30728_7 has been deleted by inv.

SHA-1: 22a1922570729f06402e235ebf4490682aa44a33
(0086937)
git (administrator)
2019-09-07 16:27

Branch CR30728_6 has been deleted by inv.

SHA-1: f34884bfc6cfa14cbd657b2ea6ade317162de513
(0086947)
git (administrator)
2019-09-07 16:27

Branch CR30728_5 has been deleted by inv.

SHA-1: 9c88ed07e2aa03d0c5366dfc97395946e1dd8be4
(0086948)
git (administrator)
2019-09-07 16:27

Branch CR30728_4 has been deleted by inv.

SHA-1: c44e991189bf66ea65738ceb9e98ae3144139028
(0086949)
git (administrator)
2019-09-07 16:27

Branch CR30728_3 has been deleted by inv.

SHA-1: e62abffbf6139d6d4b39ff8dea87d6e5f178a010
(0086953)
git (administrator)
2019-09-07 16:27

Branch CR30728_2 has been deleted by inv.

SHA-1: dd23cc853300487f6e13bb929800821a099fa29a
(0086954)
git (administrator)
2019-09-07 16:27

Branch CR30728_1 has been deleted by inv.

SHA-1: ef29a0836580b047dfc63aafdec510ab11f7bdbe
(0086955)
git (administrator)
2019-09-07 16:27

Branch CR30728 has been deleted by inv.

SHA-1: 36b87936acf5a89d573663b5e8d086a4a4a084d3

- Related Changesets
occt: master 741c4f3e
Timestamp: 2019-09-04 07:00:42
Author: nds
Committer: bugmaster
Details ] Diff ]
0030728: Visualization - using one implementation of highlight/unhighlight in context
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 View Revisions
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


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker