View Issue Details

IDProjectCategoryView StatusLast Update
0026886Open CASCADEOCCT:Codingpublic2016-12-09 16:38
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version6.3.1 
Target Version7.1.0Fixed in Version7.1.0 
Summary0026886: Visualization, TKV3d - eliminate global variables
DescriptionTKV3d 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).
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot needed

Relationships

related to 0027805 closedbugmaster Open CASCADE Visualization - AIS_InteractiveContext::FitSelected() is broken for global selection 
child of 0023117 closedbugmaster Open CASCADE TKV3d and TKOpenGl code clean-up 

Activities

git

2016-03-24 10:12

administrator   ~0051930

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.

kgv

2016-03-24 10:27

developer   ~0051932

+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.

git

2016-03-29 12:58

administrator   ~0052107

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.

kgv

2016-03-29 14:39

developer   ~0052111

-    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.

git

2016-03-29 15:48

administrator   ~0052113

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

git

2016-03-29 16:17

administrator   ~0052126

Branch CR26886 has been updated forcibly by mpa.

SHA-1: 6ea4ca81c2d0f0b27f911f8426bf38a005902eb8

mpa

2016-03-29 16:43

developer   ~0052136

All changes were committed in branch CR26886.

apl

2016-03-30 13:00

developer   ~0052176

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.

git

2016-03-30 16:48

administrator   ~0052198

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.

git

2016-03-31 09:37

administrator   ~0052220

Branch CR26886 has been updated forcibly by mpa.

SHA-1: 84026a34bdfe6c5cd8acc57cadaa3e2ffedffac5

apl

2016-03-31 15:44

developer   ~0052242

Dear bugmaster,

Please test the branch.

git

2016-04-01 09:22

administrator   ~0052251

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.

git

2016-04-01 10:08

administrator   ~0052265

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.

git

2016-04-01 10:27

administrator   ~0052269

Branch CR26886 has been updated forcibly by mpa.

SHA-1: fd46b65c28375a725cdb4a1c93c778973a3cb8e1

git

2016-04-01 10:37

administrator   ~0052270

Branch CR26886 has been updated forcibly by mpa.

SHA-1: d11e476a50adeb4092dae1bb0cf87b47c285e5a3

kgv

2016-04-01 11:17

developer   ~0052275

Please test updated patch.

mkv

2016-04-01 16:09

tester   ~0052302

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'

mkv

2016-04-04 13:15

tester   ~0052327

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.

git

2016-04-06 13:57

administrator   ~0052437

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.

mpa

2016-04-06 14:14

developer   ~0052439

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.

kgv

2016-04-06 14:21

developer   ~0052440

Please test updated patch.

git

2016-04-06 15:09

administrator   ~0052441

Branch CR26886_1 has been updated forcibly by mkv.

SHA-1: d3658357f7bb29b08dfa70f8feddec2abeae1cf6

mkv

2016-04-07 12:34

tester   ~0052465

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

mkv

2016-04-07 12:34

tester   ~0052466

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.

mkv

2016-04-07 12:35

tester   ~0052467

Dear mpa,
Branch CR26886_1 has been rejected due to:
- compilation errors
- additional warnings

git

2016-04-08 09:56

administrator   ~0052500

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.

mpa

2016-04-08 09:57

developer   ~0052501

Dear Kirill, please review.
All changes are in the CR26886_2 branch for OCCT and occt-products.

kgv

2016-04-08 10:11

developer   ~0052504

Please check updated patch.

git

2016-04-08 12:36

administrator   ~0052522

Branch CR26886_2 has been updated forcibly by mkv.

SHA-1: ff1cacc67a2a39313f8e1266fdde4eea97297e7d

mkv

2016-04-08 19:21

tester   ~0052554

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.

mkv

2016-04-08 19:21

tester   ~0052555

Dear BugMaster,
Branch CR26886_2 is TESTED.

git

2016-04-17 14:53

administrator   ~0053242

Branch CR26886 has been deleted by kgv.

SHA-1: d11e476a50adeb4092dae1bb0cf87b47c285e5a3

git

2016-04-17 14:53

administrator   ~0053243

Branch CR26886_1 has been deleted by kgv.

SHA-1: d3658357f7bb29b08dfa70f8feddec2abeae1cf6

