0029915: Porting to VC 2017 : Regressions in Modeling Algorithms on VC 2017
[occt.git] / src / StdPersistent / StdPersistent_DataXtd_Constraint.hxx
1 // Copyright (c) 2015 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
15 #ifndef _StdPersistent_DataXtd_Constraint_HeaderFile
16 #define _StdPersistent_DataXtd_Constraint_HeaderFile
17
18 #include <StdObjMgt_Attribute.hxx>
19 #include <StdLPersistent_HArray1.hxx>
20
21 #include <TDataXtd_Constraint.hxx>
22
23
24 class StdPersistent_DataXtd_Constraint
25   : public StdObjMgt_Attribute<TDataXtd_Constraint>
26 {
27 public:
28   //! Read persistent data from a file.
29   inline void Read (StdObjMgt_ReadData& theReadData)
30   {
31     theReadData >> myType >> myGeometries >> myValue
32                 >> myIsReversed >> myIsInverted >> myIsVerified >> myPlane;
33   }
34   //! Write persistent data to a file.
35   inline void Write (StdObjMgt_WriteData& theWriteData) const
36   {
37     theWriteData << myType << myGeometries << myValue
38       << myIsReversed << myIsInverted << myIsVerified << myPlane;
39   }
40   //! Gets persistent child objects
41   inline void PChildren(StdObjMgt_Persistent::SequenceOfPersistent& theChildren) const 
42   {
43     theChildren.Append(myGeometries);
44     theChildren.Append(myValue);
45     theChildren.Append(myPlane);
46   }
47   //! Returns persistent type name
48   inline Standard_CString PName() const { return "PDataXtd_Constraint"; }
49
50   //! Import transient attribuite from the persistent data.
51   void Import (const Handle(TDataXtd_Constraint)& theAttribute) const;
52
53 private:
54   Standard_Integer              myType;
55   Handle(StdLPersistent_HArray1::Persistent) myGeometries;
56   Handle(StdObjMgt_Persistent)  myValue;
57   Standard_Boolean              myIsReversed;
58   Standard_Boolean              myIsInverted;
59   Standard_Boolean              myIsVerified;
60   Handle(StdObjMgt_Persistent)  myPlane;
61 };
62
63 #endif