MantisBT - Open CASCADE
View Issue Details
0026886Open CASCADE[OCCT] OCCT:Codingpublic2015-11-17 16:022016-12-09 16:38
kgv 
bugmaster 
normalminor 
closedfixed 
[OCCT] 6.3.1 
[OCCT] 7.1.0[OCCT] 7.1.0 
Not needed
0026886: Visualization, TKV3d - eliminate global variables
TKV3d code uses global variables which might lead to issues in multi-thread applications (e.g. in case when dedicated viewers are used from different threads).
N/A
No tags attached.
related to 0027805closed bugmaster Open CASCADE Visualization - AIS_InteractiveContext::FitSelected() is broken for global selection 
child of 0023117closed bugmaster Open CASCADE TKV3d and TKOpenGl code clean-up 
Issue History
2015-11-17 16:02kgvNew Issue
2015-11-17 16:02kgvAssigned To => kgv
2015-11-17 16:02kgvRelationship addedchild of 0023117
2015-11-17 16:03kgvProduct Version => 6.3.1
2015-11-17 16:03kgvCategoryOCCT:Visualization => OCCT:Coding
2016-03-24 10:12gitNote Added: 0051930
2016-03-24 10:27kgvNote Added: 0051932
2016-03-24 16:40kgvAssigned Tokgv => mpa
2016-03-24 16:40kgvStatusnew => assigned
2016-03-29 12:58gitNote Added: 0052107
2016-03-29 14:33mpaAssigned Tompa => kgv
2016-03-29 14:33mpaStatusassigned => resolved
2016-03-29 14:33mpaSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=13329#r13329
2016-03-29 14:34mpaSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=13330#r13330
2016-03-29 14:39kgvNote Added: 0052111
2016-03-29 14:39kgvAssigned Tokgv => mpa
2016-03-29 14:39kgvStatusresolved => assigned
2016-03-29 15:48gitNote Added: 0052113
2016-03-29 16:17gitNote Added: 0052126
2016-03-29 16:43mpaNote Added: 0052136
2016-03-29 16:43mpaAssigned Tompa => kgv
2016-03-29 16:43mpaStatusassigned => resolved
2016-03-29 16:43mpaSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=13332#r13332
2016-03-29 16:46kgvAssigned Tokgv => apl
2016-03-30 13:00aplNote Added: 0052176
2016-03-30 13:00aplAssigned Toapl => mpa
2016-03-30 13:00aplStatusresolved => assigned
2016-03-30 16:48gitNote Added: 0052198
2016-03-31 09:37gitNote Added: 0052220
2016-03-31 09:40mpaAssigned Tompa => apl
2016-03-31 09:40mpaStatusassigned => resolved
2016-03-31 15:44aplNote Added: 0052242
2016-03-31 15:44aplAssigned Toapl => bugmaster
2016-03-31 15:44aplStatusresolved => reviewed
2016-03-31 16:06mkvAssigned Tobugmaster => mkv
2016-03-31 16:51mpaAssigned Tomkv => mpa
2016-03-31 16:51mpaStatusreviewed => assigned
2016-04-01 09:22gitNote Added: 0052251
2016-04-01 10:08gitNote Added: 0052265
2016-04-01 10:27gitNote Added: 0052269
2016-04-01 10:37gitNote Added: 0052270
2016-04-01 10:37mpaAssigned Tompa => kgv
2016-04-01 10:37mpaStatusassigned => resolved
2016-04-01 11:17kgvNote Added: 0052275
2016-04-01 11:17kgvAssigned Tokgv => bugmaster
2016-04-01 11:17kgvStatusresolved => reviewed
2016-04-01 11:40mkvAssigned Tobugmaster => mkv
2016-04-01 16:09mkvNote Added: 0052302
2016-04-01 16:09mkvAssigned Tomkv => mpa
2016-04-01 16:09mkvStatusreviewed => assigned
2016-04-04 13:15mkvNote Added: 0052327
2016-04-06 13:57gitNote Added: 0052437
2016-04-06 14:14mpaNote Added: 0052439
2016-04-06 14:14mpaAssigned Tompa => kgv
2016-04-06 14:14mpaStatusassigned => resolved
2016-04-06 14:21kgvNote Added: 0052440
2016-04-06 14:21kgvAssigned Tokgv => bugmaster
2016-04-06 14:21kgvStatusresolved => reviewed
2016-04-06 14:34mkvAssigned Tobugmaster => mkv
2016-04-06 15:09gitNote Added: 0052441
2016-04-07 12:34mkvNote Added: 0052465
2016-04-07 12:34mkvNote Added: 0052466
2016-04-07 12:35mkvNote Added: 0052467
2016-04-07 12:35mkvAssigned Tomkv => mpa
2016-04-07 12:35mkvStatusreviewed => assigned
2016-04-07 12:35mkvTest case number => Not needed
2016-04-08 09:56gitNote Added: 0052500
2016-04-08 09:57mpaNote Added: 0052501
2016-04-08 09:57mpaAssigned Tompa => kgv
2016-04-08 09:57mpaStatusassigned => resolved
2016-04-08 10:11kgvNote Added: 0052504
2016-04-08 10:11kgvAssigned Tokgv => bugmaster
2016-04-08 10:11kgvStatusresolved => reviewed
2016-04-08 12:04mkvAssigned Tobugmaster => mkv
2016-04-08 12:36gitNote Added: 0052522
2016-04-08 19:21mkvNote Added: 0052554
2016-04-08 19:21mkvNote Added: 0052555
2016-04-08 19:21mkvAssigned Tomkv => bugmaster
2016-04-08 19:21mkvStatusreviewed => tested
2016-04-17 14:53gitNote Added: 0053242
2016-04-17 14:53gitNote Added: 0053243
2016-04-22 16:48bugmasterChangeset attached => occt master 016e5959
2016-04-22 16:48bugmasterStatustested => verified
2016-04-22 16:48bugmasterResolutionopen => fixed
2016-05-20 12:23gitNote Added: 0054221
2016-09-03 12:25kgvRelationship addedrelated to 0027805
2016-10-12 12:48kgvRelationship addedrelated to 0027953
2016-12-09 16:30aivStatusverified => closed
2016-12-09 16:38aivFixed in Version => 7.1.0

