236 |
} |
} |
237 |
ZVec res = ctr + d * resr; |
ZVec res = ctr + d * resr; |
238 |
if(intern) { |
if(intern) { |
239 |
if(ra > rb) { |
if(fract > .48 && fract < .52) { |
240 |
|
*intern = ctr; |
241 |
|
} else if(ra > rb) { |
242 |
*intern = d*resr; |
*intern = d*resr; |
243 |
*intern -= intern->dot(a.dirconn.cw90()) * a.dirconn.cw90(); |
*intern -= intern->dot(a.dirconn.cw90()) * a.dirconn.cw90(); |
244 |
intern->z = z; |
intern->z = z - ctr.z; |
245 |
if(intern->length() <= r) *intern = ZVec(0,0,0); |
if(intern->length() <= r) *intern = ZVec(0,0,0); |
246 |
*intern += ctr; |
*intern += ctr; |
247 |
} else { |
} else { |
248 |
*intern = d*resr; |
*intern = d*resr; |
249 |
*intern -= intern->dot(b.dirconn.cw90()) * b.dirconn.cw90(); |
*intern -= intern->dot(b.dirconn.cw90()) * b.dirconn.cw90(); |
250 |
intern->z = z; |
intern->z = z - ctr.z; |
251 |
if(intern->length() <= r) *intern = ZVec(0,0,0); |
if(intern->length() <= r) *intern = ZVec(0,0,0); |
252 |
*intern += ctr; |
*intern += ctr; |
253 |
} |
} |