7fd59977 |
1 | // File: MXCAFDoc_DimTolStorageDriver.cxx |
2 | // Created: 10.12.08 09:06:26 |
3 | // Author: Pavel TELKOV |
4 | // Copyright: Open CASCADE 2008 |
5 | |
6 | #include <MXCAFDoc_DimTolStorageDriver.ixx> |
7 | #include <XCAFDoc_DimTol.hxx> |
8 | #include <PXCAFDoc_DimTol.hxx> |
9 | |
10 | #include <TCollection_HAsciiString.hxx> |
11 | #include <TColStd_HArray1OfReal.hxx> |
12 | #include <PCollection_HAsciiString.hxx> |
13 | #include <PColStd_HArray1OfReal.hxx> |
14 | |
15 | //======================================================================= |
16 | //function : MXCAFDoc_DimTolStorageDriver |
17 | //purpose : |
18 | //======================================================================= |
19 | |
20 | MXCAFDoc_DimTolStorageDriver::MXCAFDoc_DimTolStorageDriver |
21 | (const Handle(CDM_MessageDriver)& theMsgDriver) : MDF_ASDriver (theMsgDriver) |
22 | {} |
23 | |
24 | //======================================================================= |
25 | //function : VersionNumber |
26 | //purpose : |
27 | //======================================================================= |
28 | |
29 | Standard_Integer MXCAFDoc_DimTolStorageDriver::VersionNumber() const |
30 | { return 0; } |
31 | |
32 | //======================================================================= |
33 | //function : SourceType |
34 | //purpose : |
35 | //======================================================================= |
36 | |
37 | Handle(Standard_Type) MXCAFDoc_DimTolStorageDriver::SourceType() const |
38 | { |
39 | static Handle(Standard_Type) sourceType = STANDARD_TYPE(XCAFDoc_DimTol); |
40 | return sourceType; |
41 | } |
42 | |
43 | //======================================================================= |
44 | //function : NewEmpty |
45 | //purpose : |
46 | //======================================================================= |
47 | |
48 | Handle(PDF_Attribute) MXCAFDoc_DimTolStorageDriver::NewEmpty() const |
49 | { |
50 | return new PXCAFDoc_DimTol(); |
51 | } |
52 | |
53 | //======================================================================= |
54 | //function : Paste |
55 | //purpose : |
56 | //======================================================================= |
57 | |
58 | void MXCAFDoc_DimTolStorageDriver::Paste(const Handle(TDF_Attribute)& Source, |
59 | const Handle(PDF_Attribute)& Target, |
60 | const Handle(MDF_SRelocationTable)& RelocTable) const |
61 | { |
62 | Handle(XCAFDoc_DimTol) S = Handle(XCAFDoc_DimTol)::DownCast (Source); |
63 | Handle(PXCAFDoc_DimTol) T = Handle(PXCAFDoc_DimTol)::DownCast (Target); |
7fd59977 |
64 | Handle(TColStd_HArray1OfReal) aHArr = S->GetVal(); |
65 | Handle(PColStd_HArray1OfReal) aVals; |
66 | if ( !aHArr.IsNull() ) |
67 | { |
68 | Standard_Integer i = aHArr->Lower(), n = aHArr->Upper(); |
69 | aVals = new PColStd_HArray1OfReal( i, n ); |
70 | for( ; i <= n; i++ ) |
71 | aVals->SetValue( i, aHArr->Value( i ) ); |
72 | } |
73 | Handle(TCollection_HAsciiString) aNameStr = S->GetName(); |
74 | Handle(TCollection_HAsciiString) aDescrStr = S->GetDescription(); |
75 | |
76 | Handle(PCollection_HAsciiString) aName, aDescr; |
77 | if ( !aNameStr.IsNull() ) |
78 | aName = new PCollection_HAsciiString (aNameStr->String()); |
79 | if ( !aDescrStr.IsNull() ) |
80 | aDescr = new PCollection_HAsciiString (aDescrStr->String()); |
81 | |
82 | T->Set(S->GetKind(), aVals, aName, aDescr); |
83 | } |