Warning, /include/opencascade/BSplCLib.lxx is written in an unsupported language. File is not indexed.
0001 // Created on: 1993-05-04
0002 // Created by: Philippe DAUTRY
0003 // Copyright (c) 1993-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 <PLib.hxx>
0018 #include <TColgp_Array1OfPnt.hxx>
0019 #include <TColgp_Array1OfPnt2d.hxx>
0020
0021 //=======================================================================
0022 //function : MaxDegree
0023 //purpose :
0024 //=======================================================================
0025
0026 inline Standard_Integer BSplCLib::MaxDegree ()
0027 {
0028 return 25;
0029 }
0030
0031 //=======================================================================
0032 //function : NoWeights
0033 //purpose :
0034 //=======================================================================
0035
0036 inline TColStd_Array1OfReal* BSplCLib::NoWeights()
0037 {
0038 return NULL;
0039 }
0040
0041 //=======================================================================
0042 //function : NoMults
0043 //purpose :
0044 //=======================================================================
0045
0046 inline TColStd_Array1OfInteger* BSplCLib::NoMults()
0047 {
0048 return NULL;
0049 }
0050
0051 //=======================================================================
0052 //function : CoefsD0
0053 //purpose :
0054 //=======================================================================
0055
0056 inline void BSplCLib::CoefsD0(const Standard_Real U,
0057 const TColgp_Array1OfPnt& Poles,
0058 const TColStd_Array1OfReal* Weights,
0059 gp_Pnt& P)
0060 {
0061 BSplCLib::CacheD0(U, Poles.Length() -1, 0., 1., Poles, Weights, P);
0062 }
0063
0064 //=======================================================================
0065 //function : CoefsD0
0066 //purpose :
0067 //=======================================================================
0068
0069 inline void BSplCLib::CoefsD0(const Standard_Real U,
0070 const TColgp_Array1OfPnt2d& Poles,
0071 const TColStd_Array1OfReal* Weights,
0072 gp_Pnt2d& P)
0073 {
0074 BSplCLib::CacheD0(U, Poles.Length() -1, 0., 1., Poles, Weights, P);
0075 }
0076
0077 //=======================================================================
0078 //function : CoefsD1
0079 //purpose :
0080 //=======================================================================
0081
0082 inline void BSplCLib::CoefsD1(const Standard_Real U,
0083 const TColgp_Array1OfPnt& Poles,
0084 const TColStd_Array1OfReal* Weights,
0085 gp_Pnt& P,
0086 gp_Vec& Vec)
0087 {
0088 BSplCLib::CacheD1(U, Poles.Length() -1, 0., 1., Poles, Weights, P, Vec);
0089 }
0090
0091 //=======================================================================
0092 //function : CoefsD1
0093 //purpose :
0094 //=======================================================================
0095
0096 inline void BSplCLib::CoefsD1(const Standard_Real U,
0097 const TColgp_Array1OfPnt2d& Poles,
0098 const TColStd_Array1OfReal* Weights,
0099 gp_Pnt2d& P,
0100 gp_Vec2d& Vec)
0101 {
0102 BSplCLib::CacheD1(U, Poles.Length() -1, 0., 1., Poles, Weights, P, Vec);
0103 }
0104
0105 //=======================================================================
0106 //function : CoefsD2
0107 //purpose :
0108 //=======================================================================
0109
0110 inline void BSplCLib::CoefsD2(const Standard_Real U,
0111 const TColgp_Array1OfPnt& Poles,
0112 const TColStd_Array1OfReal* Weights,
0113 gp_Pnt& P,
0114 gp_Vec& Vec1,
0115 gp_Vec& Vec2)
0116 {
0117 BSplCLib::CacheD2(U, Poles.Length() -1, 0., 1., Poles, Weights,
0118 P, Vec1, Vec2);
0119 }
0120
0121 //=======================================================================
0122 //function : CoefsD2
0123 //purpose :
0124 //=======================================================================
0125
0126 inline void BSplCLib::CoefsD2(const Standard_Real U,
0127 const TColgp_Array1OfPnt2d& Poles,
0128 const TColStd_Array1OfReal* Weights,
0129 gp_Pnt2d& P,
0130 gp_Vec2d& Vec1,
0131 gp_Vec2d& Vec2)
0132 {
0133 BSplCLib::CacheD2(U, Poles.Length() -1, 0., 1., Poles, Weights,
0134 P, Vec1, Vec2);
0135 }
0136
0137 //=======================================================================
0138 //function : CoefsD3
0139 //purpose :
0140 //=======================================================================
0141
0142 inline void BSplCLib::CoefsD3(const Standard_Real U,
0143 const TColgp_Array1OfPnt& Poles,
0144 const TColStd_Array1OfReal* Weights,
0145 gp_Pnt& P,
0146 gp_Vec& Vec1,
0147 gp_Vec& Vec2,
0148 gp_Vec& Vec3)
0149 {
0150 BSplCLib::CacheD3(U, Poles.Length() -1, 0., 1., Poles, Weights,
0151 P, Vec1, Vec2, Vec3);
0152 }
0153
0154 //=======================================================================
0155 //function : CoefsD3
0156 //purpose :
0157 //=======================================================================
0158
0159 inline void BSplCLib::CoefsD3(const Standard_Real U,
0160 const TColgp_Array1OfPnt2d& Poles,
0161 const TColStd_Array1OfReal* Weights,
0162 gp_Pnt2d& P,
0163 gp_Vec2d& Vec1,
0164 gp_Vec2d& Vec2,
0165 gp_Vec2d& Vec3)
0166 {
0167 BSplCLib::CacheD3(U, Poles.Length() -1, 0., 1., Poles, Weights,
0168 P, Vec1, Vec2, Vec3);
0169 }
0170
0171 //=======================================================================
0172 //function : PolesCoefficients
0173 //purpose :
0174 //=======================================================================
0175
0176 inline void BSplCLib::PolesCoefficients
0177 (const TColgp_Array1OfPnt& Poles,
0178 TColgp_Array1OfPnt& CachePoles)
0179 {
0180 BSplCLib::PolesCoefficients(Poles, PLib::NoWeights(),
0181 CachePoles, PLib::NoWeights());
0182 }
0183
0184 //=======================================================================
0185 //function : PolesCoefficients
0186 //purpose :
0187 //=======================================================================
0188
0189 inline void BSplCLib::PolesCoefficients
0190 (const TColgp_Array1OfPnt2d& Poles,
0191 TColgp_Array1OfPnt2d& CachePoles)
0192 {
0193 BSplCLib::PolesCoefficients(Poles, PLib::NoWeights(),
0194 CachePoles, PLib::NoWeights());
0195 }
0196