Version: 8.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
GEOMUtils_TrsfCurve2d.hxx
Go to the documentation of this file.
1 // Copyright (C) 2015-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 
20 #ifndef _GEOMUtils_TrsfCurve2d_HXX_
21 #define _GEOMUtils_TrsfCurve2d_HXX_
22 
23 #include <GEOMUtils_Trsf2d.hxx>
24 
25 #include <Basics_OCCTVersion.hxx>
26 
27 #include <Geom2dHatch_Hatcher.hxx>
28 #include <GeomAbs_IsoType.hxx>
29 #include <TColStd_HArray1OfInteger.hxx>
30 #include <TColStd_HArray1OfReal.hxx>
31 #include <TopoDS_Face.hxx>
32 
33 
34 namespace GEOMUtils
35 {
41  {
42 
43  public:
44 
50  Standard_EXPORT TrsfCurve2d(const Handle(Geom2d_Curve) &theCurve,
51  const Trsf2d &theTrsf);
52 
58  Standard_EXPORT TrsfCurve2d(const Handle(Geom2d_Curve) &theCurve,
59  const Standard_Real theUFirst,
60  const Standard_Real theULast,
61  const Trsf2d &theTrsf);
62 
66  Standard_EXPORT Standard_Real FirstParameter() const;
67 
71  Standard_EXPORT Standard_Real LastParameter() const;
72 
76  Standard_EXPORT const Handle(Geom2d_Curve)& Curve() const;
77 
81  Standard_EXPORT GeomAbs_CurveType GetType() const;
82 
86  Standard_EXPORT void Load(const Handle(Geom2d_Curve) &C);
87 
91  Standard_EXPORT void Load(const Handle(Geom2d_Curve) &C,
92  const Standard_Real UFirst,
93  const Standard_Real ULast);
94 
98  Standard_EXPORT GeomAbs_Shape Continuity() const;
99 
103  Standard_EXPORT Standard_Integer NbIntervals(const GeomAbs_Shape S) const;
104 
108  Standard_EXPORT void Intervals(TColStd_Array1OfReal &T,
109  const GeomAbs_Shape S) const;
110 
114  Standard_EXPORT Handle(Adaptor2d_HCurve2d) Trim
115  (const Standard_Real First, const Standard_Real Last,
116  const Standard_Real ) const;
117 
121  Standard_EXPORT Standard_Boolean IsClosed() const;
122 
126  Standard_EXPORT Standard_Boolean IsPeriodic() const;
127 
131  Standard_EXPORT Standard_Real Period() const;
132 
136  Standard_EXPORT gp_Pnt2d Value(const Standard_Real U) const;
137 
141  Standard_EXPORT void D0(const Standard_Real U, gp_Pnt2d &P) const;
142 
146  Standard_EXPORT void D1(const Standard_Real U,
147  gp_Pnt2d &P, gp_Vec2d &V) const;
148 
152  Standard_EXPORT void D2(const Standard_Real U, gp_Pnt2d &P,
153  gp_Vec2d &V1, gp_Vec2d &V2) const;
154 
158  Standard_EXPORT void D3(const Standard_Real U, gp_Pnt2d &P,
159  gp_Vec2d &V1, gp_Vec2d &V2, gp_Vec2d &V3) const;
160 
164  Standard_EXPORT gp_Vec2d DN(const Standard_Real U,
165  const Standard_Integer N) const;
166 
170  Standard_EXPORT Standard_Real Resolution(const Standard_Real Ruv) const;
171 
175  Standard_EXPORT gp_Lin2d Line() const;
176 
180  Standard_EXPORT gp_Circ2d Circle() const;
181 
185  Standard_EXPORT gp_Elips2d Ellipse() const;
186 
190  Standard_EXPORT gp_Hypr2d Hyperbola() const;
191 
195  Standard_EXPORT gp_Parab2d Parabola() const;
196 
200  Standard_EXPORT Standard_Integer Degree() const;
201 
205  Standard_EXPORT Standard_Boolean IsRational() const;
206 
210  Standard_EXPORT Standard_Integer NbPoles() const;
211 
215  Standard_EXPORT Standard_Integer NbKnots() const;
216 
220  Standard_EXPORT Handle(Geom2d_BezierCurve) Bezier() const;
221 
225  Standard_EXPORT Handle(Geom2d_BSplineCurve) BSpline() const;
226 
230  Standard_EXPORT Standard_Integer NbSamples() const;
231 
232  private:
233 
234  Geom2dAdaptor_Curve myCurve;
236 
237  };
238 }
239 
240 #endif