Add Region to (min, max) conversion

main
copygirl 1 week ago
parent b66c99816b
commit be55277a3f
  1. 8
      src/bloxel/generic_math/region.rs
  2. 8
      src/bloxel/math/block_region.rs
  3. 8
      src/bloxel/math/chunk_region.rs

@ -132,6 +132,14 @@ impl<T> std::hash::Hash for Region<T> {
}
}
// Conversion
impl<T> From<Region<T>> for (Pos<T>, Pos<T>) {
fn from(Region { min, max, .. }: Region<T>) -> Self {
(min.into(), max.into())
}
}
// Offsetting
impl<T> Add<IVec3> for Region<T> {

@ -85,3 +85,11 @@ overload!((l: ?BlockRegion) + (r: IVec3) -> BlockRegion { BlockRegion::new_unche
overload!((l: ?BlockRegion) - (r: IVec3) -> BlockRegion { BlockRegion::new_unchecked(l.min - r, l.max - r) });
overload!((s: &mut BlockRegion) += (v: IVec3) { s.min += v; s.max += v; });
overload!((s: &mut BlockRegion) -= (v: IVec3) { s.min -= v; s.max -= v; });
// Conversion
impl From<BlockRegion> for (BlockPos, BlockPos) {
fn from(BlockRegion { min, max }: BlockRegion) -> Self {
(min, max)
}
}

@ -92,3 +92,11 @@ overload!((l: ?ChunkRegion) + (r: IVec3) -> ChunkRegion { ChunkRegion::new_unche
overload!((l: ?ChunkRegion) - (r: IVec3) -> ChunkRegion { ChunkRegion::new_unchecked(l.min - r, l.max - r) });
overload!((s: &mut ChunkRegion) += (v: IVec3) { s.min += v; s.max += v; });
overload!((s: &mut ChunkRegion) -= (v: IVec3) { s.min -= v; s.max -= v; });
// Conversion
impl From<ChunkRegion> for (ChunkPos, ChunkPos) {
fn from(ChunkRegion { min, max }: ChunkRegion) -> Self {
(min, max)
}
}

Loading…
Cancel
Save