MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0027805Open CASCADE[OCCT] OCCT:Visualizationpublic2016-08-24 22:232016-12-09 16:40
Reporterkgv 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 7.0.0 
Target Version[OCCT] 7.1.0Fixed in Version[OCCT] 7.1.0 
Summary0027805: Visualization - AIS_InteractiveContext::FitSelected() is broken for global selection
DescriptionAIS_InteractiveContext::FitSelected() is broken for global selection since #0026272.

+  const Handle(AIS_Selection)& aSelection = AIS_Selection::Selection (aSelName);
+  AIS_MapOfObjectOwners anObjectOwnerMap;
+  for (aSelection->Init(); aSelection->More(); aSelection->Next())
+  {
+    const Handle(AIS_InteractiveObject)& anObj =
+      Handle(AIS_InteractiveObject)::DownCast (aSelection->Value());
+    if (!anObj.IsNull())
+    {

The code used for checking global selection does not work anymore because AIS_Selection::Selection() is always SelectMgr_EntityOwner.

Note that some methods allows assigning to AIS_Selection interactive object which contradicts new selection logic - these places should be checked and AIS_Selection should be probably corrected.
Steps To Reproduce
pload MODELING VISUALIZATION
box b 1 2 3
vclear
vinit View1
vdisplay -dispMode 1 b
vfit
# OK - object fits the screen
vselect 200 200
vfit -selected
# KO - object does not fit the screen
TagsNo tags attached.
Test case numberbugs vis bug27805
Attached Filespng file icon fitsel_OK.png (2,753 bytes) 2016-08-24 22:24
png file icon fitsel_KO.png (2,682 bytes) 2016-08-24 22:25

- Relationships
related to 0026886closedbugmaster Open CASCADE Visualization, TKV3d - eliminate global variables 

-  Notes
(0057441)
git (administrator)
2016-09-03 12:24

Branch CR27805 has been created by kgv.

SHA-1: 19fb269e15d911042df20d41323aaba125052948


Detailed log of new commits:

Author: kgv
Date: Sat Sep 3 12:23:55 2016 +0300

    0027805: Visualization - AIS_InteractiveContext::FitSelected() is broken for global selection
    
    AIS_Selection class has been cleaned up:
    - SelectMgr_EntityOwner is now used in interface instead of Standard_Transient.
    - Method ::Select() has been renamed to ::Clear() for clarity.
    - Dropped unused class fields.
    - Owners without Selectable are not added to the list (should never happen).
    
    SelectMgr_SelectableObject::BndBoxOfSelected() has been modified
    to properly compute bounding box of ALL selection Entities
    for specified Owner (only first Entity has been used before the patch).
    
    Methods of AIS_InteractiveContext::DisplaySelected(), ::SetSelectedAspect(),
    ::FitSelected(), ::SubIntensityOff() have been fixed (wrong DownCast).
    AIS_InteractiveContext::AddSelect() now handles properly AIS_InteractiveObject as argument.
(0057442)
kgv (developer)
2016-09-03 12:24

Patch is ready for review.
(0057453)
git (administrator)
2016-09-05 12:56

Branch CR27805 has been updated forcibly by kgv.

SHA-1: 8fb7b960e9a74c0366a2a5bb37c2f1ec2b03da5e
(0057454)
san (developer)
2016-09-05 13:16

Branch CR27805 reviewed without remarks, ready for testing.
(0057496)
apv (tester)
2016-09-06 11:53

Dear BugMaster,

Branch CR27805 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 8fb7b960e9a74c0366a2a5bb37c2f1ec2b03da5e

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1141

Compilation error has been detected during building of MFC Products samples on Windows:
http://jenkins-test-05.nnov.opencascade.com/view/CR27805-master/job/CR27805-master-Products-Windows-64-VC10-mfc-samples/1/parsed_console/ [^]

Regressions/Differences:
Not detected

Testing cases:
bugs vis bug27805 - OK
http://occt-tests/CR27805-master-OCCT/Debian70-64/bugs/vis/bug27805.html [^]
http://occt-tests/CR27805-master-OCCT/Windows-64-VC10/bugs/vis/bug27805.html [^]

Testing on Linux:
Total MEMORY difference: 89773200 / 89481297 [+0.33%]
Total CPU difference: 19347.770000000095 / 19241.240000000013 [+0.55%]

Testing on Windows:
Total MEMORY difference: 57136785 / 57155154 [-0.03%]
Total CPU difference: 18043.418862198836 / 18057.115749998855 [-0.08%]
(0057497)
apv (tester)
2016-09-06 11:54

Dear Kirill,

Branch CR27805 has been rejected due to:
- compilation errors
(0057500)
kgv (developer)
2016-09-06 12:04

Branch CR27805 has been pushed to the Products repository.
It updates MFC/ShapeHealer sample - please check its compilation, regression testing is not needed.
(0057547)
apv (tester)
2016-09-07 11:40

Dear BugMaster,

Branch CR27805 from occt git-repository (and CR27805 from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 3437df85e9474a8d865713f7585fec95f50917bb
SHA-1: 18b1c66ac96df4e57f5dfbed00d2fd1205e65138

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1137

Regressions/Differences:
Not detected

Testing cases:
bugs vis bug27805 - OK
http://occt-tests/CR27805-CR27805-OCCT/Debian70-64/bugs/vis/bug27805.html [^]
http://occt-tests/CR27805-CR27805-OCCT/Windows-64-VC10/bugs/vis/bug27805.html [^]

Testing on Linux:
occt component:
Total MEMORY difference: 89759129 / 89458216 [+0.34%]
Total CPU difference: 19385.059999999954 / 19240.850000000013 [+0.75%]
products component:
Total MEMORY difference: 30061243 / 29985574 [+0.25%]
Total CPU difference: 5117.549999999982 / 5115.309999999973 [+0.04%]

Testing on Windows:
occt component:
Total MEMORY difference: 57138470 / 57155154 [-0.03%]
Total CPU difference: 17880.990620998913 / 18057.115749998855 [-0.98%]
products component:
Total MEMORY difference: 21259235 / 21225231 [+0.16%]
Total CPU difference: 4845.983863799949 / 4849.119483899957 [-0.06%]
(0059567)
git (administrator)
2016-10-28 21:48

Branch CR27805 has been deleted by kgv.

SHA-1: 8fb7b960e9a74c0366a2a5bb37c2f1ec2b03da5e

- Related Changesets
occt: master 02974a19
Timestamp: 2016-09-03 09:23:55
Author: kgv
Committer: bugmaster
Details ] Diff ]
0027805: Visualization - AIS_InteractiveContext::FitSelected() is broken for global selection

AIS_Selection class has been cleaned up:
- SelectMgr_EntityOwner is now used in interface instead of Standard_Transient.
- Method ::Select() has been renamed to ::Clear() for clarity.
- Dropped unused class fields.
- Owners without Selectable are not added to the list (should never happen).

SelectMgr_SelectableObject::BndBoxOfSelected() has been modified
to properly compute bounding box of ALL selection Entities
for specified Owner (only first Entity has been used before the patch).

Methods of AIS_InteractiveContext::DisplaySelected(), ::SetSelectedAspect(),
::FitSelected(), ::SubIntensityOff() have been fixed (wrong DownCast).
AIS_InteractiveContext::AddSelect() now handles properly AIS_InteractiveObject as argument.
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 ]
mod - src/AIS/AIS_InteractiveContext_2.cxx Diff ] File ]
mod - src/AIS/AIS_LocalContext.cxx Diff ] File ]
mod - src/AIS/AIS_LocalContext.hxx Diff ] File ]
mod - src/AIS/AIS_LocalContext_1.cxx Diff ] File ]
rm - src/AIS/AIS_NDataMapOfTransientIteratorOfListTransient.hxx Diff ] File ]
rm - src/AIS/AIS_NListIteratorOfListTransient.hxx Diff ] File ]
mod - src/AIS/AIS_Selection.cxx Diff ] File ]
mod - src/AIS/AIS_Selection.hxx Diff ] File ]
rm - src/AIS/AIS_Selection.lxx Diff ] File ]
mod - src/AIS/FILES Diff ] File ]
mod - src/SelectMgr/SelectMgr_SelectableObject.cxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_SelectableObject.hxx Diff ] File ]
add - tests/bugs/vis/bug27805 Diff ] File ]

