0028714: Dimension of TDataStd_Real is not serialized to document
[occt.git] / src / StdLPersistent / StdLPersistent_Real.hxx
CommitLineData
7ed7467d 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
ff205346 15#ifndef _StdLPersistent_Real_HeaderFile
16#define _StdLPersistent_Real_HeaderFile
7ed7467d 17
ff205346 18#include <StdObjMgt_Attribute.hxx>
7ed7467d 19
ff205346 20#include <TDataStd_Real.hxx>
7ed7467d 21
22
ff205346 23class StdLPersistent_Real : public StdObjMgt_Attribute<TDataStd_Real>
7ed7467d 24{
25public:
26 //! Read persistent data from a file.
ff205346 27 inline void Read (StdObjMgt_ReadData& theReadData)
28 { theReadData >> myValue >> myDimension; }
ec964372 29 //! Write persistent data from a file.
30 inline void Write (StdObjMgt_WriteData& theWriteData) const
31 { theWriteData << myValue << myDimension; }
32 //! Gets persistent child objects
33 void PChildren(StdObjMgt_Persistent::SequenceOfPersistent&) const {}
34 //! Returns persistent type name
35 Standard_CString PName() const { return "PDataStd_Real"; }
7ed7467d 36
37 //! Import transient attribuite from the persistent data.
ff205346 38 void Import (const Handle(TDataStd_Real)& theAttribute) const
39 {
58e5d30e 40 theAttribute->Set (myValue);
41 Standard_DISABLE_DEPRECATION_WARNINGS
45d8465e 42 theAttribute->SetDimension (static_cast<TDataStd_RealEnum> (myDimension));
58e5d30e 43 Standard_ENABLE_DEPRECATION_WARNINGS
44 theAttribute->SetID (TDataStd_Real::GetID());
ff205346 45 }
7ed7467d 46
47private:
45d8465e 48 Standard_Real myValue;
49 Standard_Integer myDimension;
7ed7467d 50};
51
52#endif