42 template<
class Po
int,
class Po
intRef>
48 const scalar fac = 1 + tol;
66 scalar radiusSqr =
magSqr(ctr - a_);
70 radiusSqr < minRadiusSqr
76 minRadiusSqr = radiusSqr;
81 scalar radiusSqr =
magSqr(ctr - a_);
85 radiusSqr < minRadiusSqr
91 minRadiusSqr = radiusSqr;
96 scalar radiusSqr =
magSqr(ctr - a_);
100 radiusSqr < minRadiusSqr
106 minRadiusSqr = radiusSqr;
111 scalar radiusSqr =
magSqr(ctr - b_);
115 radiusSqr < minRadiusSqr
121 minRadiusSqr = radiusSqr;
130 point ctr = 0.5*(a_ + b_);
131 scalar radiusSqr =
magSqr(a_ - ctr);
132 scalar testRadSrq = facSqr*radiusSqr;
136 radiusSqr < minRadiusSqr
137 &&
magSqr(c_-ctr) <= testRadSrq
138 &&
magSqr(d_-ctr) <= testRadSrq)
142 minRadiusSqr = radiusSqr;
148 point ctr = 0.5*(a_ + c_);
149 scalar radiusSqr =
magSqr(a_ - ctr);
150 scalar testRadSrq = facSqr*radiusSqr;
154 radiusSqr < minRadiusSqr
155 &&
magSqr(b_-ctr) <= testRadSrq
156 &&
magSqr(d_-ctr) <= testRadSrq
161 minRadiusSqr = radiusSqr;
167 point ctr = 0.5*(a_ + d_);
168 scalar radiusSqr =
magSqr(a_ - ctr);
169 scalar testRadSrq = facSqr*radiusSqr;
173 radiusSqr < minRadiusSqr
174 &&
magSqr(b_-ctr) <= testRadSrq
175 &&
magSqr(c_-ctr) <= testRadSrq
180 minRadiusSqr = radiusSqr;
186 point ctr = 0.5*(b_ + c_);
187 scalar radiusSqr =
magSqr(b_ - ctr);
188 scalar testRadSrq = facSqr*radiusSqr;
192 radiusSqr < minRadiusSqr
193 &&
magSqr(a_-ctr) <= testRadSrq
194 &&
magSqr(d_-ctr) <= testRadSrq
199 minRadiusSqr = radiusSqr;
205 point ctr = 0.5*(b_ + d_);
206 scalar radiusSqr =
magSqr(b_ - ctr);
207 scalar testRadSrq = facSqr*radiusSqr;
211 radiusSqr < minRadiusSqr
212 &&
magSqr(a_-ctr) <= testRadSrq
213 &&
magSqr(c_-ctr) <= testRadSrq)
217 minRadiusSqr = radiusSqr;
223 point ctr = 0.5*(c_ + d_);
224 scalar radiusSqr =
magSqr(c_ - ctr);
225 scalar testRadSrq = facSqr*radiusSqr;
229 radiusSqr < minRadiusSqr
230 &&
magSqr(a_-ctr) <= testRadSrq
231 &&
magSqr(b_-ctr) <= testRadSrq
236 minRadiusSqr = radiusSqr;
247 template<
class Po
int,
class Po
intRef>
261 buffer[0] = (1.0/9.0)*
magSqr(Sa())/magVol;
262 buffer[1] = (1.0/9.0)*
magSqr(Sb())/magVol;
263 buffer[2] = (1.0/9.0)*
magSqr(Sc())/magVol;
264 buffer[3] = (1.0/9.0)*
magSqr(Sd())/magVol;
268 template<
class Po
int,
class Po
intRef>
289 buffer[0] = (1.0/9.0)*(sa & sb)/magVol;
290 buffer[1] = (1.0/9.0)*(sa & sc)/magVol;
291 buffer[2] = (1.0/9.0)*(sa & sd)/magVol;
292 buffer[3] = (1.0/9.0)*(sd & sb)/magVol;
293 buffer[4] = (1.0/9.0)*(sb & sc)/magVol;
294 buffer[5] = (1.0/9.0)*(sd & sc)/magVol;
298 template<
class Po
int,
class Po
intRef>
309 buffer[0] = (1.0/9.0)*
sqr(Sa())/magVol;
310 buffer[1] = (1.0/9.0)*
sqr(Sb())/magVol;
311 buffer[2] = (1.0/9.0)*
sqr(Sc())/magVol;
312 buffer[3] = (1.0/9.0)*
sqr(Sd())/magVol;
316 template<
class Po
int,
class Po
intRef>
333 buffer[0] = (1.0/9.0)*(sa * sb)/magVol;
334 buffer[1] = (1.0/9.0)*(sa * sc)/magVol;
335 buffer[2] = (1.0/9.0)*(sa * sd)/magVol;
336 buffer[3] = (1.0/9.0)*(sd * sb)/magVol;
337 buffer[4] = (1.0/9.0)*(sb * sc)/magVol;
338 buffer[5] = (1.0/9.0)*(sd * sc)/magVol;