View Issue Details

IDProjectCategoryView StatusLast Update
0028276Open CASCADEOCCT:Visualizationpublic2017-09-29 16:31
Reporterkgv Assigned Toapn  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2010 
Product Version6.8.0 
Target Version7.2.0Fixed in Version7.2.0 
Summary0028276: Visualization, Graphic3d_ArrayOfPrimitives - fix usage of 16-bit indices
DescriptionGraphic3d_ArrayOfPrimitives decides to allocate 16-bit or 32-bit indices within the following check:
    if (theMaxEdges < Standard_Integer(USHRT_MAX))
    {
      if (!myIndices->Init<unsigned short> (theMaxEdges))
      {
        myIndices.Nullify();
        return;
      }
    }
    else
    {
      if (!myIndices->Init<unsigned int> (theMaxEdges))
      {
        myIndices.Nullify();
        return;
      }
    }


This check is OK for normally compressed data.

However, external data might include exhaustive amount of vertex data requiring 32-bit indexation while overall amount of indices is still small.
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot needed

Attached Files

  • indices_KO.png (249,052 bytes)
  • indices_OK.png (217,750 bytes)

Relationships

related to 0024406 closedapn Visualization - crash on re-usage of the same primitive array 
related to 0026081 closedbugmaster Visualization, TKOpenGl - rebuild vertex attributes in order to not render large index arrays in OpenGL ES 

Activities

kgv

2016-12-23 21:19

developer  

indices_KO.png (249,052 bytes)

kgv

2016-12-23 21:19

developer  

indices_OK.png (217,750 bytes)

git

2016-12-23 21:22

administrator   ~0062087

Branch CR28276 has been created by kgv.

SHA-1: b131c5c5bdbfb8cc90712e932140dc3f1c639c28


Detailed log of new commits:

Author: kgv
Date: Fri Dec 23 21:21:00 2016 +0300

    0028276: Visualization, Graphic3d_ArrayOfPrimitives - fix usage of 16-bit indices
    
    Graphic3d_ArrayOfPrimitives now check the amount of vertex data rather than amount of indices.

kgv

2016-12-23 21:22

developer   ~0062088

Patch is ready for review.

san

2016-12-24 16:26

developer   ~0062089

Is it possible to implement a simple test case using pure OCCT capabilities (i.e. outside CAD Assistant)?

san

2016-12-24 16:46

developer   ~0062090

Branch CR28276 reviewed without remarks, ready for testing.

apv

2016-12-27 12:20

tester   ~0062167

Dear BugMaster,

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

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

Regressions/Differences:
Not detected

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 92817441 / 93054576 [-0.25%]
Total CPU difference: 21527.880000000092 / 21520.74000000037 [+0.03%]

Testing on Windows:
Total MEMORY difference: 58626750 / 58650770 [-0.04%]
Total CPU difference: 19440.75101939849 / 19731.318481998722 [-1.47%]

git

2017-02-08 11:32

administrator   ~0063573

Branch CR28276 has been deleted by kgv.

SHA-1: b131c5c5bdbfb8cc90712e932140dc3f1c639c28

Related Changesets

occt: master 09f30297

2016-12-23 18:21:00

kgv


Committer: apn Details Diff
0028276: Visualization, Graphic3d_ArrayOfPrimitives - fix usage of 16-bit indices

Graphic3d_ArrayOfPrimitives now check the amount of vertex data rather than amount of indices.
Affected Issues
0028276
mod - src/Graphic3d/Graphic3d_ArrayOfPrimitives.cxx Diff File
mod - src/OpenGl/OpenGl_PrimitiveArray.cxx Diff File

Issue History

Date Modified Username Field Change
2016-12-23 21:19 kgv New Issue
2016-12-23 21:19 kgv Assigned To => kgv
2016-12-23 21:19 kgv File Added: indices_KO.png
2016-12-23 21:19 kgv File Added: indices_OK.png
2016-12-23 21:22 git Note Added: 0062087
2016-12-23 21:22 kgv Note Added: 0062088
2016-12-23 21:22 kgv Assigned To kgv => san
2016-12-23 21:22 kgv Status new => resolved
2016-12-23 21:24 kgv Relationship added related to 0024406
2016-12-23 21:24 kgv Product Version => 6.8.0
2016-12-23 21:26 kgv Relationship added related to 0026081
2016-12-24 16:26 san Note Added: 0062089
2016-12-24 16:26 san Assigned To san => kgv
2016-12-24 16:26 san Status resolved => feedback
2016-12-24 16:46 san Note Added: 0062090
2016-12-24 16:46 san Assigned To kgv => bugmaster
2016-12-24 16:46 san Status feedback => reviewed
2016-12-26 14:44 apv Assigned To bugmaster => apv
2016-12-26 14:53 apv Test case number => Not needed
2016-12-27 12:20 apv Note Added: 0062167
2016-12-27 12:20 apv Assigned To apv => bugmaster
2016-12-27 12:20 apv Status reviewed => tested
2016-12-30 18:08 apn Changeset attached => occt master 09f30297
2016-12-30 18:08 apn Assigned To bugmaster => apn
2016-12-30 18:08 apn Status tested => verified
2016-12-30 18:08 apn Resolution open => fixed
2017-02-08 11:32 git Note Added: 0063573
2017-09-29 16:21 aiv Fixed in Version => 7.2.0
2017-09-29 16:31 aiv Status verified => closed