0024428: Implementation of LGPL license
[occt.git] / src / BRep / BRep_Curve3D.cxx
1 // Created on: 1993-07-06
2 // Created by: Remi LEQUETTE
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and / or modify it
9 // under the terms of the GNU Lesser General Public version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17 #include <BRep_Curve3D.ixx>
18
19 //=======================================================================
20 //function : BRep_Curve3D
21 //purpose  : 
22 //=======================================================================
23
24 BRep_Curve3D::BRep_Curve3D(const Handle(Geom_Curve)& C,
25                            const TopLoc_Location& L) :
26                            BRep_GCurve(L,
27                            C.IsNull() ? RealFirst() : C->FirstParameter(),
28                            C.IsNull() ? RealLast()  : C->LastParameter()),
29                            myCurve(C)
30 {
31 }
32
33 //=======================================================================
34 //function : D0
35 //purpose  : 
36 //=======================================================================
37
38 void BRep_Curve3D::D0(const Standard_Real U, gp_Pnt& P) const
39 {
40   // shoud be D0 NYI
41   P = myCurve->Value(U);
42 }
43
44 //=======================================================================
45 //function : IsCurve3D
46 //purpose  : 
47 //=======================================================================
48
49 Standard_Boolean  BRep_Curve3D::IsCurve3D()const 
50 {
51   return Standard_True;
52 }
53
54
55 //=======================================================================
56 //function : Curve3D
57 //purpose  : 
58 //=======================================================================
59
60 const Handle(Geom_Curve)&  BRep_Curve3D::Curve3D()const 
61 {
62   return myCurve;
63 }
64
65
66 //=======================================================================
67 //function : Curve3D
68 //purpose  : 
69 //=======================================================================
70
71 void BRep_Curve3D::Curve3D(const Handle(Geom_Curve)& C)
72 {
73   myCurve = C;
74 }
75
76 //=======================================================================
77 //function : Copy
78 //purpose  : 
79 //=======================================================================
80
81 Handle(BRep_CurveRepresentation) BRep_Curve3D::Copy() const
82 {
83   Handle(BRep_Curve3D) C = new BRep_Curve3D(myCurve,Location());
84
85   C->SetRange(First(), Last());
86   return C;
87 }