Notes
(0051930)
git   
2016-03-24 10:12   
Branch CR26886 has been created by mpa.

SHA-1: 779c493d0adf3f512bbeb41ae623f8834afe3fe6


Detailed log of new commits:

Author: mpa
Date: Thu Mar 24 10:11:26 2016 +0300

    0026886: Visualization, TKV3d - eliminate global variables
    
    AIS_InteractiveContext - create new dummy class field to have an empty TopoDS_Shape object.
    AIS_Point, PrsMgr_PresentableObject - rename static variables to local function variables.
    AIS_Shape, SelectMgr_SelectableObject - remove unused static variables.
    Graphic3d_MaterialAspect, V3d_Viewer - make global static variables as constant.
    V3d_View - move global variable to class field.
(0051932)
kgv   
2016-03-24 10:27   
+myDummyShape(TopoDS_Shape())

in OCCT fields initialized with default constructors are usually ommited from initialization list.

       // Beeurk.. a revoir - rob-25/04/97
-      static Handle(Graphic3d_AspectMarker3d) PtA = 
-       new Graphic3d_AspectMarker3d ();
+      Handle(Graphic3d_AspectMarker3d) PtA = new Graphic3d_AspectMarker3d ();

please drop the comment above.

+  myZRotation = Standard_False;

please move to constructor initialization list.

+  static const TCollection_AsciiString XLetter("X");
+  static const TCollection_AsciiString YLetter("Y");
+  static const TCollection_AsciiString ZLetter("Z");

please drop these variables and pass constants directly.
(0052107)
git   
2016-03-29 12:58   
Branch CR26886 has been updated by mpa.

SHA-1: fcfaeae1db826fa59acf7ebead3a62535152aa51


Detailed log of new commits:

Author: mpa
Date: Tue Mar 29 12:57:11 2016 +0300

    0026886: Visualization, TKV3d - eliminate global variables
    
    - Move a variable theCurrentSelection as a field of AIS_InteractiveContext and AIS_LocalContext classes. Multiple selection is not used now, so each Context have an own selection.
    - Move myStructGenId from Graphic3d_StructureManager to Graphic3d_GraphicDriver for identifying the structures in the driver.

(0052111)
kgv   
2016-03-29 14:39   
-    Group->Text(YLetter.ToCString(),Graphic3d_Vertex(pY.X(),pY.Y(),pY.Z()),1./81.);
+       Group->Text("Y",Graphic3d_Vertex(pY.X(),pY.Y(),pY.Z()),1./81.);

