0032107: Data Exchange, RWGltf_CafReader - reading glTF document back loses sharing
[occt.git] / src / RWMesh / RWMesh_TriangulationSource.cxx
1 // Copyright (c) 2021 OPEN CASCADE SAS
2 //
3 // This file is part of Open CASCADE Technology software library.
4 //
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
10 //
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
13
14 #include <RWMesh_TriangulationSource.hxx>
15
16 #include <RWMesh_TriangulationReader.hxx>
17
18 IMPLEMENT_STANDARD_RTTIEXT(RWMesh_TriangulationSource, Poly_Triangulation)
19
20 // =======================================================================
21 // function : RWMesh_TriangulationSource
22 // purpose  :
23 // =======================================================================
24 RWMesh_TriangulationSource::RWMesh_TriangulationSource()
25 : myNbDefNodes(0),
26   myNbDefTriangles(0),
27   myStatisticOfDegeneratedTriNb(0)
28 {
29 }
30
31 // =======================================================================
32 // function : ~RWMesh_TriangulationSource
33 // purpose  :
34 // =======================================================================
35 RWMesh_TriangulationSource::~RWMesh_TriangulationSource()
36 {
37   //
38 }
39
40 // =======================================================================
41 // function : loadDeferredData
42 // purpose  :
43 // =======================================================================
44 Standard_Boolean RWMesh_TriangulationSource::loadDeferredData (const Handle(OSD_FileSystem)& theFileSystem,
45                                                                const Handle(Poly_Triangulation)& theDestTriangulation) const
46 {
47   myStatisticOfDegeneratedTriNb = 0;
48   if (myReader.IsNull())
49   {
50     return false;
51   }
52   if (myReader->Load (this, theDestTriangulation, theFileSystem))
53   {
54     return true;
55   }
56   return false;
57 }