View Issue Details

IDProjectCategoryView StatusLast Update
0032078Open CASCADEOCCT:Visualizationpublic2022-01-26 16:33
ReporterosaAssigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.6.0Fixed in Version7.6.0 
Summary0032078: Visualization, Poly_Triangulation - add cached bounding box
DescriptionCached bounding box in Poly_Triangulation can be useful in case of empty triangulation. It doesn't take to account internal triangulation vertices and can be set only using SetCachedMinMax() method from application site.
Update some algorithms to take this cached box if triangulation is empty (like BRepBndLib::Add*).
Update Gltf and Jt readers by caching bounding box from file.
Steps To ReproduceNot required
TagsNo tags attached.
Test case numberNot required

Relationships

related to 0032086 closedbugmaster Open CASCADE Visualization - support deferred data loading 
parent of 0032171 closedbugmaster Open CASCADE Data Exchange - RWGltf_TriangulationReader and JTCAFControl_Triangulation don't copy cached bounding box 
Not all the children of this issue are yet resolved or closed.

Activities

osa

2021-01-25 17:09

developer   ~0098398

http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR32078-CR32078-OSA/view/ALL/

osa

2021-01-25 17:11

developer   ~0098399

Patches are ready for review
- OCCT: branch CR32078,
- OCCT Products: branch CR32078,
- CAD Assistant: branch CR32078

git

2021-01-27 10:25

administrator   ~0098430

Branch CR32078_1 has been updated forcibly by osa.

SHA-1: 8e11ec0f96c59786e6456ee868779b6aad6d7e52

osa

2021-01-27 10:31

developer   ~0098431

http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR32078_1-CR32078_1-OSA/view/ALL/

Patches are ready for review
- OCCT: branch CR32078_1,
- OCCT Products: branch CR32078_1,
- CAD Assistant: branch CR32078_1

kgv

2021-01-27 11:41

developer   ~0098434

Please raise the patch.

git

2021-01-27 12:40

administrator   ~0098435

Branch CR32078_1 has been updated forcibly by osa.

SHA-1: 64caee43d995eb1310f841677385063baac507c4

bugmaster

2021-01-30 16:30

administrator   ~0098524

Combination -
OCCT branch : IR-2021-01-29
master SHA - 4ad4054c9029106ee8d3dffe9155bacf3969829b
a206de37fbfa0bf71bd534ae47192bbec23b8522
Products branch : IR-2021-01-29 SHA - c3b72814422d9716b8d67e200cc31db4c554346e
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17780.76000000008 / 17796.17000000006 [-0.09%]
Products
Total CPU difference: 11509.04000000011 / 12430.450000000123 [-7.41%]
Windows-64-VC14:
OCCT
Total CPU difference: 19390.859375 / 19444.171875 [-0.27%]
Products
Total CPU difference: 12815.171875 / 13824.375 [-7.30%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2021-01-30 17:16

administrator   ~0098546

Branch CR32078_1 has been deleted by inv.

SHA-1: 64caee43d995eb1310f841677385063baac507c4

git

2021-01-30 17:16

administrator   ~0098547

Branch CR32078 has been deleted by inv.

SHA-1: 191f77b27d6d3115f98ea13fdad3bde896851948

Related Changesets

occt: master 538ab5dd

2021-01-22 14:56:45

osa


Committer: bugmaster Details Diff
0032078: Visualization, Poly_Triangulation - add cached bounding box.

1) Add empty constructor for Poly_Triangulation(),
2) Add Poly_Triangulation::HasGeometry() method to check that triangulation has any geometry.
3) Add possibility to cache bounding box in Poly_Triangulation and use it later in case of empty triangulation.
4) Add Poly_Triangulation::MinMax() to extends input box with bounding box of triangulation.
5) Add Poly_Triangulation::UpdateCachedMinMax() to cache min - max range of this triangulation with bounding box of nodal data.
6) Add virtual Poly_Triangulation::computeBoundingBox() to calculate bounding box of nodal data.
7) Update BRepBndLib::Add/AddOptimal/AddOBB algorithms to check empty triangulation and use cached box in this case.
8) Update BRepGProp::roughBary/surfaceProperties/volumeProperties to skip empty triangulation.
9) Remove additional myBox from RWGltf_GltfLatePrimitiveArray and some hack to save this box as nodes of base Poly_Triangulation.
10) Cache min-max range from JT file during its parsing
Affected Issues
0032078
mod - src/BRepBndLib/BRepBndLib.cxx Diff File
mod - src/BRepBndLib/BRepBndLib_1.cxx Diff File
mod - src/BRepGProp/BRepGProp.cxx Diff File
mod - src/BRepGProp/BRepGProp_MeshProps.cxx Diff File
mod - src/Poly/Poly_Triangulation.cxx Diff File
mod - src/Poly/Poly_Triangulation.hxx Diff File
mod - src/RWGltf/RWGltf_GltfJsonParser.cxx Diff File
mod - src/RWGltf/RWGltf_GltfLatePrimitiveArray.cxx Diff File
mod - src/RWGltf/RWGltf_GltfLatePrimitiveArray.hxx Diff File

