View Issue Details

IDProjectCategoryView StatusLast Update
0028441Open CASCADEOCCT:Codingpublic2021-01-14 17:09
Reporterkgv Assigned Tobugmaster  
PrioritylowSeverityintegration request 
Status closedResolutionfixed 
Product Version6.5.4 
Target Version7.2.0Fixed in Version7.2.0 
Summary0028441: Coding Rules - move out nested Image_PixMap::ImgFormat enumeration to dedicated enum Image_Format
DescriptionImage_PixMap::ImgFormat enumeration is defined as enumeration nested into class Image_PixMap. This is not recommended by OCCT coding rules and makes extra problems in some contexts (e.g. automated wrapping into another language).
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot needed

Relationships

related to 0023272 closedkgv Image comparison algorithm 
parent of 0032056 closedbugmaster Coding Rules - remove package MMgt and other types deprecated since OCCT 7.2.0 

Activities

git

2017-02-05 13:48

administrator   ~0063448

Branch CR28441 has been created by kgv.

SHA-1: ca2a647e897d020d1092020c1697b0f1a2fa5d92


Detailed log of new commits:

Author: kgv
Date: Sun Feb 5 13:47:27 2017 +0300

    0028441: Coding Rules - move out nested Image_PixMap::ImgFormat enumeration to dedicated enum Image_Format

kgv

2017-02-05 13:48

developer   ~0063449

Patch is ready for review.

abv

2017-02-09 14:19

manager   ~0063731

Please describe this change in commit message and upgrade guide. I think that it can be also instrumental to add corresponding rename record in section [rename] of adm/upgrade.dat, like this (if relevant):

Image_PixMap::Img Image_Format_

I noticed that you moved RTTI declaration for the class Image_AlienPixMap to its private section -- is this intentional? If yes, why?

Deprecation message

"This enumeration is deprecated, Image_Format should be called instead"

can be probably made more clear, e.g.:

"This member is deprecated, use Image_Format enumeration instead"

kgv

2017-02-09 14:23

developer   ~0063732

> I noticed that you moved RTTI declaration for the class Image_AlienPixMap
> to its private section -- is this intentional? If yes, why?
DEFINE_STANDARD_RTTIEXT() starts with "public:", so that type definition become more compact and near to class definition itself.

git

2017-02-14 12:16

administrator   ~0063790

Branch CR28441 has been updated by kgv.

SHA-1: 34a95ef4e941aa3c2294d02ced40f4997a970665


Detailed log of new commits:

Author: kgv
Date: Tue Feb 14 12:16:12 2017 +0300

    Enumeration Image_PixMap::ImgFormat, previously declared as nested
    enumeration within class *Image_PixMap*,
    has been moved to global namespace as Image_Format following OCCT coding rules.
    
    The enumeration values have suffix Image_Format_ and preserve
    previous name scheme for easy renaming of old values.
    E.g. Image_PixMap::ImgGray become Image_Format_Gray.
    Old definitions are preserved as depreacated aliases to the new ones.

git

2017-02-14 12:17

administrator   ~0063791

Branch CR28441_1 has been created by kgv.

SHA-1: e3c9e0f081bde89c02b3506545d213219a9dcd5c


Detailed log of new commits:

Author: kgv
Date: Sun Feb 5 13:47:27 2017 +0300

    0028441: Coding Rules - move out nested Image_PixMap::ImgFormat enumeration to dedicated enum Image_Format
    
    Enumeration Image_PixMap::ImgFormat, previously declared as nested
    enumeration within class *Image_PixMap*,
    has been moved to global namespace as Image_Format following OCCT coding rules.
    
    The enumeration values have suffix Image_Format_ and preserve
    previous name scheme for easy renaming of old values.
    E.g. Image_PixMap::ImgGray become Image_Format_Gray.
    Old definitions are preserved as depreacated aliases to the new ones.

kgv

2017-02-14 12:18

developer   ~0063792

Updated patch has been pushed with applied remarks.

abv

2017-02-24 22:43

manager   ~0063990

No remarks, please test

git

2017-02-27 16:35

administrator   ~0064011

Branch CR28441_1 has been updated forcibly by apv.

SHA-1: 8fea322af71a9fc14f0b8173c8f63922837f6619

apv

2017-02-27 16:35

tester   ~0064012

Branch CR28441_1 has been rebased on the current master

apv

2017-02-28 16:26

tester   ~0064033

Dear BugMaster,

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

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 15 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1182
New warnings have been detected during OCCT component building on Windows:
http://jenkins-test-07.nnov.opencascade.com/view/CR28441_1-master/job/CR28441_1-master-OCCT-Windows-64-VC10-opt-compile/1/warnings34Result/

Regressions/Differences:
Not detected

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 93011325 / 93130577 [-0.13%]
Total CPU difference: 19965.06000000016 / 19801.410000000218 [+0.83%]

Testing on Windows:
Total MEMORY difference: 57832414 / 57829936 [+0.00%]
Total CPU difference: 18628.563013098457 / 18793.846072598604 [-0.88%]

apv

2017-02-28 16:27

tester   ~0064034

Dear Kirill,

Branch CR28441_1 has been rejected due to:
- additional warnings

git

2017-02-28 18:21

administrator   ~0064039

Branch CR28441_2 has been created by kgv.

SHA-1: 472338e8430267be34abefc0ccfe4de276b5883d


Detailed log of new commits:

Author: kgv
Date: Sun Feb 5 13:47:27 2017 +0300

    0028441: Coding Rules - move out nested Image_PixMap::ImgFormat enumeration to dedicated enum Image_Format
    
    Enumeration Image_PixMap::ImgFormat, previously declared as nested
    enumeration within class *Image_PixMap*,
    has been moved to global namespace as Image_Format following OCCT coding rules.
    
    The enumeration values have suffix Image_Format_ and preserve
    previous name scheme for easy renaming of old values.
    E.g. Image_PixMap::ImgGray become Image_Format_Gray.
    Old definitions are preserved as depreacated aliases to the new ones.

kgv

2017-02-28 18:21

developer   ~0064040

Please check compilation of updated patch in branch CR28441_2.
Regression testing is not needed.

apv

2017-03-01 14:36

tester   ~0064055

Dear BugMaster,

Branch CR28441_2 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms.
SHA-1: 472338e8430267be34abefc0ccfe4de276b5883d

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: 1193

git

2017-03-20 14:33

administrator   ~0064466

Branch CR28441_2 has been deleted by inv.

SHA-1: 472338e8430267be34abefc0ccfe4de276b5883d

git

2017-03-20 14:33

administrator   ~0064469

Branch CR28441_1 has been deleted by inv.

SHA-1: 8fea322af71a9fc14f0b8173c8f63922837f6619

git

2017-03-20 14:35

administrator   ~0064487

Branch CR28441 has been deleted by inv.

SHA-1: 34a95ef4e941aa3c2294d02ced40f4997a970665

Related Changesets

occt: master dc858f4c

2017-02-05 10:47:27

kgv


Committer: bugmaster Details Diff
0028441: Coding Rules - move out nested Image_PixMap::ImgFormat enumeration to dedicated enum Image_Format

Enumeration Image_PixMap::ImgFormat, previously declared as nested
enumeration within class *Image_PixMap*,
has been moved to global namespace as Image_Format following OCCT coding rules.

The enumeration values have suffix Image_Format_ and preserve
previous name scheme for easy renaming of old values.
E.g. Image_PixMap::ImgGray become Image_Format_Gray.
Old definitions are preserved as depreacated aliases to the new ones.
Affected Issues
0028441
mod - adm/upgrade.dat Diff File
mod - dox/dev_guides/upgrade/upgrade.md Diff File
mod - src/Draw/Draw_Window.cxx Diff File
mod - src/Font/Font_FTFont.cxx Diff File
mod - src/Graphic3d/Graphic3d_HatchStyle.cxx Diff File
mod - src/Graphic3d/Graphic3d_MarkerImage.cxx Diff File
mod - src/Graphic3d/Graphic3d_TextureRoot.hxx Diff File
mod - src/Image/FILES Diff File
mod - src/Image/Image_AlienPixMap.cxx Diff File
mod - src/Image/Image_AlienPixMap.hxx Diff File
mod - src/Image/Image_Diff.cxx Diff File
add - src/Image/Image_Format.hxx Diff File
mod - src/Image/Image_PixMap.cxx Diff File
mod - src/Image/Image_PixMap.hxx Diff File
mod - src/MeshVS/MeshVS_NodalColorPrsBuilder.cxx Diff File
mod - src/OpenGl/OpenGl_AspectMarker.cxx Diff File
mod - src/OpenGl/OpenGl_Font.cxx Diff File
mod - src/OpenGl/OpenGl_Texture.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace.cxx Diff File
mod - src/QABugs/QABugs_19.cxx Diff File
mod - src/StdSelect/StdSelect_ViewerSelector3d.cxx Diff File
mod - src/V3d/V3d_View.cxx Diff File
mod - src/ViewerTest/ViewerTest.cxx Diff File
mod - src/ViewerTest/ViewerTest_ObjectCommands.cxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File

Issue History

Date Modified Username Field Change
2017-02-05 13:43 kgv New Issue
2017-02-05 13:43 kgv Assigned To => kgv
2017-02-05 13:48 git Note Added: 0063448
2017-02-05 13:48 kgv Note Added: 0063449
2017-02-05 13:48 kgv Assigned To kgv => abv
2017-02-05 13:48 kgv Priority normal => low
2017-02-05 13:48 kgv Severity minor => integration request
2017-02-05 13:48 kgv Status new => resolved
2017-02-05 13:50 kgv Product Version 7.1.0 => 6.5.4
2017-02-05 13:50 kgv Relationship added related to 0023272
2017-02-09 14:19 abv Note Added: 0063731
2017-02-09 14:19 abv Assigned To abv => kgv
2017-02-09 14:19 abv Status resolved => assigned
2017-02-09 14:23 kgv Note Added: 0063732
2017-02-14 12:16 git Note Added: 0063790
2017-02-14 12:17 git Note Added: 0063791
2017-02-14 12:18 kgv Note Added: 0063792
2017-02-14 12:18 kgv Assigned To kgv => abv
2017-02-14 12:18 kgv Status assigned => resolved
2017-02-24 22:43 abv Note Added: 0063990
2017-02-24 22:43 abv Assigned To abv => bugmaster
2017-02-24 22:43 abv Status resolved => reviewed
2017-02-27 16:35 git Note Added: 0064011
2017-02-27 16:35 apv Note Added: 0064012
2017-02-27 16:35 apv Assigned To bugmaster => apv
2017-02-28 14:17 apv Test case number => Not needed
2017-02-28 16:26 apv Note Added: 0064033
2017-02-28 16:26 apv Assigned To apv => kgv
2017-02-28 16:26 apv Status reviewed => assigned
2017-02-28 16:27 apv Note Added: 0064034
2017-02-28 18:21 git Note Added: 0064039
2017-02-28 18:21 kgv Note Added: 0064040
2017-02-28 18:21 kgv Assigned To kgv => bugmaster
2017-02-28 18:21 kgv Status assigned => resolved
2017-02-28 18:21 kgv Status resolved => reviewed
2017-02-28 18:50 apv Assigned To bugmaster => apv
2017-03-01 14:36 apv Note Added: 0064055
2017-03-01 14:36 apv Assigned To apv => bugmaster
2017-03-01 14:36 apv Status reviewed => tested
2017-03-03 16:25 bugmaster Changeset attached => occt master dc858f4c
2017-03-03 16:25 bugmaster Status tested => verified
2017-03-03 16:25 bugmaster Resolution open => fixed
2017-03-20 14:33 git Note Added: 0064466
2017-03-20 14:33 git Note Added: 0064469
2017-03-20 14:35 git Note Added: 0064487
2017-09-29 16:20 aiv Fixed in Version => 7.2.0
2017-09-29 16:24 aiv Status verified => closed
2021-01-14 17:09 kgv Relationship added parent of 0032056