please remove all new occurrences of tabulation symbols within your patch.
(0052113)
git   
2016-03-29 15:48   
Branch CR26886 has been updated by mpa.

SHA-1: 883f185348780e4706b4fbef07b8c54271992267


Detailed log of new commits:

Author: mpa
Date: Tue Mar 29 15:48:37 2016 +0300

    0026886: Visualization, TKV3d - eliminate global variables

(0052126)
git   
2016-03-29 16:17   
Branch CR26886 has been updated forcibly by mpa.

SHA-1: 6ea4ca81c2d0f0b27f911f8426bf38a005902eb8
(0052136)
mpa   
2016-03-29 16:43   
All changes were committed in branch CR26886.
(0052176)
apl   
2016-03-30 13:00   
Dear Marina,

I have just few minor remarks. Please treat them if you find it important.

1) AIS_Selection::Extent(), AIS_Selection::IsSelected() are not static anymore. It looks like they could also have const modifier?
2) Order of initialization of V3d_View members in constructor (myZRotation against MyTrsf) does not correspond to class declaration. Some compilers might throw warning for it.
3) With this patch I do not see how to use AIS_Selection outside of AIS_InteractiveContext. Probably it makes sense to add a sort of "porting note" into comments? For example: methods of AIS_InteractiveContext::InitSelected(), ::MoreSelected(), ::NextSelected() should be used instead of static methods of AIS_Selection. Else you may expose Handle(AIS_Selection) from interface of interactive context, but it would rather make AIS logic more complicated for our users.

No major remarks, in general the patch is OK.
(0052198)
git   
2016-03-30 16:48   
Branch CR26886 has been updated by mpa.

SHA-1: 10a16df4bca2216d6d2049fabf87a00ec405a50d


Detailed log of new commits:

Author: mpa
Date: Wed Mar 30 16:47:11 2016 +0300

    - Make some changes for code optimization.

(0052220)
git   
2016-03-31 09:37   
Branch CR26886 has been updated forcibly by mpa.

SHA-1: 84026a34bdfe6c5cd8acc57cadaa3e2ffedffac5
(0052242)
apl   
2016-03-31 15:44   
Dear bugmaster,

Please test the branch.
(0052251)
git   
2016-04-01 09:22   
Branch CR26886 has been updated by mpa.

SHA-1: b65a4f44696a663f71f31f63ce5e7eeb2533a9c8


Detailed log of new commits:

Author: mpa
Date: Fri Apr 1 09:20:05 2016 +0300

    - Move default variable (no shading light) from static value to the class field of OpenGL_GraphicDriver.

(0052265)
git   
2016-04-01 10:08   
Branch CR26886 has been updated by mpa.

SHA-1: c11afc7aaa394a727b166b9c744dc0026b5c7823


Detailed log of new commits:

Author: mpa
Date: Fri Apr 1 10:07:15 2016 +0300

    - Move default variable (no shading light) from static value to the class field of OpenGL_View.

(0052269)
git   
2016-04-01 10:27   
Branch CR26886 has been updated forcibly by mpa.

SHA-1: fd46b65c28375a725cdb4a1c93c778973a3cb8e1
(0052270)
git   
2016-04-01 10:37   
Branch CR26886 has been updated forcibly by mpa.

SHA-1: d11e476a50adeb4092dae1bb0cf87b47c285e5a3
(0052275)
kgv   
2016-04-01 11:17   
Please test updated patch.
(0052302)
mkv   
2016-04-01 16:09   
Dear BugMaster,
Branch CR26886 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: d11e476a50adeb4092dae1bb0cf87b47c285e5a3

There are following compilation errors:

http://jenkins-test-07.nnov.opencascade.com:8080/view/CR26886-master/job/CR26886-master-OCCT-Windows-64-VC10-mfc-samples/1/parsed_console/ [^]
1>..\..\..\..\Common\DimensionDlg.cpp(769): error C2039: 'CurrentSelection' : is not a member of 'AIS_Selection'
1> d:\install\CR26886-master\Windows-64-VC10-opt\OCCT\inc\AIS_Selection.hxx(41) : see declaration of 'AIS_Selection'
1>..\..\..\..\Common\DimensionDlg.cpp(769): error C2227: left of '->Value' must point to class/struct/union/generic type
1> type is ''unknown-type''
1>..\..\..\..\Common\DimensionDlg.cpp(769): error C3861: 'CurrentSelection': identifier not found

