use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SpatialPartition2D {
#[serde(rename = "lowerRightCoordinate")]
pub lower_right_coordinate: Box<models::Coordinate2D>,
#[serde(rename = "upperLeftCoordinate")]
pub upper_left_coordinate: Box<models::Coordinate2D>,
}
impl SpatialPartition2D {
pub fn new(lower_right_coordinate: models::Coordinate2D, upper_left_coordinate: models::Coordinate2D) -> SpatialPartition2D {
SpatialPartition2D {
lower_right_coordinate: Box::new(lower_right_coordinate),
upper_left_coordinate: Box::new(upper_left_coordinate),
}
}
}
impl std::fmt::Display for SpatialPartition2D {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(
f,
"{xmin},{ymin},{xmax},{ymax}",
xmin = self.upper_left_coordinate.x,
ymin = self.lower_right_coordinate.y,
xmax = self.lower_right_coordinate.x,
ymax = self.upper_left_coordinate.y
)
}
}