]> OCCT Git - occt.git/commit
0032086: Visualization - support deferred data loading
authorosa <osa@opencascade.com>
Fri, 26 Feb 2021 15:01:11 +0000 (18:01 +0300)
committerbugmaster <bugmaster@opencascade.com>
Sat, 27 Mar 2021 10:46:02 +0000 (13:46 +0300)
commite816dce36e03d6b70eb54b364a5a24fa4de28d53
tree94b73317be6a510004610e4617512d74ce6e1cfe
parent63879968716e07bd90fdd2bbf3f189e3c0d561cd
0032086: Visualization - support deferred data loading

1) Extend Poly_Triangulation by mesh purpose, possibility to be cleared and late-load deferred data interfaces.
2) Update BRep_TFace to store list of triangulations istead of single one. And also active one. Update getter and setter of single triangulation and add new methods to interaction with whole triangulations list.
3) Update BRep_Tool to get single triangulation of face according to the input mesh purpose or whole triangulations list.
4) Update BRep_Builder to make face by not only single triangulation but whole triangulations list with specified active one.
5) Add new methods to BRepTools to interact with shape triangulations (Load/Unload/Activate/LoadAll/UnloadAllTriangulation(s))
6) Add new 'tlateload'command for shape to load/unload/activate triangulations.
7) Update 'trinfo' command by '-lods' options to print detailaed information about LODs of this shape
8) Support empty triangulations by selection. Use bounding box selection in this case.
9) Add new 'outdisplist' option to XDispaly command to print list of displayed objects to output variable but not to theDI
10) Add new '-noecho' option to vdisplay command to skip printing of displayed objects to theDI
11) Create new RWMesh_TriangulationSource as mesh data wrapper for delayed triangulation loading.
12) Create new RWMesh_TriangulationReader as base interface for reading primitive array from the buffer.
13) Cache nodes/triangles number defined in glTF file
14) Use RWMesh_TriangulationSource class as base of RWGltf_GltfLatePrimitiveArray one and RWMesh_TriangulationReader class as base of RWGltf_TriangulationReader one
15) Add possibilty to support of LODs by glTF reader. It is possible to skip data loading and load them later
16) Add new '-skiplateloading' (to skip triangulation loading), '-keeplate' (to keep information about deferred storage to load/unload triangulation later),
'-toprintdebuginfo' (to print additional debug information) options to ReadGltf command
17) Add new test of glTF late loading
46 files changed:
src/BRep/BRep_Builder.cxx
src/BRep/BRep_Builder.hxx
src/BRep/BRep_TFace.cxx
src/BRep/BRep_TFace.hxx
src/BRep/BRep_TFace.lxx [deleted file]
src/BRep/BRep_Tool.cxx
src/BRep/BRep_Tool.hxx
src/BRep/FILES
src/BRepTools/BRepTools.cxx
src/BRepTools/BRepTools.hxx
src/DrawResources/CheckCommands.tcl
src/DrawResources/TestCommands.tcl
src/MeshTest/MeshTest.cxx
src/Poly/FILES
src/Poly/Poly_MeshPurpose.hxx [new file with mode: 0644]
src/Poly/Poly_Triangulation.cxx
src/Poly/Poly_Triangulation.hxx
src/Prs3d/Prs3d.cxx
src/RWGltf/FILES
src/RWGltf/RWGltf_CafReader.cxx
src/RWGltf/RWGltf_CafReader.hxx
src/RWGltf/RWGltf_GltfJsonParser.cxx
src/RWGltf/RWGltf_GltfJsonParser.hxx
src/RWGltf/RWGltf_GltfLatePrimitiveArray.cxx
src/RWGltf/RWGltf_GltfLatePrimitiveArray.hxx
src/RWGltf/RWGltf_PrimitiveArrayReader.cxx [deleted file]
src/RWGltf/RWGltf_PrimitiveArrayReader.hxx [deleted file]
src/RWGltf/RWGltf_TriangulationReader.cxx
src/RWGltf/RWGltf_TriangulationReader.hxx
src/RWMesh/FILES
src/RWMesh/RWMesh_TriangulationReader.cxx [new file with mode: 0644]
src/RWMesh/RWMesh_TriangulationReader.hxx [new file with mode: 0644]
src/RWMesh/RWMesh_TriangulationSource.cxx [new file with mode: 0644]
src/RWMesh/RWMesh_TriangulationSource.hxx [new file with mode: 0644]
src/Select3D/Select3D_SensitiveTriangulation.cxx
src/Select3D/Select3D_SensitiveTriangulation.hxx
src/StdPrs/StdPrs_ShadedShape.cxx
src/ViewerTest/ViewerTest.cxx
src/XDEDRAW/XDEDRAW.cxx
src/XSDRAWSTLVRML/XSDRAWSTLVRML.cxx
tests/bugs/mesh/bug25612
tests/bugs/modalg_6/bug26897
tests/de_mesh/gltf_lateload/begin [new file with mode: 0644]
tests/de_mesh/gltf_lateload/boxwithoutindices [new file with mode: 0644]
tests/de_mesh/gltf_lateload/engine [new file with mode: 0644]
tests/de_mesh/grids.list