private function evaluateAxisOverlap(Solid $a, Solid $b)
 {
     $this->x_overlap = max(0, min($a->getMaxX(), $b->getMaxX()) - max($a->getMinX(), $b->getMinX()));
     $this->y_overlap = max(0, min($a->getMaxY(), $b->getMaxY()) - max($a->getMinY(), $b->getMinY()));
     $this->z_overlap = max(0, min($a->getMaxZ(), $b->getMaxZ()) - max($a->getMinZ(), $b->getMinZ()));
 }