0031918: Application Framework - New binary format for fast reading part of OCAF...
[occt.git] / src / BinTools / BinTools_ShapeSetBase.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 <BinTools.hxx>
15 #include <BinTools_ShapeSetBase.hxx>
16 #include <TopoDS_Shape.hxx>
17
18 const Standard_CString BinTools_ShapeSetBase::THE_ASCII_VERSIONS[BinTools_FormatVersion_UPPER + 1] =
19 {
20   "",
21   "Open CASCADE Topology V1 (c)",
22   "Open CASCADE Topology V2 (c)",
23   "Open CASCADE Topology V3 (c)",
24   "Open CASCADE Topology V4, (c) Open Cascade"
25 };
26
27 //=======================================================================
28 //function : operator << (gp_Pnt)
29 //purpose  : 
30 //=======================================================================
31 Standard_OStream& operator << (Standard_OStream& OS, const gp_Pnt P)
32 {
33   BinTools::PutReal (OS, P.X());
34   BinTools::PutReal (OS, P.Y());
35   BinTools::PutReal (OS, P.Z());
36   return OS;
37 }
38
39 //=======================================================================
40 //function : BinTools_ShapeSetBase
41 //purpose  : 
42 //=======================================================================
43
44 BinTools_ShapeSetBase::BinTools_ShapeSetBase()
45   : myFormatNb (BinTools_FormatVersion_CURRENT),
46     myWithTriangles (Standard_False),
47     myWithNormals (Standard_False)
48 {}
49
50 //=======================================================================
51 //function : ~BinTools_ShapeSetBase
52 //purpose  : 
53 //=======================================================================
54
55 BinTools_ShapeSetBase::~BinTools_ShapeSetBase()
56 {}
57
58 //=======================================================================
59 //function : SetFormatNb
60 //purpose  : 
61 //=======================================================================
62 void BinTools_ShapeSetBase::SetFormatNb (const Standard_Integer theFormatNb)
63 {
64   Standard_ASSERT_RETURN(theFormatNb >= BinTools_FormatVersion_LOWER &&
65                          theFormatNb <= BinTools_FormatVersion_UPPER,
66     "Error: unsupported BinTools version.", );
67
68   myFormatNb = theFormatNb;
69 }