34 template<
class Po
int,
class Po
intRef>
47 const scalar
fac = 1 + tol;
65 scalar radiusSqr =
magSqr(ctr - a_);
69 radiusSqr < minRadiusSqr
75 minRadiusSqr = radiusSqr;
80 scalar radiusSqr =
magSqr(ctr - a_);
84 radiusSqr < minRadiusSqr
90 minRadiusSqr = radiusSqr;
95 scalar radiusSqr =
magSqr(ctr - a_);
99 radiusSqr < minRadiusSqr
105 minRadiusSqr = radiusSqr;
110 scalar radiusSqr =
magSqr(ctr - b_);
114 radiusSqr < minRadiusSqr
120 minRadiusSqr = radiusSqr;
129 point ctr = 0.5*(a_ + b_);
130 scalar radiusSqr =
magSqr(a_ - ctr);
131 scalar testRadSrq = facSqr*radiusSqr;
135 radiusSqr < minRadiusSqr
136 &&
magSqr(c_-ctr) <= testRadSrq
137 &&
magSqr(d_-ctr) <= testRadSrq)
141 minRadiusSqr = radiusSqr;
147 point ctr = 0.5*(a_ + c_);
148 scalar radiusSqr =
magSqr(a_ - ctr);
149 scalar testRadSrq = facSqr*radiusSqr;
153 radiusSqr < minRadiusSqr
154 &&
magSqr(b_-ctr) <= testRadSrq
155 &&
magSqr(d_-ctr) <= testRadSrq
160 minRadiusSqr = radiusSqr;
166 point ctr = 0.5*(a_ + d_);
167 scalar radiusSqr =
magSqr(a_ - ctr);
168 scalar testRadSrq = facSqr*radiusSqr;
172 radiusSqr < minRadiusSqr
173 &&
magSqr(b_-ctr) <= testRadSrq
174 &&
magSqr(c_-ctr) <= testRadSrq
179 minRadiusSqr = radiusSqr;
185 point ctr = 0.5*(b_ + c_);
186 scalar radiusSqr =
magSqr(b_ - ctr);
187 scalar testRadSrq = facSqr*radiusSqr;
191 radiusSqr < minRadiusSqr
192 &&
magSqr(a_-ctr) <= testRadSrq
193 &&
magSqr(d_-ctr) <= testRadSrq
198 minRadiusSqr = radiusSqr;
204 point ctr = 0.5*(b_ + d_);
205 scalar radiusSqr =
magSqr(b_ - ctr);
206 scalar testRadSrq = facSqr*radiusSqr;
210 radiusSqr < minRadiusSqr
211 &&
magSqr(a_-ctr) <= testRadSrq
212 &&
magSqr(c_-ctr) <= testRadSrq)
216 minRadiusSqr = radiusSqr;
222 point ctr = 0.5*(c_ + d_);
223 scalar radiusSqr =
magSqr(c_ - ctr);
224 scalar testRadSrq = facSqr*radiusSqr;
228 radiusSqr < minRadiusSqr
229 &&
magSqr(a_-ctr) <= testRadSrq
230 &&
magSqr(b_-ctr) <= testRadSrq
235 minRadiusSqr = radiusSqr;
246 template<
class Po
int,
class Po
intRef>
260 buffer[0] = (1.0/9.0)*
magSqr(Sa())/magVol;
261 buffer[1] = (1.0/9.0)*
magSqr(Sb())/magVol;
262 buffer[2] = (1.0/9.0)*
magSqr(Sc())/magVol;
263 buffer[3] = (1.0/9.0)*
magSqr(Sd())/magVol;
267 template<
class Po
int,
class Po
intRef>
288 buffer[0] = (1.0/9.0)*(sa & sb)/magVol;
289 buffer[1] = (1.0/9.0)*(sa & sc)/magVol;
290 buffer[2] = (1.0/9.0)*(sa & sd)/magVol;
291 buffer[3] = (1.0/9.0)*(sd & sb)/magVol;
292 buffer[4] = (1.0/9.0)*(sb & sc)/magVol;
293 buffer[5] = (1.0/9.0)*(sd & sc)/magVol;
297 template<
class Po
int,
class Po
intRef>
308 buffer[0] = (1.0/9.0)*
sqr(Sa())/magVol;
309 buffer[1] = (1.0/9.0)*
sqr(Sb())/magVol;
310 buffer[2] = (1.0/9.0)*
sqr(Sc())/magVol;
311 buffer[3] = (1.0/9.0)*
sqr(Sd())/magVol;
315 template<
class Po
int,
class Po
intRef>
332 buffer[0] = (1.0/9.0)*(sa * sb)/magVol;
333 buffer[1] = (1.0/9.0)*(sa * sc)/magVol;
334 buffer[2] = (1.0/9.0)*(sa * sd)/magVol;
335 buffer[3] = (1.0/9.0)*(sd * sb)/magVol;
336 buffer[4] = (1.0/9.0)*(sb * sc)/magVol;
337 buffer[5] = (1.0/9.0)*(sd * sc)/magVol;
341 template<
class Po
int,
class Po
intRef>