git

2016-05-20 12:23

administrator   ~0054221

Branch CR26886_2 has been deleted by inv.

SHA-1: ff1cacc67a2a39313f8e1266fdde4eea97297e7d

Related Changesets

occt: master 016e5959

2016-04-08 06:47:47

mpa


Committer: bugmaster Details Diff
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.
Affected Issues
0026886
mod - samples/mfc/standard/Common/DimensionDlg.cpp Diff File
mod - samples/mfc/standard/Common/DimensionDlg.h Diff File
mod - samples/mfc/standard/Common/LengthParamsEdgePage.cpp Diff File
mod - samples/mfc/standard/Common/LengthParamsEdgesPage.cpp Diff File
mod - samples/mfc/standard/Common/ParamsFacesPage.cpp Diff File
mod - samples/mfc/standard/Common/RadiusParamsPage.cpp Diff File
mod - src/AIS/AIS_InteractiveContext.cxx Diff File
mod - src/AIS/AIS_InteractiveContext.hxx Diff File
mod - src/AIS/AIS_InteractiveContext.lxx 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.lxx Diff File
mod - src/AIS/AIS_LocalContext_1.cxx Diff File
mod - src/AIS/AIS_Point.cxx Diff File
mod - src/AIS/AIS_Selection.cxx Diff File
mod - src/AIS/AIS_Selection.hxx Diff File
mod - src/AIS/AIS_Shape.cxx Diff File
mod - src/Graphic3d/FILES Diff File
mod - src/Graphic3d/Graphic3d_CStructure.cxx Diff File
mod - src/Graphic3d/Graphic3d_GraphicDriver.cxx Diff File
mod - src/Graphic3d/Graphic3d_GraphicDriver.hxx Diff File
mod - src/Graphic3d/Graphic3d_MaterialAspect.cxx Diff File
mod - src/Graphic3d/Graphic3d_Structure.cxx Diff File
mod - src/Graphic3d/Graphic3d_Structure.pxx Diff File
mod - src/Graphic3d/Graphic3d_StructureManager.cxx Diff File
mod - src/Graphic3d/Graphic3d_StructureManager.hxx Diff File
rm - src/Graphic3d/Graphic3d_StructureManager.pxx Diff File
mod - src/OpenGl/OpenGl_Light.hxx Diff File
mod - src/OpenGl/OpenGl_View.cxx Diff File
mod - src/OpenGl/OpenGl_View.hxx Diff File
mod - src/OpenGl/OpenGl_View_Raytrace.cxx Diff File
mod - src/OpenGl/OpenGl_View_Redraw.cxx Diff File
mod - src/PrsMgr/PrsMgr_PresentableObject.cxx Diff File
mod - src/SelectMgr/SelectMgr_SelectableObject.cxx Diff File
mod - src/V3d/V3d_View.cxx Diff File
mod - src/V3d/V3d_View.hxx Diff File
mod - src/V3d/V3d_Viewer_3.cxx Diff File

Issue History

