comparison extra/nurbs/src/tbasisfun.cc @ 12672:59e8aae64812 octave-forge

prepare for release
author cdf
date Mon, 17 Aug 2015 10:23:44 +0000
parents 37d08939bb7b
children
comparison
equal deleted inserted replaced
12671:20e8aca47b2c 12672:59e8aae64812
67 return; 67 return;
68 } 68 }
69 } 69 }
70 70
71 double ln = u - U(0); 71 double ln = u - U(0);
72 double ld = U(U.length () - 2) - U(0); 72 double ld = U(U.numel () - 2) - U(0);
73 if (ld != 0) 73 if (ld != 0)
74 { 74 {
75 double tmp; 75 double tmp;
76 onebasisfun__ (u, p-1, U.extract (0, U.length () - 2), &tmp); 76 onebasisfun__ (u, p-1, U.extract (0, U.numel () - 2), &tmp);
77 *N += ln * tmp / ld; 77 *N += ln * tmp / ld;
78 } 78 }
79 double dn = U(U.length () - 1) - u; 79 double dn = U(U.numel () - 1) - u;
80 double dd = U(U.length () - 1) - U(1); 80 double dd = U(U.numel () - 1) - U(1);
81 if (dd != 0) 81 if (dd != 0)
82 { 82 {
83 double tmp; 83 double tmp;
84 onebasisfun__ (u, p-1, U.extract (1, U.length () - 1), &tmp); 84 onebasisfun__ (u, p-1, U.extract (1, U.numel () - 1), &tmp);
85 *N += dn * tmp / dd; 85 *N += dn * tmp / dd;
86 } 86 }
87 return; 87 return;
88 } 88 }
89 89
102 *Nder = 0.0; 102 *Nder = 0.0;
103 return; 103 return;
104 } 104 }
105 else { 105 else {
106 double ln = u - U(0); 106 double ln = u - U(0);
107 double ld = U(U.length () - 2) - U(0); 107 double ld = U(U.numel () - 2) - U(0);
108 108
109 if (ld != 0) 109 if (ld != 0)
110 { 110 {
111 onebasisfun__ (u, p-1, U.extract (0, U.length () - 2), &aux); 111 onebasisfun__ (u, p-1, U.extract (0, U.numel () - 2), &aux);
112 aux = aux / ld; 112 aux = aux / ld;
113 *N += ln * aux; 113 *N += ln * aux;
114 *Nder += p * aux; 114 *Nder += p * aux;
115 } 115 }
116 116
117 double dn = U(U.length () - 1) - u; 117 double dn = U(U.numel () - 1) - u;
118 double dd = U(U.length () - 1) - U(1); 118 double dd = U(U.numel () - 1) - U(1);
119 119
120 if (dd != 0) 120 if (dd != 0)
121 { 121 {
122 onebasisfun__ (u, p-1, U.extract (1, U.length () - 1), &aux); 122 onebasisfun__ (u, p-1, U.extract (1, U.numel () - 1), &aux);
123 aux = aux / dd; 123 aux = aux / dd;
124 *N += dn *aux; 124 *N += dn *aux;
125 *Nder -= p * aux; 125 *Nder -= p * aux;
126 } 126 }
127 } 127 }
179 } 179 }
180 } 180 }
181 else 181 else
182 { 182 {
183 RowVector p = args(1).row_vector_value (); 183 RowVector p = args(1).row_vector_value ();
184 if (p.length() == 2) 184 if (p.numel () == 2)
185 { 185 {
186 Cell C = args(2).cell_value (); 186 Cell C = args(2).cell_value ();
187 RowVector U = C(0).row_vector_value (true, true); 187 RowVector U = C(0).row_vector_value (true, true);
188 RowVector V = C(1).row_vector_value (true, true); 188 RowVector V = C(1).row_vector_value (true, true);
189 189
213 } 213 }
214 retval(1) = Nder; 214 retval(1) = Nder;
215 } 215 }
216 216
217 } 217 }
218 else if (p.length() == 3) 218 else if (p.numel () == 3)
219 { 219 {
220 Cell C = args(2).cell_value (); 220 Cell C = args(2).cell_value ();
221 RowVector U = C(0).row_vector_value (true, true); 221 RowVector U = C(0).row_vector_value (true, true);
222 RowVector V = C(1).row_vector_value (true, true); 222 RowVector V = C(1).row_vector_value (true, true);
223 RowVector W = C(2).row_vector_value (true, true); 223 RowVector W = C(2).row_vector_value (true, true);