7fd59977 |
1 | // File: BSplSLib.lxx |
2 | // Created: Thu Nov 25 17:03:25 1993 |
3 | // Author: Bruno DUMORTIER |
4 | // <dub@nonox> |
5 | |
6 | #include <BSplCLib.hxx> |
7 | #include <TColgp_Array2OfPnt.hxx> |
8 | #include <TColStd_Array2OfReal.hxx> |
9 | |
10 | //======================================================================= |
11 | //function : CoefsD0 |
12 | //purpose : |
13 | //======================================================================= |
14 | |
15 | inline void BSplSLib::CoefsD0(const Standard_Real U, |
16 | const Standard_Real V, |
17 | const TColgp_Array2OfPnt& Poles, |
18 | const TColStd_Array2OfReal& Weights, |
19 | gp_Pnt& Point) |
20 | { |
21 | BSplSLib::CacheD0(U, V, |
22 | Poles.RowLength() - 1, Poles.ColLength() - 1, |
23 | 0., 0., 1., 1., |
24 | Poles, Weights, Point); |
25 | } |
26 | |
27 | //======================================================================= |
28 | //function : CoefsD1 |
29 | //purpose : |
30 | //======================================================================= |
31 | |
32 | inline void BSplSLib::CoefsD1(const Standard_Real U, |
33 | const Standard_Real V, |
34 | const TColgp_Array2OfPnt& Poles, |
35 | const TColStd_Array2OfReal& Weights, |
36 | gp_Pnt& Point, |
37 | gp_Vec& VecU, |
38 | gp_Vec& VecV) |
39 | { |
40 | BSplSLib::CacheD1(U, V, |
41 | Poles.RowLength() - 1, Poles.ColLength() - 1, |
42 | 0., 0., 1., 1., |
43 | Poles, Weights, Point, VecU, VecV); |
44 | } |
45 | |
46 | //======================================================================= |
47 | //function : CoefsD2 |
48 | //purpose : |
49 | //======================================================================= |
50 | |
51 | inline void BSplSLib::CoefsD2(const Standard_Real U, |
52 | const Standard_Real V, |
53 | const TColgp_Array2OfPnt& Poles, |
54 | const TColStd_Array2OfReal& Weights, |
55 | gp_Pnt& Point, |
56 | gp_Vec& VecU, |
57 | gp_Vec& VecV, |
58 | gp_Vec& VecUU, |
59 | gp_Vec& VecUV, |
60 | gp_Vec& VecVV) |
61 | { |
62 | BSplSLib::CacheD2(U, V, |
63 | Poles.RowLength() - 1, Poles.ColLength() - 1, |
64 | 0., 0., 1., 1., |
65 | Poles, Weights, Point, VecU, VecV, |
66 | VecUU, VecUV, VecVV); |
67 | } |
68 | |
69 | |
70 | //======================================================================= |
71 | //function : PolesCoefficients |
72 | //purpose : |
73 | //======================================================================= |
74 | |
75 | inline void BSplSLib::PolesCoefficients(const TColgp_Array2OfPnt& Poles, |
76 | TColgp_Array2OfPnt& CachePoles) |
77 | { |
78 | BSplSLib::PolesCoefficients(Poles, BSplSLib::NoWeights(), |
79 | CachePoles, BSplSLib::NoWeights()); |
80 | } |
81 | |
82 | //======================================================================= |
83 | //function : NoWeights |
84 | //purpose : |
85 | //======================================================================= |
86 | |
87 | inline TColStd_Array2OfReal& BSplSLib::NoWeights() |
88 | { |
89 | return (*((TColStd_Array2OfReal*) NULL)); |
90 | } |
91 | |