Warning, /include/opencascade/IntPatch_HCurve2dTool.lxx is written in an unsupported language. File is not indexed.
0001 // Created on: 1992-10-22
0002 // Created by: Laurent BUCHARD
0003 // Copyright (c) 1992-1999 Matra Datavision
0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0005 //
0006 // This file is part of Open CASCADE Technology software library.
0007 //
0008 // This library is free software; you can redistribute it and/or modify it under
0009 // the terms of the GNU Lesser General Public License version 2.1 as published
0010 // by the Free Software Foundation, with special exception defined in the file
0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0012 // distribution for complete text of the license and disclaimer of any warranty.
0013 //
0014 // Alternatively, this file may be used under the terms of Open CASCADE
0015 // commercial license or contractual agreement.
0016
0017 #include <GeomAbs_CurveType.hxx>
0018 #include <GeomAbs_Shape.hxx>
0019
0020 #include <gp_Vec2d.hxx>
0021 #include <gp_Lin2d.hxx>
0022 #include <gp_Circ2d.hxx>
0023 #include <gp_Elips2d.hxx>
0024 #include <gp_Parab2d.hxx>
0025 #include <gp_Hypr2d.hxx>
0026
0027 #include <Geom2d_BezierCurve.hxx>
0028 #include <Geom2d_BSplineCurve.hxx>
0029
0030 #include <NCollection_Array1.hxx>
0031
0032 #include <Adaptor2d_Curve2d.hxx>
0033
0034 //============================================================
0035 inline double IntPatch_HCurve2dTool::FirstParameter(const occ::handle<Adaptor2d_Curve2d>& C)
0036 {
0037 return (C->FirstParameter());
0038 }
0039
0040 //============================================================
0041 inline double IntPatch_HCurve2dTool::LastParameter(const occ::handle<Adaptor2d_Curve2d>& C)
0042 {
0043 return (C->LastParameter());
0044 }
0045
0046 //============================================================
0047 inline GeomAbs_Shape IntPatch_HCurve2dTool::Continuity(const occ::handle<Adaptor2d_Curve2d>& C)
0048 {
0049 return (C->Continuity());
0050 }
0051
0052 //============================================================
0053 inline int IntPatch_HCurve2dTool::NbIntervals(const occ::handle<Adaptor2d_Curve2d>& C,
0054 const GeomAbs_Shape Sh)
0055 {
0056 return (C->NbIntervals(Sh));
0057 }
0058
0059 //============================================================
0060 inline void IntPatch_HCurve2dTool::Intervals(const occ::handle<Adaptor2d_Curve2d>& C,
0061 NCollection_Array1<double>& Tab,
0062 const GeomAbs_Shape Sh)
0063 {
0064 C->Intervals(Tab, Sh);
0065 }
0066
0067 //============================================================
0068 inline bool IntPatch_HCurve2dTool::IsClosed(const occ::handle<Adaptor2d_Curve2d>& C)
0069 {
0070 return (C->IsClosed());
0071 }
0072
0073 //============================================================
0074 inline bool IntPatch_HCurve2dTool::IsPeriodic(const occ::handle<Adaptor2d_Curve2d>& C)
0075 {
0076 return (C->IsPeriodic());
0077 }
0078
0079 //============================================================
0080 inline double IntPatch_HCurve2dTool::Period(const occ::handle<Adaptor2d_Curve2d>& C)
0081 {
0082 return (C->Period());
0083 }
0084
0085 //============================================================
0086 inline gp_Pnt2d IntPatch_HCurve2dTool::Value(const occ::handle<Adaptor2d_Curve2d>& C,
0087 const double U)
0088 {
0089 return (C->Value(U));
0090 }
0091
0092 //============================================================
0093 inline void IntPatch_HCurve2dTool::D0(const occ::handle<Adaptor2d_Curve2d>& C,
0094 const double U,
0095 gp_Pnt2d& P)
0096 {
0097 C->D0(U, P);
0098 }
0099
0100 //============================================================
0101 inline void IntPatch_HCurve2dTool::D1(const occ::handle<Adaptor2d_Curve2d>& C,
0102 const double U,
0103 gp_Pnt2d& P,
0104 gp_Vec2d& T)
0105 {
0106 C->D1(U, P, T);
0107 }
0108
0109 //============================================================
0110 inline void IntPatch_HCurve2dTool::D2(const occ::handle<Adaptor2d_Curve2d>& C,
0111 const double U,
0112 gp_Pnt2d& P,
0113 gp_Vec2d& T,
0114 gp_Vec2d& N)
0115 {
0116 C->D2(U, P, T, N);
0117 }
0118
0119 //============================================================
0120 inline void IntPatch_HCurve2dTool::D3(const occ::handle<Adaptor2d_Curve2d>& C,
0121 const double U,
0122 gp_Pnt2d& P,
0123 gp_Vec2d& V1,
0124 gp_Vec2d& V2,
0125 gp_Vec2d& V3)
0126 {
0127 C->D3(U, P, V1, V2, V3);
0128 }
0129
0130 //============================================================
0131 inline gp_Vec2d IntPatch_HCurve2dTool::DN(const occ::handle<Adaptor2d_Curve2d>& C,
0132 const double U,
0133 const int N)
0134 {
0135 return (C->DN(U, N));
0136 }
0137
0138 //============================================================
0139 inline double IntPatch_HCurve2dTool::Resolution(const occ::handle<Adaptor2d_Curve2d>& C,
0140 const double R3d)
0141 {
0142 return (C->Resolution(R3d));
0143 }
0144
0145 //============================================================
0146 inline GeomAbs_CurveType IntPatch_HCurve2dTool::GetType(const occ::handle<Adaptor2d_Curve2d>& C)
0147 {
0148 return (C->GetType());
0149 }
0150
0151 //============================================================
0152 inline gp_Lin2d IntPatch_HCurve2dTool::Line(const occ::handle<Adaptor2d_Curve2d>& C)
0153 {
0154 return (C->Line());
0155 }
0156
0157 //============================================================
0158 inline gp_Circ2d IntPatch_HCurve2dTool::Circle(const occ::handle<Adaptor2d_Curve2d>& C)
0159 {
0160 return (C->Circle());
0161 }
0162
0163 //============================================================
0164 inline gp_Elips2d IntPatch_HCurve2dTool::Ellipse(const occ::handle<Adaptor2d_Curve2d>& C)
0165 {
0166 return (C->Ellipse());
0167 }
0168
0169 //============================================================
0170 inline gp_Parab2d IntPatch_HCurve2dTool::Parabola(const occ::handle<Adaptor2d_Curve2d>& C)
0171 {
0172 return (C->Parabola());
0173 }
0174
0175 //============================================================
0176 inline gp_Hypr2d IntPatch_HCurve2dTool::Hyperbola(const occ::handle<Adaptor2d_Curve2d>& C)
0177 {
0178 return (C->Hyperbola());
0179 }
0180
0181 //============================================================
0182 inline occ::handle<Geom2d_BezierCurve> IntPatch_HCurve2dTool::Bezier(
0183 const occ::handle<Adaptor2d_Curve2d>& C)
0184 {
0185 return (C->Bezier());
0186 }
0187
0188 //============================================================
0189 inline occ::handle<Geom2d_BSplineCurve> IntPatch_HCurve2dTool::BSpline(
0190 const occ::handle<Adaptor2d_Curve2d>& C)
0191 {
0192 return (C->BSpline());
0193 }
0194
0195 //============================================================