Date Modified Username Field Change
2015-11-17 16:02 kgv New Issue
2015-11-17 16:02 kgv Assigned To => kgv
2015-11-17 16:02 kgv Relationship added child of 0023117
2015-11-17 16:03 kgv Product Version => 6.3.1
2015-11-17 16:03 kgv Category OCCT:Visualization => OCCT:Coding
2016-03-24 10:12 git Note Added: 0051930
2016-03-24 10:27 kgv Note Added: 0051932
2016-03-24 16:40 kgv Assigned To kgv => mpa
2016-03-24 16:40 kgv Status new => assigned
2016-03-29 12:58 git Note Added: 0052107
2016-03-29 14:33 mpa Assigned To mpa => kgv
2016-03-29 14:33 mpa Status assigned => resolved
2016-03-29 14:33 mpa Steps to Reproduce Updated
2016-03-29 14:34 mpa Steps to Reproduce Updated
2016-03-29 14:39 kgv Note Added: 0052111
2016-03-29 14:39 kgv Assigned To kgv => mpa
2016-03-29 14:39 kgv Status resolved => assigned
2016-03-29 15:48 git Note Added: 0052113
2016-03-29 16:17 git Note Added: 0052126
2016-03-29 16:43 mpa Note Added: 0052136
2016-03-29 16:43 mpa Assigned To mpa => kgv
2016-03-29 16:43 mpa Status assigned => resolved
2016-03-29 16:43 mpa Steps to Reproduce Updated
2016-03-29 16:46 kgv Assigned To kgv => apl
2016-03-30 13:00 apl Note Added: 0052176
2016-03-30 13:00 apl Assigned To apl => mpa
2016-03-30 13:00 apl Status resolved => assigned
2016-03-30 16:48 git Note Added: 0052198
2016-03-31 09:37 git Note Added: 0052220
2016-03-31 09:40 mpa Assigned To mpa => apl
2016-03-31 09:40 mpa Status assigned => resolved
2016-03-31 15:44 apl Note Added: 0052242
2016-03-31 15:44 apl Assigned To apl => bugmaster
2016-03-31 15:44 apl Status resolved => reviewed
2016-03-31 16:06 mkv Assigned To bugmaster => mkv
2016-03-31 16:51 mpa Assigned To mkv => mpa
2016-03-31 16:51 mpa Status reviewed => assigned
2016-04-01 09:22 git Note Added: 0052251
2016-04-01 10:08 git Note Added: 0052265
2016-04-01 10:27 git Note Added: 0052269
2016-04-01 10:37 git Note Added: 0052270
2016-04-01 10:37 mpa Assigned To mpa => kgv
2016-04-01 10:37 mpa Status assigned => resolved
2016-04-01 11:17 kgv Note Added: 0052275
2016-04-01 11:17 kgv Assigned To kgv => bugmaster
2016-04-01 11:17 kgv Status resolved => reviewed
2016-04-01 11:40 mkv Assigned To bugmaster => mkv
2016-04-01 16:09 mkv Note Added: 0052302
2016-04-01 16:09 mkv Assigned To mkv => mpa
2016-04-01 16:09 mkv Status reviewed => assigned
2016-04-04 13:15 mkv Note Added: 0052327
2016-04-06 13:57 git Note Added: 0052437
2016-04-06 14:14 mpa Note Added: 0052439
2016-04-06 14:14 mpa Assigned To mpa => kgv
2016-04-06 14:14 mpa Status assigned => resolved
2016-04-06 14:21 kgv Note Added: 0052440
2016-04-06 14:21 kgv Assigned To kgv => bugmaster
2016-04-06 14:21 kgv Status resolved => reviewed
2016-04-06 14:34 mkv Assigned To bugmaster => mkv
2016-04-06 15:09 git Note Added: 0052441
2016-04-07 12:34 mkv Note Added: 0052465
2016-04-07 12:34 mkv Note Added: 0052466
2016-04-07 12:35 mkv Note Added: 0052467
2016-04-07 12:35 mkv Assigned To mkv => mpa
2016-04-07 12:35 mkv Status reviewed => assigned
2016-04-07 12:35 mkv Test case number => Not needed
2016-04-08 09:56 git Note Added: 0052500
2016-04-08 09:57 mpa Note Added: 0052501
2016-04-08 09:57 mpa Assigned To mpa => kgv
2016-04-08 09:57 mpa Status assigned => resolved
2016-04-08 10:11 kgv Note Added: 0052504
2016-04-08 10:11 kgv Assigned To kgv => bugmaster
2016-04-08 10:11 kgv Status resolved => reviewed
2016-04-08 12:04 mkv Assigned To bugmaster => mkv
2016-04-08 12:36 git Note Added: 0052522
2016-04-08 19:21 mkv Note Added: 0052554
2016-04-08 19:21 mkv Note Added: 0052555
2016-04-08 19:21 mkv Assigned To mkv => bugmaster
2016-04-08 19:21 mkv Status reviewed => tested
2016-04-17 14:53 git Note Added: 0053242
2016-04-17 14:53 git Note Added: 0053243
2016-04-22 16:48 bugmaster Changeset attached => occt master 016e5959
2016-04-22 16:48 bugmaster Status tested => verified
2016-04-22 16:48 bugmaster Resolution open => fixed
2016-05-20 12:23 git Note Added: 0054221
2016-09-03 12:25 kgv Relationship added related to 0027805
2016-12-09 16:30 aiv Status verified => closed
2016-12-09 16:38 aiv Fixed in Version => 7.1.0