]> OCCT Git - occt.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)
committerbugmaster <bugmaster@opencascade.com>
Wed, 27 Jan 2021 18:21:32 +0000 (21:21 +0300)
commit538ab5dd8a8c36b14bb97d4c26c66a5a0c97921c
treec3a585e9eba48692db945c738ecc6c6c84cc9347
parenta46ab511c59e9966a2aa89e4a98e4185d3d80111
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