Struct iron_shapes::repetition::RegularRepetition
source · [−]pub struct RegularRepetition<T> where
T: CoordinateType, { /* private fields */ }
Expand description
Describe a equi-spaced n*m two-dimensional repetition as a lattice.
The offsets are computed as (i*a, j*b)
for i
in 0..n
and j
in 0..m
.
a
and b
the distance vectors between two neighbouring points.
Implementations
sourceimpl<T> RegularRepetition<T> where
T: CoordinateType,
impl<T> RegularRepetition<T> where
T: CoordinateType,
sourcepub fn new(a: Vector<T>, b: Vector<T>, n: u32, m: u32) -> Self
pub fn new(a: Vector<T>, b: Vector<T>, n: u32, m: u32) -> Self
Create a new lattice based repetition.
Parameters
a, b
: Lattice vectors.n, m
: Number of repetitions in directionsa
andb
.
sourcepub fn new_rectilinear(spacing_x: T, spacing_y: T, num_x: u32, num_y: u32) -> Self
pub fn new_rectilinear(spacing_x: T, spacing_y: T, num_x: u32, num_y: u32) -> Self
Create a repetition along the x and y axis.
Example
use iron_shapes::prelude::RegularRepetition;
let rep = RegularRepetition::new_rectilinear(1, 1, 1, 2);
assert_eq!(rep.len(), 2);
let offsets: Vec<_> = rep.iter().collect();
assert_eq!(offsets, [(0, 0).into(), (0, 1).into()]);
Trait Implementations
sourceimpl<T: Clone> Clone for RegularRepetition<T> where
T: CoordinateType,
impl<T: Clone> Clone for RegularRepetition<T> where
T: CoordinateType,
sourcefn clone(&self) -> RegularRepetition<T>
fn clone(&self) -> RegularRepetition<T>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<T: Debug> Debug for RegularRepetition<T> where
T: CoordinateType,
impl<T: Debug> Debug for RegularRepetition<T> where
T: CoordinateType,
sourceimpl<T: Hash> Hash for RegularRepetition<T> where
T: CoordinateType,
impl<T: Hash> Hash for RegularRepetition<T> where
T: CoordinateType,
sourceimpl<T: PartialEq> PartialEq<RegularRepetition<T>> for RegularRepetition<T> where
T: CoordinateType,
impl<T: PartialEq> PartialEq<RegularRepetition<T>> for RegularRepetition<T> where
T: CoordinateType,
sourcefn eq(&self, other: &RegularRepetition<T>) -> bool
fn eq(&self, other: &RegularRepetition<T>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &RegularRepetition<T>) -> bool
fn ne(&self, other: &RegularRepetition<T>) -> bool
This method tests for !=
.
impl<T: Copy> Copy for RegularRepetition<T> where
T: CoordinateType,
impl<T: Eq> Eq for RegularRepetition<T> where
T: CoordinateType,
impl<T> StructuralEq for RegularRepetition<T> where
T: CoordinateType,
impl<T> StructuralPartialEq for RegularRepetition<T> where
T: CoordinateType,
Auto Trait Implementations
impl<T> RefUnwindSafe for RegularRepetition<T> where
T: RefUnwindSafe,
impl<T> Send for RegularRepetition<T> where
T: Send,
impl<T> Sync for RegularRepetition<T> where
T: Sync,
impl<T> Unpin for RegularRepetition<T> where
T: Unpin,
impl<T> UnwindSafe for RegularRepetition<T> where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more