两个矩形求相交区域
bool hill_shade::check_compute_intersection(float block_left, float block_right, float block_top, float block_bottom,
float b_left, float b_right, float b_top, float b_bottom,
float& intersection_left, float& intersection_right,
float& intersection_top, float& intersection_bottom)
{
if (block_left > b_right || b_left > block_right || block_top < b_bottom || b_top < block_bottom) {
return false;
}
intersection_left = std::max(block_left, b_left);
intersection_right = std::min(block_right, b_right);
intersection_top = std::min(block_top, b_top);
intersection_bottom = std::max(block_bottom, b_bottom);
return true;
}