1 // Created on: 1992-10-22
2 // Created by: Laurent BUCHARD
3 // Copyright (c) 1992-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.
25 #include <GeomAbs_CurveType.hxx>
26 #include <GeomAbs_Shape.hxx>
28 #include <gp_Vec2d.hxx>
29 #include <gp_Lin2d.hxx>
30 #include <gp_Circ2d.hxx>
31 #include <gp_Elips2d.hxx>
32 #include <gp_Parab2d.hxx>
33 #include <gp_Hypr2d.hxx>
36 #include <Handle_Geom2d_BezierCurve.hxx>
37 #include <Handle_Geom2d_BSplineCurve.hxx>
39 #include <TColStd_Array1OfReal.hxx>
41 //============================================================
42 inline Standard_Real BRepBlend_HCurve2dToolGen::FirstParameter (const CurveGen& C) {
43 return(C->FirstParameter());
45 //============================================================
46 inline Standard_Real BRepBlend_HCurve2dToolGen::LastParameter (const CurveGen& C) {
47 return(C->LastParameter());
49 //============================================================
50 inline GeomAbs_Shape BRepBlend_HCurve2dToolGen::Continuity (const CurveGen& C) {
51 return(C->Continuity());
53 //============================================================
54 inline Standard_Integer BRepBlend_HCurve2dToolGen::NbIntervals(const CurveGen& C,const GeomAbs_Shape Sh) {
55 return(C->NbIntervals(Sh));
57 //============================================================
58 inline void BRepBlend_HCurve2dToolGen::Intervals(const CurveGen& C,
59 TColStd_Array1OfReal& Tab,
60 const GeomAbs_Shape Sh) {
63 //============================================================
64 inline Standard_Boolean BRepBlend_HCurve2dToolGen::IsClosed(const CurveGen& C) {
65 return(C->IsClosed());
67 //============================================================
68 inline Standard_Boolean BRepBlend_HCurve2dToolGen::IsPeriodic(const CurveGen& C) {
69 return(C->IsPeriodic());
71 //============================================================
72 inline Standard_Real BRepBlend_HCurve2dToolGen::Period(const CurveGen& C) {
75 //============================================================
76 inline gp_Pnt2d BRepBlend_HCurve2dToolGen::Value (const CurveGen& C,
77 const Standard_Real U) {
80 //============================================================
81 inline void BRepBlend_HCurve2dToolGen::D0(const CurveGen& C,
82 const Standard_Real U,
86 //============================================================
87 inline void BRepBlend_HCurve2dToolGen::D1 (const CurveGen& C,
88 const Standard_Real U,
93 //============================================================
94 inline void BRepBlend_HCurve2dToolGen::D2 (const CurveGen& C,
95 const Standard_Real U,
102 //============================================================
103 inline void BRepBlend_HCurve2dToolGen::D3 (const CurveGen& C,
104 const Standard_Real U,
112 //============================================================
113 inline gp_Vec2d BRepBlend_HCurve2dToolGen::DN (const CurveGen& C,
114 const Standard_Real U,
115 const Standard_Integer N) {
119 //============================================================
120 inline Standard_Real BRepBlend_HCurve2dToolGen::Resolution(const CurveGen& C,
121 const Standard_Real R3d) {
122 return(C->Resolution(R3d));
124 //============================================================
125 inline GeomAbs_CurveType BRepBlend_HCurve2dToolGen::GetType(const CurveGen& C) {
126 return(C->GetType());
128 //============================================================
129 inline gp_Lin2d BRepBlend_HCurve2dToolGen::Line (const CurveGen& C) {
132 //============================================================
133 inline gp_Circ2d BRepBlend_HCurve2dToolGen::Circle (const CurveGen& C) {
136 //============================================================
137 inline gp_Elips2d BRepBlend_HCurve2dToolGen::Ellipse (const CurveGen& C) {
138 return(C->Ellipse());
140 //============================================================
141 inline gp_Parab2d BRepBlend_HCurve2dToolGen::Parabola (const CurveGen& C) {
142 return(C->Parabola());
144 //============================================================
145 inline gp_Hypr2d BRepBlend_HCurve2dToolGen::Hyperbola (const CurveGen& C) {
146 return(C->Hyperbola());
148 //============================================================
149 inline Handle(Geom2d_BezierCurve) BRepBlend_HCurve2dToolGen::Bezier (const CurveGen& C) {
152 //============================================================
153 inline Handle(Geom2d_BSplineCurve) BRepBlend_HCurve2dToolGen::BSpline (const CurveGen& C) {
154 return(C->BSpline());
156 //============================================================