1 // Created on: 1997-11-19
2 // Created by: Denis PASCAL
3 // Copyright (c) 1997-1999 Matra Datavision
4 // Copyright (c) 1999-2012 OPEN CASCADE SAS
6 // The content of this file is subject to the Open CASCADE Technology Public
7 // License Version 6.5 (the "License"). You may not use the content of this file
8 // except in compliance with the License. Please obtain a copy of the License
9 // at http://www.opencascade.org and read it completely before using this file.
11 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 // The Original Code and all software distributed under the License is
15 // distributed on an "AS IS" basis, without warranty of any kind, and the
16 // Initial Developer hereby disclaims all such warranties, including without
17 // limitation, any warranties of merchantability, fitness for a particular
18 // purpose or non-infringement. Please see the License for the specific terms
19 // and conditions governing the rights and limitations under the License.
23 #include <MDataXtd_GeometryRetrievalDriver.ixx>
24 #include <TDataXtd_GeometryEnum.hxx>
25 #include <TDataXtd_Geometry.hxx>
26 #include <PDataXtd_Geometry.hxx>
27 #include <MDataXtd.hxx>
28 #include <CDM_MessageDriver.hxx>
32 //=======================================================================
33 //function : MDataXtd_GeometryRetrievalDriver
35 //=======================================================================
37 MDataXtd_GeometryRetrievalDriver::MDataXtd_GeometryRetrievalDriver(const Handle(CDM_MessageDriver)& theMsgDriver):MDF_ARDriver(theMsgDriver)
41 //=======================================================================
42 //function : VersionNumber
44 //=======================================================================
46 Standard_Integer MDataXtd_GeometryRetrievalDriver::VersionNumber() const
50 //=======================================================================
51 //function : SourceType
53 //=======================================================================
55 Handle(Standard_Type) MDataXtd_GeometryRetrievalDriver::SourceType() const
56 { return STANDARD_TYPE(PDataXtd_Geometry); }
61 //=======================================================================
64 //=======================================================================
66 Handle(TDF_Attribute) MDataXtd_GeometryRetrievalDriver::NewEmpty() const
67 { return new TDataXtd_Geometry (); }
71 //=======================================================================
74 //=======================================================================
76 void MDataXtd_GeometryRetrievalDriver::Paste (
77 const Handle(PDF_Attribute)& Source,
78 const Handle(TDF_Attribute)& Target,
79 // const Handle(MDF_RRelocationTable)& RelocTable) const
80 const Handle(MDF_RRelocationTable)& ) const
82 Handle(PDataXtd_Geometry) S =
83 Handle(PDataXtd_Geometry)::DownCast (Source);
84 Handle(TDataXtd_Geometry) T =
85 Handle(TDataXtd_Geometry)::DownCast (Target);
87 T->SetType (MDataXtd::IntegerToGeometryType (S->GetType ()));