107f277ebbe4c40f22818f126f3c7aa8b42650ce
[occt.git] / src / HLRBRep / HLRBRep_Curve.lxx
1 // Created on: 1992-03-13
2 // Created by: Christophe MARION
3 // Copyright (c) 1992-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 under
9 // the terms of the GNU Lesser General Public License 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 <Standard_NotImplemented.hxx>
18 #include <gp_Pnt2d.hxx>
19 #include <gp_Vec2d.hxx>
20 #include <gp_Lin2d.hxx>
21 #include <gp_Circ2d.hxx>
22 #include <gp_Elips2d.hxx>
23 #include <gp_Hypr2d.hxx>
24 #include <gp_Parab2d.hxx>
25 #include <HLRBRep_BCurveTool.hxx>
26
27 //=======================================================================
28 //function : Projector
29 //purpose  : 
30 //=======================================================================
31
32 inline void HLRBRep_Curve::Projector(const Standard_Address Proj)
33 { myProj = Proj; }
34
35 //=======================================================================
36 //function : Curve
37 //purpose  : 
38 //=======================================================================
39
40 inline BRepAdaptor_Curve& HLRBRep_Curve::Curve()
41 { return myCurve; }
42
43 //=======================================================================
44 //function : GetCurve
45 //purpose  : 
46 //=======================================================================
47
48 inline const BRepAdaptor_Curve& HLRBRep_Curve::GetCurve() const
49 { return myCurve; }
50
51 //=======================================================================
52 //function : Value3D
53 //purpose  : 
54 //=======================================================================
55
56 inline gp_Pnt HLRBRep_Curve::Value3D(const Standard_Real U) const 
57 {
58   gp_Pnt P;
59   D0(U,P);
60   return P;
61 }
62
63 //=======================================================================
64 //function : D0
65 //purpose  : 
66 //=======================================================================
67
68 inline void HLRBRep_Curve::D0(const Standard_Real U, gp_Pnt& P) const
69 { HLRBRep_BCurveTool::D0(myCurve,U,P); }
70
71 //=======================================================================
72 //function : D1
73 //purpose  : 
74 //=======================================================================
75
76 inline void HLRBRep_Curve::D1(const Standard_Real U,
77                               gp_Pnt& P,
78                               gp_Vec& V) const
79 { HLRBRep_BCurveTool::D1(myCurve,U,P,V); }
80
81 //=======================================================================
82 //function : FirstParameter
83 //purpose  : 
84 //=======================================================================
85
86 inline Standard_Real  HLRBRep_Curve::FirstParameter() const
87 { return Parameter2d(HLRBRep_BCurveTool::FirstParameter(myCurve)); }
88
89 //=======================================================================
90 //function : LastParameter
91 //purpose  : 
92 //=======================================================================
93
94 inline Standard_Real  HLRBRep_Curve::LastParameter() const
95 { return Parameter2d(HLRBRep_BCurveTool::LastParameter(myCurve)); }
96
97 //=======================================================================
98 //function : Continuity
99 //purpose  : 
100 //=======================================================================
101
102 inline GeomAbs_Shape  HLRBRep_Curve::Continuity() const
103 { return HLRBRep_BCurveTool::Continuity(myCurve); }
104
105 //=======================================================================
106 //function : NbIntervals
107 //purpose  : 
108 //=======================================================================
109
110 inline Standard_Integer  HLRBRep_Curve::NbIntervals
111   (const GeomAbs_Shape S)  
112 { return HLRBRep_BCurveTool::NbIntervals(myCurve,S); }
113
114 //=======================================================================
115 //function : Intervals
116 //purpose  : 
117 //=======================================================================
118
119 inline void HLRBRep_Curve::Intervals(TColStd_Array1OfReal& Tab,
120                                      const GeomAbs_Shape Sh) 
121 { HLRBRep_BCurveTool::Intervals(myCurve,Tab,Sh); }
122
123
124 //=======================================================================
125 //function : IsClosed
126 //purpose  : 
127 //=======================================================================
128
129 inline Standard_Boolean  HLRBRep_Curve::IsClosed()const 
130 { return HLRBRep_BCurveTool::IsClosed(myCurve); }
131
132 //=======================================================================
133 //function : IsPeriodic
134 //purpose  : 
135 //=======================================================================
136
137 inline Standard_Boolean  HLRBRep_Curve::IsPeriodic()const 
138 { return HLRBRep_BCurveTool::IsPeriodic(myCurve); }
139
140 //=======================================================================
141 //function : Period
142 //purpose  : 
143 //=======================================================================
144
145 inline Standard_Real  HLRBRep_Curve::Period()const 
146 { return HLRBRep_BCurveTool::Period(myCurve); }
147
148 //=======================================================================
149 //function : Value
150 //purpose  : 
151 //=======================================================================
152
153 inline gp_Pnt2d HLRBRep_Curve::Value
154   (const Standard_Real U) const 
155 {
156   gp_Pnt2d P;
157   D0(U,P);
158   return P;
159 }
160
161 //=======================================================================
162 //function : Resolution
163 //purpose  : 
164 //=======================================================================
165
166 inline Standard_Real HLRBRep_Curve::Resolution
167   (const Standard_Real R3d) const
168 { return HLRBRep_BCurveTool::Resolution(myCurve,R3d); }
169
170 //=======================================================================
171 //function : GetType
172 //purpose  : 
173 //=======================================================================
174
175 inline GeomAbs_CurveType HLRBRep_Curve::GetType() const 
176 { return myType; }
177
178 //=======================================================================
179 //function : Degree
180 //purpose  : 
181 //=======================================================================
182
183 inline Standard_Integer  HLRBRep_Curve::Degree() const
184 { return HLRBRep_BCurveTool::Degree(myCurve); }
185
186
187 //=======================================================================
188 //function : NbPoles
189 //purpose  : 
190 //=======================================================================
191
192 inline Standard_Integer  HLRBRep_Curve::NbPoles() const
193 { return HLRBRep_BCurveTool::NbPoles(myCurve); }
194
195 //=======================================================================
196 //function : NbKnots
197 //purpose  : 
198 //=======================================================================
199
200 inline Standard_Integer  HLRBRep_Curve::NbKnots() const
201 { return HLRBRep_BCurveTool::NbKnots(myCurve); }
202
203
204 //=======================================================================
205 //function : IsRational
206 //purpose  : 
207 //=======================================================================
208
209 inline Standard_Boolean HLRBRep_Curve::IsRational() const
210 {
211   return HLRBRep_BCurveTool::IsRational(myCurve);
212 }