http://jenkins-test-07.nnov.opencascade.com:8080/view/CR26886-master/job/CR26886-master-Products-Windows-64-VC10-csharp-samples/1/parsed_console/ [^]
1>occcsharp_wrap.obj : error LNK2019: unresolved external symbol "public: class TCollection_AsciiString const & __cdecl AIS_InteractiveContext::CurrentName(void)const " (?CurrentName@AIS_InteractiveContext@@QEBAAEBVTCollection_AsciiString@@XZ) referenced in function CSharp_AIS_InteractiveContext_CurrentName
1>d:\install\CR26886-master\Windows-64-VC10-opt\Products\samples\csharp\\win64\VC10\bin\OCCwrapCSharp.dll : fatal error LNK1120: 1 unresolved externals

http://jenkins-test-07.nnov.opencascade.com:8080/view/CR26886-master/job/CR26886-master-Products-Windows-64-VC10-java-samples/1/parsed_console/ [^]
occjava_wrap.obj : error LNK2019: unresolved external symbol "public: class TCollection_AsciiString const & __cdecl AIS_InteractiveContext::CurrentName(void)const " (?CurrentName@AIS_InteractiveContext@@QEBAAEBVTCollection_AsciiString@@XZ) referenced in function Java_opencascade_OCCwrapJavaJNI_AIS_1InteractiveContext_1CurrentName [D:\install\CR26886-master\Windows-64-VC10-opt\Products\samples\java\win64\VC10\cmake\OCCwrapJava.vcxproj]
D:\install\CR26886-master\Windows-64-VC10-opt\Products\samples\java\win64\VC10\bin\OCCwrapJava.dll : fatal error LNK1120: 1 unresolved externals [D:\install\CR26886-master\Windows-64-VC10-opt\Products\samples\java\win64\VC10\cmake\OCCwrapJava.vcxproj]
  occjava_wrap.obj : error LNK2019: unresolved external symbol "public: class TCollection_AsciiString const & __cdecl AIS_InteractiveContext::CurrentName(void)const " (?CurrentName@AIS_InteractiveContext@@QEBAAEBVTCollection_AsciiString@@XZ) referenced in function Java_opencascade_OCCwrapJavaJNI_AIS_1InteractiveContext_1CurrentName [D:\install\CR26886-master\Windows-64-VC10-opt\Products\samples\java\win64\VC10\cmake\OCCwrapJava.vcxproj]
  D:\install\CR26886-master\Windows-64-VC10-opt\Products\samples\java\win64\VC10\bin\OCCwrapJava.dll : fatal error LNK1120: 1 unresolved externals [D:\install\CR26886-master\Windows-64-VC10-opt\Products\samples\java\win64\VC10\cmake\OCCwrapJava.vcxproj]

http://jenkins-test-07.nnov.opencascade.com:8080/view/CR26886-master/job/CR26886-master-Products-Windows-64-VC10-mfc-samples/1/parsed_console/ [^]
1>Kernel\Kernel_Operator.cxx(252): error C2039: 'CurrentSelection' : is not a member of 'AIS_Selection'
1> d:\install\CR26886-master\Windows-64-VC10-opt\OCCT\inc\AIS_Selection.hxx(41) : see declaration of 'AIS_Selection'
1>Kernel\Kernel_Operator.cxx(252): error C3861: 'CurrentSelection': identifier not found
1>Kernel\ShapeHealingDoc.cpp(963): error C2039: 'CurrentSelection' : is not a member of 'AIS_Selection'
1> d:\install\CR26886-master\Windows-64-VC10-opt\OCCT\inc\AIS_Selection.hxx(41) : see declaration of 'AIS_Selection'
1>Kernel\ShapeHealingDoc.cpp(963): error C3861: 'CurrentSelection': identifier not found
1>Kernel\ShapeHealingDoc.cpp(985): error C2352: 'AIS_Selection::AddSelect' : illegal call of non-static member function
1> d:\install\CR26886-master\Windows-64-VC10-opt\OCCT\inc\AIS_Selection.hxx(60) : see declaration of 'AIS_Selection::AddSelect'
1>Kernel\ShapeHealingDoc.cpp(1591): error C2039: 'CurrentSelection' : is not a member of 'AIS_Selection'
1> d:\install\CR26886-master\Windows-64-VC10-opt\OCCT\inc\AIS_Selection.hxx(41) : see declaration of 'AIS_Selection'
1>Kernel\ShapeHealingDoc.cpp(1591): error C3861: 'CurrentSelection': identifier not found


