pub type Rectangle = Hypercuboid<2>;Expand description
An axis-aligned rectangle.
§Examples
Basic construction and methods:
use hoomd_geometry::{Volume, shape::Rectangle};
let rectangle = Rectangle {
edge_lengths: [2.0.try_into()?, 4.0.try_into()?],
};
assert_eq!(rectangle.volume(), 8.0);Intersection tests:
use hoomd_geometry::{Convex, IntersectsAt, shape::Rectangle};
use hoomd_vector::{Angle, Cartesian};
use std::f64::consts::PI;
let rectangle = Rectangle {
edge_lengths: [4.0.try_into()?, 2.0.try_into()?],
};
let rectangle = Convex(rectangle);
assert!(!rectangle.intersects_at(
&rectangle,
&[0.0, 2.1].into(),
&Angle::default()
));
assert!(rectangle.intersects_at(
&rectangle,
&[0.0, 2.1].into(),
&Angle::from(PI / 2.0)
));Aliased Type§
pub struct Rectangle {
pub edge_lengths: [PositiveReal; 2],
}Fields§
§edge_lengths: [PositiveReal; 2]The lengths of each edge of the cuboid.