]> OCCT Git - occt-copy.git/commit
0032078: Visualization, Poly_Triangulation - add cached bounding box.
authorosa <osa@opencascade.com>
Fri, 22 Jan 2021 14:56:45 +0000 (17:56 +0300)
committermsv <msv@opencascade.com>
Mon, 26 Apr 2021 13:16:26 +0000 (16:16 +0300)
commitf486d8efe106f7971b4b1adcdbf20b327c25af95
treeb9f8b5be37032150d772e725fe7bc1190280d322
parentf893454dddfd8a828b3305cbad34e219e6326d68
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
src/BRepBndLib/BRepBndLib.cxx
src/BRepBndLib/BRepBndLib_1.cxx
src/BRepGProp/BRepGProp.cxx
src/BRepGProp/BRepGProp_MeshProps.cxx
src/Poly/Poly_Triangulation.cxx
src/Poly/Poly_Triangulation.hxx
src/RWGltf/RWGltf_GltfJsonParser.cxx
src/RWGltf/RWGltf_GltfLatePrimitiveArray.cxx
src/RWGltf/RWGltf_GltfLatePrimitiveArray.hxx