116 if (
this == &rhs) {
return *
this; }
147 if (pMin.
x() >= pMax.
x() || pMin.
y() >= pMax.
y() || pMin.
z() >= pMax.
z())
150 message <<
"Bad bounding box (min >= max) for solid: "
152 <<
"\npMin = " << pMin
153 <<
"\npMax = " <<
pMax;
154 G4Exception(
"G4IntersectionSolid::BoundingLimits()",
"GeomMgt0001",
200 if(positionA ==
kOutside)
return positionA;
203 if(positionA ==
kInside)
return positionB;
205 if(positionB ==
kOutside)
return positionB;
224 G4cout <<
"WARNING - Invalid call in "
225 <<
"G4IntersectionSolid::SurfaceNormal(p)" <<
G4endl
226 <<
" Point p is outside !" <<
G4endl;
228 G4cerr <<
"WARNING - Invalid call in "
229 <<
"G4IntersectionSolid::SurfaceNormal(p)" << G4endl
230 <<
" Point p is outside !" <<
G4endl;
256 G4cout <<
"WARNING - Invalid call in "
257 <<
"G4IntersectionSolid::SurfaceNormal(p)" <<
G4endl
258 <<
" Point p is out of surface !" <<
G4endl;
260 G4cerr <<
"WARNING - Invalid call in "
261 <<
"G4IntersectionSolid::SurfaceNormal(p)" << G4endl
262 <<
" Point p is out of surface !" <<
G4endl;
282 G4cout <<
"WARNING - Invalid call in "
283 <<
"G4IntersectionSolid::DistanceToIn(p,v)" <<
G4endl
284 <<
" Point p is inside !" <<
G4endl;
287 G4cerr <<
"WARNING - Invalid call in "
288 <<
"G4IntersectionSolid::DistanceToIn(p,v)" << G4endl
289 <<
" Point p is inside !" <<
G4endl;
302 G4bool doA =
true, doB =
true;
304 static const size_t max_trials=10000;
305 for (
size_t trial=0; trial<max_trials; ++trial)
348 if( dB1 < dA2 )
return dB1;
358 if( dA1 < dB2 )
return dA1;
369 G4Exception(
"G4IntersectionSolid::DistanceToIn(p,v)",
371 "Reached maximum number of iterations! Returning zero.");
387 G4cout <<
"WARNING - Invalid call in "
388 <<
"G4IntersectionSolid::DistanceToIn(p)" <<
G4endl
389 <<
" Point p is inside !" <<
G4endl;
391 G4cerr <<
"WARNING - Invalid call in "
392 <<
"G4IntersectionSolid::DistanceToIn(p)" << G4endl
393 <<
" Point p is inside !" <<
G4endl;
431 G4bool validNormA, validNormB;
445 G4cout <<
"WARNING - Invalid call in "
446 <<
"G4IntersectionSolid::DistanceToOut(p,v)" << G4endl
447 <<
" Point p is outside !" <<
G4endl;
450 G4cerr <<
"WARNING - Invalid call in "
451 <<
"G4IntersectionSolid::DistanceToOut(p,v)" << G4endl
452 <<
" Point p is outside !" <<
G4endl;
466 *validNorm = validNormA;
471 *validNorm = validNormB;
489 G4cout <<
"WARNING - Invalid call in "
490 <<
"G4IntersectionSolid::DistanceToOut(p)" <<
G4endl
491 <<
" Point p is outside !" <<
G4endl;
493 G4cerr <<
"WARNING - Invalid call in "
494 <<
"G4IntersectionSolid::DistanceToOut(p)" << G4endl
495 <<
" Point p is outside !" <<
G4endl;
522 return G4String(
"G4IntersectionSolid");
556 if (processor.
execute(*result)) {
return result; }
557 else {
return nullptr; }