Number of compiler warnings:

occt component :
Linux: 6 (0 on master)
Windows: 0 (0 on master)
MacOS : 2 (0 on master)

products component :
Linux: 68 (68 on master)
Windows: 0 (0 on master)
MacOS : 1121

There are new additional compilation warnings on Linux and MacOS platforms:
http://jenkins-test-07.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_13912/job/CR26886-master-OCCT-Debian70-64-opt-compile/1/warnings17Result/ [^]
AIS_InteractiveContext.cxx:78, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here [-Wreorder]
AIS_InteractiveContext.hxx:1627, GNU C Compiler 4 (gcc), Priority: Normal
'Quantity_NameOfColor AIS_InteractiveContext::myDefaultColor' [-Wreorder]
AIS_InteractiveContext.hxx:1640, GNU C Compiler 4 (gcc), Priority: Normal
'AIS_InteractiveContext::mySelection' will be initialized after [-Wreorder]
AIS_LocalContext.cxx:61, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here [-Wreorder]
AIS_LocalContext.hxx:415, GNU C Compiler 4 (gcc), Priority: Normal
'opencascade::handle AIS_LocalContext::mySelection' [-Wreorder]
AIS_LocalContext.hxx:422, GNU C Compiler 4 (gcc), Priority: Normal
'AIS_LocalContext::myMapOfOwner' will be initialized after [-Wreorder]
http://jenkins-test-07.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_13912/job/CR26886-master-OCCT-MacOS-opt-compile/1/warnings7Result/ [^]
AIS_InteractiveContext.cxx:89, Clang (LLVM based), Priority: Normal
field 'mySelection' will be initialized after field 'myDefaultColor'
AIS_LocalContext.cxx:75, Clang (LLVM based), Priority: Normal
field 'myMapOfOwner' will be initialized after field 'mySelection'

(0052327)
mkv   
2016-04-04 13:15   
Regressions/Differences/Improvements:
http://occt-tests/CR26886-master-OCCT/Windows-64-VC10/summary.html [^]
http://occt-tests/CR26886-master-Products/Windows-64-VC10/summary.html [^]

Testing cases:
Not needed

Testing on Windows:
occt component :
Total MEMORY difference: 55366077 / 57116204 [-3.06%]
Total CPU difference: 17814.939797598865 / 17822.44344569882 [-0.04%]
products component :
Total MEMORY difference: 17757941 / 17813429 [-0.31%]
Total CPU difference: 5151.80822419995 / 5073.66732329995 [+1.54%]

There are no differences in images found by testdiff.
(0052437)
git   
2016-04-06 13:57   
Branch CR26886_1 has been created by mpa.

SHA-1: 4946063edbae9957f11d816aba94278a28a0233d


Detailed log of new commits:

Author: mpa
Date: Wed Apr 6 13:46:55 2016 +0300

    0026886: Visualization, TKV3d - eliminate global variables
    
    - AIS_InteractiveContext - create new dummy class field to have an empty TopoDS_Shape object.
    - AIS_Point, PrsMgr_PresentableObject - rename static variables to local function variables.
    - AIS_Shape, SelectMgr_SelectableObject - remove unused static variables.
    - Graphic3d_MaterialAspect, V3d_Viewer - make global static variables as constant.
    - V3d_View - move global variable zRotation to class field.
    - Move a variable theCurrentSelection as a field of AIS_InteractiveContext and AIS_LocalContext classes. Multiple selection is not used now, so each Context have an own selection.
    - Move myStructGenId from Graphic3d_StructureManager to Graphic3d_GraphicDriver for identifying the structures in the driver.
    - Move default variable (no shading light) from static value to the class field of OpenGL_View.
    Porting note:
    - Static methods of AIS_Selection is not used now. Methods of
      AIS_InteractiveContext::InitSelected(),::MoreSelected(),::NextSelected()
      should be used instead of static methods of AIS_Selection.
(0052439)
mpa   
2016-04-06 14:14   
Dear Kirill, please review.
All changes are in the CR26886_1 branch now.

Moreover, the same branch(CR26886_1) has been created in occt-products with update in samples.
(0052440)
kgv   
2016-04-06 14:21   
Please test updated patch.
(0052441)
git   
2016-04-06 15:09   
Branch CR26886_1 has been updated forcibly by mkv.