- Issue History
Date Modified Username Field Change
2016-08-24 22:23 kgv New Issue
2016-08-24 22:23 kgv Assigned To => kgv
2016-08-24 22:23 kgv Relationship added related to 0026209
2016-08-24 22:23 kgv Relationship added related to 0026272
2016-08-24 22:23 kgv Assigned To kgv => vpa
2016-08-24 22:23 kgv Status new => assigned
2016-08-24 22:24 kgv File Added: fitsel_OK.png
2016-08-24 22:25 kgv File Added: fitsel_KO.png
2016-09-03 07:30 kgv Steps to Reproduce Updated View Revisions
2016-09-03 12:24 git Note Added: 0057441
2016-09-03 12:24 kgv Note Added: 0057442
2016-09-03 12:24 kgv Assigned To vpa => apl
2016-09-03 12:24 kgv Status assigned => resolved
2016-09-03 12:25 kgv Relationship added related to 0026886
2016-09-03 21:27 kgv Assigned To apl => san
2016-09-05 12:56 git Note Added: 0057453
2016-09-05 13:16 san Note Added: 0057454
2016-09-05 13:16 san Assigned To san => bugmaster
2016-09-05 13:16 san Status resolved => reviewed
2016-09-05 14:36 apv Assigned To bugmaster => apv
2016-09-05 16:35 apv Test case number => bugs vis bug27805
2016-09-06 11:53 apv Note Added: 0057496
2016-09-06 11:53 apv Assigned To apv => kgv
2016-09-06 11:53 apv Status reviewed => assigned
2016-09-06 11:54 apv Note Added: 0057497
2016-09-06 12:04 kgv Note Added: 0057500
2016-09-06 12:04 kgv Assigned To kgv => bugmaster
2016-09-06 12:04 kgv Status assigned => resolved
2016-09-06 12:04 kgv Status resolved => reviewed
2016-09-06 12:46 apv Assigned To bugmaster => apv
2016-09-07 11:40 apv Note Added: 0057547
2016-09-07 11:40 apv Assigned To apv => bugmaster
2016-09-07 11:40 apv Status reviewed => tested
2016-09-09 09:40 bugmaster Changeset attached => occt master 02974a19
2016-09-09 09:40 bugmaster Status tested => verified
2016-09-09 09:40 bugmaster Resolution open => fixed
2016-10-28 21:48 git Note Added: 0059567
2016-12-09 16:29 user533 Status verified => closed
2016-12-09 16:40 user533 Fixed in Version => 7.1.0


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker