MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0028276Open CASCADE[OCCT] OCCT:Visualizationpublic2016-12-23 21:192017-09-29 16:31
Reporterkgv 
Assigned Toapn 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformWindowsOSVC++ 2010OS Version64 bit
Product Version[OCCT] 6.8.0 
Target Version[OCCT] 7.2.0Fixed in Version[OCCT] 7.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 Filespng file icon indices_KO.png (249,052 bytes) 2016-12-23 21:19
png file icon indices_OK.png (217,750 bytes) 2016-12-23 21:19

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

-  Notes
(0062087)
git (administrator)
2016-12-23 21:22

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.
(0062088)
kgv (developer)
2016-12-23 21:22

Patch is ready for review.
(0062089)
san (developer)
2016-12-24 16:26

Is it possible to implement a simple test case using pure OCCT capabilities (i.e. outside CAD Assistant)?
(0062090)
san (developer)
2016-12-24 16:46

Branch CR28276 reviewed without remarks, ready for testing.
(0062167)
apv (tester)
2016-12-27 12:20

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%]
(0063573)
git (administrator)
2017-02-08 11:32

Branch CR28276 has been deleted by kgv.

SHA-1: b131c5c5bdbfb8cc90712e932140dc3f1c639c28

- Related Changesets
occt: master 09f30297
Timestamp: 2016-12-23 18:21:00
Author: 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.
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 user533 Fixed in Version => 7.2.0
2017-09-29 16:31 user533 Status verified => closed


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker