Struct libreda_db::prelude::RegularRepetition
source · [−]pub struct RegularRepetition<T> where
T: CoordinateType, {
a: Vector<T>,
b: Vector<T>,
n: u32,
m: u32,
}
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.
Fields
a: Vector<T>
First lattice vector.
b: Vector<T>
Second lattice vector.
n: u32
First dimension.
m: u32
Second dimension.
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) -> RegularRepetition<T>
pub fn new(a: Vector<T>, b: Vector<T>, n: u32, m: u32) -> RegularRepetition<T>
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
) -> RegularRepetition<T>
pub fn new_rectilinear(
spacing_x: T,
spacing_y: T,
num_x: u32,
num_y: u32
) -> RegularRepetition<T>
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 for RegularRepetition<T> where
T: Clone + CoordinateType,
impl<T> Clone for RegularRepetition<T> where
T: Clone + 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 for RegularRepetition<T> where
T: Debug + CoordinateType,
impl<T> Debug for RegularRepetition<T> where
T: Debug + CoordinateType,
sourceimpl<'de, T> Deserialize<'de> for RegularRepetition<T> where
T: CoordinateType + Deserialize<'de>,
impl<'de, T> Deserialize<'de> for RegularRepetition<T> where
T: CoordinateType + Deserialize<'de>,
sourcefn deserialize<__D>(
__deserializer: __D
) -> Result<RegularRepetition<T>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<RegularRepetition<T>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<T> Hash for RegularRepetition<T> where
T: Hash + CoordinateType,
impl<T> Hash for RegularRepetition<T> where
T: Hash + CoordinateType,
sourceimpl<T> PartialEq<RegularRepetition<T>> for RegularRepetition<T> where
T: PartialEq<T> + CoordinateType,
impl<T> PartialEq<RegularRepetition<T>> for RegularRepetition<T> where
T: PartialEq<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 !=
.
sourceimpl<T> Serialize for RegularRepetition<T> where
T: CoordinateType + Serialize,
impl<T> Serialize for RegularRepetition<T> where
T: CoordinateType + Serialize,
sourcefn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl<T> Copy for RegularRepetition<T> where
T: Copy + CoordinateType,
impl<T> Eq for RegularRepetition<T> where
T: Eq + 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