SHA-1: d3658357f7bb29b08dfa70f8feddec2abeae1cf6
(0052465)
mkv   
2016-04-07 12:34   
Dear BugMaster,
Branch CR26886_1 was rebased on current master of occt git-repository.
SHA-1: d3658357f7bb29b08dfa70f8feddec2abeae1cf6
Branch CR26886_1 was rebased on current master of products git-repository.
SHA-1: 38e5b503ae955f9aec2c240d033bcbd06a83bcbb
(0052466)
mkv   
2016-04-07 12:34   
Dear BugMaster,
Branch CR26886_1 from occt git-repository (and CR26886_1 from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: d3658357f7bb29b08dfa70f8feddec2abeae1cf6
SHA-1: 38e5b503ae955f9aec2c240d033bcbd06a83bcbb

There are following compilation errors:
Windows:
http://jenkins-test-07.nnov.opencascade.com:8080/view/CR26886-1-CR26886-1/job/CR26886-1-CR26886-1-Products-Windows-64-VC10-mfc-samples/2/parsed_console/ [^]
1>Kernel\ShapeHealingDoc.cpp(1588): error C2059: syntax error : '->'
1>Kernel\ShapeHealingDoc.cpp(1589): error C2039: 'myAISContext' : is not a member of 'AIS_InteractiveContext'
1> d:\install\CR26886-1-CR26886-1\Windows-64-VC10-opt\OCCT\inc\AIS_InteractiveContext.hxx(135) : see declaration of 'AIS_InteractiveContext'
1>Kernel\ShapeHealingDoc.cpp(1589): error C2059: syntax error : '->'
1>Kernel\ShapeHealingDoc.cpp(1590): error C2039: 'myAISContext' : is not a member of 'AIS_InteractiveContext'
1> d:\install\CR26886-1-CR26886-1\Windows-64-VC10-opt\OCCT\inc\AIS_InteractiveContext.hxx(135) : see declaration of 'AIS_InteractiveContext'
1>Kernel\ShapeHealingDoc.cpp(1590): error C2059: syntax error : '->'
1>Kernel\ShapeHealingDoc.cpp(1591): error C2143: syntax error : missing ';' before '{'
1>Kernel\ShapeHealingDoc.cpp(1593): error C2039: 'myAISContext' : is not a member of 'AIS_InteractiveContext'
1> d:\install\CR26886-1-CR26886-1\Windows-64-VC10-opt\OCCT\inc\AIS_InteractiveContext.hxx(135) : see declaration of 'AIS_InteractiveContext'
1>Kernel\ShapeHealingDoc.cpp(1593): error C2232: '->AIS_InteractiveContext::SelectedOwner' : left operand has '' type, use '.'
1>Kernel\ShapeHealingDoc.cpp(1593): error C2227: left of '->Value' must point to class/struct/union/generic type
1>Kernel\ShapeHealingDoc.cpp(1598): error C2043: illegal break

Number of compiler warnings:

occt component :
Linux: 3 (0 on master)
Windows: 0 (0 on master)
MacOS : 1 (0 on master)

products component :
Linux: 68 (68 on master)
Windows: 0 (0 on master)
MacOS : 1123

There are new additional compilation warnings on Linux and MacOS platforms:
http://jenkins-test-07.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_13912/job/CR26886-1-CR26886-1-OCCT-Debian70-64-opt-compile/1/warnings17Result/ [^]
AIS_LocalContext.cxx:61, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here [-Wreorder]
AIS_LocalContext.hxx:417, GNU C Compiler 4 (gcc), Priority: Normal
'opencascade::handle AIS_LocalContext::mySelection' [-Wreorder]
AIS_LocalContext.hxx:424, GNU C Compiler 4 (gcc), Priority: Normal
'AIS_LocalContext::myMapOfOwner' will be initialized after [-Wreorder]
http://jenkins-test-07.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_13912/job/CR26886-1-CR26886-1-OCCT-MacOS-opt-compile/1/warnings7Result/ [^]
AIS_LocalContext.cxx:75, Clang (LLVM based), Priority: Normal
field 'myMapOfOwner' will be initialized after field 'mySelection'

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 87959106 / 89134925 [-1.32%]
Total CPU difference: 19303.380000000012 / 19563.780000000057 [-1.33%]
products component :
Total MEMORY difference: 25198790 / 25291832 [-0.37%]
Total CPU difference: 5220.159999999992 / 5207.169999999992 [+0.25%]

Testing on Windows:
occt component :
Total MEMORY difference: 55702205 / 57547141 [-3.21%]
Total CPU difference: 18406.901192198853 / 17768.513899998856 [+3.59%]
products component :
Total MEMORY difference: 17319351 / 17370131 [-0.29%]
Total CPU difference: 5235.705561999962 / 5014.230942299948 [+4.42%]

There are no differences in images found by testdiff.
(0052467)
mkv   
2016-04-07 12:35   
Dear mpa,
Branch CR26886_1 has been rejected due to:
- compilation errors
- additional warnings
(0052500)
git   
2016-04-08 09:56   
Branch CR26886_2 has been created by mpa.

SHA-1: 7bd2df3cd17aa8847b70cf2394cec2243983cf37


Detailed log of new commits:

Author: mpa
Date: Fri Apr 8 09:47:47 2016 +0300

    0026886: Visualization, TKV3d - eliminate global variables
    
    - AIS_InteractiveContext - create new dummy class field to have an empty TopoDS_Shape object.
    - AIS_Point, PrsMgr_PresentableObject - rename static variables to local function variables.
    - AIS_Shape, SelectMgr_SelectableObject - remove unused static variables.
    - Graphic3d_MaterialAspect, V3d_Viewer - make global static variables as constant.
    - V3d_View - move global variable zRotation to class field.
    - Move a variable theCurrentSelection as a field of AIS_InteractiveContext and AIS_LocalContext classes. Multiple selection is not used now, so each Context have an own selection.
    - Move myStructGenId from Graphic3d_StructureManager to Graphic3d_GraphicDriver for identifying the structures in the driver.
    - Move default variable (no shading light) from static value to the class field of OpenGL_View.
    Porting note:
    - Static methods of AIS_Selection is not used now. Methods of
      AIS_InteractiveContext::InitSelected(),::MoreSelected(),::NextSelected()
      should be used instead of static methods of AIS_Selection.
(0052501)
mpa   
2016-04-08 09:57   
Dear Kirill, please review.
All changes are in the CR26886_2 branch for OCCT and occt-products.
(0052504)
kgv   
2016-04-08 10:11   
Please check updated patch.
(0052522)
git   
2016-04-08 12:36   
Branch CR26886_2 has been updated forcibly by mkv.

SHA-1: ff1cacc67a2a39313f8e1266fdde4eea97297e7d
(0052554)
mkv   
2016-04-08 19:21   
Dear BugMaster,
Branch CR26886_2 from occt git-repository (and CR26886_2 from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: ff1cacc67a2a39313f8e1266fdde4eea97297e7d
SHA-1: 96c6649296c0797989c9ab407cea36311ec11a27:

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 68 (68 on master)
Windows: 0 (0 on master)
MacOS : 1135

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 88319104 / 90755610 [-2.68%]
Total CPU difference: 19423.780000000068 / 19577.11000000022 [-0.78%]
products component :
Total MEMORY difference: 27447631 / 27524349 [-0.28%]
Total CPU difference: 5310.349999999996 / 5435.7999999999765 [-2.31%]

Testing on Windows:
occt component :
Total MEMORY difference: 55830428 / 57720563 [-3.27%]
Total CPU difference: 18628.9218153987 / 18068.26982149889 [+3.10%]
products component :
Total MEMORY difference: 19154571 / 19253144 [-0.51%]
Total CPU difference: 5297.684759299964 / 5269.479778499955 [+0.54%]

There are no differences in images found by testdiff.
(0052555)
mkv   
2016-04-08 19:21   
Dear BugMaster,
Branch CR26886_2 is TESTED.
(0053242)
git   
2016-04-17 14:53   
Branch CR26886 has been deleted by kgv.

SHA-1: d11e476a50adeb4092dae1bb0cf87b47c285e5a3
(0053243)
git   
2016-04-17 14:53   
Branch CR26886_1 has been deleted by kgv.

SHA-1: d3658357f7bb29b08dfa70f8feddec2abeae1cf6
(0054221)
git   
2016-05-20 12:23   
Branch CR26886_2 has been deleted by inv.

SHA-1: ff1cacc67a2a39313f8e1266fdde4eea97297e7d