1 // Created on: 1993-05-04
2 // Created by: Philippe DAUTRY
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
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.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
18 #include <TColgp_Array1OfPnt.hxx>
19 #include <TColgp_Array1OfPnt2d.hxx>
21 //=======================================================================
22 //function : MaxDegree
24 //=======================================================================
26 inline Standard_Integer BSplCLib::MaxDegree ()
31 //=======================================================================
32 //function : NoWeights
34 //=======================================================================
36 inline TColStd_Array1OfReal* BSplCLib::NoWeights()
41 //=======================================================================
44 //=======================================================================
46 inline TColStd_Array1OfInteger* BSplCLib::NoMults()
51 //=======================================================================
54 //=======================================================================
56 inline void BSplCLib::CoefsD0(const Standard_Real U,
57 const TColgp_Array1OfPnt& Poles,
58 const TColStd_Array1OfReal* Weights,
61 BSplCLib::CacheD0(U, Poles.Length() -1, 0., 1., Poles, Weights, P);
64 //=======================================================================
67 //=======================================================================
69 inline void BSplCLib::CoefsD0(const Standard_Real U,
70 const TColgp_Array1OfPnt2d& Poles,
71 const TColStd_Array1OfReal* Weights,
74 BSplCLib::CacheD0(U, Poles.Length() -1, 0., 1., Poles, Weights, P);
77 //=======================================================================
80 //=======================================================================
82 inline void BSplCLib::CoefsD1(const Standard_Real U,
83 const TColgp_Array1OfPnt& Poles,
84 const TColStd_Array1OfReal* Weights,
88 BSplCLib::CacheD1(U, Poles.Length() -1, 0., 1., Poles, Weights, P, Vec);
91 //=======================================================================
94 //=======================================================================
96 inline void BSplCLib::CoefsD1(const Standard_Real U,
97 const TColgp_Array1OfPnt2d& Poles,
98 const TColStd_Array1OfReal* Weights,
102 BSplCLib::CacheD1(U, Poles.Length() -1, 0., 1., Poles, Weights, P, Vec);
105 //=======================================================================
108 //=======================================================================
110 inline void BSplCLib::CoefsD2(const Standard_Real U,
111 const TColgp_Array1OfPnt& Poles,
112 const TColStd_Array1OfReal* Weights,
117 BSplCLib::CacheD2(U, Poles.Length() -1, 0., 1., Poles, Weights,
121 //=======================================================================
124 //=======================================================================
126 inline void BSplCLib::CoefsD2(const Standard_Real U,
127 const TColgp_Array1OfPnt2d& Poles,
128 const TColStd_Array1OfReal* Weights,
133 BSplCLib::CacheD2(U, Poles.Length() -1, 0., 1., Poles, Weights,
137 //=======================================================================
140 //=======================================================================
142 inline void BSplCLib::CoefsD3(const Standard_Real U,
143 const TColgp_Array1OfPnt& Poles,
144 const TColStd_Array1OfReal* Weights,
150 BSplCLib::CacheD3(U, Poles.Length() -1, 0., 1., Poles, Weights,
151 P, Vec1, Vec2, Vec3);
154 //=======================================================================
157 //=======================================================================
159 inline void BSplCLib::CoefsD3(const Standard_Real U,
160 const TColgp_Array1OfPnt2d& Poles,
161 const TColStd_Array1OfReal* Weights,
167 BSplCLib::CacheD3(U, Poles.Length() -1, 0., 1., Poles, Weights,
168 P, Vec1, Vec2, Vec3);
171 //=======================================================================
172 //function : PolesCoefficients
174 //=======================================================================
176 inline void BSplCLib::PolesCoefficients
177 (const TColgp_Array1OfPnt& Poles,
178 TColgp_Array1OfPnt& CachePoles)
180 BSplCLib::PolesCoefficients(Poles, PLib::NoWeights(),
181 CachePoles, PLib::NoWeights());
184 //=======================================================================
185 //function : PolesCoefficients
187 //=======================================================================
189 inline void BSplCLib::PolesCoefficients
190 (const TColgp_Array1OfPnt2d& Poles,
191 TColgp_Array1OfPnt2d& CachePoles)
193 BSplCLib::PolesCoefficients(Poles, PLib::NoWeights(),
194 CachePoles, PLib::NoWeights());