occt-products: master 2f854ccc

2021-01-22 18:02:23

osa


Committer: bugmaster Details Diff
0032078: Visualization, Poly_Triangulation - add cached bounding box

1) Use empty triangulation as base for JTCAFControl_Triangulation (remove dummy zero point).
2) Add JtNode_Shape_Base::ComputeBoundingBox() to return box loaded from file
3) Cache bounding box from JT file.
Affected Issues
0032078
mod - diff Diff File
mod - diff Diff File
mod - src/JTCAFControl/JTCAFControl_Triangulation.cxx Diff File
mod - src/JtNode/JtNode_Shape_Base.hxx Diff File

Issue History

Date Modified Username Field Change
2021-01-22 17:44 osa New Issue
2021-01-22 17:44 osa Assigned To => kgv
2021-01-22 17:45 osa Assigned To kgv => osa
2021-01-22 17:45 osa Status new => assigned
2021-01-25 17:09 osa Note Added: 0098398
2021-01-25 17:11 osa Note Added: 0098399
2021-01-25 17:11 osa Assigned To osa => kgv
2021-01-25 17:11 osa Status assigned => resolved
2021-01-25 17:11 osa Steps to Reproduce Updated
2021-01-25 22:09 kgv Assigned To kgv => osa
2021-01-25 22:09 kgv Status resolved => assigned
2021-01-27 10:25 git Note Added: 0098430
2021-01-27 10:31 osa Note Added: 0098431
2021-01-27 10:31 osa Assigned To osa => kgv
2021-01-27 10:31 osa Status assigned => resolved
2021-01-27 11:40 kgv Relationship added related to 0032086
2021-01-27 11:41 kgv Note Added: 0098434
2021-01-27 11:41 kgv Assigned To kgv => bugmaster
2021-01-27 11:41 kgv Status resolved => reviewed
2021-01-27 11:42 kgv Severity minor => feature
2021-01-27 12:40 git Note Added: 0098435
2021-01-30 16:30 bugmaster Note Added: 0098524
2021-01-30 16:30 bugmaster Status reviewed => tested
2021-01-30 16:32 bugmaster Test case number => Not required
2021-01-30 16:50 bugmaster Changeset attached => occt master 538ab5dd
2021-01-30 16:50 bugmaster Status tested => verified
2021-01-30 16:50 bugmaster Resolution open => fixed
2021-01-30 17:16 git Note Added: 0098546
2021-01-30 17:16 git Note Added: 0098547
2021-02-25 20:33 kgv Relationship added parent of 0032171
2021-12-17 18:41 bugmaster Changeset attached => occt-products master 2f854ccc